index.html 446 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset='utf-8' />
  5. <title>postcss 7.0.26 | Documentation</title>
  6. <meta name='description' content='Tool for transforming styles with JS plugins'>
  7. <meta name='viewport' content='width=device-width,initial-scale=1'>
  8. <link href='assets/styles.min.css' rel='stylesheet' />
  9. </head>
  10. <body class='documentation'>
  11. <div class='px2'>
  12. <div class='clearfix md-flex lg-flex flex-stretch mxn2'>
  13. <div class='documentation-sidebar relative top-0 bottom-0 right-0 px2 py2 col-3 md-show'>
  14. <div class='font-smaller fixed col-3 top-0 bottom-0 left-0 overflow-auto fill-light dark-link'>
  15. <div class='px2'>
  16. <h3 class='mb0 no-anchor'><code>postcss</code></h3>
  17. <div class='mb1'><code>7.0.26</code></div>
  18. <input placeholder='Filter' id='filter-input' class='col12 block input' type='text' />
  19. <div id="toc">
  20. <a
  21. href='#classes'
  22. class="blockmt1 quiet rounded bold block h4 mt2 ">
  23. <code>CLASSES</code>
  24. </a>
  25. <a
  26. href='#atrule'
  27. class="regular block toggle-sibling">
  28. <code>AtRule</code>
  29. <span class='icon'>▾</span>
  30. </a>
  31. <div class='toggle-target'>
  32. <a
  33. href='#atruleappend'
  34. class='button-indent regular block'>
  35. <code>#append</code>
  36. </a>
  37. <a
  38. href='#atruleeach'
  39. class='button-indent regular block'>
  40. <code>#each</code>
  41. </a>
  42. <a
  43. href='#atruleevery'
  44. class='button-indent regular block'>
  45. <code>#every</code>
  46. </a>
  47. <a
  48. href='#atrulefirst'
  49. class='button-indent regular block'>
  50. <code>#first</code>
  51. </a>
  52. <a
  53. href='#atruleindex'
  54. class='button-indent regular block'>
  55. <code>#index</code>
  56. </a>
  57. <a
  58. href='#atruleinsertafter'
  59. class='button-indent regular block'>
  60. <code>#insertAfter</code>
  61. </a>
  62. <a
  63. href='#atruleinsertbefore'
  64. class='button-indent regular block'>
  65. <code>#insertBefore</code>
  66. </a>
  67. <a
  68. href='#atrulelast'
  69. class='button-indent regular block'>
  70. <code>#last</code>
  71. </a>
  72. <a
  73. href='#atruleprepend'
  74. class='button-indent regular block'>
  75. <code>#prepend</code>
  76. </a>
  77. <a
  78. href='#atruleremoveall'
  79. class='button-indent regular block'>
  80. <code>#removeAll</code>
  81. </a>
  82. <a
  83. href='#atruleremovechild'
  84. class='button-indent regular block'>
  85. <code>#removeChild</code>
  86. </a>
  87. <a
  88. href='#atrulereplacevalues'
  89. class='button-indent regular block'>
  90. <code>#replaceValues</code>
  91. </a>
  92. <a
  93. href='#atrulesome'
  94. class='button-indent regular block'>
  95. <code>#some</code>
  96. </a>
  97. <a
  98. href='#atrulewalk'
  99. class='button-indent regular block'>
  100. <code>#walk</code>
  101. </a>
  102. <a
  103. href='#atrulewalkatrules'
  104. class='button-indent regular block'>
  105. <code>#walkAtRules</code>
  106. </a>
  107. <a
  108. href='#atrulewalkcomments'
  109. class='button-indent regular block'>
  110. <code>#walkComments</code>
  111. </a>
  112. <a
  113. href='#atrulewalkdecls'
  114. class='button-indent regular block'>
  115. <code>#walkDecls</code>
  116. </a>
  117. <a
  118. href='#atrulewalkrules'
  119. class='button-indent regular block'>
  120. <code>#walkRules</code>
  121. </a>
  122. </div>
  123. <a
  124. href='#comment'
  125. class="regular block toggle-sibling">
  126. <code>Comment</code>
  127. <span class='icon'>▾</span>
  128. </a>
  129. <div class='toggle-target'>
  130. <a
  131. href='#commentafter'
  132. class='button-indent regular block'>
  133. <code>#after</code>
  134. </a>
  135. <a
  136. href='#commentbefore'
  137. class='button-indent regular block'>
  138. <code>#before</code>
  139. </a>
  140. <a
  141. href='#commentcleanraws'
  142. class='button-indent regular block'>
  143. <code>#cleanRaws</code>
  144. </a>
  145. <a
  146. href='#commentclone'
  147. class='button-indent regular block'>
  148. <code>#clone</code>
  149. </a>
  150. <a
  151. href='#commentcloneafter'
  152. class='button-indent regular block'>
  153. <code>#cloneAfter</code>
  154. </a>
  155. <a
  156. href='#commentclonebefore'
  157. class='button-indent regular block'>
  158. <code>#cloneBefore</code>
  159. </a>
  160. <a
  161. href='#commenterror'
  162. class='button-indent regular block'>
  163. <code>#error</code>
  164. </a>
  165. <a
  166. href='#commentnext'
  167. class='button-indent regular block'>
  168. <code>#next</code>
  169. </a>
  170. <a
  171. href='#commentprev'
  172. class='button-indent regular block'>
  173. <code>#prev</code>
  174. </a>
  175. <a
  176. href='#commentraw'
  177. class='button-indent regular block'>
  178. <code>#raw</code>
  179. </a>
  180. <a
  181. href='#commentremove'
  182. class='button-indent regular block'>
  183. <code>#remove</code>
  184. </a>
  185. <a
  186. href='#commentreplacewith'
  187. class='button-indent regular block'>
  188. <code>#replaceWith</code>
  189. </a>
  190. <a
  191. href='#commentroot'
  192. class='button-indent regular block'>
  193. <code>#root</code>
  194. </a>
  195. <a
  196. href='#commenttostring'
  197. class='button-indent regular block'>
  198. <code>#toString</code>
  199. </a>
  200. <a
  201. href='#commentwarn'
  202. class='button-indent regular block'>
  203. <code>#warn</code>
  204. </a>
  205. </div>
  206. <a
  207. href='#container'
  208. class="regular block toggle-sibling">
  209. <code>Container</code>
  210. <span class='icon'>▾</span>
  211. </a>
  212. <div class='toggle-target'>
  213. <a
  214. href='#containerafter'
  215. class='button-indent regular block'>
  216. <code>#after</code>
  217. </a>
  218. <a
  219. href='#containerappend'
  220. class='button-indent regular block'>
  221. <code>#append</code>
  222. </a>
  223. <a
  224. href='#containerbefore'
  225. class='button-indent regular block'>
  226. <code>#before</code>
  227. </a>
  228. <a
  229. href='#containercleanraws'
  230. class='button-indent regular block'>
  231. <code>#cleanRaws</code>
  232. </a>
  233. <a
  234. href='#containerclone'
  235. class='button-indent regular block'>
  236. <code>#clone</code>
  237. </a>
  238. <a
  239. href='#containercloneafter'
  240. class='button-indent regular block'>
  241. <code>#cloneAfter</code>
  242. </a>
  243. <a
  244. href='#containerclonebefore'
  245. class='button-indent regular block'>
  246. <code>#cloneBefore</code>
  247. </a>
  248. <a
  249. href='#containereach'
  250. class='button-indent regular block'>
  251. <code>#each</code>
  252. </a>
  253. <a
  254. href='#containererror'
  255. class='button-indent regular block'>
  256. <code>#error</code>
  257. </a>
  258. <a
  259. href='#containerevery'
  260. class='button-indent regular block'>
  261. <code>#every</code>
  262. </a>
  263. <a
  264. href='#containerfirst'
  265. class='button-indent regular block'>
  266. <code>#first</code>
  267. </a>
  268. <a
  269. href='#containerindex'
  270. class='button-indent regular block'>
  271. <code>#index</code>
  272. </a>
  273. <a
  274. href='#containerinsertafter'
  275. class='button-indent regular block'>
  276. <code>#insertAfter</code>
  277. </a>
  278. <a
  279. href='#containerinsertbefore'
  280. class='button-indent regular block'>
  281. <code>#insertBefore</code>
  282. </a>
  283. <a
  284. href='#containerlast'
  285. class='button-indent regular block'>
  286. <code>#last</code>
  287. </a>
  288. <a
  289. href='#containernext'
  290. class='button-indent regular block'>
  291. <code>#next</code>
  292. </a>
  293. <a
  294. href='#containerprepend'
  295. class='button-indent regular block'>
  296. <code>#prepend</code>
  297. </a>
  298. <a
  299. href='#containerprev'
  300. class='button-indent regular block'>
  301. <code>#prev</code>
  302. </a>
  303. <a
  304. href='#containerraw'
  305. class='button-indent regular block'>
  306. <code>#raw</code>
  307. </a>
  308. <a
  309. href='#containerremove'
  310. class='button-indent regular block'>
  311. <code>#remove</code>
  312. </a>
  313. <a
  314. href='#containerremoveall'
  315. class='button-indent regular block'>
  316. <code>#removeAll</code>
  317. </a>
  318. <a
  319. href='#containerremovechild'
  320. class='button-indent regular block'>
  321. <code>#removeChild</code>
  322. </a>
  323. <a
  324. href='#containerreplacevalues'
  325. class='button-indent regular block'>
  326. <code>#replaceValues</code>
  327. </a>
  328. <a
  329. href='#containerreplacewith'
  330. class='button-indent regular block'>
  331. <code>#replaceWith</code>
  332. </a>
  333. <a
  334. href='#containerroot'
  335. class='button-indent regular block'>
  336. <code>#root</code>
  337. </a>
  338. <a
  339. href='#containersome'
  340. class='button-indent regular block'>
  341. <code>#some</code>
  342. </a>
  343. <a
  344. href='#containertostring'
  345. class='button-indent regular block'>
  346. <code>#toString</code>
  347. </a>
  348. <a
  349. href='#containerwalk'
  350. class='button-indent regular block'>
  351. <code>#walk</code>
  352. </a>
  353. <a
  354. href='#containerwalkatrules'
  355. class='button-indent regular block'>
  356. <code>#walkAtRules</code>
  357. </a>
  358. <a
  359. href='#containerwalkcomments'
  360. class='button-indent regular block'>
  361. <code>#walkComments</code>
  362. </a>
  363. <a
  364. href='#containerwalkdecls'
  365. class='button-indent regular block'>
  366. <code>#walkDecls</code>
  367. </a>
  368. <a
  369. href='#containerwalkrules'
  370. class='button-indent regular block'>
  371. <code>#walkRules</code>
  372. </a>
  373. <a
  374. href='#containerwarn'
  375. class='button-indent regular block'>
  376. <code>#warn</code>
  377. </a>
  378. </div>
  379. <a
  380. href='#csssyntaxerror'
  381. class="regular block toggle-sibling">
  382. <code>CssSyntaxError</code>
  383. <span class='icon'>▾</span>
  384. </a>
  385. <div class='toggle-target'>
  386. <a
  387. href='#csssyntaxerrorname'
  388. class='button-indent regular block'>
  389. <code>#name</code>
  390. </a>
  391. <a
  392. href='#csssyntaxerrorreason'
  393. class='button-indent regular block'>
  394. <code>#reason</code>
  395. </a>
  396. <a
  397. href='#csssyntaxerrorfile'
  398. class='button-indent regular block'>
  399. <code>#file</code>
  400. </a>
  401. <a
  402. href='#csssyntaxerrorsource'
  403. class='button-indent regular block'>
  404. <code>#source</code>
  405. </a>
  406. <a
  407. href='#csssyntaxerrorplugin'
  408. class='button-indent regular block'>
  409. <code>#plugin</code>
  410. </a>
  411. <a
  412. href='#csssyntaxerrorline'
  413. class='button-indent regular block'>
  414. <code>#line</code>
  415. </a>
  416. <a
  417. href='#csssyntaxerrorcolumn'
  418. class='button-indent regular block'>
  419. <code>#column</code>
  420. </a>
  421. <a
  422. href='#csssyntaxerrormessage'
  423. class='button-indent regular block'>
  424. <code>#message</code>
  425. </a>
  426. <a
  427. href='#csssyntaxerrorshowsourcecode'
  428. class='button-indent regular block'>
  429. <code>#showSourceCode</code>
  430. </a>
  431. <a
  432. href='#csssyntaxerrortostring'
  433. class='button-indent regular block'>
  434. <code>#toString</code>
  435. </a>
  436. </div>
  437. <a
  438. href='#declaration'
  439. class="regular block toggle-sibling">
  440. <code>Declaration</code>
  441. <span class='icon'>▾</span>
  442. </a>
  443. <div class='toggle-target'>
  444. <a
  445. href='#declarationafter'
  446. class='button-indent regular block'>
  447. <code>#after</code>
  448. </a>
  449. <a
  450. href='#declarationbefore'
  451. class='button-indent regular block'>
  452. <code>#before</code>
  453. </a>
  454. <a
  455. href='#declarationcleanraws'
  456. class='button-indent regular block'>
  457. <code>#cleanRaws</code>
  458. </a>
  459. <a
  460. href='#declarationclone'
  461. class='button-indent regular block'>
  462. <code>#clone</code>
  463. </a>
  464. <a
  465. href='#declarationcloneafter'
  466. class='button-indent regular block'>
  467. <code>#cloneAfter</code>
  468. </a>
  469. <a
  470. href='#declarationclonebefore'
  471. class='button-indent regular block'>
  472. <code>#cloneBefore</code>
  473. </a>
  474. <a
  475. href='#declarationerror'
  476. class='button-indent regular block'>
  477. <code>#error</code>
  478. </a>
  479. <a
  480. href='#declarationnext'
  481. class='button-indent regular block'>
  482. <code>#next</code>
  483. </a>
  484. <a
  485. href='#declarationprev'
  486. class='button-indent regular block'>
  487. <code>#prev</code>
  488. </a>
  489. <a
  490. href='#declarationraw'
  491. class='button-indent regular block'>
  492. <code>#raw</code>
  493. </a>
  494. <a
  495. href='#declarationremove'
  496. class='button-indent regular block'>
  497. <code>#remove</code>
  498. </a>
  499. <a
  500. href='#declarationreplacewith'
  501. class='button-indent regular block'>
  502. <code>#replaceWith</code>
  503. </a>
  504. <a
  505. href='#declarationroot'
  506. class='button-indent regular block'>
  507. <code>#root</code>
  508. </a>
  509. <a
  510. href='#declarationtostring'
  511. class='button-indent regular block'>
  512. <code>#toString</code>
  513. </a>
  514. <a
  515. href='#declarationwarn'
  516. class='button-indent regular block'>
  517. <code>#warn</code>
  518. </a>
  519. </div>
  520. <a
  521. href='#input'
  522. class="regular block toggle-sibling">
  523. <code>Input</code>
  524. <span class='icon'>▾</span>
  525. </a>
  526. <div class='toggle-target'>
  527. <a
  528. href='#inputcss'
  529. class='button-indent regular block'>
  530. <code>#css</code>
  531. </a>
  532. <a
  533. href='#inputfile'
  534. class='button-indent regular block'>
  535. <code>#file</code>
  536. </a>
  537. <a
  538. href='#inputmap'
  539. class='button-indent regular block'>
  540. <code>#map</code>
  541. </a>
  542. <a
  543. href='#inputid'
  544. class='button-indent regular block'>
  545. <code>#id</code>
  546. </a>
  547. <a
  548. href='#inputorigin'
  549. class='button-indent regular block'>
  550. <code>#origin</code>
  551. </a>
  552. <a
  553. href='#inputfrom'
  554. class='button-indent regular block'>
  555. <code>#from</code>
  556. </a>
  557. </div>
  558. <a
  559. href='#lazyresult'
  560. class="regular block toggle-sibling">
  561. <code>LazyResult</code>
  562. <span class='icon'>▾</span>
  563. </a>
  564. <div class='toggle-target'>
  565. <a
  566. href='#lazyresultprocessor'
  567. class='button-indent regular block'>
  568. <code>#processor</code>
  569. </a>
  570. <a
  571. href='#lazyresultopts'
  572. class='button-indent regular block'>
  573. <code>#opts</code>
  574. </a>
  575. <a
  576. href='#lazyresultcss'
  577. class='button-indent regular block'>
  578. <code>#css</code>
  579. </a>
  580. <a
  581. href='#lazyresultcontent'
  582. class='button-indent regular block'>
  583. <code>#content</code>
  584. </a>
  585. <a
  586. href='#lazyresultmap'
  587. class='button-indent regular block'>
  588. <code>#map</code>
  589. </a>
  590. <a
  591. href='#lazyresultroot'
  592. class='button-indent regular block'>
  593. <code>#root</code>
  594. </a>
  595. <a
  596. href='#lazyresultmessages'
  597. class='button-indent regular block'>
  598. <code>#messages</code>
  599. </a>
  600. <a
  601. href='#lazyresultwarnings'
  602. class='button-indent regular block'>
  603. <code>#warnings</code>
  604. </a>
  605. <a
  606. href='#lazyresulttostring'
  607. class='button-indent regular block'>
  608. <code>#toString</code>
  609. </a>
  610. <a
  611. href='#lazyresultthen'
  612. class='button-indent regular block'>
  613. <code>#then</code>
  614. </a>
  615. <a
  616. href='#lazyresultcatch'
  617. class='button-indent regular block'>
  618. <code>#catch</code>
  619. </a>
  620. <a
  621. href='#lazyresultfinally'
  622. class='button-indent regular block'>
  623. <code>#finally</code>
  624. </a>
  625. </div>
  626. <a
  627. href='#node'
  628. class="regular block toggle-sibling">
  629. <code>Node</code>
  630. <span class='icon'>▾</span>
  631. </a>
  632. <div class='toggle-target'>
  633. <a
  634. href='#nodeerror'
  635. class='button-indent regular block'>
  636. <code>#error</code>
  637. </a>
  638. <a
  639. href='#nodewarn'
  640. class='button-indent regular block'>
  641. <code>#warn</code>
  642. </a>
  643. <a
  644. href='#noderemove'
  645. class='button-indent regular block'>
  646. <code>#remove</code>
  647. </a>
  648. <a
  649. href='#nodetostring'
  650. class='button-indent regular block'>
  651. <code>#toString</code>
  652. </a>
  653. <a
  654. href='#nodeclone'
  655. class='button-indent regular block'>
  656. <code>#clone</code>
  657. </a>
  658. <a
  659. href='#nodeclonebefore'
  660. class='button-indent regular block'>
  661. <code>#cloneBefore</code>
  662. </a>
  663. <a
  664. href='#nodecloneafter'
  665. class='button-indent regular block'>
  666. <code>#cloneAfter</code>
  667. </a>
  668. <a
  669. href='#nodereplacewith'
  670. class='button-indent regular block'>
  671. <code>#replaceWith</code>
  672. </a>
  673. <a
  674. href='#nodenext'
  675. class='button-indent regular block'>
  676. <code>#next</code>
  677. </a>
  678. <a
  679. href='#nodeprev'
  680. class='button-indent regular block'>
  681. <code>#prev</code>
  682. </a>
  683. <a
  684. href='#nodebefore'
  685. class='button-indent regular block'>
  686. <code>#before</code>
  687. </a>
  688. <a
  689. href='#nodeafter'
  690. class='button-indent regular block'>
  691. <code>#after</code>
  692. </a>
  693. <a
  694. href='#noderaw'
  695. class='button-indent regular block'>
  696. <code>#raw</code>
  697. </a>
  698. <a
  699. href='#noderoot'
  700. class='button-indent regular block'>
  701. <code>#root</code>
  702. </a>
  703. <a
  704. href='#nodecleanraws'
  705. class='button-indent regular block'>
  706. <code>#cleanRaws</code>
  707. </a>
  708. </div>
  709. <a
  710. href='#previousmap'
  711. class="regular block toggle-sibling">
  712. <code>PreviousMap</code>
  713. <span class='icon'>▾</span>
  714. </a>
  715. <div class='toggle-target'>
  716. <a
  717. href='#previousmapinline'
  718. class='button-indent regular block'>
  719. <code>#inline</code>
  720. </a>
  721. <a
  722. href='#previousmapconsumer'
  723. class='button-indent regular block'>
  724. <code>#consumer</code>
  725. </a>
  726. <a
  727. href='#previousmapwithcontent'
  728. class='button-indent regular block'>
  729. <code>#withContent</code>
  730. </a>
  731. </div>
  732. <a
  733. href='#processor'
  734. class="regular block toggle-sibling">
  735. <code>Processor</code>
  736. <span class='icon'>▾</span>
  737. </a>
  738. <div class='toggle-target'>
  739. <a
  740. href='#processorversion'
  741. class='button-indent regular block'>
  742. <code>#version</code>
  743. </a>
  744. <a
  745. href='#processorplugins'
  746. class='button-indent regular block'>
  747. <code>#plugins</code>
  748. </a>
  749. <a
  750. href='#processoruse'
  751. class='button-indent regular block'>
  752. <code>#use</code>
  753. </a>
  754. <a
  755. href='#processorprocess'
  756. class='button-indent regular block'>
  757. <code>#process</code>
  758. </a>
  759. </div>
  760. <a
  761. href='#result'
  762. class="regular block toggle-sibling">
  763. <code>Result</code>
  764. <span class='icon'>▾</span>
  765. </a>
  766. <div class='toggle-target'>
  767. <a
  768. href='#resultprocessor'
  769. class='button-indent regular block'>
  770. <code>#processor</code>
  771. </a>
  772. <a
  773. href='#resultmessages'
  774. class='button-indent regular block'>
  775. <code>#messages</code>
  776. </a>
  777. <a
  778. href='#resultroot'
  779. class='button-indent regular block'>
  780. <code>#root</code>
  781. </a>
  782. <a
  783. href='#resultopts'
  784. class='button-indent regular block'>
  785. <code>#opts</code>
  786. </a>
  787. <a
  788. href='#resultcss'
  789. class='button-indent regular block'>
  790. <code>#css</code>
  791. </a>
  792. <a
  793. href='#resultmap'
  794. class='button-indent regular block'>
  795. <code>#map</code>
  796. </a>
  797. <a
  798. href='#resulttostring'
  799. class='button-indent regular block'>
  800. <code>#toString</code>
  801. </a>
  802. <a
  803. href='#resultwarn'
  804. class='button-indent regular block'>
  805. <code>#warn</code>
  806. </a>
  807. <a
  808. href='#resultwarnings'
  809. class='button-indent regular block'>
  810. <code>#warnings</code>
  811. </a>
  812. <a
  813. href='#resultcontent'
  814. class='button-indent regular block'>
  815. <code>#content</code>
  816. </a>
  817. </div>
  818. <a
  819. href='#root'
  820. class="regular block toggle-sibling">
  821. <code>Root</code>
  822. <span class='icon'>▾</span>
  823. </a>
  824. <div class='toggle-target'>
  825. <a
  826. href='#rootregisterlazyresult'
  827. class='button-indent px1 quiet regular rounded block'>
  828. <code>.registerLazyResult</code>
  829. </a>
  830. <a
  831. href='#rootappend'
  832. class='button-indent regular block'>
  833. <code>#append</code>
  834. </a>
  835. <a
  836. href='#rooteach'
  837. class='button-indent regular block'>
  838. <code>#each</code>
  839. </a>
  840. <a
  841. href='#rootevery'
  842. class='button-indent regular block'>
  843. <code>#every</code>
  844. </a>
  845. <a
  846. href='#rootfirst'
  847. class='button-indent regular block'>
  848. <code>#first</code>
  849. </a>
  850. <a
  851. href='#rootindex'
  852. class='button-indent regular block'>
  853. <code>#index</code>
  854. </a>
  855. <a
  856. href='#rootinsertafter'
  857. class='button-indent regular block'>
  858. <code>#insertAfter</code>
  859. </a>
  860. <a
  861. href='#rootinsertbefore'
  862. class='button-indent regular block'>
  863. <code>#insertBefore</code>
  864. </a>
  865. <a
  866. href='#rootlast'
  867. class='button-indent regular block'>
  868. <code>#last</code>
  869. </a>
  870. <a
  871. href='#rooton'
  872. class='button-indent regular block'>
  873. <code>#on</code>
  874. </a>
  875. <a
  876. href='#rootprepend'
  877. class='button-indent regular block'>
  878. <code>#prepend</code>
  879. </a>
  880. <a
  881. href='#rootremoveall'
  882. class='button-indent regular block'>
  883. <code>#removeAll</code>
  884. </a>
  885. <a
  886. href='#rootremovechild'
  887. class='button-indent regular block'>
  888. <code>#removeChild</code>
  889. </a>
  890. <a
  891. href='#rootreplacevalues'
  892. class='button-indent regular block'>
  893. <code>#replaceValues</code>
  894. </a>
  895. <a
  896. href='#rootsome'
  897. class='button-indent regular block'>
  898. <code>#some</code>
  899. </a>
  900. <a
  901. href='#roottoresult'
  902. class='button-indent regular block'>
  903. <code>#toResult</code>
  904. </a>
  905. <a
  906. href='#rootwalk'
  907. class='button-indent regular block'>
  908. <code>#walk</code>
  909. </a>
  910. <a
  911. href='#rootwalkatrules'
  912. class='button-indent regular block'>
  913. <code>#walkAtRules</code>
  914. </a>
  915. <a
  916. href='#rootwalkcomments'
  917. class='button-indent regular block'>
  918. <code>#walkComments</code>
  919. </a>
  920. <a
  921. href='#rootwalkdecls'
  922. class='button-indent regular block'>
  923. <code>#walkDecls</code>
  924. </a>
  925. <a
  926. href='#rootwalkrules'
  927. class='button-indent regular block'>
  928. <code>#walkRules</code>
  929. </a>
  930. </div>
  931. <a
  932. href='#rule'
  933. class="regular block toggle-sibling">
  934. <code>Rule</code>
  935. <span class='icon'>▾</span>
  936. </a>
  937. <div class='toggle-target'>
  938. <a
  939. href='#ruleappend'
  940. class='button-indent regular block'>
  941. <code>#append</code>
  942. </a>
  943. <a
  944. href='#ruleeach'
  945. class='button-indent regular block'>
  946. <code>#each</code>
  947. </a>
  948. <a
  949. href='#ruleevery'
  950. class='button-indent regular block'>
  951. <code>#every</code>
  952. </a>
  953. <a
  954. href='#rulefirst'
  955. class='button-indent regular block'>
  956. <code>#first</code>
  957. </a>
  958. <a
  959. href='#ruleindex'
  960. class='button-indent regular block'>
  961. <code>#index</code>
  962. </a>
  963. <a
  964. href='#ruleinsertafter'
  965. class='button-indent regular block'>
  966. <code>#insertAfter</code>
  967. </a>
  968. <a
  969. href='#ruleinsertbefore'
  970. class='button-indent regular block'>
  971. <code>#insertBefore</code>
  972. </a>
  973. <a
  974. href='#rulelast'
  975. class='button-indent regular block'>
  976. <code>#last</code>
  977. </a>
  978. <a
  979. href='#ruleprepend'
  980. class='button-indent regular block'>
  981. <code>#prepend</code>
  982. </a>
  983. <a
  984. href='#ruleremoveall'
  985. class='button-indent regular block'>
  986. <code>#removeAll</code>
  987. </a>
  988. <a
  989. href='#ruleremovechild'
  990. class='button-indent regular block'>
  991. <code>#removeChild</code>
  992. </a>
  993. <a
  994. href='#rulereplacevalues'
  995. class='button-indent regular block'>
  996. <code>#replaceValues</code>
  997. </a>
  998. <a
  999. href='#ruleselectors'
  1000. class='button-indent regular block'>
  1001. <code>#selectors</code>
  1002. </a>
  1003. <a
  1004. href='#rulesome'
  1005. class='button-indent regular block'>
  1006. <code>#some</code>
  1007. </a>
  1008. <a
  1009. href='#rulewalk'
  1010. class='button-indent regular block'>
  1011. <code>#walk</code>
  1012. </a>
  1013. <a
  1014. href='#rulewalkatrules'
  1015. class='button-indent regular block'>
  1016. <code>#walkAtRules</code>
  1017. </a>
  1018. <a
  1019. href='#rulewalkcomments'
  1020. class='button-indent regular block'>
  1021. <code>#walkComments</code>
  1022. </a>
  1023. <a
  1024. href='#rulewalkdecls'
  1025. class='button-indent regular block'>
  1026. <code>#walkDecls</code>
  1027. </a>
  1028. <a
  1029. href='#rulewalkrules'
  1030. class='button-indent regular block'>
  1031. <code>#walkRules</code>
  1032. </a>
  1033. </div>
  1034. <a
  1035. href='#warning'
  1036. class="regular block toggle-sibling">
  1037. <code>Warning</code>
  1038. <span class='icon'>▾</span>
  1039. </a>
  1040. <div class='toggle-target'>
  1041. <a
  1042. href='#warningtype'
  1043. class='button-indent regular block'>
  1044. <code>#type</code>
  1045. </a>
  1046. <a
  1047. href='#warningtext'
  1048. class='button-indent regular block'>
  1049. <code>#text</code>
  1050. </a>
  1051. <a
  1052. href='#warningline'
  1053. class='button-indent regular block'>
  1054. <code>#line</code>
  1055. </a>
  1056. <a
  1057. href='#warningcolumn'
  1058. class='button-indent regular block'>
  1059. <code>#column</code>
  1060. </a>
  1061. <a
  1062. href='#warningtostring'
  1063. class='button-indent regular block'>
  1064. <code>#toString</code>
  1065. </a>
  1066. </div>
  1067. <a
  1068. href='#namespaces'
  1069. class="blockmt1 quiet rounded bold block h4 mt2 ">
  1070. <code>NAMESPACES</code>
  1071. </a>
  1072. <a
  1073. href='#list'
  1074. class="regular block toggle-sibling">
  1075. <code>list</code>
  1076. <span class='icon'>▾</span>
  1077. </a>
  1078. <div class='toggle-target'>
  1079. <a
  1080. href='#listspace'
  1081. class='button-indent px1 quiet regular rounded block'>
  1082. <code>.space</code>
  1083. </a>
  1084. <a
  1085. href='#listcomma'
  1086. class='button-indent px1 quiet regular rounded block'>
  1087. <code>.comma</code>
  1088. </a>
  1089. </div>
  1090. <a
  1091. href='#postcss'
  1092. class="regular block toggle-sibling">
  1093. <code>postcss</code>
  1094. <span class='icon'>▾</span>
  1095. </a>
  1096. <div class='toggle-target'>
  1097. <a
  1098. href='#postcssplugin'
  1099. class='button-indent px1 quiet regular rounded block'>
  1100. <code>.plugin</code>
  1101. </a>
  1102. <a
  1103. href='#postcssstringify'
  1104. class='button-indent px1 quiet regular rounded block'>
  1105. <code>.stringify</code>
  1106. </a>
  1107. <a
  1108. href='#postcssparse'
  1109. class='button-indent px1 quiet regular rounded block'>
  1110. <code>.parse</code>
  1111. </a>
  1112. <a
  1113. href='#postcssvendor'
  1114. class='button-indent px1 quiet regular rounded block'>
  1115. <code>.vendor</code>
  1116. </a>
  1117. <a
  1118. href='#postcsslist'
  1119. class='button-indent px1 quiet regular rounded block'>
  1120. <code>.list</code>
  1121. </a>
  1122. <a
  1123. href='#postcsscomment'
  1124. class='button-indent px1 quiet regular rounded block'>
  1125. <code>.comment</code>
  1126. </a>
  1127. <a
  1128. href='#postcssatrule'
  1129. class='button-indent px1 quiet regular rounded block'>
  1130. <code>.atRule</code>
  1131. </a>
  1132. <a
  1133. href='#postcssdecl'
  1134. class='button-indent px1 quiet regular rounded block'>
  1135. <code>.decl</code>
  1136. </a>
  1137. <a
  1138. href='#postcssrule'
  1139. class='button-indent px1 quiet regular rounded block'>
  1140. <code>.rule</code>
  1141. </a>
  1142. <a
  1143. href='#postcssroot'
  1144. class='button-indent px1 quiet regular rounded block'>
  1145. <code>.root</code>
  1146. </a>
  1147. </div>
  1148. <a
  1149. href='#vendor'
  1150. class="regular block toggle-sibling">
  1151. <code>vendor</code>
  1152. <span class='icon'>▾</span>
  1153. </a>
  1154. <div class='toggle-target'>
  1155. <a
  1156. href='#vendorprefix'
  1157. class='button-indent px1 quiet regular rounded block'>
  1158. <code>.prefix</code>
  1159. </a>
  1160. <a
  1161. href='#vendorunprefixed'
  1162. class='button-indent px1 quiet regular rounded block'>
  1163. <code>.unprefixed</code>
  1164. </a>
  1165. </div>
  1166. <a
  1167. href='#global'
  1168. class="blockmt1 quiet rounded bold block h4 mt2 ">
  1169. <code>GLOBAL</code>
  1170. </a>
  1171. </div>
  1172. <div class='mt1 h6 quiet'>
  1173. <a href='https://documentation.js.org/reading-documentation.html'>Need help reading this?</a>
  1174. </div>
  1175. </div>
  1176. </div>
  1177. </div>
  1178. <div class='sm-col-12 md-col-9 lg-col-9 flex flex-column'>
  1179. <div class='flex-auto full-width'>
  1180. <div class="hide">
  1181. <section class='py2 clearfix'>
  1182. <h2 id='classes' class='mt0'>
  1183. CLASSES
  1184. </h2>
  1185. </section>
  1186. </div>
  1187. <section id='atrule'class='mt2 mb2 px3 py1 keyline-top'>
  1188. <div class='right py2'>
  1189. <span class='font-smaller'>
  1190. Extends
  1191. <a href="#container">Container</a>
  1192. </span>
  1193. <span class="px2"></span>
  1194. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/at-rule.js#L21-L90'>
  1195. <span>lib/at-rule.js</span>
  1196. </a>
  1197. </div>
  1198. <h3 class='regular'>
  1199. <a class='black' href='#atrule'>
  1200. <code>
  1201. AtRule
  1202. <span class='gray'>(defaults)</span>
  1203. </code>
  1204. </a>
  1205. </h3>
  1206. <p>Represents an at-rule.</p>
  1207. <p>If it’s followed in the CSS by a {} block, this node will have
  1208. a nodes property representing its children.</p>
  1209. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  1210. <thead class='fill-light'>
  1211. <th class='col-3 small caps quiet'>parameter</th>
  1212. <th class='col-3 small caps quiet'>type</th>
  1213. <th class='col-6 small caps quiet'>description</th>
  1214. </thead>
  1215. <tr>
  1216. <td class='col-3 strong'><code>defaults</code></td>
  1217. <td class='col-3 quiet'>
  1218. any
  1219. </td>
  1220. <td class='col-6'></td>
  1221. </tr>
  1222. </table>
  1223. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  1224. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> root = postcss.parse(<span class="hljs-string">'@charset "UTF-8"; @media print {}'</span>)
  1225. <span class="hljs-keyword">const</span> charset = root.first
  1226. charset.type <span class="hljs-comment">//=&gt; 'atrule'</span>
  1227. charset.nodes <span class="hljs-comment">//=&gt; undefined</span>
  1228. <span class="hljs-keyword">const</span> media = root.last
  1229. media.nodes <span class="hljs-comment">//=&gt; []</span></code></pre>
  1230. <h4 class='caps quiet mb2 mt3'>Instance Members</h4>
  1231. <div class="section-indent">
  1232. <section id='atruleappend'class='mt2 mb2 px3 py1 keyline-top'>
  1233. <div class='right py2'>
  1234. <span class="px2"></span>
  1235. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L324-L333'>
  1236. <span>lib/container.js</span>
  1237. </a>
  1238. </div>
  1239. <h3 class='regular'>
  1240. <a class='black' href='#atruleappend'>
  1241. <code>
  1242. append
  1243. <span class='gray'>(children)</span>
  1244. </code>
  1245. </a>
  1246. </h3>
  1247. <p>Inserts new nodes to the end of the container.</p>
  1248. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  1249. <thead class='fill-light'>
  1250. <th class='col-3 small caps quiet'>parameter</th>
  1251. <th class='col-3 small caps quiet'>type</th>
  1252. <th class='col-6 small caps quiet'>description</th>
  1253. </thead>
  1254. <tr>
  1255. <td class='col-3 strong'><code>children</code></td>
  1256. <td class='col-3 quiet'>
  1257. ...(<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="#node">Node</a>>)
  1258. </td>
  1259. <td class='col-6'>New nodes.
  1260. </td>
  1261. </tr>
  1262. </table>
  1263. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  1264. <code><a href="#node">Node</a></code>
  1265. :
  1266. <span class='force-inline'>This node for methods chain.
  1267. </span>
  1268. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  1269. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> decl1 = postcss.decl({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'color'</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'black'</span> })
  1270. <span class="hljs-keyword">const</span> decl2 = postcss.decl({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'background-color'</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'white'</span> })
  1271. rule.append(decl1, decl2)
  1272. root.append({ <span class="hljs-attr">name</span>: <span class="hljs-string">'charset'</span>, <span class="hljs-attr">params</span>: <span class="hljs-string">'"UTF-8"'</span> }) <span class="hljs-comment">// at-rule</span>
  1273. root.append({ <span class="hljs-attr">selector</span>: <span class="hljs-string">'a'</span> }) <span class="hljs-comment">// rule</span>
  1274. rule.append({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'color'</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'black'</span> }) <span class="hljs-comment">// declaration</span>
  1275. rule.append({ <span class="hljs-attr">text</span>: <span class="hljs-string">'Comment'</span> }) <span class="hljs-comment">// comment</span>
  1276. root.append(<span class="hljs-string">'a {}'</span>)
  1277. root.first.append(<span class="hljs-string">'color: black; z-index: 1'</span>)</code></pre>
  1278. </section>
  1279. <section id='atruleeach'class='mt2 mb2 px3 py1 keyline-top'>
  1280. <div class='right py2'>
  1281. <span class="px2"></span>
  1282. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L65-L91'>
  1283. <span>lib/container.js</span>
  1284. </a>
  1285. </div>
  1286. <h3 class='regular'>
  1287. <a class='black' href='#atruleeach'>
  1288. <code>
  1289. each
  1290. <span class='gray'>(callback)</span>
  1291. </code>
  1292. </a>
  1293. </h3>
  1294. <p>Iterates through the container’s immediate children,
  1295. calling <code>callback</code> for each child.</p>
  1296. <p>Returning <code>false</code> in the callback will break iteration.</p>
  1297. <p>This method only iterates through the container’s immediate children.
  1298. If you need to recursively iterate through all the container’s descendant
  1299. nodes, use <a href="#containerwalk">Container#walk</a>.</p>
  1300. <p>Unlike the for <code>{}</code>-cycle or <code>Array#forEach</code> this iterator is safe
  1301. if you are mutating the array of child nodes during iteration.
  1302. PostCSS will adjust the current index to match the mutations.</p>
  1303. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  1304. <thead class='fill-light'>
  1305. <th class='col-3 small caps quiet'>parameter</th>
  1306. <th class='col-3 small caps quiet'>type</th>
  1307. <th class='col-6 small caps quiet'>description</th>
  1308. </thead>
  1309. <tr>
  1310. <td class='col-3 strong'><code>callback</code></td>
  1311. <td class='col-3 quiet'>
  1312. <a href="#childiterator">childIterator</a>
  1313. </td>
  1314. <td class='col-6'>Iterator receives each node and index.
  1315. </td>
  1316. </tr>
  1317. </table>
  1318. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  1319. <code>(<code>false</code> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  1320. :
  1321. <span class='force-inline'>Returns
  1322. <code>false</code>
  1323. if iteration was broke.
  1324. </span>
  1325. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  1326. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> root = postcss.parse(<span class="hljs-string">'a { color: black; z-index: 1 }'</span>)
  1327. <span class="hljs-keyword">const</span> rule = root.first
  1328. <span class="hljs-keyword">for</span> (<span class="hljs-keyword">const</span> decl <span class="hljs-keyword">of</span> rule.nodes) {
  1329. decl.cloneBefore({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'-webkit-'</span> + decl.prop })
  1330. <span class="hljs-comment">// Cycle will be infinite, because cloneBefore moves the current node</span>
  1331. <span class="hljs-comment">// to the next index</span>
  1332. }
  1333. rule.each(<span class="hljs-function"><span class="hljs-params">decl</span> =&gt;</span> {
  1334. decl.cloneBefore({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'-webkit-'</span> + decl.prop })
  1335. <span class="hljs-comment">// Will be executed only for color and z-index</span>
  1336. })</code></pre>
  1337. </section>
  1338. <section id='atruleevery'class='mt2 mb2 px3 py1 keyline-top'>
  1339. <div class='right py2'>
  1340. <span class="px2"></span>
  1341. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L541-L543'>
  1342. <span>lib/container.js</span>
  1343. </a>
  1344. </div>
  1345. <h3 class='regular'>
  1346. <a class='black' href='#atruleevery'>
  1347. <code>
  1348. every
  1349. <span class='gray'>(condition)</span>
  1350. </code>
  1351. </a>
  1352. </h3>
  1353. <p>Returns <code>true</code> if callback returns <code>true</code>
  1354. for all of the container’s children.</p>
  1355. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  1356. <thead class='fill-light'>
  1357. <th class='col-3 small caps quiet'>parameter</th>
  1358. <th class='col-3 small caps quiet'>type</th>
  1359. <th class='col-6 small caps quiet'>description</th>
  1360. </thead>
  1361. <tr>
  1362. <td class='col-3 strong'><code>condition</code></td>
  1363. <td class='col-3 quiet'>
  1364. <a href="#childcondition">childCondition</a>
  1365. </td>
  1366. <td class='col-6'>Iterator returns true or false.
  1367. </td>
  1368. </tr>
  1369. </table>
  1370. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  1371. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code>
  1372. :
  1373. <span class='force-inline'>Is every child pass condition.
  1374. </span>
  1375. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  1376. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> noPrefixes = rule.every(<span class="hljs-function"><span class="hljs-params">i</span> =&gt;</span> i.prop[<span class="hljs-number">0</span>] !== <span class="hljs-string">'-'</span>)</code></pre>
  1377. </section>
  1378. <section id='atrulefirst'class='mt2 mb2 px3 py1 keyline-top'>
  1379. <div class='right py2'>
  1380. <span class="px2"></span>
  1381. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L584-L587'>
  1382. <span>lib/container.js</span>
  1383. </a>
  1384. </div>
  1385. <h3 class='regular'>
  1386. <a class='black' href='#atrulefirst'>
  1387. <code>
  1388. first
  1389. <span class='gray'>()</span>
  1390. </code>
  1391. </a>
  1392. </h3>
  1393. <p>The container’s first child.</p>
  1394. <p>
  1395. Type:
  1396. <a href="#node">Node</a>
  1397. </p>
  1398. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  1399. <pre class='p1 overflow-auto round fill-light'><code>rule.first === rules.nodes[<span class="hljs-number">0</span>]</code></pre>
  1400. </section>
  1401. <section id='atruleindex'class='mt2 mb2 px3 py1 keyline-top'>
  1402. <div class='right py2'>
  1403. <span class="px2"></span>
  1404. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L570-L574'>
  1405. <span>lib/container.js</span>
  1406. </a>
  1407. </div>
  1408. <h3 class='regular'>
  1409. <a class='black' href='#atruleindex'>
  1410. <code>
  1411. index
  1412. <span class='gray'>(child)</span>
  1413. </code>
  1414. </a>
  1415. </h3>
  1416. <p>Returns a <code>child</code>’s index within the <a href="Container#nodes">Container#nodes</a> array.</p>
  1417. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  1418. <thead class='fill-light'>
  1419. <th class='col-3 small caps quiet'>parameter</th>
  1420. <th class='col-3 small caps quiet'>type</th>
  1421. <th class='col-6 small caps quiet'>description</th>
  1422. </thead>
  1423. <tr>
  1424. <td class='col-3 strong'><code>child</code></td>
  1425. <td class='col-3 quiet'>
  1426. <a href="#node">Node</a>
  1427. </td>
  1428. <td class='col-6'>Child of the current container.
  1429. </td>
  1430. </tr>
  1431. </table>
  1432. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  1433. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code>
  1434. :
  1435. <span class='force-inline'>Child index.
  1436. </span>
  1437. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  1438. <pre class='p1 overflow-auto round fill-light'><code>rule.index( rule.nodes[<span class="hljs-number">2</span>] ) <span class="hljs-comment">//=&gt; 2</span></code></pre>
  1439. </section>
  1440. <section id='atruleinsertafter'class='mt2 mb2 px3 py1 keyline-top'>
  1441. <div class='right py2'>
  1442. <span class="px2"></span>
  1443. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L416-L433'>
  1444. <span>lib/container.js</span>
  1445. </a>
  1446. </div>
  1447. <h3 class='regular'>
  1448. <a class='black' href='#atruleinsertafter'>
  1449. <code>
  1450. insertAfter
  1451. <span class='gray'>(exist, add)</span>
  1452. </code>
  1453. </a>
  1454. </h3>
  1455. <p>Insert new node after old node within the container.</p>
  1456. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  1457. <thead class='fill-light'>
  1458. <th class='col-3 small caps quiet'>parameter</th>
  1459. <th class='col-3 small caps quiet'>type</th>
  1460. <th class='col-6 small caps quiet'>description</th>
  1461. </thead>
  1462. <tr>
  1463. <td class='col-3 strong'><code>exist</code></td>
  1464. <td class='col-3 quiet'>
  1465. (<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>)
  1466. </td>
  1467. <td class='col-6'>Child or child’s index.
  1468. </td>
  1469. </tr>
  1470. <tr>
  1471. <td class='col-3 strong'><code>add</code></td>
  1472. <td class='col-3 quiet'>
  1473. (<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="#node">Node</a>>)
  1474. </td>
  1475. <td class='col-6'>New node.
  1476. </td>
  1477. </tr>
  1478. </table>
  1479. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  1480. <code><a href="#node">Node</a></code>
  1481. :
  1482. <span class='force-inline'>This node for methods chain.
  1483. </span>
  1484. </section>
  1485. <section id='atruleinsertbefore'class='mt2 mb2 px3 py1 keyline-top'>
  1486. <div class='right py2'>
  1487. <span class="px2"></span>
  1488. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L388-L406'>
  1489. <span>lib/container.js</span>
  1490. </a>
  1491. </div>
  1492. <h3 class='regular'>
  1493. <a class='black' href='#atruleinsertbefore'>
  1494. <code>
  1495. insertBefore
  1496. <span class='gray'>(exist, add)</span>
  1497. </code>
  1498. </a>
  1499. </h3>
  1500. <p>Insert new node before old node within the container.</p>
  1501. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  1502. <thead class='fill-light'>
  1503. <th class='col-3 small caps quiet'>parameter</th>
  1504. <th class='col-3 small caps quiet'>type</th>
  1505. <th class='col-6 small caps quiet'>description</th>
  1506. </thead>
  1507. <tr>
  1508. <td class='col-3 strong'><code>exist</code></td>
  1509. <td class='col-3 quiet'>
  1510. (<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>)
  1511. </td>
  1512. <td class='col-6'>Child or child’s index.
  1513. </td>
  1514. </tr>
  1515. <tr>
  1516. <td class='col-3 strong'><code>add</code></td>
  1517. <td class='col-3 quiet'>
  1518. (<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="#node">Node</a>>)
  1519. </td>
  1520. <td class='col-6'>New node.
  1521. </td>
  1522. </tr>
  1523. </table>
  1524. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  1525. <code><a href="#node">Node</a></code>
  1526. :
  1527. <span class='force-inline'>This node for methods chain.
  1528. </span>
  1529. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  1530. <pre class='p1 overflow-auto round fill-light'><code>rule.insertBefore(decl, decl.clone({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'-webkit-'</span> + decl.prop }))</code></pre>
  1531. </section>
  1532. <section id='atrulelast'class='mt2 mb2 px3 py1 keyline-top'>
  1533. <div class='right py2'>
  1534. <span class="px2"></span>
  1535. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L597-L600'>
  1536. <span>lib/container.js</span>
  1537. </a>
  1538. </div>
  1539. <h3 class='regular'>
  1540. <a class='black' href='#atrulelast'>
  1541. <code>
  1542. last
  1543. <span class='gray'>()</span>
  1544. </code>
  1545. </a>
  1546. </h3>
  1547. <p>The container’s last child.</p>
  1548. <p>
  1549. Type:
  1550. <a href="#node">Node</a>
  1551. </p>
  1552. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  1553. <pre class='p1 overflow-auto round fill-light'><code>rule.last === rule.nodes[rule.nodes.length - <span class="hljs-number">1</span>]</code></pre>
  1554. </section>
  1555. <section id='atruleprepend'class='mt2 mb2 px3 py1 keyline-top'>
  1556. <div class='right py2'>
  1557. <span class="px2"></span>
  1558. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L355-L368'>
  1559. <span>lib/container.js</span>
  1560. </a>
  1561. </div>
  1562. <h3 class='regular'>
  1563. <a class='black' href='#atruleprepend'>
  1564. <code>
  1565. prepend
  1566. <span class='gray'>(children)</span>
  1567. </code>
  1568. </a>
  1569. </h3>
  1570. <p>Inserts new nodes to the start of the container.</p>
  1571. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  1572. <thead class='fill-light'>
  1573. <th class='col-3 small caps quiet'>parameter</th>
  1574. <th class='col-3 small caps quiet'>type</th>
  1575. <th class='col-6 small caps quiet'>description</th>
  1576. </thead>
  1577. <tr>
  1578. <td class='col-3 strong'><code>children</code></td>
  1579. <td class='col-3 quiet'>
  1580. ...(<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="#node">Node</a>>)
  1581. </td>
  1582. <td class='col-6'>New nodes.
  1583. </td>
  1584. </tr>
  1585. </table>
  1586. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  1587. <code><a href="#node">Node</a></code>
  1588. :
  1589. <span class='force-inline'>This node for methods chain.
  1590. </span>
  1591. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  1592. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> decl1 = postcss.decl({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'color'</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'black'</span> })
  1593. <span class="hljs-keyword">const</span> decl2 = postcss.decl({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'background-color'</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'white'</span> })
  1594. rule.prepend(decl1, decl2)
  1595. root.append({ <span class="hljs-attr">name</span>: <span class="hljs-string">'charset'</span>, <span class="hljs-attr">params</span>: <span class="hljs-string">'"UTF-8"'</span> }) <span class="hljs-comment">// at-rule</span>
  1596. root.append({ <span class="hljs-attr">selector</span>: <span class="hljs-string">'a'</span> }) <span class="hljs-comment">// rule</span>
  1597. rule.append({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'color'</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'black'</span> }) <span class="hljs-comment">// declaration</span>
  1598. rule.append({ <span class="hljs-attr">text</span>: <span class="hljs-string">'Comment'</span> }) <span class="hljs-comment">// comment</span>
  1599. root.append(<span class="hljs-string">'a {}'</span>)
  1600. root.first.append(<span class="hljs-string">'color: black; z-index: 1'</span>)</code></pre>
  1601. </section>
  1602. <section id='atruleremoveall'class='mt2 mb2 px3 py1 keyline-top'>
  1603. <div class='right py2'>
  1604. <span class="px2"></span>
  1605. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L477-L484'>
  1606. <span>lib/container.js</span>
  1607. </a>
  1608. </div>
  1609. <h3 class='regular'>
  1610. <a class='black' href='#atruleremoveall'>
  1611. <code>
  1612. removeAll
  1613. <span class='gray'>()</span>
  1614. </code>
  1615. </a>
  1616. </h3>
  1617. <p>Removes all children from the container
  1618. and cleans their parent properties.</p>
  1619. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  1620. <code><a href="#node">Node</a></code>
  1621. :
  1622. <span class='force-inline'>This node for methods chain.
  1623. </span>
  1624. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  1625. <pre class='p1 overflow-auto round fill-light'><code>rule.removeAll()
  1626. rule.nodes.length <span class="hljs-comment">//=&gt; 0</span></code></pre>
  1627. </section>
  1628. <section id='atruleremovechild'class='mt2 mb2 px3 py1 keyline-top'>
  1629. <div class='right py2'>
  1630. <span class="px2"></span>
  1631. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L449-L465'>
  1632. <span>lib/container.js</span>
  1633. </a>
  1634. </div>
  1635. <h3 class='regular'>
  1636. <a class='black' href='#atruleremovechild'>
  1637. <code>
  1638. removeChild
  1639. <span class='gray'>(child)</span>
  1640. </code>
  1641. </a>
  1642. </h3>
  1643. <p>Removes node from the container and cleans the parent properties
  1644. from the node and its children.</p>
  1645. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  1646. <thead class='fill-light'>
  1647. <th class='col-3 small caps quiet'>parameter</th>
  1648. <th class='col-3 small caps quiet'>type</th>
  1649. <th class='col-6 small caps quiet'>description</th>
  1650. </thead>
  1651. <tr>
  1652. <td class='col-3 strong'><code>child</code></td>
  1653. <td class='col-3 quiet'>
  1654. (<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>)
  1655. </td>
  1656. <td class='col-6'>Child or child’s index.
  1657. </td>
  1658. </tr>
  1659. </table>
  1660. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  1661. <code><a href="#node">Node</a></code>
  1662. :
  1663. <span class='force-inline'>This node for methods chain
  1664. </span>
  1665. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  1666. <pre class='p1 overflow-auto round fill-light'><code>rule.nodes.length <span class="hljs-comment">//=&gt; 5</span>
  1667. rule.removeChild(decl)
  1668. rule.nodes.length <span class="hljs-comment">//=&gt; 4</span>
  1669. decl.parent <span class="hljs-comment">//=&gt; undefined</span></code></pre>
  1670. </section>
  1671. <section id='atrulereplacevalues'class='mt2 mb2 px3 py1 keyline-top'>
  1672. <div class='right py2'>
  1673. <span class="px2"></span>
  1674. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L512-L528'>
  1675. <span>lib/container.js</span>
  1676. </a>
  1677. </div>
  1678. <h3 class='regular'>
  1679. <a class='black' href='#atrulereplacevalues'>
  1680. <code>
  1681. replaceValues
  1682. <span class='gray'>(pattern, opts, callback)</span>
  1683. </code>
  1684. </a>
  1685. </h3>
  1686. <p>Passes all declaration values within the container that match pattern
  1687. through callback, replacing those values with the returned result
  1688. of callback.</p>
  1689. <p>This method is useful if you are using a custom unit or function
  1690. and need to iterate through all values.</p>
  1691. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  1692. <thead class='fill-light'>
  1693. <th class='col-3 small caps quiet'>parameter</th>
  1694. <th class='col-3 small caps quiet'>type</th>
  1695. <th class='col-6 small caps quiet'>description</th>
  1696. </thead>
  1697. <tr>
  1698. <td class='col-3 strong'><code>pattern</code></td>
  1699. <td class='col-3 quiet'>
  1700. (<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/RegExp">RegExp</a>)
  1701. </td>
  1702. <td class='col-6'>Replace pattern.
  1703. </td>
  1704. </tr>
  1705. <tr>
  1706. <td class='col-3 strong'><code>opts</code></td>
  1707. <td class='col-3 quiet'>
  1708. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>
  1709. </td>
  1710. <td class='col-6'>Options to speed up the search.
  1711. </td>
  1712. </tr>
  1713. <tr>
  1714. <td class='col-2 strong'>opts.props</td>
  1715. <td class="col-2 quiet">
  1716. (<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>>)
  1717. </td>
  1718. <td class='col-8'>An array of property names.
  1719. </td>
  1720. </tr>
  1721. <tr>
  1722. <td class='col-2 strong'>opts.fast</td>
  1723. <td class="col-2 quiet">
  1724. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  1725. </td>
  1726. <td class='col-8'>String that’s used to narrow down
  1727. values and speed up the regexp search.
  1728. </td>
  1729. </tr>
  1730. <tr>
  1731. <td class='col-3 strong'><code>callback</code></td>
  1732. <td class='col-3 quiet'>
  1733. (<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function">function</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>)
  1734. </td>
  1735. <td class='col-6'>String to replace pattern or callback
  1736. that returns a new value. The callback
  1737. will receive the same arguments
  1738. as those passed to a function parameter
  1739. of
  1740. <code>String#replace</code>
  1741. .
  1742. </td>
  1743. </tr>
  1744. </table>
  1745. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  1746. <code><a href="#node">Node</a></code>
  1747. :
  1748. <span class='force-inline'>This node for methods chain.
  1749. </span>
  1750. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  1751. <pre class='p1 overflow-auto round fill-light'><code>root.replaceValues(<span class="hljs-regexp">/\d+rem/</span>, { <span class="hljs-attr">fast</span>: <span class="hljs-string">'rem'</span> }, string =&gt; {
  1752. <span class="hljs-keyword">return</span> <span class="hljs-number">15</span> * <span class="hljs-built_in">parseInt</span>(string) + <span class="hljs-string">'px'</span>
  1753. })</code></pre>
  1754. </section>
  1755. <section id='atrulesome'class='mt2 mb2 px3 py1 keyline-top'>
  1756. <div class='right py2'>
  1757. <span class="px2"></span>
  1758. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L556-L558'>
  1759. <span>lib/container.js</span>
  1760. </a>
  1761. </div>
  1762. <h3 class='regular'>
  1763. <a class='black' href='#atrulesome'>
  1764. <code>
  1765. some
  1766. <span class='gray'>(condition)</span>
  1767. </code>
  1768. </a>
  1769. </h3>
  1770. <p>Returns <code>true</code> if callback returns <code>true</code> for (at least) one
  1771. of the container’s children.</p>
  1772. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  1773. <thead class='fill-light'>
  1774. <th class='col-3 small caps quiet'>parameter</th>
  1775. <th class='col-3 small caps quiet'>type</th>
  1776. <th class='col-6 small caps quiet'>description</th>
  1777. </thead>
  1778. <tr>
  1779. <td class='col-3 strong'><code>condition</code></td>
  1780. <td class='col-3 quiet'>
  1781. <a href="#childcondition">childCondition</a>
  1782. </td>
  1783. <td class='col-6'>Iterator returns true or false.
  1784. </td>
  1785. </tr>
  1786. </table>
  1787. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  1788. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code>
  1789. :
  1790. <span class='force-inline'>Is some child pass condition.
  1791. </span>
  1792. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  1793. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> hasPrefix = rule.some(<span class="hljs-function"><span class="hljs-params">i</span> =&gt;</span> i.prop[<span class="hljs-number">0</span>] === <span class="hljs-string">'-'</span>)</code></pre>
  1794. </section>
  1795. <section id='atrulewalk'class='mt2 mb2 px3 py1 keyline-top'>
  1796. <div class='right py2'>
  1797. <span class="px2"></span>
  1798. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L112-L126'>
  1799. <span>lib/container.js</span>
  1800. </a>
  1801. </div>
  1802. <h3 class='regular'>
  1803. <a class='black' href='#atrulewalk'>
  1804. <code>
  1805. walk
  1806. <span class='gray'>(callback)</span>
  1807. </code>
  1808. </a>
  1809. </h3>
  1810. <p>Traverses the container’s descendant nodes, calling callback
  1811. for each node.</p>
  1812. <p>Like container.each(), this method is safe to use
  1813. if you are mutating arrays during iteration.</p>
  1814. <p>If you only need to iterate through the container’s immediate children,
  1815. use <a href="#containereach">Container#each</a>.</p>
  1816. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  1817. <thead class='fill-light'>
  1818. <th class='col-3 small caps quiet'>parameter</th>
  1819. <th class='col-3 small caps quiet'>type</th>
  1820. <th class='col-6 small caps quiet'>description</th>
  1821. </thead>
  1822. <tr>
  1823. <td class='col-3 strong'><code>callback</code></td>
  1824. <td class='col-3 quiet'>
  1825. <a href="#childiterator">childIterator</a>
  1826. </td>
  1827. <td class='col-6'>Iterator receives each node and index.
  1828. </td>
  1829. </tr>
  1830. </table>
  1831. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  1832. <code>(<code>false</code> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  1833. :
  1834. <span class='force-inline'>Returns
  1835. <code>false</code>
  1836. if iteration was broke.
  1837. </span>
  1838. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  1839. <pre class='p1 overflow-auto round fill-light'><code>root.walk(<span class="hljs-function"><span class="hljs-params">node</span> =&gt;</span> {
  1840. <span class="hljs-comment">// Traverses all descendant nodes.</span>
  1841. })</code></pre>
  1842. </section>
  1843. <section id='atrulewalkatrules'class='mt2 mb2 px3 py1 keyline-top'>
  1844. <div class='right py2'>
  1845. <span class="px2"></span>
  1846. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L257-L278'>
  1847. <span>lib/container.js</span>
  1848. </a>
  1849. </div>
  1850. <h3 class='regular'>
  1851. <a class='black' href='#atrulewalkatrules'>
  1852. <code>
  1853. walkAtRules
  1854. <span class='gray'>(name?, callback)</span>
  1855. </code>
  1856. </a>
  1857. </h3>
  1858. <p>Traverses the container’s descendant nodes, calling callback
  1859. for each at-rule node.</p>
  1860. <p>If you pass a filter, iteration will only happen over at-rules
  1861. that have matching names.</p>
  1862. <p>Like <a href="#containereach">Container#each</a>, this method is safe
  1863. to use if you are mutating arrays during iteration.</p>
  1864. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  1865. <thead class='fill-light'>
  1866. <th class='col-3 small caps quiet'>parameter</th>
  1867. <th class='col-3 small caps quiet'>type</th>
  1868. <th class='col-6 small caps quiet'>description</th>
  1869. </thead>
  1870. <tr>
  1871. <td class='col-3 strong'><code>name</code></td>
  1872. <td class='col-3 quiet'>
  1873. (<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/RegExp">RegExp</a>)?
  1874. </td>
  1875. <td class='col-6'>String or regular expression
  1876. to filter at-rules by name.
  1877. </td>
  1878. </tr>
  1879. <tr>
  1880. <td class='col-3 strong'><code>callback</code></td>
  1881. <td class='col-3 quiet'>
  1882. <a href="#childiterator">childIterator</a>
  1883. </td>
  1884. <td class='col-6'>Iterator receives each node and index.
  1885. </td>
  1886. </tr>
  1887. </table>
  1888. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  1889. <code>(<code>false</code> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  1890. :
  1891. <span class='force-inline'>Returns
  1892. <code>false</code>
  1893. if iteration was broke.
  1894. </span>
  1895. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  1896. <pre class='p1 overflow-auto round fill-light'><code>root.walkAtRules(<span class="hljs-function"><span class="hljs-params">rule</span> =&gt;</span> {
  1897. <span class="hljs-keyword">if</span> (isOld(rule.name)) rule.remove()
  1898. })
  1899. <span class="hljs-keyword">let</span> first = <span class="hljs-literal">false</span>
  1900. root.walkAtRules(<span class="hljs-string">'charset'</span>, rule =&gt; {
  1901. <span class="hljs-keyword">if</span> (!first) {
  1902. first = <span class="hljs-literal">true</span>
  1903. } <span class="hljs-keyword">else</span> {
  1904. rule.remove()
  1905. }
  1906. })</code></pre>
  1907. </section>
  1908. <section id='atrulewalkcomments'class='mt2 mb2 px3 py1 keyline-top'>
  1909. <div class='right py2'>
  1910. <span class="px2"></span>
  1911. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L296-L302'>
  1912. <span>lib/container.js</span>
  1913. </a>
  1914. </div>
  1915. <h3 class='regular'>
  1916. <a class='black' href='#atrulewalkcomments'>
  1917. <code>
  1918. walkComments
  1919. <span class='gray'>(callback)</span>
  1920. </code>
  1921. </a>
  1922. </h3>
  1923. <p>Traverses the container’s descendant nodes, calling callback
  1924. for each comment node.</p>
  1925. <p>Like <a href="#containereach">Container#each</a>, this method is safe
  1926. to use if you are mutating arrays during iteration.</p>
  1927. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  1928. <thead class='fill-light'>
  1929. <th class='col-3 small caps quiet'>parameter</th>
  1930. <th class='col-3 small caps quiet'>type</th>
  1931. <th class='col-6 small caps quiet'>description</th>
  1932. </thead>
  1933. <tr>
  1934. <td class='col-3 strong'><code>callback</code></td>
  1935. <td class='col-3 quiet'>
  1936. <a href="#childiterator">childIterator</a>
  1937. </td>
  1938. <td class='col-6'>Iterator receives each node and index.
  1939. </td>
  1940. </tr>
  1941. </table>
  1942. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  1943. <code>(<code>false</code> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  1944. :
  1945. <span class='force-inline'>Returns
  1946. <code>false</code>
  1947. if iteration was broke.
  1948. </span>
  1949. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  1950. <pre class='p1 overflow-auto round fill-light'><code>root.walkComments(<span class="hljs-function"><span class="hljs-params">comment</span> =&gt;</span> {
  1951. comment.remove()
  1952. })</code></pre>
  1953. </section>
  1954. <section id='atrulewalkdecls'class='mt2 mb2 px3 py1 keyline-top'>
  1955. <div class='right py2'>
  1956. <span class="px2"></span>
  1957. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L157-L178'>
  1958. <span>lib/container.js</span>
  1959. </a>
  1960. </div>
  1961. <h3 class='regular'>
  1962. <a class='black' href='#atrulewalkdecls'>
  1963. <code>
  1964. walkDecls
  1965. <span class='gray'>(prop?, callback)</span>
  1966. </code>
  1967. </a>
  1968. </h3>
  1969. <p>Traverses the container’s descendant nodes, calling callback
  1970. for each declaration node.</p>
  1971. <p>If you pass a filter, iteration will only happen over declarations
  1972. with matching properties.</p>
  1973. <p>Like <a href="#containereach">Container#each</a>, this method is safe
  1974. to use if you are mutating arrays during iteration.</p>
  1975. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  1976. <thead class='fill-light'>
  1977. <th class='col-3 small caps quiet'>parameter</th>
  1978. <th class='col-3 small caps quiet'>type</th>
  1979. <th class='col-6 small caps quiet'>description</th>
  1980. </thead>
  1981. <tr>
  1982. <td class='col-3 strong'><code>prop</code></td>
  1983. <td class='col-3 quiet'>
  1984. (<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/RegExp">RegExp</a>)?
  1985. </td>
  1986. <td class='col-6'>String or regular expression
  1987. to filter declarations by property name.
  1988. </td>
  1989. </tr>
  1990. <tr>
  1991. <td class='col-3 strong'><code>callback</code></td>
  1992. <td class='col-3 quiet'>
  1993. <a href="#childiterator">childIterator</a>
  1994. </td>
  1995. <td class='col-6'>Iterator receives each node and index.
  1996. </td>
  1997. </tr>
  1998. </table>
  1999. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  2000. <code>(<code>false</code> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  2001. :
  2002. <span class='force-inline'>Returns
  2003. <code>false</code>
  2004. if iteration was broke.
  2005. </span>
  2006. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  2007. <pre class='p1 overflow-auto round fill-light'><code>root.walkDecls(<span class="hljs-function"><span class="hljs-params">decl</span> =&gt;</span> {
  2008. checkPropertySupport(decl.prop)
  2009. })
  2010. root.walkDecls(<span class="hljs-string">'border-radius'</span>, decl =&gt; {
  2011. decl.remove()
  2012. })
  2013. root.walkDecls(<span class="hljs-regexp">/^background/</span>, decl =&gt; {
  2014. decl.value = takeFirstColorFromGradient(decl.value)
  2015. })</code></pre>
  2016. </section>
  2017. <section id='atrulewalkrules'class='mt2 mb2 px3 py1 keyline-top'>
  2018. <div class='right py2'>
  2019. <span class="px2"></span>
  2020. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L203-L225'>
  2021. <span>lib/container.js</span>
  2022. </a>
  2023. </div>
  2024. <h3 class='regular'>
  2025. <a class='black' href='#atrulewalkrules'>
  2026. <code>
  2027. walkRules
  2028. <span class='gray'>(selector?, callback)</span>
  2029. </code>
  2030. </a>
  2031. </h3>
  2032. <p>Traverses the container’s descendant nodes, calling callback
  2033. for each rule node.</p>
  2034. <p>If you pass a filter, iteration will only happen over rules
  2035. with matching selectors.</p>
  2036. <p>Like <a href="#containereach">Container#each</a>, this method is safe
  2037. to use if you are mutating arrays during iteration.</p>
  2038. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  2039. <thead class='fill-light'>
  2040. <th class='col-3 small caps quiet'>parameter</th>
  2041. <th class='col-3 small caps quiet'>type</th>
  2042. <th class='col-6 small caps quiet'>description</th>
  2043. </thead>
  2044. <tr>
  2045. <td class='col-3 strong'><code>selector</code></td>
  2046. <td class='col-3 quiet'>
  2047. (<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/RegExp">RegExp</a>)?
  2048. </td>
  2049. <td class='col-6'>String or regular expression
  2050. to filter rules by selector.
  2051. </td>
  2052. </tr>
  2053. <tr>
  2054. <td class='col-3 strong'><code>callback</code></td>
  2055. <td class='col-3 quiet'>
  2056. <a href="#childiterator">childIterator</a>
  2057. </td>
  2058. <td class='col-6'>Iterator receives each node and index.
  2059. </td>
  2060. </tr>
  2061. </table>
  2062. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  2063. <code>(<code>false</code> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  2064. :
  2065. <span class='force-inline'>returns
  2066. <code>false</code>
  2067. if iteration was broke.
  2068. </span>
  2069. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  2070. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> selectors = []
  2071. root.walkRules(<span class="hljs-function"><span class="hljs-params">rule</span> =&gt;</span> {
  2072. selectors.push(rule.selector)
  2073. })
  2074. <span class="hljs-built_in">console</span>.log(<span class="hljs-string">`Your CSS uses <span class="hljs-subst">${ selectors.length }</span> selectors`</span>)</code></pre>
  2075. </section>
  2076. </div>
  2077. </section>
  2078. <section id='comment'class='mt2 mb2 px3 py1 keyline-top'>
  2079. <div class='right py2'>
  2080. <span class='font-smaller'>
  2081. Extends
  2082. <a href="#node">Node</a>
  2083. </span>
  2084. <span class="px2"></span>
  2085. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/comment.js#L11-L34'>
  2086. <span>lib/comment.js</span>
  2087. </a>
  2088. </div>
  2089. <h3 class='regular'>
  2090. <a class='black' href='#comment'>
  2091. <code>
  2092. Comment
  2093. <span class='gray'>(defaults)</span>
  2094. </code>
  2095. </a>
  2096. </h3>
  2097. <p>Represents a comment between declarations or statements (rule and at-rules).</p>
  2098. <p>Comments inside selectors, at-rule parameters, or declaration values
  2099. will be stored in the <code>raws</code> properties explained above.</p>
  2100. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  2101. <thead class='fill-light'>
  2102. <th class='col-3 small caps quiet'>parameter</th>
  2103. <th class='col-3 small caps quiet'>type</th>
  2104. <th class='col-6 small caps quiet'>description</th>
  2105. </thead>
  2106. <tr>
  2107. <td class='col-3 strong'><code>defaults</code></td>
  2108. <td class='col-3 quiet'>
  2109. any
  2110. </td>
  2111. <td class='col-6'></td>
  2112. </tr>
  2113. </table>
  2114. <h4 class='caps quiet mb2 mt3'>Instance Members</h4>
  2115. <div class="section-indent">
  2116. <section id='commentafter'class='mt2 mb2 px3 py1 keyline-top'>
  2117. <div class='right py2'>
  2118. <span class="px2"></span>
  2119. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L324-L327'>
  2120. <span>lib/node.js</span>
  2121. </a>
  2122. </div>
  2123. <h3 class='regular'>
  2124. <a class='black' href='#commentafter'>
  2125. <code>
  2126. after
  2127. <span class='gray'>(add)</span>
  2128. </code>
  2129. </a>
  2130. </h3>
  2131. <p>Insert new node after current node to current node’s parent.</p>
  2132. <p>Just alias for <code>node.parent.insertAfter(node, add)</code>.</p>
  2133. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  2134. <thead class='fill-light'>
  2135. <th class='col-3 small caps quiet'>parameter</th>
  2136. <th class='col-3 small caps quiet'>type</th>
  2137. <th class='col-6 small caps quiet'>description</th>
  2138. </thead>
  2139. <tr>
  2140. <td class='col-3 strong'><code>add</code></td>
  2141. <td class='col-3 quiet'>
  2142. (<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="#node">Node</a>>)
  2143. </td>
  2144. <td class='col-6'>New node.
  2145. </td>
  2146. </tr>
  2147. </table>
  2148. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  2149. <code><a href="#node">Node</a></code>
  2150. :
  2151. <span class='force-inline'>This node for methods chain.
  2152. </span>
  2153. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  2154. <pre class='p1 overflow-auto round fill-light'><code>decl.after(<span class="hljs-string">'color: black'</span>)</code></pre>
  2155. </section>
  2156. <section id='commentbefore'class='mt2 mb2 px3 py1 keyline-top'>
  2157. <div class='right py2'>
  2158. <span class="px2"></span>
  2159. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L307-L310'>
  2160. <span>lib/node.js</span>
  2161. </a>
  2162. </div>
  2163. <h3 class='regular'>
  2164. <a class='black' href='#commentbefore'>
  2165. <code>
  2166. before
  2167. <span class='gray'>(add)</span>
  2168. </code>
  2169. </a>
  2170. </h3>
  2171. <p>Insert new node before current node to current node’s parent.</p>
  2172. <p>Just alias for <code>node.parent.insertBefore(node, add)</code>.</p>
  2173. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  2174. <thead class='fill-light'>
  2175. <th class='col-3 small caps quiet'>parameter</th>
  2176. <th class='col-3 small caps quiet'>type</th>
  2177. <th class='col-6 small caps quiet'>description</th>
  2178. </thead>
  2179. <tr>
  2180. <td class='col-3 strong'><code>add</code></td>
  2181. <td class='col-3 quiet'>
  2182. (<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="#node">Node</a>>)
  2183. </td>
  2184. <td class='col-6'>New node.
  2185. </td>
  2186. </tr>
  2187. </table>
  2188. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  2189. <code><a href="#node">Node</a></code>
  2190. :
  2191. <span class='force-inline'>This node for methods chain.
  2192. </span>
  2193. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  2194. <pre class='p1 overflow-auto round fill-light'><code>decl.before(<span class="hljs-string">'content: ""'</span>)</code></pre>
  2195. </section>
  2196. <section id='commentcleanraws'class='mt2 mb2 px3 py1 keyline-top'>
  2197. <div class='right py2'>
  2198. <span class="px2"></span>
  2199. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L405-L409'>
  2200. <span>lib/node.js</span>
  2201. </a>
  2202. </div>
  2203. <h3 class='regular'>
  2204. <a class='black' href='#commentcleanraws'>
  2205. <code>
  2206. cleanRaws
  2207. <span class='gray'>(keepBetween?)</span>
  2208. </code>
  2209. </a>
  2210. </h3>
  2211. <p>Clear the code style properties for the node and its children.</p>
  2212. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  2213. <thead class='fill-light'>
  2214. <th class='col-3 small caps quiet'>parameter</th>
  2215. <th class='col-3 small caps quiet'>type</th>
  2216. <th class='col-6 small caps quiet'>description</th>
  2217. </thead>
  2218. <tr>
  2219. <td class='col-3 strong'><code>keepBetween</code></td>
  2220. <td class='col-3 quiet'>
  2221. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>?
  2222. </td>
  2223. <td class='col-6'>Keep the raws.between symbols.
  2224. </td>
  2225. </tr>
  2226. </table>
  2227. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  2228. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a></code>
  2229. :
  2230. <span class='force-inline'>
  2231. </span>
  2232. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  2233. <pre class='p1 overflow-auto round fill-light'><code>node.raws.before <span class="hljs-comment">//=&gt; ' '</span>
  2234. node.cleanRaws()
  2235. node.raws.before <span class="hljs-comment">//=&gt; undefined</span></code></pre>
  2236. </section>
  2237. <section id='commentclone'class='mt2 mb2 px3 py1 keyline-top'>
  2238. <div class='right py2'>
  2239. <span class="px2"></span>
  2240. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L194-L200'>
  2241. <span>lib/node.js</span>
  2242. </a>
  2243. </div>
  2244. <h3 class='regular'>
  2245. <a class='black' href='#commentclone'>
  2246. <code>
  2247. clone
  2248. <span class='gray'>(overrides = {})</span>
  2249. </code>
  2250. </a>
  2251. </h3>
  2252. <p>Returns an exact clone of the node.</p>
  2253. <p>The resulting cloned node and its (cloned) children will retain
  2254. code style properties.</p>
  2255. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  2256. <thead class='fill-light'>
  2257. <th class='col-3 small caps quiet'>parameter</th>
  2258. <th class='col-3 small caps quiet'>type</th>
  2259. <th class='col-6 small caps quiet'>description</th>
  2260. </thead>
  2261. <tr>
  2262. <td class='col-3 strong'><code>overrides</code></td>
  2263. <td class='col-3 quiet'>
  2264. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>?
  2265. = <code>{}</code>
  2266. </td>
  2267. <td class='col-6'>New properties to override in the clone.
  2268. </td>
  2269. </tr>
  2270. </table>
  2271. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  2272. <code><a href="#node">Node</a></code>
  2273. :
  2274. <span class='force-inline'>Clone of the node.
  2275. </span>
  2276. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  2277. <pre class='p1 overflow-auto round fill-light'><code>decl.raws.before <span class="hljs-comment">//=&gt; "\n "</span>
  2278. <span class="hljs-keyword">const</span> cloned = decl.clone({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'-moz-'</span> + decl.prop })
  2279. cloned.raws.before <span class="hljs-comment">//=&gt; "\n "</span>
  2280. cloned.toString() <span class="hljs-comment">//=&gt; -moz-transform: scale(0)</span></code></pre>
  2281. </section>
  2282. <section id='commentcloneafter'class='mt2 mb2 px3 py1 keyline-top'>
  2283. <div class='right py2'>
  2284. <span class="px2"></span>
  2285. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L227-L231'>
  2286. <span>lib/node.js</span>
  2287. </a>
  2288. </div>
  2289. <h3 class='regular'>
  2290. <a class='black' href='#commentcloneafter'>
  2291. <code>
  2292. cloneAfter
  2293. <span class='gray'>(overrides = {})</span>
  2294. </code>
  2295. </a>
  2296. </h3>
  2297. <p>Shortcut to clone the node and insert the resulting cloned node
  2298. after the current node.</p>
  2299. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  2300. <thead class='fill-light'>
  2301. <th class='col-3 small caps quiet'>parameter</th>
  2302. <th class='col-3 small caps quiet'>type</th>
  2303. <th class='col-6 small caps quiet'>description</th>
  2304. </thead>
  2305. <tr>
  2306. <td class='col-3 strong'><code>overrides</code></td>
  2307. <td class='col-3 quiet'>
  2308. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>?
  2309. = <code>{}</code>
  2310. </td>
  2311. <td class='col-6'>New properties to override in the clone.
  2312. </td>
  2313. </tr>
  2314. </table>
  2315. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  2316. <code><a href="#node">Node</a></code>
  2317. :
  2318. <span class='force-inline'>New node.
  2319. </span>
  2320. </section>
  2321. <section id='commentclonebefore'class='mt2 mb2 px3 py1 keyline-top'>
  2322. <div class='right py2'>
  2323. <span class="px2"></span>
  2324. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L213-L217'>
  2325. <span>lib/node.js</span>
  2326. </a>
  2327. </div>
  2328. <h3 class='regular'>
  2329. <a class='black' href='#commentclonebefore'>
  2330. <code>
  2331. cloneBefore
  2332. <span class='gray'>(overrides = {})</span>
  2333. </code>
  2334. </a>
  2335. </h3>
  2336. <p>Shortcut to clone the node and insert the resulting cloned node
  2337. before the current node.</p>
  2338. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  2339. <thead class='fill-light'>
  2340. <th class='col-3 small caps quiet'>parameter</th>
  2341. <th class='col-3 small caps quiet'>type</th>
  2342. <th class='col-6 small caps quiet'>description</th>
  2343. </thead>
  2344. <tr>
  2345. <td class='col-3 strong'><code>overrides</code></td>
  2346. <td class='col-3 quiet'>
  2347. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>?
  2348. = <code>{}</code>
  2349. </td>
  2350. <td class='col-6'>Mew properties to override in the clone.
  2351. </td>
  2352. </tr>
  2353. </table>
  2354. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  2355. <code><a href="#node">Node</a></code>
  2356. :
  2357. <span class='force-inline'>New node
  2358. </span>
  2359. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  2360. <pre class='p1 overflow-auto round fill-light'><code>decl.cloneBefore({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'-moz-'</span> + decl.prop })</code></pre>
  2361. </section>
  2362. <section id='commenterror'class='mt2 mb2 px3 py1 keyline-top'>
  2363. <div class='right py2'>
  2364. <span class="px2"></span>
  2365. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L100-L106'>
  2366. <span>lib/node.js</span>
  2367. </a>
  2368. </div>
  2369. <h3 class='regular'>
  2370. <a class='black' href='#commenterror'>
  2371. <code>
  2372. error
  2373. <span class='gray'>(message, opts = {})</span>
  2374. </code>
  2375. </a>
  2376. </h3>
  2377. <p>Returns a <code>CssSyntaxError</code> instance containing the original position
  2378. of the node in the source, showing line and column numbers and also
  2379. a small excerpt to facilitate debugging.</p>
  2380. <p>If present, an input source map will be used to get the original position
  2381. of the source, even from a previous compilation step
  2382. (e.g., from Sass compilation).</p>
  2383. <p>This method produces very useful error messages.</p>
  2384. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  2385. <thead class='fill-light'>
  2386. <th class='col-3 small caps quiet'>parameter</th>
  2387. <th class='col-3 small caps quiet'>type</th>
  2388. <th class='col-6 small caps quiet'>description</th>
  2389. </thead>
  2390. <tr>
  2391. <td class='col-3 strong'><code>message</code></td>
  2392. <td class='col-3 quiet'>
  2393. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  2394. </td>
  2395. <td class='col-6'>Error description.
  2396. </td>
  2397. </tr>
  2398. <tr>
  2399. <td class='col-3 strong'><code>opts</code></td>
  2400. <td class='col-3 quiet'>
  2401. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>?
  2402. = <code>{}</code>
  2403. </td>
  2404. <td class='col-6'>Options.
  2405. </td>
  2406. </tr>
  2407. <tr>
  2408. <td class='col-2 strong'>opts.plugin</td>
  2409. <td class="col-2 quiet">
  2410. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  2411. </td>
  2412. <td class='col-8'>Plugin name that created this error.
  2413. PostCSS will set it automatically.
  2414. </td>
  2415. </tr>
  2416. <tr>
  2417. <td class='col-2 strong'>opts.word</td>
  2418. <td class="col-2 quiet">
  2419. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  2420. </td>
  2421. <td class='col-8'>A word inside a node’s string that should
  2422. be highlighted as the source of the error.
  2423. </td>
  2424. </tr>
  2425. <tr>
  2426. <td class='col-2 strong'>opts.index</td>
  2427. <td class="col-2 quiet">
  2428. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>
  2429. </td>
  2430. <td class='col-8'>An index inside a node’s string that should
  2431. be highlighted as the source of the error.
  2432. </td>
  2433. </tr>
  2434. </table>
  2435. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  2436. <code><a href="#csssyntaxerror">CssSyntaxError</a></code>
  2437. :
  2438. <span class='force-inline'>Error object to throw it.
  2439. </span>
  2440. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  2441. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">if</span> (!variables[name]) {
  2442. <span class="hljs-keyword">throw</span> decl.error(<span class="hljs-string">'Unknown variable '</span> + name, { <span class="hljs-attr">word</span>: name })
  2443. <span class="hljs-comment">// CssSyntaxError: postcss-vars:a.sass:4:3: Unknown variable $black</span>
  2444. <span class="hljs-comment">// color: $black</span>
  2445. <span class="hljs-comment">// a</span>
  2446. <span class="hljs-comment">// ^</span>
  2447. <span class="hljs-comment">// background: white</span>
  2448. }</code></pre>
  2449. </section>
  2450. <section id='commentnext'class='mt2 mb2 px3 py1 keyline-top'>
  2451. <div class='right py2'>
  2452. <span class="px2"></span>
  2453. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L271-L275'>
  2454. <span>lib/node.js</span>
  2455. </a>
  2456. </div>
  2457. <h3 class='regular'>
  2458. <a class='black' href='#commentnext'>
  2459. <code>
  2460. next
  2461. <span class='gray'>()</span>
  2462. </code>
  2463. </a>
  2464. </h3>
  2465. <p>Returns the next child of the node’s parent.
  2466. Returns <code>undefined</code> if the current node is the last child.</p>
  2467. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  2468. <code>(<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  2469. :
  2470. <span class='force-inline'>Next node.
  2471. </span>
  2472. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  2473. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">if</span> (comment.text === <span class="hljs-string">'delete next'</span>) {
  2474. <span class="hljs-keyword">const</span> next = comment.next()
  2475. <span class="hljs-keyword">if</span> (next) {
  2476. next.remove()
  2477. }
  2478. }</code></pre>
  2479. </section>
  2480. <section id='commentprev'class='mt2 mb2 px3 py1 keyline-top'>
  2481. <div class='right py2'>
  2482. <span class="px2"></span>
  2483. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L289-L293'>
  2484. <span>lib/node.js</span>
  2485. </a>
  2486. </div>
  2487. <h3 class='regular'>
  2488. <a class='black' href='#commentprev'>
  2489. <code>
  2490. prev
  2491. <span class='gray'>()</span>
  2492. </code>
  2493. </a>
  2494. </h3>
  2495. <p>Returns the previous child of the node’s parent.
  2496. Returns <code>undefined</code> if the current node is the first child.</p>
  2497. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  2498. <code>(<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  2499. :
  2500. <span class='force-inline'>Previous node.
  2501. </span>
  2502. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  2503. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> annotation = decl.prev()
  2504. <span class="hljs-keyword">if</span> (annotation.type === <span class="hljs-string">'comment'</span>) {
  2505. readAnnotation(annotation.text)
  2506. }</code></pre>
  2507. </section>
  2508. <section id='commentraw'class='mt2 mb2 px3 py1 keyline-top'>
  2509. <div class='right py2'>
  2510. <span class="px2"></span>
  2511. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L374-L377'>
  2512. <span>lib/node.js</span>
  2513. </a>
  2514. </div>
  2515. <h3 class='regular'>
  2516. <a class='black' href='#commentraw'>
  2517. <code>
  2518. raw
  2519. <span class='gray'>(prop, defaultType?)</span>
  2520. </code>
  2521. </a>
  2522. </h3>
  2523. <p>Returns a <a href="Node#raws">Node#raws</a> value. If the node is missing
  2524. the code style property (because the node was manually built or cloned),
  2525. PostCSS will try to autodetect the code style property by looking
  2526. at other nodes in the tree.</p>
  2527. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  2528. <thead class='fill-light'>
  2529. <th class='col-3 small caps quiet'>parameter</th>
  2530. <th class='col-3 small caps quiet'>type</th>
  2531. <th class='col-6 small caps quiet'>description</th>
  2532. </thead>
  2533. <tr>
  2534. <td class='col-3 strong'><code>prop</code></td>
  2535. <td class='col-3 quiet'>
  2536. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  2537. </td>
  2538. <td class='col-6'>Name of code style property.
  2539. </td>
  2540. </tr>
  2541. <tr>
  2542. <td class='col-3 strong'><code>defaultType</code></td>
  2543. <td class='col-3 quiet'>
  2544. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>?
  2545. </td>
  2546. <td class='col-6'>Name of default value, it can be missed
  2547. if the value is the same as prop.
  2548. </td>
  2549. </tr>
  2550. </table>
  2551. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  2552. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code>
  2553. :
  2554. <span class='force-inline'>Code style value.
  2555. </span>
  2556. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  2557. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> root = postcss.parse(<span class="hljs-string">'a { background: white }'</span>)
  2558. root.nodes[<span class="hljs-number">0</span>].append({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'color'</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'black'</span> })
  2559. root.nodes[<span class="hljs-number">0</span>].nodes[<span class="hljs-number">1</span>].raws.before <span class="hljs-comment">//=&gt; undefined</span>
  2560. root.nodes[<span class="hljs-number">0</span>].nodes[<span class="hljs-number">1</span>].raw(<span class="hljs-string">'before'</span>) <span class="hljs-comment">//=&gt; ' '</span></code></pre>
  2561. </section>
  2562. <section id='commentremove'class='mt2 mb2 px3 py1 keyline-top'>
  2563. <div class='right py2'>
  2564. <span class="px2"></span>
  2565. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L150-L156'>
  2566. <span>lib/node.js</span>
  2567. </a>
  2568. </div>
  2569. <h3 class='regular'>
  2570. <a class='black' href='#commentremove'>
  2571. <code>
  2572. remove
  2573. <span class='gray'>()</span>
  2574. </code>
  2575. </a>
  2576. </h3>
  2577. <p>Removes the node from its parent and cleans the parent properties
  2578. from the node and its children.</p>
  2579. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  2580. <code><a href="#node">Node</a></code>
  2581. :
  2582. <span class='force-inline'>Node to make calls chain.
  2583. </span>
  2584. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  2585. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">if</span> (decl.prop.match(<span class="hljs-regexp">/^-webkit-/</span>)) {
  2586. decl.remove()
  2587. }</code></pre>
  2588. </section>
  2589. <section id='commentreplacewith'class='mt2 mb2 px3 py1 keyline-top'>
  2590. <div class='right py2'>
  2591. <span class="px2"></span>
  2592. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L245-L255'>
  2593. <span>lib/node.js</span>
  2594. </a>
  2595. </div>
  2596. <h3 class='regular'>
  2597. <a class='black' href='#commentreplacewith'>
  2598. <code>
  2599. replaceWith
  2600. <span class='gray'>(nodes)</span>
  2601. </code>
  2602. </a>
  2603. </h3>
  2604. <p>Inserts node(s) before the current node and removes the current node.</p>
  2605. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  2606. <thead class='fill-light'>
  2607. <th class='col-3 small caps quiet'>parameter</th>
  2608. <th class='col-3 small caps quiet'>type</th>
  2609. <th class='col-6 small caps quiet'>description</th>
  2610. </thead>
  2611. <tr>
  2612. <td class='col-3 strong'><code>nodes</code></td>
  2613. <td class='col-3 quiet'>
  2614. ...<a href="#node">Node</a>
  2615. </td>
  2616. <td class='col-6'>Mode(s) to replace current one.
  2617. </td>
  2618. </tr>
  2619. </table>
  2620. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  2621. <code><a href="#node">Node</a></code>
  2622. :
  2623. <span class='force-inline'>Current node to methods chain.
  2624. </span>
  2625. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  2626. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">if</span> (atrule.name === <span class="hljs-string">'mixin'</span>) {
  2627. atrule.replaceWith(mixinRules[atrule.params])
  2628. }</code></pre>
  2629. </section>
  2630. <section id='commentroot'class='mt2 mb2 px3 py1 keyline-top'>
  2631. <div class='right py2'>
  2632. <span class="px2"></span>
  2633. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L387-L391'>
  2634. <span>lib/node.js</span>
  2635. </a>
  2636. </div>
  2637. <h3 class='regular'>
  2638. <a class='black' href='#commentroot'>
  2639. <code>
  2640. root
  2641. <span class='gray'>()</span>
  2642. </code>
  2643. </a>
  2644. </h3>
  2645. <p>Finds the Root instance of the node’s tree.</p>
  2646. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  2647. <code><a href="#root">Root</a></code>
  2648. :
  2649. <span class='force-inline'>Root parent.
  2650. </span>
  2651. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  2652. <pre class='p1 overflow-auto round fill-light'><code>root.nodes[<span class="hljs-number">0</span>].nodes[<span class="hljs-number">0</span>].root() === root</code></pre>
  2653. </section>
  2654. <section id='commenttostring'class='mt2 mb2 px3 py1 keyline-top'>
  2655. <div class='right py2'>
  2656. <span class="px2"></span>
  2657. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L169-L176'>
  2658. <span>lib/node.js</span>
  2659. </a>
  2660. </div>
  2661. <h3 class='regular'>
  2662. <a class='black' href='#commenttostring'>
  2663. <code>
  2664. toString
  2665. <span class='gray'>(stringifier = stringify)</span>
  2666. </code>
  2667. </a>
  2668. </h3>
  2669. <p>Returns a CSS string representing the node.</p>
  2670. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  2671. <thead class='fill-light'>
  2672. <th class='col-3 small caps quiet'>parameter</th>
  2673. <th class='col-3 small caps quiet'>type</th>
  2674. <th class='col-6 small caps quiet'>description</th>
  2675. </thead>
  2676. <tr>
  2677. <td class='col-3 strong'><code>stringifier</code></td>
  2678. <td class='col-3 quiet'>
  2679. (<a href="#stringifier">stringifier</a> | <a href="#syntax">syntax</a>)?
  2680. = <code>stringify</code>
  2681. </td>
  2682. <td class='col-6'>A syntax to use
  2683. in string generation.
  2684. </td>
  2685. </tr>
  2686. </table>
  2687. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  2688. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code>
  2689. :
  2690. <span class='force-inline'>CSS string of this node.
  2691. </span>
  2692. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  2693. <pre class='p1 overflow-auto round fill-light'><code>postcss.rule({ <span class="hljs-attr">selector</span>: <span class="hljs-string">'a'</span> }).toString() <span class="hljs-comment">//=&gt; "a {}"</span></code></pre>
  2694. </section>
  2695. <section id='commentwarn'class='mt2 mb2 px3 py1 keyline-top'>
  2696. <div class='right py2'>
  2697. <span class="px2"></span>
  2698. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L133-L137'>
  2699. <span>lib/node.js</span>
  2700. </a>
  2701. </div>
  2702. <h3 class='regular'>
  2703. <a class='black' href='#commentwarn'>
  2704. <code>
  2705. warn
  2706. <span class='gray'>(result, text, opts?)</span>
  2707. </code>
  2708. </a>
  2709. </h3>
  2710. <p>This method is provided as a convenience wrapper for <a href="#resultwarn">Result#warn</a>.</p>
  2711. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  2712. <thead class='fill-light'>
  2713. <th class='col-3 small caps quiet'>parameter</th>
  2714. <th class='col-3 small caps quiet'>type</th>
  2715. <th class='col-6 small caps quiet'>description</th>
  2716. </thead>
  2717. <tr>
  2718. <td class='col-3 strong'><code>result</code></td>
  2719. <td class='col-3 quiet'>
  2720. <a href="#result">Result</a>
  2721. </td>
  2722. <td class='col-6'>The
  2723. <a href="#result">Result</a>
  2724. instance
  2725. that will receive the warning.
  2726. </td>
  2727. </tr>
  2728. <tr>
  2729. <td class='col-3 strong'><code>text</code></td>
  2730. <td class='col-3 quiet'>
  2731. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  2732. </td>
  2733. <td class='col-6'>Warning message.
  2734. </td>
  2735. </tr>
  2736. <tr>
  2737. <td class='col-3 strong'><code>opts</code></td>
  2738. <td class='col-3 quiet'>
  2739. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>?
  2740. </td>
  2741. <td class='col-6'>Options
  2742. </td>
  2743. </tr>
  2744. <tr>
  2745. <td class='col-2 strong'>opts.plugin</td>
  2746. <td class="col-2 quiet">
  2747. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  2748. </td>
  2749. <td class='col-8'>Plugin name that created this warning.
  2750. PostCSS will set it automatically.
  2751. </td>
  2752. </tr>
  2753. <tr>
  2754. <td class='col-2 strong'>opts.word</td>
  2755. <td class="col-2 quiet">
  2756. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  2757. </td>
  2758. <td class='col-8'>A word inside a node’s string that should
  2759. be highlighted as the source of the warning.
  2760. </td>
  2761. </tr>
  2762. <tr>
  2763. <td class='col-2 strong'>opts.index</td>
  2764. <td class="col-2 quiet">
  2765. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>
  2766. </td>
  2767. <td class='col-8'>An index inside a node’s string that should
  2768. be highlighted as the source of the warning.
  2769. </td>
  2770. </tr>
  2771. </table>
  2772. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  2773. <code><a href="#warning">Warning</a></code>
  2774. :
  2775. <span class='force-inline'>Created warning object.
  2776. </span>
  2777. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  2778. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> plugin = postcss.plugin(<span class="hljs-string">'postcss-deprecated'</span>, () =&gt; {
  2779. <span class="hljs-keyword">return</span> <span class="hljs-function">(<span class="hljs-params">root, result</span>) =&gt;</span> {
  2780. root.walkDecls(<span class="hljs-string">'bad'</span>, decl =&gt; {
  2781. decl.warn(result, <span class="hljs-string">'Deprecated property bad'</span>)
  2782. })
  2783. }
  2784. })</code></pre>
  2785. </section>
  2786. </div>
  2787. </section>
  2788. <section id='container'class='mt2 mb2 px3 py1 keyline-top'>
  2789. <div class='right py2'>
  2790. <span class='font-smaller'>
  2791. Extends
  2792. <a href="#node">Node</a>
  2793. </span>
  2794. <span class="px2"></span>
  2795. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L25-L692'>
  2796. <span>lib/container.js</span>
  2797. </a>
  2798. </div>
  2799. <h3 class='regular'>
  2800. <a class='black' href='#container'>
  2801. <code>
  2802. Container
  2803. <span class='gray'>()</span>
  2804. </code>
  2805. </a>
  2806. </h3>
  2807. <p>The <a href="#root">Root</a>, <a href="#atrule">AtRule</a>, and <a href="#rule">Rule</a> container nodes
  2808. inherit some common methods to help work with their children.</p>
  2809. <p>Note that all containers can store any content. If you write a rule inside
  2810. a rule, PostCSS will parse it.</p>
  2811. <h4 class='caps quiet mb2 mt3'>Instance Members</h4>
  2812. <div class="section-indent">
  2813. <section id='containerafter'class='mt2 mb2 px3 py1 keyline-top'>
  2814. <div class='right py2'>
  2815. <span class="px2"></span>
  2816. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L324-L327'>
  2817. <span>lib/node.js</span>
  2818. </a>
  2819. </div>
  2820. <h3 class='regular'>
  2821. <a class='black' href='#containerafter'>
  2822. <code>
  2823. after
  2824. <span class='gray'>(add)</span>
  2825. </code>
  2826. </a>
  2827. </h3>
  2828. <p>Insert new node after current node to current node’s parent.</p>
  2829. <p>Just alias for <code>node.parent.insertAfter(node, add)</code>.</p>
  2830. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  2831. <thead class='fill-light'>
  2832. <th class='col-3 small caps quiet'>parameter</th>
  2833. <th class='col-3 small caps quiet'>type</th>
  2834. <th class='col-6 small caps quiet'>description</th>
  2835. </thead>
  2836. <tr>
  2837. <td class='col-3 strong'><code>add</code></td>
  2838. <td class='col-3 quiet'>
  2839. (<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="#node">Node</a>>)
  2840. </td>
  2841. <td class='col-6'>New node.
  2842. </td>
  2843. </tr>
  2844. </table>
  2845. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  2846. <code><a href="#node">Node</a></code>
  2847. :
  2848. <span class='force-inline'>This node for methods chain.
  2849. </span>
  2850. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  2851. <pre class='p1 overflow-auto round fill-light'><code>decl.after(<span class="hljs-string">'color: black'</span>)</code></pre>
  2852. </section>
  2853. <section id='containerappend'class='mt2 mb2 px3 py1 keyline-top'>
  2854. <div class='right py2'>
  2855. <span class="px2"></span>
  2856. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L324-L333'>
  2857. <span>lib/container.js</span>
  2858. </a>
  2859. </div>
  2860. <h3 class='regular'>
  2861. <a class='black' href='#containerappend'>
  2862. <code>
  2863. append
  2864. <span class='gray'>(children)</span>
  2865. </code>
  2866. </a>
  2867. </h3>
  2868. <p>Inserts new nodes to the end of the container.</p>
  2869. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  2870. <thead class='fill-light'>
  2871. <th class='col-3 small caps quiet'>parameter</th>
  2872. <th class='col-3 small caps quiet'>type</th>
  2873. <th class='col-6 small caps quiet'>description</th>
  2874. </thead>
  2875. <tr>
  2876. <td class='col-3 strong'><code>children</code></td>
  2877. <td class='col-3 quiet'>
  2878. ...(<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="#node">Node</a>>)
  2879. </td>
  2880. <td class='col-6'>New nodes.
  2881. </td>
  2882. </tr>
  2883. </table>
  2884. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  2885. <code><a href="#node">Node</a></code>
  2886. :
  2887. <span class='force-inline'>This node for methods chain.
  2888. </span>
  2889. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  2890. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> decl1 = postcss.decl({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'color'</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'black'</span> })
  2891. <span class="hljs-keyword">const</span> decl2 = postcss.decl({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'background-color'</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'white'</span> })
  2892. rule.append(decl1, decl2)
  2893. root.append({ <span class="hljs-attr">name</span>: <span class="hljs-string">'charset'</span>, <span class="hljs-attr">params</span>: <span class="hljs-string">'"UTF-8"'</span> }) <span class="hljs-comment">// at-rule</span>
  2894. root.append({ <span class="hljs-attr">selector</span>: <span class="hljs-string">'a'</span> }) <span class="hljs-comment">// rule</span>
  2895. rule.append({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'color'</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'black'</span> }) <span class="hljs-comment">// declaration</span>
  2896. rule.append({ <span class="hljs-attr">text</span>: <span class="hljs-string">'Comment'</span> }) <span class="hljs-comment">// comment</span>
  2897. root.append(<span class="hljs-string">'a {}'</span>)
  2898. root.first.append(<span class="hljs-string">'color: black; z-index: 1'</span>)</code></pre>
  2899. </section>
  2900. <section id='containerbefore'class='mt2 mb2 px3 py1 keyline-top'>
  2901. <div class='right py2'>
  2902. <span class="px2"></span>
  2903. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L307-L310'>
  2904. <span>lib/node.js</span>
  2905. </a>
  2906. </div>
  2907. <h3 class='regular'>
  2908. <a class='black' href='#containerbefore'>
  2909. <code>
  2910. before
  2911. <span class='gray'>(add)</span>
  2912. </code>
  2913. </a>
  2914. </h3>
  2915. <p>Insert new node before current node to current node’s parent.</p>
  2916. <p>Just alias for <code>node.parent.insertBefore(node, add)</code>.</p>
  2917. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  2918. <thead class='fill-light'>
  2919. <th class='col-3 small caps quiet'>parameter</th>
  2920. <th class='col-3 small caps quiet'>type</th>
  2921. <th class='col-6 small caps quiet'>description</th>
  2922. </thead>
  2923. <tr>
  2924. <td class='col-3 strong'><code>add</code></td>
  2925. <td class='col-3 quiet'>
  2926. (<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="#node">Node</a>>)
  2927. </td>
  2928. <td class='col-6'>New node.
  2929. </td>
  2930. </tr>
  2931. </table>
  2932. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  2933. <code><a href="#node">Node</a></code>
  2934. :
  2935. <span class='force-inline'>This node for methods chain.
  2936. </span>
  2937. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  2938. <pre class='p1 overflow-auto round fill-light'><code>decl.before(<span class="hljs-string">'content: ""'</span>)</code></pre>
  2939. </section>
  2940. <section id='containercleanraws'class='mt2 mb2 px3 py1 keyline-top'>
  2941. <div class='right py2'>
  2942. <span class="px2"></span>
  2943. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L405-L409'>
  2944. <span>lib/node.js</span>
  2945. </a>
  2946. </div>
  2947. <h3 class='regular'>
  2948. <a class='black' href='#containercleanraws'>
  2949. <code>
  2950. cleanRaws
  2951. <span class='gray'>(keepBetween?)</span>
  2952. </code>
  2953. </a>
  2954. </h3>
  2955. <p>Clear the code style properties for the node and its children.</p>
  2956. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  2957. <thead class='fill-light'>
  2958. <th class='col-3 small caps quiet'>parameter</th>
  2959. <th class='col-3 small caps quiet'>type</th>
  2960. <th class='col-6 small caps quiet'>description</th>
  2961. </thead>
  2962. <tr>
  2963. <td class='col-3 strong'><code>keepBetween</code></td>
  2964. <td class='col-3 quiet'>
  2965. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>?
  2966. </td>
  2967. <td class='col-6'>Keep the raws.between symbols.
  2968. </td>
  2969. </tr>
  2970. </table>
  2971. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  2972. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a></code>
  2973. :
  2974. <span class='force-inline'>
  2975. </span>
  2976. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  2977. <pre class='p1 overflow-auto round fill-light'><code>node.raws.before <span class="hljs-comment">//=&gt; ' '</span>
  2978. node.cleanRaws()
  2979. node.raws.before <span class="hljs-comment">//=&gt; undefined</span></code></pre>
  2980. </section>
  2981. <section id='containerclone'class='mt2 mb2 px3 py1 keyline-top'>
  2982. <div class='right py2'>
  2983. <span class="px2"></span>
  2984. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L194-L200'>
  2985. <span>lib/node.js</span>
  2986. </a>
  2987. </div>
  2988. <h3 class='regular'>
  2989. <a class='black' href='#containerclone'>
  2990. <code>
  2991. clone
  2992. <span class='gray'>(overrides = {})</span>
  2993. </code>
  2994. </a>
  2995. </h3>
  2996. <p>Returns an exact clone of the node.</p>
  2997. <p>The resulting cloned node and its (cloned) children will retain
  2998. code style properties.</p>
  2999. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  3000. <thead class='fill-light'>
  3001. <th class='col-3 small caps quiet'>parameter</th>
  3002. <th class='col-3 small caps quiet'>type</th>
  3003. <th class='col-6 small caps quiet'>description</th>
  3004. </thead>
  3005. <tr>
  3006. <td class='col-3 strong'><code>overrides</code></td>
  3007. <td class='col-3 quiet'>
  3008. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>?
  3009. = <code>{}</code>
  3010. </td>
  3011. <td class='col-6'>New properties to override in the clone.
  3012. </td>
  3013. </tr>
  3014. </table>
  3015. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  3016. <code><a href="#node">Node</a></code>
  3017. :
  3018. <span class='force-inline'>Clone of the node.
  3019. </span>
  3020. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  3021. <pre class='p1 overflow-auto round fill-light'><code>decl.raws.before <span class="hljs-comment">//=&gt; "\n "</span>
  3022. <span class="hljs-keyword">const</span> cloned = decl.clone({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'-moz-'</span> + decl.prop })
  3023. cloned.raws.before <span class="hljs-comment">//=&gt; "\n "</span>
  3024. cloned.toString() <span class="hljs-comment">//=&gt; -moz-transform: scale(0)</span></code></pre>
  3025. </section>
  3026. <section id='containercloneafter'class='mt2 mb2 px3 py1 keyline-top'>
  3027. <div class='right py2'>
  3028. <span class="px2"></span>
  3029. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L227-L231'>
  3030. <span>lib/node.js</span>
  3031. </a>
  3032. </div>
  3033. <h3 class='regular'>
  3034. <a class='black' href='#containercloneafter'>
  3035. <code>
  3036. cloneAfter
  3037. <span class='gray'>(overrides = {})</span>
  3038. </code>
  3039. </a>
  3040. </h3>
  3041. <p>Shortcut to clone the node and insert the resulting cloned node
  3042. after the current node.</p>
  3043. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  3044. <thead class='fill-light'>
  3045. <th class='col-3 small caps quiet'>parameter</th>
  3046. <th class='col-3 small caps quiet'>type</th>
  3047. <th class='col-6 small caps quiet'>description</th>
  3048. </thead>
  3049. <tr>
  3050. <td class='col-3 strong'><code>overrides</code></td>
  3051. <td class='col-3 quiet'>
  3052. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>?
  3053. = <code>{}</code>
  3054. </td>
  3055. <td class='col-6'>New properties to override in the clone.
  3056. </td>
  3057. </tr>
  3058. </table>
  3059. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  3060. <code><a href="#node">Node</a></code>
  3061. :
  3062. <span class='force-inline'>New node.
  3063. </span>
  3064. </section>
  3065. <section id='containerclonebefore'class='mt2 mb2 px3 py1 keyline-top'>
  3066. <div class='right py2'>
  3067. <span class="px2"></span>
  3068. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L213-L217'>
  3069. <span>lib/node.js</span>
  3070. </a>
  3071. </div>
  3072. <h3 class='regular'>
  3073. <a class='black' href='#containerclonebefore'>
  3074. <code>
  3075. cloneBefore
  3076. <span class='gray'>(overrides = {})</span>
  3077. </code>
  3078. </a>
  3079. </h3>
  3080. <p>Shortcut to clone the node and insert the resulting cloned node
  3081. before the current node.</p>
  3082. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  3083. <thead class='fill-light'>
  3084. <th class='col-3 small caps quiet'>parameter</th>
  3085. <th class='col-3 small caps quiet'>type</th>
  3086. <th class='col-6 small caps quiet'>description</th>
  3087. </thead>
  3088. <tr>
  3089. <td class='col-3 strong'><code>overrides</code></td>
  3090. <td class='col-3 quiet'>
  3091. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>?
  3092. = <code>{}</code>
  3093. </td>
  3094. <td class='col-6'>Mew properties to override in the clone.
  3095. </td>
  3096. </tr>
  3097. </table>
  3098. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  3099. <code><a href="#node">Node</a></code>
  3100. :
  3101. <span class='force-inline'>New node
  3102. </span>
  3103. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  3104. <pre class='p1 overflow-auto round fill-light'><code>decl.cloneBefore({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'-moz-'</span> + decl.prop })</code></pre>
  3105. </section>
  3106. <section id='containereach'class='mt2 mb2 px3 py1 keyline-top'>
  3107. <div class='right py2'>
  3108. <span class="px2"></span>
  3109. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L65-L91'>
  3110. <span>lib/container.js</span>
  3111. </a>
  3112. </div>
  3113. <h3 class='regular'>
  3114. <a class='black' href='#containereach'>
  3115. <code>
  3116. each
  3117. <span class='gray'>(callback)</span>
  3118. </code>
  3119. </a>
  3120. </h3>
  3121. <p>Iterates through the container’s immediate children,
  3122. calling <code>callback</code> for each child.</p>
  3123. <p>Returning <code>false</code> in the callback will break iteration.</p>
  3124. <p>This method only iterates through the container’s immediate children.
  3125. If you need to recursively iterate through all the container’s descendant
  3126. nodes, use <a href="#containerwalk">Container#walk</a>.</p>
  3127. <p>Unlike the for <code>{}</code>-cycle or <code>Array#forEach</code> this iterator is safe
  3128. if you are mutating the array of child nodes during iteration.
  3129. PostCSS will adjust the current index to match the mutations.</p>
  3130. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  3131. <thead class='fill-light'>
  3132. <th class='col-3 small caps quiet'>parameter</th>
  3133. <th class='col-3 small caps quiet'>type</th>
  3134. <th class='col-6 small caps quiet'>description</th>
  3135. </thead>
  3136. <tr>
  3137. <td class='col-3 strong'><code>callback</code></td>
  3138. <td class='col-3 quiet'>
  3139. <a href="#childiterator">childIterator</a>
  3140. </td>
  3141. <td class='col-6'>Iterator receives each node and index.
  3142. </td>
  3143. </tr>
  3144. </table>
  3145. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  3146. <code>(<code>false</code> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  3147. :
  3148. <span class='force-inline'>Returns
  3149. <code>false</code>
  3150. if iteration was broke.
  3151. </span>
  3152. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  3153. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> root = postcss.parse(<span class="hljs-string">'a { color: black; z-index: 1 }'</span>)
  3154. <span class="hljs-keyword">const</span> rule = root.first
  3155. <span class="hljs-keyword">for</span> (<span class="hljs-keyword">const</span> decl <span class="hljs-keyword">of</span> rule.nodes) {
  3156. decl.cloneBefore({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'-webkit-'</span> + decl.prop })
  3157. <span class="hljs-comment">// Cycle will be infinite, because cloneBefore moves the current node</span>
  3158. <span class="hljs-comment">// to the next index</span>
  3159. }
  3160. rule.each(<span class="hljs-function"><span class="hljs-params">decl</span> =&gt;</span> {
  3161. decl.cloneBefore({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'-webkit-'</span> + decl.prop })
  3162. <span class="hljs-comment">// Will be executed only for color and z-index</span>
  3163. })</code></pre>
  3164. </section>
  3165. <section id='containererror'class='mt2 mb2 px3 py1 keyline-top'>
  3166. <div class='right py2'>
  3167. <span class="px2"></span>
  3168. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L100-L106'>
  3169. <span>lib/node.js</span>
  3170. </a>
  3171. </div>
  3172. <h3 class='regular'>
  3173. <a class='black' href='#containererror'>
  3174. <code>
  3175. error
  3176. <span class='gray'>(message, opts = {})</span>
  3177. </code>
  3178. </a>
  3179. </h3>
  3180. <p>Returns a <code>CssSyntaxError</code> instance containing the original position
  3181. of the node in the source, showing line and column numbers and also
  3182. a small excerpt to facilitate debugging.</p>
  3183. <p>If present, an input source map will be used to get the original position
  3184. of the source, even from a previous compilation step
  3185. (e.g., from Sass compilation).</p>
  3186. <p>This method produces very useful error messages.</p>
  3187. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  3188. <thead class='fill-light'>
  3189. <th class='col-3 small caps quiet'>parameter</th>
  3190. <th class='col-3 small caps quiet'>type</th>
  3191. <th class='col-6 small caps quiet'>description</th>
  3192. </thead>
  3193. <tr>
  3194. <td class='col-3 strong'><code>message</code></td>
  3195. <td class='col-3 quiet'>
  3196. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  3197. </td>
  3198. <td class='col-6'>Error description.
  3199. </td>
  3200. </tr>
  3201. <tr>
  3202. <td class='col-3 strong'><code>opts</code></td>
  3203. <td class='col-3 quiet'>
  3204. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>?
  3205. = <code>{}</code>
  3206. </td>
  3207. <td class='col-6'>Options.
  3208. </td>
  3209. </tr>
  3210. <tr>
  3211. <td class='col-2 strong'>opts.plugin</td>
  3212. <td class="col-2 quiet">
  3213. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  3214. </td>
  3215. <td class='col-8'>Plugin name that created this error.
  3216. PostCSS will set it automatically.
  3217. </td>
  3218. </tr>
  3219. <tr>
  3220. <td class='col-2 strong'>opts.word</td>
  3221. <td class="col-2 quiet">
  3222. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  3223. </td>
  3224. <td class='col-8'>A word inside a node’s string that should
  3225. be highlighted as the source of the error.
  3226. </td>
  3227. </tr>
  3228. <tr>
  3229. <td class='col-2 strong'>opts.index</td>
  3230. <td class="col-2 quiet">
  3231. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>
  3232. </td>
  3233. <td class='col-8'>An index inside a node’s string that should
  3234. be highlighted as the source of the error.
  3235. </td>
  3236. </tr>
  3237. </table>
  3238. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  3239. <code><a href="#csssyntaxerror">CssSyntaxError</a></code>
  3240. :
  3241. <span class='force-inline'>Error object to throw it.
  3242. </span>
  3243. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  3244. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">if</span> (!variables[name]) {
  3245. <span class="hljs-keyword">throw</span> decl.error(<span class="hljs-string">'Unknown variable '</span> + name, { <span class="hljs-attr">word</span>: name })
  3246. <span class="hljs-comment">// CssSyntaxError: postcss-vars:a.sass:4:3: Unknown variable $black</span>
  3247. <span class="hljs-comment">// color: $black</span>
  3248. <span class="hljs-comment">// a</span>
  3249. <span class="hljs-comment">// ^</span>
  3250. <span class="hljs-comment">// background: white</span>
  3251. }</code></pre>
  3252. </section>
  3253. <section id='containerevery'class='mt2 mb2 px3 py1 keyline-top'>
  3254. <div class='right py2'>
  3255. <span class="px2"></span>
  3256. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L541-L543'>
  3257. <span>lib/container.js</span>
  3258. </a>
  3259. </div>
  3260. <h3 class='regular'>
  3261. <a class='black' href='#containerevery'>
  3262. <code>
  3263. every
  3264. <span class='gray'>(condition)</span>
  3265. </code>
  3266. </a>
  3267. </h3>
  3268. <p>Returns <code>true</code> if callback returns <code>true</code>
  3269. for all of the container’s children.</p>
  3270. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  3271. <thead class='fill-light'>
  3272. <th class='col-3 small caps quiet'>parameter</th>
  3273. <th class='col-3 small caps quiet'>type</th>
  3274. <th class='col-6 small caps quiet'>description</th>
  3275. </thead>
  3276. <tr>
  3277. <td class='col-3 strong'><code>condition</code></td>
  3278. <td class='col-3 quiet'>
  3279. <a href="#childcondition">childCondition</a>
  3280. </td>
  3281. <td class='col-6'>Iterator returns true or false.
  3282. </td>
  3283. </tr>
  3284. </table>
  3285. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  3286. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code>
  3287. :
  3288. <span class='force-inline'>Is every child pass condition.
  3289. </span>
  3290. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  3291. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> noPrefixes = rule.every(<span class="hljs-function"><span class="hljs-params">i</span> =&gt;</span> i.prop[<span class="hljs-number">0</span>] !== <span class="hljs-string">'-'</span>)</code></pre>
  3292. </section>
  3293. <section id='containerfirst'class='mt2 mb2 px3 py1 keyline-top'>
  3294. <div class='right py2'>
  3295. <span class="px2"></span>
  3296. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L584-L587'>
  3297. <span>lib/container.js</span>
  3298. </a>
  3299. </div>
  3300. <h3 class='regular'>
  3301. <a class='black' href='#containerfirst'>
  3302. <code>
  3303. first
  3304. <span class='gray'>()</span>
  3305. </code>
  3306. </a>
  3307. </h3>
  3308. <p>The container’s first child.</p>
  3309. <p>
  3310. Type:
  3311. <a href="#node">Node</a>
  3312. </p>
  3313. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  3314. <pre class='p1 overflow-auto round fill-light'><code>rule.first === rules.nodes[<span class="hljs-number">0</span>]</code></pre>
  3315. </section>
  3316. <section id='containerindex'class='mt2 mb2 px3 py1 keyline-top'>
  3317. <div class='right py2'>
  3318. <span class="px2"></span>
  3319. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L570-L574'>
  3320. <span>lib/container.js</span>
  3321. </a>
  3322. </div>
  3323. <h3 class='regular'>
  3324. <a class='black' href='#containerindex'>
  3325. <code>
  3326. index
  3327. <span class='gray'>(child)</span>
  3328. </code>
  3329. </a>
  3330. </h3>
  3331. <p>Returns a <code>child</code>’s index within the <a href="Container#nodes">Container#nodes</a> array.</p>
  3332. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  3333. <thead class='fill-light'>
  3334. <th class='col-3 small caps quiet'>parameter</th>
  3335. <th class='col-3 small caps quiet'>type</th>
  3336. <th class='col-6 small caps quiet'>description</th>
  3337. </thead>
  3338. <tr>
  3339. <td class='col-3 strong'><code>child</code></td>
  3340. <td class='col-3 quiet'>
  3341. <a href="#node">Node</a>
  3342. </td>
  3343. <td class='col-6'>Child of the current container.
  3344. </td>
  3345. </tr>
  3346. </table>
  3347. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  3348. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code>
  3349. :
  3350. <span class='force-inline'>Child index.
  3351. </span>
  3352. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  3353. <pre class='p1 overflow-auto round fill-light'><code>rule.index( rule.nodes[<span class="hljs-number">2</span>] ) <span class="hljs-comment">//=&gt; 2</span></code></pre>
  3354. </section>
  3355. <section id='containerinsertafter'class='mt2 mb2 px3 py1 keyline-top'>
  3356. <div class='right py2'>
  3357. <span class="px2"></span>
  3358. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L416-L433'>
  3359. <span>lib/container.js</span>
  3360. </a>
  3361. </div>
  3362. <h3 class='regular'>
  3363. <a class='black' href='#containerinsertafter'>
  3364. <code>
  3365. insertAfter
  3366. <span class='gray'>(exist, add)</span>
  3367. </code>
  3368. </a>
  3369. </h3>
  3370. <p>Insert new node after old node within the container.</p>
  3371. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  3372. <thead class='fill-light'>
  3373. <th class='col-3 small caps quiet'>parameter</th>
  3374. <th class='col-3 small caps quiet'>type</th>
  3375. <th class='col-6 small caps quiet'>description</th>
  3376. </thead>
  3377. <tr>
  3378. <td class='col-3 strong'><code>exist</code></td>
  3379. <td class='col-3 quiet'>
  3380. (<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>)
  3381. </td>
  3382. <td class='col-6'>Child or child’s index.
  3383. </td>
  3384. </tr>
  3385. <tr>
  3386. <td class='col-3 strong'><code>add</code></td>
  3387. <td class='col-3 quiet'>
  3388. (<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="#node">Node</a>>)
  3389. </td>
  3390. <td class='col-6'>New node.
  3391. </td>
  3392. </tr>
  3393. </table>
  3394. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  3395. <code><a href="#node">Node</a></code>
  3396. :
  3397. <span class='force-inline'>This node for methods chain.
  3398. </span>
  3399. </section>
  3400. <section id='containerinsertbefore'class='mt2 mb2 px3 py1 keyline-top'>
  3401. <div class='right py2'>
  3402. <span class="px2"></span>
  3403. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L388-L406'>
  3404. <span>lib/container.js</span>
  3405. </a>
  3406. </div>
  3407. <h3 class='regular'>
  3408. <a class='black' href='#containerinsertbefore'>
  3409. <code>
  3410. insertBefore
  3411. <span class='gray'>(exist, add)</span>
  3412. </code>
  3413. </a>
  3414. </h3>
  3415. <p>Insert new node before old node within the container.</p>
  3416. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  3417. <thead class='fill-light'>
  3418. <th class='col-3 small caps quiet'>parameter</th>
  3419. <th class='col-3 small caps quiet'>type</th>
  3420. <th class='col-6 small caps quiet'>description</th>
  3421. </thead>
  3422. <tr>
  3423. <td class='col-3 strong'><code>exist</code></td>
  3424. <td class='col-3 quiet'>
  3425. (<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>)
  3426. </td>
  3427. <td class='col-6'>Child or child’s index.
  3428. </td>
  3429. </tr>
  3430. <tr>
  3431. <td class='col-3 strong'><code>add</code></td>
  3432. <td class='col-3 quiet'>
  3433. (<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="#node">Node</a>>)
  3434. </td>
  3435. <td class='col-6'>New node.
  3436. </td>
  3437. </tr>
  3438. </table>
  3439. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  3440. <code><a href="#node">Node</a></code>
  3441. :
  3442. <span class='force-inline'>This node for methods chain.
  3443. </span>
  3444. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  3445. <pre class='p1 overflow-auto round fill-light'><code>rule.insertBefore(decl, decl.clone({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'-webkit-'</span> + decl.prop }))</code></pre>
  3446. </section>
  3447. <section id='containerlast'class='mt2 mb2 px3 py1 keyline-top'>
  3448. <div class='right py2'>
  3449. <span class="px2"></span>
  3450. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L597-L600'>
  3451. <span>lib/container.js</span>
  3452. </a>
  3453. </div>
  3454. <h3 class='regular'>
  3455. <a class='black' href='#containerlast'>
  3456. <code>
  3457. last
  3458. <span class='gray'>()</span>
  3459. </code>
  3460. </a>
  3461. </h3>
  3462. <p>The container’s last child.</p>
  3463. <p>
  3464. Type:
  3465. <a href="#node">Node</a>
  3466. </p>
  3467. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  3468. <pre class='p1 overflow-auto round fill-light'><code>rule.last === rule.nodes[rule.nodes.length - <span class="hljs-number">1</span>]</code></pre>
  3469. </section>
  3470. <section id='containernext'class='mt2 mb2 px3 py1 keyline-top'>
  3471. <div class='right py2'>
  3472. <span class="px2"></span>
  3473. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L271-L275'>
  3474. <span>lib/node.js</span>
  3475. </a>
  3476. </div>
  3477. <h3 class='regular'>
  3478. <a class='black' href='#containernext'>
  3479. <code>
  3480. next
  3481. <span class='gray'>()</span>
  3482. </code>
  3483. </a>
  3484. </h3>
  3485. <p>Returns the next child of the node’s parent.
  3486. Returns <code>undefined</code> if the current node is the last child.</p>
  3487. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  3488. <code>(<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  3489. :
  3490. <span class='force-inline'>Next node.
  3491. </span>
  3492. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  3493. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">if</span> (comment.text === <span class="hljs-string">'delete next'</span>) {
  3494. <span class="hljs-keyword">const</span> next = comment.next()
  3495. <span class="hljs-keyword">if</span> (next) {
  3496. next.remove()
  3497. }
  3498. }</code></pre>
  3499. </section>
  3500. <section id='containerprepend'class='mt2 mb2 px3 py1 keyline-top'>
  3501. <div class='right py2'>
  3502. <span class="px2"></span>
  3503. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L355-L368'>
  3504. <span>lib/container.js</span>
  3505. </a>
  3506. </div>
  3507. <h3 class='regular'>
  3508. <a class='black' href='#containerprepend'>
  3509. <code>
  3510. prepend
  3511. <span class='gray'>(children)</span>
  3512. </code>
  3513. </a>
  3514. </h3>
  3515. <p>Inserts new nodes to the start of the container.</p>
  3516. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  3517. <thead class='fill-light'>
  3518. <th class='col-3 small caps quiet'>parameter</th>
  3519. <th class='col-3 small caps quiet'>type</th>
  3520. <th class='col-6 small caps quiet'>description</th>
  3521. </thead>
  3522. <tr>
  3523. <td class='col-3 strong'><code>children</code></td>
  3524. <td class='col-3 quiet'>
  3525. ...(<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="#node">Node</a>>)
  3526. </td>
  3527. <td class='col-6'>New nodes.
  3528. </td>
  3529. </tr>
  3530. </table>
  3531. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  3532. <code><a href="#node">Node</a></code>
  3533. :
  3534. <span class='force-inline'>This node for methods chain.
  3535. </span>
  3536. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  3537. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> decl1 = postcss.decl({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'color'</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'black'</span> })
  3538. <span class="hljs-keyword">const</span> decl2 = postcss.decl({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'background-color'</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'white'</span> })
  3539. rule.prepend(decl1, decl2)
  3540. root.append({ <span class="hljs-attr">name</span>: <span class="hljs-string">'charset'</span>, <span class="hljs-attr">params</span>: <span class="hljs-string">'"UTF-8"'</span> }) <span class="hljs-comment">// at-rule</span>
  3541. root.append({ <span class="hljs-attr">selector</span>: <span class="hljs-string">'a'</span> }) <span class="hljs-comment">// rule</span>
  3542. rule.append({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'color'</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'black'</span> }) <span class="hljs-comment">// declaration</span>
  3543. rule.append({ <span class="hljs-attr">text</span>: <span class="hljs-string">'Comment'</span> }) <span class="hljs-comment">// comment</span>
  3544. root.append(<span class="hljs-string">'a {}'</span>)
  3545. root.first.append(<span class="hljs-string">'color: black; z-index: 1'</span>)</code></pre>
  3546. </section>
  3547. <section id='containerprev'class='mt2 mb2 px3 py1 keyline-top'>
  3548. <div class='right py2'>
  3549. <span class="px2"></span>
  3550. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L289-L293'>
  3551. <span>lib/node.js</span>
  3552. </a>
  3553. </div>
  3554. <h3 class='regular'>
  3555. <a class='black' href='#containerprev'>
  3556. <code>
  3557. prev
  3558. <span class='gray'>()</span>
  3559. </code>
  3560. </a>
  3561. </h3>
  3562. <p>Returns the previous child of the node’s parent.
  3563. Returns <code>undefined</code> if the current node is the first child.</p>
  3564. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  3565. <code>(<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  3566. :
  3567. <span class='force-inline'>Previous node.
  3568. </span>
  3569. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  3570. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> annotation = decl.prev()
  3571. <span class="hljs-keyword">if</span> (annotation.type === <span class="hljs-string">'comment'</span>) {
  3572. readAnnotation(annotation.text)
  3573. }</code></pre>
  3574. </section>
  3575. <section id='containerraw'class='mt2 mb2 px3 py1 keyline-top'>
  3576. <div class='right py2'>
  3577. <span class="px2"></span>
  3578. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L374-L377'>
  3579. <span>lib/node.js</span>
  3580. </a>
  3581. </div>
  3582. <h3 class='regular'>
  3583. <a class='black' href='#containerraw'>
  3584. <code>
  3585. raw
  3586. <span class='gray'>(prop, defaultType?)</span>
  3587. </code>
  3588. </a>
  3589. </h3>
  3590. <p>Returns a <a href="Node#raws">Node#raws</a> value. If the node is missing
  3591. the code style property (because the node was manually built or cloned),
  3592. PostCSS will try to autodetect the code style property by looking
  3593. at other nodes in the tree.</p>
  3594. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  3595. <thead class='fill-light'>
  3596. <th class='col-3 small caps quiet'>parameter</th>
  3597. <th class='col-3 small caps quiet'>type</th>
  3598. <th class='col-6 small caps quiet'>description</th>
  3599. </thead>
  3600. <tr>
  3601. <td class='col-3 strong'><code>prop</code></td>
  3602. <td class='col-3 quiet'>
  3603. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  3604. </td>
  3605. <td class='col-6'>Name of code style property.
  3606. </td>
  3607. </tr>
  3608. <tr>
  3609. <td class='col-3 strong'><code>defaultType</code></td>
  3610. <td class='col-3 quiet'>
  3611. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>?
  3612. </td>
  3613. <td class='col-6'>Name of default value, it can be missed
  3614. if the value is the same as prop.
  3615. </td>
  3616. </tr>
  3617. </table>
  3618. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  3619. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code>
  3620. :
  3621. <span class='force-inline'>Code style value.
  3622. </span>
  3623. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  3624. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> root = postcss.parse(<span class="hljs-string">'a { background: white }'</span>)
  3625. root.nodes[<span class="hljs-number">0</span>].append({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'color'</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'black'</span> })
  3626. root.nodes[<span class="hljs-number">0</span>].nodes[<span class="hljs-number">1</span>].raws.before <span class="hljs-comment">//=&gt; undefined</span>
  3627. root.nodes[<span class="hljs-number">0</span>].nodes[<span class="hljs-number">1</span>].raw(<span class="hljs-string">'before'</span>) <span class="hljs-comment">//=&gt; ' '</span></code></pre>
  3628. </section>
  3629. <section id='containerremove'class='mt2 mb2 px3 py1 keyline-top'>
  3630. <div class='right py2'>
  3631. <span class="px2"></span>
  3632. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L150-L156'>
  3633. <span>lib/node.js</span>
  3634. </a>
  3635. </div>
  3636. <h3 class='regular'>
  3637. <a class='black' href='#containerremove'>
  3638. <code>
  3639. remove
  3640. <span class='gray'>()</span>
  3641. </code>
  3642. </a>
  3643. </h3>
  3644. <p>Removes the node from its parent and cleans the parent properties
  3645. from the node and its children.</p>
  3646. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  3647. <code><a href="#node">Node</a></code>
  3648. :
  3649. <span class='force-inline'>Node to make calls chain.
  3650. </span>
  3651. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  3652. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">if</span> (decl.prop.match(<span class="hljs-regexp">/^-webkit-/</span>)) {
  3653. decl.remove()
  3654. }</code></pre>
  3655. </section>
  3656. <section id='containerremoveall'class='mt2 mb2 px3 py1 keyline-top'>
  3657. <div class='right py2'>
  3658. <span class="px2"></span>
  3659. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L477-L484'>
  3660. <span>lib/container.js</span>
  3661. </a>
  3662. </div>
  3663. <h3 class='regular'>
  3664. <a class='black' href='#containerremoveall'>
  3665. <code>
  3666. removeAll
  3667. <span class='gray'>()</span>
  3668. </code>
  3669. </a>
  3670. </h3>
  3671. <p>Removes all children from the container
  3672. and cleans their parent properties.</p>
  3673. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  3674. <code><a href="#node">Node</a></code>
  3675. :
  3676. <span class='force-inline'>This node for methods chain.
  3677. </span>
  3678. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  3679. <pre class='p1 overflow-auto round fill-light'><code>rule.removeAll()
  3680. rule.nodes.length <span class="hljs-comment">//=&gt; 0</span></code></pre>
  3681. </section>
  3682. <section id='containerremovechild'class='mt2 mb2 px3 py1 keyline-top'>
  3683. <div class='right py2'>
  3684. <span class="px2"></span>
  3685. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L449-L465'>
  3686. <span>lib/container.js</span>
  3687. </a>
  3688. </div>
  3689. <h3 class='regular'>
  3690. <a class='black' href='#containerremovechild'>
  3691. <code>
  3692. removeChild
  3693. <span class='gray'>(child)</span>
  3694. </code>
  3695. </a>
  3696. </h3>
  3697. <p>Removes node from the container and cleans the parent properties
  3698. from the node and its children.</p>
  3699. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  3700. <thead class='fill-light'>
  3701. <th class='col-3 small caps quiet'>parameter</th>
  3702. <th class='col-3 small caps quiet'>type</th>
  3703. <th class='col-6 small caps quiet'>description</th>
  3704. </thead>
  3705. <tr>
  3706. <td class='col-3 strong'><code>child</code></td>
  3707. <td class='col-3 quiet'>
  3708. (<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>)
  3709. </td>
  3710. <td class='col-6'>Child or child’s index.
  3711. </td>
  3712. </tr>
  3713. </table>
  3714. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  3715. <code><a href="#node">Node</a></code>
  3716. :
  3717. <span class='force-inline'>This node for methods chain
  3718. </span>
  3719. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  3720. <pre class='p1 overflow-auto round fill-light'><code>rule.nodes.length <span class="hljs-comment">//=&gt; 5</span>
  3721. rule.removeChild(decl)
  3722. rule.nodes.length <span class="hljs-comment">//=&gt; 4</span>
  3723. decl.parent <span class="hljs-comment">//=&gt; undefined</span></code></pre>
  3724. </section>
  3725. <section id='containerreplacevalues'class='mt2 mb2 px3 py1 keyline-top'>
  3726. <div class='right py2'>
  3727. <span class="px2"></span>
  3728. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L512-L528'>
  3729. <span>lib/container.js</span>
  3730. </a>
  3731. </div>
  3732. <h3 class='regular'>
  3733. <a class='black' href='#containerreplacevalues'>
  3734. <code>
  3735. replaceValues
  3736. <span class='gray'>(pattern, opts, callback)</span>
  3737. </code>
  3738. </a>
  3739. </h3>
  3740. <p>Passes all declaration values within the container that match pattern
  3741. through callback, replacing those values with the returned result
  3742. of callback.</p>
  3743. <p>This method is useful if you are using a custom unit or function
  3744. and need to iterate through all values.</p>
  3745. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  3746. <thead class='fill-light'>
  3747. <th class='col-3 small caps quiet'>parameter</th>
  3748. <th class='col-3 small caps quiet'>type</th>
  3749. <th class='col-6 small caps quiet'>description</th>
  3750. </thead>
  3751. <tr>
  3752. <td class='col-3 strong'><code>pattern</code></td>
  3753. <td class='col-3 quiet'>
  3754. (<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/RegExp">RegExp</a>)
  3755. </td>
  3756. <td class='col-6'>Replace pattern.
  3757. </td>
  3758. </tr>
  3759. <tr>
  3760. <td class='col-3 strong'><code>opts</code></td>
  3761. <td class='col-3 quiet'>
  3762. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>
  3763. </td>
  3764. <td class='col-6'>Options to speed up the search.
  3765. </td>
  3766. </tr>
  3767. <tr>
  3768. <td class='col-2 strong'>opts.props</td>
  3769. <td class="col-2 quiet">
  3770. (<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>>)
  3771. </td>
  3772. <td class='col-8'>An array of property names.
  3773. </td>
  3774. </tr>
  3775. <tr>
  3776. <td class='col-2 strong'>opts.fast</td>
  3777. <td class="col-2 quiet">
  3778. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  3779. </td>
  3780. <td class='col-8'>String that’s used to narrow down
  3781. values and speed up the regexp search.
  3782. </td>
  3783. </tr>
  3784. <tr>
  3785. <td class='col-3 strong'><code>callback</code></td>
  3786. <td class='col-3 quiet'>
  3787. (<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function">function</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>)
  3788. </td>
  3789. <td class='col-6'>String to replace pattern or callback
  3790. that returns a new value. The callback
  3791. will receive the same arguments
  3792. as those passed to a function parameter
  3793. of
  3794. <code>String#replace</code>
  3795. .
  3796. </td>
  3797. </tr>
  3798. </table>
  3799. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  3800. <code><a href="#node">Node</a></code>
  3801. :
  3802. <span class='force-inline'>This node for methods chain.
  3803. </span>
  3804. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  3805. <pre class='p1 overflow-auto round fill-light'><code>root.replaceValues(<span class="hljs-regexp">/\d+rem/</span>, { <span class="hljs-attr">fast</span>: <span class="hljs-string">'rem'</span> }, string =&gt; {
  3806. <span class="hljs-keyword">return</span> <span class="hljs-number">15</span> * <span class="hljs-built_in">parseInt</span>(string) + <span class="hljs-string">'px'</span>
  3807. })</code></pre>
  3808. </section>
  3809. <section id='containerreplacewith'class='mt2 mb2 px3 py1 keyline-top'>
  3810. <div class='right py2'>
  3811. <span class="px2"></span>
  3812. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L245-L255'>
  3813. <span>lib/node.js</span>
  3814. </a>
  3815. </div>
  3816. <h3 class='regular'>
  3817. <a class='black' href='#containerreplacewith'>
  3818. <code>
  3819. replaceWith
  3820. <span class='gray'>(nodes)</span>
  3821. </code>
  3822. </a>
  3823. </h3>
  3824. <p>Inserts node(s) before the current node and removes the current node.</p>
  3825. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  3826. <thead class='fill-light'>
  3827. <th class='col-3 small caps quiet'>parameter</th>
  3828. <th class='col-3 small caps quiet'>type</th>
  3829. <th class='col-6 small caps quiet'>description</th>
  3830. </thead>
  3831. <tr>
  3832. <td class='col-3 strong'><code>nodes</code></td>
  3833. <td class='col-3 quiet'>
  3834. ...<a href="#node">Node</a>
  3835. </td>
  3836. <td class='col-6'>Mode(s) to replace current one.
  3837. </td>
  3838. </tr>
  3839. </table>
  3840. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  3841. <code><a href="#node">Node</a></code>
  3842. :
  3843. <span class='force-inline'>Current node to methods chain.
  3844. </span>
  3845. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  3846. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">if</span> (atrule.name === <span class="hljs-string">'mixin'</span>) {
  3847. atrule.replaceWith(mixinRules[atrule.params])
  3848. }</code></pre>
  3849. </section>
  3850. <section id='containerroot'class='mt2 mb2 px3 py1 keyline-top'>
  3851. <div class='right py2'>
  3852. <span class="px2"></span>
  3853. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L387-L391'>
  3854. <span>lib/node.js</span>
  3855. </a>
  3856. </div>
  3857. <h3 class='regular'>
  3858. <a class='black' href='#containerroot'>
  3859. <code>
  3860. root
  3861. <span class='gray'>()</span>
  3862. </code>
  3863. </a>
  3864. </h3>
  3865. <p>Finds the Root instance of the node’s tree.</p>
  3866. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  3867. <code><a href="#root">Root</a></code>
  3868. :
  3869. <span class='force-inline'>Root parent.
  3870. </span>
  3871. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  3872. <pre class='p1 overflow-auto round fill-light'><code>root.nodes[<span class="hljs-number">0</span>].nodes[<span class="hljs-number">0</span>].root() === root</code></pre>
  3873. </section>
  3874. <section id='containersome'class='mt2 mb2 px3 py1 keyline-top'>
  3875. <div class='right py2'>
  3876. <span class="px2"></span>
  3877. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L556-L558'>
  3878. <span>lib/container.js</span>
  3879. </a>
  3880. </div>
  3881. <h3 class='regular'>
  3882. <a class='black' href='#containersome'>
  3883. <code>
  3884. some
  3885. <span class='gray'>(condition)</span>
  3886. </code>
  3887. </a>
  3888. </h3>
  3889. <p>Returns <code>true</code> if callback returns <code>true</code> for (at least) one
  3890. of the container’s children.</p>
  3891. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  3892. <thead class='fill-light'>
  3893. <th class='col-3 small caps quiet'>parameter</th>
  3894. <th class='col-3 small caps quiet'>type</th>
  3895. <th class='col-6 small caps quiet'>description</th>
  3896. </thead>
  3897. <tr>
  3898. <td class='col-3 strong'><code>condition</code></td>
  3899. <td class='col-3 quiet'>
  3900. <a href="#childcondition">childCondition</a>
  3901. </td>
  3902. <td class='col-6'>Iterator returns true or false.
  3903. </td>
  3904. </tr>
  3905. </table>
  3906. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  3907. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code>
  3908. :
  3909. <span class='force-inline'>Is some child pass condition.
  3910. </span>
  3911. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  3912. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> hasPrefix = rule.some(<span class="hljs-function"><span class="hljs-params">i</span> =&gt;</span> i.prop[<span class="hljs-number">0</span>] === <span class="hljs-string">'-'</span>)</code></pre>
  3913. </section>
  3914. <section id='containertostring'class='mt2 mb2 px3 py1 keyline-top'>
  3915. <div class='right py2'>
  3916. <span class="px2"></span>
  3917. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L169-L176'>
  3918. <span>lib/node.js</span>
  3919. </a>
  3920. </div>
  3921. <h3 class='regular'>
  3922. <a class='black' href='#containertostring'>
  3923. <code>
  3924. toString
  3925. <span class='gray'>(stringifier = stringify)</span>
  3926. </code>
  3927. </a>
  3928. </h3>
  3929. <p>Returns a CSS string representing the node.</p>
  3930. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  3931. <thead class='fill-light'>
  3932. <th class='col-3 small caps quiet'>parameter</th>
  3933. <th class='col-3 small caps quiet'>type</th>
  3934. <th class='col-6 small caps quiet'>description</th>
  3935. </thead>
  3936. <tr>
  3937. <td class='col-3 strong'><code>stringifier</code></td>
  3938. <td class='col-3 quiet'>
  3939. (<a href="#stringifier">stringifier</a> | <a href="#syntax">syntax</a>)?
  3940. = <code>stringify</code>
  3941. </td>
  3942. <td class='col-6'>A syntax to use
  3943. in string generation.
  3944. </td>
  3945. </tr>
  3946. </table>
  3947. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  3948. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code>
  3949. :
  3950. <span class='force-inline'>CSS string of this node.
  3951. </span>
  3952. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  3953. <pre class='p1 overflow-auto round fill-light'><code>postcss.rule({ <span class="hljs-attr">selector</span>: <span class="hljs-string">'a'</span> }).toString() <span class="hljs-comment">//=&gt; "a {}"</span></code></pre>
  3954. </section>
  3955. <section id='containerwalk'class='mt2 mb2 px3 py1 keyline-top'>
  3956. <div class='right py2'>
  3957. <span class="px2"></span>
  3958. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L112-L126'>
  3959. <span>lib/container.js</span>
  3960. </a>
  3961. </div>
  3962. <h3 class='regular'>
  3963. <a class='black' href='#containerwalk'>
  3964. <code>
  3965. walk
  3966. <span class='gray'>(callback)</span>
  3967. </code>
  3968. </a>
  3969. </h3>
  3970. <p>Traverses the container’s descendant nodes, calling callback
  3971. for each node.</p>
  3972. <p>Like container.each(), this method is safe to use
  3973. if you are mutating arrays during iteration.</p>
  3974. <p>If you only need to iterate through the container’s immediate children,
  3975. use <a href="#containereach">Container#each</a>.</p>
  3976. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  3977. <thead class='fill-light'>
  3978. <th class='col-3 small caps quiet'>parameter</th>
  3979. <th class='col-3 small caps quiet'>type</th>
  3980. <th class='col-6 small caps quiet'>description</th>
  3981. </thead>
  3982. <tr>
  3983. <td class='col-3 strong'><code>callback</code></td>
  3984. <td class='col-3 quiet'>
  3985. <a href="#childiterator">childIterator</a>
  3986. </td>
  3987. <td class='col-6'>Iterator receives each node and index.
  3988. </td>
  3989. </tr>
  3990. </table>
  3991. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  3992. <code>(<code>false</code> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  3993. :
  3994. <span class='force-inline'>Returns
  3995. <code>false</code>
  3996. if iteration was broke.
  3997. </span>
  3998. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  3999. <pre class='p1 overflow-auto round fill-light'><code>root.walk(<span class="hljs-function"><span class="hljs-params">node</span> =&gt;</span> {
  4000. <span class="hljs-comment">// Traverses all descendant nodes.</span>
  4001. })</code></pre>
  4002. </section>
  4003. <section id='containerwalkatrules'class='mt2 mb2 px3 py1 keyline-top'>
  4004. <div class='right py2'>
  4005. <span class="px2"></span>
  4006. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L257-L278'>
  4007. <span>lib/container.js</span>
  4008. </a>
  4009. </div>
  4010. <h3 class='regular'>
  4011. <a class='black' href='#containerwalkatrules'>
  4012. <code>
  4013. walkAtRules
  4014. <span class='gray'>(name?, callback)</span>
  4015. </code>
  4016. </a>
  4017. </h3>
  4018. <p>Traverses the container’s descendant nodes, calling callback
  4019. for each at-rule node.</p>
  4020. <p>If you pass a filter, iteration will only happen over at-rules
  4021. that have matching names.</p>
  4022. <p>Like <a href="#containereach">Container#each</a>, this method is safe
  4023. to use if you are mutating arrays during iteration.</p>
  4024. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  4025. <thead class='fill-light'>
  4026. <th class='col-3 small caps quiet'>parameter</th>
  4027. <th class='col-3 small caps quiet'>type</th>
  4028. <th class='col-6 small caps quiet'>description</th>
  4029. </thead>
  4030. <tr>
  4031. <td class='col-3 strong'><code>name</code></td>
  4032. <td class='col-3 quiet'>
  4033. (<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/RegExp">RegExp</a>)?
  4034. </td>
  4035. <td class='col-6'>String or regular expression
  4036. to filter at-rules by name.
  4037. </td>
  4038. </tr>
  4039. <tr>
  4040. <td class='col-3 strong'><code>callback</code></td>
  4041. <td class='col-3 quiet'>
  4042. <a href="#childiterator">childIterator</a>
  4043. </td>
  4044. <td class='col-6'>Iterator receives each node and index.
  4045. </td>
  4046. </tr>
  4047. </table>
  4048. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  4049. <code>(<code>false</code> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  4050. :
  4051. <span class='force-inline'>Returns
  4052. <code>false</code>
  4053. if iteration was broke.
  4054. </span>
  4055. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  4056. <pre class='p1 overflow-auto round fill-light'><code>root.walkAtRules(<span class="hljs-function"><span class="hljs-params">rule</span> =&gt;</span> {
  4057. <span class="hljs-keyword">if</span> (isOld(rule.name)) rule.remove()
  4058. })
  4059. <span class="hljs-keyword">let</span> first = <span class="hljs-literal">false</span>
  4060. root.walkAtRules(<span class="hljs-string">'charset'</span>, rule =&gt; {
  4061. <span class="hljs-keyword">if</span> (!first) {
  4062. first = <span class="hljs-literal">true</span>
  4063. } <span class="hljs-keyword">else</span> {
  4064. rule.remove()
  4065. }
  4066. })</code></pre>
  4067. </section>
  4068. <section id='containerwalkcomments'class='mt2 mb2 px3 py1 keyline-top'>
  4069. <div class='right py2'>
  4070. <span class="px2"></span>
  4071. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L296-L302'>
  4072. <span>lib/container.js</span>
  4073. </a>
  4074. </div>
  4075. <h3 class='regular'>
  4076. <a class='black' href='#containerwalkcomments'>
  4077. <code>
  4078. walkComments
  4079. <span class='gray'>(callback)</span>
  4080. </code>
  4081. </a>
  4082. </h3>
  4083. <p>Traverses the container’s descendant nodes, calling callback
  4084. for each comment node.</p>
  4085. <p>Like <a href="#containereach">Container#each</a>, this method is safe
  4086. to use if you are mutating arrays during iteration.</p>
  4087. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  4088. <thead class='fill-light'>
  4089. <th class='col-3 small caps quiet'>parameter</th>
  4090. <th class='col-3 small caps quiet'>type</th>
  4091. <th class='col-6 small caps quiet'>description</th>
  4092. </thead>
  4093. <tr>
  4094. <td class='col-3 strong'><code>callback</code></td>
  4095. <td class='col-3 quiet'>
  4096. <a href="#childiterator">childIterator</a>
  4097. </td>
  4098. <td class='col-6'>Iterator receives each node and index.
  4099. </td>
  4100. </tr>
  4101. </table>
  4102. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  4103. <code>(<code>false</code> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  4104. :
  4105. <span class='force-inline'>Returns
  4106. <code>false</code>
  4107. if iteration was broke.
  4108. </span>
  4109. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  4110. <pre class='p1 overflow-auto round fill-light'><code>root.walkComments(<span class="hljs-function"><span class="hljs-params">comment</span> =&gt;</span> {
  4111. comment.remove()
  4112. })</code></pre>
  4113. </section>
  4114. <section id='containerwalkdecls'class='mt2 mb2 px3 py1 keyline-top'>
  4115. <div class='right py2'>
  4116. <span class="px2"></span>
  4117. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L157-L178'>
  4118. <span>lib/container.js</span>
  4119. </a>
  4120. </div>
  4121. <h3 class='regular'>
  4122. <a class='black' href='#containerwalkdecls'>
  4123. <code>
  4124. walkDecls
  4125. <span class='gray'>(prop?, callback)</span>
  4126. </code>
  4127. </a>
  4128. </h3>
  4129. <p>Traverses the container’s descendant nodes, calling callback
  4130. for each declaration node.</p>
  4131. <p>If you pass a filter, iteration will only happen over declarations
  4132. with matching properties.</p>
  4133. <p>Like <a href="#containereach">Container#each</a>, this method is safe
  4134. to use if you are mutating arrays during iteration.</p>
  4135. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  4136. <thead class='fill-light'>
  4137. <th class='col-3 small caps quiet'>parameter</th>
  4138. <th class='col-3 small caps quiet'>type</th>
  4139. <th class='col-6 small caps quiet'>description</th>
  4140. </thead>
  4141. <tr>
  4142. <td class='col-3 strong'><code>prop</code></td>
  4143. <td class='col-3 quiet'>
  4144. (<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/RegExp">RegExp</a>)?
  4145. </td>
  4146. <td class='col-6'>String or regular expression
  4147. to filter declarations by property name.
  4148. </td>
  4149. </tr>
  4150. <tr>
  4151. <td class='col-3 strong'><code>callback</code></td>
  4152. <td class='col-3 quiet'>
  4153. <a href="#childiterator">childIterator</a>
  4154. </td>
  4155. <td class='col-6'>Iterator receives each node and index.
  4156. </td>
  4157. </tr>
  4158. </table>
  4159. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  4160. <code>(<code>false</code> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  4161. :
  4162. <span class='force-inline'>Returns
  4163. <code>false</code>
  4164. if iteration was broke.
  4165. </span>
  4166. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  4167. <pre class='p1 overflow-auto round fill-light'><code>root.walkDecls(<span class="hljs-function"><span class="hljs-params">decl</span> =&gt;</span> {
  4168. checkPropertySupport(decl.prop)
  4169. })
  4170. root.walkDecls(<span class="hljs-string">'border-radius'</span>, decl =&gt; {
  4171. decl.remove()
  4172. })
  4173. root.walkDecls(<span class="hljs-regexp">/^background/</span>, decl =&gt; {
  4174. decl.value = takeFirstColorFromGradient(decl.value)
  4175. })</code></pre>
  4176. </section>
  4177. <section id='containerwalkrules'class='mt2 mb2 px3 py1 keyline-top'>
  4178. <div class='right py2'>
  4179. <span class="px2"></span>
  4180. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L203-L225'>
  4181. <span>lib/container.js</span>
  4182. </a>
  4183. </div>
  4184. <h3 class='regular'>
  4185. <a class='black' href='#containerwalkrules'>
  4186. <code>
  4187. walkRules
  4188. <span class='gray'>(selector?, callback)</span>
  4189. </code>
  4190. </a>
  4191. </h3>
  4192. <p>Traverses the container’s descendant nodes, calling callback
  4193. for each rule node.</p>
  4194. <p>If you pass a filter, iteration will only happen over rules
  4195. with matching selectors.</p>
  4196. <p>Like <a href="#containereach">Container#each</a>, this method is safe
  4197. to use if you are mutating arrays during iteration.</p>
  4198. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  4199. <thead class='fill-light'>
  4200. <th class='col-3 small caps quiet'>parameter</th>
  4201. <th class='col-3 small caps quiet'>type</th>
  4202. <th class='col-6 small caps quiet'>description</th>
  4203. </thead>
  4204. <tr>
  4205. <td class='col-3 strong'><code>selector</code></td>
  4206. <td class='col-3 quiet'>
  4207. (<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/RegExp">RegExp</a>)?
  4208. </td>
  4209. <td class='col-6'>String or regular expression
  4210. to filter rules by selector.
  4211. </td>
  4212. </tr>
  4213. <tr>
  4214. <td class='col-3 strong'><code>callback</code></td>
  4215. <td class='col-3 quiet'>
  4216. <a href="#childiterator">childIterator</a>
  4217. </td>
  4218. <td class='col-6'>Iterator receives each node and index.
  4219. </td>
  4220. </tr>
  4221. </table>
  4222. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  4223. <code>(<code>false</code> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  4224. :
  4225. <span class='force-inline'>returns
  4226. <code>false</code>
  4227. if iteration was broke.
  4228. </span>
  4229. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  4230. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> selectors = []
  4231. root.walkRules(<span class="hljs-function"><span class="hljs-params">rule</span> =&gt;</span> {
  4232. selectors.push(rule.selector)
  4233. })
  4234. <span class="hljs-built_in">console</span>.log(<span class="hljs-string">`Your CSS uses <span class="hljs-subst">${ selectors.length }</span> selectors`</span>)</code></pre>
  4235. </section>
  4236. <section id='containerwarn'class='mt2 mb2 px3 py1 keyline-top'>
  4237. <div class='right py2'>
  4238. <span class="px2"></span>
  4239. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L133-L137'>
  4240. <span>lib/node.js</span>
  4241. </a>
  4242. </div>
  4243. <h3 class='regular'>
  4244. <a class='black' href='#containerwarn'>
  4245. <code>
  4246. warn
  4247. <span class='gray'>(result, text, opts?)</span>
  4248. </code>
  4249. </a>
  4250. </h3>
  4251. <p>This method is provided as a convenience wrapper for <a href="#resultwarn">Result#warn</a>.</p>
  4252. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  4253. <thead class='fill-light'>
  4254. <th class='col-3 small caps quiet'>parameter</th>
  4255. <th class='col-3 small caps quiet'>type</th>
  4256. <th class='col-6 small caps quiet'>description</th>
  4257. </thead>
  4258. <tr>
  4259. <td class='col-3 strong'><code>result</code></td>
  4260. <td class='col-3 quiet'>
  4261. <a href="#result">Result</a>
  4262. </td>
  4263. <td class='col-6'>The
  4264. <a href="#result">Result</a>
  4265. instance
  4266. that will receive the warning.
  4267. </td>
  4268. </tr>
  4269. <tr>
  4270. <td class='col-3 strong'><code>text</code></td>
  4271. <td class='col-3 quiet'>
  4272. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  4273. </td>
  4274. <td class='col-6'>Warning message.
  4275. </td>
  4276. </tr>
  4277. <tr>
  4278. <td class='col-3 strong'><code>opts</code></td>
  4279. <td class='col-3 quiet'>
  4280. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>?
  4281. </td>
  4282. <td class='col-6'>Options
  4283. </td>
  4284. </tr>
  4285. <tr>
  4286. <td class='col-2 strong'>opts.plugin</td>
  4287. <td class="col-2 quiet">
  4288. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  4289. </td>
  4290. <td class='col-8'>Plugin name that created this warning.
  4291. PostCSS will set it automatically.
  4292. </td>
  4293. </tr>
  4294. <tr>
  4295. <td class='col-2 strong'>opts.word</td>
  4296. <td class="col-2 quiet">
  4297. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  4298. </td>
  4299. <td class='col-8'>A word inside a node’s string that should
  4300. be highlighted as the source of the warning.
  4301. </td>
  4302. </tr>
  4303. <tr>
  4304. <td class='col-2 strong'>opts.index</td>
  4305. <td class="col-2 quiet">
  4306. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>
  4307. </td>
  4308. <td class='col-8'>An index inside a node’s string that should
  4309. be highlighted as the source of the warning.
  4310. </td>
  4311. </tr>
  4312. </table>
  4313. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  4314. <code><a href="#warning">Warning</a></code>
  4315. :
  4316. <span class='force-inline'>Created warning object.
  4317. </span>
  4318. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  4319. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> plugin = postcss.plugin(<span class="hljs-string">'postcss-deprecated'</span>, () =&gt; {
  4320. <span class="hljs-keyword">return</span> <span class="hljs-function">(<span class="hljs-params">root, result</span>) =&gt;</span> {
  4321. root.walkDecls(<span class="hljs-string">'bad'</span>, decl =&gt; {
  4322. decl.warn(result, <span class="hljs-string">'Deprecated property bad'</span>)
  4323. })
  4324. }
  4325. })</code></pre>
  4326. </section>
  4327. </div>
  4328. </section>
  4329. <section id='csssyntaxerror'class='mt2 mb2 px3 py1 keyline-top'>
  4330. <div class='right py2'>
  4331. <span class='font-smaller'>
  4332. Extends
  4333. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Error">Error</a>
  4334. </span>
  4335. <span class="px2"></span>
  4336. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/css-syntax-error.js#L33-L243'>
  4337. <span>lib/css-syntax-error.js</span>
  4338. </a>
  4339. </div>
  4340. <h3 class='regular'>
  4341. <a class='black' href='#csssyntaxerror'>
  4342. <code>
  4343. CssSyntaxError
  4344. <span class='gray'>(message, line?, column?, source?, file?, plugin?)</span>
  4345. </code>
  4346. </a>
  4347. </h3>
  4348. <p>The CSS parser throws this error for broken CSS.</p>
  4349. <p>Custom parsers can throw this error for broken custom syntax using
  4350. the <a href="#nodeerror">Node#error</a> method.</p>
  4351. <p>PostCSS will use the input source map to detect the original error location.
  4352. If you wrote a Sass file, compiled it to CSS and then parsed it with PostCSS,
  4353. PostCSS will show the original position in the Sass file.</p>
  4354. <p>If you need the position in the PostCSS input
  4355. (e.g., to debug the previous compiler), use <code>error.input.file</code>.</p>
  4356. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  4357. <thead class='fill-light'>
  4358. <th class='col-3 small caps quiet'>parameter</th>
  4359. <th class='col-3 small caps quiet'>type</th>
  4360. <th class='col-6 small caps quiet'>description</th>
  4361. </thead>
  4362. <tr>
  4363. <td class='col-3 strong'><code>message</code></td>
  4364. <td class='col-3 quiet'>
  4365. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  4366. </td>
  4367. <td class='col-6'>Error message.
  4368. </td>
  4369. </tr>
  4370. <tr>
  4371. <td class='col-3 strong'><code>line</code></td>
  4372. <td class='col-3 quiet'>
  4373. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>?
  4374. </td>
  4375. <td class='col-6'>Source line of the error.
  4376. </td>
  4377. </tr>
  4378. <tr>
  4379. <td class='col-3 strong'><code>column</code></td>
  4380. <td class='col-3 quiet'>
  4381. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>?
  4382. </td>
  4383. <td class='col-6'>Source column of the error.
  4384. </td>
  4385. </tr>
  4386. <tr>
  4387. <td class='col-3 strong'><code>source</code></td>
  4388. <td class='col-3 quiet'>
  4389. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>?
  4390. </td>
  4391. <td class='col-6'>Source code of the broken file.
  4392. </td>
  4393. </tr>
  4394. <tr>
  4395. <td class='col-3 strong'><code>file</code></td>
  4396. <td class='col-3 quiet'>
  4397. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>?
  4398. </td>
  4399. <td class='col-6'>Absolute path to the broken file.
  4400. </td>
  4401. </tr>
  4402. <tr>
  4403. <td class='col-3 strong'><code>plugin</code></td>
  4404. <td class='col-3 quiet'>
  4405. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>?
  4406. </td>
  4407. <td class='col-6'>PostCSS plugin name, if error came from plugin.
  4408. </td>
  4409. </tr>
  4410. </table>
  4411. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  4412. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-comment">// Catching and checking syntax error</span>
  4413. <span class="hljs-keyword">try</span> {
  4414. postcss.parse(<span class="hljs-string">'a{'</span>)
  4415. } <span class="hljs-keyword">catch</span> (error) {
  4416. <span class="hljs-keyword">if</span> (error.name === <span class="hljs-string">'CssSyntaxError'</span>) {
  4417. error <span class="hljs-comment">//=&gt; CssSyntaxError</span>
  4418. }
  4419. }</code></pre>
  4420. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-comment">// Raising error from plugin</span>
  4421. <span class="hljs-keyword">throw</span> node.error(<span class="hljs-string">'Unknown variable'</span>, { <span class="hljs-attr">plugin</span>: <span class="hljs-string">'postcss-vars'</span> })</code></pre>
  4422. <h4 class='caps quiet mb2 mt3'>Instance Members</h4>
  4423. <div class="section-indent">
  4424. <section id='csssyntaxerrorname'class='mt2 mb2 px3 py1 keyline-top'>
  4425. <div class='right py2'>
  4426. <span class="px2"></span>
  4427. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/css-syntax-error.js#L58-L58'>
  4428. <span>lib/css-syntax-error.js</span>
  4429. </a>
  4430. </div>
  4431. <h3 class='regular'>
  4432. <a class='black' href='#csssyntaxerrorname'>
  4433. <code>
  4434. name
  4435. <span class='gray'>()</span>
  4436. </code>
  4437. </a>
  4438. </h3>
  4439. <p>Always equal to <code>'CssSyntaxError'</code>. You should always check error type
  4440. by <code>error.name === 'CssSyntaxError'</code>
  4441. instead of <code>error instanceof CssSyntaxError</code>,
  4442. because npm could have several PostCSS versions.</p>
  4443. <p>
  4444. Type:
  4445. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  4446. </p>
  4447. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  4448. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">if</span> (error.name === <span class="hljs-string">'CssSyntaxError'</span>) {
  4449. error <span class="hljs-comment">//=&gt; CssSyntaxError</span>
  4450. }</code></pre>
  4451. </section>
  4452. <section id='csssyntaxerrorreason'class='mt2 mb2 px3 py1 keyline-top'>
  4453. <div class='right py2'>
  4454. <span class="px2"></span>
  4455. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/css-syntax-error.js#L67-L67'>
  4456. <span>lib/css-syntax-error.js</span>
  4457. </a>
  4458. </div>
  4459. <h3 class='regular'>
  4460. <a class='black' href='#csssyntaxerrorreason'>
  4461. <code>
  4462. reason
  4463. <span class='gray'>()</span>
  4464. </code>
  4465. </a>
  4466. </h3>
  4467. <p>Error message.</p>
  4468. <p>
  4469. Type:
  4470. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  4471. </p>
  4472. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  4473. <pre class='p1 overflow-auto round fill-light'><code>error.message <span class="hljs-comment">//=&gt; 'Unclosed block'</span></code></pre>
  4474. </section>
  4475. <section id='csssyntaxerrorfile'class='mt2 mb2 px3 py1 keyline-top'>
  4476. <div class='right py2'>
  4477. <span class="px2"></span>
  4478. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/css-syntax-error.js#L79-L79'>
  4479. <span>lib/css-syntax-error.js</span>
  4480. </a>
  4481. </div>
  4482. <h3 class='regular'>
  4483. <a class='black' href='#csssyntaxerrorfile'>
  4484. <code>
  4485. file
  4486. <span class='gray'>()</span>
  4487. </code>
  4488. </a>
  4489. </h3>
  4490. <p>Absolute path to the broken file.</p>
  4491. <p>
  4492. Type:
  4493. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  4494. </p>
  4495. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  4496. <pre class='p1 overflow-auto round fill-light'><code>error.file <span class="hljs-comment">//=&gt; 'a.sass'</span>
  4497. error.input.file <span class="hljs-comment">//=&gt; 'a.css'</span></code></pre>
  4498. </section>
  4499. <section id='csssyntaxerrorsource'class='mt2 mb2 px3 py1 keyline-top'>
  4500. <div class='right py2'>
  4501. <span class="px2"></span>
  4502. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/css-syntax-error.js#L91-L91'>
  4503. <span>lib/css-syntax-error.js</span>
  4504. </a>
  4505. </div>
  4506. <h3 class='regular'>
  4507. <a class='black' href='#csssyntaxerrorsource'>
  4508. <code>
  4509. source
  4510. <span class='gray'>()</span>
  4511. </code>
  4512. </a>
  4513. </h3>
  4514. <p>Source code of the broken file.</p>
  4515. <p>
  4516. Type:
  4517. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  4518. </p>
  4519. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  4520. <pre class='p1 overflow-auto round fill-light'><code>error.source <span class="hljs-comment">//=&gt; 'a { b {} }'</span>
  4521. error.input.column <span class="hljs-comment">//=&gt; 'a b { }'</span></code></pre>
  4522. </section>
  4523. <section id='csssyntaxerrorplugin'class='mt2 mb2 px3 py1 keyline-top'>
  4524. <div class='right py2'>
  4525. <span class="px2"></span>
  4526. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/css-syntax-error.js#L102-L102'>
  4527. <span>lib/css-syntax-error.js</span>
  4528. </a>
  4529. </div>
  4530. <h3 class='regular'>
  4531. <a class='black' href='#csssyntaxerrorplugin'>
  4532. <code>
  4533. plugin
  4534. <span class='gray'>()</span>
  4535. </code>
  4536. </a>
  4537. </h3>
  4538. <p>Plugin name, if error came from plugin.</p>
  4539. <p>
  4540. Type:
  4541. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  4542. </p>
  4543. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  4544. <pre class='p1 overflow-auto round fill-light'><code>error.plugin <span class="hljs-comment">//=&gt; 'postcss-vars'</span></code></pre>
  4545. </section>
  4546. <section id='csssyntaxerrorline'class='mt2 mb2 px3 py1 keyline-top'>
  4547. <div class='right py2'>
  4548. <span class="px2"></span>
  4549. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/css-syntax-error.js#L114-L114'>
  4550. <span>lib/css-syntax-error.js</span>
  4551. </a>
  4552. </div>
  4553. <h3 class='regular'>
  4554. <a class='black' href='#csssyntaxerrorline'>
  4555. <code>
  4556. line
  4557. <span class='gray'>()</span>
  4558. </code>
  4559. </a>
  4560. </h3>
  4561. <p>Source line of the error.</p>
  4562. <p>
  4563. Type:
  4564. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>
  4565. </p>
  4566. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  4567. <pre class='p1 overflow-auto round fill-light'><code>error.line <span class="hljs-comment">//=&gt; 2</span>
  4568. error.input.line <span class="hljs-comment">//=&gt; 4</span></code></pre>
  4569. </section>
  4570. <section id='csssyntaxerrorcolumn'class='mt2 mb2 px3 py1 keyline-top'>
  4571. <div class='right py2'>
  4572. <span class="px2"></span>
  4573. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/css-syntax-error.js#L124-L124'>
  4574. <span>lib/css-syntax-error.js</span>
  4575. </a>
  4576. </div>
  4577. <h3 class='regular'>
  4578. <a class='black' href='#csssyntaxerrorcolumn'>
  4579. <code>
  4580. column
  4581. <span class='gray'>()</span>
  4582. </code>
  4583. </a>
  4584. </h3>
  4585. <p>Source column of the error.</p>
  4586. <p>
  4587. Type:
  4588. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>
  4589. </p>
  4590. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  4591. <pre class='p1 overflow-auto round fill-light'><code>error.column <span class="hljs-comment">//=&gt; 1</span>
  4592. error.input.column <span class="hljs-comment">//=&gt; 4</span></code></pre>
  4593. </section>
  4594. <section id='csssyntaxerrormessage'class='mt2 mb2 px3 py1 keyline-top'>
  4595. <div class='right py2'>
  4596. <span class="px2"></span>
  4597. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/css-syntax-error.js#L144-L144'>
  4598. <span>lib/css-syntax-error.js</span>
  4599. </a>
  4600. </div>
  4601. <h3 class='regular'>
  4602. <a class='black' href='#csssyntaxerrormessage'>
  4603. <code>
  4604. message
  4605. <span class='gray'>()</span>
  4606. </code>
  4607. </a>
  4608. </h3>
  4609. <p>Full error text in the GNU error format
  4610. with plugin, file, line and column.</p>
  4611. <p>
  4612. Type:
  4613. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  4614. </p>
  4615. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  4616. <pre class='p1 overflow-auto round fill-light'><code>error.message <span class="hljs-comment">//=&gt; 'a.css:1:1: Unclosed block'</span></code></pre>
  4617. </section>
  4618. <section id='csssyntaxerrorshowsourcecode'class='mt2 mb2 px3 py1 keyline-top'>
  4619. <div class='right py2'>
  4620. <span class="px2"></span>
  4621. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/css-syntax-error.js#L173-L211'>
  4622. <span>lib/css-syntax-error.js</span>
  4623. </a>
  4624. </div>
  4625. <h3 class='regular'>
  4626. <a class='black' href='#csssyntaxerrorshowsourcecode'>
  4627. <code>
  4628. showSourceCode
  4629. <span class='gray'>(color?)</span>
  4630. </code>
  4631. </a>
  4632. </h3>
  4633. <p>Returns a few lines of CSS source that caused the error.</p>
  4634. <p>If the CSS has an input source map without <code>sourceContent</code>,
  4635. this method will return an empty string.</p>
  4636. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  4637. <thead class='fill-light'>
  4638. <th class='col-3 small caps quiet'>parameter</th>
  4639. <th class='col-3 small caps quiet'>type</th>
  4640. <th class='col-6 small caps quiet'>description</th>
  4641. </thead>
  4642. <tr>
  4643. <td class='col-3 strong'><code>color</code></td>
  4644. <td class='col-3 quiet'>
  4645. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>?
  4646. </td>
  4647. <td class='col-6'>Whether arrow will be colored red by terminal
  4648. color codes. By default, PostCSS will detect
  4649. color support by
  4650. <code>process.stdout.isTTY</code>
  4651. and
  4652. <code>process.env.NODE_DISABLE_COLORS</code>
  4653. .
  4654. </td>
  4655. </tr>
  4656. </table>
  4657. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  4658. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code>
  4659. :
  4660. <span class='force-inline'>Few lines of CSS source that caused the error.
  4661. </span>
  4662. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  4663. <pre class='p1 overflow-auto round fill-light'><code>error.showSourceCode() <span class="hljs-comment">//=&gt; " 4 | }</span>
  4664. <span class="hljs-comment">// 5 | a {</span>
  4665. <span class="hljs-comment">// &gt; 6 | bad</span>
  4666. <span class="hljs-comment">// | ^</span>
  4667. <span class="hljs-comment">// 7 | }</span>
  4668. <span class="hljs-comment">// 8 | b {"</span></code></pre>
  4669. </section>
  4670. <section id='csssyntaxerrortostring'class='mt2 mb2 px3 py1 keyline-top'>
  4671. <div class='right py2'>
  4672. <span class="px2"></span>
  4673. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/css-syntax-error.js#L223-L229'>
  4674. <span>lib/css-syntax-error.js</span>
  4675. </a>
  4676. </div>
  4677. <h3 class='regular'>
  4678. <a class='black' href='#csssyntaxerrortostring'>
  4679. <code>
  4680. toString
  4681. <span class='gray'>()</span>
  4682. </code>
  4683. </a>
  4684. </h3>
  4685. <p>Returns error position, message and source code of the broken part.</p>
  4686. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  4687. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code>
  4688. :
  4689. <span class='force-inline'>Error position, message and source code.
  4690. </span>
  4691. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  4692. <pre class='p1 overflow-auto round fill-light'><code>error.toString() <span class="hljs-comment">//=&gt; "CssSyntaxError: app.css:1:1: Unclosed block</span>
  4693. <span class="hljs-comment">// &gt; 1 | a {</span>
  4694. <span class="hljs-comment">// | ^"</span></code></pre>
  4695. </section>
  4696. </div>
  4697. </section>
  4698. <section id='declaration'class='mt2 mb2 px3 py1 keyline-top'>
  4699. <div class='right py2'>
  4700. <span class='font-smaller'>
  4701. Extends
  4702. <a href="#node">Node</a>
  4703. </span>
  4704. <span class="px2"></span>
  4705. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/declaration.js#L14-L75'>
  4706. <span>lib/declaration.js</span>
  4707. </a>
  4708. </div>
  4709. <h3 class='regular'>
  4710. <a class='black' href='#declaration'>
  4711. <code>
  4712. Declaration
  4713. <span class='gray'>(defaults)</span>
  4714. </code>
  4715. </a>
  4716. </h3>
  4717. <p>Represents a CSS declaration.</p>
  4718. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  4719. <thead class='fill-light'>
  4720. <th class='col-3 small caps quiet'>parameter</th>
  4721. <th class='col-3 small caps quiet'>type</th>
  4722. <th class='col-6 small caps quiet'>description</th>
  4723. </thead>
  4724. <tr>
  4725. <td class='col-3 strong'><code>defaults</code></td>
  4726. <td class='col-3 quiet'>
  4727. any
  4728. </td>
  4729. <td class='col-6'></td>
  4730. </tr>
  4731. </table>
  4732. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  4733. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> root = postcss.parse(<span class="hljs-string">'a { color: black }'</span>)
  4734. <span class="hljs-keyword">const</span> decl = root.first.first
  4735. decl.type <span class="hljs-comment">//=&gt; 'decl'</span>
  4736. decl.toString() <span class="hljs-comment">//=&gt; ' color: black'</span></code></pre>
  4737. <h4 class='caps quiet mb2 mt3'>Instance Members</h4>
  4738. <div class="section-indent">
  4739. <section id='declarationafter'class='mt2 mb2 px3 py1 keyline-top'>
  4740. <div class='right py2'>
  4741. <span class="px2"></span>
  4742. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L324-L327'>
  4743. <span>lib/node.js</span>
  4744. </a>
  4745. </div>
  4746. <h3 class='regular'>
  4747. <a class='black' href='#declarationafter'>
  4748. <code>
  4749. after
  4750. <span class='gray'>(add)</span>
  4751. </code>
  4752. </a>
  4753. </h3>
  4754. <p>Insert new node after current node to current node’s parent.</p>
  4755. <p>Just alias for <code>node.parent.insertAfter(node, add)</code>.</p>
  4756. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  4757. <thead class='fill-light'>
  4758. <th class='col-3 small caps quiet'>parameter</th>
  4759. <th class='col-3 small caps quiet'>type</th>
  4760. <th class='col-6 small caps quiet'>description</th>
  4761. </thead>
  4762. <tr>
  4763. <td class='col-3 strong'><code>add</code></td>
  4764. <td class='col-3 quiet'>
  4765. (<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="#node">Node</a>>)
  4766. </td>
  4767. <td class='col-6'>New node.
  4768. </td>
  4769. </tr>
  4770. </table>
  4771. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  4772. <code><a href="#node">Node</a></code>
  4773. :
  4774. <span class='force-inline'>This node for methods chain.
  4775. </span>
  4776. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  4777. <pre class='p1 overflow-auto round fill-light'><code>decl.after(<span class="hljs-string">'color: black'</span>)</code></pre>
  4778. </section>
  4779. <section id='declarationbefore'class='mt2 mb2 px3 py1 keyline-top'>
  4780. <div class='right py2'>
  4781. <span class="px2"></span>
  4782. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L307-L310'>
  4783. <span>lib/node.js</span>
  4784. </a>
  4785. </div>
  4786. <h3 class='regular'>
  4787. <a class='black' href='#declarationbefore'>
  4788. <code>
  4789. before
  4790. <span class='gray'>(add)</span>
  4791. </code>
  4792. </a>
  4793. </h3>
  4794. <p>Insert new node before current node to current node’s parent.</p>
  4795. <p>Just alias for <code>node.parent.insertBefore(node, add)</code>.</p>
  4796. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  4797. <thead class='fill-light'>
  4798. <th class='col-3 small caps quiet'>parameter</th>
  4799. <th class='col-3 small caps quiet'>type</th>
  4800. <th class='col-6 small caps quiet'>description</th>
  4801. </thead>
  4802. <tr>
  4803. <td class='col-3 strong'><code>add</code></td>
  4804. <td class='col-3 quiet'>
  4805. (<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="#node">Node</a>>)
  4806. </td>
  4807. <td class='col-6'>New node.
  4808. </td>
  4809. </tr>
  4810. </table>
  4811. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  4812. <code><a href="#node">Node</a></code>
  4813. :
  4814. <span class='force-inline'>This node for methods chain.
  4815. </span>
  4816. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  4817. <pre class='p1 overflow-auto round fill-light'><code>decl.before(<span class="hljs-string">'content: ""'</span>)</code></pre>
  4818. </section>
  4819. <section id='declarationcleanraws'class='mt2 mb2 px3 py1 keyline-top'>
  4820. <div class='right py2'>
  4821. <span class="px2"></span>
  4822. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L405-L409'>
  4823. <span>lib/node.js</span>
  4824. </a>
  4825. </div>
  4826. <h3 class='regular'>
  4827. <a class='black' href='#declarationcleanraws'>
  4828. <code>
  4829. cleanRaws
  4830. <span class='gray'>(keepBetween?)</span>
  4831. </code>
  4832. </a>
  4833. </h3>
  4834. <p>Clear the code style properties for the node and its children.</p>
  4835. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  4836. <thead class='fill-light'>
  4837. <th class='col-3 small caps quiet'>parameter</th>
  4838. <th class='col-3 small caps quiet'>type</th>
  4839. <th class='col-6 small caps quiet'>description</th>
  4840. </thead>
  4841. <tr>
  4842. <td class='col-3 strong'><code>keepBetween</code></td>
  4843. <td class='col-3 quiet'>
  4844. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>?
  4845. </td>
  4846. <td class='col-6'>Keep the raws.between symbols.
  4847. </td>
  4848. </tr>
  4849. </table>
  4850. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  4851. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a></code>
  4852. :
  4853. <span class='force-inline'>
  4854. </span>
  4855. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  4856. <pre class='p1 overflow-auto round fill-light'><code>node.raws.before <span class="hljs-comment">//=&gt; ' '</span>
  4857. node.cleanRaws()
  4858. node.raws.before <span class="hljs-comment">//=&gt; undefined</span></code></pre>
  4859. </section>
  4860. <section id='declarationclone'class='mt2 mb2 px3 py1 keyline-top'>
  4861. <div class='right py2'>
  4862. <span class="px2"></span>
  4863. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L194-L200'>
  4864. <span>lib/node.js</span>
  4865. </a>
  4866. </div>
  4867. <h3 class='regular'>
  4868. <a class='black' href='#declarationclone'>
  4869. <code>
  4870. clone
  4871. <span class='gray'>(overrides = {})</span>
  4872. </code>
  4873. </a>
  4874. </h3>
  4875. <p>Returns an exact clone of the node.</p>
  4876. <p>The resulting cloned node and its (cloned) children will retain
  4877. code style properties.</p>
  4878. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  4879. <thead class='fill-light'>
  4880. <th class='col-3 small caps quiet'>parameter</th>
  4881. <th class='col-3 small caps quiet'>type</th>
  4882. <th class='col-6 small caps quiet'>description</th>
  4883. </thead>
  4884. <tr>
  4885. <td class='col-3 strong'><code>overrides</code></td>
  4886. <td class='col-3 quiet'>
  4887. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>?
  4888. = <code>{}</code>
  4889. </td>
  4890. <td class='col-6'>New properties to override in the clone.
  4891. </td>
  4892. </tr>
  4893. </table>
  4894. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  4895. <code><a href="#node">Node</a></code>
  4896. :
  4897. <span class='force-inline'>Clone of the node.
  4898. </span>
  4899. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  4900. <pre class='p1 overflow-auto round fill-light'><code>decl.raws.before <span class="hljs-comment">//=&gt; "\n "</span>
  4901. <span class="hljs-keyword">const</span> cloned = decl.clone({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'-moz-'</span> + decl.prop })
  4902. cloned.raws.before <span class="hljs-comment">//=&gt; "\n "</span>
  4903. cloned.toString() <span class="hljs-comment">//=&gt; -moz-transform: scale(0)</span></code></pre>
  4904. </section>
  4905. <section id='declarationcloneafter'class='mt2 mb2 px3 py1 keyline-top'>
  4906. <div class='right py2'>
  4907. <span class="px2"></span>
  4908. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L227-L231'>
  4909. <span>lib/node.js</span>
  4910. </a>
  4911. </div>
  4912. <h3 class='regular'>
  4913. <a class='black' href='#declarationcloneafter'>
  4914. <code>
  4915. cloneAfter
  4916. <span class='gray'>(overrides = {})</span>
  4917. </code>
  4918. </a>
  4919. </h3>
  4920. <p>Shortcut to clone the node and insert the resulting cloned node
  4921. after the current node.</p>
  4922. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  4923. <thead class='fill-light'>
  4924. <th class='col-3 small caps quiet'>parameter</th>
  4925. <th class='col-3 small caps quiet'>type</th>
  4926. <th class='col-6 small caps quiet'>description</th>
  4927. </thead>
  4928. <tr>
  4929. <td class='col-3 strong'><code>overrides</code></td>
  4930. <td class='col-3 quiet'>
  4931. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>?
  4932. = <code>{}</code>
  4933. </td>
  4934. <td class='col-6'>New properties to override in the clone.
  4935. </td>
  4936. </tr>
  4937. </table>
  4938. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  4939. <code><a href="#node">Node</a></code>
  4940. :
  4941. <span class='force-inline'>New node.
  4942. </span>
  4943. </section>
  4944. <section id='declarationclonebefore'class='mt2 mb2 px3 py1 keyline-top'>
  4945. <div class='right py2'>
  4946. <span class="px2"></span>
  4947. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L213-L217'>
  4948. <span>lib/node.js</span>
  4949. </a>
  4950. </div>
  4951. <h3 class='regular'>
  4952. <a class='black' href='#declarationclonebefore'>
  4953. <code>
  4954. cloneBefore
  4955. <span class='gray'>(overrides = {})</span>
  4956. </code>
  4957. </a>
  4958. </h3>
  4959. <p>Shortcut to clone the node and insert the resulting cloned node
  4960. before the current node.</p>
  4961. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  4962. <thead class='fill-light'>
  4963. <th class='col-3 small caps quiet'>parameter</th>
  4964. <th class='col-3 small caps quiet'>type</th>
  4965. <th class='col-6 small caps quiet'>description</th>
  4966. </thead>
  4967. <tr>
  4968. <td class='col-3 strong'><code>overrides</code></td>
  4969. <td class='col-3 quiet'>
  4970. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>?
  4971. = <code>{}</code>
  4972. </td>
  4973. <td class='col-6'>Mew properties to override in the clone.
  4974. </td>
  4975. </tr>
  4976. </table>
  4977. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  4978. <code><a href="#node">Node</a></code>
  4979. :
  4980. <span class='force-inline'>New node
  4981. </span>
  4982. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  4983. <pre class='p1 overflow-auto round fill-light'><code>decl.cloneBefore({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'-moz-'</span> + decl.prop })</code></pre>
  4984. </section>
  4985. <section id='declarationerror'class='mt2 mb2 px3 py1 keyline-top'>
  4986. <div class='right py2'>
  4987. <span class="px2"></span>
  4988. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L100-L106'>
  4989. <span>lib/node.js</span>
  4990. </a>
  4991. </div>
  4992. <h3 class='regular'>
  4993. <a class='black' href='#declarationerror'>
  4994. <code>
  4995. error
  4996. <span class='gray'>(message, opts = {})</span>
  4997. </code>
  4998. </a>
  4999. </h3>
  5000. <p>Returns a <code>CssSyntaxError</code> instance containing the original position
  5001. of the node in the source, showing line and column numbers and also
  5002. a small excerpt to facilitate debugging.</p>
  5003. <p>If present, an input source map will be used to get the original position
  5004. of the source, even from a previous compilation step
  5005. (e.g., from Sass compilation).</p>
  5006. <p>This method produces very useful error messages.</p>
  5007. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  5008. <thead class='fill-light'>
  5009. <th class='col-3 small caps quiet'>parameter</th>
  5010. <th class='col-3 small caps quiet'>type</th>
  5011. <th class='col-6 small caps quiet'>description</th>
  5012. </thead>
  5013. <tr>
  5014. <td class='col-3 strong'><code>message</code></td>
  5015. <td class='col-3 quiet'>
  5016. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  5017. </td>
  5018. <td class='col-6'>Error description.
  5019. </td>
  5020. </tr>
  5021. <tr>
  5022. <td class='col-3 strong'><code>opts</code></td>
  5023. <td class='col-3 quiet'>
  5024. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>?
  5025. = <code>{}</code>
  5026. </td>
  5027. <td class='col-6'>Options.
  5028. </td>
  5029. </tr>
  5030. <tr>
  5031. <td class='col-2 strong'>opts.plugin</td>
  5032. <td class="col-2 quiet">
  5033. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  5034. </td>
  5035. <td class='col-8'>Plugin name that created this error.
  5036. PostCSS will set it automatically.
  5037. </td>
  5038. </tr>
  5039. <tr>
  5040. <td class='col-2 strong'>opts.word</td>
  5041. <td class="col-2 quiet">
  5042. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  5043. </td>
  5044. <td class='col-8'>A word inside a node’s string that should
  5045. be highlighted as the source of the error.
  5046. </td>
  5047. </tr>
  5048. <tr>
  5049. <td class='col-2 strong'>opts.index</td>
  5050. <td class="col-2 quiet">
  5051. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>
  5052. </td>
  5053. <td class='col-8'>An index inside a node’s string that should
  5054. be highlighted as the source of the error.
  5055. </td>
  5056. </tr>
  5057. </table>
  5058. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  5059. <code><a href="#csssyntaxerror">CssSyntaxError</a></code>
  5060. :
  5061. <span class='force-inline'>Error object to throw it.
  5062. </span>
  5063. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  5064. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">if</span> (!variables[name]) {
  5065. <span class="hljs-keyword">throw</span> decl.error(<span class="hljs-string">'Unknown variable '</span> + name, { <span class="hljs-attr">word</span>: name })
  5066. <span class="hljs-comment">// CssSyntaxError: postcss-vars:a.sass:4:3: Unknown variable $black</span>
  5067. <span class="hljs-comment">// color: $black</span>
  5068. <span class="hljs-comment">// a</span>
  5069. <span class="hljs-comment">// ^</span>
  5070. <span class="hljs-comment">// background: white</span>
  5071. }</code></pre>
  5072. </section>
  5073. <section id='declarationnext'class='mt2 mb2 px3 py1 keyline-top'>
  5074. <div class='right py2'>
  5075. <span class="px2"></span>
  5076. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L271-L275'>
  5077. <span>lib/node.js</span>
  5078. </a>
  5079. </div>
  5080. <h3 class='regular'>
  5081. <a class='black' href='#declarationnext'>
  5082. <code>
  5083. next
  5084. <span class='gray'>()</span>
  5085. </code>
  5086. </a>
  5087. </h3>
  5088. <p>Returns the next child of the node’s parent.
  5089. Returns <code>undefined</code> if the current node is the last child.</p>
  5090. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  5091. <code>(<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  5092. :
  5093. <span class='force-inline'>Next node.
  5094. </span>
  5095. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  5096. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">if</span> (comment.text === <span class="hljs-string">'delete next'</span>) {
  5097. <span class="hljs-keyword">const</span> next = comment.next()
  5098. <span class="hljs-keyword">if</span> (next) {
  5099. next.remove()
  5100. }
  5101. }</code></pre>
  5102. </section>
  5103. <section id='declarationprev'class='mt2 mb2 px3 py1 keyline-top'>
  5104. <div class='right py2'>
  5105. <span class="px2"></span>
  5106. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L289-L293'>
  5107. <span>lib/node.js</span>
  5108. </a>
  5109. </div>
  5110. <h3 class='regular'>
  5111. <a class='black' href='#declarationprev'>
  5112. <code>
  5113. prev
  5114. <span class='gray'>()</span>
  5115. </code>
  5116. </a>
  5117. </h3>
  5118. <p>Returns the previous child of the node’s parent.
  5119. Returns <code>undefined</code> if the current node is the first child.</p>
  5120. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  5121. <code>(<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  5122. :
  5123. <span class='force-inline'>Previous node.
  5124. </span>
  5125. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  5126. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> annotation = decl.prev()
  5127. <span class="hljs-keyword">if</span> (annotation.type === <span class="hljs-string">'comment'</span>) {
  5128. readAnnotation(annotation.text)
  5129. }</code></pre>
  5130. </section>
  5131. <section id='declarationraw'class='mt2 mb2 px3 py1 keyline-top'>
  5132. <div class='right py2'>
  5133. <span class="px2"></span>
  5134. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L374-L377'>
  5135. <span>lib/node.js</span>
  5136. </a>
  5137. </div>
  5138. <h3 class='regular'>
  5139. <a class='black' href='#declarationraw'>
  5140. <code>
  5141. raw
  5142. <span class='gray'>(prop, defaultType?)</span>
  5143. </code>
  5144. </a>
  5145. </h3>
  5146. <p>Returns a <a href="Node#raws">Node#raws</a> value. If the node is missing
  5147. the code style property (because the node was manually built or cloned),
  5148. PostCSS will try to autodetect the code style property by looking
  5149. at other nodes in the tree.</p>
  5150. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  5151. <thead class='fill-light'>
  5152. <th class='col-3 small caps quiet'>parameter</th>
  5153. <th class='col-3 small caps quiet'>type</th>
  5154. <th class='col-6 small caps quiet'>description</th>
  5155. </thead>
  5156. <tr>
  5157. <td class='col-3 strong'><code>prop</code></td>
  5158. <td class='col-3 quiet'>
  5159. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  5160. </td>
  5161. <td class='col-6'>Name of code style property.
  5162. </td>
  5163. </tr>
  5164. <tr>
  5165. <td class='col-3 strong'><code>defaultType</code></td>
  5166. <td class='col-3 quiet'>
  5167. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>?
  5168. </td>
  5169. <td class='col-6'>Name of default value, it can be missed
  5170. if the value is the same as prop.
  5171. </td>
  5172. </tr>
  5173. </table>
  5174. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  5175. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code>
  5176. :
  5177. <span class='force-inline'>Code style value.
  5178. </span>
  5179. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  5180. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> root = postcss.parse(<span class="hljs-string">'a { background: white }'</span>)
  5181. root.nodes[<span class="hljs-number">0</span>].append({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'color'</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'black'</span> })
  5182. root.nodes[<span class="hljs-number">0</span>].nodes[<span class="hljs-number">1</span>].raws.before <span class="hljs-comment">//=&gt; undefined</span>
  5183. root.nodes[<span class="hljs-number">0</span>].nodes[<span class="hljs-number">1</span>].raw(<span class="hljs-string">'before'</span>) <span class="hljs-comment">//=&gt; ' '</span></code></pre>
  5184. </section>
  5185. <section id='declarationremove'class='mt2 mb2 px3 py1 keyline-top'>
  5186. <div class='right py2'>
  5187. <span class="px2"></span>
  5188. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L150-L156'>
  5189. <span>lib/node.js</span>
  5190. </a>
  5191. </div>
  5192. <h3 class='regular'>
  5193. <a class='black' href='#declarationremove'>
  5194. <code>
  5195. remove
  5196. <span class='gray'>()</span>
  5197. </code>
  5198. </a>
  5199. </h3>
  5200. <p>Removes the node from its parent and cleans the parent properties
  5201. from the node and its children.</p>
  5202. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  5203. <code><a href="#node">Node</a></code>
  5204. :
  5205. <span class='force-inline'>Node to make calls chain.
  5206. </span>
  5207. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  5208. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">if</span> (decl.prop.match(<span class="hljs-regexp">/^-webkit-/</span>)) {
  5209. decl.remove()
  5210. }</code></pre>
  5211. </section>
  5212. <section id='declarationreplacewith'class='mt2 mb2 px3 py1 keyline-top'>
  5213. <div class='right py2'>
  5214. <span class="px2"></span>
  5215. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L245-L255'>
  5216. <span>lib/node.js</span>
  5217. </a>
  5218. </div>
  5219. <h3 class='regular'>
  5220. <a class='black' href='#declarationreplacewith'>
  5221. <code>
  5222. replaceWith
  5223. <span class='gray'>(nodes)</span>
  5224. </code>
  5225. </a>
  5226. </h3>
  5227. <p>Inserts node(s) before the current node and removes the current node.</p>
  5228. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  5229. <thead class='fill-light'>
  5230. <th class='col-3 small caps quiet'>parameter</th>
  5231. <th class='col-3 small caps quiet'>type</th>
  5232. <th class='col-6 small caps quiet'>description</th>
  5233. </thead>
  5234. <tr>
  5235. <td class='col-3 strong'><code>nodes</code></td>
  5236. <td class='col-3 quiet'>
  5237. ...<a href="#node">Node</a>
  5238. </td>
  5239. <td class='col-6'>Mode(s) to replace current one.
  5240. </td>
  5241. </tr>
  5242. </table>
  5243. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  5244. <code><a href="#node">Node</a></code>
  5245. :
  5246. <span class='force-inline'>Current node to methods chain.
  5247. </span>
  5248. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  5249. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">if</span> (atrule.name === <span class="hljs-string">'mixin'</span>) {
  5250. atrule.replaceWith(mixinRules[atrule.params])
  5251. }</code></pre>
  5252. </section>
  5253. <section id='declarationroot'class='mt2 mb2 px3 py1 keyline-top'>
  5254. <div class='right py2'>
  5255. <span class="px2"></span>
  5256. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L387-L391'>
  5257. <span>lib/node.js</span>
  5258. </a>
  5259. </div>
  5260. <h3 class='regular'>
  5261. <a class='black' href='#declarationroot'>
  5262. <code>
  5263. root
  5264. <span class='gray'>()</span>
  5265. </code>
  5266. </a>
  5267. </h3>
  5268. <p>Finds the Root instance of the node’s tree.</p>
  5269. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  5270. <code><a href="#root">Root</a></code>
  5271. :
  5272. <span class='force-inline'>Root parent.
  5273. </span>
  5274. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  5275. <pre class='p1 overflow-auto round fill-light'><code>root.nodes[<span class="hljs-number">0</span>].nodes[<span class="hljs-number">0</span>].root() === root</code></pre>
  5276. </section>
  5277. <section id='declarationtostring'class='mt2 mb2 px3 py1 keyline-top'>
  5278. <div class='right py2'>
  5279. <span class="px2"></span>
  5280. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L169-L176'>
  5281. <span>lib/node.js</span>
  5282. </a>
  5283. </div>
  5284. <h3 class='regular'>
  5285. <a class='black' href='#declarationtostring'>
  5286. <code>
  5287. toString
  5288. <span class='gray'>(stringifier = stringify)</span>
  5289. </code>
  5290. </a>
  5291. </h3>
  5292. <p>Returns a CSS string representing the node.</p>
  5293. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  5294. <thead class='fill-light'>
  5295. <th class='col-3 small caps quiet'>parameter</th>
  5296. <th class='col-3 small caps quiet'>type</th>
  5297. <th class='col-6 small caps quiet'>description</th>
  5298. </thead>
  5299. <tr>
  5300. <td class='col-3 strong'><code>stringifier</code></td>
  5301. <td class='col-3 quiet'>
  5302. (<a href="#stringifier">stringifier</a> | <a href="#syntax">syntax</a>)?
  5303. = <code>stringify</code>
  5304. </td>
  5305. <td class='col-6'>A syntax to use
  5306. in string generation.
  5307. </td>
  5308. </tr>
  5309. </table>
  5310. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  5311. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code>
  5312. :
  5313. <span class='force-inline'>CSS string of this node.
  5314. </span>
  5315. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  5316. <pre class='p1 overflow-auto round fill-light'><code>postcss.rule({ <span class="hljs-attr">selector</span>: <span class="hljs-string">'a'</span> }).toString() <span class="hljs-comment">//=&gt; "a {}"</span></code></pre>
  5317. </section>
  5318. <section id='declarationwarn'class='mt2 mb2 px3 py1 keyline-top'>
  5319. <div class='right py2'>
  5320. <span class="px2"></span>
  5321. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L133-L137'>
  5322. <span>lib/node.js</span>
  5323. </a>
  5324. </div>
  5325. <h3 class='regular'>
  5326. <a class='black' href='#declarationwarn'>
  5327. <code>
  5328. warn
  5329. <span class='gray'>(result, text, opts?)</span>
  5330. </code>
  5331. </a>
  5332. </h3>
  5333. <p>This method is provided as a convenience wrapper for <a href="#resultwarn">Result#warn</a>.</p>
  5334. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  5335. <thead class='fill-light'>
  5336. <th class='col-3 small caps quiet'>parameter</th>
  5337. <th class='col-3 small caps quiet'>type</th>
  5338. <th class='col-6 small caps quiet'>description</th>
  5339. </thead>
  5340. <tr>
  5341. <td class='col-3 strong'><code>result</code></td>
  5342. <td class='col-3 quiet'>
  5343. <a href="#result">Result</a>
  5344. </td>
  5345. <td class='col-6'>The
  5346. <a href="#result">Result</a>
  5347. instance
  5348. that will receive the warning.
  5349. </td>
  5350. </tr>
  5351. <tr>
  5352. <td class='col-3 strong'><code>text</code></td>
  5353. <td class='col-3 quiet'>
  5354. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  5355. </td>
  5356. <td class='col-6'>Warning message.
  5357. </td>
  5358. </tr>
  5359. <tr>
  5360. <td class='col-3 strong'><code>opts</code></td>
  5361. <td class='col-3 quiet'>
  5362. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>?
  5363. </td>
  5364. <td class='col-6'>Options
  5365. </td>
  5366. </tr>
  5367. <tr>
  5368. <td class='col-2 strong'>opts.plugin</td>
  5369. <td class="col-2 quiet">
  5370. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  5371. </td>
  5372. <td class='col-8'>Plugin name that created this warning.
  5373. PostCSS will set it automatically.
  5374. </td>
  5375. </tr>
  5376. <tr>
  5377. <td class='col-2 strong'>opts.word</td>
  5378. <td class="col-2 quiet">
  5379. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  5380. </td>
  5381. <td class='col-8'>A word inside a node’s string that should
  5382. be highlighted as the source of the warning.
  5383. </td>
  5384. </tr>
  5385. <tr>
  5386. <td class='col-2 strong'>opts.index</td>
  5387. <td class="col-2 quiet">
  5388. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>
  5389. </td>
  5390. <td class='col-8'>An index inside a node’s string that should
  5391. be highlighted as the source of the warning.
  5392. </td>
  5393. </tr>
  5394. </table>
  5395. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  5396. <code><a href="#warning">Warning</a></code>
  5397. :
  5398. <span class='force-inline'>Created warning object.
  5399. </span>
  5400. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  5401. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> plugin = postcss.plugin(<span class="hljs-string">'postcss-deprecated'</span>, () =&gt; {
  5402. <span class="hljs-keyword">return</span> <span class="hljs-function">(<span class="hljs-params">root, result</span>) =&gt;</span> {
  5403. root.walkDecls(<span class="hljs-string">'bad'</span>, decl =&gt; {
  5404. decl.warn(result, <span class="hljs-string">'Deprecated property bad'</span>)
  5405. })
  5406. }
  5407. })</code></pre>
  5408. </section>
  5409. </div>
  5410. </section>
  5411. <section id='input'class='mt2 mb2 px3 py1 keyline-top'>
  5412. <div class='right py2'>
  5413. <span class="px2"></span>
  5414. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/input.js#L15-L168'>
  5415. <span>lib/input.js</span>
  5416. </a>
  5417. </div>
  5418. <h3 class='regular'>
  5419. <a class='black' href='#input'>
  5420. <code>
  5421. Input
  5422. <span class='gray'>(css, opts = {})</span>
  5423. </code>
  5424. </a>
  5425. </h3>
  5426. <p>Represents the source CSS.</p>
  5427. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  5428. <thead class='fill-light'>
  5429. <th class='col-3 small caps quiet'>parameter</th>
  5430. <th class='col-3 small caps quiet'>type</th>
  5431. <th class='col-6 small caps quiet'>description</th>
  5432. </thead>
  5433. <tr>
  5434. <td class='col-3 strong'><code>css</code></td>
  5435. <td class='col-3 quiet'>
  5436. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  5437. </td>
  5438. <td class='col-6'>Input CSS source.
  5439. </td>
  5440. </tr>
  5441. <tr>
  5442. <td class='col-3 strong'><code>opts</code></td>
  5443. <td class='col-3 quiet'>
  5444. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>?
  5445. = <code>{}</code>
  5446. </td>
  5447. <td class='col-6'><a href="#processorprocess">Processor#process</a>
  5448. options.
  5449. </td>
  5450. </tr>
  5451. </table>
  5452. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  5453. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> root = postcss.parse(css, { <span class="hljs-attr">from</span>: file })
  5454. <span class="hljs-keyword">const</span> input = root.source.input</code></pre>
  5455. <h4 class='caps quiet mb2 mt3'>Instance Members</h4>
  5456. <div class="section-indent">
  5457. <section id='inputcss'class='mt2 mb2 px3 py1 keyline-top'>
  5458. <div class='right py2'>
  5459. <span class="px2"></span>
  5460. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/input.js#L34-L34'>
  5461. <span>lib/input.js</span>
  5462. </a>
  5463. </div>
  5464. <h3 class='regular'>
  5465. <a class='black' href='#inputcss'>
  5466. <code>
  5467. css
  5468. <span class='gray'>()</span>
  5469. </code>
  5470. </a>
  5471. </h3>
  5472. <p>Input CSS source</p>
  5473. <p>
  5474. Type:
  5475. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  5476. </p>
  5477. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  5478. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> input = postcss.parse(<span class="hljs-string">'a{}'</span>, { <span class="hljs-attr">from</span>: file }).input
  5479. input.css <span class="hljs-comment">//=&gt; "a{}"</span></code></pre>
  5480. </section>
  5481. <section id='inputfile'class='mt2 mb2 px3 py1 keyline-top'>
  5482. <div class='right py2'>
  5483. <span class="px2"></span>
  5484. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/input.js#L55-L55'>
  5485. <span>lib/input.js</span>
  5486. </a>
  5487. </div>
  5488. <h3 class='regular'>
  5489. <a class='black' href='#inputfile'>
  5490. <code>
  5491. file
  5492. <span class='gray'>()</span>
  5493. </code>
  5494. </a>
  5495. </h3>
  5496. <p>The absolute path to the CSS source file defined
  5497. with the <code>from</code> option.</p>
  5498. <p>
  5499. Type:
  5500. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  5501. </p>
  5502. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  5503. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> root = postcss.parse(css, { <span class="hljs-attr">from</span>: <span class="hljs-string">'a.css'</span> })
  5504. root.source.input.file <span class="hljs-comment">//=&gt; '/home/ai/a.css'</span></code></pre>
  5505. </section>
  5506. <section id='inputmap'class='mt2 mb2 px3 py1 keyline-top'>
  5507. <div class='right py2'>
  5508. <span class="px2"></span>
  5509. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/input.js#L72-L72'>
  5510. <span>lib/input.js</span>
  5511. </a>
  5512. </div>
  5513. <h3 class='regular'>
  5514. <a class='black' href='#inputmap'>
  5515. <code>
  5516. map
  5517. <span class='gray'>()</span>
  5518. </code>
  5519. </a>
  5520. </h3>
  5521. <p>The input source map passed from a compilation step before PostCSS
  5522. (for example, from Sass compiler).</p>
  5523. <p>
  5524. Type:
  5525. <a href="#previousmap">PreviousMap</a>
  5526. </p>
  5527. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  5528. <pre class='p1 overflow-auto round fill-light'><code>root.source.input.map.consumer().sources <span class="hljs-comment">//=&gt; ['a.sass']</span></code></pre>
  5529. </section>
  5530. <section id='inputid'class='mt2 mb2 px3 py1 keyline-top'>
  5531. <div class='right py2'>
  5532. <span class="px2"></span>
  5533. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/input.js#L89-L89'>
  5534. <span>lib/input.js</span>
  5535. </a>
  5536. </div>
  5537. <h3 class='regular'>
  5538. <a class='black' href='#inputid'>
  5539. <code>
  5540. id
  5541. <span class='gray'>()</span>
  5542. </code>
  5543. </a>
  5544. </h3>
  5545. <p>The unique ID of the CSS source. It will be created if <code>from</code> option
  5546. is not provided (because PostCSS does not know the file path).</p>
  5547. <p>
  5548. Type:
  5549. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  5550. </p>
  5551. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  5552. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> root = postcss.parse(css)
  5553. root.source.input.file <span class="hljs-comment">//=&gt; undefined</span>
  5554. root.source.input.id <span class="hljs-comment">//=&gt; "&lt;input css 8LZeVF&gt;"</span></code></pre>
  5555. </section>
  5556. <section id='inputorigin'class='mt2 mb2 px3 py1 keyline-top'>
  5557. <div class='right py2'>
  5558. <span class="px2"></span>
  5559. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/input.js#L126-L143'>
  5560. <span>lib/input.js</span>
  5561. </a>
  5562. </div>
  5563. <h3 class='regular'>
  5564. <a class='black' href='#inputorigin'>
  5565. <code>
  5566. origin
  5567. <span class='gray'>(line, column)</span>
  5568. </code>
  5569. </a>
  5570. </h3>
  5571. <p>Reads the input source map and returns a symbol position
  5572. in the input source (e.g., in a Sass file that was compiled
  5573. to CSS before being passed to PostCSS).</p>
  5574. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  5575. <thead class='fill-light'>
  5576. <th class='col-3 small caps quiet'>parameter</th>
  5577. <th class='col-3 small caps quiet'>type</th>
  5578. <th class='col-6 small caps quiet'>description</th>
  5579. </thead>
  5580. <tr>
  5581. <td class='col-3 strong'><code>line</code></td>
  5582. <td class='col-3 quiet'>
  5583. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>
  5584. </td>
  5585. <td class='col-6'>Line in input CSS.
  5586. </td>
  5587. </tr>
  5588. <tr>
  5589. <td class='col-3 strong'><code>column</code></td>
  5590. <td class='col-3 quiet'>
  5591. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>
  5592. </td>
  5593. <td class='col-6'>Column in input CSS.
  5594. </td>
  5595. </tr>
  5596. </table>
  5597. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  5598. <code><a href="#fileposition">filePosition</a></code>
  5599. :
  5600. <span class='force-inline'>Position in input source.
  5601. </span>
  5602. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  5603. <pre class='p1 overflow-auto round fill-light'><code>root.source.input.origin(<span class="hljs-number">1</span>, <span class="hljs-number">1</span>) <span class="hljs-comment">//=&gt; { file: 'a.css', line: 3, column: 1 }</span></code></pre>
  5604. </section>
  5605. <section id='inputfrom'class='mt2 mb2 px3 py1 keyline-top'>
  5606. <div class='right py2'>
  5607. <span class="px2"></span>
  5608. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/input.js#L165-L167'>
  5609. <span>lib/input.js</span>
  5610. </a>
  5611. </div>
  5612. <h3 class='regular'>
  5613. <a class='black' href='#inputfrom'>
  5614. <code>
  5615. from
  5616. <span class='gray'>()</span>
  5617. </code>
  5618. </a>
  5619. </h3>
  5620. <p>The CSS source identifier. Contains <a href="#inputfile">Input#file</a> if the user
  5621. set the <code>from</code> option, or <a href="#inputid">Input#id</a> if they did not.</p>
  5622. <p>
  5623. Type:
  5624. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  5625. </p>
  5626. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  5627. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> root = postcss.parse(css, { <span class="hljs-attr">from</span>: <span class="hljs-string">'a.css'</span> })
  5628. root.source.input.from <span class="hljs-comment">//=&gt; "/home/ai/a.css"</span>
  5629. <span class="hljs-keyword">const</span> root = postcss.parse(css)
  5630. root.source.input.from <span class="hljs-comment">//=&gt; "&lt;input css 1&gt;"</span></code></pre>
  5631. </section>
  5632. </div>
  5633. </section>
  5634. <section id='lazyresult'class='mt2 mb2 px3 py1 keyline-top'>
  5635. <div class='right py2'>
  5636. <span class="px2"></span>
  5637. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/lazy-result.js#L35-L422'>
  5638. <span>lib/lazy-result.js</span>
  5639. </a>
  5640. </div>
  5641. <h3 class='regular'>
  5642. <a class='black' href='#lazyresult'>
  5643. <code>
  5644. LazyResult
  5645. <span class='gray'>(processor, css, opts)</span>
  5646. </code>
  5647. </a>
  5648. </h3>
  5649. <p>A Promise proxy for the result of PostCSS transformations.</p>
  5650. <p>A <code>LazyResult</code> instance is returned by <a href="#processorprocess">Processor#process</a>.</p>
  5651. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  5652. <thead class='fill-light'>
  5653. <th class='col-3 small caps quiet'>parameter</th>
  5654. <th class='col-3 small caps quiet'>type</th>
  5655. <th class='col-6 small caps quiet'>description</th>
  5656. </thead>
  5657. <tr>
  5658. <td class='col-3 strong'><code>processor</code></td>
  5659. <td class='col-3 quiet'>
  5660. any
  5661. </td>
  5662. <td class='col-6'></td>
  5663. </tr>
  5664. <tr>
  5665. <td class='col-3 strong'><code>css</code></td>
  5666. <td class='col-3 quiet'>
  5667. any
  5668. </td>
  5669. <td class='col-6'></td>
  5670. </tr>
  5671. <tr>
  5672. <td class='col-3 strong'><code>opts</code></td>
  5673. <td class='col-3 quiet'>
  5674. any
  5675. </td>
  5676. <td class='col-6'></td>
  5677. </tr>
  5678. </table>
  5679. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  5680. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> lazy = postcss([autoprefixer]).process(css)</code></pre>
  5681. <h4 class='caps quiet mb2 mt3'>Instance Members</h4>
  5682. <div class="section-indent">
  5683. <section id='lazyresultprocessor'class='mt2 mb2 px3 py1 keyline-top'>
  5684. <div class='right py2'>
  5685. <span class="px2"></span>
  5686. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/lazy-result.js#L72-L74'>
  5687. <span>lib/lazy-result.js</span>
  5688. </a>
  5689. </div>
  5690. <h3 class='regular'>
  5691. <a class='black' href='#lazyresultprocessor'>
  5692. <code>
  5693. processor
  5694. <span class='gray'>()</span>
  5695. </code>
  5696. </a>
  5697. </h3>
  5698. <p>Returns a <a href="#processor">Processor</a> instance, which will be used
  5699. for CSS transformations.</p>
  5700. <p>
  5701. Type:
  5702. <a href="#processor">Processor</a>
  5703. </p>
  5704. </section>
  5705. <section id='lazyresultopts'class='mt2 mb2 px3 py1 keyline-top'>
  5706. <div class='right py2'>
  5707. <span class="px2"></span>
  5708. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/lazy-result.js#L81-L83'>
  5709. <span>lib/lazy-result.js</span>
  5710. </a>
  5711. </div>
  5712. <h3 class='regular'>
  5713. <a class='black' href='#lazyresultopts'>
  5714. <code>
  5715. opts
  5716. <span class='gray'>()</span>
  5717. </code>
  5718. </a>
  5719. </h3>
  5720. <p>Options from the <a href="#processorprocess">Processor#process</a> call.</p>
  5721. <p>
  5722. Type:
  5723. <a href="#processoptions">processOptions</a>
  5724. </p>
  5725. </section>
  5726. <section id='lazyresultcss'class='mt2 mb2 px3 py1 keyline-top'>
  5727. <div class='right py2'>
  5728. <span class="px2"></span>
  5729. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/lazy-result.js#L97-L99'>
  5730. <span>lib/lazy-result.js</span>
  5731. </a>
  5732. </div>
  5733. <h3 class='regular'>
  5734. <a class='black' href='#lazyresultcss'>
  5735. <code>
  5736. css
  5737. <span class='gray'>()</span>
  5738. </code>
  5739. </a>
  5740. </h3>
  5741. <p>Processes input CSS through synchronous plugins, converts <code>Root</code>
  5742. to a CSS string and returns <a href="#resultcss">Result#css</a>.</p>
  5743. <p>This property will only work with synchronous plugins.
  5744. If the processor contains any asynchronous plugins
  5745. it will throw an error. This is why this method is only
  5746. for debug purpose, you should always use <a href="#lazyresultthen">LazyResult#then</a>.</p>
  5747. <p>
  5748. Type:
  5749. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  5750. </p>
  5751. </section>
  5752. <section id='lazyresultcontent'class='mt2 mb2 px3 py1 keyline-top'>
  5753. <div class='right py2'>
  5754. <span class="px2"></span>
  5755. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/lazy-result.js#L113-L115'>
  5756. <span>lib/lazy-result.js</span>
  5757. </a>
  5758. </div>
  5759. <h3 class='regular'>
  5760. <a class='black' href='#lazyresultcontent'>
  5761. <code>
  5762. content
  5763. <span class='gray'>()</span>
  5764. </code>
  5765. </a>
  5766. </h3>
  5767. <p>An alias for the <code>css</code> property. Use it with syntaxes
  5768. that generate non-CSS output.</p>
  5769. <p>This property will only work with synchronous plugins.
  5770. If the processor contains any asynchronous plugins
  5771. it will throw an error. This is why this method is only
  5772. for debug purpose, you should always use <a href="#lazyresultthen">LazyResult#then</a>.</p>
  5773. <p>
  5774. Type:
  5775. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  5776. </p>
  5777. </section>
  5778. <section id='lazyresultmap'class='mt2 mb2 px3 py1 keyline-top'>
  5779. <div class='right py2'>
  5780. <span class="px2"></span>
  5781. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/lazy-result.js#L129-L131'>
  5782. <span>lib/lazy-result.js</span>
  5783. </a>
  5784. </div>
  5785. <h3 class='regular'>
  5786. <a class='black' href='#lazyresultmap'>
  5787. <code>
  5788. map
  5789. <span class='gray'>()</span>
  5790. </code>
  5791. </a>
  5792. </h3>
  5793. <p>Processes input CSS through synchronous plugins
  5794. and returns <a href="#resultmap">Result#map</a>.</p>
  5795. <p>This property will only work with synchronous plugins.
  5796. If the processor contains any asynchronous plugins
  5797. it will throw an error. This is why this method is only
  5798. for debug purpose, you should always use <a href="#lazyresultthen">LazyResult#then</a>.</p>
  5799. <p>
  5800. Type:
  5801. SourceMapGenerator
  5802. </p>
  5803. </section>
  5804. <section id='lazyresultroot'class='mt2 mb2 px3 py1 keyline-top'>
  5805. <div class='right py2'>
  5806. <span class="px2"></span>
  5807. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/lazy-result.js#L146-L148'>
  5808. <span>lib/lazy-result.js</span>
  5809. </a>
  5810. </div>
  5811. <h3 class='regular'>
  5812. <a class='black' href='#lazyresultroot'>
  5813. <code>
  5814. root
  5815. <span class='gray'>()</span>
  5816. </code>
  5817. </a>
  5818. </h3>
  5819. <p>Processes input CSS through synchronous plugins
  5820. and returns <a href="#resultroot">Result#root</a>.</p>
  5821. <p>This property will only work with synchronous plugins. If the processor
  5822. contains any asynchronous plugins it will throw an error.</p>
  5823. <p>This is why this method is only for debug purpose,
  5824. you should always use <a href="#lazyresultthen">LazyResult#then</a>.</p>
  5825. <p>
  5826. Type:
  5827. <a href="#root">Root</a>
  5828. </p>
  5829. </section>
  5830. <section id='lazyresultmessages'class='mt2 mb2 px3 py1 keyline-top'>
  5831. <div class='right py2'>
  5832. <span class="px2"></span>
  5833. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/lazy-result.js#L163-L165'>
  5834. <span>lib/lazy-result.js</span>
  5835. </a>
  5836. </div>
  5837. <h3 class='regular'>
  5838. <a class='black' href='#lazyresultmessages'>
  5839. <code>
  5840. messages
  5841. <span class='gray'>()</span>
  5842. </code>
  5843. </a>
  5844. </h3>
  5845. <p>Processes input CSS through synchronous plugins
  5846. and returns <a href="#resultmessages">Result#messages</a>.</p>
  5847. <p>This property will only work with synchronous plugins. If the processor
  5848. contains any asynchronous plugins it will throw an error.</p>
  5849. <p>This is why this method is only for debug purpose,
  5850. you should always use <a href="#lazyresultthen">LazyResult#then</a>.</p>
  5851. <p>
  5852. Type:
  5853. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="#message">Message</a>>
  5854. </p>
  5855. </section>
  5856. <section id='lazyresultwarnings'class='mt2 mb2 px3 py1 keyline-top'>
  5857. <div class='right py2'>
  5858. <span class="px2"></span>
  5859. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/lazy-result.js#L173-L175'>
  5860. <span>lib/lazy-result.js</span>
  5861. </a>
  5862. </div>
  5863. <h3 class='regular'>
  5864. <a class='black' href='#lazyresultwarnings'>
  5865. <code>
  5866. warnings
  5867. <span class='gray'>()</span>
  5868. </code>
  5869. </a>
  5870. </h3>
  5871. <p>Processes input CSS through synchronous plugins
  5872. and calls <a href="Result#warnings()">Result#warnings()</a>.</p>
  5873. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  5874. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="#warning">Warning</a>></code>
  5875. :
  5876. <span class='force-inline'>Warnings from plugins.
  5877. </span>
  5878. </section>
  5879. <section id='lazyresulttostring'class='mt2 mb2 px3 py1 keyline-top'>
  5880. <div class='right py2'>
  5881. <span class="px2"></span>
  5882. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/lazy-result.js#L185-L187'>
  5883. <span>lib/lazy-result.js</span>
  5884. </a>
  5885. </div>
  5886. <h3 class='regular'>
  5887. <a class='black' href='#lazyresulttostring'>
  5888. <code>
  5889. toString
  5890. <span class='gray'>()</span>
  5891. </code>
  5892. </a>
  5893. </h3>
  5894. <p>Alias for the <a href="#lazyresultcss">LazyResult#css</a> property.</p>
  5895. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  5896. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code>
  5897. :
  5898. <span class='force-inline'>Output CSS.
  5899. </span>
  5900. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  5901. <pre class='p1 overflow-auto round fill-light'><code>lazy + <span class="hljs-string">''</span> === lazy.css</code></pre>
  5902. </section>
  5903. <section id='lazyresultthen'class='mt2 mb2 px3 py1 keyline-top'>
  5904. <div class='right py2'>
  5905. <span class="px2"></span>
  5906. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/lazy-result.js#L207-L218'>
  5907. <span>lib/lazy-result.js</span>
  5908. </a>
  5909. </div>
  5910. <h3 class='regular'>
  5911. <a class='black' href='#lazyresultthen'>
  5912. <code>
  5913. then
  5914. <span class='gray'>(onFulfilled, onRejected)</span>
  5915. </code>
  5916. </a>
  5917. </h3>
  5918. <p>Processes input CSS through synchronous and asynchronous plugins
  5919. and calls <code>onFulfilled</code> with a Result instance. If a plugin throws
  5920. an error, the <code>onRejected</code> callback will be executed.</p>
  5921. <p>It implements standard Promise API.</p>
  5922. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  5923. <thead class='fill-light'>
  5924. <th class='col-3 small caps quiet'>parameter</th>
  5925. <th class='col-3 small caps quiet'>type</th>
  5926. <th class='col-6 small caps quiet'>description</th>
  5927. </thead>
  5928. <tr>
  5929. <td class='col-3 strong'><code>onFulfilled</code></td>
  5930. <td class='col-3 quiet'>
  5931. <a href="#onfulfilled">onFulfilled</a>
  5932. </td>
  5933. <td class='col-6'>Callback will be executed
  5934. when all plugins will finish work.
  5935. </td>
  5936. </tr>
  5937. <tr>
  5938. <td class='col-3 strong'><code>onRejected</code></td>
  5939. <td class='col-3 quiet'>
  5940. <a href="#onrejected">onRejected</a>
  5941. </td>
  5942. <td class='col-6'>Callback will be executed on any error.
  5943. </td>
  5944. </tr>
  5945. </table>
  5946. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  5947. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a></code>
  5948. :
  5949. <span class='force-inline'>Promise API to make queue.
  5950. </span>
  5951. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  5952. <pre class='p1 overflow-auto round fill-light'><code>postcss([autoprefixer]).process(css, { <span class="hljs-attr">from</span>: cssPath }).then(<span class="hljs-function"><span class="hljs-params">result</span> =&gt;</span> {
  5953. <span class="hljs-built_in">console</span>.log(result.css)
  5954. })</code></pre>
  5955. </section>
  5956. <section id='lazyresultcatch'class='mt2 mb2 px3 py1 keyline-top'>
  5957. <div class='right py2'>
  5958. <span class="px2"></span>
  5959. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/lazy-result.js#L237-L239'>
  5960. <span>lib/lazy-result.js</span>
  5961. </a>
  5962. </div>
  5963. <h3 class='regular'>
  5964. <a class='black' href='#lazyresultcatch'>
  5965. <code>
  5966. catch
  5967. <span class='gray'>(onRejected)</span>
  5968. </code>
  5969. </a>
  5970. </h3>
  5971. <p>Processes input CSS through synchronous and asynchronous plugins
  5972. and calls onRejected for each error thrown in any plugin.</p>
  5973. <p>It implements standard Promise API.</p>
  5974. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  5975. <thead class='fill-light'>
  5976. <th class='col-3 small caps quiet'>parameter</th>
  5977. <th class='col-3 small caps quiet'>type</th>
  5978. <th class='col-6 small caps quiet'>description</th>
  5979. </thead>
  5980. <tr>
  5981. <td class='col-3 strong'><code>onRejected</code></td>
  5982. <td class='col-3 quiet'>
  5983. <a href="#onrejected">onRejected</a>
  5984. </td>
  5985. <td class='col-6'>Callback will be executed on any error.
  5986. </td>
  5987. </tr>
  5988. </table>
  5989. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  5990. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a></code>
  5991. :
  5992. <span class='force-inline'>Promise API to make queue.
  5993. </span>
  5994. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  5995. <pre class='p1 overflow-auto round fill-light'><code>postcss([autoprefixer]).process(css).then(<span class="hljs-function"><span class="hljs-params">result</span> =&gt;</span> {
  5996. <span class="hljs-built_in">console</span>.log(result.css)
  5997. }).catch(<span class="hljs-function"><span class="hljs-params">error</span> =&gt;</span> {
  5998. <span class="hljs-built_in">console</span>.error(error)
  5999. })</code></pre>
  6000. </section>
  6001. <section id='lazyresultfinally'class='mt2 mb2 px3 py1 keyline-top'>
  6002. <div class='right py2'>
  6003. <span class="px2"></span>
  6004. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/lazy-result.js#L257-L259'>
  6005. <span>lib/lazy-result.js</span>
  6006. </a>
  6007. </div>
  6008. <h3 class='regular'>
  6009. <a class='black' href='#lazyresultfinally'>
  6010. <code>
  6011. finally
  6012. <span class='gray'>(onFinally)</span>
  6013. </code>
  6014. </a>
  6015. </h3>
  6016. <p>Processes input CSS through synchronous and asynchronous plugins
  6017. and calls onFinally on any error or when all plugins will finish work.</p>
  6018. <p>It implements standard Promise API.</p>
  6019. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  6020. <thead class='fill-light'>
  6021. <th class='col-3 small caps quiet'>parameter</th>
  6022. <th class='col-3 small caps quiet'>type</th>
  6023. <th class='col-6 small caps quiet'>description</th>
  6024. </thead>
  6025. <tr>
  6026. <td class='col-3 strong'><code>onFinally</code></td>
  6027. <td class='col-3 quiet'>
  6028. onFinally
  6029. </td>
  6030. <td class='col-6'>Callback will be executed on any error or
  6031. when all plugins will finish work.
  6032. </td>
  6033. </tr>
  6034. </table>
  6035. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  6036. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a></code>
  6037. :
  6038. <span class='force-inline'>Promise API to make queue.
  6039. </span>
  6040. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  6041. <pre class='p1 overflow-auto round fill-light'><code>postcss([autoprefixer]).process(css).finally(<span class="hljs-function"><span class="hljs-params">()</span> =&gt;</span> {
  6042. <span class="hljs-built_in">console</span>.log(<span class="hljs-string">'processing ended'</span>)
  6043. })</code></pre>
  6044. </section>
  6045. </div>
  6046. </section>
  6047. <section id='node'class='mt2 mb2 px3 py1 keyline-top'>
  6048. <div class='right py2'>
  6049. <span class="px2"></span>
  6050. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L35-L575'>
  6051. <span>lib/node.js</span>
  6052. </a>
  6053. </div>
  6054. <h3 class='regular'>
  6055. <a class='black' href='#node'>
  6056. <code>
  6057. Node
  6058. <span class='gray'>(defaults = {})</span>
  6059. </code>
  6060. </a>
  6061. </h3>
  6062. <p>All node classes inherit the following common methods.</p>
  6063. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  6064. <thead class='fill-light'>
  6065. <th class='col-3 small caps quiet'>parameter</th>
  6066. <th class='col-3 small caps quiet'>type</th>
  6067. <th class='col-6 small caps quiet'>description</th>
  6068. </thead>
  6069. <tr>
  6070. <td class='col-3 strong'><code>defaults</code></td>
  6071. <td class='col-3 quiet'>
  6072. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>?
  6073. = <code>{}</code>
  6074. </td>
  6075. <td class='col-6'>Value for node properties.
  6076. </td>
  6077. </tr>
  6078. </table>
  6079. <h4 class='caps quiet mb2 mt3'>Instance Members</h4>
  6080. <div class="section-indent">
  6081. <section id='nodeerror'class='mt2 mb2 px3 py1 keyline-top'>
  6082. <div class='right py2'>
  6083. <span class="px2"></span>
  6084. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L100-L106'>
  6085. <span>lib/node.js</span>
  6086. </a>
  6087. </div>
  6088. <h3 class='regular'>
  6089. <a class='black' href='#nodeerror'>
  6090. <code>
  6091. error
  6092. <span class='gray'>(message, opts = {})</span>
  6093. </code>
  6094. </a>
  6095. </h3>
  6096. <p>Returns a <code>CssSyntaxError</code> instance containing the original position
  6097. of the node in the source, showing line and column numbers and also
  6098. a small excerpt to facilitate debugging.</p>
  6099. <p>If present, an input source map will be used to get the original position
  6100. of the source, even from a previous compilation step
  6101. (e.g., from Sass compilation).</p>
  6102. <p>This method produces very useful error messages.</p>
  6103. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  6104. <thead class='fill-light'>
  6105. <th class='col-3 small caps quiet'>parameter</th>
  6106. <th class='col-3 small caps quiet'>type</th>
  6107. <th class='col-6 small caps quiet'>description</th>
  6108. </thead>
  6109. <tr>
  6110. <td class='col-3 strong'><code>message</code></td>
  6111. <td class='col-3 quiet'>
  6112. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  6113. </td>
  6114. <td class='col-6'>Error description.
  6115. </td>
  6116. </tr>
  6117. <tr>
  6118. <td class='col-3 strong'><code>opts</code></td>
  6119. <td class='col-3 quiet'>
  6120. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>?
  6121. = <code>{}</code>
  6122. </td>
  6123. <td class='col-6'>Options.
  6124. </td>
  6125. </tr>
  6126. <tr>
  6127. <td class='col-2 strong'>opts.plugin</td>
  6128. <td class="col-2 quiet">
  6129. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  6130. </td>
  6131. <td class='col-8'>Plugin name that created this error.
  6132. PostCSS will set it automatically.
  6133. </td>
  6134. </tr>
  6135. <tr>
  6136. <td class='col-2 strong'>opts.word</td>
  6137. <td class="col-2 quiet">
  6138. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  6139. </td>
  6140. <td class='col-8'>A word inside a node’s string that should
  6141. be highlighted as the source of the error.
  6142. </td>
  6143. </tr>
  6144. <tr>
  6145. <td class='col-2 strong'>opts.index</td>
  6146. <td class="col-2 quiet">
  6147. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>
  6148. </td>
  6149. <td class='col-8'>An index inside a node’s string that should
  6150. be highlighted as the source of the error.
  6151. </td>
  6152. </tr>
  6153. </table>
  6154. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  6155. <code><a href="#csssyntaxerror">CssSyntaxError</a></code>
  6156. :
  6157. <span class='force-inline'>Error object to throw it.
  6158. </span>
  6159. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  6160. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">if</span> (!variables[name]) {
  6161. <span class="hljs-keyword">throw</span> decl.error(<span class="hljs-string">'Unknown variable '</span> + name, { <span class="hljs-attr">word</span>: name })
  6162. <span class="hljs-comment">// CssSyntaxError: postcss-vars:a.sass:4:3: Unknown variable $black</span>
  6163. <span class="hljs-comment">// color: $black</span>
  6164. <span class="hljs-comment">// a</span>
  6165. <span class="hljs-comment">// ^</span>
  6166. <span class="hljs-comment">// background: white</span>
  6167. }</code></pre>
  6168. </section>
  6169. <section id='nodewarn'class='mt2 mb2 px3 py1 keyline-top'>
  6170. <div class='right py2'>
  6171. <span class="px2"></span>
  6172. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L133-L137'>
  6173. <span>lib/node.js</span>
  6174. </a>
  6175. </div>
  6176. <h3 class='regular'>
  6177. <a class='black' href='#nodewarn'>
  6178. <code>
  6179. warn
  6180. <span class='gray'>(result, text, opts?)</span>
  6181. </code>
  6182. </a>
  6183. </h3>
  6184. <p>This method is provided as a convenience wrapper for <a href="#resultwarn">Result#warn</a>.</p>
  6185. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  6186. <thead class='fill-light'>
  6187. <th class='col-3 small caps quiet'>parameter</th>
  6188. <th class='col-3 small caps quiet'>type</th>
  6189. <th class='col-6 small caps quiet'>description</th>
  6190. </thead>
  6191. <tr>
  6192. <td class='col-3 strong'><code>result</code></td>
  6193. <td class='col-3 quiet'>
  6194. <a href="#result">Result</a>
  6195. </td>
  6196. <td class='col-6'>The
  6197. <a href="#result">Result</a>
  6198. instance
  6199. that will receive the warning.
  6200. </td>
  6201. </tr>
  6202. <tr>
  6203. <td class='col-3 strong'><code>text</code></td>
  6204. <td class='col-3 quiet'>
  6205. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  6206. </td>
  6207. <td class='col-6'>Warning message.
  6208. </td>
  6209. </tr>
  6210. <tr>
  6211. <td class='col-3 strong'><code>opts</code></td>
  6212. <td class='col-3 quiet'>
  6213. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>?
  6214. </td>
  6215. <td class='col-6'>Options
  6216. </td>
  6217. </tr>
  6218. <tr>
  6219. <td class='col-2 strong'>opts.plugin</td>
  6220. <td class="col-2 quiet">
  6221. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  6222. </td>
  6223. <td class='col-8'>Plugin name that created this warning.
  6224. PostCSS will set it automatically.
  6225. </td>
  6226. </tr>
  6227. <tr>
  6228. <td class='col-2 strong'>opts.word</td>
  6229. <td class="col-2 quiet">
  6230. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  6231. </td>
  6232. <td class='col-8'>A word inside a node’s string that should
  6233. be highlighted as the source of the warning.
  6234. </td>
  6235. </tr>
  6236. <tr>
  6237. <td class='col-2 strong'>opts.index</td>
  6238. <td class="col-2 quiet">
  6239. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>
  6240. </td>
  6241. <td class='col-8'>An index inside a node’s string that should
  6242. be highlighted as the source of the warning.
  6243. </td>
  6244. </tr>
  6245. </table>
  6246. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  6247. <code><a href="#warning">Warning</a></code>
  6248. :
  6249. <span class='force-inline'>Created warning object.
  6250. </span>
  6251. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  6252. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> plugin = postcss.plugin(<span class="hljs-string">'postcss-deprecated'</span>, () =&gt; {
  6253. <span class="hljs-keyword">return</span> <span class="hljs-function">(<span class="hljs-params">root, result</span>) =&gt;</span> {
  6254. root.walkDecls(<span class="hljs-string">'bad'</span>, decl =&gt; {
  6255. decl.warn(result, <span class="hljs-string">'Deprecated property bad'</span>)
  6256. })
  6257. }
  6258. })</code></pre>
  6259. </section>
  6260. <section id='noderemove'class='mt2 mb2 px3 py1 keyline-top'>
  6261. <div class='right py2'>
  6262. <span class="px2"></span>
  6263. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L150-L156'>
  6264. <span>lib/node.js</span>
  6265. </a>
  6266. </div>
  6267. <h3 class='regular'>
  6268. <a class='black' href='#noderemove'>
  6269. <code>
  6270. remove
  6271. <span class='gray'>()</span>
  6272. </code>
  6273. </a>
  6274. </h3>
  6275. <p>Removes the node from its parent and cleans the parent properties
  6276. from the node and its children.</p>
  6277. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  6278. <code><a href="#node">Node</a></code>
  6279. :
  6280. <span class='force-inline'>Node to make calls chain.
  6281. </span>
  6282. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  6283. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">if</span> (decl.prop.match(<span class="hljs-regexp">/^-webkit-/</span>)) {
  6284. decl.remove()
  6285. }</code></pre>
  6286. </section>
  6287. <section id='nodetostring'class='mt2 mb2 px3 py1 keyline-top'>
  6288. <div class='right py2'>
  6289. <span class="px2"></span>
  6290. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L169-L176'>
  6291. <span>lib/node.js</span>
  6292. </a>
  6293. </div>
  6294. <h3 class='regular'>
  6295. <a class='black' href='#nodetostring'>
  6296. <code>
  6297. toString
  6298. <span class='gray'>(stringifier = stringify)</span>
  6299. </code>
  6300. </a>
  6301. </h3>
  6302. <p>Returns a CSS string representing the node.</p>
  6303. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  6304. <thead class='fill-light'>
  6305. <th class='col-3 small caps quiet'>parameter</th>
  6306. <th class='col-3 small caps quiet'>type</th>
  6307. <th class='col-6 small caps quiet'>description</th>
  6308. </thead>
  6309. <tr>
  6310. <td class='col-3 strong'><code>stringifier</code></td>
  6311. <td class='col-3 quiet'>
  6312. (<a href="#stringifier">stringifier</a> | <a href="#syntax">syntax</a>)?
  6313. = <code>stringify</code>
  6314. </td>
  6315. <td class='col-6'>A syntax to use
  6316. in string generation.
  6317. </td>
  6318. </tr>
  6319. </table>
  6320. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  6321. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code>
  6322. :
  6323. <span class='force-inline'>CSS string of this node.
  6324. </span>
  6325. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  6326. <pre class='p1 overflow-auto round fill-light'><code>postcss.rule({ <span class="hljs-attr">selector</span>: <span class="hljs-string">'a'</span> }).toString() <span class="hljs-comment">//=&gt; "a {}"</span></code></pre>
  6327. </section>
  6328. <section id='nodeclone'class='mt2 mb2 px3 py1 keyline-top'>
  6329. <div class='right py2'>
  6330. <span class="px2"></span>
  6331. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L194-L200'>
  6332. <span>lib/node.js</span>
  6333. </a>
  6334. </div>
  6335. <h3 class='regular'>
  6336. <a class='black' href='#nodeclone'>
  6337. <code>
  6338. clone
  6339. <span class='gray'>(overrides = {})</span>
  6340. </code>
  6341. </a>
  6342. </h3>
  6343. <p>Returns an exact clone of the node.</p>
  6344. <p>The resulting cloned node and its (cloned) children will retain
  6345. code style properties.</p>
  6346. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  6347. <thead class='fill-light'>
  6348. <th class='col-3 small caps quiet'>parameter</th>
  6349. <th class='col-3 small caps quiet'>type</th>
  6350. <th class='col-6 small caps quiet'>description</th>
  6351. </thead>
  6352. <tr>
  6353. <td class='col-3 strong'><code>overrides</code></td>
  6354. <td class='col-3 quiet'>
  6355. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>?
  6356. = <code>{}</code>
  6357. </td>
  6358. <td class='col-6'>New properties to override in the clone.
  6359. </td>
  6360. </tr>
  6361. </table>
  6362. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  6363. <code><a href="#node">Node</a></code>
  6364. :
  6365. <span class='force-inline'>Clone of the node.
  6366. </span>
  6367. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  6368. <pre class='p1 overflow-auto round fill-light'><code>decl.raws.before <span class="hljs-comment">//=&gt; "\n "</span>
  6369. <span class="hljs-keyword">const</span> cloned = decl.clone({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'-moz-'</span> + decl.prop })
  6370. cloned.raws.before <span class="hljs-comment">//=&gt; "\n "</span>
  6371. cloned.toString() <span class="hljs-comment">//=&gt; -moz-transform: scale(0)</span></code></pre>
  6372. </section>
  6373. <section id='nodeclonebefore'class='mt2 mb2 px3 py1 keyline-top'>
  6374. <div class='right py2'>
  6375. <span class="px2"></span>
  6376. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L213-L217'>
  6377. <span>lib/node.js</span>
  6378. </a>
  6379. </div>
  6380. <h3 class='regular'>
  6381. <a class='black' href='#nodeclonebefore'>
  6382. <code>
  6383. cloneBefore
  6384. <span class='gray'>(overrides = {})</span>
  6385. </code>
  6386. </a>
  6387. </h3>
  6388. <p>Shortcut to clone the node and insert the resulting cloned node
  6389. before the current node.</p>
  6390. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  6391. <thead class='fill-light'>
  6392. <th class='col-3 small caps quiet'>parameter</th>
  6393. <th class='col-3 small caps quiet'>type</th>
  6394. <th class='col-6 small caps quiet'>description</th>
  6395. </thead>
  6396. <tr>
  6397. <td class='col-3 strong'><code>overrides</code></td>
  6398. <td class='col-3 quiet'>
  6399. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>?
  6400. = <code>{}</code>
  6401. </td>
  6402. <td class='col-6'>Mew properties to override in the clone.
  6403. </td>
  6404. </tr>
  6405. </table>
  6406. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  6407. <code><a href="#node">Node</a></code>
  6408. :
  6409. <span class='force-inline'>New node
  6410. </span>
  6411. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  6412. <pre class='p1 overflow-auto round fill-light'><code>decl.cloneBefore({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'-moz-'</span> + decl.prop })</code></pre>
  6413. </section>
  6414. <section id='nodecloneafter'class='mt2 mb2 px3 py1 keyline-top'>
  6415. <div class='right py2'>
  6416. <span class="px2"></span>
  6417. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L227-L231'>
  6418. <span>lib/node.js</span>
  6419. </a>
  6420. </div>
  6421. <h3 class='regular'>
  6422. <a class='black' href='#nodecloneafter'>
  6423. <code>
  6424. cloneAfter
  6425. <span class='gray'>(overrides = {})</span>
  6426. </code>
  6427. </a>
  6428. </h3>
  6429. <p>Shortcut to clone the node and insert the resulting cloned node
  6430. after the current node.</p>
  6431. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  6432. <thead class='fill-light'>
  6433. <th class='col-3 small caps quiet'>parameter</th>
  6434. <th class='col-3 small caps quiet'>type</th>
  6435. <th class='col-6 small caps quiet'>description</th>
  6436. </thead>
  6437. <tr>
  6438. <td class='col-3 strong'><code>overrides</code></td>
  6439. <td class='col-3 quiet'>
  6440. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>?
  6441. = <code>{}</code>
  6442. </td>
  6443. <td class='col-6'>New properties to override in the clone.
  6444. </td>
  6445. </tr>
  6446. </table>
  6447. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  6448. <code><a href="#node">Node</a></code>
  6449. :
  6450. <span class='force-inline'>New node.
  6451. </span>
  6452. </section>
  6453. <section id='nodereplacewith'class='mt2 mb2 px3 py1 keyline-top'>
  6454. <div class='right py2'>
  6455. <span class="px2"></span>
  6456. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L245-L255'>
  6457. <span>lib/node.js</span>
  6458. </a>
  6459. </div>
  6460. <h3 class='regular'>
  6461. <a class='black' href='#nodereplacewith'>
  6462. <code>
  6463. replaceWith
  6464. <span class='gray'>(nodes)</span>
  6465. </code>
  6466. </a>
  6467. </h3>
  6468. <p>Inserts node(s) before the current node and removes the current node.</p>
  6469. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  6470. <thead class='fill-light'>
  6471. <th class='col-3 small caps quiet'>parameter</th>
  6472. <th class='col-3 small caps quiet'>type</th>
  6473. <th class='col-6 small caps quiet'>description</th>
  6474. </thead>
  6475. <tr>
  6476. <td class='col-3 strong'><code>nodes</code></td>
  6477. <td class='col-3 quiet'>
  6478. ...<a href="#node">Node</a>
  6479. </td>
  6480. <td class='col-6'>Mode(s) to replace current one.
  6481. </td>
  6482. </tr>
  6483. </table>
  6484. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  6485. <code><a href="#node">Node</a></code>
  6486. :
  6487. <span class='force-inline'>Current node to methods chain.
  6488. </span>
  6489. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  6490. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">if</span> (atrule.name === <span class="hljs-string">'mixin'</span>) {
  6491. atrule.replaceWith(mixinRules[atrule.params])
  6492. }</code></pre>
  6493. </section>
  6494. <section id='nodenext'class='mt2 mb2 px3 py1 keyline-top'>
  6495. <div class='right py2'>
  6496. <span class="px2"></span>
  6497. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L271-L275'>
  6498. <span>lib/node.js</span>
  6499. </a>
  6500. </div>
  6501. <h3 class='regular'>
  6502. <a class='black' href='#nodenext'>
  6503. <code>
  6504. next
  6505. <span class='gray'>()</span>
  6506. </code>
  6507. </a>
  6508. </h3>
  6509. <p>Returns the next child of the node’s parent.
  6510. Returns <code>undefined</code> if the current node is the last child.</p>
  6511. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  6512. <code>(<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  6513. :
  6514. <span class='force-inline'>Next node.
  6515. </span>
  6516. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  6517. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">if</span> (comment.text === <span class="hljs-string">'delete next'</span>) {
  6518. <span class="hljs-keyword">const</span> next = comment.next()
  6519. <span class="hljs-keyword">if</span> (next) {
  6520. next.remove()
  6521. }
  6522. }</code></pre>
  6523. </section>
  6524. <section id='nodeprev'class='mt2 mb2 px3 py1 keyline-top'>
  6525. <div class='right py2'>
  6526. <span class="px2"></span>
  6527. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L289-L293'>
  6528. <span>lib/node.js</span>
  6529. </a>
  6530. </div>
  6531. <h3 class='regular'>
  6532. <a class='black' href='#nodeprev'>
  6533. <code>
  6534. prev
  6535. <span class='gray'>()</span>
  6536. </code>
  6537. </a>
  6538. </h3>
  6539. <p>Returns the previous child of the node’s parent.
  6540. Returns <code>undefined</code> if the current node is the first child.</p>
  6541. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  6542. <code>(<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  6543. :
  6544. <span class='force-inline'>Previous node.
  6545. </span>
  6546. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  6547. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> annotation = decl.prev()
  6548. <span class="hljs-keyword">if</span> (annotation.type === <span class="hljs-string">'comment'</span>) {
  6549. readAnnotation(annotation.text)
  6550. }</code></pre>
  6551. </section>
  6552. <section id='nodebefore'class='mt2 mb2 px3 py1 keyline-top'>
  6553. <div class='right py2'>
  6554. <span class="px2"></span>
  6555. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L307-L310'>
  6556. <span>lib/node.js</span>
  6557. </a>
  6558. </div>
  6559. <h3 class='regular'>
  6560. <a class='black' href='#nodebefore'>
  6561. <code>
  6562. before
  6563. <span class='gray'>(add)</span>
  6564. </code>
  6565. </a>
  6566. </h3>
  6567. <p>Insert new node before current node to current node’s parent.</p>
  6568. <p>Just alias for <code>node.parent.insertBefore(node, add)</code>.</p>
  6569. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  6570. <thead class='fill-light'>
  6571. <th class='col-3 small caps quiet'>parameter</th>
  6572. <th class='col-3 small caps quiet'>type</th>
  6573. <th class='col-6 small caps quiet'>description</th>
  6574. </thead>
  6575. <tr>
  6576. <td class='col-3 strong'><code>add</code></td>
  6577. <td class='col-3 quiet'>
  6578. (<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="#node">Node</a>>)
  6579. </td>
  6580. <td class='col-6'>New node.
  6581. </td>
  6582. </tr>
  6583. </table>
  6584. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  6585. <code><a href="#node">Node</a></code>
  6586. :
  6587. <span class='force-inline'>This node for methods chain.
  6588. </span>
  6589. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  6590. <pre class='p1 overflow-auto round fill-light'><code>decl.before(<span class="hljs-string">'content: ""'</span>)</code></pre>
  6591. </section>
  6592. <section id='nodeafter'class='mt2 mb2 px3 py1 keyline-top'>
  6593. <div class='right py2'>
  6594. <span class="px2"></span>
  6595. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L324-L327'>
  6596. <span>lib/node.js</span>
  6597. </a>
  6598. </div>
  6599. <h3 class='regular'>
  6600. <a class='black' href='#nodeafter'>
  6601. <code>
  6602. after
  6603. <span class='gray'>(add)</span>
  6604. </code>
  6605. </a>
  6606. </h3>
  6607. <p>Insert new node after current node to current node’s parent.</p>
  6608. <p>Just alias for <code>node.parent.insertAfter(node, add)</code>.</p>
  6609. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  6610. <thead class='fill-light'>
  6611. <th class='col-3 small caps quiet'>parameter</th>
  6612. <th class='col-3 small caps quiet'>type</th>
  6613. <th class='col-6 small caps quiet'>description</th>
  6614. </thead>
  6615. <tr>
  6616. <td class='col-3 strong'><code>add</code></td>
  6617. <td class='col-3 quiet'>
  6618. (<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="#node">Node</a>>)
  6619. </td>
  6620. <td class='col-6'>New node.
  6621. </td>
  6622. </tr>
  6623. </table>
  6624. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  6625. <code><a href="#node">Node</a></code>
  6626. :
  6627. <span class='force-inline'>This node for methods chain.
  6628. </span>
  6629. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  6630. <pre class='p1 overflow-auto round fill-light'><code>decl.after(<span class="hljs-string">'color: black'</span>)</code></pre>
  6631. </section>
  6632. <section id='noderaw'class='mt2 mb2 px3 py1 keyline-top'>
  6633. <div class='right py2'>
  6634. <span class="px2"></span>
  6635. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L374-L377'>
  6636. <span>lib/node.js</span>
  6637. </a>
  6638. </div>
  6639. <h3 class='regular'>
  6640. <a class='black' href='#noderaw'>
  6641. <code>
  6642. raw
  6643. <span class='gray'>(prop, defaultType?)</span>
  6644. </code>
  6645. </a>
  6646. </h3>
  6647. <p>Returns a <a href="Node#raws">Node#raws</a> value. If the node is missing
  6648. the code style property (because the node was manually built or cloned),
  6649. PostCSS will try to autodetect the code style property by looking
  6650. at other nodes in the tree.</p>
  6651. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  6652. <thead class='fill-light'>
  6653. <th class='col-3 small caps quiet'>parameter</th>
  6654. <th class='col-3 small caps quiet'>type</th>
  6655. <th class='col-6 small caps quiet'>description</th>
  6656. </thead>
  6657. <tr>
  6658. <td class='col-3 strong'><code>prop</code></td>
  6659. <td class='col-3 quiet'>
  6660. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  6661. </td>
  6662. <td class='col-6'>Name of code style property.
  6663. </td>
  6664. </tr>
  6665. <tr>
  6666. <td class='col-3 strong'><code>defaultType</code></td>
  6667. <td class='col-3 quiet'>
  6668. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>?
  6669. </td>
  6670. <td class='col-6'>Name of default value, it can be missed
  6671. if the value is the same as prop.
  6672. </td>
  6673. </tr>
  6674. </table>
  6675. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  6676. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code>
  6677. :
  6678. <span class='force-inline'>Code style value.
  6679. </span>
  6680. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  6681. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> root = postcss.parse(<span class="hljs-string">'a { background: white }'</span>)
  6682. root.nodes[<span class="hljs-number">0</span>].append({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'color'</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'black'</span> })
  6683. root.nodes[<span class="hljs-number">0</span>].nodes[<span class="hljs-number">1</span>].raws.before <span class="hljs-comment">//=&gt; undefined</span>
  6684. root.nodes[<span class="hljs-number">0</span>].nodes[<span class="hljs-number">1</span>].raw(<span class="hljs-string">'before'</span>) <span class="hljs-comment">//=&gt; ' '</span></code></pre>
  6685. </section>
  6686. <section id='noderoot'class='mt2 mb2 px3 py1 keyline-top'>
  6687. <div class='right py2'>
  6688. <span class="px2"></span>
  6689. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L387-L391'>
  6690. <span>lib/node.js</span>
  6691. </a>
  6692. </div>
  6693. <h3 class='regular'>
  6694. <a class='black' href='#noderoot'>
  6695. <code>
  6696. root
  6697. <span class='gray'>()</span>
  6698. </code>
  6699. </a>
  6700. </h3>
  6701. <p>Finds the Root instance of the node’s tree.</p>
  6702. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  6703. <code><a href="#root">Root</a></code>
  6704. :
  6705. <span class='force-inline'>Root parent.
  6706. </span>
  6707. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  6708. <pre class='p1 overflow-auto round fill-light'><code>root.nodes[<span class="hljs-number">0</span>].nodes[<span class="hljs-number">0</span>].root() === root</code></pre>
  6709. </section>
  6710. <section id='nodecleanraws'class='mt2 mb2 px3 py1 keyline-top'>
  6711. <div class='right py2'>
  6712. <span class="px2"></span>
  6713. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L405-L409'>
  6714. <span>lib/node.js</span>
  6715. </a>
  6716. </div>
  6717. <h3 class='regular'>
  6718. <a class='black' href='#nodecleanraws'>
  6719. <code>
  6720. cleanRaws
  6721. <span class='gray'>(keepBetween?)</span>
  6722. </code>
  6723. </a>
  6724. </h3>
  6725. <p>Clear the code style properties for the node and its children.</p>
  6726. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  6727. <thead class='fill-light'>
  6728. <th class='col-3 small caps quiet'>parameter</th>
  6729. <th class='col-3 small caps quiet'>type</th>
  6730. <th class='col-6 small caps quiet'>description</th>
  6731. </thead>
  6732. <tr>
  6733. <td class='col-3 strong'><code>keepBetween</code></td>
  6734. <td class='col-3 quiet'>
  6735. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>?
  6736. </td>
  6737. <td class='col-6'>Keep the raws.between symbols.
  6738. </td>
  6739. </tr>
  6740. </table>
  6741. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  6742. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a></code>
  6743. :
  6744. <span class='force-inline'>
  6745. </span>
  6746. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  6747. <pre class='p1 overflow-auto round fill-light'><code>node.raws.before <span class="hljs-comment">//=&gt; ' '</span>
  6748. node.cleanRaws()
  6749. node.raws.before <span class="hljs-comment">//=&gt; undefined</span></code></pre>
  6750. </section>
  6751. </div>
  6752. </section>
  6753. <section id='previousmap'class='mt2 mb2 px3 py1 keyline-top'>
  6754. <div class='right py2'>
  6755. <span class="px2"></span>
  6756. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/previous-map.js#L24-L140'>
  6757. <span>lib/previous-map.js</span>
  6758. </a>
  6759. </div>
  6760. <h3 class='regular'>
  6761. <a class='black' href='#previousmap'>
  6762. <code>
  6763. PreviousMap
  6764. <span class='gray'>(css, opts?)</span>
  6765. </code>
  6766. </a>
  6767. </h3>
  6768. <p>Source map information from input CSS.
  6769. For example, source map after Sass compiler.</p>
  6770. <p>This class will automatically find source map in input CSS or in file system
  6771. near input file (according <code>from</code> option).</p>
  6772. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  6773. <thead class='fill-light'>
  6774. <th class='col-3 small caps quiet'>parameter</th>
  6775. <th class='col-3 small caps quiet'>type</th>
  6776. <th class='col-6 small caps quiet'>description</th>
  6777. </thead>
  6778. <tr>
  6779. <td class='col-3 strong'><code>css</code></td>
  6780. <td class='col-3 quiet'>
  6781. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  6782. </td>
  6783. <td class='col-6'>Input CSS source.
  6784. </td>
  6785. </tr>
  6786. <tr>
  6787. <td class='col-3 strong'><code>opts</code></td>
  6788. <td class='col-3 quiet'>
  6789. <a href="#processoptions">processOptions</a>?
  6790. </td>
  6791. <td class='col-6'><a href="#processorprocess">Processor#process</a>
  6792. options.
  6793. </td>
  6794. </tr>
  6795. </table>
  6796. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  6797. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> root = postcss.parse(css, { <span class="hljs-attr">from</span>: <span class="hljs-string">'a.sass.css'</span> })
  6798. root.input.map <span class="hljs-comment">//=&gt; PreviousMap</span></code></pre>
  6799. <h4 class='caps quiet mb2 mt3'>Instance Members</h4>
  6800. <div class="section-indent">
  6801. <section id='previousmapinline'class='mt2 mb2 px3 py1 keyline-top'>
  6802. <div class='right py2'>
  6803. <span class="px2"></span>
  6804. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/previous-map.js#L36-L36'>
  6805. <span>lib/previous-map.js</span>
  6806. </a>
  6807. </div>
  6808. <h3 class='regular'>
  6809. <a class='black' href='#previousmapinline'>
  6810. <code>
  6811. inline
  6812. <span class='gray'>()</span>
  6813. </code>
  6814. </a>
  6815. </h3>
  6816. <p>Was source map inlined by data-uri to input CSS.</p>
  6817. <p>
  6818. Type:
  6819. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>
  6820. </p>
  6821. </section>
  6822. <section id='previousmapconsumer'class='mt2 mb2 px3 py1 keyline-top'>
  6823. <div class='right py2'>
  6824. <span class="px2"></span>
  6825. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/previous-map.js#L52-L57'>
  6826. <span>lib/previous-map.js</span>
  6827. </a>
  6828. </div>
  6829. <h3 class='regular'>
  6830. <a class='black' href='#previousmapconsumer'>
  6831. <code>
  6832. consumer
  6833. <span class='gray'>()</span>
  6834. </code>
  6835. </a>
  6836. </h3>
  6837. <p>Create a instance of <code>SourceMapGenerator</code> class
  6838. from the <code>source-map</code> library to work with source map information.</p>
  6839. <p>It is lazy method, so it will create object only on first call
  6840. and then it will use cache.</p>
  6841. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  6842. <code>SourceMapGenerator</code>
  6843. :
  6844. <span class='force-inline'>Object with source map information.
  6845. </span>
  6846. </section>
  6847. <section id='previousmapwithcontent'class='mt2 mb2 px3 py1 keyline-top'>
  6848. <div class='right py2'>
  6849. <span class="px2"></span>
  6850. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/previous-map.js#L64-L67'>
  6851. <span>lib/previous-map.js</span>
  6852. </a>
  6853. </div>
  6854. <h3 class='regular'>
  6855. <a class='black' href='#previousmapwithcontent'>
  6856. <code>
  6857. withContent
  6858. <span class='gray'>()</span>
  6859. </code>
  6860. </a>
  6861. </h3>
  6862. <p>Does source map contains <code>sourcesContent</code> with input source text.</p>
  6863. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  6864. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code>
  6865. :
  6866. <span class='force-inline'>Is
  6867. <code>sourcesContent</code>
  6868. present.
  6869. </span>
  6870. </section>
  6871. </div>
  6872. </section>
  6873. <section id='processor'class='mt2 mb2 px3 py1 keyline-top'>
  6874. <div class='right py2'>
  6875. <span class="px2"></span>
  6876. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/processor.js#L13-L136'>
  6877. <span>lib/processor.js</span>
  6878. </a>
  6879. </div>
  6880. <h3 class='regular'>
  6881. <a class='black' href='#processor'>
  6882. <code>
  6883. Processor
  6884. <span class='gray'>(plugins)</span>
  6885. </code>
  6886. </a>
  6887. </h3>
  6888. <p>Contains plugins to process CSS. Create one <code>Processor</code> instance,
  6889. initialize its plugins, and then use that instance on numerous CSS files.</p>
  6890. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  6891. <thead class='fill-light'>
  6892. <th class='col-3 small caps quiet'>parameter</th>
  6893. <th class='col-3 small caps quiet'>type</th>
  6894. <th class='col-6 small caps quiet'>description</th>
  6895. </thead>
  6896. <tr>
  6897. <td class='col-3 strong'><code>plugins</code></td>
  6898. <td class='col-3 quiet'>
  6899. (<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;(<a href="#plugin">Plugin</a> | <a href="#pluginfunction">pluginFunction</a>)> | <a href="#processor">Processor</a>)
  6900. = <code>[]</code>
  6901. </td>
  6902. <td class='col-6'>PostCSS plugins.
  6903. See
  6904. <a href="#processoruse">Processor#use</a>
  6905. for plugin format.
  6906. </td>
  6907. </tr>
  6908. </table>
  6909. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  6910. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> processor = postcss([autoprefixer, precss])
  6911. processor.process(css1).then(<span class="hljs-function"><span class="hljs-params">result</span> =&gt;</span> <span class="hljs-built_in">console</span>.log(result.css))
  6912. processor.process(css2).then(<span class="hljs-function"><span class="hljs-params">result</span> =&gt;</span> <span class="hljs-built_in">console</span>.log(result.css))</code></pre>
  6913. <h4 class='caps quiet mb2 mt3'>Instance Members</h4>
  6914. <div class="section-indent">
  6915. <section id='processorversion'class='mt2 mb2 px3 py1 keyline-top'>
  6916. <div class='right py2'>
  6917. <span class="px2"></span>
  6918. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/processor.js#L29-L29'>
  6919. <span>lib/processor.js</span>
  6920. </a>
  6921. </div>
  6922. <h3 class='regular'>
  6923. <a class='black' href='#processorversion'>
  6924. <code>
  6925. version
  6926. <span class='gray'>()</span>
  6927. </code>
  6928. </a>
  6929. </h3>
  6930. <p>Current PostCSS version.</p>
  6931. <p>
  6932. Type:
  6933. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  6934. </p>
  6935. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  6936. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">if</span> (result.processor.version.split(<span class="hljs-string">'.'</span>)[<span class="hljs-number">0</span>] !== <span class="hljs-string">'6'</span>) {
  6937. <span class="hljs-keyword">throw</span> <span class="hljs-keyword">new</span> <span class="hljs-built_in">Error</span>(<span class="hljs-string">'This plugin works only with PostCSS 6'</span>)
  6938. }</code></pre>
  6939. </section>
  6940. <section id='processorplugins'class='mt2 mb2 px3 py1 keyline-top'>
  6941. <div class='right py2'>
  6942. <span class="px2"></span>
  6943. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/processor.js#L39-L39'>
  6944. <span>lib/processor.js</span>
  6945. </a>
  6946. </div>
  6947. <h3 class='regular'>
  6948. <a class='black' href='#processorplugins'>
  6949. <code>
  6950. plugins
  6951. <span class='gray'>()</span>
  6952. </code>
  6953. </a>
  6954. </h3>
  6955. <p>Plugins added to this processor.</p>
  6956. <p>
  6957. Type:
  6958. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="#pluginfunction">pluginFunction</a>>
  6959. </p>
  6960. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  6961. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> processor = postcss([autoprefixer, precss])
  6962. processor.plugins.length <span class="hljs-comment">//=&gt; 2</span></code></pre>
  6963. </section>
  6964. <section id='processoruse'class='mt2 mb2 px3 py1 keyline-top'>
  6965. <div class='right py2'>
  6966. <span class="px2"></span>
  6967. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/processor.js#L71-L74'>
  6968. <span>lib/processor.js</span>
  6969. </a>
  6970. </div>
  6971. <h3 class='regular'>
  6972. <a class='black' href='#processoruse'>
  6973. <code>
  6974. use
  6975. <span class='gray'>(plugin)</span>
  6976. </code>
  6977. </a>
  6978. </h3>
  6979. <p>Adds a plugin to be used as a CSS processor.</p>
  6980. <p>PostCSS plugin can be in 4 formats:</p>
  6981. <ul>
  6982. <li>A plugin created by <a href="#postcssplugin">postcss.plugin</a> method.</li>
  6983. <li>A function. PostCSS will pass the function a @{link Root}
  6984. as the first argument and current <a href="#result">Result</a> instance
  6985. as the second.</li>
  6986. <li>An object with a <code>postcss</code> method. PostCSS will use that method
  6987. as described in #2.</li>
  6988. <li>Another <a href="#processor">Processor</a> instance. PostCSS will copy plugins
  6989. from that instance into this one.</li>
  6990. </ul>
  6991. <p>Plugins can also be added by passing them as arguments when creating
  6992. a <code>postcss</code> instance (see [<code>postcss(plugins)</code>]).</p>
  6993. <p>Asynchronous plugins should return a <code>Promise</code> instance.</p>
  6994. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  6995. <thead class='fill-light'>
  6996. <th class='col-3 small caps quiet'>parameter</th>
  6997. <th class='col-3 small caps quiet'>type</th>
  6998. <th class='col-6 small caps quiet'>description</th>
  6999. </thead>
  7000. <tr>
  7001. <td class='col-3 strong'><code>plugin</code></td>
  7002. <td class='col-3 quiet'>
  7003. (<a href="#plugin">Plugin</a> | <a href="#pluginfunction">pluginFunction</a> | <a href="#processor">Processor</a>)
  7004. </td>
  7005. <td class='col-6'>PostCSS plugin
  7006. or
  7007. <a href="#processor">Processor</a>
  7008. with plugins.
  7009. </td>
  7010. </tr>
  7011. </table>
  7012. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  7013. <code>Processes</code>
  7014. :
  7015. <span class='force-inline'>Current processor to make methods chain.
  7016. </span>
  7017. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  7018. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> processor = postcss()
  7019. .use(autoprefixer)
  7020. .use(precss)</code></pre>
  7021. </section>
  7022. <section id='processorprocess'class='mt2 mb2 px3 py1 keyline-top'>
  7023. <div class='right py2'>
  7024. <span class="px2"></span>
  7025. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/processor.js#L98-L111'>
  7026. <span>lib/processor.js</span>
  7027. </a>
  7028. </div>
  7029. <h3 class='regular'>
  7030. <a class='black' href='#processorprocess'>
  7031. <code>
  7032. process
  7033. <span class='gray'>(css, opts = {})</span>
  7034. </code>
  7035. </a>
  7036. </h3>
  7037. <p>Parses source CSS and returns a <a href="#lazyresult">LazyResult</a> Promise proxy.
  7038. Because some plugins can be asynchronous it doesn’t make
  7039. any transformations. Transformations will be applied
  7040. in the <a href="#lazyresult">LazyResult</a> methods.</p>
  7041. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  7042. <thead class='fill-light'>
  7043. <th class='col-3 small caps quiet'>parameter</th>
  7044. <th class='col-3 small caps quiet'>type</th>
  7045. <th class='col-6 small caps quiet'>description</th>
  7046. </thead>
  7047. <tr>
  7048. <td class='col-3 strong'><code>css</code></td>
  7049. <td class='col-3 quiet'>
  7050. (<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="#tostring">toString</a> | <a href="#result">Result</a>)
  7051. </td>
  7052. <td class='col-6'>String with input CSS or any object
  7053. with a
  7054. <code>toString()</code>
  7055. method,
  7056. like a Buffer. Optionally, send
  7057. a
  7058. <a href="#result">Result</a>
  7059. instance
  7060. and the processor will take
  7061. the
  7062. <a href="#root">Root</a>
  7063. from it.
  7064. </td>
  7065. </tr>
  7066. <tr>
  7067. <td class='col-3 strong'><code>opts</code></td>
  7068. <td class='col-3 quiet'>
  7069. <a href="#processoptions">processOptions</a>?
  7070. = <code>{}</code>
  7071. </td>
  7072. <td class='col-6'>Options.
  7073. </td>
  7074. </tr>
  7075. </table>
  7076. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  7077. <code><a href="#lazyresult">LazyResult</a></code>
  7078. :
  7079. <span class='force-inline'>Promise proxy.
  7080. </span>
  7081. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  7082. <pre class='p1 overflow-auto round fill-light'><code>processor.process(css, { <span class="hljs-attr">from</span>: <span class="hljs-string">'a.css'</span>, <span class="hljs-attr">to</span>: <span class="hljs-string">'a.out.css'</span> })
  7083. .then(<span class="hljs-function"><span class="hljs-params">result</span> =&gt;</span> {
  7084. <span class="hljs-built_in">console</span>.log(result.css)
  7085. })</code></pre>
  7086. </section>
  7087. </div>
  7088. </section>
  7089. <section id='result'class='mt2 mb2 px3 py1 keyline-top'>
  7090. <div class='right py2'>
  7091. <span class="px2"></span>
  7092. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/result.js#L17-L170'>
  7093. <span>lib/result.js</span>
  7094. </a>
  7095. </div>
  7096. <h3 class='regular'>
  7097. <a class='black' href='#result'>
  7098. <code>
  7099. Result
  7100. <span class='gray'>(processor, root, opts)</span>
  7101. </code>
  7102. </a>
  7103. </h3>
  7104. <p>Provides the result of the PostCSS transformations.</p>
  7105. <p>A Result instance is returned by <a href="#lazyresultthen">LazyResult#then</a>
  7106. or <a href="#roottoresult">Root#toResult</a> methods.</p>
  7107. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  7108. <thead class='fill-light'>
  7109. <th class='col-3 small caps quiet'>parameter</th>
  7110. <th class='col-3 small caps quiet'>type</th>
  7111. <th class='col-6 small caps quiet'>description</th>
  7112. </thead>
  7113. <tr>
  7114. <td class='col-3 strong'><code>processor</code></td>
  7115. <td class='col-3 quiet'>
  7116. <a href="#processor">Processor</a>
  7117. </td>
  7118. <td class='col-6'>Processor used for this transformation.
  7119. </td>
  7120. </tr>
  7121. <tr>
  7122. <td class='col-3 strong'><code>root</code></td>
  7123. <td class='col-3 quiet'>
  7124. <a href="#root">Root</a>
  7125. </td>
  7126. <td class='col-6'>Root node after all transformations.
  7127. </td>
  7128. </tr>
  7129. <tr>
  7130. <td class='col-3 strong'><code>opts</code></td>
  7131. <td class='col-3 quiet'>
  7132. <a href="#processoptions">processOptions</a>
  7133. </td>
  7134. <td class='col-6'>Options from the
  7135. <a href="#processorprocess">Processor#process</a>
  7136. or
  7137. <a href="#roottoresult">Root#toResult</a>
  7138. .
  7139. </td>
  7140. </tr>
  7141. </table>
  7142. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  7143. <pre class='p1 overflow-auto round fill-light'><code>postcss([autoprefixer]).process(css).then(<span class="hljs-function"><span class="hljs-params">result</span> =&gt;</span> {
  7144. <span class="hljs-built_in">console</span>.log(result.css)
  7145. })</code></pre>
  7146. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> result2 = postcss.parse(css).toResult()</code></pre>
  7147. <h4 class='caps quiet mb2 mt3'>Instance Members</h4>
  7148. <div class="section-indent">
  7149. <section id='resultprocessor'class='mt2 mb2 px3 py1 keyline-top'>
  7150. <div class='right py2'>
  7151. <span class="px2"></span>
  7152. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/result.js#L37-L37'>
  7153. <span>lib/result.js</span>
  7154. </a>
  7155. </div>
  7156. <h3 class='regular'>
  7157. <a class='black' href='#resultprocessor'>
  7158. <code>
  7159. processor
  7160. <span class='gray'>()</span>
  7161. </code>
  7162. </a>
  7163. </h3>
  7164. <p>The Processor instance used for this transformation.</p>
  7165. <p>
  7166. Type:
  7167. <a href="#processor">Processor</a>
  7168. </p>
  7169. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  7170. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">for</span> (<span class="hljs-keyword">const</span> plugin <span class="hljs-keyword">of</span> result.processor.plugins) {
  7171. <span class="hljs-keyword">if</span> (plugin.postcssPlugin === <span class="hljs-string">'postcss-bad'</span>) {
  7172. <span class="hljs-keyword">throw</span> <span class="hljs-string">'postcss-good is incompatible with postcss-bad'</span>
  7173. }
  7174. })</code></pre>
  7175. </section>
  7176. <section id='resultmessages'class='mt2 mb2 px3 py1 keyline-top'>
  7177. <div class='right py2'>
  7178. <span class="px2"></span>
  7179. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/result.js#L56-L56'>
  7180. <span>lib/result.js</span>
  7181. </a>
  7182. </div>
  7183. <h3 class='regular'>
  7184. <a class='black' href='#resultmessages'>
  7185. <code>
  7186. messages
  7187. <span class='gray'>()</span>
  7188. </code>
  7189. </a>
  7190. </h3>
  7191. <p>Contains messages from plugins (e.g., warnings or custom messages).
  7192. Each message should have type and plugin properties.</p>
  7193. <p>
  7194. Type:
  7195. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="#message">Message</a>>
  7196. </p>
  7197. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  7198. <pre class='p1 overflow-auto round fill-light'><code>postcss.plugin(<span class="hljs-string">'postcss-min-browser'</span>, () =&gt; {
  7199. <span class="hljs-keyword">return</span> <span class="hljs-function">(<span class="hljs-params">root, result</span>) =&gt;</span> {
  7200. <span class="hljs-keyword">const</span> browsers = detectMinBrowsersByCanIUse(root)
  7201. result.messages.push({
  7202. <span class="hljs-attr">type</span>: <span class="hljs-string">'min-browser'</span>,
  7203. <span class="hljs-attr">plugin</span>: <span class="hljs-string">'postcss-min-browser'</span>,
  7204. browsers
  7205. })
  7206. }
  7207. })</code></pre>
  7208. </section>
  7209. <section id='resultroot'class='mt2 mb2 px3 py1 keyline-top'>
  7210. <div class='right py2'>
  7211. <span class="px2"></span>
  7212. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/result.js#L65-L65'>
  7213. <span>lib/result.js</span>
  7214. </a>
  7215. </div>
  7216. <h3 class='regular'>
  7217. <a class='black' href='#resultroot'>
  7218. <code>
  7219. root
  7220. <span class='gray'>()</span>
  7221. </code>
  7222. </a>
  7223. </h3>
  7224. <p>Root node after all transformations.</p>
  7225. <p>
  7226. Type:
  7227. <a href="#root">Root</a>
  7228. </p>
  7229. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  7230. <pre class='p1 overflow-auto round fill-light'><code>root.toResult().root === root</code></pre>
  7231. </section>
  7232. <section id='resultopts'class='mt2 mb2 px3 py1 keyline-top'>
  7233. <div class='right py2'>
  7234. <span class="px2"></span>
  7235. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/result.js#L75-L75'>
  7236. <span>lib/result.js</span>
  7237. </a>
  7238. </div>
  7239. <h3 class='regular'>
  7240. <a class='black' href='#resultopts'>
  7241. <code>
  7242. opts
  7243. <span class='gray'>()</span>
  7244. </code>
  7245. </a>
  7246. </h3>
  7247. <p>Options from the <a href="#processorprocess">Processor#process</a> or <a href="#roottoresult">Root#toResult</a> call
  7248. that produced this Result instance.</p>
  7249. <p>
  7250. Type:
  7251. <a href="#processoptions">processOptions</a>
  7252. </p>
  7253. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  7254. <pre class='p1 overflow-auto round fill-light'><code>root.toResult(opts).opts === opts</code></pre>
  7255. </section>
  7256. <section id='resultcss'class='mt2 mb2 px3 py1 keyline-top'>
  7257. <div class='right py2'>
  7258. <span class="px2"></span>
  7259. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/result.js#L84-L84'>
  7260. <span>lib/result.js</span>
  7261. </a>
  7262. </div>
  7263. <h3 class='regular'>
  7264. <a class='black' href='#resultcss'>
  7265. <code>
  7266. css
  7267. <span class='gray'>()</span>
  7268. </code>
  7269. </a>
  7270. </h3>
  7271. <p>A CSS string representing of <a href="#resultroot">Result#root</a>.</p>
  7272. <p>
  7273. Type:
  7274. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  7275. </p>
  7276. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  7277. <pre class='p1 overflow-auto round fill-light'><code>postcss.parse(<span class="hljs-string">'a{}'</span>).toResult().css <span class="hljs-comment">//=&gt; "a{}"</span></code></pre>
  7278. </section>
  7279. <section id='resultmap'class='mt2 mb2 px3 py1 keyline-top'>
  7280. <div class='right py2'>
  7281. <span class="px2"></span>
  7282. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/result.js#L99-L99'>
  7283. <span>lib/result.js</span>
  7284. </a>
  7285. </div>
  7286. <h3 class='regular'>
  7287. <a class='black' href='#resultmap'>
  7288. <code>
  7289. map
  7290. <span class='gray'>()</span>
  7291. </code>
  7292. </a>
  7293. </h3>
  7294. <p>An instance of <code>SourceMapGenerator</code> class from the <code>source-map</code> library,
  7295. representing changes to the <a href="#resultroot">Result#root</a> instance.</p>
  7296. <p>
  7297. Type:
  7298. SourceMapGenerator
  7299. </p>
  7300. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  7301. <pre class='p1 overflow-auto round fill-light'><code>result.map.toJSON() <span class="hljs-comment">//=&gt; { version: 3, file: 'a.css', … }</span></code></pre>
  7302. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">if</span> (result.map) {
  7303. fs.writeFileSync(result.opts.to + <span class="hljs-string">'.map'</span>, result.map.toString())
  7304. }</code></pre>
  7305. </section>
  7306. <section id='resulttostring'class='mt2 mb2 px3 py1 keyline-top'>
  7307. <div class='right py2'>
  7308. <span class="px2"></span>
  7309. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/result.js#L110-L112'>
  7310. <span>lib/result.js</span>
  7311. </a>
  7312. </div>
  7313. <h3 class='regular'>
  7314. <a class='black' href='#resulttostring'>
  7315. <code>
  7316. toString
  7317. <span class='gray'>()</span>
  7318. </code>
  7319. </a>
  7320. </h3>
  7321. <p>Returns for @{link Result#css} content.</p>
  7322. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  7323. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code>
  7324. :
  7325. <span class='force-inline'>String representing of
  7326. <a href="#resultroot">Result#root</a>
  7327. .
  7328. </span>
  7329. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  7330. <pre class='p1 overflow-auto round fill-light'><code>result + <span class="hljs-string">''</span> === result.css</code></pre>
  7331. </section>
  7332. <section id='resultwarn'class='mt2 mb2 px3 py1 keyline-top'>
  7333. <div class='right py2'>
  7334. <span class="px2"></span>
  7335. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/result.js#L130-L141'>
  7336. <span>lib/result.js</span>
  7337. </a>
  7338. </div>
  7339. <h3 class='regular'>
  7340. <a class='black' href='#resultwarn'>
  7341. <code>
  7342. warn
  7343. <span class='gray'>(text, opts = {})</span>
  7344. </code>
  7345. </a>
  7346. </h3>
  7347. <p>Creates an instance of <a href="#warning">Warning</a> and adds it
  7348. to <a href="#resultmessages">Result#messages</a>.</p>
  7349. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  7350. <thead class='fill-light'>
  7351. <th class='col-3 small caps quiet'>parameter</th>
  7352. <th class='col-3 small caps quiet'>type</th>
  7353. <th class='col-6 small caps quiet'>description</th>
  7354. </thead>
  7355. <tr>
  7356. <td class='col-3 strong'><code>text</code></td>
  7357. <td class='col-3 quiet'>
  7358. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  7359. </td>
  7360. <td class='col-6'>Warning message.
  7361. </td>
  7362. </tr>
  7363. <tr>
  7364. <td class='col-3 strong'><code>opts</code></td>
  7365. <td class='col-3 quiet'>
  7366. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>?
  7367. = <code>{}</code>
  7368. </td>
  7369. <td class='col-6'>Warning options.
  7370. </td>
  7371. </tr>
  7372. <tr>
  7373. <td class='col-2 strong'>opts.node</td>
  7374. <td class="col-2 quiet">
  7375. <a href="#node">Node</a>
  7376. </td>
  7377. <td class='col-8'>CSS node that caused the warning.
  7378. </td>
  7379. </tr>
  7380. <tr>
  7381. <td class='col-2 strong'>opts.word</td>
  7382. <td class="col-2 quiet">
  7383. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  7384. </td>
  7385. <td class='col-8'>Word in CSS source that caused the warning.
  7386. </td>
  7387. </tr>
  7388. <tr>
  7389. <td class='col-2 strong'>opts.index</td>
  7390. <td class="col-2 quiet">
  7391. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>
  7392. </td>
  7393. <td class='col-8'>Index in CSS node string that caused
  7394. the warning.
  7395. </td>
  7396. </tr>
  7397. <tr>
  7398. <td class='col-2 strong'>opts.plugin</td>
  7399. <td class="col-2 quiet">
  7400. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  7401. </td>
  7402. <td class='col-8'>Name of the plugin that created
  7403. this warning.
  7404. <a href="#resultwarn">Result#warn</a>
  7405. fills
  7406. this property automatically.
  7407. </td>
  7408. </tr>
  7409. </table>
  7410. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  7411. <code><a href="#warning">Warning</a></code>
  7412. :
  7413. <span class='force-inline'>Created warning.
  7414. </span>
  7415. </section>
  7416. <section id='resultwarnings'class='mt2 mb2 px3 py1 keyline-top'>
  7417. <div class='right py2'>
  7418. <span class="px2"></span>
  7419. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/result.js#L154-L156'>
  7420. <span>lib/result.js</span>
  7421. </a>
  7422. </div>
  7423. <h3 class='regular'>
  7424. <a class='black' href='#resultwarnings'>
  7425. <code>
  7426. warnings
  7427. <span class='gray'>()</span>
  7428. </code>
  7429. </a>
  7430. </h3>
  7431. <p>Returns warnings from plugins. Filters <a href="#warning">Warning</a> instances
  7432. from <a href="#resultmessages">Result#messages</a>.</p>
  7433. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  7434. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="#warning">Warning</a>></code>
  7435. :
  7436. <span class='force-inline'>Warnings from plugins.
  7437. </span>
  7438. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  7439. <pre class='p1 overflow-auto round fill-light'><code>result.warnings().forEach(<span class="hljs-function"><span class="hljs-params">warn</span> =&gt;</span> {
  7440. <span class="hljs-built_in">console</span>.warn(warn.toString())
  7441. })</code></pre>
  7442. </section>
  7443. <section id='resultcontent'class='mt2 mb2 px3 py1 keyline-top'>
  7444. <div class='right py2'>
  7445. <span class="px2"></span>
  7446. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/result.js#L167-L169'>
  7447. <span>lib/result.js</span>
  7448. </a>
  7449. </div>
  7450. <h3 class='regular'>
  7451. <a class='black' href='#resultcontent'>
  7452. <code>
  7453. content
  7454. <span class='gray'>()</span>
  7455. </code>
  7456. </a>
  7457. </h3>
  7458. <p>An alias for the <a href="#resultcss">Result#css</a> property.
  7459. Use it with syntaxes that generate non-CSS output.</p>
  7460. <p>
  7461. Type:
  7462. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  7463. </p>
  7464. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  7465. <pre class='p1 overflow-auto round fill-light'><code>result.css === result.content</code></pre>
  7466. </section>
  7467. </div>
  7468. </section>
  7469. <section id='root'class='mt2 mb2 px3 py1 keyline-top'>
  7470. <div class='right py2'>
  7471. <span class='font-smaller'>
  7472. Extends
  7473. <a href="#container">Container</a>
  7474. </span>
  7475. <span class="px2"></span>
  7476. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/root.js#L15-L115'>
  7477. <span>lib/root.js</span>
  7478. </a>
  7479. </div>
  7480. <h3 class='regular'>
  7481. <a class='black' href='#root'>
  7482. <code>
  7483. Root
  7484. <span class='gray'>(defaults)</span>
  7485. </code>
  7486. </a>
  7487. </h3>
  7488. <p>Represents a CSS file and contains all its parsed nodes.</p>
  7489. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  7490. <thead class='fill-light'>
  7491. <th class='col-3 small caps quiet'>parameter</th>
  7492. <th class='col-3 small caps quiet'>type</th>
  7493. <th class='col-6 small caps quiet'>description</th>
  7494. </thead>
  7495. <tr>
  7496. <td class='col-3 strong'><code>defaults</code></td>
  7497. <td class='col-3 quiet'>
  7498. any
  7499. </td>
  7500. <td class='col-6'></td>
  7501. </tr>
  7502. </table>
  7503. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  7504. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> root = postcss.parse(<span class="hljs-string">'a{color:black} b{z-index:2}'</span>)
  7505. root.type <span class="hljs-comment">//=&gt; 'root'</span>
  7506. root.nodes.length <span class="hljs-comment">//=&gt; 2</span></code></pre>
  7507. <h4 class='caps quiet mb2 mt3'>Static Members</h4>
  7508. <div class="section-indent">
  7509. <section id='rootregisterlazyresult'class='mt2 mb2 px3 py1 keyline-top'>
  7510. <div class='right py2'>
  7511. <span class="px2"></span>
  7512. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/root.js#L131-L133'>
  7513. <span>lib/root.js</span>
  7514. </a>
  7515. </div>
  7516. <h3 class='regular'>
  7517. <a class='black' href='#rootregisterlazyresult'>
  7518. <code>
  7519. registerLazyResult
  7520. <span class='gray'>(dependant)</span>
  7521. </code>
  7522. </a>
  7523. </h3>
  7524. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  7525. <thead class='fill-light'>
  7526. <th class='col-3 small caps quiet'>parameter</th>
  7527. <th class='col-3 small caps quiet'>type</th>
  7528. <th class='col-6 small caps quiet'>description</th>
  7529. </thead>
  7530. <tr>
  7531. <td class='col-3 strong'><code>dependant</code></td>
  7532. <td class='col-3 quiet'>
  7533. any
  7534. </td>
  7535. <td class='col-6'></td>
  7536. </tr>
  7537. </table>
  7538. </section>
  7539. </div>
  7540. <h4 class='caps quiet mb2 mt3'>Instance Members</h4>
  7541. <div class="section-indent">
  7542. <section id='rootappend'class='mt2 mb2 px3 py1 keyline-top'>
  7543. <div class='right py2'>
  7544. <span class="px2"></span>
  7545. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L324-L333'>
  7546. <span>lib/container.js</span>
  7547. </a>
  7548. </div>
  7549. <h3 class='regular'>
  7550. <a class='black' href='#rootappend'>
  7551. <code>
  7552. append
  7553. <span class='gray'>(children)</span>
  7554. </code>
  7555. </a>
  7556. </h3>
  7557. <p>Inserts new nodes to the end of the container.</p>
  7558. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  7559. <thead class='fill-light'>
  7560. <th class='col-3 small caps quiet'>parameter</th>
  7561. <th class='col-3 small caps quiet'>type</th>
  7562. <th class='col-6 small caps quiet'>description</th>
  7563. </thead>
  7564. <tr>
  7565. <td class='col-3 strong'><code>children</code></td>
  7566. <td class='col-3 quiet'>
  7567. ...(<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="#node">Node</a>>)
  7568. </td>
  7569. <td class='col-6'>New nodes.
  7570. </td>
  7571. </tr>
  7572. </table>
  7573. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  7574. <code><a href="#node">Node</a></code>
  7575. :
  7576. <span class='force-inline'>This node for methods chain.
  7577. </span>
  7578. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  7579. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> decl1 = postcss.decl({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'color'</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'black'</span> })
  7580. <span class="hljs-keyword">const</span> decl2 = postcss.decl({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'background-color'</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'white'</span> })
  7581. rule.append(decl1, decl2)
  7582. root.append({ <span class="hljs-attr">name</span>: <span class="hljs-string">'charset'</span>, <span class="hljs-attr">params</span>: <span class="hljs-string">'"UTF-8"'</span> }) <span class="hljs-comment">// at-rule</span>
  7583. root.append({ <span class="hljs-attr">selector</span>: <span class="hljs-string">'a'</span> }) <span class="hljs-comment">// rule</span>
  7584. rule.append({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'color'</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'black'</span> }) <span class="hljs-comment">// declaration</span>
  7585. rule.append({ <span class="hljs-attr">text</span>: <span class="hljs-string">'Comment'</span> }) <span class="hljs-comment">// comment</span>
  7586. root.append(<span class="hljs-string">'a {}'</span>)
  7587. root.first.append(<span class="hljs-string">'color: black; z-index: 1'</span>)</code></pre>
  7588. </section>
  7589. <section id='rooteach'class='mt2 mb2 px3 py1 keyline-top'>
  7590. <div class='right py2'>
  7591. <span class="px2"></span>
  7592. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L65-L91'>
  7593. <span>lib/container.js</span>
  7594. </a>
  7595. </div>
  7596. <h3 class='regular'>
  7597. <a class='black' href='#rooteach'>
  7598. <code>
  7599. each
  7600. <span class='gray'>(callback)</span>
  7601. </code>
  7602. </a>
  7603. </h3>
  7604. <p>Iterates through the container’s immediate children,
  7605. calling <code>callback</code> for each child.</p>
  7606. <p>Returning <code>false</code> in the callback will break iteration.</p>
  7607. <p>This method only iterates through the container’s immediate children.
  7608. If you need to recursively iterate through all the container’s descendant
  7609. nodes, use <a href="#containerwalk">Container#walk</a>.</p>
  7610. <p>Unlike the for <code>{}</code>-cycle or <code>Array#forEach</code> this iterator is safe
  7611. if you are mutating the array of child nodes during iteration.
  7612. PostCSS will adjust the current index to match the mutations.</p>
  7613. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  7614. <thead class='fill-light'>
  7615. <th class='col-3 small caps quiet'>parameter</th>
  7616. <th class='col-3 small caps quiet'>type</th>
  7617. <th class='col-6 small caps quiet'>description</th>
  7618. </thead>
  7619. <tr>
  7620. <td class='col-3 strong'><code>callback</code></td>
  7621. <td class='col-3 quiet'>
  7622. <a href="#childiterator">childIterator</a>
  7623. </td>
  7624. <td class='col-6'>Iterator receives each node and index.
  7625. </td>
  7626. </tr>
  7627. </table>
  7628. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  7629. <code>(<code>false</code> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  7630. :
  7631. <span class='force-inline'>Returns
  7632. <code>false</code>
  7633. if iteration was broke.
  7634. </span>
  7635. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  7636. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> root = postcss.parse(<span class="hljs-string">'a { color: black; z-index: 1 }'</span>)
  7637. <span class="hljs-keyword">const</span> rule = root.first
  7638. <span class="hljs-keyword">for</span> (<span class="hljs-keyword">const</span> decl <span class="hljs-keyword">of</span> rule.nodes) {
  7639. decl.cloneBefore({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'-webkit-'</span> + decl.prop })
  7640. <span class="hljs-comment">// Cycle will be infinite, because cloneBefore moves the current node</span>
  7641. <span class="hljs-comment">// to the next index</span>
  7642. }
  7643. rule.each(<span class="hljs-function"><span class="hljs-params">decl</span> =&gt;</span> {
  7644. decl.cloneBefore({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'-webkit-'</span> + decl.prop })
  7645. <span class="hljs-comment">// Will be executed only for color and z-index</span>
  7646. })</code></pre>
  7647. </section>
  7648. <section id='rootevery'class='mt2 mb2 px3 py1 keyline-top'>
  7649. <div class='right py2'>
  7650. <span class="px2"></span>
  7651. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L541-L543'>
  7652. <span>lib/container.js</span>
  7653. </a>
  7654. </div>
  7655. <h3 class='regular'>
  7656. <a class='black' href='#rootevery'>
  7657. <code>
  7658. every
  7659. <span class='gray'>(condition)</span>
  7660. </code>
  7661. </a>
  7662. </h3>
  7663. <p>Returns <code>true</code> if callback returns <code>true</code>
  7664. for all of the container’s children.</p>
  7665. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  7666. <thead class='fill-light'>
  7667. <th class='col-3 small caps quiet'>parameter</th>
  7668. <th class='col-3 small caps quiet'>type</th>
  7669. <th class='col-6 small caps quiet'>description</th>
  7670. </thead>
  7671. <tr>
  7672. <td class='col-3 strong'><code>condition</code></td>
  7673. <td class='col-3 quiet'>
  7674. <a href="#childcondition">childCondition</a>
  7675. </td>
  7676. <td class='col-6'>Iterator returns true or false.
  7677. </td>
  7678. </tr>
  7679. </table>
  7680. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  7681. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code>
  7682. :
  7683. <span class='force-inline'>Is every child pass condition.
  7684. </span>
  7685. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  7686. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> noPrefixes = rule.every(<span class="hljs-function"><span class="hljs-params">i</span> =&gt;</span> i.prop[<span class="hljs-number">0</span>] !== <span class="hljs-string">'-'</span>)</code></pre>
  7687. </section>
  7688. <section id='rootfirst'class='mt2 mb2 px3 py1 keyline-top'>
  7689. <div class='right py2'>
  7690. <span class="px2"></span>
  7691. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L584-L587'>
  7692. <span>lib/container.js</span>
  7693. </a>
  7694. </div>
  7695. <h3 class='regular'>
  7696. <a class='black' href='#rootfirst'>
  7697. <code>
  7698. first
  7699. <span class='gray'>()</span>
  7700. </code>
  7701. </a>
  7702. </h3>
  7703. <p>The container’s first child.</p>
  7704. <p>
  7705. Type:
  7706. <a href="#node">Node</a>
  7707. </p>
  7708. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  7709. <pre class='p1 overflow-auto round fill-light'><code>rule.first === rules.nodes[<span class="hljs-number">0</span>]</code></pre>
  7710. </section>
  7711. <section id='rootindex'class='mt2 mb2 px3 py1 keyline-top'>
  7712. <div class='right py2'>
  7713. <span class="px2"></span>
  7714. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L570-L574'>
  7715. <span>lib/container.js</span>
  7716. </a>
  7717. </div>
  7718. <h3 class='regular'>
  7719. <a class='black' href='#rootindex'>
  7720. <code>
  7721. index
  7722. <span class='gray'>(child)</span>
  7723. </code>
  7724. </a>
  7725. </h3>
  7726. <p>Returns a <code>child</code>’s index within the <a href="Container#nodes">Container#nodes</a> array.</p>
  7727. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  7728. <thead class='fill-light'>
  7729. <th class='col-3 small caps quiet'>parameter</th>
  7730. <th class='col-3 small caps quiet'>type</th>
  7731. <th class='col-6 small caps quiet'>description</th>
  7732. </thead>
  7733. <tr>
  7734. <td class='col-3 strong'><code>child</code></td>
  7735. <td class='col-3 quiet'>
  7736. <a href="#node">Node</a>
  7737. </td>
  7738. <td class='col-6'>Child of the current container.
  7739. </td>
  7740. </tr>
  7741. </table>
  7742. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  7743. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code>
  7744. :
  7745. <span class='force-inline'>Child index.
  7746. </span>
  7747. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  7748. <pre class='p1 overflow-auto round fill-light'><code>rule.index( rule.nodes[<span class="hljs-number">2</span>] ) <span class="hljs-comment">//=&gt; 2</span></code></pre>
  7749. </section>
  7750. <section id='rootinsertafter'class='mt2 mb2 px3 py1 keyline-top'>
  7751. <div class='right py2'>
  7752. <span class="px2"></span>
  7753. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L416-L433'>
  7754. <span>lib/container.js</span>
  7755. </a>
  7756. </div>
  7757. <h3 class='regular'>
  7758. <a class='black' href='#rootinsertafter'>
  7759. <code>
  7760. insertAfter
  7761. <span class='gray'>(exist, add)</span>
  7762. </code>
  7763. </a>
  7764. </h3>
  7765. <p>Insert new node after old node within the container.</p>
  7766. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  7767. <thead class='fill-light'>
  7768. <th class='col-3 small caps quiet'>parameter</th>
  7769. <th class='col-3 small caps quiet'>type</th>
  7770. <th class='col-6 small caps quiet'>description</th>
  7771. </thead>
  7772. <tr>
  7773. <td class='col-3 strong'><code>exist</code></td>
  7774. <td class='col-3 quiet'>
  7775. (<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>)
  7776. </td>
  7777. <td class='col-6'>Child or child’s index.
  7778. </td>
  7779. </tr>
  7780. <tr>
  7781. <td class='col-3 strong'><code>add</code></td>
  7782. <td class='col-3 quiet'>
  7783. (<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="#node">Node</a>>)
  7784. </td>
  7785. <td class='col-6'>New node.
  7786. </td>
  7787. </tr>
  7788. </table>
  7789. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  7790. <code><a href="#node">Node</a></code>
  7791. :
  7792. <span class='force-inline'>This node for methods chain.
  7793. </span>
  7794. </section>
  7795. <section id='rootinsertbefore'class='mt2 mb2 px3 py1 keyline-top'>
  7796. <div class='right py2'>
  7797. <span class="px2"></span>
  7798. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L388-L406'>
  7799. <span>lib/container.js</span>
  7800. </a>
  7801. </div>
  7802. <h3 class='regular'>
  7803. <a class='black' href='#rootinsertbefore'>
  7804. <code>
  7805. insertBefore
  7806. <span class='gray'>(exist, add)</span>
  7807. </code>
  7808. </a>
  7809. </h3>
  7810. <p>Insert new node before old node within the container.</p>
  7811. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  7812. <thead class='fill-light'>
  7813. <th class='col-3 small caps quiet'>parameter</th>
  7814. <th class='col-3 small caps quiet'>type</th>
  7815. <th class='col-6 small caps quiet'>description</th>
  7816. </thead>
  7817. <tr>
  7818. <td class='col-3 strong'><code>exist</code></td>
  7819. <td class='col-3 quiet'>
  7820. (<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>)
  7821. </td>
  7822. <td class='col-6'>Child or child’s index.
  7823. </td>
  7824. </tr>
  7825. <tr>
  7826. <td class='col-3 strong'><code>add</code></td>
  7827. <td class='col-3 quiet'>
  7828. (<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="#node">Node</a>>)
  7829. </td>
  7830. <td class='col-6'>New node.
  7831. </td>
  7832. </tr>
  7833. </table>
  7834. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  7835. <code><a href="#node">Node</a></code>
  7836. :
  7837. <span class='force-inline'>This node for methods chain.
  7838. </span>
  7839. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  7840. <pre class='p1 overflow-auto round fill-light'><code>rule.insertBefore(decl, decl.clone({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'-webkit-'</span> + decl.prop }))</code></pre>
  7841. </section>
  7842. <section id='rootlast'class='mt2 mb2 px3 py1 keyline-top'>
  7843. <div class='right py2'>
  7844. <span class="px2"></span>
  7845. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L597-L600'>
  7846. <span>lib/container.js</span>
  7847. </a>
  7848. </div>
  7849. <h3 class='regular'>
  7850. <a class='black' href='#rootlast'>
  7851. <code>
  7852. last
  7853. <span class='gray'>()</span>
  7854. </code>
  7855. </a>
  7856. </h3>
  7857. <p>The container’s last child.</p>
  7858. <p>
  7859. Type:
  7860. <a href="#node">Node</a>
  7861. </p>
  7862. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  7863. <pre class='p1 overflow-auto round fill-light'><code>rule.last === rule.nodes[rule.nodes.length - <span class="hljs-number">1</span>]</code></pre>
  7864. </section>
  7865. <section id='rooton'class='mt2 mb2 px3 py1 keyline-top'>
  7866. <div class='right py2'>
  7867. <span class="px2"></span>
  7868. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/root.js#L94-L98'>
  7869. <span>lib/root.js</span>
  7870. </a>
  7871. </div>
  7872. <h3 class='regular'>
  7873. <a class='black' href='#rooton'>
  7874. <code>
  7875. on
  7876. <span class='gray'>(event, visitor?, type?)</span>
  7877. </code>
  7878. </a>
  7879. </h3>
  7880. <p>Add visitor for next PostCSS walk.</p>
  7881. <p>Visitor subscribes for events. Each event contain node type (<code>atrule</code>,
  7882. <code>rule</code>, <code>decl</code>, <code>comment</code>) and phase (<code>enter</code>, <code>exit</code>) separated with dot.
  7883. The default phase is <code>enter</code>. As result possible events could be like
  7884. <code>comment.enter</code>, <code>decl.exit</code> or <code>rule</code> (equal to <code>rule.enter</code>).</p>
  7885. <p>PostCSS will walk through CSS AST and call visitor according current node.
  7886. Visitor will receive node and node’s index.</p>
  7887. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  7888. <thead class='fill-light'>
  7889. <th class='col-3 small caps quiet'>parameter</th>
  7890. <th class='col-3 small caps quiet'>type</th>
  7891. <th class='col-6 small caps quiet'>description</th>
  7892. </thead>
  7893. <tr>
  7894. <td class='col-3 strong'><code>event</code></td>
  7895. <td class='col-3 quiet'>
  7896. any
  7897. </td>
  7898. <td class='col-6'></td>
  7899. </tr>
  7900. <tr>
  7901. <td class='col-3 strong'><code>visitor</code></td>
  7902. <td class='col-3 quiet'>
  7903. <a href="#visitor">visitor</a>?
  7904. </td>
  7905. <td class='col-6'>Function receives node and index.
  7906. </td>
  7907. </tr>
  7908. <tr>
  7909. <td class='col-3 strong'><code>type</code></td>
  7910. <td class='col-3 quiet'>
  7911. visitingEvent?
  7912. </td>
  7913. <td class='col-6'>The type of the node and phase.
  7914. </td>
  7915. </tr>
  7916. </table>
  7917. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  7918. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a></code>
  7919. :
  7920. <span class='force-inline'>
  7921. </span>
  7922. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  7923. <pre class='p1 overflow-auto round fill-light'><code>css.on(<span class="hljs-string">'decl'</span>, (node, index) =&gt; {
  7924. <span class="hljs-keyword">if</span> (node.prop === <span class="hljs-string">'will-change'</span>) {
  7925. node.cloneBefore({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'backface-visibility'</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'hidden'</span> })
  7926. }
  7927. })</code></pre>
  7928. </section>
  7929. <section id='rootprepend'class='mt2 mb2 px3 py1 keyline-top'>
  7930. <div class='right py2'>
  7931. <span class="px2"></span>
  7932. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L355-L368'>
  7933. <span>lib/container.js</span>
  7934. </a>
  7935. </div>
  7936. <h3 class='regular'>
  7937. <a class='black' href='#rootprepend'>
  7938. <code>
  7939. prepend
  7940. <span class='gray'>(children)</span>
  7941. </code>
  7942. </a>
  7943. </h3>
  7944. <p>Inserts new nodes to the start of the container.</p>
  7945. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  7946. <thead class='fill-light'>
  7947. <th class='col-3 small caps quiet'>parameter</th>
  7948. <th class='col-3 small caps quiet'>type</th>
  7949. <th class='col-6 small caps quiet'>description</th>
  7950. </thead>
  7951. <tr>
  7952. <td class='col-3 strong'><code>children</code></td>
  7953. <td class='col-3 quiet'>
  7954. ...(<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="#node">Node</a>>)
  7955. </td>
  7956. <td class='col-6'>New nodes.
  7957. </td>
  7958. </tr>
  7959. </table>
  7960. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  7961. <code><a href="#node">Node</a></code>
  7962. :
  7963. <span class='force-inline'>This node for methods chain.
  7964. </span>
  7965. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  7966. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> decl1 = postcss.decl({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'color'</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'black'</span> })
  7967. <span class="hljs-keyword">const</span> decl2 = postcss.decl({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'background-color'</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'white'</span> })
  7968. rule.prepend(decl1, decl2)
  7969. root.append({ <span class="hljs-attr">name</span>: <span class="hljs-string">'charset'</span>, <span class="hljs-attr">params</span>: <span class="hljs-string">'"UTF-8"'</span> }) <span class="hljs-comment">// at-rule</span>
  7970. root.append({ <span class="hljs-attr">selector</span>: <span class="hljs-string">'a'</span> }) <span class="hljs-comment">// rule</span>
  7971. rule.append({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'color'</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'black'</span> }) <span class="hljs-comment">// declaration</span>
  7972. rule.append({ <span class="hljs-attr">text</span>: <span class="hljs-string">'Comment'</span> }) <span class="hljs-comment">// comment</span>
  7973. root.append(<span class="hljs-string">'a {}'</span>)
  7974. root.first.append(<span class="hljs-string">'color: black; z-index: 1'</span>)</code></pre>
  7975. </section>
  7976. <section id='rootremoveall'class='mt2 mb2 px3 py1 keyline-top'>
  7977. <div class='right py2'>
  7978. <span class="px2"></span>
  7979. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L477-L484'>
  7980. <span>lib/container.js</span>
  7981. </a>
  7982. </div>
  7983. <h3 class='regular'>
  7984. <a class='black' href='#rootremoveall'>
  7985. <code>
  7986. removeAll
  7987. <span class='gray'>()</span>
  7988. </code>
  7989. </a>
  7990. </h3>
  7991. <p>Removes all children from the container
  7992. and cleans their parent properties.</p>
  7993. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  7994. <code><a href="#node">Node</a></code>
  7995. :
  7996. <span class='force-inline'>This node for methods chain.
  7997. </span>
  7998. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  7999. <pre class='p1 overflow-auto round fill-light'><code>rule.removeAll()
  8000. rule.nodes.length <span class="hljs-comment">//=&gt; 0</span></code></pre>
  8001. </section>
  8002. <section id='rootremovechild'class='mt2 mb2 px3 py1 keyline-top'>
  8003. <div class='right py2'>
  8004. <span class="px2"></span>
  8005. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L449-L465'>
  8006. <span>lib/container.js</span>
  8007. </a>
  8008. </div>
  8009. <h3 class='regular'>
  8010. <a class='black' href='#rootremovechild'>
  8011. <code>
  8012. removeChild
  8013. <span class='gray'>(child)</span>
  8014. </code>
  8015. </a>
  8016. </h3>
  8017. <p>Removes node from the container and cleans the parent properties
  8018. from the node and its children.</p>
  8019. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  8020. <thead class='fill-light'>
  8021. <th class='col-3 small caps quiet'>parameter</th>
  8022. <th class='col-3 small caps quiet'>type</th>
  8023. <th class='col-6 small caps quiet'>description</th>
  8024. </thead>
  8025. <tr>
  8026. <td class='col-3 strong'><code>child</code></td>
  8027. <td class='col-3 quiet'>
  8028. (<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>)
  8029. </td>
  8030. <td class='col-6'>Child or child’s index.
  8031. </td>
  8032. </tr>
  8033. </table>
  8034. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  8035. <code><a href="#node">Node</a></code>
  8036. :
  8037. <span class='force-inline'>This node for methods chain
  8038. </span>
  8039. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  8040. <pre class='p1 overflow-auto round fill-light'><code>rule.nodes.length <span class="hljs-comment">//=&gt; 5</span>
  8041. rule.removeChild(decl)
  8042. rule.nodes.length <span class="hljs-comment">//=&gt; 4</span>
  8043. decl.parent <span class="hljs-comment">//=&gt; undefined</span></code></pre>
  8044. </section>
  8045. <section id='rootreplacevalues'class='mt2 mb2 px3 py1 keyline-top'>
  8046. <div class='right py2'>
  8047. <span class="px2"></span>
  8048. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L512-L528'>
  8049. <span>lib/container.js</span>
  8050. </a>
  8051. </div>
  8052. <h3 class='regular'>
  8053. <a class='black' href='#rootreplacevalues'>
  8054. <code>
  8055. replaceValues
  8056. <span class='gray'>(pattern, opts, callback)</span>
  8057. </code>
  8058. </a>
  8059. </h3>
  8060. <p>Passes all declaration values within the container that match pattern
  8061. through callback, replacing those values with the returned result
  8062. of callback.</p>
  8063. <p>This method is useful if you are using a custom unit or function
  8064. and need to iterate through all values.</p>
  8065. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  8066. <thead class='fill-light'>
  8067. <th class='col-3 small caps quiet'>parameter</th>
  8068. <th class='col-3 small caps quiet'>type</th>
  8069. <th class='col-6 small caps quiet'>description</th>
  8070. </thead>
  8071. <tr>
  8072. <td class='col-3 strong'><code>pattern</code></td>
  8073. <td class='col-3 quiet'>
  8074. (<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/RegExp">RegExp</a>)
  8075. </td>
  8076. <td class='col-6'>Replace pattern.
  8077. </td>
  8078. </tr>
  8079. <tr>
  8080. <td class='col-3 strong'><code>opts</code></td>
  8081. <td class='col-3 quiet'>
  8082. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>
  8083. </td>
  8084. <td class='col-6'>Options to speed up the search.
  8085. </td>
  8086. </tr>
  8087. <tr>
  8088. <td class='col-2 strong'>opts.props</td>
  8089. <td class="col-2 quiet">
  8090. (<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>>)
  8091. </td>
  8092. <td class='col-8'>An array of property names.
  8093. </td>
  8094. </tr>
  8095. <tr>
  8096. <td class='col-2 strong'>opts.fast</td>
  8097. <td class="col-2 quiet">
  8098. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  8099. </td>
  8100. <td class='col-8'>String that’s used to narrow down
  8101. values and speed up the regexp search.
  8102. </td>
  8103. </tr>
  8104. <tr>
  8105. <td class='col-3 strong'><code>callback</code></td>
  8106. <td class='col-3 quiet'>
  8107. (<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function">function</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>)
  8108. </td>
  8109. <td class='col-6'>String to replace pattern or callback
  8110. that returns a new value. The callback
  8111. will receive the same arguments
  8112. as those passed to a function parameter
  8113. of
  8114. <code>String#replace</code>
  8115. .
  8116. </td>
  8117. </tr>
  8118. </table>
  8119. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  8120. <code><a href="#node">Node</a></code>
  8121. :
  8122. <span class='force-inline'>This node for methods chain.
  8123. </span>
  8124. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  8125. <pre class='p1 overflow-auto round fill-light'><code>root.replaceValues(<span class="hljs-regexp">/\d+rem/</span>, { <span class="hljs-attr">fast</span>: <span class="hljs-string">'rem'</span> }, string =&gt; {
  8126. <span class="hljs-keyword">return</span> <span class="hljs-number">15</span> * <span class="hljs-built_in">parseInt</span>(string) + <span class="hljs-string">'px'</span>
  8127. })</code></pre>
  8128. </section>
  8129. <section id='rootsome'class='mt2 mb2 px3 py1 keyline-top'>
  8130. <div class='right py2'>
  8131. <span class="px2"></span>
  8132. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L556-L558'>
  8133. <span>lib/container.js</span>
  8134. </a>
  8135. </div>
  8136. <h3 class='regular'>
  8137. <a class='black' href='#rootsome'>
  8138. <code>
  8139. some
  8140. <span class='gray'>(condition)</span>
  8141. </code>
  8142. </a>
  8143. </h3>
  8144. <p>Returns <code>true</code> if callback returns <code>true</code> for (at least) one
  8145. of the container’s children.</p>
  8146. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  8147. <thead class='fill-light'>
  8148. <th class='col-3 small caps quiet'>parameter</th>
  8149. <th class='col-3 small caps quiet'>type</th>
  8150. <th class='col-6 small caps quiet'>description</th>
  8151. </thead>
  8152. <tr>
  8153. <td class='col-3 strong'><code>condition</code></td>
  8154. <td class='col-3 quiet'>
  8155. <a href="#childcondition">childCondition</a>
  8156. </td>
  8157. <td class='col-6'>Iterator returns true or false.
  8158. </td>
  8159. </tr>
  8160. </table>
  8161. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  8162. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code>
  8163. :
  8164. <span class='force-inline'>Is some child pass condition.
  8165. </span>
  8166. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  8167. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> hasPrefix = rule.some(<span class="hljs-function"><span class="hljs-params">i</span> =&gt;</span> i.prop[<span class="hljs-number">0</span>] === <span class="hljs-string">'-'</span>)</code></pre>
  8168. </section>
  8169. <section id='roottoresult'class='mt2 mb2 px3 py1 keyline-top'>
  8170. <div class='right py2'>
  8171. <span class="px2"></span>
  8172. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/root.js#L66-L69'>
  8173. <span>lib/root.js</span>
  8174. </a>
  8175. </div>
  8176. <h3 class='regular'>
  8177. <a class='black' href='#roottoresult'>
  8178. <code>
  8179. toResult
  8180. <span class='gray'>(opts = {})</span>
  8181. </code>
  8182. </a>
  8183. </h3>
  8184. <p>Returns a <a href="#result">Result</a> instance representing the root’s CSS.</p>
  8185. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  8186. <thead class='fill-light'>
  8187. <th class='col-3 small caps quiet'>parameter</th>
  8188. <th class='col-3 small caps quiet'>type</th>
  8189. <th class='col-6 small caps quiet'>description</th>
  8190. </thead>
  8191. <tr>
  8192. <td class='col-3 strong'><code>opts</code></td>
  8193. <td class='col-3 quiet'>
  8194. <a href="#processoptions">processOptions</a>?
  8195. = <code>{}</code>
  8196. </td>
  8197. <td class='col-6'>Options with only
  8198. <code>to</code>
  8199. and
  8200. <code>map</code>
  8201. keys.
  8202. </td>
  8203. </tr>
  8204. </table>
  8205. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  8206. <code><a href="#result">Result</a></code>
  8207. :
  8208. <span class='force-inline'>Result with current root’s CSS.
  8209. </span>
  8210. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  8211. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> root1 = postcss.parse(css1, { <span class="hljs-attr">from</span>: <span class="hljs-string">'a.css'</span> })
  8212. <span class="hljs-keyword">const</span> root2 = postcss.parse(css2, { <span class="hljs-attr">from</span>: <span class="hljs-string">'b.css'</span> })
  8213. root1.append(root2)
  8214. <span class="hljs-keyword">const</span> result = root1.toResult({ <span class="hljs-attr">to</span>: <span class="hljs-string">'all.css'</span>, <span class="hljs-attr">map</span>: <span class="hljs-literal">true</span> })</code></pre>
  8215. </section>
  8216. <section id='rootwalk'class='mt2 mb2 px3 py1 keyline-top'>
  8217. <div class='right py2'>
  8218. <span class="px2"></span>
  8219. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L112-L126'>
  8220. <span>lib/container.js</span>
  8221. </a>
  8222. </div>
  8223. <h3 class='regular'>
  8224. <a class='black' href='#rootwalk'>
  8225. <code>
  8226. walk
  8227. <span class='gray'>(callback)</span>
  8228. </code>
  8229. </a>
  8230. </h3>
  8231. <p>Traverses the container’s descendant nodes, calling callback
  8232. for each node.</p>
  8233. <p>Like container.each(), this method is safe to use
  8234. if you are mutating arrays during iteration.</p>
  8235. <p>If you only need to iterate through the container’s immediate children,
  8236. use <a href="#containereach">Container#each</a>.</p>
  8237. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  8238. <thead class='fill-light'>
  8239. <th class='col-3 small caps quiet'>parameter</th>
  8240. <th class='col-3 small caps quiet'>type</th>
  8241. <th class='col-6 small caps quiet'>description</th>
  8242. </thead>
  8243. <tr>
  8244. <td class='col-3 strong'><code>callback</code></td>
  8245. <td class='col-3 quiet'>
  8246. <a href="#childiterator">childIterator</a>
  8247. </td>
  8248. <td class='col-6'>Iterator receives each node and index.
  8249. </td>
  8250. </tr>
  8251. </table>
  8252. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  8253. <code>(<code>false</code> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  8254. :
  8255. <span class='force-inline'>Returns
  8256. <code>false</code>
  8257. if iteration was broke.
  8258. </span>
  8259. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  8260. <pre class='p1 overflow-auto round fill-light'><code>root.walk(<span class="hljs-function"><span class="hljs-params">node</span> =&gt;</span> {
  8261. <span class="hljs-comment">// Traverses all descendant nodes.</span>
  8262. })</code></pre>
  8263. </section>
  8264. <section id='rootwalkatrules'class='mt2 mb2 px3 py1 keyline-top'>
  8265. <div class='right py2'>
  8266. <span class="px2"></span>
  8267. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L257-L278'>
  8268. <span>lib/container.js</span>
  8269. </a>
  8270. </div>
  8271. <h3 class='regular'>
  8272. <a class='black' href='#rootwalkatrules'>
  8273. <code>
  8274. walkAtRules
  8275. <span class='gray'>(name?, callback)</span>
  8276. </code>
  8277. </a>
  8278. </h3>
  8279. <p>Traverses the container’s descendant nodes, calling callback
  8280. for each at-rule node.</p>
  8281. <p>If you pass a filter, iteration will only happen over at-rules
  8282. that have matching names.</p>
  8283. <p>Like <a href="#containereach">Container#each</a>, this method is safe
  8284. to use if you are mutating arrays during iteration.</p>
  8285. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  8286. <thead class='fill-light'>
  8287. <th class='col-3 small caps quiet'>parameter</th>
  8288. <th class='col-3 small caps quiet'>type</th>
  8289. <th class='col-6 small caps quiet'>description</th>
  8290. </thead>
  8291. <tr>
  8292. <td class='col-3 strong'><code>name</code></td>
  8293. <td class='col-3 quiet'>
  8294. (<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/RegExp">RegExp</a>)?
  8295. </td>
  8296. <td class='col-6'>String or regular expression
  8297. to filter at-rules by name.
  8298. </td>
  8299. </tr>
  8300. <tr>
  8301. <td class='col-3 strong'><code>callback</code></td>
  8302. <td class='col-3 quiet'>
  8303. <a href="#childiterator">childIterator</a>
  8304. </td>
  8305. <td class='col-6'>Iterator receives each node and index.
  8306. </td>
  8307. </tr>
  8308. </table>
  8309. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  8310. <code>(<code>false</code> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  8311. :
  8312. <span class='force-inline'>Returns
  8313. <code>false</code>
  8314. if iteration was broke.
  8315. </span>
  8316. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  8317. <pre class='p1 overflow-auto round fill-light'><code>root.walkAtRules(<span class="hljs-function"><span class="hljs-params">rule</span> =&gt;</span> {
  8318. <span class="hljs-keyword">if</span> (isOld(rule.name)) rule.remove()
  8319. })
  8320. <span class="hljs-keyword">let</span> first = <span class="hljs-literal">false</span>
  8321. root.walkAtRules(<span class="hljs-string">'charset'</span>, rule =&gt; {
  8322. <span class="hljs-keyword">if</span> (!first) {
  8323. first = <span class="hljs-literal">true</span>
  8324. } <span class="hljs-keyword">else</span> {
  8325. rule.remove()
  8326. }
  8327. })</code></pre>
  8328. </section>
  8329. <section id='rootwalkcomments'class='mt2 mb2 px3 py1 keyline-top'>
  8330. <div class='right py2'>
  8331. <span class="px2"></span>
  8332. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L296-L302'>
  8333. <span>lib/container.js</span>
  8334. </a>
  8335. </div>
  8336. <h3 class='regular'>
  8337. <a class='black' href='#rootwalkcomments'>
  8338. <code>
  8339. walkComments
  8340. <span class='gray'>(callback)</span>
  8341. </code>
  8342. </a>
  8343. </h3>
  8344. <p>Traverses the container’s descendant nodes, calling callback
  8345. for each comment node.</p>
  8346. <p>Like <a href="#containereach">Container#each</a>, this method is safe
  8347. to use if you are mutating arrays during iteration.</p>
  8348. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  8349. <thead class='fill-light'>
  8350. <th class='col-3 small caps quiet'>parameter</th>
  8351. <th class='col-3 small caps quiet'>type</th>
  8352. <th class='col-6 small caps quiet'>description</th>
  8353. </thead>
  8354. <tr>
  8355. <td class='col-3 strong'><code>callback</code></td>
  8356. <td class='col-3 quiet'>
  8357. <a href="#childiterator">childIterator</a>
  8358. </td>
  8359. <td class='col-6'>Iterator receives each node and index.
  8360. </td>
  8361. </tr>
  8362. </table>
  8363. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  8364. <code>(<code>false</code> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  8365. :
  8366. <span class='force-inline'>Returns
  8367. <code>false</code>
  8368. if iteration was broke.
  8369. </span>
  8370. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  8371. <pre class='p1 overflow-auto round fill-light'><code>root.walkComments(<span class="hljs-function"><span class="hljs-params">comment</span> =&gt;</span> {
  8372. comment.remove()
  8373. })</code></pre>
  8374. </section>
  8375. <section id='rootwalkdecls'class='mt2 mb2 px3 py1 keyline-top'>
  8376. <div class='right py2'>
  8377. <span class="px2"></span>
  8378. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L157-L178'>
  8379. <span>lib/container.js</span>
  8380. </a>
  8381. </div>
  8382. <h3 class='regular'>
  8383. <a class='black' href='#rootwalkdecls'>
  8384. <code>
  8385. walkDecls
  8386. <span class='gray'>(prop?, callback)</span>
  8387. </code>
  8388. </a>
  8389. </h3>
  8390. <p>Traverses the container’s descendant nodes, calling callback
  8391. for each declaration node.</p>
  8392. <p>If you pass a filter, iteration will only happen over declarations
  8393. with matching properties.</p>
  8394. <p>Like <a href="#containereach">Container#each</a>, this method is safe
  8395. to use if you are mutating arrays during iteration.</p>
  8396. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  8397. <thead class='fill-light'>
  8398. <th class='col-3 small caps quiet'>parameter</th>
  8399. <th class='col-3 small caps quiet'>type</th>
  8400. <th class='col-6 small caps quiet'>description</th>
  8401. </thead>
  8402. <tr>
  8403. <td class='col-3 strong'><code>prop</code></td>
  8404. <td class='col-3 quiet'>
  8405. (<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/RegExp">RegExp</a>)?
  8406. </td>
  8407. <td class='col-6'>String or regular expression
  8408. to filter declarations by property name.
  8409. </td>
  8410. </tr>
  8411. <tr>
  8412. <td class='col-3 strong'><code>callback</code></td>
  8413. <td class='col-3 quiet'>
  8414. <a href="#childiterator">childIterator</a>
  8415. </td>
  8416. <td class='col-6'>Iterator receives each node and index.
  8417. </td>
  8418. </tr>
  8419. </table>
  8420. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  8421. <code>(<code>false</code> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  8422. :
  8423. <span class='force-inline'>Returns
  8424. <code>false</code>
  8425. if iteration was broke.
  8426. </span>
  8427. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  8428. <pre class='p1 overflow-auto round fill-light'><code>root.walkDecls(<span class="hljs-function"><span class="hljs-params">decl</span> =&gt;</span> {
  8429. checkPropertySupport(decl.prop)
  8430. })
  8431. root.walkDecls(<span class="hljs-string">'border-radius'</span>, decl =&gt; {
  8432. decl.remove()
  8433. })
  8434. root.walkDecls(<span class="hljs-regexp">/^background/</span>, decl =&gt; {
  8435. decl.value = takeFirstColorFromGradient(decl.value)
  8436. })</code></pre>
  8437. </section>
  8438. <section id='rootwalkrules'class='mt2 mb2 px3 py1 keyline-top'>
  8439. <div class='right py2'>
  8440. <span class="px2"></span>
  8441. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L203-L225'>
  8442. <span>lib/container.js</span>
  8443. </a>
  8444. </div>
  8445. <h3 class='regular'>
  8446. <a class='black' href='#rootwalkrules'>
  8447. <code>
  8448. walkRules
  8449. <span class='gray'>(selector?, callback)</span>
  8450. </code>
  8451. </a>
  8452. </h3>
  8453. <p>Traverses the container’s descendant nodes, calling callback
  8454. for each rule node.</p>
  8455. <p>If you pass a filter, iteration will only happen over rules
  8456. with matching selectors.</p>
  8457. <p>Like <a href="#containereach">Container#each</a>, this method is safe
  8458. to use if you are mutating arrays during iteration.</p>
  8459. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  8460. <thead class='fill-light'>
  8461. <th class='col-3 small caps quiet'>parameter</th>
  8462. <th class='col-3 small caps quiet'>type</th>
  8463. <th class='col-6 small caps quiet'>description</th>
  8464. </thead>
  8465. <tr>
  8466. <td class='col-3 strong'><code>selector</code></td>
  8467. <td class='col-3 quiet'>
  8468. (<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/RegExp">RegExp</a>)?
  8469. </td>
  8470. <td class='col-6'>String or regular expression
  8471. to filter rules by selector.
  8472. </td>
  8473. </tr>
  8474. <tr>
  8475. <td class='col-3 strong'><code>callback</code></td>
  8476. <td class='col-3 quiet'>
  8477. <a href="#childiterator">childIterator</a>
  8478. </td>
  8479. <td class='col-6'>Iterator receives each node and index.
  8480. </td>
  8481. </tr>
  8482. </table>
  8483. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  8484. <code>(<code>false</code> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  8485. :
  8486. <span class='force-inline'>returns
  8487. <code>false</code>
  8488. if iteration was broke.
  8489. </span>
  8490. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  8491. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> selectors = []
  8492. root.walkRules(<span class="hljs-function"><span class="hljs-params">rule</span> =&gt;</span> {
  8493. selectors.push(rule.selector)
  8494. })
  8495. <span class="hljs-built_in">console</span>.log(<span class="hljs-string">`Your CSS uses <span class="hljs-subst">${ selectors.length }</span> selectors`</span>)</code></pre>
  8496. </section>
  8497. </div>
  8498. </section>
  8499. <section id='rule'class='mt2 mb2 px3 py1 keyline-top'>
  8500. <div class='right py2'>
  8501. <span class='font-smaller'>
  8502. Extends
  8503. <a href="#container">Container</a>
  8504. </span>
  8505. <span class="px2"></span>
  8506. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/rule.js#L15-L87'>
  8507. <span>lib/rule.js</span>
  8508. </a>
  8509. </div>
  8510. <h3 class='regular'>
  8511. <a class='black' href='#rule'>
  8512. <code>
  8513. Rule
  8514. <span class='gray'>(defaults)</span>
  8515. </code>
  8516. </a>
  8517. </h3>
  8518. <p>Represents a CSS rule: a selector followed by a declaration block.</p>
  8519. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  8520. <thead class='fill-light'>
  8521. <th class='col-3 small caps quiet'>parameter</th>
  8522. <th class='col-3 small caps quiet'>type</th>
  8523. <th class='col-6 small caps quiet'>description</th>
  8524. </thead>
  8525. <tr>
  8526. <td class='col-3 strong'><code>defaults</code></td>
  8527. <td class='col-3 quiet'>
  8528. any
  8529. </td>
  8530. <td class='col-6'></td>
  8531. </tr>
  8532. </table>
  8533. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  8534. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> root = postcss.parse(<span class="hljs-string">'a{}'</span>)
  8535. <span class="hljs-keyword">const</span> rule = root.first
  8536. rule.type <span class="hljs-comment">//=&gt; 'rule'</span>
  8537. rule.toString() <span class="hljs-comment">//=&gt; 'a{}'</span></code></pre>
  8538. <h4 class='caps quiet mb2 mt3'>Instance Members</h4>
  8539. <div class="section-indent">
  8540. <section id='ruleappend'class='mt2 mb2 px3 py1 keyline-top'>
  8541. <div class='right py2'>
  8542. <span class="px2"></span>
  8543. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L324-L333'>
  8544. <span>lib/container.js</span>
  8545. </a>
  8546. </div>
  8547. <h3 class='regular'>
  8548. <a class='black' href='#ruleappend'>
  8549. <code>
  8550. append
  8551. <span class='gray'>(children)</span>
  8552. </code>
  8553. </a>
  8554. </h3>
  8555. <p>Inserts new nodes to the end of the container.</p>
  8556. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  8557. <thead class='fill-light'>
  8558. <th class='col-3 small caps quiet'>parameter</th>
  8559. <th class='col-3 small caps quiet'>type</th>
  8560. <th class='col-6 small caps quiet'>description</th>
  8561. </thead>
  8562. <tr>
  8563. <td class='col-3 strong'><code>children</code></td>
  8564. <td class='col-3 quiet'>
  8565. ...(<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="#node">Node</a>>)
  8566. </td>
  8567. <td class='col-6'>New nodes.
  8568. </td>
  8569. </tr>
  8570. </table>
  8571. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  8572. <code><a href="#node">Node</a></code>
  8573. :
  8574. <span class='force-inline'>This node for methods chain.
  8575. </span>
  8576. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  8577. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> decl1 = postcss.decl({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'color'</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'black'</span> })
  8578. <span class="hljs-keyword">const</span> decl2 = postcss.decl({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'background-color'</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'white'</span> })
  8579. rule.append(decl1, decl2)
  8580. root.append({ <span class="hljs-attr">name</span>: <span class="hljs-string">'charset'</span>, <span class="hljs-attr">params</span>: <span class="hljs-string">'"UTF-8"'</span> }) <span class="hljs-comment">// at-rule</span>
  8581. root.append({ <span class="hljs-attr">selector</span>: <span class="hljs-string">'a'</span> }) <span class="hljs-comment">// rule</span>
  8582. rule.append({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'color'</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'black'</span> }) <span class="hljs-comment">// declaration</span>
  8583. rule.append({ <span class="hljs-attr">text</span>: <span class="hljs-string">'Comment'</span> }) <span class="hljs-comment">// comment</span>
  8584. root.append(<span class="hljs-string">'a {}'</span>)
  8585. root.first.append(<span class="hljs-string">'color: black; z-index: 1'</span>)</code></pre>
  8586. </section>
  8587. <section id='ruleeach'class='mt2 mb2 px3 py1 keyline-top'>
  8588. <div class='right py2'>
  8589. <span class="px2"></span>
  8590. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L65-L91'>
  8591. <span>lib/container.js</span>
  8592. </a>
  8593. </div>
  8594. <h3 class='regular'>
  8595. <a class='black' href='#ruleeach'>
  8596. <code>
  8597. each
  8598. <span class='gray'>(callback)</span>
  8599. </code>
  8600. </a>
  8601. </h3>
  8602. <p>Iterates through the container’s immediate children,
  8603. calling <code>callback</code> for each child.</p>
  8604. <p>Returning <code>false</code> in the callback will break iteration.</p>
  8605. <p>This method only iterates through the container’s immediate children.
  8606. If you need to recursively iterate through all the container’s descendant
  8607. nodes, use <a href="#containerwalk">Container#walk</a>.</p>
  8608. <p>Unlike the for <code>{}</code>-cycle or <code>Array#forEach</code> this iterator is safe
  8609. if you are mutating the array of child nodes during iteration.
  8610. PostCSS will adjust the current index to match the mutations.</p>
  8611. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  8612. <thead class='fill-light'>
  8613. <th class='col-3 small caps quiet'>parameter</th>
  8614. <th class='col-3 small caps quiet'>type</th>
  8615. <th class='col-6 small caps quiet'>description</th>
  8616. </thead>
  8617. <tr>
  8618. <td class='col-3 strong'><code>callback</code></td>
  8619. <td class='col-3 quiet'>
  8620. <a href="#childiterator">childIterator</a>
  8621. </td>
  8622. <td class='col-6'>Iterator receives each node and index.
  8623. </td>
  8624. </tr>
  8625. </table>
  8626. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  8627. <code>(<code>false</code> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  8628. :
  8629. <span class='force-inline'>Returns
  8630. <code>false</code>
  8631. if iteration was broke.
  8632. </span>
  8633. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  8634. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> root = postcss.parse(<span class="hljs-string">'a { color: black; z-index: 1 }'</span>)
  8635. <span class="hljs-keyword">const</span> rule = root.first
  8636. <span class="hljs-keyword">for</span> (<span class="hljs-keyword">const</span> decl <span class="hljs-keyword">of</span> rule.nodes) {
  8637. decl.cloneBefore({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'-webkit-'</span> + decl.prop })
  8638. <span class="hljs-comment">// Cycle will be infinite, because cloneBefore moves the current node</span>
  8639. <span class="hljs-comment">// to the next index</span>
  8640. }
  8641. rule.each(<span class="hljs-function"><span class="hljs-params">decl</span> =&gt;</span> {
  8642. decl.cloneBefore({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'-webkit-'</span> + decl.prop })
  8643. <span class="hljs-comment">// Will be executed only for color and z-index</span>
  8644. })</code></pre>
  8645. </section>
  8646. <section id='ruleevery'class='mt2 mb2 px3 py1 keyline-top'>
  8647. <div class='right py2'>
  8648. <span class="px2"></span>
  8649. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L541-L543'>
  8650. <span>lib/container.js</span>
  8651. </a>
  8652. </div>
  8653. <h3 class='regular'>
  8654. <a class='black' href='#ruleevery'>
  8655. <code>
  8656. every
  8657. <span class='gray'>(condition)</span>
  8658. </code>
  8659. </a>
  8660. </h3>
  8661. <p>Returns <code>true</code> if callback returns <code>true</code>
  8662. for all of the container’s children.</p>
  8663. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  8664. <thead class='fill-light'>
  8665. <th class='col-3 small caps quiet'>parameter</th>
  8666. <th class='col-3 small caps quiet'>type</th>
  8667. <th class='col-6 small caps quiet'>description</th>
  8668. </thead>
  8669. <tr>
  8670. <td class='col-3 strong'><code>condition</code></td>
  8671. <td class='col-3 quiet'>
  8672. <a href="#childcondition">childCondition</a>
  8673. </td>
  8674. <td class='col-6'>Iterator returns true or false.
  8675. </td>
  8676. </tr>
  8677. </table>
  8678. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  8679. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code>
  8680. :
  8681. <span class='force-inline'>Is every child pass condition.
  8682. </span>
  8683. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  8684. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> noPrefixes = rule.every(<span class="hljs-function"><span class="hljs-params">i</span> =&gt;</span> i.prop[<span class="hljs-number">0</span>] !== <span class="hljs-string">'-'</span>)</code></pre>
  8685. </section>
  8686. <section id='rulefirst'class='mt2 mb2 px3 py1 keyline-top'>
  8687. <div class='right py2'>
  8688. <span class="px2"></span>
  8689. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L584-L587'>
  8690. <span>lib/container.js</span>
  8691. </a>
  8692. </div>
  8693. <h3 class='regular'>
  8694. <a class='black' href='#rulefirst'>
  8695. <code>
  8696. first
  8697. <span class='gray'>()</span>
  8698. </code>
  8699. </a>
  8700. </h3>
  8701. <p>The container’s first child.</p>
  8702. <p>
  8703. Type:
  8704. <a href="#node">Node</a>
  8705. </p>
  8706. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  8707. <pre class='p1 overflow-auto round fill-light'><code>rule.first === rules.nodes[<span class="hljs-number">0</span>]</code></pre>
  8708. </section>
  8709. <section id='ruleindex'class='mt2 mb2 px3 py1 keyline-top'>
  8710. <div class='right py2'>
  8711. <span class="px2"></span>
  8712. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L570-L574'>
  8713. <span>lib/container.js</span>
  8714. </a>
  8715. </div>
  8716. <h3 class='regular'>
  8717. <a class='black' href='#ruleindex'>
  8718. <code>
  8719. index
  8720. <span class='gray'>(child)</span>
  8721. </code>
  8722. </a>
  8723. </h3>
  8724. <p>Returns a <code>child</code>’s index within the <a href="Container#nodes">Container#nodes</a> array.</p>
  8725. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  8726. <thead class='fill-light'>
  8727. <th class='col-3 small caps quiet'>parameter</th>
  8728. <th class='col-3 small caps quiet'>type</th>
  8729. <th class='col-6 small caps quiet'>description</th>
  8730. </thead>
  8731. <tr>
  8732. <td class='col-3 strong'><code>child</code></td>
  8733. <td class='col-3 quiet'>
  8734. <a href="#node">Node</a>
  8735. </td>
  8736. <td class='col-6'>Child of the current container.
  8737. </td>
  8738. </tr>
  8739. </table>
  8740. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  8741. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code>
  8742. :
  8743. <span class='force-inline'>Child index.
  8744. </span>
  8745. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  8746. <pre class='p1 overflow-auto round fill-light'><code>rule.index( rule.nodes[<span class="hljs-number">2</span>] ) <span class="hljs-comment">//=&gt; 2</span></code></pre>
  8747. </section>
  8748. <section id='ruleinsertafter'class='mt2 mb2 px3 py1 keyline-top'>
  8749. <div class='right py2'>
  8750. <span class="px2"></span>
  8751. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L416-L433'>
  8752. <span>lib/container.js</span>
  8753. </a>
  8754. </div>
  8755. <h3 class='regular'>
  8756. <a class='black' href='#ruleinsertafter'>
  8757. <code>
  8758. insertAfter
  8759. <span class='gray'>(exist, add)</span>
  8760. </code>
  8761. </a>
  8762. </h3>
  8763. <p>Insert new node after old node within the container.</p>
  8764. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  8765. <thead class='fill-light'>
  8766. <th class='col-3 small caps quiet'>parameter</th>
  8767. <th class='col-3 small caps quiet'>type</th>
  8768. <th class='col-6 small caps quiet'>description</th>
  8769. </thead>
  8770. <tr>
  8771. <td class='col-3 strong'><code>exist</code></td>
  8772. <td class='col-3 quiet'>
  8773. (<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>)
  8774. </td>
  8775. <td class='col-6'>Child or child’s index.
  8776. </td>
  8777. </tr>
  8778. <tr>
  8779. <td class='col-3 strong'><code>add</code></td>
  8780. <td class='col-3 quiet'>
  8781. (<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="#node">Node</a>>)
  8782. </td>
  8783. <td class='col-6'>New node.
  8784. </td>
  8785. </tr>
  8786. </table>
  8787. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  8788. <code><a href="#node">Node</a></code>
  8789. :
  8790. <span class='force-inline'>This node for methods chain.
  8791. </span>
  8792. </section>
  8793. <section id='ruleinsertbefore'class='mt2 mb2 px3 py1 keyline-top'>
  8794. <div class='right py2'>
  8795. <span class="px2"></span>
  8796. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L388-L406'>
  8797. <span>lib/container.js</span>
  8798. </a>
  8799. </div>
  8800. <h3 class='regular'>
  8801. <a class='black' href='#ruleinsertbefore'>
  8802. <code>
  8803. insertBefore
  8804. <span class='gray'>(exist, add)</span>
  8805. </code>
  8806. </a>
  8807. </h3>
  8808. <p>Insert new node before old node within the container.</p>
  8809. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  8810. <thead class='fill-light'>
  8811. <th class='col-3 small caps quiet'>parameter</th>
  8812. <th class='col-3 small caps quiet'>type</th>
  8813. <th class='col-6 small caps quiet'>description</th>
  8814. </thead>
  8815. <tr>
  8816. <td class='col-3 strong'><code>exist</code></td>
  8817. <td class='col-3 quiet'>
  8818. (<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>)
  8819. </td>
  8820. <td class='col-6'>Child or child’s index.
  8821. </td>
  8822. </tr>
  8823. <tr>
  8824. <td class='col-3 strong'><code>add</code></td>
  8825. <td class='col-3 quiet'>
  8826. (<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="#node">Node</a>>)
  8827. </td>
  8828. <td class='col-6'>New node.
  8829. </td>
  8830. </tr>
  8831. </table>
  8832. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  8833. <code><a href="#node">Node</a></code>
  8834. :
  8835. <span class='force-inline'>This node for methods chain.
  8836. </span>
  8837. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  8838. <pre class='p1 overflow-auto round fill-light'><code>rule.insertBefore(decl, decl.clone({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'-webkit-'</span> + decl.prop }))</code></pre>
  8839. </section>
  8840. <section id='rulelast'class='mt2 mb2 px3 py1 keyline-top'>
  8841. <div class='right py2'>
  8842. <span class="px2"></span>
  8843. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L597-L600'>
  8844. <span>lib/container.js</span>
  8845. </a>
  8846. </div>
  8847. <h3 class='regular'>
  8848. <a class='black' href='#rulelast'>
  8849. <code>
  8850. last
  8851. <span class='gray'>()</span>
  8852. </code>
  8853. </a>
  8854. </h3>
  8855. <p>The container’s last child.</p>
  8856. <p>
  8857. Type:
  8858. <a href="#node">Node</a>
  8859. </p>
  8860. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  8861. <pre class='p1 overflow-auto round fill-light'><code>rule.last === rule.nodes[rule.nodes.length - <span class="hljs-number">1</span>]</code></pre>
  8862. </section>
  8863. <section id='ruleprepend'class='mt2 mb2 px3 py1 keyline-top'>
  8864. <div class='right py2'>
  8865. <span class="px2"></span>
  8866. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L355-L368'>
  8867. <span>lib/container.js</span>
  8868. </a>
  8869. </div>
  8870. <h3 class='regular'>
  8871. <a class='black' href='#ruleprepend'>
  8872. <code>
  8873. prepend
  8874. <span class='gray'>(children)</span>
  8875. </code>
  8876. </a>
  8877. </h3>
  8878. <p>Inserts new nodes to the start of the container.</p>
  8879. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  8880. <thead class='fill-light'>
  8881. <th class='col-3 small caps quiet'>parameter</th>
  8882. <th class='col-3 small caps quiet'>type</th>
  8883. <th class='col-6 small caps quiet'>description</th>
  8884. </thead>
  8885. <tr>
  8886. <td class='col-3 strong'><code>children</code></td>
  8887. <td class='col-3 quiet'>
  8888. ...(<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="#node">Node</a>>)
  8889. </td>
  8890. <td class='col-6'>New nodes.
  8891. </td>
  8892. </tr>
  8893. </table>
  8894. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  8895. <code><a href="#node">Node</a></code>
  8896. :
  8897. <span class='force-inline'>This node for methods chain.
  8898. </span>
  8899. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  8900. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> decl1 = postcss.decl({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'color'</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'black'</span> })
  8901. <span class="hljs-keyword">const</span> decl2 = postcss.decl({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'background-color'</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'white'</span> })
  8902. rule.prepend(decl1, decl2)
  8903. root.append({ <span class="hljs-attr">name</span>: <span class="hljs-string">'charset'</span>, <span class="hljs-attr">params</span>: <span class="hljs-string">'"UTF-8"'</span> }) <span class="hljs-comment">// at-rule</span>
  8904. root.append({ <span class="hljs-attr">selector</span>: <span class="hljs-string">'a'</span> }) <span class="hljs-comment">// rule</span>
  8905. rule.append({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'color'</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'black'</span> }) <span class="hljs-comment">// declaration</span>
  8906. rule.append({ <span class="hljs-attr">text</span>: <span class="hljs-string">'Comment'</span> }) <span class="hljs-comment">// comment</span>
  8907. root.append(<span class="hljs-string">'a {}'</span>)
  8908. root.first.append(<span class="hljs-string">'color: black; z-index: 1'</span>)</code></pre>
  8909. </section>
  8910. <section id='ruleremoveall'class='mt2 mb2 px3 py1 keyline-top'>
  8911. <div class='right py2'>
  8912. <span class="px2"></span>
  8913. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L477-L484'>
  8914. <span>lib/container.js</span>
  8915. </a>
  8916. </div>
  8917. <h3 class='regular'>
  8918. <a class='black' href='#ruleremoveall'>
  8919. <code>
  8920. removeAll
  8921. <span class='gray'>()</span>
  8922. </code>
  8923. </a>
  8924. </h3>
  8925. <p>Removes all children from the container
  8926. and cleans their parent properties.</p>
  8927. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  8928. <code><a href="#node">Node</a></code>
  8929. :
  8930. <span class='force-inline'>This node for methods chain.
  8931. </span>
  8932. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  8933. <pre class='p1 overflow-auto round fill-light'><code>rule.removeAll()
  8934. rule.nodes.length <span class="hljs-comment">//=&gt; 0</span></code></pre>
  8935. </section>
  8936. <section id='ruleremovechild'class='mt2 mb2 px3 py1 keyline-top'>
  8937. <div class='right py2'>
  8938. <span class="px2"></span>
  8939. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L449-L465'>
  8940. <span>lib/container.js</span>
  8941. </a>
  8942. </div>
  8943. <h3 class='regular'>
  8944. <a class='black' href='#ruleremovechild'>
  8945. <code>
  8946. removeChild
  8947. <span class='gray'>(child)</span>
  8948. </code>
  8949. </a>
  8950. </h3>
  8951. <p>Removes node from the container and cleans the parent properties
  8952. from the node and its children.</p>
  8953. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  8954. <thead class='fill-light'>
  8955. <th class='col-3 small caps quiet'>parameter</th>
  8956. <th class='col-3 small caps quiet'>type</th>
  8957. <th class='col-6 small caps quiet'>description</th>
  8958. </thead>
  8959. <tr>
  8960. <td class='col-3 strong'><code>child</code></td>
  8961. <td class='col-3 quiet'>
  8962. (<a href="#node">Node</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>)
  8963. </td>
  8964. <td class='col-6'>Child or child’s index.
  8965. </td>
  8966. </tr>
  8967. </table>
  8968. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  8969. <code><a href="#node">Node</a></code>
  8970. :
  8971. <span class='force-inline'>This node for methods chain
  8972. </span>
  8973. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  8974. <pre class='p1 overflow-auto round fill-light'><code>rule.nodes.length <span class="hljs-comment">//=&gt; 5</span>
  8975. rule.removeChild(decl)
  8976. rule.nodes.length <span class="hljs-comment">//=&gt; 4</span>
  8977. decl.parent <span class="hljs-comment">//=&gt; undefined</span></code></pre>
  8978. </section>
  8979. <section id='rulereplacevalues'class='mt2 mb2 px3 py1 keyline-top'>
  8980. <div class='right py2'>
  8981. <span class="px2"></span>
  8982. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L512-L528'>
  8983. <span>lib/container.js</span>
  8984. </a>
  8985. </div>
  8986. <h3 class='regular'>
  8987. <a class='black' href='#rulereplacevalues'>
  8988. <code>
  8989. replaceValues
  8990. <span class='gray'>(pattern, opts, callback)</span>
  8991. </code>
  8992. </a>
  8993. </h3>
  8994. <p>Passes all declaration values within the container that match pattern
  8995. through callback, replacing those values with the returned result
  8996. of callback.</p>
  8997. <p>This method is useful if you are using a custom unit or function
  8998. and need to iterate through all values.</p>
  8999. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  9000. <thead class='fill-light'>
  9001. <th class='col-3 small caps quiet'>parameter</th>
  9002. <th class='col-3 small caps quiet'>type</th>
  9003. <th class='col-6 small caps quiet'>description</th>
  9004. </thead>
  9005. <tr>
  9006. <td class='col-3 strong'><code>pattern</code></td>
  9007. <td class='col-3 quiet'>
  9008. (<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/RegExp">RegExp</a>)
  9009. </td>
  9010. <td class='col-6'>Replace pattern.
  9011. </td>
  9012. </tr>
  9013. <tr>
  9014. <td class='col-3 strong'><code>opts</code></td>
  9015. <td class='col-3 quiet'>
  9016. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>
  9017. </td>
  9018. <td class='col-6'>Options to speed up the search.
  9019. </td>
  9020. </tr>
  9021. <tr>
  9022. <td class='col-2 strong'>opts.props</td>
  9023. <td class="col-2 quiet">
  9024. (<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>>)
  9025. </td>
  9026. <td class='col-8'>An array of property names.
  9027. </td>
  9028. </tr>
  9029. <tr>
  9030. <td class='col-2 strong'>opts.fast</td>
  9031. <td class="col-2 quiet">
  9032. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  9033. </td>
  9034. <td class='col-8'>String that’s used to narrow down
  9035. values and speed up the regexp search.
  9036. </td>
  9037. </tr>
  9038. <tr>
  9039. <td class='col-3 strong'><code>callback</code></td>
  9040. <td class='col-3 quiet'>
  9041. (<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function">function</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>)
  9042. </td>
  9043. <td class='col-6'>String to replace pattern or callback
  9044. that returns a new value. The callback
  9045. will receive the same arguments
  9046. as those passed to a function parameter
  9047. of
  9048. <code>String#replace</code>
  9049. .
  9050. </td>
  9051. </tr>
  9052. </table>
  9053. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  9054. <code><a href="#node">Node</a></code>
  9055. :
  9056. <span class='force-inline'>This node for methods chain.
  9057. </span>
  9058. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  9059. <pre class='p1 overflow-auto round fill-light'><code>root.replaceValues(<span class="hljs-regexp">/\d+rem/</span>, { <span class="hljs-attr">fast</span>: <span class="hljs-string">'rem'</span> }, string =&gt; {
  9060. <span class="hljs-keyword">return</span> <span class="hljs-number">15</span> * <span class="hljs-built_in">parseInt</span>(string) + <span class="hljs-string">'px'</span>
  9061. })</code></pre>
  9062. </section>
  9063. <section id='ruleselectors'class='mt2 mb2 px3 py1 keyline-top'>
  9064. <div class='right py2'>
  9065. <span class="px2"></span>
  9066. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/rule.js#L38-L40'>
  9067. <span>lib/rule.js</span>
  9068. </a>
  9069. </div>
  9070. <h3 class='regular'>
  9071. <a class='black' href='#ruleselectors'>
  9072. <code>
  9073. selectors
  9074. <span class='gray'>()</span>
  9075. </code>
  9076. </a>
  9077. </h3>
  9078. <p>An array containing the rule’s individual selectors.
  9079. Groups of selectors are split at commas.</p>
  9080. <p>
  9081. Type:
  9082. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>>
  9083. </p>
  9084. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  9085. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> root = postcss.parse(<span class="hljs-string">'a, b { }'</span>)
  9086. <span class="hljs-keyword">const</span> rule = root.first
  9087. rule.selector <span class="hljs-comment">//=&gt; 'a, b'</span>
  9088. rule.selectors <span class="hljs-comment">//=&gt; ['a', 'b']</span>
  9089. rule.selectors = [<span class="hljs-string">'a'</span>, <span class="hljs-string">'strong'</span>]
  9090. rule.selector <span class="hljs-comment">//=&gt; 'a, strong'</span></code></pre>
  9091. </section>
  9092. <section id='rulesome'class='mt2 mb2 px3 py1 keyline-top'>
  9093. <div class='right py2'>
  9094. <span class="px2"></span>
  9095. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L556-L558'>
  9096. <span>lib/container.js</span>
  9097. </a>
  9098. </div>
  9099. <h3 class='regular'>
  9100. <a class='black' href='#rulesome'>
  9101. <code>
  9102. some
  9103. <span class='gray'>(condition)</span>
  9104. </code>
  9105. </a>
  9106. </h3>
  9107. <p>Returns <code>true</code> if callback returns <code>true</code> for (at least) one
  9108. of the container’s children.</p>
  9109. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  9110. <thead class='fill-light'>
  9111. <th class='col-3 small caps quiet'>parameter</th>
  9112. <th class='col-3 small caps quiet'>type</th>
  9113. <th class='col-6 small caps quiet'>description</th>
  9114. </thead>
  9115. <tr>
  9116. <td class='col-3 strong'><code>condition</code></td>
  9117. <td class='col-3 quiet'>
  9118. <a href="#childcondition">childCondition</a>
  9119. </td>
  9120. <td class='col-6'>Iterator returns true or false.
  9121. </td>
  9122. </tr>
  9123. </table>
  9124. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  9125. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code>
  9126. :
  9127. <span class='force-inline'>Is some child pass condition.
  9128. </span>
  9129. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  9130. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> hasPrefix = rule.some(<span class="hljs-function"><span class="hljs-params">i</span> =&gt;</span> i.prop[<span class="hljs-number">0</span>] === <span class="hljs-string">'-'</span>)</code></pre>
  9131. </section>
  9132. <section id='rulewalk'class='mt2 mb2 px3 py1 keyline-top'>
  9133. <div class='right py2'>
  9134. <span class="px2"></span>
  9135. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L112-L126'>
  9136. <span>lib/container.js</span>
  9137. </a>
  9138. </div>
  9139. <h3 class='regular'>
  9140. <a class='black' href='#rulewalk'>
  9141. <code>
  9142. walk
  9143. <span class='gray'>(callback)</span>
  9144. </code>
  9145. </a>
  9146. </h3>
  9147. <p>Traverses the container’s descendant nodes, calling callback
  9148. for each node.</p>
  9149. <p>Like container.each(), this method is safe to use
  9150. if you are mutating arrays during iteration.</p>
  9151. <p>If you only need to iterate through the container’s immediate children,
  9152. use <a href="#containereach">Container#each</a>.</p>
  9153. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  9154. <thead class='fill-light'>
  9155. <th class='col-3 small caps quiet'>parameter</th>
  9156. <th class='col-3 small caps quiet'>type</th>
  9157. <th class='col-6 small caps quiet'>description</th>
  9158. </thead>
  9159. <tr>
  9160. <td class='col-3 strong'><code>callback</code></td>
  9161. <td class='col-3 quiet'>
  9162. <a href="#childiterator">childIterator</a>
  9163. </td>
  9164. <td class='col-6'>Iterator receives each node and index.
  9165. </td>
  9166. </tr>
  9167. </table>
  9168. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  9169. <code>(<code>false</code> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  9170. :
  9171. <span class='force-inline'>Returns
  9172. <code>false</code>
  9173. if iteration was broke.
  9174. </span>
  9175. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  9176. <pre class='p1 overflow-auto round fill-light'><code>root.walk(<span class="hljs-function"><span class="hljs-params">node</span> =&gt;</span> {
  9177. <span class="hljs-comment">// Traverses all descendant nodes.</span>
  9178. })</code></pre>
  9179. </section>
  9180. <section id='rulewalkatrules'class='mt2 mb2 px3 py1 keyline-top'>
  9181. <div class='right py2'>
  9182. <span class="px2"></span>
  9183. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L257-L278'>
  9184. <span>lib/container.js</span>
  9185. </a>
  9186. </div>
  9187. <h3 class='regular'>
  9188. <a class='black' href='#rulewalkatrules'>
  9189. <code>
  9190. walkAtRules
  9191. <span class='gray'>(name?, callback)</span>
  9192. </code>
  9193. </a>
  9194. </h3>
  9195. <p>Traverses the container’s descendant nodes, calling callback
  9196. for each at-rule node.</p>
  9197. <p>If you pass a filter, iteration will only happen over at-rules
  9198. that have matching names.</p>
  9199. <p>Like <a href="#containereach">Container#each</a>, this method is safe
  9200. to use if you are mutating arrays during iteration.</p>
  9201. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  9202. <thead class='fill-light'>
  9203. <th class='col-3 small caps quiet'>parameter</th>
  9204. <th class='col-3 small caps quiet'>type</th>
  9205. <th class='col-6 small caps quiet'>description</th>
  9206. </thead>
  9207. <tr>
  9208. <td class='col-3 strong'><code>name</code></td>
  9209. <td class='col-3 quiet'>
  9210. (<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/RegExp">RegExp</a>)?
  9211. </td>
  9212. <td class='col-6'>String or regular expression
  9213. to filter at-rules by name.
  9214. </td>
  9215. </tr>
  9216. <tr>
  9217. <td class='col-3 strong'><code>callback</code></td>
  9218. <td class='col-3 quiet'>
  9219. <a href="#childiterator">childIterator</a>
  9220. </td>
  9221. <td class='col-6'>Iterator receives each node and index.
  9222. </td>
  9223. </tr>
  9224. </table>
  9225. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  9226. <code>(<code>false</code> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  9227. :
  9228. <span class='force-inline'>Returns
  9229. <code>false</code>
  9230. if iteration was broke.
  9231. </span>
  9232. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  9233. <pre class='p1 overflow-auto round fill-light'><code>root.walkAtRules(<span class="hljs-function"><span class="hljs-params">rule</span> =&gt;</span> {
  9234. <span class="hljs-keyword">if</span> (isOld(rule.name)) rule.remove()
  9235. })
  9236. <span class="hljs-keyword">let</span> first = <span class="hljs-literal">false</span>
  9237. root.walkAtRules(<span class="hljs-string">'charset'</span>, rule =&gt; {
  9238. <span class="hljs-keyword">if</span> (!first) {
  9239. first = <span class="hljs-literal">true</span>
  9240. } <span class="hljs-keyword">else</span> {
  9241. rule.remove()
  9242. }
  9243. })</code></pre>
  9244. </section>
  9245. <section id='rulewalkcomments'class='mt2 mb2 px3 py1 keyline-top'>
  9246. <div class='right py2'>
  9247. <span class="px2"></span>
  9248. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L296-L302'>
  9249. <span>lib/container.js</span>
  9250. </a>
  9251. </div>
  9252. <h3 class='regular'>
  9253. <a class='black' href='#rulewalkcomments'>
  9254. <code>
  9255. walkComments
  9256. <span class='gray'>(callback)</span>
  9257. </code>
  9258. </a>
  9259. </h3>
  9260. <p>Traverses the container’s descendant nodes, calling callback
  9261. for each comment node.</p>
  9262. <p>Like <a href="#containereach">Container#each</a>, this method is safe
  9263. to use if you are mutating arrays during iteration.</p>
  9264. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  9265. <thead class='fill-light'>
  9266. <th class='col-3 small caps quiet'>parameter</th>
  9267. <th class='col-3 small caps quiet'>type</th>
  9268. <th class='col-6 small caps quiet'>description</th>
  9269. </thead>
  9270. <tr>
  9271. <td class='col-3 strong'><code>callback</code></td>
  9272. <td class='col-3 quiet'>
  9273. <a href="#childiterator">childIterator</a>
  9274. </td>
  9275. <td class='col-6'>Iterator receives each node and index.
  9276. </td>
  9277. </tr>
  9278. </table>
  9279. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  9280. <code>(<code>false</code> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  9281. :
  9282. <span class='force-inline'>Returns
  9283. <code>false</code>
  9284. if iteration was broke.
  9285. </span>
  9286. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  9287. <pre class='p1 overflow-auto round fill-light'><code>root.walkComments(<span class="hljs-function"><span class="hljs-params">comment</span> =&gt;</span> {
  9288. comment.remove()
  9289. })</code></pre>
  9290. </section>
  9291. <section id='rulewalkdecls'class='mt2 mb2 px3 py1 keyline-top'>
  9292. <div class='right py2'>
  9293. <span class="px2"></span>
  9294. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L157-L178'>
  9295. <span>lib/container.js</span>
  9296. </a>
  9297. </div>
  9298. <h3 class='regular'>
  9299. <a class='black' href='#rulewalkdecls'>
  9300. <code>
  9301. walkDecls
  9302. <span class='gray'>(prop?, callback)</span>
  9303. </code>
  9304. </a>
  9305. </h3>
  9306. <p>Traverses the container’s descendant nodes, calling callback
  9307. for each declaration node.</p>
  9308. <p>If you pass a filter, iteration will only happen over declarations
  9309. with matching properties.</p>
  9310. <p>Like <a href="#containereach">Container#each</a>, this method is safe
  9311. to use if you are mutating arrays during iteration.</p>
  9312. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  9313. <thead class='fill-light'>
  9314. <th class='col-3 small caps quiet'>parameter</th>
  9315. <th class='col-3 small caps quiet'>type</th>
  9316. <th class='col-6 small caps quiet'>description</th>
  9317. </thead>
  9318. <tr>
  9319. <td class='col-3 strong'><code>prop</code></td>
  9320. <td class='col-3 quiet'>
  9321. (<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/RegExp">RegExp</a>)?
  9322. </td>
  9323. <td class='col-6'>String or regular expression
  9324. to filter declarations by property name.
  9325. </td>
  9326. </tr>
  9327. <tr>
  9328. <td class='col-3 strong'><code>callback</code></td>
  9329. <td class='col-3 quiet'>
  9330. <a href="#childiterator">childIterator</a>
  9331. </td>
  9332. <td class='col-6'>Iterator receives each node and index.
  9333. </td>
  9334. </tr>
  9335. </table>
  9336. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  9337. <code>(<code>false</code> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  9338. :
  9339. <span class='force-inline'>Returns
  9340. <code>false</code>
  9341. if iteration was broke.
  9342. </span>
  9343. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  9344. <pre class='p1 overflow-auto round fill-light'><code>root.walkDecls(<span class="hljs-function"><span class="hljs-params">decl</span> =&gt;</span> {
  9345. checkPropertySupport(decl.prop)
  9346. })
  9347. root.walkDecls(<span class="hljs-string">'border-radius'</span>, decl =&gt; {
  9348. decl.remove()
  9349. })
  9350. root.walkDecls(<span class="hljs-regexp">/^background/</span>, decl =&gt; {
  9351. decl.value = takeFirstColorFromGradient(decl.value)
  9352. })</code></pre>
  9353. </section>
  9354. <section id='rulewalkrules'class='mt2 mb2 px3 py1 keyline-top'>
  9355. <div class='right py2'>
  9356. <span class="px2"></span>
  9357. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L203-L225'>
  9358. <span>lib/container.js</span>
  9359. </a>
  9360. </div>
  9361. <h3 class='regular'>
  9362. <a class='black' href='#rulewalkrules'>
  9363. <code>
  9364. walkRules
  9365. <span class='gray'>(selector?, callback)</span>
  9366. </code>
  9367. </a>
  9368. </h3>
  9369. <p>Traverses the container’s descendant nodes, calling callback
  9370. for each rule node.</p>
  9371. <p>If you pass a filter, iteration will only happen over rules
  9372. with matching selectors.</p>
  9373. <p>Like <a href="#containereach">Container#each</a>, this method is safe
  9374. to use if you are mutating arrays during iteration.</p>
  9375. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  9376. <thead class='fill-light'>
  9377. <th class='col-3 small caps quiet'>parameter</th>
  9378. <th class='col-3 small caps quiet'>type</th>
  9379. <th class='col-6 small caps quiet'>description</th>
  9380. </thead>
  9381. <tr>
  9382. <td class='col-3 strong'><code>selector</code></td>
  9383. <td class='col-3 quiet'>
  9384. (<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/RegExp">RegExp</a>)?
  9385. </td>
  9386. <td class='col-6'>String or regular expression
  9387. to filter rules by selector.
  9388. </td>
  9389. </tr>
  9390. <tr>
  9391. <td class='col-3 strong'><code>callback</code></td>
  9392. <td class='col-3 quiet'>
  9393. <a href="#childiterator">childIterator</a>
  9394. </td>
  9395. <td class='col-6'>Iterator receives each node and index.
  9396. </td>
  9397. </tr>
  9398. </table>
  9399. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  9400. <code>(<code>false</code> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  9401. :
  9402. <span class='force-inline'>returns
  9403. <code>false</code>
  9404. if iteration was broke.
  9405. </span>
  9406. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  9407. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> selectors = []
  9408. root.walkRules(<span class="hljs-function"><span class="hljs-params">rule</span> =&gt;</span> {
  9409. selectors.push(rule.selector)
  9410. })
  9411. <span class="hljs-built_in">console</span>.log(<span class="hljs-string">`Your CSS uses <span class="hljs-subst">${ selectors.length }</span> selectors`</span>)</code></pre>
  9412. </section>
  9413. </div>
  9414. </section>
  9415. <section id='warning'class='mt2 mb2 px3 py1 keyline-top'>
  9416. <div class='right py2'>
  9417. <span class="px2"></span>
  9418. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/warning.js#L9-L107'>
  9419. <span>lib/warning.js</span>
  9420. </a>
  9421. </div>
  9422. <h3 class='regular'>
  9423. <a class='black' href='#warning'>
  9424. <code>
  9425. Warning
  9426. <span class='gray'>(text, opts = {})</span>
  9427. </code>
  9428. </a>
  9429. </h3>
  9430. <p>Represents a plugin’s warning. It can be created using <a href="#nodewarn">Node#warn</a>.</p>
  9431. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  9432. <thead class='fill-light'>
  9433. <th class='col-3 small caps quiet'>parameter</th>
  9434. <th class='col-3 small caps quiet'>type</th>
  9435. <th class='col-6 small caps quiet'>description</th>
  9436. </thead>
  9437. <tr>
  9438. <td class='col-3 strong'><code>text</code></td>
  9439. <td class='col-3 quiet'>
  9440. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  9441. </td>
  9442. <td class='col-6'>Warning message.
  9443. </td>
  9444. </tr>
  9445. <tr>
  9446. <td class='col-3 strong'><code>opts</code></td>
  9447. <td class='col-3 quiet'>
  9448. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>?
  9449. = <code>{}</code>
  9450. </td>
  9451. <td class='col-6'>Warning options.
  9452. </td>
  9453. </tr>
  9454. </table>
  9455. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  9456. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">if</span> (decl.important) {
  9457. decl.warn(result, <span class="hljs-string">'Avoid !important'</span>, { <span class="hljs-attr">word</span>: <span class="hljs-string">'!important'</span> })
  9458. }</code></pre>
  9459. <h4 class='caps quiet mb2 mt3'>Instance Members</h4>
  9460. <div class="section-indent">
  9461. <section id='warningtype'class='mt2 mb2 px3 py1 keyline-top'>
  9462. <div class='right py2'>
  9463. <span class="px2"></span>
  9464. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/warning.js#L31-L31'>
  9465. <span>lib/warning.js</span>
  9466. </a>
  9467. </div>
  9468. <h3 class='regular'>
  9469. <a class='black' href='#warningtype'>
  9470. <code>
  9471. type
  9472. <span class='gray'>()</span>
  9473. </code>
  9474. </a>
  9475. </h3>
  9476. <p>Type to filter warnings from <a href="#resultmessages">Result#messages</a>.
  9477. Always equal to <code>"warning"</code>.</p>
  9478. <p>
  9479. Type:
  9480. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  9481. </p>
  9482. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  9483. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> nonWarning = result.messages.filter(<span class="hljs-function"><span class="hljs-params">i</span> =&gt;</span> i.type !== <span class="hljs-string">'warning'</span>)</code></pre>
  9484. </section>
  9485. <section id='warningtext'class='mt2 mb2 px3 py1 keyline-top'>
  9486. <div class='right py2'>
  9487. <span class="px2"></span>
  9488. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/warning.js#L40-L40'>
  9489. <span>lib/warning.js</span>
  9490. </a>
  9491. </div>
  9492. <h3 class='regular'>
  9493. <a class='black' href='#warningtext'>
  9494. <code>
  9495. text
  9496. <span class='gray'>()</span>
  9497. </code>
  9498. </a>
  9499. </h3>
  9500. <p>The warning message.</p>
  9501. <p>
  9502. Type:
  9503. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  9504. </p>
  9505. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  9506. <pre class='p1 overflow-auto round fill-light'><code>warning.text <span class="hljs-comment">//=&gt; 'Try to avoid !important'</span></code></pre>
  9507. </section>
  9508. <section id='warningline'class='mt2 mb2 px3 py1 keyline-top'>
  9509. <div class='right py2'>
  9510. <span class="px2"></span>
  9511. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/warning.js#L51-L51'>
  9512. <span>lib/warning.js</span>
  9513. </a>
  9514. </div>
  9515. <h3 class='regular'>
  9516. <a class='black' href='#warningline'>
  9517. <code>
  9518. line
  9519. <span class='gray'>()</span>
  9520. </code>
  9521. </a>
  9522. </h3>
  9523. <p>Line in the input file with this warning’s source.</p>
  9524. <p>
  9525. Type:
  9526. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>
  9527. </p>
  9528. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  9529. <pre class='p1 overflow-auto round fill-light'><code>warning.line <span class="hljs-comment">//=&gt; 5</span></code></pre>
  9530. </section>
  9531. <section id='warningcolumn'class='mt2 mb2 px3 py1 keyline-top'>
  9532. <div class='right py2'>
  9533. <span class="px2"></span>
  9534. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/warning.js#L60-L60'>
  9535. <span>lib/warning.js</span>
  9536. </a>
  9537. </div>
  9538. <h3 class='regular'>
  9539. <a class='black' href='#warningcolumn'>
  9540. <code>
  9541. column
  9542. <span class='gray'>()</span>
  9543. </code>
  9544. </a>
  9545. </h3>
  9546. <p>Column in the input file with this warning’s source.</p>
  9547. <p>
  9548. Type:
  9549. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>
  9550. </p>
  9551. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  9552. <pre class='p1 overflow-auto round fill-light'><code>warning.column <span class="hljs-comment">//=&gt; 6</span></code></pre>
  9553. </section>
  9554. <section id='warningtostring'class='mt2 mb2 px3 py1 keyline-top'>
  9555. <div class='right py2'>
  9556. <span class="px2"></span>
  9557. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/warning.js#L74-L88'>
  9558. <span>lib/warning.js</span>
  9559. </a>
  9560. </div>
  9561. <h3 class='regular'>
  9562. <a class='black' href='#warningtostring'>
  9563. <code>
  9564. toString
  9565. <span class='gray'>()</span>
  9566. </code>
  9567. </a>
  9568. </h3>
  9569. <p>Returns a warning position and message.</p>
  9570. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  9571. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code>
  9572. :
  9573. <span class='force-inline'>Warning position and message.
  9574. </span>
  9575. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  9576. <pre class='p1 overflow-auto round fill-light'><code>warning.toString() <span class="hljs-comment">//=&gt; 'postcss-lint:a.css:10:14: Avoid !important'</span></code></pre>
  9577. </section>
  9578. </div>
  9579. </section>
  9580. <div class="hide">
  9581. <section class='py2 clearfix'>
  9582. <h2 id='namespaces' class='mt0'>
  9583. NAMESPACES
  9584. </h2>
  9585. </section>
  9586. </div>
  9587. <section id='list'class='mt2 mb2 px3 py1 keyline-top'>
  9588. <div class='right py2'>
  9589. <span class="px2"></span>
  9590. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/list.js#L10-L85'>
  9591. <span>lib/list.js</span>
  9592. </a>
  9593. </div>
  9594. <h3 class='regular'>
  9595. <a class='black' href='#list'>
  9596. <code>
  9597. list
  9598. <span class='gray'>()</span>
  9599. </code>
  9600. </a>
  9601. </h3>
  9602. <p>Contains helpers for safely splitting lists of CSS values,
  9603. preserving parentheses and quotes.</p>
  9604. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  9605. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> list = postcss.list</code></pre>
  9606. <h4 class='caps quiet mb2 mt3'>Static Members</h4>
  9607. <div class="section-indent">
  9608. <section id='listspace'class='mt2 mb2 px3 py1 keyline-top'>
  9609. <div class='right py2'>
  9610. <span class="px2"></span>
  9611. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/list.js#L64-L67'>
  9612. <span>lib/list.js</span>
  9613. </a>
  9614. </div>
  9615. <h3 class='regular'>
  9616. <a class='black' href='#listspace'>
  9617. <code>
  9618. space
  9619. <span class='gray'>(string)</span>
  9620. </code>
  9621. </a>
  9622. </h3>
  9623. <p>Safely splits space-separated values (such as those for <code>background</code>,
  9624. <code>border-radius</code>, and other shorthand properties).</p>
  9625. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  9626. <thead class='fill-light'>
  9627. <th class='col-3 small caps quiet'>parameter</th>
  9628. <th class='col-3 small caps quiet'>type</th>
  9629. <th class='col-6 small caps quiet'>description</th>
  9630. </thead>
  9631. <tr>
  9632. <td class='col-3 strong'><code>string</code></td>
  9633. <td class='col-3 quiet'>
  9634. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  9635. </td>
  9636. <td class='col-6'>Space-separated values.
  9637. </td>
  9638. </tr>
  9639. </table>
  9640. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  9641. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>></code>
  9642. :
  9643. <span class='force-inline'>Split values.
  9644. </span>
  9645. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  9646. <pre class='p1 overflow-auto round fill-light'><code>postcss.list.space(<span class="hljs-string">'1px calc(10% + 1px)'</span>) <span class="hljs-comment">//=&gt; ['1px', 'calc(10% + 1px)']</span></code></pre>
  9647. </section>
  9648. <section id='listcomma'class='mt2 mb2 px3 py1 keyline-top'>
  9649. <div class='right py2'>
  9650. <span class="px2"></span>
  9651. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/list.js#L81-L83'>
  9652. <span>lib/list.js</span>
  9653. </a>
  9654. </div>
  9655. <h3 class='regular'>
  9656. <a class='black' href='#listcomma'>
  9657. <code>
  9658. comma
  9659. <span class='gray'>(string)</span>
  9660. </code>
  9661. </a>
  9662. </h3>
  9663. <p>Safely splits comma-separated values (such as those for <code>transition-*</code>
  9664. and <code>background</code> properties).</p>
  9665. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  9666. <thead class='fill-light'>
  9667. <th class='col-3 small caps quiet'>parameter</th>
  9668. <th class='col-3 small caps quiet'>type</th>
  9669. <th class='col-6 small caps quiet'>description</th>
  9670. </thead>
  9671. <tr>
  9672. <td class='col-3 strong'><code>string</code></td>
  9673. <td class='col-3 quiet'>
  9674. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  9675. </td>
  9676. <td class='col-6'>Comma-separated values.
  9677. </td>
  9678. </tr>
  9679. </table>
  9680. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  9681. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>></code>
  9682. :
  9683. <span class='force-inline'>Split values.
  9684. </span>
  9685. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  9686. <pre class='p1 overflow-auto round fill-light'><code>postcss.list.comma(<span class="hljs-string">'black, linear-gradient(white, black)'</span>)
  9687. <span class="hljs-comment">//=&gt; ['black', 'linear-gradient(white, black)']</span></code></pre>
  9688. </section>
  9689. </div>
  9690. </section>
  9691. <section id='postcss'class='mt2 mb2 px3 py1 keyline-top'>
  9692. <div class='right py2'>
  9693. <span class="px2"></span>
  9694. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/postcss.js#L30-L35'>
  9695. <span>lib/postcss.js</span>
  9696. </a>
  9697. </div>
  9698. <h3 class='regular'>
  9699. <a class='black' href='#postcss'>
  9700. <code>
  9701. postcss
  9702. <span class='gray'>(plugins)</span>
  9703. </code>
  9704. </a>
  9705. </h3>
  9706. <p>Create a new <a href="#processor">Processor</a> instance that will apply <code>plugins</code>
  9707. as CSS processors.</p>
  9708. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  9709. <thead class='fill-light'>
  9710. <th class='col-3 small caps quiet'>parameter</th>
  9711. <th class='col-3 small caps quiet'>type</th>
  9712. <th class='col-6 small caps quiet'>description</th>
  9713. </thead>
  9714. <tr>
  9715. <td class='col-3 strong'><code>plugins</code></td>
  9716. <td class='col-3 quiet'>
  9717. (<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;(<a href="#plugin">Plugin</a> | <a href="#pluginfunction">pluginFunction</a>)> | <a href="#processor">Processor</a>)
  9718. </td>
  9719. <td class='col-6'>PostCSS plugins.
  9720. See
  9721. <a href="#processoruse">Processor#use</a>
  9722. for plugin format.
  9723. </td>
  9724. </tr>
  9725. </table>
  9726. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  9727. <code><a href="#processor">Processor</a></code>
  9728. :
  9729. <span class='force-inline'>Processor to process multiple CSS.
  9730. </span>
  9731. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  9732. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">let</span> postcss = <span class="hljs-built_in">require</span>(<span class="hljs-string">'postcss'</span>)
  9733. postcss(plugins).process(css, { <span class="hljs-keyword">from</span>, to }).then(<span class="hljs-function"><span class="hljs-params">result</span> =&gt;</span> {
  9734. <span class="hljs-built_in">console</span>.log(result.css)
  9735. })</code></pre>
  9736. <h4 class='caps quiet mb2 mt3'>Static Members</h4>
  9737. <div class="section-indent">
  9738. <section id='postcssplugin'class='mt2 mb2 px3 py1 keyline-top'>
  9739. <div class='right py2'>
  9740. <span class="px2"></span>
  9741. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/postcss.js#L109-L130'>
  9742. <span>lib/postcss.js</span>
  9743. </a>
  9744. </div>
  9745. <h3 class='regular'>
  9746. <a class='black' href='#postcssplugin'>
  9747. <code>
  9748. plugin
  9749. <span class='gray'>(name, initializer)</span>
  9750. </code>
  9751. </a>
  9752. </h3>
  9753. <p>Creates a PostCSS plugin with a standard API.</p>
  9754. <p>The newly-wrapped function will provide both the name and PostCSS
  9755. version of the plugin.</p>
  9756. <pre class='hljs'><span class="hljs-keyword">const</span> processor = postcss([replace])
  9757. processor.plugins[<span class="hljs-number">0</span>].postcssPlugin <span class="hljs-comment">//=&gt; 'postcss-replace'</span>
  9758. processor.plugins[<span class="hljs-number">0</span>].postcssVersion <span class="hljs-comment">//=&gt; '6.0.0'</span></pre>
  9759. <p>The plugin function receives 2 arguments: <a href="#root">Root</a>
  9760. and <a href="#result">Result</a> instance. The function should mutate the provided
  9761. <code>Root</code> node. Alternatively, you can create a new <code>Root</code> node
  9762. and override the <code>result.root</code> property.</p>
  9763. <pre class='hljs'><span class="hljs-keyword">const</span> cleaner = postcss.plugin(<span class="hljs-string">'postcss-cleaner'</span>, () =&gt; {
  9764. <span class="hljs-keyword">return</span> <span class="hljs-function">(<span class="hljs-params">root, result</span>) =&gt;</span> {
  9765. result.root = postcss.root()
  9766. }
  9767. })</pre>
  9768. <p>As a convenience, plugins also expose a <code>process</code> method so that you can use
  9769. them as standalone tools.</p>
  9770. <pre class='hljs'>cleaner.process(css, processOpts, pluginOpts)
  9771. <span class="hljs-comment">// This is equivalent to:</span>
  9772. postcss([ cleaner(pluginOpts) ]).process(css, processOpts)</pre>
  9773. <p>Asynchronous plugins should return a <code>Promise</code> instance.</p>
  9774. <pre class='hljs'>postcss.plugin(<span class="hljs-string">'postcss-import'</span>, () =&gt; {
  9775. <span class="hljs-keyword">return</span> <span class="hljs-function">(<span class="hljs-params">root, result</span>) =&gt;</span> {
  9776. <span class="hljs-keyword">return</span> <span class="hljs-keyword">new</span> <span class="hljs-built_in">Promise</span>( <span class="hljs-function">(<span class="hljs-params">resolve, reject</span>) =&gt;</span> {
  9777. fs.readFile(<span class="hljs-string">'base.css'</span>, (base) =&gt; {
  9778. root.prepend(base)
  9779. resolve()
  9780. })
  9781. })
  9782. }
  9783. })</pre>
  9784. <p>Add warnings using the <a href="#nodewarn">Node#warn</a> method.
  9785. Send data to other plugins using the <a href="#resultmessages">Result#messages</a> array.</p>
  9786. <pre class='hljs'>postcss.plugin(<span class="hljs-string">'postcss-caniuse-test'</span>, () =&gt; {
  9787. <span class="hljs-keyword">return</span> <span class="hljs-function">(<span class="hljs-params">root, result</span>) =&gt;</span> {
  9788. root.walkDecls(<span class="hljs-function"><span class="hljs-params">decl</span> =&gt;</span> {
  9789. <span class="hljs-keyword">if</span> (!caniuse.support(decl.prop)) {
  9790. decl.warn(result, <span class="hljs-string">'Some browsers do not support '</span> + decl.prop)
  9791. }
  9792. })
  9793. }
  9794. })</pre>
  9795. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  9796. <thead class='fill-light'>
  9797. <th class='col-3 small caps quiet'>parameter</th>
  9798. <th class='col-3 small caps quiet'>type</th>
  9799. <th class='col-6 small caps quiet'>description</th>
  9800. </thead>
  9801. <tr>
  9802. <td class='col-3 strong'><code>name</code></td>
  9803. <td class='col-3 quiet'>
  9804. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  9805. </td>
  9806. <td class='col-6'>PostCSS plugin name. Same as in
  9807. <code>name</code>
  9808. property in
  9809. <code>package.json</code>
  9810. . It will be saved
  9811. in
  9812. <code>plugin.postcssPlugin</code>
  9813. property.
  9814. </td>
  9815. </tr>
  9816. <tr>
  9817. <td class='col-3 strong'><code>initializer</code></td>
  9818. <td class='col-3 quiet'>
  9819. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function">function</a>
  9820. </td>
  9821. <td class='col-6'>Will receive plugin options
  9822. and should return
  9823. <a href="#pluginfunction">pluginFunction</a>
  9824. </td>
  9825. </tr>
  9826. </table>
  9827. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  9828. <code><a href="#plugin">Plugin</a></code>
  9829. :
  9830. <span class='force-inline'>PostCSS plugin.
  9831. </span>
  9832. </section>
  9833. <section id='postcssstringify'class='mt2 mb2 px3 py1 keyline-top'>
  9834. <div class='right py2'>
  9835. <span class="px2"></span>
  9836. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/postcss.js#L143-L143'>
  9837. <span>lib/postcss.js</span>
  9838. </a>
  9839. </div>
  9840. <h3 class='regular'>
  9841. <a class='black' href='#postcssstringify'>
  9842. <code>
  9843. stringify
  9844. <span class='gray'>(node, builder)</span>
  9845. </code>
  9846. </a>
  9847. </h3>
  9848. <p>Default function to convert a node tree into a CSS string.</p>
  9849. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  9850. <thead class='fill-light'>
  9851. <th class='col-3 small caps quiet'>parameter</th>
  9852. <th class='col-3 small caps quiet'>type</th>
  9853. <th class='col-6 small caps quiet'>description</th>
  9854. </thead>
  9855. <tr>
  9856. <td class='col-3 strong'><code>node</code></td>
  9857. <td class='col-3 quiet'>
  9858. <a href="#node">Node</a>
  9859. </td>
  9860. <td class='col-6'>Start node for stringifing. Usually
  9861. <a href="#root">Root</a>
  9862. .
  9863. </td>
  9864. </tr>
  9865. <tr>
  9866. <td class='col-3 strong'><code>builder</code></td>
  9867. <td class='col-3 quiet'>
  9868. <a href="#builder">builder</a>
  9869. </td>
  9870. <td class='col-6'>Function to concatenate CSS from node’s parts
  9871. or generate string and source map.
  9872. </td>
  9873. </tr>
  9874. </table>
  9875. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  9876. <code>void</code>
  9877. :
  9878. <span class='force-inline'>
  9879. </span>
  9880. </section>
  9881. <section id='postcssparse'class='mt2 mb2 px3 py1 keyline-top'>
  9882. <div class='right py2'>
  9883. <span class="px2"></span>
  9884. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/postcss.js#L163-L163'>
  9885. <span>lib/postcss.js</span>
  9886. </a>
  9887. </div>
  9888. <h3 class='regular'>
  9889. <a class='black' href='#postcssparse'>
  9890. <code>
  9891. parse
  9892. <span class='gray'>(css, opts?)</span>
  9893. </code>
  9894. </a>
  9895. </h3>
  9896. <p>Parses source css and returns a new <a href="#root">Root</a> node,
  9897. which contains the source CSS nodes.</p>
  9898. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  9899. <thead class='fill-light'>
  9900. <th class='col-3 small caps quiet'>parameter</th>
  9901. <th class='col-3 small caps quiet'>type</th>
  9902. <th class='col-6 small caps quiet'>description</th>
  9903. </thead>
  9904. <tr>
  9905. <td class='col-3 strong'><code>css</code></td>
  9906. <td class='col-3 quiet'>
  9907. (<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="#tostring">toString</a>)
  9908. </td>
  9909. <td class='col-6'>String with input CSS or any object
  9910. with toString() method, like a Buffer
  9911. </td>
  9912. </tr>
  9913. <tr>
  9914. <td class='col-3 strong'><code>opts</code></td>
  9915. <td class='col-3 quiet'>
  9916. <a href="#processoptions">processOptions</a>?
  9917. </td>
  9918. <td class='col-6'>Options with only
  9919. <code>from</code>
  9920. and
  9921. <code>map</code>
  9922. keys.
  9923. </td>
  9924. </tr>
  9925. </table>
  9926. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  9927. <code><a href="#root">Root</a></code>
  9928. :
  9929. <span class='force-inline'>PostCSS AST.
  9930. </span>
  9931. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  9932. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-comment">// Simple CSS concatenation with source map support</span>
  9933. <span class="hljs-keyword">const</span> root1 = postcss.parse(css1, { <span class="hljs-attr">from</span>: file1 })
  9934. <span class="hljs-keyword">const</span> root2 = postcss.parse(css2, { <span class="hljs-attr">from</span>: file2 })
  9935. root1.append(root2).toResult().css</code></pre>
  9936. </section>
  9937. <section id='postcssvendor'class='mt2 mb2 px3 py1 keyline-top'>
  9938. <div class='right py2'>
  9939. <span class="px2"></span>
  9940. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/postcss.js#L173-L173'>
  9941. <span>lib/postcss.js</span>
  9942. </a>
  9943. </div>
  9944. <h3 class='regular'>
  9945. <a class='black' href='#postcssvendor'>
  9946. <code>
  9947. vendor
  9948. <span class='gray'>()</span>
  9949. </code>
  9950. </a>
  9951. </h3>
  9952. <p>Contains the <a href="#vendor">vendor</a> module.</p>
  9953. <p>
  9954. Type:
  9955. <a href="#vendor">vendor</a>
  9956. </p>
  9957. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  9958. <pre class='p1 overflow-auto round fill-light'><code>postcss.vendor.unprefixed(<span class="hljs-string">'-moz-tab'</span>) <span class="hljs-comment">//=&gt; ['tab']</span></code></pre>
  9959. </section>
  9960. <section id='postcsslist'class='mt2 mb2 px3 py1 keyline-top'>
  9961. <div class='right py2'>
  9962. <span class="px2"></span>
  9963. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/postcss.js#L183-L183'>
  9964. <span>lib/postcss.js</span>
  9965. </a>
  9966. </div>
  9967. <h3 class='regular'>
  9968. <a class='black' href='#postcsslist'>
  9969. <code>
  9970. list
  9971. <span class='gray'>()</span>
  9972. </code>
  9973. </a>
  9974. </h3>
  9975. <p>Contains the <a href="#list">list</a> module.</p>
  9976. <p>
  9977. Type:
  9978. <a href="#list">list</a>
  9979. </p>
  9980. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  9981. <pre class='p1 overflow-auto round fill-light'><code>postcss.list.space(<span class="hljs-string">'5px calc(10% + 5px)'</span>) <span class="hljs-comment">//=&gt; ['5px', 'calc(10% + 5px)']</span></code></pre>
  9982. </section>
  9983. <section id='postcsscomment'class='mt2 mb2 px3 py1 keyline-top'>
  9984. <div class='right py2'>
  9985. <span class="px2"></span>
  9986. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/postcss.js#L195-L195'>
  9987. <span>lib/postcss.js</span>
  9988. </a>
  9989. </div>
  9990. <h3 class='regular'>
  9991. <a class='black' href='#postcsscomment'>
  9992. <code>
  9993. comment
  9994. <span class='gray'>(defaults?)</span>
  9995. </code>
  9996. </a>
  9997. </h3>
  9998. <p>Creates a new <a href="#comment">Comment</a> node.</p>
  9999. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  10000. <thead class='fill-light'>
  10001. <th class='col-3 small caps quiet'>parameter</th>
  10002. <th class='col-3 small caps quiet'>type</th>
  10003. <th class='col-6 small caps quiet'>description</th>
  10004. </thead>
  10005. <tr>
  10006. <td class='col-3 strong'><code>defaults</code></td>
  10007. <td class='col-3 quiet'>
  10008. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>?
  10009. </td>
  10010. <td class='col-6'>Properties for the new node.
  10011. </td>
  10012. </tr>
  10013. </table>
  10014. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  10015. <code><a href="#comment">Comment</a></code>
  10016. :
  10017. <span class='force-inline'>New comment node
  10018. </span>
  10019. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  10020. <pre class='p1 overflow-auto round fill-light'><code>postcss.comment({ <span class="hljs-attr">text</span>: <span class="hljs-string">'test'</span> })</code></pre>
  10021. </section>
  10022. <section id='postcssatrule'class='mt2 mb2 px3 py1 keyline-top'>
  10023. <div class='right py2'>
  10024. <span class="px2"></span>
  10025. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/postcss.js#L207-L207'>
  10026. <span>lib/postcss.js</span>
  10027. </a>
  10028. </div>
  10029. <h3 class='regular'>
  10030. <a class='black' href='#postcssatrule'>
  10031. <code>
  10032. atRule
  10033. <span class='gray'>(defaults?)</span>
  10034. </code>
  10035. </a>
  10036. </h3>
  10037. <p>Creates a new <a href="#atrule">AtRule</a> node.</p>
  10038. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  10039. <thead class='fill-light'>
  10040. <th class='col-3 small caps quiet'>parameter</th>
  10041. <th class='col-3 small caps quiet'>type</th>
  10042. <th class='col-6 small caps quiet'>description</th>
  10043. </thead>
  10044. <tr>
  10045. <td class='col-3 strong'><code>defaults</code></td>
  10046. <td class='col-3 quiet'>
  10047. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>?
  10048. </td>
  10049. <td class='col-6'>Properties for the new node.
  10050. </td>
  10051. </tr>
  10052. </table>
  10053. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  10054. <code><a href="#atrule">AtRule</a></code>
  10055. :
  10056. <span class='force-inline'>new at-rule node
  10057. </span>
  10058. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  10059. <pre class='p1 overflow-auto round fill-light'><code>postcss.atRule({ <span class="hljs-attr">name</span>: <span class="hljs-string">'charset'</span> }).toString() <span class="hljs-comment">//=&gt; "@charset"</span></code></pre>
  10060. </section>
  10061. <section id='postcssdecl'class='mt2 mb2 px3 py1 keyline-top'>
  10062. <div class='right py2'>
  10063. <span class="px2"></span>
  10064. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/postcss.js#L219-L219'>
  10065. <span>lib/postcss.js</span>
  10066. </a>
  10067. </div>
  10068. <h3 class='regular'>
  10069. <a class='black' href='#postcssdecl'>
  10070. <code>
  10071. decl
  10072. <span class='gray'>(defaults?)</span>
  10073. </code>
  10074. </a>
  10075. </h3>
  10076. <p>Creates a new <a href="#declaration">Declaration</a> node.</p>
  10077. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  10078. <thead class='fill-light'>
  10079. <th class='col-3 small caps quiet'>parameter</th>
  10080. <th class='col-3 small caps quiet'>type</th>
  10081. <th class='col-6 small caps quiet'>description</th>
  10082. </thead>
  10083. <tr>
  10084. <td class='col-3 strong'><code>defaults</code></td>
  10085. <td class='col-3 quiet'>
  10086. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>?
  10087. </td>
  10088. <td class='col-6'>Properties for the new node.
  10089. </td>
  10090. </tr>
  10091. </table>
  10092. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  10093. <code><a href="#declaration">Declaration</a></code>
  10094. :
  10095. <span class='force-inline'>new declaration node
  10096. </span>
  10097. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  10098. <pre class='p1 overflow-auto round fill-light'><code>postcss.decl({ <span class="hljs-attr">prop</span>: <span class="hljs-string">'color'</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'red'</span> }).toString() <span class="hljs-comment">//=&gt; "color: red"</span></code></pre>
  10099. </section>
  10100. <section id='postcssrule'class='mt2 mb2 px3 py1 keyline-top'>
  10101. <div class='right py2'>
  10102. <span class="px2"></span>
  10103. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/postcss.js#L231-L231'>
  10104. <span>lib/postcss.js</span>
  10105. </a>
  10106. </div>
  10107. <h3 class='regular'>
  10108. <a class='black' href='#postcssrule'>
  10109. <code>
  10110. rule
  10111. <span class='gray'>(defaults?)</span>
  10112. </code>
  10113. </a>
  10114. </h3>
  10115. <p>Creates a new <a href="#rule">Rule</a> node.</p>
  10116. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  10117. <thead class='fill-light'>
  10118. <th class='col-3 small caps quiet'>parameter</th>
  10119. <th class='col-3 small caps quiet'>type</th>
  10120. <th class='col-6 small caps quiet'>description</th>
  10121. </thead>
  10122. <tr>
  10123. <td class='col-3 strong'><code>defaults</code></td>
  10124. <td class='col-3 quiet'>
  10125. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>?
  10126. </td>
  10127. <td class='col-6'>Properties for the new node.
  10128. </td>
  10129. </tr>
  10130. </table>
  10131. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  10132. <code><a href="#rule">Rule</a></code>
  10133. :
  10134. <span class='force-inline'>new rule node
  10135. </span>
  10136. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  10137. <pre class='p1 overflow-auto round fill-light'><code>postcss.rule({ <span class="hljs-attr">selector</span>: <span class="hljs-string">'a'</span> }).toString() <span class="hljs-comment">//=&gt; "a {\n}"</span></code></pre>
  10138. </section>
  10139. <section id='postcssroot'class='mt2 mb2 px3 py1 keyline-top'>
  10140. <div class='right py2'>
  10141. <span class="px2"></span>
  10142. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/postcss.js#L243-L243'>
  10143. <span>lib/postcss.js</span>
  10144. </a>
  10145. </div>
  10146. <h3 class='regular'>
  10147. <a class='black' href='#postcssroot'>
  10148. <code>
  10149. root
  10150. <span class='gray'>(defaults?)</span>
  10151. </code>
  10152. </a>
  10153. </h3>
  10154. <p>Creates a new <a href="#root">Root</a> node.</p>
  10155. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  10156. <thead class='fill-light'>
  10157. <th class='col-3 small caps quiet'>parameter</th>
  10158. <th class='col-3 small caps quiet'>type</th>
  10159. <th class='col-6 small caps quiet'>description</th>
  10160. </thead>
  10161. <tr>
  10162. <td class='col-3 strong'><code>defaults</code></td>
  10163. <td class='col-3 quiet'>
  10164. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>?
  10165. </td>
  10166. <td class='col-6'>Properties for the new node.
  10167. </td>
  10168. </tr>
  10169. </table>
  10170. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  10171. <code><a href="#root">Root</a></code>
  10172. :
  10173. <span class='force-inline'>new root node.
  10174. </span>
  10175. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  10176. <pre class='p1 overflow-auto round fill-light'><code>postcss.root({ <span class="hljs-attr">after</span>: <span class="hljs-string">'\n'</span> }).toString() <span class="hljs-comment">//=&gt; "\n"</span></code></pre>
  10177. </section>
  10178. </div>
  10179. </section>
  10180. <section id='vendor'class='mt2 mb2 px3 py1 keyline-top'>
  10181. <div class='right py2'>
  10182. <span class="px2"></span>
  10183. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/vendor.js#L9-L45'>
  10184. <span>lib/vendor.js</span>
  10185. </a>
  10186. </div>
  10187. <h3 class='regular'>
  10188. <a class='black' href='#vendor'>
  10189. <code>
  10190. vendor
  10191. <span class='gray'>()</span>
  10192. </code>
  10193. </a>
  10194. </h3>
  10195. <p>Contains helpers for working with vendor prefixes.</p>
  10196. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  10197. <pre class='p1 overflow-auto round fill-light'><code><span class="hljs-keyword">const</span> vendor = postcss.vendor</code></pre>
  10198. <h4 class='caps quiet mb2 mt3'>Static Members</h4>
  10199. <div class="section-indent">
  10200. <section id='vendorprefix'class='mt2 mb2 px3 py1 keyline-top'>
  10201. <div class='right py2'>
  10202. <span class="px2"></span>
  10203. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/vendor.js#L22-L29'>
  10204. <span>lib/vendor.js</span>
  10205. </a>
  10206. </div>
  10207. <h3 class='regular'>
  10208. <a class='black' href='#vendorprefix'>
  10209. <code>
  10210. prefix
  10211. <span class='gray'>(prop)</span>
  10212. </code>
  10213. </a>
  10214. </h3>
  10215. <p>Returns the vendor prefix extracted from an input string.</p>
  10216. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  10217. <thead class='fill-light'>
  10218. <th class='col-3 small caps quiet'>parameter</th>
  10219. <th class='col-3 small caps quiet'>type</th>
  10220. <th class='col-6 small caps quiet'>description</th>
  10221. </thead>
  10222. <tr>
  10223. <td class='col-3 strong'><code>prop</code></td>
  10224. <td class='col-3 quiet'>
  10225. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  10226. </td>
  10227. <td class='col-6'>String with or without vendor prefix.
  10228. </td>
  10229. </tr>
  10230. </table>
  10231. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  10232. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code>
  10233. :
  10234. <span class='force-inline'>vendor prefix or empty string
  10235. </span>
  10236. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  10237. <pre class='p1 overflow-auto round fill-light'><code>postcss.vendor.prefix(<span class="hljs-string">'-moz-tab-size'</span>) <span class="hljs-comment">//=&gt; '-moz-'</span>
  10238. postcss.vendor.prefix(<span class="hljs-string">'tab-size'</span>) <span class="hljs-comment">//=&gt; ''</span></code></pre>
  10239. </section>
  10240. <section id='vendorunprefixed'class='mt2 mb2 px3 py1 keyline-top'>
  10241. <div class='right py2'>
  10242. <span class="px2"></span>
  10243. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/vendor.js#L41-L43'>
  10244. <span>lib/vendor.js</span>
  10245. </a>
  10246. </div>
  10247. <h3 class='regular'>
  10248. <a class='black' href='#vendorunprefixed'>
  10249. <code>
  10250. unprefixed
  10251. <span class='gray'>(prop)</span>
  10252. </code>
  10253. </a>
  10254. </h3>
  10255. <p>Returns the input string stripped of its vendor prefix.</p>
  10256. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  10257. <thead class='fill-light'>
  10258. <th class='col-3 small caps quiet'>parameter</th>
  10259. <th class='col-3 small caps quiet'>type</th>
  10260. <th class='col-6 small caps quiet'>description</th>
  10261. </thead>
  10262. <tr>
  10263. <td class='col-3 strong'><code>prop</code></td>
  10264. <td class='col-3 quiet'>
  10265. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  10266. </td>
  10267. <td class='col-6'>String with or without vendor prefix.
  10268. </td>
  10269. </tr>
  10270. </table>
  10271. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  10272. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code>
  10273. :
  10274. <span class='force-inline'>String name without vendor prefixes.
  10275. </span>
  10276. <h4 class='caps quiet mb1 mt3'>Examples</h4>
  10277. <pre class='p1 overflow-auto round fill-light'><code>postcss.vendor.unprefixed(<span class="hljs-string">'-moz-tab-size'</span>) <span class="hljs-comment">//=&gt; 'tab-size'</span></code></pre>
  10278. </section>
  10279. </div>
  10280. </section>
  10281. <div class="hide">
  10282. <section class='py2 clearfix'>
  10283. <h2 id='global' class='mt0'>
  10284. GLOBAL
  10285. </h2>
  10286. </section>
  10287. </div>
  10288. <section id='message'class='mt2 mb2 px3 py1 keyline-top'>
  10289. <div class='right py2'>
  10290. <span class="px2"></span>
  10291. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/result.js#L174-L178'>
  10292. <span>lib/result.js</span>
  10293. </a>
  10294. </div>
  10295. <h3 class='regular'>
  10296. <a class='black' href='#message'>
  10297. <code>
  10298. Message
  10299. <span class='gray'>()</span>
  10300. </code>
  10301. </a>
  10302. </h3>
  10303. <p>
  10304. Type:
  10305. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>
  10306. </p>
  10307. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  10308. <thead class='fill-light'>
  10309. <th class='col-2 small caps quiet'>property</th>
  10310. <th class='col-2 small caps quiet'>type</th>
  10311. <th class='col-8 small caps quiet'>description</th>
  10312. </thead>
  10313. <tr>
  10314. <td class='col-2 strong'>type</td>
  10315. <td class='col-2 quiet'>
  10316. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  10317. </td>
  10318. <td class='col-8'>: Message type.
  10319. </td>
  10320. </tr>
  10321. <tr>
  10322. <td class='col-2 strong'>plugin</td>
  10323. <td class='col-2 quiet'>
  10324. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  10325. </td>
  10326. <td class='col-8'>: Source PostCSS plugin name.
  10327. </td>
  10328. </tr>
  10329. </table>
  10330. </section>
  10331. <section id='plugin'class='mt2 mb2 px3 py1 keyline-top'>
  10332. <div class='right py2'>
  10333. <span class="px2"></span>
  10334. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/processor.js#L186-L189'>
  10335. <span>lib/processor.js</span>
  10336. </a>
  10337. </div>
  10338. <h3 class='regular'>
  10339. <a class='black' href='#plugin'>
  10340. <code>
  10341. Plugin
  10342. <span class='gray'>()</span>
  10343. </code>
  10344. </a>
  10345. </h3>
  10346. <p>
  10347. Type:
  10348. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>
  10349. </p>
  10350. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  10351. <thead class='fill-light'>
  10352. <th class='col-2 small caps quiet'>property</th>
  10353. <th class='col-2 small caps quiet'>type</th>
  10354. <th class='col-8 small caps quiet'>description</th>
  10355. </thead>
  10356. <tr>
  10357. <td class='col-2 strong'>postcss</td>
  10358. <td class='col-2 quiet'>
  10359. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function">function</a>
  10360. </td>
  10361. <td class='col-8'>: PostCSS plugin function.
  10362. </td>
  10363. </tr>
  10364. </table>
  10365. </section>
  10366. <section id='builder'class='mt2 mb2 px3 py1 keyline-top'>
  10367. <div class='right py2'>
  10368. <span class="px2"></span>
  10369. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/processor.js#L142-L147'>
  10370. <span>lib/processor.js</span>
  10371. </a>
  10372. </div>
  10373. <h3 class='regular'>
  10374. <a class='black' href='#builder'>
  10375. <code>
  10376. builder
  10377. <span class='gray'>(part, node, type?)</span>
  10378. </code>
  10379. </a>
  10380. </h3>
  10381. <p>
  10382. Type:
  10383. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function">Function</a>
  10384. </p>
  10385. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  10386. <thead class='fill-light'>
  10387. <th class='col-3 small caps quiet'>parameter</th>
  10388. <th class='col-3 small caps quiet'>type</th>
  10389. <th class='col-6 small caps quiet'>description</th>
  10390. </thead>
  10391. <tr>
  10392. <td class='col-3 strong'><code>part</code></td>
  10393. <td class='col-3 quiet'>
  10394. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  10395. </td>
  10396. <td class='col-6'>Part of generated CSS connected to this node.
  10397. </td>
  10398. </tr>
  10399. <tr>
  10400. <td class='col-3 strong'><code>node</code></td>
  10401. <td class='col-3 quiet'>
  10402. <a href="#node">Node</a>
  10403. </td>
  10404. <td class='col-6'>AST node.
  10405. </td>
  10406. </tr>
  10407. <tr>
  10408. <td class='col-3 strong'><code>type</code></td>
  10409. <td class='col-3 quiet'>
  10410. (<code>"start"</code> | <code>"end"</code>)?
  10411. </td>
  10412. <td class='col-6'>Node’s part type.
  10413. </td>
  10414. </tr>
  10415. </table>
  10416. </section>
  10417. <section id='childcondition'class='mt2 mb2 px3 py1 keyline-top'>
  10418. <div class='right py2'>
  10419. <span class="px2"></span>
  10420. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L708-L714'>
  10421. <span>lib/container.js</span>
  10422. </a>
  10423. </div>
  10424. <h3 class='regular'>
  10425. <a class='black' href='#childcondition'>
  10426. <code>
  10427. childCondition
  10428. <span class='gray'>(node, index, nodes)</span>
  10429. </code>
  10430. </a>
  10431. </h3>
  10432. <p>
  10433. Type:
  10434. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function">Function</a>
  10435. </p>
  10436. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  10437. <thead class='fill-light'>
  10438. <th class='col-3 small caps quiet'>parameter</th>
  10439. <th class='col-3 small caps quiet'>type</th>
  10440. <th class='col-6 small caps quiet'>description</th>
  10441. </thead>
  10442. <tr>
  10443. <td class='col-3 strong'><code>node</code></td>
  10444. <td class='col-3 quiet'>
  10445. <a href="#node">Node</a>
  10446. </td>
  10447. <td class='col-6'>Container child.
  10448. </td>
  10449. </tr>
  10450. <tr>
  10451. <td class='col-3 strong'><code>index</code></td>
  10452. <td class='col-3 quiet'>
  10453. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>
  10454. </td>
  10455. <td class='col-6'>Child index.
  10456. </td>
  10457. </tr>
  10458. <tr>
  10459. <td class='col-3 strong'><code>nodes</code></td>
  10460. <td class='col-3 quiet'>
  10461. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a>&#x3C;<a href="#node">Node</a>>
  10462. </td>
  10463. <td class='col-6'>All container children.
  10464. </td>
  10465. </tr>
  10466. </table>
  10467. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  10468. <code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code>
  10469. :
  10470. <span class='force-inline'>
  10471. </span>
  10472. </section>
  10473. <section id='childiterator'class='mt2 mb2 px3 py1 keyline-top'>
  10474. <div class='right py2'>
  10475. <span class="px2"></span>
  10476. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/container.js#L716-L721'>
  10477. <span>lib/container.js</span>
  10478. </a>
  10479. </div>
  10480. <h3 class='regular'>
  10481. <a class='black' href='#childiterator'>
  10482. <code>
  10483. childIterator
  10484. <span class='gray'>(node, index)</span>
  10485. </code>
  10486. </a>
  10487. </h3>
  10488. <p>
  10489. Type:
  10490. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function">Function</a>
  10491. </p>
  10492. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  10493. <thead class='fill-light'>
  10494. <th class='col-3 small caps quiet'>parameter</th>
  10495. <th class='col-3 small caps quiet'>type</th>
  10496. <th class='col-6 small caps quiet'>description</th>
  10497. </thead>
  10498. <tr>
  10499. <td class='col-3 strong'><code>node</code></td>
  10500. <td class='col-3 quiet'>
  10501. <a href="#node">Node</a>
  10502. </td>
  10503. <td class='col-6'>Container child.
  10504. </td>
  10505. </tr>
  10506. <tr>
  10507. <td class='col-3 strong'><code>index</code></td>
  10508. <td class='col-3 quiet'>
  10509. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>
  10510. </td>
  10511. <td class='col-6'>Child index.
  10512. </td>
  10513. </tr>
  10514. </table>
  10515. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  10516. <code>(<code>false</code> | <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code>
  10517. :
  10518. <span class='force-inline'>Returning
  10519. <code>false</code>
  10520. will break iteration.
  10521. </span>
  10522. </section>
  10523. <section id='fileposition'class='mt2 mb2 px3 py1 keyline-top'>
  10524. <div class='right py2'>
  10525. <span class="px2"></span>
  10526. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/input.js#L174-L179'>
  10527. <span>lib/input.js</span>
  10528. </a>
  10529. </div>
  10530. <h3 class='regular'>
  10531. <a class='black' href='#fileposition'>
  10532. <code>
  10533. filePosition
  10534. <span class='gray'>()</span>
  10535. </code>
  10536. </a>
  10537. </h3>
  10538. <p>
  10539. Type:
  10540. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>
  10541. </p>
  10542. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  10543. <thead class='fill-light'>
  10544. <th class='col-2 small caps quiet'>property</th>
  10545. <th class='col-2 small caps quiet'>type</th>
  10546. <th class='col-8 small caps quiet'>description</th>
  10547. </thead>
  10548. <tr>
  10549. <td class='col-2 strong'>file</td>
  10550. <td class='col-2 quiet'>
  10551. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  10552. </td>
  10553. <td class='col-8'>: Path to file.
  10554. </td>
  10555. </tr>
  10556. <tr>
  10557. <td class='col-2 strong'>line</td>
  10558. <td class='col-2 quiet'>
  10559. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>
  10560. </td>
  10561. <td class='col-8'>: Source line in file.
  10562. </td>
  10563. </tr>
  10564. <tr>
  10565. <td class='col-2 strong'>column</td>
  10566. <td class='col-2 quiet'>
  10567. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>
  10568. </td>
  10569. <td class='col-8'>: Source column in file.
  10570. </td>
  10571. </tr>
  10572. </table>
  10573. </section>
  10574. <section id='onfulfilled'class='mt2 mb2 px3 py1 keyline-top'>
  10575. <div class='right py2'>
  10576. <span class="px2"></span>
  10577. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/lazy-result.js#L428-L431'>
  10578. <span>lib/lazy-result.js</span>
  10579. </a>
  10580. </div>
  10581. <h3 class='regular'>
  10582. <a class='black' href='#onfulfilled'>
  10583. <code>
  10584. onFulfilled
  10585. <span class='gray'>(result)</span>
  10586. </code>
  10587. </a>
  10588. </h3>
  10589. <p>
  10590. Type:
  10591. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function">Function</a>
  10592. </p>
  10593. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  10594. <thead class='fill-light'>
  10595. <th class='col-3 small caps quiet'>parameter</th>
  10596. <th class='col-3 small caps quiet'>type</th>
  10597. <th class='col-6 small caps quiet'>description</th>
  10598. </thead>
  10599. <tr>
  10600. <td class='col-3 strong'><code>result</code></td>
  10601. <td class='col-3 quiet'>
  10602. <a href="#result">Result</a>
  10603. </td>
  10604. <td class='col-6'></td>
  10605. </tr>
  10606. </table>
  10607. </section>
  10608. <section id='onrejected'class='mt2 mb2 px3 py1 keyline-top'>
  10609. <div class='right py2'>
  10610. <span class="px2"></span>
  10611. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/lazy-result.js#L433-L436'>
  10612. <span>lib/lazy-result.js</span>
  10613. </a>
  10614. </div>
  10615. <h3 class='regular'>
  10616. <a class='black' href='#onrejected'>
  10617. <code>
  10618. onRejected
  10619. <span class='gray'>(error)</span>
  10620. </code>
  10621. </a>
  10622. </h3>
  10623. <p>
  10624. Type:
  10625. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function">Function</a>
  10626. </p>
  10627. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  10628. <thead class='fill-light'>
  10629. <th class='col-3 small caps quiet'>parameter</th>
  10630. <th class='col-3 small caps quiet'>type</th>
  10631. <th class='col-6 small caps quiet'>description</th>
  10632. </thead>
  10633. <tr>
  10634. <td class='col-3 strong'><code>error</code></td>
  10635. <td class='col-3 quiet'>
  10636. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Error">Error</a>
  10637. </td>
  10638. <td class='col-6'></td>
  10639. </tr>
  10640. </table>
  10641. </section>
  10642. <section id='parser'class='mt2 mb2 px3 py1 keyline-top'>
  10643. <div class='right py2'>
  10644. <span class="px2"></span>
  10645. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/processor.js#L149-L157'>
  10646. <span>lib/processor.js</span>
  10647. </a>
  10648. </div>
  10649. <h3 class='regular'>
  10650. <a class='black' href='#parser'>
  10651. <code>
  10652. parser
  10653. <span class='gray'>(css, opts?)</span>
  10654. </code>
  10655. </a>
  10656. </h3>
  10657. <p>
  10658. Type:
  10659. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function">Function</a>
  10660. </p>
  10661. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  10662. <thead class='fill-light'>
  10663. <th class='col-3 small caps quiet'>parameter</th>
  10664. <th class='col-3 small caps quiet'>type</th>
  10665. <th class='col-6 small caps quiet'>description</th>
  10666. </thead>
  10667. <tr>
  10668. <td class='col-3 strong'><code>css</code></td>
  10669. <td class='col-3 quiet'>
  10670. (<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="#tostring">toString</a>)
  10671. </td>
  10672. <td class='col-6'>String with input CSS or any object
  10673. with toString() method, like a Buffer.
  10674. </td>
  10675. </tr>
  10676. <tr>
  10677. <td class='col-3 strong'><code>opts</code></td>
  10678. <td class='col-3 quiet'>
  10679. <a href="#processoptions">processOptions</a>?
  10680. </td>
  10681. <td class='col-6'>Options with only
  10682. <code>from</code>
  10683. and
  10684. <code>map</code>
  10685. keys.
  10686. </td>
  10687. </tr>
  10688. </table>
  10689. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  10690. <code><a href="#root">Root</a></code>
  10691. :
  10692. <span class='force-inline'>PostCSS AST
  10693. </span>
  10694. </section>
  10695. <section id='pluginfunction'class='mt2 mb2 px3 py1 keyline-top'>
  10696. <div class='right py2'>
  10697. <span class="px2"></span>
  10698. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/processor.js#L180-L184'>
  10699. <span>lib/processor.js</span>
  10700. </a>
  10701. </div>
  10702. <h3 class='regular'>
  10703. <a class='black' href='#pluginfunction'>
  10704. <code>
  10705. pluginFunction
  10706. <span class='gray'>(root, result)</span>
  10707. </code>
  10708. </a>
  10709. </h3>
  10710. <p>
  10711. Type:
  10712. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function">Function</a>
  10713. </p>
  10714. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  10715. <thead class='fill-light'>
  10716. <th class='col-3 small caps quiet'>parameter</th>
  10717. <th class='col-3 small caps quiet'>type</th>
  10718. <th class='col-6 small caps quiet'>description</th>
  10719. </thead>
  10720. <tr>
  10721. <td class='col-3 strong'><code>root</code></td>
  10722. <td class='col-3 quiet'>
  10723. <a href="#root">Root</a>
  10724. </td>
  10725. <td class='col-6'>Parsed input CSS.
  10726. </td>
  10727. </tr>
  10728. <tr>
  10729. <td class='col-3 strong'><code>result</code></td>
  10730. <td class='col-3 quiet'>
  10731. <a href="#result">Result</a>
  10732. </td>
  10733. <td class='col-6'>Result to set warnings or check other plugins.
  10734. </td>
  10735. </tr>
  10736. </table>
  10737. </section>
  10738. <section id='position'class='mt2 mb2 px3 py1 keyline-top'>
  10739. <div class='right py2'>
  10740. <span class="px2"></span>
  10741. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L579-L583'>
  10742. <span>lib/node.js</span>
  10743. </a>
  10744. </div>
  10745. <h3 class='regular'>
  10746. <a class='black' href='#position'>
  10747. <code>
  10748. position
  10749. <span class='gray'>()</span>
  10750. </code>
  10751. </a>
  10752. </h3>
  10753. <p>
  10754. Type:
  10755. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>
  10756. </p>
  10757. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  10758. <thead class='fill-light'>
  10759. <th class='col-2 small caps quiet'>property</th>
  10760. <th class='col-2 small caps quiet'>type</th>
  10761. <th class='col-8 small caps quiet'>description</th>
  10762. </thead>
  10763. <tr>
  10764. <td class='col-2 strong'>line</td>
  10765. <td class='col-2 quiet'>
  10766. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>
  10767. </td>
  10768. <td class='col-8'>: Source line in file.
  10769. </td>
  10770. </tr>
  10771. <tr>
  10772. <td class='col-2 strong'>column</td>
  10773. <td class='col-2 quiet'>
  10774. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>
  10775. </td>
  10776. <td class='col-8'>: Source column in file.
  10777. </td>
  10778. </tr>
  10779. </table>
  10780. </section>
  10781. <section id='processoptions'class='mt2 mb2 px3 py1 keyline-top'>
  10782. <div class='right py2'>
  10783. <span class="px2"></span>
  10784. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/processor.js#L191-L222'>
  10785. <span>lib/processor.js</span>
  10786. </a>
  10787. </div>
  10788. <h3 class='regular'>
  10789. <a class='black' href='#processoptions'>
  10790. <code>
  10791. processOptions
  10792. <span class='gray'>()</span>
  10793. </code>
  10794. </a>
  10795. </h3>
  10796. <p>
  10797. Type:
  10798. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>
  10799. </p>
  10800. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  10801. <thead class='fill-light'>
  10802. <th class='col-2 small caps quiet'>property</th>
  10803. <th class='col-2 small caps quiet'>type</th>
  10804. <th class='col-8 small caps quiet'>description</th>
  10805. </thead>
  10806. <tr>
  10807. <td class='col-2 strong'>from</td>
  10808. <td class='col-2 quiet'>
  10809. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  10810. </td>
  10811. <td class='col-8'>: The path of the CSS source file.
  10812. You should always set
  10813. <code>from</code>
  10814. ,
  10815. because it is used in source map
  10816. generation and syntax error messages.
  10817. </td>
  10818. </tr>
  10819. <tr>
  10820. <td class='col-2 strong'>to</td>
  10821. <td class='col-2 quiet'>
  10822. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>
  10823. </td>
  10824. <td class='col-8'>: The path where you’ll put the output
  10825. CSS file. You should always set
  10826. <code>to</code>
  10827. to generate correct source maps.
  10828. </td>
  10829. </tr>
  10830. <tr>
  10831. <td class='col-2 strong'>parser</td>
  10832. <td class='col-2 quiet'>
  10833. <a href="#parser">parser</a>
  10834. </td>
  10835. <td class='col-8'>: Function to generate AST by string.
  10836. </td>
  10837. </tr>
  10838. <tr>
  10839. <td class='col-2 strong'>stringifier</td>
  10840. <td class='col-2 quiet'>
  10841. <a href="#stringifier">stringifier</a>
  10842. </td>
  10843. <td class='col-8'>: Class to generate string by AST.
  10844. </td>
  10845. </tr>
  10846. <tr>
  10847. <td class='col-2 strong'>syntax</td>
  10848. <td class='col-2 quiet'>
  10849. <a href="#syntax">syntax</a>
  10850. </td>
  10851. <td class='col-8'>: Object with
  10852. <code>parse</code>
  10853. and
  10854. <code>stringify</code>
  10855. .
  10856. </td>
  10857. </tr>
  10858. <tr>
  10859. <td class='col-2 strong'>map</td>
  10860. <td class='col-2 quiet'>
  10861. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>
  10862. </td>
  10863. <td class='col-8'>: Source map options.
  10864. </td>
  10865. </tr>
  10866. <tr>
  10867. <td class='col-2 strong'>map</td>
  10868. <td class='col-2 quiet'>
  10869. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>
  10870. </td>
  10871. <td class='col-8'>: Source map options.
  10872. </td>
  10873. </tr>
  10874. </table>
  10875. </section>
  10876. <section id='source'class='mt2 mb2 px3 py1 keyline-top'>
  10877. <div class='right py2'>
  10878. <span class="px2"></span>
  10879. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/node.js#L585-L590'>
  10880. <span>lib/node.js</span>
  10881. </a>
  10882. </div>
  10883. <h3 class='regular'>
  10884. <a class='black' href='#source'>
  10885. <code>
  10886. source
  10887. <span class='gray'>()</span>
  10888. </code>
  10889. </a>
  10890. </h3>
  10891. <p>
  10892. Type:
  10893. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>
  10894. </p>
  10895. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  10896. <thead class='fill-light'>
  10897. <th class='col-2 small caps quiet'>property</th>
  10898. <th class='col-2 small caps quiet'>type</th>
  10899. <th class='col-8 small caps quiet'>description</th>
  10900. </thead>
  10901. <tr>
  10902. <td class='col-2 strong'>input</td>
  10903. <td class='col-2 quiet'>
  10904. <a href="#input">Input</a>
  10905. </td>
  10906. <td class='col-8'>: <a href="#input">Input</a>
  10907. with input file
  10908. </td>
  10909. </tr>
  10910. <tr>
  10911. <td class='col-2 strong'>start</td>
  10912. <td class='col-2 quiet'>
  10913. <a href="#position">position</a>
  10914. </td>
  10915. <td class='col-8'>: The starting position of the node’s source.
  10916. </td>
  10917. </tr>
  10918. <tr>
  10919. <td class='col-2 strong'>end</td>
  10920. <td class='col-2 quiet'>
  10921. <a href="#position">position</a>
  10922. </td>
  10923. <td class='col-8'>: The ending position of the node’s source.
  10924. </td>
  10925. </tr>
  10926. </table>
  10927. </section>
  10928. <section id='stringifier'class='mt2 mb2 px3 py1 keyline-top'>
  10929. <div class='right py2'>
  10930. <span class="px2"></span>
  10931. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/processor.js#L159-L167'>
  10932. <span>lib/processor.js</span>
  10933. </a>
  10934. </div>
  10935. <h3 class='regular'>
  10936. <a class='black' href='#stringifier'>
  10937. <code>
  10938. stringifier
  10939. <span class='gray'>(node, builder)</span>
  10940. </code>
  10941. </a>
  10942. </h3>
  10943. <p>
  10944. Type:
  10945. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function">Function</a>
  10946. </p>
  10947. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  10948. <thead class='fill-light'>
  10949. <th class='col-3 small caps quiet'>parameter</th>
  10950. <th class='col-3 small caps quiet'>type</th>
  10951. <th class='col-6 small caps quiet'>description</th>
  10952. </thead>
  10953. <tr>
  10954. <td class='col-3 strong'><code>node</code></td>
  10955. <td class='col-3 quiet'>
  10956. <a href="#node">Node</a>
  10957. </td>
  10958. <td class='col-6'>Start node for stringifing. Usually
  10959. <a href="#root">Root</a>
  10960. .
  10961. </td>
  10962. </tr>
  10963. <tr>
  10964. <td class='col-3 strong'><code>builder</code></td>
  10965. <td class='col-3 quiet'>
  10966. <a href="#builder">builder</a>
  10967. </td>
  10968. <td class='col-6'>Function to concatenate CSS from node’s parts
  10969. or generate string and source map.
  10970. </td>
  10971. </tr>
  10972. </table>
  10973. <h4 class='caps quiet mb1 mt3'>Returns</h4>
  10974. <code>void</code>
  10975. :
  10976. <span class='force-inline'>
  10977. </span>
  10978. </section>
  10979. <section id='syntax'class='mt2 mb2 px3 py1 keyline-top'>
  10980. <div class='right py2'>
  10981. <span class="px2"></span>
  10982. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/processor.js#L169-L173'>
  10983. <span>lib/processor.js</span>
  10984. </a>
  10985. </div>
  10986. <h3 class='regular'>
  10987. <a class='black' href='#syntax'>
  10988. <code>
  10989. syntax
  10990. <span class='gray'>()</span>
  10991. </code>
  10992. </a>
  10993. </h3>
  10994. <p>
  10995. Type:
  10996. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>
  10997. </p>
  10998. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  10999. <thead class='fill-light'>
  11000. <th class='col-2 small caps quiet'>property</th>
  11001. <th class='col-2 small caps quiet'>type</th>
  11002. <th class='col-8 small caps quiet'>description</th>
  11003. </thead>
  11004. <tr>
  11005. <td class='col-2 strong'>parse</td>
  11006. <td class='col-2 quiet'>
  11007. <a href="#parser">parser</a>
  11008. </td>
  11009. <td class='col-8'>: Function to generate AST by string.
  11010. </td>
  11011. </tr>
  11012. <tr>
  11013. <td class='col-2 strong'>stringify</td>
  11014. <td class='col-2 quiet'>
  11015. <a href="#stringifier">stringifier</a>
  11016. </td>
  11017. <td class='col-8'>: Function to generate string by AST.
  11018. </td>
  11019. </tr>
  11020. </table>
  11021. </section>
  11022. <section id='tostring'class='mt2 mb2 px3 py1 keyline-top'>
  11023. <div class='right py2'>
  11024. <span class="px2"></span>
  11025. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/processor.js#L175-L178'>
  11026. <span>lib/processor.js</span>
  11027. </a>
  11028. </div>
  11029. <h3 class='regular'>
  11030. <a class='black' href='#tostring'>
  11031. <code>
  11032. toString
  11033. <span class='gray'>()</span>
  11034. </code>
  11035. </a>
  11036. </h3>
  11037. <p>
  11038. Type:
  11039. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a>
  11040. </p>
  11041. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  11042. <thead class='fill-light'>
  11043. <th class='col-2 small caps quiet'>property</th>
  11044. <th class='col-2 small caps quiet'>type</th>
  11045. <th class='col-8 small caps quiet'>description</th>
  11046. </thead>
  11047. <tr>
  11048. <td class='col-2 strong'>toString</td>
  11049. <td class='col-2 quiet'>
  11050. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function">function</a>
  11051. </td>
  11052. <td class='col-8'></td>
  11053. </tr>
  11054. </table>
  11055. </section>
  11056. <section id='visitor'class='mt2 mb2 px3 py1 keyline-top'>
  11057. <div class='right py2'>
  11058. <span class="px2"></span>
  11059. <a class='fr fill-darken0 round round pad1x quiet h5' href='https://github.com/postcss/postcss/blob/911591b9fa939b37501ac5b261d03cf310036e7f/lib/root.js#L117-L121'>
  11060. <span>lib/root.js</span>
  11061. </a>
  11062. </div>
  11063. <h3 class='regular'>
  11064. <a class='black' href='#visitor'>
  11065. <code>
  11066. visitor
  11067. <span class='gray'>(node, index)</span>
  11068. </code>
  11069. </a>
  11070. </h3>
  11071. <p>
  11072. Type:
  11073. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function">Function</a>
  11074. </p>
  11075. <table class='table-light mt3 rounded keyline-all keyline-light overflow-hidden bg-cloudy-light'>
  11076. <thead class='fill-light'>
  11077. <th class='col-3 small caps quiet'>parameter</th>
  11078. <th class='col-3 small caps quiet'>type</th>
  11079. <th class='col-6 small caps quiet'>description</th>
  11080. </thead>
  11081. <tr>
  11082. <td class='col-3 strong'><code>node</code></td>
  11083. <td class='col-3 quiet'>
  11084. <a href="#node">Node</a>
  11085. </td>
  11086. <td class='col-6'>Container child.
  11087. </td>
  11088. </tr>
  11089. <tr>
  11090. <td class='col-3 strong'><code>index</code></td>
  11091. <td class='col-3 quiet'>
  11092. <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>
  11093. </td>
  11094. <td class='col-6'>Child index.
  11095. </td>
  11096. </tr>
  11097. </table>
  11098. </section>
  11099. </div>
  11100. </div>
  11101. </div>
  11102. </div>
  11103. <script src='assets/scripts.min.js'></script>
  11104. </body>
  11105. </html>