{"version":3,"file":"chunks/3306.3306.js","mappings":"yNAQA,MAEMA,EAAsB,CAC1BC,cAAe,UACfC,YAJkB,oBAKlBC,eAJqB,WAMjBC,GAAa,IAAAC,KAAI,CACrBC,SAAU,QACVC,OAAQ,eACRC,IAAK,EACLC,MAAO,EACPC,OAAQ,EACRC,KAAM,EACNC,UAAW,OACXC,cAAe,YAEXC,GAAgC,IAAAT,KAAI,CACxCQ,cAAe,SAEXE,GAAkB,IAAAV,KAAI,CAC1BW,gBAAiB,gBAQbC,EAAkB,CACtBC,OAPoB,IAAAb,KAAI,CACxBW,gBAAiB,qBAAqB,UAOtCG,MALmB,IAAAd,KAAI,CACvBW,gBAAiB,qBAAqB,WAclCI,GAAuB,IAAAC,OAAmB,IAAAC,aAAW,UAAiB,wBAC1EC,GAA0B,EAAK,SAC/BC,GAAW,EAAK,iBAChBC,EAAmB,IAAI,OACvBC,EAAM,SACNC,EAAQ,iBACRC,GACCC,GACD,MAAM,KACJC,IACE,SACEC,GAAgC,OAA4B,CAChEC,GAAIP,EACJQ,OAAQ,UACRC,cAAeN,KACZ5B,IAECmC,GAA8B,IAAAC,cAAYC,GAAKA,EAAEC,gBAAkBD,EAAEE,OAASR,EAA8BM,QAAKG,GAAW,CAACT,IAC7HU,EAAUlB,OAA0BiB,EAAYL,EACtD,OAAO,IAAAO,KAAI,MAAO,CAChBC,KAAM,eACNtC,IAAK,CAACD,EAAYmB,GAA2BT,EAA+BG,EAAgBa,IAAQN,GAAYT,GAChH0B,QAASA,EACT,cAAef,EACfG,IAAKA,GACJF,OAELP,EAAQwB,YAAc,UACtB,W,gBCxEAC,EAAQ,OAAU,EAElB,IAIgCC,EAJ5BC,GAI4BD,EAJI,EAAQ,SAISA,EAAIE,WAAaF,EAAM,CAAEG,QAASH,GAFnFI,EAAQ,EAAQ,OAIpB,MAAMC,EAAYC,GAAsBL,EAAOE,QAAQI,cAAcH,EAAMI,KAAMC,OAAOC,OAAO,CAC7FC,oBAAqB,iZACpBL,IAEHD,EAAUP,YAAc,YACxB,IAAIc,EAAWP,EACfN,EAAQ,EAAUa,G,gBCdlBb,EAAQ,OAAU,EAElB,IAIgCC,EAJ5BC,GAI4BD,EAJI,EAAQ,SAISA,EAAIE,WAAaF,EAAM,CAAEG,QAASH,GAFnFI,EAAQ,EAAQ,OAIpB,MAAMS,EAAcP,GAAsBL,EAAOE,QAAQI,cAAcH,EAAMI,KAAMC,OAAOC,OAAO,CAC/FC,oBAAqB,2XACpBL,IAEHO,EAAYf,YAAc,cAC1B,IAAIc,EAAWC,EACfd,EAAQ,EAAUa,G,2DChBlB,MAMA,EANwBN,GACF,gBAAoB,IAAoB,CAC1DQ,QAAQ,GACPR,EAAMzB,W,4DCHI,SAASkC,K,eCDjB,MCDDC,EAAwB,GCcf,SAASC,EAAgBC,GAEtC,ODLa,SAAoBC,GACjC,MAAMpC,GAAM,IAAAqC,QAAOJ,GAMnB,OAJIjC,EAAIsC,UAAYL,IAClBjC,EAAIsC,QCAuBH,GDGtBnC,ECHKuC,GACDD,QCNE,SAASE,EAAYC,GAClC,MAAOC,EAAOC,IAAY,IAAAC,UAASH,GAC7BI,GAAW,IAAAR,QAAOK,GAExB,OADAG,EAASP,QAAUI,EACZ,CAACG,EAAUF,G,eCEpB,MAAMG,EAAqB,G,0DCZZ,SAASC,EAAUC,GAChC,OAAON,IACLM,EAAKC,SAAQjD,IACQ,mBAARA,EACTA,EAAI0C,GACa,OAAR1C,IACTA,EAAIsC,QAAUI,OCKP,SAASQ,EAAiBC,EAAWhB,EAAUiB,IAC5D,IAAAC,YAAU,KACRC,SAASC,iBAAiBJ,EAAWhB,EAAUiB,GACxC,KACLE,SAASE,oBAAoBL,EAAWhB,EAAUiB,MAEnD,CAACD,EAAWhB,EAAUiB,I,eCT3B,SAASK,IACP,IAAIC,EAAuBC,EAE3B,OAAOC,OAAOC,cAAuE,QAAtDH,EAAwBJ,SAASQ,uBAAuD,IAA1BJ,OAAmC,EAASA,EAAsBK,aAAoD,QAApCJ,EAAiBL,SAASU,YAAqC,IAAnBL,OAA4B,EAASA,EAAeI,YAAc,E,qCCb/R,MACM,EAAc,CAAC,QAAS,QAEf,SAASE,EAAS1C,GAC/B,GAAIA,GAASA,EAAM2C,MAAO,CAExB,GAAI,uBAAwB3C,EAAM2C,MAChC,OAAO3C,EAAM2C,MAAMC,mBAEhB,GAAI,SAAU5C,EAAM2C,OAAS,EAAYE,SAAS7C,EAAM2C,MAAMjE,MACjE,OAAOsB,EAAM2C,MAKjB,MAAO,CACLjE,KAhBuB,SCsBZ,SAASoE,EAAOC,EAAgBC,GAC7C,GAA8B,iBAAnBD,EACT,OAvBoBE,EAuBEF,EAvBWG,EAuBKF,EAtBjChD,IACL,MAAM2C,EAAQD,EAAS1C,GAEvB,GAAIA,GAASA,EAAMiD,IAAgBC,EAAU,CAC3C,MAAMC,EAAQD,EAASlD,EAAMiD,IAE7B,GAAIE,GAASA,EAAMR,EAAMjE,MAAO,CAC9B,MAAMyC,EAAQgC,EAAMR,EAAMjE,MAE1B,GAAIyC,EACF,OAAOA,GAMb,MAAO,IAjBX,IAAwB8B,EAAaC,EA0BnC,MAAMC,EAAQJ,EACd,OAAO/C,IAEL,MAAM2C,EAAQD,EAAS1C,GAEvB,GAAI2C,EAAMjE,QAAQyE,EAAO,CACvB,MAAMhC,EAAQgC,EAAMR,EAAMjE,MAE1B,GAAIyC,EACF,OAAOA,EAIX,MAAO,ICzCJ,MAIMiC,EAAO,UAQPC,EAAO,UAQPC,EAAO,UAMP,EAAO,UACPC,EAAO,UAEPC,EAAO,UAmBPC,EAAK,UAWLC,EAAO,UAMPC,EAAO,UAMP,EAAO,wBAmBPC,EAAQ,UAGRC,EAAQ,UAORC,EAAO,UA0CP,GAhBahB,EAAO,CAC/BhF,MAAO2F,EACP1F,KA1BkB,YA4BY+E,EAAO,CACrChF,MA3GiB,UA4GjBC,KA3GiB,YA6GY+E,EAAO,CACpChF,MApFiB,UAqFjBC,KAtCkB,YAwCa+E,EAAO,CACtChF,MAAO2F,EACP1F,KAAM+F,IAEYhB,EAAO,CACzBhF,MA5EkB,UA6ElBC,KAAM6F,KChJKG,GDkJYjB,EAAO,CAC9BhF,MAAO6F,EACP5F,KAAM6F,IAEkBd,EAAO,CAC/BhF,MAAO0F,EACPzF,KAAMyF,IAEkBV,EAAO,CAC/BhF,MAAO4F,EACP3F,KAAM8F,IAEuBf,EAAO,CACpChF,MArGkB,UAsGlBC,KAlEmB,YAoEE+E,EAAO,CAC5BhF,MAAO6F,EACP5F,KAAM6F,IAEqBd,EAAO,CAClChF,MAAO4F,EACP3F,KAAM8F,IAEiBf,EAAO,CAC9BhF,MAzHiB,UA0HjBC,KAAM+F,IAEYhB,EAAO,CACzBhF,MAAO0F,EACPzF,KAAM,IAEiB+E,EAAO,CAC9BhF,MAvJkB,UAwJlBC,KAAMwF,IAEkBT,EAAO,CAC/BhF,MAzJkB,UA0JlBC,KAAM,IAEmB+E,EAAO,CAChChF,MAAO,EACPC,KAAMwF,IAEeT,EAAO,CAC5BhF,MAAO0F,EACPzF,KAAM,IAEY+E,EAAO,CACzBhF,MAAO0F,EACPzF,KAAM,IAEY+E,EAAO,CACzBhF,MA3JkB,UA4JlBC,KA7JkB,YA+JE+E,EAAO,CAC3BhF,MAvKkB,UAwKlBC,KA1KkB,YA4KD+E,EAAO,CACxBhF,MAAOsF,EACPrF,KAAMqF,IAEcN,EAAO,CAC3BhF,MAAOuF,EACPtF,KAAMsF,IAEaP,EAAO,CAC1BhF,MAAOwF,EACPvF,KAAMuF,ICxNkB,CACxBU,OAAQ,CAAC,QAAS,SAAU,QAAS,WACrCC,OAAQ,CACNC,MAAO,IACPC,OAAQ,IACRC,MAAO,IACP,UAAW,KAEbC,aAAc,WCmCVC,EAAuBC,GAAc,EAAAtH,GAAG;;eAE/BsH,EAAa,EAAI,cAA2B,EAAbA,OAAyC;;yBAE9D;gCACO;KAC5B;EAGEC,EAAuB,EAAAvH,GAAG;SD1CV;;;;;;eCLK;gBACC;;;;EA2DtBwH,EAAiC,EAAAxH,GAAG;;;;;;;;;aZlC3B;iBa5BXyH,E,SAAY,SAHL,CAAC,IAAK,OAAQ,UAAW,OAAQ,UAAW,QAAS,QAAS,IAAK,OAAQ,MAAO,MAAO,MAAO,aAAc,OAAQ,KAAM,SAAU,SAAU,UAAW,OAAQ,OAAQ,MAAO,WAAY,OAAQ,WAAY,KAAM,MAAO,UAAW,MAAO,SAAU,MAAO,KAAM,KAAM,KAAM,QAAS,WAAY,aAAc,SAAU,SAAU,OAAQ,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAAQ,SAAU,SAAU,KAAM,OAAQ,IAAK,SAAU,MAAO,QAAS,MAAO,MAAO,SAAU,QAAS,SAAU,KAAM,OAAQ,OAAQ,MAAO,OAAQ,UAAW,OAAQ,WAAY,OAAQ,QAAS,MAAO,WAAY,SAAU,KAAM,WAAY,SAAU,SAAU,IAAK,QAAS,UAAW,MAAO,WAAY,IAAK,KAAM,KAAM,OAAQ,IAAK,OAAQ,SAAU,UAAW,SAAU,QAAS,SAAU,OAAQ,SAAU,QAAS,MAAO,UAAW,MAAO,QAAS,QAAS,KAAM,WAAY,QAAS,KAAM,QAAS,OAAQ,QAAS,KAAM,QAAS,IAAK,KAAM,MAAO,QAAS,MAC77B,SAAU,WAAY,OAAQ,UAAW,gBAAiB,IAAK,QAAS,OAAQ,iBAAkB,OAAQ,OAAQ,UAAW,UAAW,WAAY,iBAAkB,OAAQ,OAAQ,MAAO,OAAQ,SAGhMhD,SAAQ,SAAUiD,GACrBD,EAAUC,GAAWD,EAAUC,MAGjC,UCLaC,EAAgB,EAAA3H,GAAG;;;;;;;;;;EAanB4H,EAAe,EAAA5H,GAAG;;;;;;aHJH6H;oBGWRC;EAMPC,GAHS,KAAU;IAC5BH;EAEuB,EAAA5H,GAAG;;;;;;;;;;;;GA4CxBgI,GA9Be,IAAS;IAC1BD;EA6Bc,CAChBE,OJrEkB,UIsElBC,QJ9DkB,YIoFPC,EAAa,EAAAnI,GAAG;;aHlFA,OAHD6H;EG+FtBO,GALc,KAAU;IAC1BD;EAIqB,EAAAnI,GAAG;;;;;aH/FA6H;iBGqGXC;;;mBdtGa;;Gc+GxBO,GAAuB,EAAArI,GAAG;IAC5BoI;;;;;;;;;EAaSE,GAAuB,EAAAtI,GAAG;IACnCoI;;;;;;;EChIG,SAASG,GAAYC,GAC1B,MAAMC,EAAe,CAACC,EAAW3F,IAAU2F,EAAU3F,GAU/C4F,GAA4B,IAAAC,eAAcJ,GAEhD,SAASK,EAASC,GAIhB,QAHc,IAAAC,YAAWJ,IACAF,GACFK,GAoCzB,MAAO,CACLE,SA/BF,SAAkBjG,GAChB,MAAM,SACJzB,KACGwH,GACD/F,EAGEkG,EAASJ,EAASC,GAGxB,OAAoB,gBAAoB,WAAgB,KAAMxH,EAAS2H,KAsBvEC,SAXF,SAAkBnG,GAChB,MAAMoG,GAAU,IAAAJ,YAAWJ,GACrBS,EAAUrG,EAAMmB,OAASuE,EACzBY,GAAU,IAAAtH,cAAY+G,GAAcM,EAAQD,EAASL,IAAa,CAACK,EAASC,IAClF,OAAoB,gBAAoBT,EAAaO,SAAU,CAC7DhF,MAAOmF,GACNtG,EAAMzB,WAMTuH,YDkFkB,KAAU;IAC5BR;EEnJJ,MAAM,SACJa,GAAQ,SACRF,GAAQ,SACRH,IACEN,IAAY,KAAM,CACpB9G,KAAM,YAGR,IACEyH,YACAF,aCRW,GAAc,CAAC,QAAS,QCFtB,SAAS,GAASjG,GAC/B,GAAIA,GAASA,EAAM2C,MAAO,CAExB,GDHmB,uBCGJ3C,EAAM2C,MACnB,OAAO3C,EAAM2C,MAAa,mBAEvB,GAAI,SAAU3C,EAAM2C,OAAS,YAAqB3C,EAAM2C,MAAMjE,MACjE,OAAOsB,EAAM2C,MAKjB,MAAO,CACLjE,KDZ8B,SEsBnB,SAAS,GAAOqE,EAAgBC,GAC7C,GAA8B,iBAAnBD,EACT,OAvBoBE,EAuBEF,EAvBWG,EAuBKF,EAtBjChD,IACL,MAAM2C,EAAQ,GAAS3C,GAEvB,GAAIA,GAASA,EAAMiD,IAAgBC,EAAU,CAC3C,MAAMC,EAAQD,EAASlD,EAAMiD,IAE7B,GAAIE,GAASA,EAAMR,EAAMjE,MAAO,CAC9B,MAAMyC,EAAQgC,EAAMR,EAAMjE,MAE1B,GAAIyC,EACF,OAAOA,GAMb,MAAO,IAjBX,IAAwB8B,EAAaC,EA0BnC,MAAMC,EAAQJ,EACd,OAAO/C,IAEL,MAAM2C,EAAQ,GAAS3C,GAEvB,GAAI2C,EAAMjE,QAAQyE,EAAO,CACvB,MAAMhC,EAAQgC,EAAMR,EAAMjE,MAE1B,GAAIyC,EACF,OAAOA,EAIX,MAAO,ICxCJ,MAIM,GAAO,UAQP,GAAO,UAQP,GAAO,UAkDP,GAAO,wBCzEpB,SAASoF,GAAMC,GACbA,EAAMC,iBACND,EAAME,kBAKR,SAASC,GAAMH,GAFI,IAIbA,EAAMI,SAIVL,GAAMC,GDoHkB,GAAO,CAC/B1I,MAAO,6BACPC,KAAM,+BAEwB,GAAO,CACrCD,MAAO,yCACPC,KAAM,2CAEuB,GAAO,CACpCD,MAAO,gDACPC,KAAM,kDAEyB,GAAO,CACtCD,MAAO,qCACPC,KAAM,uCAEY,GAAO,CACzBD,MAAO,0BACPC,KAAM,4BAEiB,GAAO,CAC9BD,MAAO,0BACPC,KAAM,4BAEkB,GAAO,CAC/BD,MAAO,mCACPC,KAAM,qCAEkB,GAAO,CAC/BD,MAAO,mCACPC,KAAM,qCAEuB,GAAO,CACpCD,MAAO,mCACPC,KAAM,qCAEe,GAAO,CAC5BD,MAAO,0BACPC,KAAM,4BAEqB,GAAO,CAClCD,MAAO,mCACPC,KAAM,qCAEiB,GAAO,CAC9BD,MAzHiB,UA0HjBC,KAxEkB,YA0EA,GAAO,CACzBD,MAAO,0BACPC,KAAM,4BAEiB,GAAO,CAC9BD,MAAO,kCACPC,KAAM,oCAEkB,GAAO,CAC/BD,MAAO,kCACPC,KAAM,oCAEmB,GAAO,CAChCD,MAAO,oCACPC,KAAM,sCAEe,GAAO,CAC5BD,MAAO,2CACPC,KAAM,6CAEY,GAAO,CACzBD,MAtKkB,UAuKlBC,KA1KkB,YA4KA,GAAO,CACzBD,MA3JkB,UA4JlBC,KA7JkB,YA+JE,GAAO,CAC3BD,MAvKkB,UAwKlBC,KA1KkB,YA4KD,GAAO,CACxBD,MAAO,GACPC,KAAM,KAEc,GAAO,CAC3BD,MAAO,GACPC,KAAM,KAEa,GAAO,CAC1BD,MAAO,GACPC,KAAM,KC3MR,MAAM8I,GAAQ,CACZC,mBAAoBP,GACpBQ,iBAAkBR,GAGlBS,iBAAkBL,GAClBM,eAAgBN,GAChBO,oBAAqBX,GACrBY,kBAAmBZ,GACnBa,qBAAsBb,GACtBc,mBAAoBd,GACpBe,eAAgBf,GAEhBlH,QAASkH,IAELgB,GAAa,GC5BbC,GAAW,2BAoYjB,GAnYe,CAEbC,WAAY,CACV5H,QAAS,CACPA,QAAS,CACP/B,MAAO,gCAAgC,MACvCC,KAAM,yCAER2J,MAAO,CACL5J,MAAO,8DACPC,KAAM,iDAER4J,OAAQ,CACN7J,MAAO,wCAAwC0J,MAC/CzJ,KAAM,iDAER6J,SAAU,CACR9J,MAAO,iCAAiC,MACxCC,KAAM,0CAER8J,SAAU,CACR/J,MAAO,yCACPC,KAAM,0CAER+J,cAAe,CACbhK,MAAO,yCACPC,KAAM,2CAGVgK,QAAS,CACPlI,QAAS,CACP/B,MAAO,2CACPC,KAAM,4CAER2J,MAAO,CACL5J,MAAO,mDACPC,KAAM,oDAER4J,OAAQ,CACN7J,MAAO,mDACPC,KAAM,oDAER6J,SAAU,CACR9J,MAAO,iCAAiC,MACxCC,KAAM,0CAER8J,SAAU,CACR/J,MAAO,yCACPC,KAAM,0CAER+J,cAAe,CACbhK,MAAO,yCACPC,KAAM,2CAGVoH,QAAS,CACPtF,QAAS,CACP/B,MAAO,6CACPC,KAAM,8CAER2J,MAAO,CACL5J,MAAO,qDACPC,KAAM,sDAER4J,OAAQ,CACN7J,MAAO,qDACPC,KAAM,sDAER6J,SAAU,CACR9J,MAAO,iCAAiC,MACxCC,KAAM,0CAER8J,SAAU,CACR/J,MAAO,yCACPC,KAAM,0CAER+J,cAAe,CACbhK,MAAO,yCACPC,KAAM,2CAGVmH,OAAQ,CACNrF,QAAS,CACP/B,MAAO,4CACPC,KAAM,6CAER2J,MAAO,CACL5J,MAAO,oDACPC,KAAM,qDAER4J,OAAQ,CACN7J,MAAO,oDACPC,KAAM,qDAER6J,SAAU,CACR9J,MAAO,iCAAiC,MACxCC,KAAM,0CAER8J,SAAU,CACR/J,MAAO,yCACPC,KAAM,0CAER+J,cAAe,CACbhK,MAAO,yCACPC,KAAM,2CAGViK,KAAM,CACJnI,QAAS,CACP/B,MAAO,OACPC,KAAM,QAER8J,SAAU,CACR/J,MAAO,yCACPC,KAAM,0CAER+J,cAAe,CACbhK,MAAO,yCACPC,KAAM,2CAGVkK,OAAQ,CACNpI,QAAS,CACP/B,MAAO,OACPC,KAAM,QAER2J,MAAO,CACL5J,MAAO,qEACPC,KAAM,wDAER4J,OAAQ,CACN7J,MAAO,+CAA+C0J,MACtDzJ,KAAM,wDAER6J,SAAU,CACR9J,MAAO,OACPC,KAAM,QAER8J,SAAU,CACR/J,MAAO,yCACPC,KAAM,0CAER+J,cAAe,CACbhK,MAAO,yCACPC,KAAM,2CAGV,cAAe,CACb8B,QAAS,CACP/B,MAAO,OACPC,KAAM,QAER8J,SAAU,CACR/J,MAAO,yCACPC,KAAM,0CAER+J,cAAe,CACbhK,MAAO,yCACPC,KAAM,4CAIZmK,eAAgB,CACdrI,QAAS,CACPsI,MAAO,CACLrK,MAAO,oCACPC,KAAM,qCAER+J,cAAe,CACbhK,MAAO,oCACPC,KAAM,sCAGVgK,QAAS,CACPI,MAAO,CACLrK,MAAO,oCACPC,KAAM,qCAER+J,cAAe,CACbhK,MAAO,oCACPC,KAAM,sCAGVoH,QAAS,CACPgD,MAAO,CACLrK,MAAO,oCACPC,KAAM,qCAER+J,cAAe,CACbhK,MAAO,oCACPC,KAAM,sCAGVmH,OAAQ,CACNiD,MAAO,CACLrK,MAAO,oCACPC,KAAM,qCAER+J,cAAe,CACbhK,MAAO,oCACPC,KAAM,sCAGViK,KAAM,CACJG,MAAO,CACLrK,MAAO,oCACPC,KAAM,qCAER+J,cAAe,CACbhK,MAAO,oCACPC,KAAM,sCAGVkK,OAAQ,CACNE,MAAO,CACLrK,MAAO,oCACPC,KAAM,qCAER+J,cAAe,CACbhK,MAAO,oCACPC,KAAM,sCAGV,cAAe,CACboK,MAAO,CACLrK,MAAO,oCACPC,KAAM,qCAER+J,cAAe,CACbhK,MAAO,oCACPC,KAAM,uCAIZqK,MAAO,CACLvI,QAAS,CACPA,QAAS,CACP/B,MAAO,0BACPC,KAAM,2BAER4J,OAAQ,CACN7J,MAAO,0BACPC,KAAM,2BAER6J,SAAU,CACR9J,MAAO,mCACPC,KAAM,oCAER8J,SAAU,CACR/J,MAAO,mCACPC,KAAM,oCAER+J,cAAe,CACbhK,MAAO,mCACPC,KAAM,qCAGVgK,QAAS,CACPlI,QAAS,CACP/B,MAAO,kCACPC,KAAM,mCAER6J,SAAU,CACR9J,MAAO,mCACPC,KAAM,oCAER8J,SAAU,CACR/J,MAAO,mCACPC,KAAM,oCAER+J,cAAe,CACbhK,MAAO,mCACPC,KAAM,qCAGVoH,QAAS,CACPtF,QAAS,CACP/B,MAAO,0CACPC,KAAM,2CAER6J,SAAU,CACR9J,MAAO,mCACPC,KAAM,oCAER8J,SAAU,CACR/J,MAAO,mCACPC,KAAM,oCAER+J,cAAe,CACbhK,MAAO,mCACPC,KAAM,qCAGVmH,OAAQ,CACNrF,QAAS,CACP/B,MAAO,kCACPC,KAAM,mCAER6J,SAAU,CACR9J,MAAO,mCACPC,KAAM,oCAER8J,SAAU,CACR/J,MAAO,mCACPC,KAAM,oCAER+J,cAAe,CACbhK,MAAO,mCACPC,KAAM,qCAGViK,KAAM,CACJnI,QAAS,CACP/B,MAAO,0BACPC,KAAM,2BAER2J,MAAO,CACL5J,MAAO,0BACPC,KAAM,2BAER4J,OAAQ,CACN7J,MAAO,kCACPC,KAAM,mCAER6J,SAAU,CACR9J,MAAO,mCACPC,KAAM,oCAER8J,SAAU,CACR/J,MAAO,mCACPC,KAAM,oCAER+J,cAAe,CACbhK,MAAO,mCACPC,KAAM,qCAGVkK,OAAQ,CACNpI,QAAS,CACP/B,MAAO,0BACPC,KAAM,2BAER4J,OAAQ,CACN7J,MAAO,0BACPC,KAAM,2BAER6J,SAAU,CACR9J,MAAO,mCACPC,KAAM,oCAER8J,SAAU,CACR/J,MAAO,mCACPC,KAAM,oCAER+J,cAAe,CACbhK,MAAO,mCACPC,KAAM,qCAGV,cAAe,CACb8B,QAAS,CACP/B,MAAO,iCACPC,KAAM,kCAER2J,MAAO,CACL5J,MAAO,iCACPC,KAAM,kCAER4J,OAAQ,CACN7J,MAAO,0BACPC,KAAM,2BAER6J,SAAU,CACR9J,MAAO,mCACPC,KAAM,oCAER8J,SAAU,CACR/J,MAAO,mCACPC,KAAM,oCAER+J,cAAe,CACbhK,MAAO,mCACPC,KAAM,uCCjXRsK,GAAU,CACdxI,QAAY,GNLgB,GMKnB,KAETyI,QAAY,GNPgB,GMOnB,KACTC,KAAM,QAEFC,GAAc,CAClB3I,QAASwI,GAAQxI,QACjByI,QAASD,GAAQC,QACjBC,KAAM,WAEFE,GAAU,CAEd5I,QAAS,SACTyI,QAAS,SACTC,KAAM,KAEFG,GAAoB,CAExBJ,QAAS,QACTzI,QAAS,QACT0I,KAAM,KAEFI,GAAgB,CACpB9I,QAAS,SACTyI,QAAS,SACTC,KAAM,YAEFK,GACK,QADLA,GAEE,QAGR,SAASC,IAAS,MAChBC,EAAK,IACLC,EAAG,KACHrK,IAGA,OADaoK,EAAMC,IAAQD,EAAMjJ,SACrBnB,GAGd,SAASsK,IAAU,WACjBC,EAAU,IACVF,EAAG,KACHrK,IAEA,MAAO,CACL+I,WAAYoB,GAAS,CACnBC,MAAOI,GAAOzB,WAAWwB,GACzBF,MACArK,SAGF0J,MAAO,GAAGS,GAAS,CACjBC,MAAOI,GAAOd,MAAMa,GACpBF,MACArK,uBA2HC,SAASyK,IAAa,QAC3BC,IAEA,MAAO,CACLC,UAAW,SACXC,QAAS,OAETC,SAAU,EACVC,WAAY,EACZC,WAAY,EACZC,SAAU,EACVC,WAAY,OACZC,OAAoB,SAAZR,EAAqB,EAAIR,IAI9B,SAASiB,IAAgB,QAC9BT,IAEA,MAAO,CACLQ,OAAoB,SAAZR,EAAqB,EAAIR,GAEjCW,SAAU,EACVC,WAAY,EAEZM,SAAU,SACVC,aAAc,WACdC,WAAY,UAWT,MAAMC,GAAa,CAIxB/M,SAAU,WACVK,KAAM,EACNH,IAAK,EACLC,MAAO,EACPC,OAAQ,EAERgM,QAAS,OACTY,eAAgB,SAChBC,WAAY,UC5Od,SAAS,MAMT,MAAMC,GAA+B,CACnC,MAAO,CACL3M,cAAe,SAGnB,GAA4B,cAAiB,SAAoBuC,EAAOvB,GACtE,MAAM,WACJwK,EAAa,UAAS,UACtBoB,EAAS,QACTjB,EAAU,UAAS,UACnBkB,GAAY,EAAK,WACjBC,GAAa,EAAK,mBAClBC,GAAqB,EAAK,WAC1BC,GAAa,EAAK,WAClBC,EAAU,UACVC,EAAS,SACTpM,EAAQ,UACRqM,EAAS,KACTC,EAAI,QACJC,EAAO,SACPC,EAAW,EAAC,KACZC,GAAQH,OAAkBzL,EAAX,UACf6L,YAAaC,EAAsB,GACnC7L,QAAS8L,EAAkB,GAG3BC,UAAWC,GAAYR,EAAO,IAAM,UAAQ,OAC5CvM,EAAM,iBAENE,KACG8M,GACDtL,EACEuL,GAAS,IAAAzK,UACT0K,GAAS,IAAAxM,cAAYyM,IACzBF,EAAOxK,QAAU0K,EAEN,MAAPhN,IAIe,mBAARA,EAMXA,EAAIsC,QAAU0K,EALZhN,EAAIgN,MAML,CAACF,EAAQ9M,KC5CC,SAAsBA,EAAK6L,GACxC,MAAMoB,GAAe,IAAA5K,SAAO,IAC5B,IAAAgB,YAAU,KACJrD,GAAOiN,EAAa3K,SAAWuJ,GAAa7L,EAAIsC,SAClDtC,EAAIsC,QAAQoH,QAGduD,EAAa3K,SAAU,IACtB,CAACuJ,EAAW7L,IDsCf,CAAa8M,EAAQjB,GACrB,MAAMjL,GAAU,EAAAsM,EAAA,GAA4B,CAC1C/M,GAAIuM,EACJtM,OAAQ,UACRhC,cAAe,SACfC,YAAa,mBACbC,eAAgB,SAChB+B,cAAeN,IAGXyM,GAAc,IAAAjM,cAAYwH,IAC9BA,EAAMC,iBACNyE,EAAoB1E,KACnB,CAAC0E,KAEJ,IAAApJ,YAAU,KACR,MAAM8J,EAAKL,EAAOxK,QAEdwJ,GAAcqB,GAAMA,IAAO7J,SAAS8J,eACtCD,EAAGE,SAEJ,CAACvB,IAEJ,MAAMwB,EAAaC,QAAQlB,GACrBmB,EDyID,UAAsB,WAC3BF,IAEA,MAAO,CACLG,WAAY,eACZC,QAASJ,EAAa,EAAI,GC9IZK,CAAa,CAC3BL,eAEIM,GAAiB9B,IAAewB,EAMtC,IAAIO,EAAiB,GAUrB,OARI7B,GAAcF,GAA6B,YAAftB,KAC9BqD,EAAiB,CACf,qBAAsB,CACpBC,OAAQ9B,GAAcF,EAAa,iCAAmC,8CAKrE,IAAAjL,KAAI+L,GAAW,OAAS,GAAIC,EAAM,CACvCrO,IAAK,CAACoN,EAAWgC,EAAgB,KAAOjC,IACxCQ,UAAWA,EACXnM,IAAK+M,EACLnM,QAASA,EACT4L,YAAaA,EACbrD,SAAU2C,EACVM,KAAMwB,EAAgBxB,OAAOzL,EAE7B,qBAAoB2M,QAAoB3M,EACxC,cAAed,EACf0M,KAAMA,EAIND,SAAUR,GAAc,EAAIQ,GH5FjB,UAAqB,cAClCsB,IAEA,OAAOA,EAAgB9E,GAAaV,GG0FjC2F,CAAY,CACbH,mBACG3B,GAAa,IAAApL,KAAI,OAAQ,CAC5BrC,IAAK,CAACgP,EAAS9C,GAAa,CAC1BC,cAEDsB,GAAc,KAAMnM,GAAW,IAAAe,KAAI,OAAQ,CAC5CrC,IAAK,CAACgP,EAASpC,GAAgB,CAC7BT,cAED7K,GAAY,KAAMoM,GAAY,IAAArL,KAAI,OAAQ,CAC3CrC,IAAK,CAACgP,EAAS9C,GAAa,CAC1BC,cAEDuB,GAAa,KAAMG,GAAU,IAAAxL,KAAI,OAAQ,CAC1CrC,IAAK,CAACgN,GAAYqC,IACjBxB,GAAW,SE7ID,SAAS2B,IAAoB,SAC1ClO,EAAQ,WACRmM,EAAU,UACVC,IAEA,QAAIpM,KAIAmM,GAAeC,KAIdD,IAAcC,I,gBCVrB,SAAS+B,IAAqB,WAC5BzD,EAAU,WACVsB,EAAU,WACVE,IAEA,OAAIF,EACK,UAGLE,GAIe,YAAfxB,GAA2C,WAAfA,EAHvB,SAOF,UAGM,SAAS0D,IAAe,QACrCvD,EAAU,aACPkC,IAEH,MAAMsB,EAAmB,YAAZxD,EAAwB,SAAW,QAChD,OAAoB,gBAAoB,KAAS,CAC/CwD,KAAMA,EACN3D,WAAYyD,GAAqBpB,KC5BrC,MAAMuB,GAAqB,CACzB1E,MAAO,UACPL,cAAe,UACfJ,MAAO,UACPC,OAAQ,WACRC,SAAU,eAKL,SAASkF,IAAa,WAC3B7D,EAAa,UAAS,QACtBG,EAAU,UAAS,KACnB1K,EAAO,QAAO,WACd+L,GAAa,EAAK,mBAClBD,GAAqB,EAAK,gBAC1BuC,GAAkB,EAAK,UACvBC,GAAY,EAAK,MACjBC,IAEA,IAAIC,ELyDC,UAAgB,WACrBjE,EAAU,QACVG,EAAO,KACP1K,EAAI,WACJ+L,EAAU,mBACVD,EAAkB,iBAClB2C,IAEA,MAAMC,EAAapE,GAAU,CAC3BC,aACAF,IAAK0B,EAAa,WAAa,UAC/B/L,SAEF,MAAO,CAELyL,WAAY,WACZkD,YAAa,EACbC,aNrF8B,EMsF9BC,UAAW,aACXjE,QAAS,cACTI,SAAU,UACV8D,UAAW,SAEXC,WAAY,UACZC,WAAY,IAEZC,SAAU,OAEVzQ,SAAU,WACV0Q,UAAW,SACXC,eAAgB,OAChB3B,WAAY,kFACZlC,WAAY,YAEToD,EACHU,OAAQ,UACRC,OAAQ1F,GAAQe,GAChBK,WAAYjB,GAAYY,GACxBX,QAAS0E,EAAmBzE,GAAkBU,GAAWX,GAAQW,GACjET,cAAeA,GAAcS,GAC7B4E,MAAOxD,EAAqB,OAAS,OAErCN,eAAgB,SAIhB,YAAa,IAAKkD,GAElB,UAAW,IAAKpE,GAAU,CACtBC,aACAF,IAAK0B,EAAa,WAAa,QAC/B/L,SAEFmP,eAAiBpD,GAA8B,SAAfxB,GAAwC,gBAAfA,EAA8C,UAAd,YAEzFgF,mBAAoB,aAEtB,UAAW,IAAKjF,GAAU,CACtBC,aACAF,IAAK0B,EAAa,gBAAkB,QACpC/L,SAEFwP,UAAW,aAAahF,GAAOhB,eAAee,GAAYd,MAAMzJ,KAEhEuP,mBAAoB,WAEpBE,QAAS,QAGX,WAAY,IAAKnF,GAAU,CACvBC,aACAF,IAAK0B,EAAa,WAAa,SAC/B/L,SAGFuP,mBAAoB,UAGtB,mCAAoC,IAAKjF,GAAU,CAC/CC,aACAF,IAAK0B,EAAa,WAAa,SAC/B/L,SAGFuP,mBAAoB,UAMtB,cAAe,IACVjF,GAAU,CACXC,aACAF,IAAK,WACLrK,SAEFoP,OAAQ,cACRD,eAAgB,QAElB,6BAA8B,CAC5BC,OAAQ,UACRD,eAAgB,QAGlB,sGAAuG,IAAK7E,GAAU,CAClHC,aACAF,IAAK0B,EAAa,WAAa,UAC/B/L,UAGJ,sBAAuB,CACrB0P,OAAQ,EACRxE,OAAQ,EACRnB,QAAS,IK1KA4F,CAAO,CAClBpF,aACAG,UACA1K,OACA+L,aACAD,qBACA2C,iBAAkBJ,IAIpBG,EAAOiB,QAAU,OAEjB,MAAMG,EAAWzB,GAAmBI,GA2BpC,OAzBIqB,IACFpB,EAAS,IAAKA,KACTA,EAAOoB,KAIVtB,IACFE,EAAS,IAAKA,KAETA,EAAO,gCAKd/M,OAAOoO,KAAKrB,GAAQxL,SAAQqH,IAEd,wBAARA,GAKqB,IAArBA,EAAIyF,QAAQ,aACPtB,EAAOnE,MAGXmE,EASF,SAASuB,GAAe1N,EAASiD,GACtC,OAAOjD,EAAQiD,GAEjB,MAOA,GAPcwB,IAAYO,IAAc,CACtC2I,aAAc5B,GAAa/G,GAI3B4I,cAAe,OCtEjB,SAASC,IAAoB,WAC3BrE,GAAa,EAAK,SAClBsE,GAAW,EAAK,QAChBC,GAAU,EAAK,QACfC,GAAU,EAAK,WACftE,GAAa,EAAK,UAClBuC,GAAY,IAEZ,OAAIzC,EACK,WAGLE,GAAcqE,EACT,gBAGLrE,EACK,YAIJuC,GAAa6B,EACT,UAGJ7B,GAAa+B,EACT,QAGLD,EACK,QAGF,UAGT,MAAME,GAAU,CACdD,SAAS,EACTF,UAAU,EACVC,SAAS,GAELG,GAAiC,OAAyB,cAAiB,UAA2B,WAE1GhG,EAAa,UAAS,UACtBqB,GAAY,EAAK,WACjBC,GAAa,EAAK,WAClBE,GAAa,EAAK,mBAClBD,GAAqB,EAAK,QAC1BpB,EAAU,UAAS,UACnB4D,GAAY,EACZkC,aAAcC,EACdC,aAAcC,EACdpE,YAAaC,EACboE,UAAWC,EACXC,QAASC,EACTC,OAAQC,EAAc,MACtBhN,EAAQ8L,MACLnD,GACF7M,GAGD,MAAMmR,EAAY,CAChB3G,aACAqB,YACAC,aACAE,aACAD,qBACApB,aACGkC,IAEE2B,EAAO4C,IAAY,IAAAxO,UAAS2N,IAC7BE,GAAe,IAAAlQ,cAAYwH,IAC/BqJ,GAAS9O,IAAW,IAAMA,EACxBgO,SAAS,MAGPI,GACFA,EAAqB3I,KAEtB,CAAC2I,IACEC,GAAe,IAAApQ,cAAYwH,IAC/BqJ,GAAS9O,IAAW,IAAMA,EACxBgO,SAAS,EACTF,UAAU,MAGRQ,GACFA,EAAqB7I,KAEtB,CAAC6I,IACEpE,GAAc,IAAAjM,cAAYwH,IAC9BqJ,GAAS9O,IAAW,IAAMA,EACxB8N,UAAU,MAGR3D,GACFA,EAAoB1E,KAErB,CAAC0E,IACEoE,GAAY,IAAAtQ,cAAYwH,IAC5BqJ,GAAS9O,IAAW,IAAMA,EACxB8N,UAAU,MAGRU,GACFA,EAAkB/I,KAEnB,CAAC+I,IACEC,GAAU,IAAAxQ,cAAYwH,IAC1BqJ,GAAS9O,IAAW,IAAMA,EACxB+N,SAAS,MAGPW,GACFA,EAAgBjJ,KAEjB,CAACiJ,IACEC,GAAS,IAAA1Q,cAAYwH,IACzBqJ,GAAS9O,IAAW,IAAMA,EACxB+N,SAAS,MAGPa,GACFA,EAAenJ,KAEhB,CAACmJ,IACJ,OAAoB,gBAAoB,YAAgB,CACtDxO,MAAOwB,GACO,gBAAoB,YAAsB,MAAM,EAC9DjE,UACiB,gBAAoB,aAAgB,OAAS,CAC9DA,KAAMA,EACNuO,MAAO2B,GAAoB,IAAK3B,EAC9BD,YACAvC,WAAYmF,EAAUnF,WACtBF,WAAYqF,EAAUrF,aAExBwC,gBAAiBN,GAAoBmD,GACrC5C,UAAWA,GACV4C,IAAY,EACblB,mBACiB,uBAAoB,IAAY,OAAS,GAAIkB,EAAW,CACzEnR,IAAKA,EACLqM,QAASkC,EAAyB,gBAAoBL,GAAgBiD,GAAa,KACnFV,aAAcA,EACdE,aAAcA,EACdnE,YAAaA,EACbqE,UAAWA,EACXE,QAASA,EACTE,OAAQA,EACRrF,WD7F0ByF,EC6FDpB,ED5FpB,CACL,oEAAqEoB,OAFlE,IAAuBA,YCiG9Bb,GAAkBzP,YAAc,oBAChC,YC5Je,SAASuQ,GAAY/P,GAClC,MAAM,QACJgQ,EAAO,WACP/G,EAAU,UACVmC,EAAS,QACT6E,EAAO,OACP3R,GACE0B,EAGJ,OAAKoL,GAAc4E,EAIf5E,GAAa4E,GACfE,QAAQC,KAPM,uDASP,MAGL/E,EACkB,gBAAoBA,EAAW,CACjDnC,aACAgH,aAIG,IAAA3Q,KAAI,MAAO,CAChBrC,IAAKsI,GACL,cAAejH,GAAU,GAAGA,aAC3B0R,GAAWA,EAAQI,KAAI,EACxBC,UACG/E,GACFgF,KAAU,IAAAhR,KAAI,IAAQ,OAAS,CAChCyJ,IAAKuH,EACLrH,WAAsB,IAAVqH,EAAc,SAAWrH,GAAc,UACnD,iCAAiC,EACjC3K,OAAQA,GAAU,GAAGA,aAAkBgS,KACtChF,GAAO+E,MA3BD,K,4BCXX,MAAME,GAAY,EAChBtH,aACAuH,yBAEA,MAAMC,GAAkB,IAAAC,UAAQ,IjBoEA,GAChCzH,aACAuH,wBACI,EAAAvT,GAAG;;WAEEgI,EAAUgE;kBdvES;;Kc0EH,IAAvBuH,GAA+B,EAAAvT,GAAG;;sBAEjB0T;;EiB7EVC,CAAmB,CACxB3H,aACAuH,wBAED,CAACvH,EAAYuH,IACVtQ,EAAsB,WAAf+I,EAA0B,KAAY,KACnD,OAAO,IAAA3J,KAAI,OAAQ,CACjBrC,IAAKwT,IACJ,IAAAnR,KAAIY,EAAM,CACX2Q,MAAO,GAAG5H,aAIC,SAAS6H,GAAY9Q,GAClC,MAAM,GACJ+Q,EAAE,WACF9H,EAAU,UACVmC,EAAS,QACT4F,EAAO,QACPf,EAAO,OACP3R,EAAM,mBACNkS,GAAqB,GACnBxQ,EAEEiR,GAAkB,IAAAP,UAAQ,IjBmBAF,IAAsB,EAAAvT,GAAG;;;;;;;;;;KAUhC,IAAvBuT,GAA+B,EAAAvT,GAAG;;mBAEpB0T;sBACGA;;;;;;EiB/BVO,CAAmBV,IACzB,CAACA,IAEJ,OAAKpF,GAAc4F,EAIf5F,GAAa4F,GACfd,QAAQC,KAVM,uDAYP,MAGL/E,EACkB,gBAAoBA,EAAW,CACjD2F,KACAzS,SACA2K,aACAgH,UACAO,wBAIG,IAAAlR,KAAI,MAAO,CAChBrC,IAAK4H,EACL,cAAevG,GAAU,GAAGA,cAC3B,IAAAgB,KAAI,KAAM,CACXrC,IAAK+H,GACJiE,IAAc,IAAA3J,KAAIiR,GAAW,CAC9BtH,WAAYA,EACZuH,mBAAoBA,KAClB,IAAAlR,KAAI,OAAQ,CACdyR,GAAIA,EACJ9T,IAAKgU,EACL,cAAe3S,GAAU,GAAGA,aAC3B0S,KA/BM,K,eCvCX,MAAM7C,GAAU,EAAAlR,GAAG;;;mBrBiBc0G;;EqBV3BwN,GAAUC,GAAeA,EAAc,oBAA6C,QAE7EC,GAAmB,EAC9BC,iBACAC,oBACAC,kBACI,EAAAvU,GAAG;;gBAEOuU,EAAe,SAAW;;gBAE1BL,GAAQG;mBACLH,GAAQI;;;;;;;;;;;;;;;;;;;;;;aAsBdC,EAAe,ErBzBC;;;MqB4BvBrD;;;;;;;;;QASEA;;;;;kBAKUqD,EAAe,OAAS;;;EC7CpCC,IAA+B,IAAAvT,aAAW,CAAC8B,EAAOvB,KACtD,MAAOiT,EAAaC,GAAe1Q,EAAY,CAC7C2Q,UAAU,EACVC,MAAM,KAEDC,EAAkBC,IAAmB,IAAA1Q,WAAS,IAC9CiQ,EAAgBU,IAAiB,IAAA3Q,WAAS,IAC1CkQ,EAAmBU,IAAoB,IAAA5Q,WAAS,GACjD6Q,GAAgB,IAAApR,QAAO,MACvBqR,EAAkBxR,EAAgBgR,GAClCS,EAAsBzR,GAAgB,SAAY,KACtD,MAAMxB,EAAS+S,EAAcnR,QAC7B5B,GAAU4S,EAAgB5S,EAAOkT,aAAelT,EAAOmT,kBAEnDC,EAAkB5R,GAAgB,SAAY,KAClD,MAAMxB,EAAS+S,EAAcnR,QAE7B,GAAI5B,EAAQ,CACV,MAAMqT,EAAqBrT,EAAOkT,aAAelT,EAAOmT,aAEpDZ,EAAY3Q,QAAQ6Q,UACtBI,EAAc7S,EAAOqD,UtBlBA,GsBqBnBkP,EAAY3Q,QAAQ8Q,MACtBI,EAAiB9S,EAAOqD,WAAagQ,EtBtBhB,QsByC3B,OAfA,IAAA1Q,YAAU,KACR,MAAM3C,EAAS+S,EAAcnR,QAS7B,OARAsB,OAAOL,iBAAiB,SAAUuQ,GAAiB,GACnDpT,SAAgDA,EAAO6C,iBAAiB,SAAUuQ,GAAiB,GACnGH,IACAG,IACAJ,EAAgB,CACdP,SAAU5F,QAAQ7M,aAAuC,EAASA,EAAOsT,wBACzEZ,KAAM7F,QAAQ7M,aAAuC,EAASA,EAAOuT,sBAEhE,KACLrQ,OAAOJ,oBAAoB,SAAUsQ,GAAiB,GACtDpT,SAAgDA,EAAO8C,oBAAoB,SAAUsQ,GAAiB,MAEvG,CAACH,EAAqBG,EAAiBJ,KACnC,IAAA7S,KAAI,MAAO,CAEhByL,SAAU+G,EAAmB,OAAI1S,EACjC,cAAeY,EAAM1B,QAAU,GAAG0B,EAAM1B,qBACxCG,IAAK+C,EAAU,CAAC/C,EAAKyT,IACrBjV,IAAKoU,GAAiB,CACpBC,iBACAC,oBACAC,aAAcxR,EAAMwR,gBAErBxR,EAAMzB,aAEXkT,GAAgBjS,YAAc,kBAC9B,YC9DMmT,GAAc,GACL,SAASC,GAAQ5S,GAC9B,MAAM,QACJgQ,EAAO,WACP/G,EACAxG,KAAMoQ,EAAc,SACpBtU,EAAQ,WACRuU,EAAaH,GAAW,OACxBI,EAAM,OACNC,EAAM,QACNhC,EAAO,aACPiC,EAAY,mBACZzC,EAAkB,QAClBP,EAAO,aACPuB,EAAY,OACZlT,EAAM,UACN4U,EAAS,WACT3O,GACEvE,GACE,UACJmT,EAAY,MACZC,KAAMC,GACJP,EACEM,EAAOC,GAAcR,GAAkB,MAgB7C,OAAO,IAAAvT,KAAI6T,EAAW,CACpBlW,IAAK2H,EACL,mBAAoBL,EACpB,cAAejG,GACd2U,EAAe1U,GAAW,IAAAe,KAAI,WAAgB,MAAM,IAAAA,KAAI,GAAQ,CACjEyR,GAAImC,EACJjK,WAAYA,EACZmC,UAAW0H,EAAWQ,OAASR,EAAWQ,OAASN,EACnDhC,QAASA,EACTf,QAASA,EACTO,mBAAoBA,EACpBlS,OAAQA,KACN,IAAAgB,KAAI,KAAY,MAAM,IAAAA,KAAI,GAAiB,CAC7CkS,aAAcA,EACdlT,OAAQA,IACP,IAAAgB,KAAI8T,EAAM,CACXnW,IAAKmI,EACL,cAAe9G,GAAU,GAAGA,WAC3BC,MAAa,IAAAe,KAAI,GAAQ,CAC1B0Q,QAASA,EACT/G,WAAYA,EACZmC,UAAW0H,EAAWS,OAAST,EAAWS,OAASR,EACnD9C,QAASA,EACT3R,OAAQA,MClEZ,MAAMkV,GAAa,UAAoB,eACrCC,EAAc,WACdlP,EAAU,SACVhG,EAAQ,OACRD,IAEA,MAAMoV,GAAmB,IAAAhD,UAAQ,KAC/B,OAAQ+C,GACN,IAAK,UACH,MvBgEiClP,IAAc,EAAAtH,GAAG;IACtDwH;IACAH,EAAqBC;;;;;;cDpEH;;;EwBEPoP,CAA0BpP,GAEnC,IAAK,cACH,MvBkF8BA,IAAc,EAAAtH,GAAG;IACnDwH;IACAH,EAAqBC;;;MAGnBC;;;EuBvFSoP,CAAuBrP,GAEhC,QACE,MvBsEiCA,IAAc,EAAAtH,GAAG;IACtDwH;IACAH,EAAqBC;;;MAGnBC;;;EuB3ESqP,CAA0BtP,MAEpC,CAACkP,EAAgBlP,IACpB,OAAO,IAAAjF,KAAI,MAAO,CAChBrC,IAAKyW,EACL,cAAepV,GAAU,GAAGA,iBAC3BC,IAGLiV,GAAWhU,YAAc,aACzB,YC8FA,GAzGA,SAA0BQ,GACxB,MAAM,QACJgQ,EAAO,WACP/G,EAAU,UACVqB,EAAS,KACT7H,EAAI,SACJlE,EAAQ,WACRuU,EAAU,OACVC,EAAM,OACNC,EAAM,OACNjF,EAAM,gBACN+F,EAAe,aACfb,EAAY,mBACZzC,EAAkB,QAClBP,EAAO,gBACP8D,EAAe,eACfC,EAAc,yBACdC,EAAwB,0BACxBC,EAAyB,WACzB3P,EAAU,QACVyM,EAAO,MACPhD,EAAK,eACLyF,EAAc,OACdnV,GACE0B,EACE+Q,GAAK,SACLoD,E7BnBO,WACb,MAAOC,EAAiBC,IAAsB,IAAAhT,UAAS,IACvD,IAAAiT,kBAAgB,KACdD,EAAmBnS,OAClB,IACH,MAAMqS,GAAiB,IAAAvV,cAAY,KAC7BkD,MAAwBkS,GAC1B/R,OAAOmS,SAASnS,OAAOoS,YAAaL,KAErC,CAACA,I8BnBS,IAAwBxS,EAAWhB,EAAUiB,E9BqB1D,O8BrBqCD,E9BoBtB,S8BpBiChB,E9BoBvB2T,G8BnBzB,IAAAzS,YAAU,KACRO,OAAOL,iBAAiBJ,EAAWhB,EAAUiB,GACtC,KACLQ,OAAOJ,oBAAoBL,EAAWhB,EAAUiB,MAEjD,CAACD,EAAWhB,EAAUiB,I9BelBuS,E6BQgBM,GACjBC,EAA8B,IAAfpQ,EACfqQ,GAAiB,EAAAjJ,EAAA,GAA4B,CACjD/M,GAAIqR,EACJpR,OAAQ,SACRhC,cAAe,cACfC,YAAa,yBACbC,eAAgB,YEpCL,UAA+B,QAC5CkT,EAAO,WACP1F,IAEA,MAAMsK,GAAgB,IAAA/T,SAAO,GACvBgU,GAAY,IAAA9V,cAAYC,IACxBsL,GAAcsK,EAAc9T,SCfd,WDeyB9B,EAAE8J,MAM7C8L,EAAc9T,SAAU,EACxBkP,EAAQhR,MACP,CAACgR,EAAS1F,IACPwK,GAAU,IAAA/V,cAAY,KAC1B6V,EAAc9T,SAAU,IACvB,IACHY,EAAiB,UAAWmT,GAAW,GACvCnT,EAAiB,QAASoT,GAAS,GFmBnCC,CAAsB,CACpB/E,QAAS2E,EACTrK,YAAa0J,IAA6BU,IAE5C,MAAOM,EAAWC,GIzDL,UAA2B,eACxClB,EAAc,gBACdD,IAEA,MAAMkB,GAAY,IAAAnU,QAAO,MACnBoU,GAAiB,IAAAlW,cAAYiO,IACnB,aAAVA,GAAwB+G,GAC1BA,EAAeiB,EAAUlU,SAAS,GAGtB,YAAVkM,GAAuB8G,GACzBA,EAAgBkB,EAAUlU,WAE3B,CAACiT,EAAgBD,IACpB,MAAO,CAACkB,EAAWC,GJ2CiBC,CAAkB,CACpDnB,iBACAD,oBAEI1V,GAAmB,IAAAW,cAAYC,IAC/BiV,GACFU,EAAe3V,KAEhB,CAACiV,EAA2BU,KK9ClB,SAAsBnW,EAAK6L,GACxC,MAAMoB,GAAe,IAAA5K,SAAO,IAC5B,IAAAgB,YAAU,KACJrD,GAAOiN,EAAa3K,SAAWuJ,GAAa7L,EAAIsC,SAClDtC,EAAIsC,QAAQoH,QAGduD,EAAa3K,SAAU,IACtB,CAACuJ,EAAW7L,ILuCf2W,CAAkC,iBAAd9K,EAAyBA,OAAYlL,EACpC,iBAAdkL,GACP,MAAM+K,GAAmB,IAAA3E,UAAQ,IxBvCAyD,IAAkB,EAAAlX,GAAG;;;;;;;SAO/CkX;;;aZJM;;;EoCqCJmB,CAAoBnB,IAC1B,CAACA,IACEoB,GAAe,IAAA7E,UAAQ,IxBoCA,GAC7BuC,eACAlF,SACAC,WACI,EAAA/Q,GAAG;WACE;;;;;;;;;;;KAWU,IAAjBgW,GAAyB,EAAAhW,GAAG;wBACRwG;;;;cAtGIsK,IACrBA,EAIoB,iBAAXA,EAAsB,GAAGA,MAAaA,EAH3C,OAwGGyH,CAAazH;aAxHAC,KACzB,IAAKA,EACH,MAAO,OAGT,MACMyH,GAD+D,IAAjD1R,EAAWC,OAAOwK,QAAQR,EAAM0H,aACnB1H,EAEjC,OAAIyH,EACK,GAAG1R,EAAWE,OAAOwR,OAGN,iBAAVzH,EAAqB,GAAGA,MAAYA,GA6GvC2H,CAAY3H;;;;;;;OAOF,IAAjBiF,GAAyB,EAAAhW,GAAG;uBZ7HA;8BY+HJ,gBAAmB,oBF/D7B;;;E0BHT2Y,CAAgB,CACrB3C,eACAlF,SACAC,WAED,CAACiF,EAAclF,EAAQC,IAC1B,OAAO,IAAA1O,KAAI,KAAQ,MAAMuW,IAAe,IAAAvW,KAAI,OAAO,OAAS,GAAIuW,EAAa,CAC3E5Y,IAAKoY,EACL,eAAgBV,KACd,IAAArV,KAAI,KAAW,CACjBgL,UACqB,kBAAdA,GAA0BA,EACjC1C,UAAW+M,EACXmB,aAAa,IACZ,IAAAxW,KAAI,IAAS,CACdlB,UAAW0V,EACXzV,iBAAkBA,EAClBC,OAAQA,GAAU,GAAGA,gBACnB,IAAAgB,KAAI,GAAY,CAClBmU,eAAgBA,EAChBlP,WAAYA,EACZjG,OAAQA,IACP,IAAAgB,KAAI,KAAQ,CACbyW,kBAAmB,SACnBC,SAAUd,IACTe,IAAqB,IAAA3W,KAAI,WAAW,OAAS,GAAI2W,EAAmB,CACrExX,IAAK+C,EAAU,CAACyU,EAAkBxX,IAAKwW,IACvChY,IAAKsY,EACLhW,KAAM,SACN,kBAAmB,kBAAkBwR,IACrC,cAAezS,EACfyM,UAAW,EACX,cAAc,KACZ,IAAAzL,KAAIsT,GAAS,CACf5C,QAASA,EACT/G,WAAYA,EACZ6J,WAAYA,EACZE,OAAQA,EACRvQ,KAAMA,EACNsQ,OAAQA,EACR/B,QAASA,EACTkC,UAAW,kBAAkBnC,IAC7BzS,OAAQA,GAAU,GAAGA,mBACrB2U,aAAcA,EACdzC,mBAAoBA,EACpBP,QAAS2E,EACTrQ,WAAYA,EACZiN,aAAiC,WAAnBiC,GAAkD,gBAAnBA,GAC5ClV,YMlHU,SAAS2X,IAAa,UACnC5L,GAAY,EAAI,eAChBmJ,EAAiB,SAAQ,yBACzBQ,GAA2B,EAAI,0BAC/BC,GAA4B,EAAI,aAChCjB,GAAe,EAAK,MACpBjF,EAAQ,SAAQ,mBAChBwC,GAAqB,EAAI,QACzBP,EAAUxP,EACV8D,WAAY4R,EAAkB,cAC9BC,EAAgB3V,EAAI,SACpBlC,KACGyB,IAEH,MAAMuE,EtCGO,UAAuB,cACpC6R,IAEA,MAAM,UACJC,IACE,UACGC,EAAeC,GAAiBtV,EAAY,GAC7CuV,EAAoBF,EAAcvV,QAClC0V,EuCjBO,SAA0BtV,GACvC,MAAM1C,GAAM,IAAAqC,UAIZ,OAHA,IAAAgB,YAAU,KACRrD,EAAIsC,QAAUI,IACb,CAACA,IACG1C,EAAIsC,QvCYgB2V,CAAiBJ,EAAcvV,SAGpD4V,EAAchW,GAAgB,KAClC,MAAMiW,EAAgBrV,EAAmBiN,QAAQmI,GAG7CL,EAAcvV,UAAY6V,IAC5BL,EAAcK,GACdN,EAAcvV,QAAU6V,MA0C5B,OAvCA,IAAA9U,YAAU,KACR,MAAM0U,EAAoBjV,EAAmBiN,QAAQmI,GAEhDN,IAAoC,IAAvBG,GAGhBjV,EAAmBsV,QAAQF,GAGzBN,IAAoC,IAAvBG,GAKfjV,EAAmBuV,OAAON,EAAmB,GAI/CjV,EAAmBG,SAAQqV,GAAMA,QAChC,CAACJ,EAAaN,KACjB,IAAAvU,YAAU,IAAM,KAEd,MAAM0U,EAAoBjV,EAAmBiN,QAAQmI,IAE1B,IAAvBH,IACFjV,EAAmBuV,OAAON,EAAmB,GAC7CjV,EAAmBG,SAAQqV,GAAMA,SAElC,CAACJ,KACJ,IAAA7U,YAAU,UACmB1C,IAAvBqX,GAKAA,IAAuBD,GACzBJ,EAAcI,KAEf,CAACJ,EAAeK,EAAoBD,IAChCA,EsC9DYQ,CAAc,CAC/BZ,kBAEF,OAAoB,gBAAoB,IAAQ,CAC9CjZ,O1CQW,K0CPG,gBAAoB,IAAO,OAAS,GAAI6C,EAAO,CAC7DsK,UAAWA,EACXmJ,eAAgBA,EAChBQ,yBAA0BA,EAC1BC,0BAA2BA,EAC3BjB,aAAcA,EACdjF,MAAOA,EACPwC,mBAAoBA,EACpBP,QAASA,EACT1L,WAAY4R,GAAsB5R,IAChChG","sources":["webpack:///./node_modules/@atlaskit/blanket/dist/es2019/blanket.js","webpack:///./node_modules/@atlaskit/icon/glyph/error.js","webpack:///./node_modules/@atlaskit/icon/glyph/warning.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/modal-transition.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/utils/noop.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-lazy-ref.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-lazy-callback.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-state-ref.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/hooks/use-modal-stack.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/utils/merge-refs.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-document-event.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/hooks/use-prevent-programmatic-scroll.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/constants.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/styles/modal.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@emotion/styled/dist/styled.browser.esm.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/styles/content.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/shared/block-events.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/shared/colors.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/shared/css.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/shared/button-base.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-auto-focus.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/shared/get-is-only-single-icon.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/shared/loading-spinner.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/custom-theme-button/theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/custom-theme-button/custom-theme-button.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/footer.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/header.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/styles/scroll-container.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/scroll-container.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/content.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/positioner.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/modal.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-window-event.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-close-on-escape-press.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/utils/keycodes.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/hooks/use-on-motion-finish.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-auto-focus.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/modal-wrapper.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-previous-value.js"],"sourcesContent":["/** @jsx jsx */\nimport { forwardRef, memo, useCallback } from 'react';\nimport { css, jsx } from '@emotion/core';\nimport { usePlatformLeafEventHandler } from '@atlaskit/analytics-next/usePlatformLeafEventHandler';\nimport noop from '@atlaskit/ds-lib/noop';\nimport { DN90A, N100A } from '@atlaskit/theme/colors';\nimport { useGlobalTheme } from '@atlaskit/theme/components';\nimport { layers } from '@atlaskit/theme/constants';\nconst packageName = \"@atlaskit/blanket\";\nconst packageVersion = \"12.2.14\";\nconst analyticsAttributes = {\n componentName: 'blanket',\n packageName,\n packageVersion\n};\nconst baseStyles = css({\n position: 'fixed',\n zIndex: layers.blanket(),\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n overflowY: 'auto',\n pointerEvents: 'initial'\n});\nconst shouldAllowClickThroughStyles = css({\n pointerEvents: 'none'\n});\nconst invisibleStyles = css({\n backgroundColor: 'transparent'\n});\nconst lightBgStyles = css({\n backgroundColor: `var(--ds-blanket, ${N100A})`\n});\nconst darkBgStyles = css({\n backgroundColor: `var(--ds-blanket, ${DN90A})`\n});\nconst backgroundStyle = {\n light: lightBgStyles,\n dark: darkBgStyles\n};\n/**\n * __Blanket__\n *\n * A Blanket provides the overlay layer for components such as a modal dialog or a tooltip\n *\n * - [Examples](https://atlaskit.atlassian.com/examples/design-system/blanket/basic-usage)\n */\n\nconst Blanket = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function Blanket({\n shouldAllowClickThrough = false,\n isTinted = false,\n onBlanketClicked = noop,\n testId,\n children,\n analyticsContext\n}, ref) {\n const {\n mode\n } = useGlobalTheme();\n const onBlanketClickedWithAnalytics = usePlatformLeafEventHandler({\n fn: onBlanketClicked,\n action: 'clicked',\n analyticsData: analyticsContext,\n ...analyticsAttributes\n });\n const blanketClickOutsideChildren = useCallback(e => e.currentTarget === e.target ? onBlanketClickedWithAnalytics(e) : undefined, [onBlanketClickedWithAnalytics]);\n const onClick = shouldAllowClickThrough ? undefined : blanketClickOutsideChildren;\n return jsx(\"div\", {\n role: \"presentation\",\n css: [baseStyles, shouldAllowClickThrough && shouldAllowClickThroughStyles, backgroundStyle[mode], !isTinted && invisibleStyles],\n onClick: onClick,\n \"data-testid\": testId,\n ref: ref\n }, children);\n}));\nBlanket.displayName = 'Blanket';\nexport default Blanket;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst ErrorIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n dangerouslySetGlyph: ``\n}, props));\n\nErrorIcon.displayName = 'ErrorIcon';\nvar _default = ErrorIcon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst WarningIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n dangerouslySetGlyph: ``\n}, props));\n\nWarningIcon.displayName = 'WarningIcon';\nvar _default = WarningIcon;\nexports.default = _default;","import React from 'react';\nimport ExitingPersistence from '@atlaskit/motion/exiting-persistence';\n\nconst ModalTransition = props => {\n return /*#__PURE__*/React.createElement(ExitingPersistence, {\n appear: true\n }, props.children);\n};\n\nexport default ModalTransition;","/**\n * An empty function which does nothing.\n */\nexport default function noop() {}","import { token } from '@atlaskit/tokens';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const FLATTENED = '__FLATTENED__';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\n\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\nexport const focusRing = (color = B100, outlineWidth = gridSize() / 4) => `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n navigation: () => 200,\n dialog: () => 300,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800\n};\nexport const visuallyHidden = () => ({\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important'\n});\n/**\n * Deprecated Styled Components mixin.\n * Use visuallyHidden instead.\n * @deprecated\n */\n\nexport const assistive = visuallyHidden;\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: token('color.background.subtleNeutral.resting', skeletonColor()),\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate'\n },\n keyframes: {\n from: {\n backgroundColor: token('color.background.subtleNeutral.resting', skeletonColor())\n },\n to: {\n backgroundColor: token('color.background.subtleNeutral.hover', N30A)\n }\n }\n});","import { useRef } from 'react';\nconst uniqueReferencedValue = {};\n/**\n * Executes the initializer function once and saves its result into a ref.\n *\n * ```js\n * const ref = useLazyRef(() => 10);\n * ```\n *\n * @param initializer\n */\n\nexport default function useLazyRef(initializer) {\n const ref = useRef(uniqueReferencedValue);\n\n if (ref.current === uniqueReferencedValue) {\n ref.current = initializer();\n }\n\n return ref;\n}","import useLazyRef from './use-lazy-ref';\n/**\n * Saves the passed through `callback` to a ref to ensure stability between renders.\n * As a feature this callback will only be created **once**,\n * this means it will have a stale closure on subsequent render.\n *\n * If you need to access things in the parent scope make sure to do it with refs.\n *\n * ```js\n * const callback = useLazyCallback(() => 10);\n * ```\n *\n * @param callback\n */\n\nexport default function useLazyCallback(callback) {\n const ref = useLazyRef(() => callback);\n return ref.current;\n}","import { useRef, useState } from 'react';\n/**\n * Functions similarly to `useState` however the return value is a ref.\n *\n * ```js\n * const [valueRef, setValue] = useStateRef(0);\n * ```\n *\n * @param initialState\n */\n\nexport default function useStateRef(initialState) {\n const [value, setValue] = useState(initialState);\n const valueRef = useRef(value);\n valueRef.current = value;\n return [valueRef, setValue];\n}","import { useEffect } from 'react';\nimport useLazyCallback from '@atlaskit/ds-lib/use-lazy-callback';\nimport usePreviousValue from '@atlaskit/ds-lib/use-previous-value';\nimport useStateRef from '@atlaskit/ds-lib/use-state-ref';\nimport { useExitingPersistence } from '@atlaskit/motion/exiting-persistence';\n/**\n * ________________________________________________\n * | MAJOR VERSIONS WILL NOT KNOW ABOUT EACH OTHER! |\n * ------------------------------------------------\n *\n * An array which holds references to all currently open modal dialogs.\n * This will only work for modal dialogs of the same major version,\n * as the reference will be different between them.\n *\n * E.g. V11 won't know about any from V12.\n */\n\nconst modalStackRegister = [];\n\n/**\n * Returns the position of the calling modal dialog in the modal dialog stack.\n * Stack index of `0` is the highest position in the stack,\n * with every higher number being behind in the stack.\n */\nexport default function useModalStack({\n onStackChange\n}) {\n const {\n isExiting\n } = useExitingPersistence();\n const [stackIndexRef, setStackIndex] = useStateRef(0);\n const currentStackIndex = stackIndexRef.current;\n const previousStackIndex = usePreviousValue(stackIndexRef.current); // We want to ensure this function **never changes** during the lifecycle of this component.\n // This is why it's assigned to a ref and not in a useMemo/useCallback.\n\n const updateStack = useLazyCallback(() => {\n const newStackIndex = modalStackRegister.indexOf(updateStack); // We access the stack index ref instead of state because this closure will always only\n // have the initial state and not any of the later values.\n\n if (stackIndexRef.current !== newStackIndex) {\n setStackIndex(newStackIndex);\n stackIndexRef.current = newStackIndex;\n }\n });\n useEffect(() => {\n const currentStackIndex = modalStackRegister.indexOf(updateStack);\n\n if (!isExiting && currentStackIndex === -1) {\n // We are opening the modal dialog.\n // Add ourselves to the modal stack register!\n modalStackRegister.unshift(updateStack);\n }\n\n if (isExiting && currentStackIndex !== -1) {\n // We are closing the modal dialog using a wrapping modal transition component.\n // Remove ourselves from the modal stack register!\n // NOTE: Modal dialogs that don't have a wrapping modal transition component won't flow through here!\n // For that scenario we cleanup when the component unmounts.\n modalStackRegister.splice(currentStackIndex, 1);\n } // Fire all registered modal dialogs to update their position in the stack.\n\n\n modalStackRegister.forEach(cb => cb());\n }, [updateStack, isExiting]);\n useEffect(() => () => {\n // Final cleanup just in case this modal dialog did not have a wrapping modal transition.\n const currentStackIndex = modalStackRegister.indexOf(updateStack);\n\n if (currentStackIndex !== -1) {\n modalStackRegister.splice(currentStackIndex, 1);\n modalStackRegister.forEach(cb => cb());\n }\n }, [updateStack]);\n useEffect(() => {\n if (previousStackIndex === undefined) {\n // Initial case that we don't need to notify about.\n return;\n }\n\n if (previousStackIndex !== currentStackIndex) {\n onStackChange(currentStackIndex);\n }\n }, [onStackChange, previousStackIndex, currentStackIndex]);\n return currentStackIndex;\n}","/**\n * Assigns the node to all the refs passed in the argument.\n *\n * @param refs: An array of refs (as function or ref object)\n */\nexport default function mergeRefs(refs) {\n return value => {\n refs.forEach(ref => {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref !== null) {\n ref.current = value;\n }\n });\n };\n}","import { useEffect } from 'react';\n/**\n * Assigns an event listener to the document and cleans up after itself.\n * This event will not flow through the React event system,\n * which means it could add lots of event listeners affecting performance.\n * Use with caution.\n *\n * ```\n * useDocumentEvent('click', callback, true);\n * ```\n *\n * @param eventName\n * @param callback Ensure a stable reference else you will have your event bound/unbound unexpectedly.\n * @param options Ensure a stable reference else you will have your event bound/unbound unexpectedly.\n */\n\nexport default function useDocumentEvent(eventName, callback, options) {\n useEffect(() => {\n document.addEventListener(eventName, callback, options);\n return () => {\n document.removeEventListener(eventName, callback, options);\n };\n }, [eventName, callback, options]);\n}","import { useCallback, useLayoutEffect, useState } from 'react';\nimport useWindowEvent from '@atlaskit/ds-lib/use-window-event';\n/**\n * Returns how far the body is scrolled from the top of the viewport.\n *\n * ____\n * ||____|| <-- overflow\n * | | <-- viewport\n * |____|\n *\n * Scroll distance is the height of overflow outside the viewport.\n */\n\nfunction getScrollDistance() {\n var _document$documentEle, _document$body;\n\n return window.pageYOffset || ((_document$documentEle = document.documentElement) === null || _document$documentEle === void 0 ? void 0 : _document$documentEle.scrollTop) || ((_document$body = document.body) === null || _document$body === void 0 ? void 0 : _document$body.scrollTop) || 0;\n}\n/**\n * Prevents programatic scrolling of the viewport with `scrollIntoView`.\n * Should be used in conjunction with a scroll lock to prevent a user from scrolling.\n *\n * @returns scroll top offset of the viewport\n */\n\n\nexport default function usePreventProgrammaticScroll() {\n const [scrollTopOffset, setScrollTopOffset] = useState(0);\n useLayoutEffect(() => {\n setScrollTopOffset(getScrollDistance());\n }, []);\n const onWindowScroll = useCallback(() => {\n if (getScrollDistance() !== scrollTopOffset) {\n window.scrollTo(window.pageXOffset, scrollTopOffset);\n }\n }, [scrollTopOffset]);\n useWindowEvent('scroll', onWindowScroll);\n return scrollTopOffset;\n}","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark']; // Resolves the different types of theme objects in the current API\n\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if ('__ATLASKIT_THEME__' in props.theme) {\n return props.theme.__ATLASKIT_THEME__;\n } // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n } // If format not supported (or no theme provided), return standard theme\n\n\n return {\n mode: DEFAULT_THEME_MODE\n };\n}","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return props => {\n const theme = getTheme(props);\n\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n\n if (value) {\n return value;\n } // TS believes value can be undefined\n\n }\n }\n\n return '';\n };\n}\n\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n\n const modes = modesOrVariant;\n return props => {\n // Get theme from the user's props\n const theme = getTheme(props); // User isn't required to provide both light and dark values\n\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n\n if (value) {\n return value;\n }\n }\n\n return '';\n };\n}","import themed from './utils/themed'; // Reds\n\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600'; // Yellows\n\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00'; // Greens\n\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644'; // Blues\n\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6'; // Purples\n\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294'; // Teals\n\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6'; // Neutrals\n\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D'; // ATTENTION: update the tints if you update this\n\nexport const N900 = '#091E42'; // Each tint is made of N900 and an alpha channel\n\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)'; // Dark Mode Neutrals\n\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624'; // ATTENTION: update the tints if you update this\n\nexport const DN0 = '#0D1424'; // Each dark tint is made of DN0 and an alpha channel\n\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)'; // Themed colors\n\nexport const background = themed({\n light: N0,\n dark: DN30\n});\nexport const backgroundActive = themed({\n light: B50,\n dark: B75\n});\nexport const backgroundHover = themed({\n light: N30,\n dark: DN70\n});\nexport const backgroundOnLayer = themed({\n light: N0,\n dark: DN50\n});\nexport const text = themed({\n light: N900,\n dark: DN600\n});\nexport const textHover = themed({\n light: N800,\n dark: DN600\n});\nexport const textActive = themed({\n light: B400,\n dark: B400\n});\nexport const subtleText = themed({\n light: N200,\n dark: DN300\n});\nexport const placeholderText = themed({\n light: N100,\n dark: DN200\n});\nexport const heading = themed({\n light: N800,\n dark: DN600\n});\nexport const subtleHeading = themed({\n light: N200,\n dark: DN300\n});\nexport const codeBlock = themed({\n light: N20,\n dark: DN50\n});\nexport const link = themed({\n light: B400,\n dark: B100\n});\nexport const linkHover = themed({\n light: B300,\n dark: B200\n});\nexport const linkActive = themed({\n light: B500,\n dark: B100\n});\nexport const linkOutline = themed({\n light: B100,\n dark: B200\n});\nexport const primary = themed({\n light: B400,\n dark: B100\n});\nexport const blue = themed({\n light: B400,\n dark: B100\n});\nexport const teal = themed({\n light: T300,\n dark: T200\n});\nexport const purple = themed({\n light: P300,\n dark: P100\n});\nexport const red = themed({\n light: R300,\n dark: R300\n});\nexport const yellow = themed({\n light: Y300,\n dark: Y300\n});\nexport const green = themed({\n light: G300,\n dark: G300\n});\nexport const skeleton = () => N20A;","import { N30, N800, R400, Y400 } from '@atlaskit/theme/colors';\nimport { gridSize } from '@atlaskit/theme/constants';\nexport const WIDTH_ENUM = {\n values: ['small', 'medium', 'large', 'x-large'],\n widths: {\n small: 400,\n medium: 600,\n large: 800,\n 'x-large': 968\n },\n defaultValue: 'medium'\n};\nexport const gutter = 60;\nexport const verticalOffset = gridSize() * 2;\nexport const modalPadding = gridSize() * 3;\nexport const actionMargin = gridSize();\nexport const titleMargin = gridSize();\nexport const keylineHeight = 2;\nexport const keylineColor = N30;\nexport const focusOutlineColor = N800;\nexport const dangerColor = R400;\nexport const warningColor = Y400;","import { css } from '@emotion/core';\nimport { prefersReducedMotion } from '@atlaskit/motion/accessibility';\nimport { easeInOut } from '@atlaskit/motion/curves';\nimport { mediumDurationMs } from '@atlaskit/motion/durations';\nimport { N0, N30A, N60A, text } from '@atlaskit/theme/colors';\nimport { borderRadius, layers } from '@atlaskit/theme/constants';\nimport { gutter, verticalOffset, WIDTH_ENUM } from '../constants';\nconst maxWidthDimensions = `calc(100vw - ${gutter * 2}px)`;\nconst maxHeightDimensions = `calc(100vh - ${gutter * 2 - 1}px)`;\nexport const dialogWidth = width => {\n if (!width) {\n return 'auto';\n }\n\n const isWidthName = WIDTH_ENUM.values.indexOf(width.toString()) !== -1;\n const widthName = isWidthName && width;\n\n if (widthName) {\n return `${WIDTH_ENUM.widths[widthName]}px`;\n }\n\n return typeof width === 'number' ? `${width}px` : width;\n};\nexport const dialogHeight = height => {\n if (!height) {\n return 'auto';\n }\n\n return typeof height === 'number' ? `${height}px` : height;\n};\nexport const getFillScreenStyles = scrollDistance => css`\n height: 100vh;\n width: 100vw;\n\n // This instead of fixed so PopupSelect's\n // children are properly positioned.\n position: absolute;\n top: ${scrollDistance}px;\n left: 0;\n\n z-index: ${layers.modal()};\n overflow-y: auto; // Enables scroll outside.\n -webkit-overflow-scrolling: touch;\n`;\n\nconst modalStackTransition = stackIndex => css`\n // We only want to apply transform on modals shifting to the back of the stack.\n transform: ${stackIndex > 0 ? `translateY(${stackIndex * (verticalOffset / 2)}px)` : 'none'};\n transition-property: transform;\n transition-duration: ${mediumDurationMs}ms;\n transition-timing-function: ${easeInOut};\n ${prefersReducedMotion()};\n`;\n\nconst positionerBaseStyles = css`\n top: ${gutter}px;\n left: 0;\n right: 0;\n margin-left: auto;\n margin-right: auto;\n\n max-width: ${maxWidthDimensions};\n max-height: ${maxHeightDimensions};\n\n pointer-events: none;\n width: max-content;\n`;\nconst positionerResponsiveBaseStyles = css`\n position: fixed;\n left: 0;\n top: 0;\n\n height: 100%;\n width: 100%;\n max-width: 100%;\n\n z-index: ${layers.modal()};\n`;\nexport const getPositionRelativeStyles = stackIndex => css`\n ${positionerResponsiveBaseStyles};\n ${modalStackTransition(stackIndex)};\n\n margin: 0;\n\n @media (min-width: 480px) {\n position: relative;\n margin: ${gutter}px auto;\n width: max-content;\n }\n`;\nexport const getPositionAbsoluteStyles = stackIndex => css`\n ${positionerResponsiveBaseStyles};\n ${modalStackTransition(stackIndex)};\n\n @media (min-width: 480px) {\n ${positionerBaseStyles};\n position: absolute;\n }\n`;\nexport const getPositionFixedStyles = stackIndex => css`\n ${positionerResponsiveBaseStyles};\n ${modalStackTransition(stackIndex)};\n\n @media (min-width: 480px) {\n ${positionerBaseStyles};\n position: fixed;\n }\n`;\nexport const getDialogStyles = ({\n isChromeless,\n height,\n width\n}) => css`\n color: ${text()};\n display: flex;\n flex-direction: column;\n\n pointer-events: auto;\n\n height: 100%;\n width: 100%;\n max-height: 100vh;\n max-width: 100vw;\n\n ${isChromeless !== true && css`\n background-color: ${N0};\n `}\n\n @media (min-width: 480px) {\n height: ${dialogHeight(height)};\n width: ${dialogWidth(width)};\n max-height: inherit;\n max-width: inherit;\n\n margin-left: inherit;\n margin-right: inherit;\n\n ${isChromeless !== true && css`\n border-radius: ${borderRadius()}px;\n box-shadow: 0 0 0 1px ${N30A}, 0 2px 1px ${N30A}, 0 0 20px -6px ${N60A};\n `}\n }\n`;","import styled from '@emotion/styled-base';\n\nvar tags = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\nvar newStyled = styled.bind();\ntags.forEach(function (tagName) {\n newStyled[tagName] = newStyled(tagName);\n});\n\nexport default newStyled;\n","import { css } from '@emotion/core';\nimport styled from '@emotion/styled';\nimport { actionMargin, dangerColor, keylineHeight, modalPadding, titleMargin, warningColor } from '../constants';\n// Wrapper\n// ==============================\nexport const wrapperStyles = css`\n display: flex;\n flex-direction: column;\n\n /**\n * This ensures that the element fills the whole modal dialog space\n * and its content does not overflow (since flex items don't\n * shrink past its content size by default). */\n flex: 1 1 auto;\n min-height: 0;\n`; // Header\n// ==============================\n\nexport const headerStyles = css`\n display: flex;\n align-items: center;\n justify-content: space-between;\n\n position: relative;\n padding: ${modalPadding}px;\n padding-bottom: ${modalPadding - keylineHeight}px;\n`; // TODO: This is a public API, so should remove during breaking change later.\n\nexport const Header = styled.div`\n ${headerStyles}\n`;\nexport const titleStyles = css`\n display: flex;\n align-items: center;\n\n font-size: 20px;\n font-style: inherit;\n font-weight: 500;\n letter-spacing: -0.008em;\n line-height: 1;\n\n min-width: 0;\n margin: 0;\n`; // TODO: This is a public API, so should remove during breaking change later.\n\nexport const Title = styled.h1`\n ${titleStyles};\n`;\n\n/** 20 = font size, 1.2 = adjusted line height.\n * When the heading is truncated (not multi-line), we adjust the\n * line height to avoid cropping the descenders. This removes\n * the extra spacing that we get from that adjustment.\n */\nconst lineHeightOffset = 20 - 20 * 1.2;\nexport const getTitleTextStyles = isHeadingMultiline => css`\n word-wrap: break-word;\n\n /**\n * This ensures that the element fills the whole header space\n * and its content does not overflow (since flex items don't\n * shrink past its content size by default). */\n flex: 1 1 auto;\n min-width: 0;\n\n ${isHeadingMultiline !== true && css`\n line-height: 1.2;\n margin-top: ${lineHeightOffset / 2}px;\n margin-bottom: ${lineHeightOffset / 2}px;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n `};\n`;\nconst iconColor = {\n danger: dangerColor,\n warning: warningColor\n};\nexport const getTitleIconStyles = ({\n appearance,\n isHeadingMultiline\n}) => css`\n flex: 0 0 auto; // Keeps the size of the icon the same, in case the text element grows in width.\n color: ${iconColor[appearance]};\n margin-right: ${titleMargin}px;\n\n ${isHeadingMultiline !== true && css`\n line-height: 1.2;\n margin-bottom: ${lineHeightOffset / 2}px;\n `};\n`; // Body\n// ==============================\n\n/**\n * Adding the padding here avoids cropping the keyline on its sides.\n * The combined vertical spacing is maintained by subtracting the\n * keyline height from header and footer.\n */\nexport const bodyStyles = css`\n flex: 1 1 auto; // Ensures the body fills the whole space between header and footer.\n padding: ${keylineHeight}px ${modalPadding}px;\n`; // TODO: This is a public API, so should remove during breaking change later.\n\nexport const Body = styled.div`\n ${bodyStyles};\n`; // Footer\n// ==============================\n\nconst baseFooterStyles = css`\n display: flex;\n align-items: center;\n\n position: relative;\n padding: ${modalPadding}px;\n padding-top: ${modalPadding - keylineHeight}px;\n\n & [data-ds--modal-dialog--action] {\n margin-left: ${actionMargin}px;\n }\n`;\n/** This is the styles we use in our public Footer component,\n * used when users build their own custom footer. */\n\nconst externalFooterStyles = css`\n ${baseFooterStyles}\n\n /**\n * Some of our users rely on this behavior\n * to put actions on the left-hand side.\n * e.g. https://atlaskit.atlassian.com/examples/editor/editor-core/full-page-with-x-extensions\n * (Click '+' -> 'View more' to see the element browser in a modal).\n */\n justify-content: space-between;\n`;\n/** This is the styles we use in our internal Footer component,\n * used when users opt into our default footer + actions API. */\n\nexport const internalFooterStyles = css`\n ${baseFooterStyles}\n\n /**\n * When we're /not/ using a custom footer, we place\n * all actions on the right-hand side by default.\n */\n justify-content: flex-end;\n`; // TODO: This is a public API, so should remove during breaking change later.\n\nexport const Footer = styled.div`\n ${externalFooterStyles};\n`;","import React, { createContext, useCallback, useContext } from 'react';\n\n/**\n * createTheme is used to create a set of Providers and Consumers for theming components.\n * - Takes a default theme function; this theme function gets a set of props, and returns tokens\n * based on those props. An example of this default theme function is one that produces the standard\n * appearance of the component\n * - Returns three things - a Provider that allow for additional themes to be applied, a Consumer\n * that can get the current theme and fetch it, and a custom hook - useTheme which provides an alternate (although functionally the same) API\n * to the Consumer.\n */\nexport function createTheme(defaultGetTokens) {\n const emptyThemeFn = (getTokens, props) => getTokens(props);\n /**\n * Internally, Theme uses React Context, with internal providers and consumers.\n * The React Context passes only a function that gets props, and turns them into tokens. This\n * function gets mixed as more Providers with their own themes are added. This mixed function\n * is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n * the theme.\n */\n\n\n const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n\n function useTheme(themeProps) {\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n const tokens = themeFn(themeProps);\n return tokens;\n } // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n\n\n function Consumer(props) {\n const {\n children,\n ...themeProps\n } = props; // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n\n const tokens = useTheme(themeProps); // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\n }\n /**\n * The Theme Provider takes regular nodes as its children, but also takes a *theme function*\n * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.\n * - The getTokens function isn't called immediately - instead the props are passed\n * through a mix of parent theming functions\n * Children of this provider will receive this mixed theme\n */\n\n\n function Provider(props) {\n const themeFn = useContext(ThemeContext);\n const valueFn = props.value || emptyThemeFn;\n const mixedFn = useCallback(themeProps => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: mixedFn\n }, props.children);\n }\n\n return {\n Consumer,\n Provider,\n useTheme\n };\n}","import { createTheme } from '../utils/create-theme'; // Create default global light theme\n\nconst {\n Provider,\n Consumer,\n useTheme\n} = createTheme(() => ({\n mode: 'light'\n}));\nexport { useTheme as useGlobalTheme };\nexport default {\n Provider,\n Consumer\n};","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\n\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n/**\n * @deprecated Please use `@atlaskit/focus-ring`\n */\n\nexport const focusRing = (color = `var(--ds-border-focused, ${B100})`, outlineWidth = gridSize() / 4) => {\n deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n return `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\n};\n/**\n * @deprecated Please use `@atlaskit/focus-ring`\n */\n\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n navigation: () => 200,\n dialog: () => 300,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800\n}; // eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n\n/**\n * @deprecated Please use `@atlaskit/visually-hidden`\n */\n\nexport const visuallyHidden = () => {\n deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n return {\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important'\n };\n};\n/**\n * @deprecated Please use `@atlaskit/visually-hidden`\n */\n\nexport const assistive = visuallyHidden;\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\n\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate'\n },\n keyframes: {\n from: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n },\n to: {\n backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n }\n }\n});","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if (CHANNEL in props.theme) {\n return props.theme[CHANNEL];\n } // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n } // If format not supported (or no theme provided), return standard theme\n\n\n return {\n mode: DEFAULT_THEME_MODE\n };\n}","/* eslint-disable prefer-rest-params */\nimport getTheme from './get-theme';\n\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return props => {\n const theme = getTheme(props);\n\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n\n if (value) {\n return value;\n } // TS believes value can be undefined\n\n }\n }\n\n return '';\n };\n}\n\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n\n const modes = modesOrVariant;\n return props => {\n // Get theme from the user's props\n const theme = getTheme(props); // User isn't required to provide both light and dark values\n\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n\n if (value) {\n return value;\n }\n }\n\n return '';\n };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\nimport themed from './utils/themed'; // Reds\n\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600'; // Yellows\n\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00'; // Greens\n\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644'; // Blues\n\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6'; // Purples\n\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294'; // Teals\n\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6'; // Neutrals\n\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D'; // ATTENTION: update the tints if you update this\n\nexport const N900 = '#091E42'; // Each tint is made of N900 and an alpha channel\n\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)'; // Dark Mode Neutrals\n\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624'; // ATTENTION: update the tints if you update this\n\nexport const DN0 = '#0D1424'; // Each dark tint is made of DN0 and an alpha channel\n\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)'; // Themed colors\n\nexport const background = themed({\n light: `var(--ds-surface, ${N0})`,\n dark: `var(--ds-surface, ${DN30})`\n});\nexport const backgroundActive = themed({\n light: `var(--ds-background-selected, ${B50})`,\n dark: `var(--ds-background-selected, ${B75})`\n});\nexport const backgroundHover = themed({\n light: `var(--ds-background-neutral-hovered, ${N30})`,\n dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\nexport const backgroundOnLayer = themed({\n light: `var(--ds-surface-overlay, ${N0})`,\n dark: `var(--ds-surface-overlay, ${DN50})`\n});\nexport const text = themed({\n light: `var(--ds-text, ${N900})`,\n dark: `var(--ds-text, ${DN600})`\n});\nexport const textHover = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\nexport const textActive = themed({\n light: `var(--ds-text-selected, ${B400})`,\n dark: `var(--ds-text-selected, ${B400})`\n});\nexport const subtleText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const placeholderText = themed({\n light: `var(--ds-text-subtlest, ${N100})`,\n dark: `var(--ds-text-subtlest, ${DN200})`\n});\nexport const heading = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\nexport const subtleHeading = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n light: N20,\n dark: DN50\n});\nexport const link = themed({\n light: `var(--ds-link, ${B400})`,\n dark: `var(--ds-link, ${B100})`\n});\nexport const linkHover = themed({\n light: `var(--ds-link-pressed, ${B300})`,\n dark: `var(--ds-link-pressed, ${B200})`\n});\nexport const linkActive = themed({\n light: `var(--ds-link-pressed, ${B500})`,\n dark: `var(--ds-link-pressed, ${B100})`\n});\nexport const linkOutline = themed({\n light: `var(--ds-border-focused, ${B100})`,\n dark: `var(--ds-border-focused, ${B200})`\n});\nexport const primary = themed({\n light: `var(--ds-background-brand-bold, ${B400})`,\n dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n light: B400,\n dark: B100\n});\nexport const teal = themed({\n light: T300,\n dark: T200\n});\nexport const purple = themed({\n light: P300,\n dark: P100\n});\nexport const red = themed({\n light: R300,\n dark: R300\n});\nexport const yellow = themed({\n light: Y300,\n dark: Y300\n});\nexport const green = themed({\n light: G300,\n dark: G300\n});\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","function abort(event) {\n event.preventDefault();\n event.stopPropagation();\n}\n\nconst tabKeyCode = 9;\n\nfunction onKey(event) {\n // Allowing tab so that a user can move focus away\n if (event.keyCode === tabKeyCode) {\n return;\n }\n\n abort(event);\n}\n\nconst block = {\n onMouseDownCapture: abort,\n onMouseUpCapture: abort,\n // because we have tabIndex = -1 when disabled,\n // keyboard events can only occur when there is an overlay\n onKeyDownCapture: onKey,\n onKeyUpCapture: onKey,\n onTouchStartCapture: abort,\n onTouchEndCapture: abort,\n onPointerDownCapture: abort,\n onPointerUpCapture: abort,\n onClickCapture: abort,\n // Just smashing the existing onClick for good measure\n onClick: abort\n};\nconst doNotBlock = {};\nexport default function blockEvents({\n isInteractive\n}) {\n return isInteractive ? doNotBlock : block;\n}","import * as colors from '@atlaskit/theme/colors';\n// Hard coding the active rgba color value rather than using a helper to convert it\n// With helper it would be: hex2rgba(colors.B75, 0.6)\nconst fadedB75 = 'rgba(179, 212, 255, 0.6)';\nconst values = {\n // Default appearance\n background: {\n default: {\n default: {\n light: `var(--ds-background-neutral, ${colors.N20A})`,\n dark: `var(--ds-background-neutral, ${colors.DN70})`\n },\n hover: {\n light: `var(--ds-background-neutral-hovered, ${colors.N30A})`,\n dark: `var(--ds-background-neutral-hovered, ${colors.DN60})`\n },\n active: {\n light: `var(--ds-background-neutral-pressed, ${fadedB75})`,\n dark: `var(--ds-background-neutral-pressed, ${colors.B75})`\n },\n disabled: {\n light: `var(--ds-background-disabled, ${colors.N20A})`,\n dark: `var(--ds-background-disabled, ${colors.DN70})`\n },\n selected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.DN0})`\n },\n focusSelected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.DN0})`\n }\n },\n primary: {\n default: {\n light: `var(--ds-background-brand-bold, ${colors.B400})`,\n dark: `var(--ds-background-brand-bold, ${colors.B100})`\n },\n hover: {\n light: `var(--ds-background-brand-bold-hovered, ${colors.B300})`,\n dark: `var(--ds-background-brand-bold-hovered, ${colors.B75})`\n },\n active: {\n light: `var(--ds-background-brand-bold-pressed, ${colors.B500})`,\n dark: `var(--ds-background-brand-bold-pressed, ${colors.B200})`\n },\n disabled: {\n light: `var(--ds-background-disabled, ${colors.N20A})`,\n dark: `var(--ds-background-disabled, ${colors.DN70})`\n },\n selected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.DN0})`\n },\n focusSelected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.DN0})`\n }\n },\n warning: {\n default: {\n light: `var(--ds-background-warning-bold, ${colors.Y300})`,\n dark: `var(--ds-background-warning-bold, ${colors.Y300})`\n },\n hover: {\n light: `var(--ds-background-warning-bold-hovered, ${colors.Y200})`,\n dark: `var(--ds-background-warning-bold-hovered, ${colors.Y200})`\n },\n active: {\n light: `var(--ds-background-warning-bold-pressed, ${colors.Y400})`,\n dark: `var(--ds-background-warning-bold-pressed, ${colors.Y400})`\n },\n disabled: {\n light: `var(--ds-background-disabled, ${colors.N20A})`,\n dark: `var(--ds-background-disabled, ${colors.DN70})`\n },\n selected: {\n light: `var(--ds-background-selected, ${colors.Y400})`,\n dark: `var(--ds-background-selected, ${colors.Y400})`\n },\n focusSelected: {\n light: `var(--ds-background-selected, ${colors.Y400})`,\n dark: `var(--ds-background-selected, ${colors.Y400})`\n }\n },\n danger: {\n default: {\n light: `var(--ds-background-danger-bold, ${colors.R400})`,\n dark: `var(--ds-background-danger-bold, ${colors.R400})`\n },\n hover: {\n light: `var(--ds-background-danger-bold-hovered, ${colors.R300})`,\n dark: `var(--ds-background-danger-bold-hovered, ${colors.R300})`\n },\n active: {\n light: `var(--ds-background-danger-bold-pressed, ${colors.R500})`,\n dark: `var(--ds-background-danger-bold-pressed, ${colors.R500})`\n },\n disabled: {\n light: `var(--ds-background-disabled, ${colors.N20A})`,\n dark: `var(--ds-background-disabled, ${colors.DN70})`\n },\n selected: {\n light: `var(--ds-background-selected, ${colors.R500})`,\n dark: `var(--ds-background-selected, ${colors.R500})`\n },\n focusSelected: {\n light: `var(--ds-background-selected, ${colors.R500})`,\n dark: `var(--ds-background-selected, ${colors.R500})`\n }\n },\n link: {\n default: {\n light: 'none',\n dark: 'none'\n },\n selected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.N20})`\n },\n focusSelected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.N20})`\n }\n },\n subtle: {\n default: {\n light: 'none',\n dark: 'none'\n },\n hover: {\n light: `var(--ds-background-neutral-subtle-hovered, ${colors.N30A})`,\n dark: `var(--ds-background-neutral-subtle-hovered, ${colors.DN60})`\n },\n active: {\n light: `var(--ds-background-neutral-subtle-pressed, ${fadedB75})`,\n dark: `var(--ds-background-neutral-subtle-pressed, ${colors.B75})`\n },\n disabled: {\n light: 'none',\n dark: 'none'\n },\n selected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.DN0})`\n },\n focusSelected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.DN0})`\n }\n },\n 'subtle-link': {\n default: {\n light: 'none',\n dark: 'none'\n },\n selected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.N20})`\n },\n focusSelected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.N20})`\n }\n }\n },\n boxShadowColor: {\n default: {\n focus: {\n light: `var(--ds-border-focused, ${colors.B100})`,\n dark: `var(--ds-border-focused, ${colors.B75})`\n },\n focusSelected: {\n light: `var(--ds-border-focused, ${colors.B100})`,\n dark: `var(--ds-border-focused, ${colors.B75})`\n }\n },\n primary: {\n focus: {\n light: `var(--ds-border-focused, ${colors.B100})`,\n dark: `var(--ds-border-focused, ${colors.B75})`\n },\n focusSelected: {\n light: `var(--ds-border-focused, ${colors.B100})`,\n dark: `var(--ds-border-focused, ${colors.B75})`\n }\n },\n warning: {\n focus: {\n light: `var(--ds-border-focused, ${colors.Y500})`,\n dark: `var(--ds-border-focused, ${colors.Y500})`\n },\n focusSelected: {\n light: `var(--ds-border-focused, ${colors.Y500})`,\n dark: `var(--ds-border-focused, ${colors.Y500})`\n }\n },\n danger: {\n focus: {\n light: `var(--ds-border-focused, ${colors.R100})`,\n dark: `var(--ds-border-focused, ${colors.R100})`\n },\n focusSelected: {\n light: `var(--ds-border-focused, ${colors.R100})`,\n dark: `var(--ds-border-focused, ${colors.R100})`\n }\n },\n link: {\n focus: {\n light: `var(--ds-border-focused, ${colors.B100})`,\n dark: `var(--ds-border-focused, ${colors.B75})`\n },\n focusSelected: {\n light: `var(--ds-border-focused, ${colors.B100})`,\n dark: `var(--ds-border-focused, ${colors.B75})`\n }\n },\n subtle: {\n focus: {\n light: `var(--ds-border-focused, ${colors.B100})`,\n dark: `var(--ds-border-focused, ${colors.B75})`\n },\n focusSelected: {\n light: `var(--ds-border-focused, ${colors.B100})`,\n dark: `var(--ds-border-focused, ${colors.B75})`\n }\n },\n 'subtle-link': {\n focus: {\n light: `var(--ds-border-focused, ${colors.B100})`,\n dark: `var(--ds-border-focused, ${colors.B75})`\n },\n focusSelected: {\n light: `var(--ds-border-focused, ${colors.B100})`,\n dark: `var(--ds-border-focused, ${colors.B75})`\n }\n }\n },\n color: {\n default: {\n default: {\n light: `var(--ds-text, ${colors.N500})`,\n dark: `var(--ds-text, ${colors.DN400})`\n },\n active: {\n light: `var(--ds-text, ${colors.B400})`,\n dark: `var(--ds-text, ${colors.B400})`\n },\n disabled: {\n light: `var(--ds-text-disabled, ${colors.N70})`,\n dark: `var(--ds-text-disabled, ${colors.DN30})`\n },\n selected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n },\n focusSelected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n }\n },\n primary: {\n default: {\n light: `var(--ds-text-inverse, ${colors.N0})`,\n dark: `var(--ds-text-inverse, ${colors.DN30})`\n },\n disabled: {\n light: `var(--ds-text-disabled, ${colors.N70})`,\n dark: `var(--ds-text-disabled, ${colors.DN30})`\n },\n selected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n },\n focusSelected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n }\n },\n warning: {\n default: {\n light: `var(--ds-text-warning-inverse, ${colors.N800})`,\n dark: `var(--ds-text-warning-inverse, ${colors.N800})`\n },\n disabled: {\n light: `var(--ds-text-disabled, ${colors.N70})`,\n dark: `var(--ds-text-disabled, ${colors.DN30})`\n },\n selected: {\n light: `var(--ds-text-selected, ${colors.N800})`,\n dark: `var(--ds-text-selected, ${colors.N800})`\n },\n focusSelected: {\n light: `var(--ds-text-selected, ${colors.N800})`,\n dark: `var(--ds-text-selected, ${colors.N800})`\n }\n },\n danger: {\n default: {\n light: `var(--ds-text-inverse, ${colors.N0})`,\n dark: `var(--ds-text-inverse, ${colors.N0})`\n },\n disabled: {\n light: `var(--ds-text-disabled, ${colors.N70})`,\n dark: `var(--ds-text-disabled, ${colors.DN30})`\n },\n selected: {\n light: `var(--ds-text-selected, ${colors.N0})`,\n dark: `var(--ds-text-selected, ${colors.N0})`\n },\n focusSelected: {\n light: `var(--ds-text-selected, ${colors.N0})`,\n dark: `var(--ds-text-selected, ${colors.N0})`\n }\n },\n link: {\n default: {\n light: `var(--ds-link, ${colors.B400})`,\n dark: `var(--ds-link, ${colors.B100})`\n },\n hover: {\n light: `var(--ds-link, ${colors.B300})`,\n dark: `var(--ds-link, ${colors.B75})`\n },\n active: {\n light: `var(--ds-link-pressed, ${colors.B500})`,\n dark: `var(--ds-link-pressed, ${colors.B200})`\n },\n disabled: {\n light: `var(--ds-text-disabled, ${colors.N70})`,\n dark: `var(--ds-text-disabled, ${colors.DN100})`\n },\n selected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.N700})`\n },\n focusSelected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.N700})`\n }\n },\n subtle: {\n default: {\n light: `var(--ds-text, ${colors.N500})`,\n dark: `var(--ds-text, ${colors.DN400})`\n },\n active: {\n light: `var(--ds-text, ${colors.B400})`,\n dark: `var(--ds-text, ${colors.B400})`\n },\n disabled: {\n light: `var(--ds-text-disabled, ${colors.N70})`,\n dark: `var(--ds-text-disabled, ${colors.DN100})`\n },\n selected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n },\n focusSelected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n }\n },\n 'subtle-link': {\n default: {\n light: `var(--ds-text-subtle, ${colors.N200})`,\n dark: `var(--ds-text-subtle, ${colors.DN400})`\n },\n hover: {\n light: `var(--ds-text-subtle, ${colors.N90})`,\n dark: `var(--ds-text-subtle, ${colors.B50})`\n },\n active: {\n light: `var(--ds-text, ${colors.N400})`,\n dark: `var(--ds-text, ${colors.DN300})`\n },\n disabled: {\n light: `var(--ds-text-disabled, ${colors.N70})`,\n dark: `var(--ds-text-disabled, ${colors.DN100})`\n },\n selected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n },\n focusSelected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n }\n }\n }\n};\nexport default values;","import { borderRadius as getBorderRadius, fontSize as getFontSize, gridSize as getGridSize } from '@atlaskit/theme/constants';\nimport colors from './colors';\nconst borderRadius = getBorderRadius();\nconst gridSize = getGridSize();\nconst fontSize = getFontSize(); // ## Button layout\n//\n// /------------------------------------------------------------------------------------------------------------------\\\n// | → | ← | | → | ← | | → | ← | | → | ← |\n// | 10px → | ← 2px | icon | 2px → | ← 2px | | 2px → | ← 2px | icon | 2px → | ← 10px |\n// | padding | margin | before | margin | margin | content | margin | margin | after | margin | padding |\n// | (12px total) | | (4px total) | | (4px total) | | (12px total) |\n// | → | ← | | → | ← | | → | ← | | → | ← |\n// \\------------------------------------------------------------------------------------------------------------------/\n// ↑ ↑\n// Margins don't collapse with inline-flex\n//\n\nconst heights = {\n default: `${gridSize * 4 / fontSize}em`,\n // 32px\n compact: `${gridSize * 3 / fontSize}em`,\n none: 'auto'\n};\nconst lineHeights = {\n default: heights.default,\n compact: heights.compact,\n none: 'inherit'\n};\nconst padding = {\n // 10px gutter\n default: `0 ${gridSize + gridSize / 4}px`,\n compact: `0 ${gridSize + gridSize / 4}px`,\n none: '0'\n};\nconst singleIconPadding = {\n // 2px gutter\n compact: `0 ${gridSize / 4}px`,\n default: `0 ${gridSize / 4}px`,\n none: '0'\n};\nconst verticalAlign = {\n default: 'middle',\n compact: 'middle',\n none: 'baseline'\n};\nconst innerMargin = {\n content: `0 ${gridSize / 4}px`,\n icon: `0 ${gridSize / 4}px`\n};\n\nfunction getColor({\n group,\n key,\n mode\n}) {\n const rule = group[key] || group.default;\n return rule[mode];\n}\n\nfunction getColors({\n appearance,\n key,\n mode\n}) {\n return {\n background: getColor({\n group: colors.background[appearance],\n key,\n mode\n }),\n // Needing to add !important to overcome specificity issue caused by deprecated AtlaskitThemeProvider\n color: `${getColor({\n group: colors.color[appearance],\n key,\n mode\n })} !important`\n };\n}\n\nexport function getCss({\n appearance,\n spacing,\n mode,\n isSelected,\n shouldFitContainer,\n isOnlySingleIcon\n}) {\n const baseColors = getColors({\n appearance,\n key: isSelected ? 'selected' : 'default',\n mode\n });\n return {\n // 0px margin added to css-reset\n alignItems: 'baseline',\n borderWidth: 0,\n borderRadius,\n boxSizing: 'border-box',\n display: 'inline-flex',\n fontSize: 'inherit',\n fontStyle: 'normal',\n // Chrome recently changed button so that they use 'arial' as the font family\n fontFamily: 'inherit',\n fontWeight: 500,\n // margin for button has been applied to css reset\n maxWidth: '100%',\n // Needed to position overlay\n position: 'relative',\n textAlign: 'center',\n textDecoration: 'none',\n transition: 'background 0.1s ease-out, box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38)',\n whiteSpace: 'nowrap',\n // dynamic styles\n ...baseColors,\n cursor: 'pointer',\n height: heights[spacing],\n lineHeight: lineHeights[spacing],\n padding: isOnlySingleIcon ? singleIconPadding[spacing] : padding[spacing],\n verticalAlign: verticalAlign[spacing],\n width: shouldFitContainer ? '100%' : 'auto',\n // justifyContent required for shouldFitContainer buttons with an icon inside\n justifyContent: 'center',\n // Note: we cannot disable pointer events when there is an overlay.\n // That would be easy for styling, but it would start letting events through on disabled buttons\n // Disabling visited styles (just using the base colors)\n '&:visited': { ...baseColors\n },\n '&:hover': { ...getColors({\n appearance,\n key: isSelected ? 'selected' : 'hover',\n mode\n }),\n textDecoration: !isSelected && (appearance === 'link' || appearance === 'subtle-link') ? 'underline' : 'inherit',\n // background, box-shadow\n transitionDuration: '0s, 0.15s'\n },\n '&:focus': { ...getColors({\n appearance,\n key: isSelected ? 'focusSelected' : 'focus',\n mode\n }),\n boxShadow: `0 0 0 2px ${colors.boxShadowColor[appearance].focus[mode]}`,\n // background, box-shadow\n transitionDuration: '0s, 0.2s',\n // disabling browser focus outline\n outline: 'none'\n },\n // giving active styles preference by listing them after focus\n '&:active': { ...getColors({\n appearance,\n key: isSelected ? 'selected' : 'active',\n mode\n }),\n // background, box-shadow\n transitionDuration: '0s, 0s'\n },\n // preventDefault prevents regular active styles from applying in Firefox\n '&[data-firefox-is-active=\"true\"]': { ...getColors({\n appearance,\n key: isSelected ? 'selected' : 'active',\n mode\n }),\n // background, box-shadow\n transitionDuration: '0s, 0s'\n },\n // Giving disabled styles preference over active by listing them after.\n // Not using '&:disabled' because :disabled is not a valid state for all element types\n // so we are targeting the attribute\n // Attributes have the same specificity a pseudo classes so we are overriding :disabled here\n '&[disabled]': { // always using 'disabled' even when selected\n ...getColors({\n appearance,\n key: 'disabled',\n mode\n }),\n cursor: 'not-allowed',\n textDecoration: 'none'\n },\n '&[data-has-overlay=\"true\"]': {\n cursor: 'default',\n textDecoration: 'none'\n },\n // disabling hover and active color changes when there is an overlay, but the button is not disabled\n '&[data-has-overlay=\"true\"]:not([disabled]):hover, &[data-has-overlay=\"true\"]:not([disabled]):active': { ...getColors({\n appearance,\n key: isSelected ? 'selected' : 'default',\n mode\n })\n },\n '&::-moz-focus-inner': {\n border: 0,\n margin: 0,\n padding: 0\n }\n };\n} // inline-flex child\n\nexport function getIconStyle({\n spacing\n}) {\n return {\n alignSelf: 'center',\n display: 'flex',\n // icon size cannot grow and shrink\n flexGrow: 0,\n flexShrink: 0,\n lineHeight: 0,\n fontSize: 0,\n userSelect: 'none',\n margin: spacing === 'none' ? 0 : innerMargin.icon\n };\n} // inline-flex child\n\nexport function getContentStyle({\n spacing\n}) {\n return {\n margin: spacing === 'none' ? 0 : innerMargin.content,\n // content can grow and shrink\n flexGrow: 1,\n flexShrink: 1,\n // ellipsis for overflow text\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n };\n}\nexport function getFadingCss({\n hasOverlay\n}) {\n return {\n transition: 'opacity 0.3s',\n opacity: hasOverlay ? 0 : 1\n };\n}\nexport const overlayCss = {\n // stretching to full width / height of button\n // this is important as we need it to still block\n // event if clicking in the button's own padding\n position: 'absolute',\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n // Putting all children in the center\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center'\n};","import _extends from \"@babel/runtime/helpers/extends\";\n\n/** @jsx jsx */\nimport React, { useCallback, useEffect, useRef } from 'react';\nimport { jsx } from '@emotion/core';\nimport { usePlatformLeafEventHandler } from '@atlaskit/analytics-next';\nimport useAutoFocus from '@atlaskit/ds-lib/use-auto-focus';\nimport { N500 } from '@atlaskit/theme/colors';\nimport blockEvents from './block-events';\nimport { getContentStyle, getFadingCss, getIconStyle, overlayCss } from './css';\n\nfunction noop() {} // Disabled buttons will still publish events for nested elements in webkit.\n// We are disabling pointer events on child elements so that\n// the button will always be the target of events\n// Note: firefox does not have this behaviour for child elements\n\n\nconst noPointerEventsOnChildrenCss = {\n '> *': {\n pointerEvents: 'none'\n }\n};\nexport default /*#__PURE__*/React.forwardRef(function ButtonBase(props, ref) {\n const {\n appearance = 'default',\n buttonCss,\n spacing = 'default',\n autoFocus = false,\n isDisabled = false,\n shouldFitContainer = false,\n isSelected = false,\n iconBefore,\n iconAfter,\n children,\n className,\n href,\n overlay,\n tabIndex = 0,\n type = !href ? 'button' : undefined,\n onMouseDown: providedOnMouseDown = noop,\n onClick: providedOnClick = noop,\n // use the provided component prop,\n // else default to anchor if there is a href, and button if there is no href\n component: Component = href ? 'a' : 'button',\n testId,\n // I don't think this should be in button, but for now it is\n analyticsContext,\n ...rest\n } = props;\n const ourRef = useRef();\n const setRef = useCallback(node => {\n ourRef.current = node;\n\n if (ref == null) {\n return;\n }\n\n if (typeof ref === 'function') {\n ref(node);\n return;\n } // @ts-ignore\n\n\n ref.current = node;\n }, [ourRef, ref]); // Cross browser auto focusing is pretty broken, so we are doing it ourselves\n\n useAutoFocus(ourRef, autoFocus);\n const onClick = usePlatformLeafEventHandler({\n fn: providedOnClick,\n action: 'clicked',\n componentName: 'button',\n packageName: \"@atlaskit/button\",\n packageVersion: \"16.3.2\",\n analyticsData: analyticsContext\n }); // Button currently calls preventDefault, which is not standard button behaviour\n\n const onMouseDown = useCallback(event => {\n event.preventDefault();\n providedOnMouseDown(event);\n }, [providedOnMouseDown]); // Lose focus when becoming disabled (standard button behaviour)\n\n useEffect(() => {\n const el = ourRef.current;\n\n if (isDisabled && el && el === document.activeElement) {\n el.blur();\n }\n }, [isDisabled]); // we are 'disabling' input with a button when there is an overlay\n\n const hasOverlay = Boolean(overlay);\n const fadeCss = getFadingCss({\n hasOverlay\n });\n const isInteractive = !isDisabled && !hasOverlay;\n /** HACK: Spinner needs to have different colours in the \"new\" tokens design compared to the old design.\n * For now, while we support both, these styles reach into Spinner when a theme is set, applies the right color.\n * Ticket to remove: https://product-fabric.atlassian.net/browse/DSP-2067\n */\n\n var spinnerHackCss = {};\n\n if (isSelected || isDisabled || appearance === 'warning') {\n spinnerHackCss = {\n '[data-theme] & svg': {\n stroke: isSelected || isDisabled ? `var(--ds-text-subtle, ${N500})` : `var(--ds-text-warning-inverse, ${N500})`\n }\n };\n }\n\n return jsx(Component, _extends({}, rest, {\n css: [buttonCss, isInteractive ? null : noPointerEventsOnChildrenCss],\n className: className,\n ref: setRef,\n onClick: onClick,\n onMouseDown: onMouseDown,\n disabled: isDisabled,\n href: isInteractive ? href : undefined // using undefined so that the property doesn't exist when false\n ,\n \"data-has-overlay\": hasOverlay ? true : undefined,\n \"data-testid\": testId,\n type: type // Adding a tab index so element is always focusable, even when not a