{"version":3,"file":"static/js/chunk-mix1.dcbc484b.chunk.js","mappings":"gNAoCA,MA8CA,EA9CyB,EACvBA,OAAO,OACPC,QACAC,WACAC,aACAC,YAAW,EACXC,gBAAgB,OAUd,iBAAKC,UAAU,SAAf,WACE,gBAAKA,UAAU,oFAAf,UACE,gBACEA,UAAWC,IAAWF,GACtBG,IAAKP,EACLQ,IAAI,GACJC,MAAO,CAAEC,SAAU,OAAQC,UAAW,aAG1C,UAAC,IAAD,CAAaC,UAAQ,EAACP,UAAU,cAAhC,WACE,SAAC,KAAD,CACEN,KAAMA,EACNc,eApBUC,IAChBb,EAASa,EAAT,EAoBMT,UAAU,OACVU,SAAUZ,EACVD,WAAYA,EALd,UAME,SAAC,KAAD,CAAMc,KAAK,oBAGb,SAAC,IAAD,CACED,SAAUZ,EACVc,QAAQ,oBACRC,QA1BS,KACfjB,EAAS,GAAT,EAsBI,UAIE,SAAC,KAAD,CAAMe,KAAK,iB,yIC/CrB,MA4CA,EA5CyB,KAAO,IAAD,IAC7B,MAAM,EAAEG,IAAMC,EAAAA,EAAAA,GAAe,cAAe,CAAEC,UAAW,cACjDC,KAAMC,IAAgBC,EAAAA,EAAAA,MAC9B,OAAI,OAACD,QAAD,IAACA,GAAD,UAACA,EAAaE,YAAd,OAAC,EAAmBC,QAItB,UAAC,IAAD,YACE,SAAC,WAAD,CAAarB,UAAU,8BAAvB,SACGc,EAAE,oBAEL,SAAC,IAAD,CAAWF,QAAQ,QAAnB,gBACGM,QADH,IACGA,GADH,UACGA,EAAaE,YADhB,aACG,EAAmBE,KAAKC,IAErB,UAAC,IAAD,CAEEC,GAAIC,EAAAA,GACJC,GAAIC,EAAAA,EAAAA,gBAA4BJ,EAAGK,GAAIL,EAAGM,WAC1CC,QAAM,EAJR,WAKE,gBAAK9B,UAAU,YAAf,SAA4BuB,EAAGQ,QAC9BR,EAAGS,aAAe,GACjB,iBACEhC,UAAY,yCACVuB,EAAGU,mBAAqB,EACpB,eACA,kBAJR,UAMGV,EAAGU,oBAAsB,GACxB,SAAC,KAAD,CAAMtB,KAAK,uBAEX,SAAC,KAAD,CAAMA,KAAK,2BAEb,iBAAMX,UAAU,OAAhB,SACGc,EAAE,YAAa,CAAEoB,MAAOX,EAAGS,oBAG9B,OArBCT,EAAGK,WAXX,IAET,C,sECFF,MAmBA,EAnByB,EACvBlC,OAAO,KACPiB,OACAX,YACAmC,OACAtB,UACAkB,YAGE,cACE/B,UAAWC,IAAWP,EAAO,MAAKiB,IAAQX,GAC1CI,MAAO,IAAM+B,GAAQ,CAAEC,SAAUD,IACjCtB,QAASA,EACTwB,UAAWxB,EACXkB,MAAOA,G,kDCbb,QAVA,WACE,OACE,gBAAK/B,UAAU,4BAAf,UACE,gBAAKA,UAAU,6CAAf,UACE,gBAAKA,UAAU,yCAItB,C,iHCcD,MAAMsC,EAAmB,EACvBV,KAAK,GACLG,QAAQ,QACRQ,WAAU,EACVC,YAAW,EACXC,WACAC,WACAC,YACAC,aAAa,GACbC,cAAa,EACbC,mBAAmB,UACnBC,cAAc,GACdC,eAAc,EACdC,oBAAoB,OACpBC,sBAAqB,EACrBC,YAAY,GACZC,cAAa,EACbpD,YAAY,OAEZ,MAAM,EAAEc,IAAMC,EAAAA,EAAAA,KACd,OACE,UAACsC,EAAA,EAAD,CACEzB,GAAIA,EACJ5B,UAAWA,EACXoD,WAAYA,EACZE,KAAMf,EACNgB,OAAQd,EACRD,SAAUA,EACVgB,WAAW,UAPb,WAQE,SAACH,EAAA,SAAD,CAAcI,aAAW,EAAzB,UACE,SAACJ,EAAA,QAAD,CAAa7B,GAAG,KAAhB,SACGO,GAASjB,EAAE,QAAS,CAAEE,UAAW,uBAGtC,SAACqC,EAAA,OAAD,CAAYrD,UAAWmD,EAAvB,SAAmCT,KACjCG,GAAcG,KACd,UAACK,EAAA,SAAD,WACGR,IACC,SAACa,EAAA,EAAD,CAAQ9C,QAASkC,EAAkBjC,QAAS4B,EAA5C,SACkB,UAAfG,EACG9B,EAAE,cACF8B,GAAc9B,EAAE,iBAGvBkC,IACC,SAACU,EAAA,EAAD,CACE9C,QAASqC,EACTpC,QAAU8C,IACC,OAAThB,QAAS,IAATA,GAAAA,EAAYgB,EAAZ,EAEF/B,GAAG,YACHlB,SAAUwC,EANZ,SAOmB,OAAhBH,EACGjC,EAAE,WACFiC,GAAejC,EAAE,uBAlCjC,EA2CF,EAAe8C,EAAAA,KAAWtB,G,cCjF1B,MAAMuB,EAAMC,SAASC,cAAc,OAE7BC,EAAOC,EAAAA,WAAoBJ,GAgDjC,EA1Cc,EACZ9B,QAAQ,GACRgB,cAAc,GACdmB,UACAzB,SAAU0B,EACVxB,YACAG,mBAAmB,OACnBG,oBAAoB,aACjBmB,MAEH,MAAM3B,EAAW,KACQ,oBAAZ0B,GACTA,IAEFE,EAAO,CAAE9B,SAAS,IAClBsB,EAAIS,QAAJ,EAEIC,EAAQC,IACa,oBAAd7B,GACTA,EAAU6B,GAEZ/B,GAAU,EAEZ,SAAS4B,GAAO,QAAE9B,IAChByB,EAAKK,QACH,SAAC,EAAD,CACE9B,QAASA,EACTR,MAAOA,EACPS,UAAU,EACVC,SAAUA,EACVE,UAAW4B,EACXxB,YAAaA,EACbD,iBAAkBA,EAClBG,kBAAmBA,KACfmB,EATN,UAUE,cAAGK,wBAAyB,CAAEC,OAAQR,OAG3C,CACDG,EAAO,CAAE9B,SAAS,GAAlB,E,+CCxCF,MA6CA,EA7CgC,EAAGA,WAAU,MAC3C,MAAM,EAAEzB,IAAMC,EAAAA,EAAAA,GAAe,cAAe,CAAEC,UAAW,WACjD2D,OAAQC,IAAgBC,EAAAA,EAAAA,OAC1B,SAAEC,IAAaC,EAAAA,EAAAA,KAAeC,GAAMA,IACpCC,EAAa,KACjBL,EAAY,CAAEtB,MAAM,GAApB,EAEI4B,EAAaC,IACjBA,EAAIC,kBACJC,EAAAA,GAAAA,uBACAJ,GAAY,EAEd,OACE,UAAC5B,EAAA,EAAD,CACEC,KAAMf,EACNgB,OAAQ0B,EACRzC,UAAQ,EACRxC,UAAU,uBACVwD,WAAW,UALb,WAME,SAACH,EAAA,SAAD,CAAcI,aAAW,EAAzB,UACE,SAACJ,EAAA,QAAD,CAAa7B,GAAG,KAAhB,SAAsBV,EAAE,0BAE1B,UAACuC,EAAA,OAAD,CAAYrD,UAAU,MAAtB,WACE,iBAAKA,UAAU,8DAAf,WACE,SAAC,KAAD,CAAcA,UAAU,UACxB,uBAAI8E,EAASQ,kBAEf,iBAAKtF,UAAU,eAAf,WACE,SAAC,KAAD,CACE0B,GAAG,eACH1B,UAAU,kBACVa,QAASqE,EAHX,SAIGpE,EAAE,QAAS,CAAEE,UAAW,YAE3B,SAAC,KAAD,CACEU,GAAG,kBACH1B,UAAU,eACVa,QAASqE,EAHX,SAIGpE,EAAE,SAAU,CAAEE,UAAW,mBA1BpC,E,oECRF,IAAIuE,EACAC,EACAC,EACJ,MA0HA,EA1HwC,EAAGC,QAAOnD,cAAe,IAAD,EAC9D,MAAM,EAAEzB,IAAMC,EAAAA,EAAAA,GAAe,cAAe,CAAEC,UAAW,kBACnD,KAAE2E,IAASC,EAAAA,EAAAA,MACXC,GAAWC,EAAAA,EAAAA,OACX,KAAE7E,EAAF,OAAQ8E,IAAWC,EAAAA,EAAAA,MAEnBC,EAASC,UAAa,IAAD,IACpBjF,UACCkF,EAAAA,EAAAA,IAAgB,OAACT,QAAD,IAACA,OAAD,EAACA,EAAOU,uBACxBL,EAAO,IACR9E,EACHoF,YAAa,OAEfC,aAAab,GACV,QAAH,EAAAF,SAAA,SAAKgB,UACF,QAAH,EAAAf,SAAA,SAAKe,UAAL,EAYIC,EAAgB,KACpB,MAAMC,EAAW,IAEXC,EAAS5C,SAAS6C,iBAAmB7C,SAAS8C,KAC9CC,EAAiB/C,SAASgD,eAAe,cACzCC,EAAU,OAAGF,QAAH,IAAGA,OAAH,EAAGA,EAAgBE,WAErB,OAAdF,QAAc,IAAdA,GAAAA,EAAgBG,aAAa,QAAS,cAElCD,IACFxB,EAAM,IAAI0B,EAAAA,EAAY,CACpBC,IAAKH,EACLI,MAAOT,EAAOU,YACdC,OAAQX,EAAOY,aACfjG,OAZW,IAaXkG,SAAUd,EACVe,QAAQ,IAGV/B,EAAUgC,YAAW,KACnBjC,EAAM,IAAIyB,EAAAA,EAAY,CACpBC,IAAKH,EACLI,MAAOO,OAAOC,WACdN,OAAQK,OAAOE,YACfvG,OAtBS,IAuBTkG,SAAUd,GALZ,GAOCA,KACJ,EAGGoB,EAAmB,KAAO,IAAD,IAC7BvB,aAAab,GACV,QAAH,EAAAF,SAAA,SAAKgB,UACF,QAAH,EAAAf,SAAA,SAAKe,SAAL,EAyBF,OAtBAuB,EAAAA,EAAAA,YAAU,KACJvF,EACFiE,IAEAqB,IAGF,MAAME,EAAyB,KACI,YAA7BjE,SAASkE,gBACXxB,IAEAqB,GACD,EAIH,OAFA/D,SAASmE,iBAAiB,mBAAoBF,GAEvC,KACLjE,SAASoE,oBAAoB,mBAAoBH,GACjDF,GAAkB,CAFpB,GAIC,CAACtF,KAGF,SAAC,EAAD,CACEX,GAAG,aACHG,MAAOjB,EAAE,SACTyB,QAASA,EACTE,SA1EiByD,gBACbD,GAAN,EA0EEtD,UAxEkBuD,gBACdD,IAEN,MAAMkC,EAAO,WAAD,OAAWzC,QAAX,IAAWA,OAAX,EAAWA,EAAO0C,qBAAqBzC,EAAK0C,WACxDxC,EAASsC,EAAT,EAqEEvF,WAAY9B,EAAE,SACdgC,iBAAiB,OACjBC,YAAajC,EAAE,WACfmC,kBAAkB,UAClBG,YAAY,EAVd,SAWGsC,IACC,iBAAK1F,UAAU,cAAf,UACG,UAAA0F,EAAM4C,YAAN,SAAYC,WAAW,SACtB,gBAAKrI,IAAKwF,EAAM4C,KAAMnB,MAAO,GAAIE,OAAQ,GAAIlH,IAAKuF,EAAM/E,QAExD,SAAC6H,EAAA,EAAD,CACE7H,KAAM+E,EAAM4C,KACZnG,KAAK,OACLnC,UAAWC,IACT,OACgB,IAAhByF,EAAM+C,OAAe,SACL,IAAhB/C,EAAM+C,OAAe,SACL,IAAhB/C,EAAM+C,OAAe,WAI3B,eAAIzI,UAAU,OAAd,gBAAsB0F,QAAtB,IAAsBA,OAAtB,EAAsBA,EAAO/E,QAC7B,uBAAIG,EAAE,iBA7Bd,ECpGIuC,EAAQqF,EAEdrF,EAAMsF,QAAU,SAAUvE,GACxB,OAAOuE,EAAQvE,EAChB,EAED,S,2HCMO,MAAMwE,EAA8C,CACzD,SACA,SACA,MACA,QACA,aACA,aA0HF,EAhHgC,EAC9BC,SACAC,QACA7H,OACA8H,YACAC,aAAY,MACP,IAAD,EACJ,MAAM,EAAElI,IAAMC,EAAAA,EAAAA,GAAe,cAAe,CAAEC,UAAW,cAClDiI,IAAmBC,EAAAA,EAAAA,OACpB,eAAEC,IAAmBC,EAAAA,EAAAA,IAAmBJ,GACxCK,EACJP,GAASG,EAAgBK,IAAI,UAAYV,EAAoB,GACzDW,EAAUC,OAAOP,EAAgBK,IAAI,UAAY,EAEjDpH,GAAY,OAAJjB,QAAI,IAAJA,OAAA,EAAAA,EAAMiB,QAAS,EACvBuH,EAAYV,GAAaH,EAE/B,OACE,4BACE,iBAAK5I,UAAU,gDAAf,WACE,eAAIA,UAAU,gCAAd,SACc,cAAX6I,EACG/H,EAAE,iBACFA,EAAE,cAAe,CAAEoB,aAEzB,SAAC,KAAD,CACEjB,KAAMwI,EACNC,YAAaL,EACbM,SAAqB,cAAXd,EAAyB,aAAe,GAClDe,cAAc,iBAGlB,SAAC,IAAD,CAAW5J,UAAU,YAArB,SACGmJ,GACC,SAAC,KAAD,IADa,OAGblI,QAHa,IAGbA,GAHa,UAGbA,EAAMG,YAHO,aAGb,EAAYE,KAAKC,IAEb,UAAC,SAAD,CAEEvB,UAAU,uDAFZ,WAGE,gBAAIA,UAAU,uBAAd,UACc,IAAXuB,EAAGsI,MACF,SAAC,KAAD,CACElJ,KAAK,WACLX,UAAU,OACV+B,MAAOjB,EAAE,SAAU,CAAEE,UAAW,YAGpC,UAAC,KAAD,CACEU,GAAIC,EAAAA,EAAAA,gBAA4BJ,EAAGK,GAAIL,EAAGM,WAC1C7B,UAAU,YAFZ,UAGGuB,EAAGQ,MACW,IAAdR,EAAGuI,OAAgB,KAAIhJ,EAAE,aAAe,UAG7C,iBAAKd,UAAU,2FAAf,WACE,iBAAKA,UAAU,gCAAf,WACE,SAAC,KAAD,CACEiB,KAAMM,EAAGwI,SACTC,YAAY,EACZhK,UAAU,SAJd,UAOE,SAAC,KAAD,CACEiK,KACe,WAAbZ,EAAwB9H,EAAG2I,YAAc3I,EAAG4I,WAE9CnK,UAAU,oCACVoK,OAEMtJ,EADS,WAAbuI,EACM9H,EAAG8I,eACH,eAIZ,SAAC,KAAD,CACEpJ,KAAM,CACJqJ,MAAO/I,EAAGgJ,WACVC,QAASjJ,EAAGS,aACZyI,MAAOlJ,EAAGmJ,YAEZC,WAAYpJ,EAAGU,oBAAsB,EACrCjC,UAAU,qBAGd,gBAAKA,UAAU,qBAAf,SACG4K,MAAMC,QAAQtJ,EAAGuJ,MACdvJ,EAAGuJ,KAAKxJ,KAAKyJ,IAET,SAAC,KAAD,CAAyB/K,UAAU,MAAMiB,KAAM8J,GAArCA,EAAIC,aAGlB,SAtDDzJ,EAAGK,QA6DjBM,GAAS,IAAM8G,IAAa,SAAC,KAAD,KAC7B,gBAAKhJ,UAAU,0CAAf,UACE,SAAC,KAAD,CACEiL,YAAa1B,EACb2B,UAAWhJ,EACXiJ,SA5FS,GA6FTxB,SAAqB,cAAXd,EAAyB,aAAe,SAzF1D,C,kKC9CF,MAIA,EAJyB,EAAG9G,QAAO/B,gBAC1B,SAACoL,EAAA,QAAD,CAAYpL,UAAWA,EAAvB,SAAmC+B,ICiD5C,EA3CyB,EACvBsJ,OACAC,YACA1L,WACA2L,aACAC,YACAC,WACA3L,YAAW,MAEX,MAAM4L,EAAcD,EAASH,GAe7B,OACE,SAACF,EAAA,SAAD,CACE,aAAYC,EACZ1K,KAAM2K,EACN3L,OAAkB,OAAX+L,QAAW,IAAXA,OAAA,EAAAA,EAAa/L,QAAS,GAC7BC,SAnBkBuF,IACpB,MAAM,KAAExE,EAAF,MAAQhB,GAAUwF,EAAIwG,cACtBC,EAAQ,IACTH,EACH,CAAC9K,GAAO,IACH8K,EAAS9K,GACZhB,QACAkM,WAAW,IAGS,oBAAbjM,GACTA,EAASgM,EACV,EAQClL,SAAUZ,EACV+L,UAAS,OAAEH,QAAF,IAAEA,OAAF,EAAEA,EAAaG,UAN1B,gBAOGN,QAPH,IAOGA,OAPH,EAOGA,EAAYjK,KAAI,CAACwK,EAAMC,KAEpB,mBAAQpM,MAAOqM,OAAOF,GAAtB,gBACGN,QADH,IACGA,OADH,EACGA,EAAYO,IADmBC,OAAOF,OAVjD,E,eCxBF,MAqDA,EArDyB,EACvBpM,OAAO,QACP4L,YACA1L,WACA2L,aACAC,YACAC,WACA3L,YAAW,MAEX,MAAM4L,EAAcD,EAASH,GAoB7B,OACE,SAACW,EAAA,EAAD,CAAOC,UAAU,aAAjB,gBACGX,QADH,IACGA,OADH,EACGA,EAAYjK,KAAI,CAACwK,EAAMC,KAAW,IAAD,EAChC,OACE,SAACX,EAAA,QAAD,CAEEe,QAAM,EACNzM,KAAMA,EACNiB,KAAM2K,EACN1J,GAAK,GAAE0J,KAAH,OAAgBE,QAAhB,IAAgBA,OAAhB,EAAgBA,EAAYO,KAChCK,MAAK,OAAEZ,QAAF,IAAEA,OAAF,EAAEA,EAAYO,GACnBM,SAAoB,OAAXX,QAAW,IAAXA,GAAA,UAAAA,EAAa/L,aAAb,eAAqBoM,MAAU,EACxCO,SAAQ,OAAEZ,QAAF,IAAEA,OAAF,EAAEA,EAAaa,SACvBC,aAAa,UACbX,UAAS,OAAEH,QAAF,IAAEA,OAAF,EAAEA,EAAaG,UACxBnL,SAAUZ,EACVF,SAAWuF,GAnCD,EAClBA,EACA4G,KAEA,MAAM,KAAEpL,EAAF,QAAQ0L,GAAYlH,EAAIwG,cAC9BJ,EAAWQ,GAASM,EAEpB,MAAMT,EAAQ,IACTH,EACH,CAAC9K,GAAO,IACH8K,EAAS9K,GACZhB,MAAO4L,EACPM,WAAW,IAGS,oBAAbjM,GACTA,EAASgM,EACV,EAkB0Ba,CAAYtH,EAAK4G,IAX/BC,OAAOF,GAFhB,KAHN,ECMF,EArCyB,EACvBR,YACA1L,WACAwM,QACAX,WACA3L,YAAW,MAEX,MAAM4L,EAAcD,EAASH,GAe7B,OACE,SAACF,EAAA,QAAD,CACEzK,KAAM2K,EACN5L,KAAK,SACL0M,MAAOA,EACPC,SAAoB,OAAXX,QAAW,IAAXA,OAAA,EAAAA,EAAa/L,QAAS,GAC/B2M,SAAQ,OAAEZ,QAAF,IAAEA,OAAF,EAAEA,EAAaa,SACvBC,aAAa,UACbX,UAAWH,EAAYG,UACvBnL,SAAUZ,EACVF,SAxBkBuF,IACpB,MAAM,KAAExE,EAAF,QAAQ0L,GAAYlH,EAAIwG,cACxBC,EAAQ,IACTH,EACH,CAAC9K,GAAO,IACH8K,EAAS9K,GACZhB,MAAO0M,EACPR,WAAW,IAGS,oBAAbjM,GACTA,EAASgM,EACV,GAEH,E,eC9BF,MAoBA,EApBwBxH,IAEpB,SAACgH,EAAA,SAAD,IAAiBhH,EAAjB,gBACGsI,EAAAA,QADH,IACGA,EAAAA,OADH,EACGA,EAAAA,EAAAA,KAAgBZ,IAEb,qBAAUM,MAAON,EAAKM,MAAtB,SACGN,EAAKa,QAAQrL,KAAKsL,IAEf,mBAAQjN,MAAOiN,EAAOjN,MAAtB,SACGiN,EAAOR,OADwBQ,EAAOjN,UAHbmM,EAAKM,WCkCjD,EAhCyB,EACvBd,YACA1L,WACA6L,WACA3L,YAAW,MAEX,MAAM4L,EAAcD,EAASH,GAe7B,OACE,SAAC,EAAD,CACE3L,OAAkB,OAAX+L,QAAW,IAAXA,OAAA,EAAAA,EAAa/L,QAAS,GAC7BkM,UAAS,OAAEH,QAAF,IAAEA,OAAF,EAAEA,EAAaG,UACxBlL,KAAM2K,EACN5K,SAAUZ,EACVF,SApBkBuF,IACpB,MAAM,KAAExE,EAAF,MAAQhB,GAAUwF,EAAIwG,cACtBC,EAAQ,IACTH,EACH,CAAC9K,GAAO,IACH8K,EAAS9K,GACZhB,QACAkM,WAAW,IAGS,oBAAbjM,GACTA,EAASgM,EACV,GAEH,E,eCfF,MAyCA,EAzCyB,EACvBlM,OAAO,SACPG,aAAa,GACbyL,YACA1L,WACA6L,WACA3L,YAAW,EACXC,gBAAgB,OAEhB,MAAM2L,EAAcD,EAASH,GAa7B,OACE,iCACE,SAACuB,EAAA,EAAD,CACEnN,KAAMA,EACNG,WAAYA,EACZF,MAAK,OAAE+L,QAAF,IAAEA,OAAF,EAAEA,EAAa/L,MACpBG,SAAUA,EACVF,SAAWD,GAnBI,EAACgB,EAAchB,KAClC,MAAMiM,EAAQ,IACTH,EACH,CAAC9K,GAAO,IACH8K,EAAS9K,GACZhB,UAGoB,oBAAbC,GACTA,EAASgM,EACV,EASwBkB,CAAaxB,EAAW3L,GAC7CI,cAAeA,KAEjB,SAACqL,EAAA,UAAD,CACEzK,KAAM2K,EACNtL,UAAU,SACV6L,UAAS,OAAEH,QAAF,IAAEA,OAAF,EAAEA,EAAaG,cAb9B,ECiBF,EAxCyB,EACvBkB,cAAc,GACdC,OAAO,EACPhN,YACAsL,YACA1L,WACA6L,WACA3L,YAAW,MAEX,MAAM4L,EAAcD,EAASH,GAgB7B,OACE,SAACF,EAAA,UAAD,CACE5J,GAAG,WACHb,KAAM2K,EACNyB,YAAaA,EACbpN,OAAkB,OAAX+L,QAAW,IAAXA,OAAA,EAAAA,EAAa/L,QAAS,GAC7BC,SArBkBuF,IACpB,MAAM,KAAExE,EAAF,MAAQhB,GAAUwF,EAAIwG,cACtBC,EAAQ,IACTH,EACH,CAAC9K,GAAO,IACH8K,EAAS9K,GACZhB,QACAkM,WAAW,IAGS,oBAAbjM,GACTA,EAASgM,EACV,EAUCC,UAAS,OAAEH,QAAF,IAAEA,OAAF,EAAEA,EAAaG,UACxBmB,KAAMA,EACNtM,SAAUZ,EACVE,UAAWiN,IAAWjN,IAV1B,ECUF,EAtCyB,EACvBN,OAAO,OACPqN,cAAc,GACdzB,YACA1L,WACA6L,WACA3L,YAAW,MAEX,MAAM4L,EAAcD,EAASH,GAgB7B,OACE,SAACF,EAAA,UAAD,CACEzK,KAAM2K,EACNyB,YAAaA,EACbrN,KAAMA,EACNC,OAAkB,OAAX+L,QAAW,IAAXA,OAAA,EAAAA,EAAa/L,QAAS,GAC7BC,SArBkBuF,IACpB,MAAM,KAAExE,EAAF,MAAQhB,GAAUwF,EAAIwG,cACtBC,EAAQ,IACTH,EACH,CAAC9K,GAAO,IACH8K,EAAS9K,GACZhB,QACAkM,WAAW,IAGS,oBAAbjM,GACTA,EAASgM,EACV,EAUClL,SAAUZ,EACV+L,UAAS,OAAEH,QAAF,IAAEA,OAAF,EAAEA,EAAaG,UACxBzL,MAAgB,UAATV,EAAmB,CAAEyH,MAAO,QAAS+F,KAAM,QAAW,CAAC,GATlE,E,qCCfF,MA+HA,EA/HyB,EACvB5B,YACAxJ,SACAqL,aAAa,SACbC,UACAC,OAAO,GACPvN,YAAW,EACXc,UAAU,UACVuB,OACAmL,WAAW,GACXC,UAAS,EACTC,gBACAzL,YACK,IAAD,EACJ,MAAM0L,GAAQC,EAAAA,EAAAA,OACP1E,EAAW2E,IAAcC,EAAAA,EAAAA,WAAS,GACnCC,EAAc,CAACC,EAAKpO,EAA6B,aAAe,IAAD,GAExD,KADH,OAAGoC,QAAH,IAAGA,GAAH,UAAGA,EAAQiM,mBAAX,aAAG,EAAqBC,uBACXF,GAGrBL,EAAMQ,OAAO,CACXH,MACAlN,QAASlB,GAFX,EAYIwO,EAAe,KACA,UAAff,EAMCrL,IAGL6L,GAAW,GACXQ,EAAAA,GAAAA,QACW,CACPC,OAAQtM,EAAOsM,OACfjG,IAAKrG,EAAOqG,IACZ1C,QAAS,IAEV4I,MAAMC,IACD,YAAaA,GACfT,EAAYS,EAAKC,QAAS,WAzBVD,KACtB,MAAME,EAAQ,OAAG1M,QAAH,IAAGA,OAAH,EAAGA,EAAQiM,YACzB,OAAIS,QAAJ,IAAIA,GAAAA,EAAUC,qBACZrB,EAAQsB,eACT,EAuBGC,EAAA,IAEDC,OAAOC,IACFA,GAAM,QAASA,GACjBhB,EAAYgB,EAAGf,IAAK,SACrB,IAEFgB,SAAQ,KACPnB,GAAW,EAAX,KA3B2B,oBAAlBH,GACTA,GAQJ,GAqBF1F,EAAAA,EAAAA,YAAU,KAAO,IAAD,EACiB,aAArB,OAANhG,QAAM,IAANA,GAAA,UAAAA,EAAQiN,eAAR,eAAiBnD,QACnB+B,GAAW,EACZ,GACA,IACH,MAAMqB,GAAoB,OAANlN,QAAM,IAANA,GAAA,UAAAA,EAAQiN,eAAR,eAAiB1B,OAAQA,EACvC3M,EAAWsI,GAAalJ,EAC9B,OAAIyN,GAEA,UAAC7J,EAAA,EAAD,CACE/C,KAAM2K,EACNzK,QAASqN,EACTxN,SAAUA,EACVyB,KAAMA,EACNJ,MAAOA,EACPnB,QAASA,EANX,UAOGoI,GACC,iCACE,SAACiG,EAAA,EAAD,CACEjP,UAAU,oBACVkP,UAAU,SACV/M,KAAK,KACLvB,QAASA,IAEVoO,KAGH3B,EAEDC,IAAY,SAAC,KAAD,CAAM3M,KAAM2M,QAM7B,gBAAKtN,UAAU,SAAf,UACE,UAAC0D,EAAA,EAAD,CACE/C,KAAM2K,EACNzK,QAASqN,EACTxN,SAAUA,EACVyB,KAAMA,EACNJ,MAAOA,EACPnB,QAASA,EANX,UAOGoI,GACC,iCACE,SAACiG,EAAA,EAAD,CACEjP,UAAU,oBACVkP,UAAU,SACV/M,KAAK,KACLvB,QAASA,IAEVoO,KAGH3B,EAEDC,IAAY,SAAC,KAAD,CAAM3M,KAAM2M,QAtB/B,E,eC1GF,MAAM6B,EAAgB,EACpBC,qBACAC,YAQE,SAAC,EAAD,CACE/D,UAAU,IACV+B,KAAMrB,OAAM,OAACqD,QAAD,IAACA,OAAD,EAACA,EAAOhC,MACpBC,SAAe,OAAL+B,QAAK,IAALA,GAAAA,EAAO/B,SAAP,OAAkB+B,QAAlB,IAAkBA,OAAlB,EAAkBA,EAAO/B,SAAW,GAC9CxL,OAAa,OAALuN,QAAK,IAALA,GAAAA,EAAOvN,OAAP,OAAgBuN,QAAhB,IAAgBA,OAAhB,EAAgBA,EAAOvN,YAASwN,EACxCnC,WAAW,QACXK,cAAoB,OAAL6B,QAAK,IAALA,GAAAA,EAAO7B,cAAP,OAAuB6B,QAAvB,IAAuBA,OAAvB,EAAuBA,EAAO7B,mBAAgB8B,EAC7DlC,QAASgC,EACTxO,QAAc,OAALyO,QAAK,IAALA,GAAAA,EAAOzO,QAAUyO,EAAMzO,aAAU0O,EAC1CnN,KAAW,OAALkN,QAAK,IAALA,GAAAA,EAAOlN,KAAP,OAAckN,QAAd,IAAcA,OAAd,EAAcA,EAAOlN,UAAOmN,EAClCvN,MAAY,OAALsN,QAAK,IAALA,GAAAA,EAAOtN,MAAP,OAAesN,QAAf,IAAeA,OAAf,EAAeA,EAAOtN,MAAQ,GACrCwL,QAAM,EACNzN,UAAU,IAiChB,EA5ByB,EACvBsP,qBACAC,QACAE,aAAa,KACbC,aAAa,KACb9M,eAGE,UAAC+M,EAAA,EAAD,WACGF,IAAc,SAACE,EAAA,OAAD,UAAkBF,IAChCF,GAAS,qBAAsBA,IAC9B,SAACF,EAAD,CACEE,MAAOA,EAAMK,iBACbN,mBAAoBA,IAGvB1M,EACA2M,GAAS,qBAAsBA,IAC9B,SAACF,EAAD,CACEE,MAAOA,EAAMM,iBACbP,mBAAoBA,IAGvBI,GAAa,SAACC,EAAA,OAAD,UAAkBD,IAAgC,QCRhEI,EAA2D,EAE7DC,SACAC,WAAW,CAAC,EACZpB,gBACAjD,WACA7L,WACAmQ,WACAC,gBAAe,GAEjBC,KAEA,MAAM,EAAEnP,IAAMC,EAAAA,EAAAA,GAAe,cAAe,CAC1CC,UAAW,UAEP,SAAEkP,EAAW,GAAb,WAAiBC,EAAa,CAAC,GAAMN,GAAU,CAAC,EAEhDO,EAAWF,EAASG,QAAQC,IAASH,EAAWG,KAClDF,EAAS/O,OAAS,GACpBkP,QAAQC,MAAM1P,EAAE,kBAAmB,CAAEwP,IAAKF,EAASK,KAAK,SAE1DhF,IAAa,CAAC,EACd,MAAMiF,EAAOC,OAAOD,KAAKP,IAsBzBrI,EAAAA,EAAAA,YAAU,KAhBR4I,EAAKE,SAASC,IAAO,IAAD,MAClB,MAAMC,EAAQ,UAAGrF,EAAUoF,UAAb,aAAG,EAAclR,MACzBoR,EAAWZ,EAAWU,GACtBG,EAAM,UAAGlB,EAASe,UAAZ,aAAG,EAAc,aAIiC,IAAD,EAHxDE,GAAaC,QAAuB1B,IAAbwB,GAGb,WAAXE,QAA8C1B,KAAvB,UAAAyB,EAASE,YAAT,eAAgB,MACzCxF,EAAUoF,GAAK,CACbtE,SAAU,GACVV,WAAW,EACXlM,MAAK,UAAEoR,EAASE,YAAX,aAAE,EAAgB,IAE1B,GAI4B,GAC9B,CAACxF,IAEJ,MAAM2D,EAA8B,CAClCV,gBAC+B,oBAAlBA,GACTA,GAEH,GA2DGwC,EAAYhL,UAChB,MAAMiL,EArDkB,MACxB,MAAMA,EAAmB,GAMzB,OALAjB,EAASU,SAASN,IACX7E,EAAU6E,IAAS7E,EAAU6E,GAAK3Q,OACrCwR,EAAOC,KAAKd,EACb,IAEIa,CAAP,EA8CeE,GACf,GAAIF,EAAO9P,OAAS,EAelB,OAdAoK,EAAW0F,EAAOG,QAAO,CAACC,EAAKC,KAAS,IAAD,MAQrC,OAPAD,EAAIC,GAAO,IACN/F,EAAU+F,GACb3F,WAAW,EACXU,UACE,UAAAuD,EAAS0B,UAAT,mBAAgB,qBAAhB,eAA+BC,QAC9B,GAAD,UAAGtB,EAAWqB,UAAd,aAAG,EAAiBzP,SAASjB,EAAE,YAE5ByQ,CAAP,GACC9F,GAAY,CAAC,GACZ7L,aAAoB8R,UACtB9R,EAAS,IAAK6L,KAEhBkG,EAAAA,EAAAA,IAAsB7N,SAASgD,eAAeqK,EAAO,MAC9C,EAET,MAAMS,OA7Dc,MACpB,MAAMT,EAA8C,GAC9CU,EAGD,GAWL,OAVAnB,EAAKE,SAASN,IAAS,IAAD,EACpB,MAAM,UAAEY,IAAc,UAAApB,EAASQ,UAAT,eAAgB,gBAAiB,CAAC,EACxD,GAAIY,aAAqBQ,SAAU,CAAC,IAAD,EACjC,MAAM/R,EAAK,UAAG8L,EAAU6E,UAAb,aAAG,EAAgB3Q,MAC9BkS,EAAST,KAAK,CACZd,MACAwB,QAASZ,EAAUvR,EAAO8L,IAE7B,KAEIsG,QAAQC,WAAWH,EAASvQ,KAAKwK,GAASA,EAAKgG,WAAUzD,MAC7D4D,IACCA,EAAQrB,SAAQ,CAACsB,EAAQnG,KACvB,MAAM,IAAEuE,GAAQuB,EAAS9F,GAQzB,GAPsB,aAAlBmG,EAAOpI,QACTqH,EAAOC,KAAK,CACVd,MACAxC,IAAKoE,EAAOC,OAAO5D,UAID,cAAlB2D,EAAOpI,OAAwB,CACjC,MAAMgE,EAAMoE,EAAOvS,MACA,kBAARmO,GACTqD,EAAOC,KAAK,CACVd,MACAxC,OAGL,KAEIqD,IArBX,EA6CyBiB,GACzB,QAAIR,EAAWvQ,OAAS,KACtBoK,EAAWmG,EAAWN,QAAO,CAACC,EAAKC,KACjCD,EAAIC,EAAIlB,KAAO,IACV7E,EAAU+F,EAAIlB,KACjBzE,WAAW,EACXU,SAAUiF,EAAI1D,KAAQ,GAAEqC,EAAWqB,EAAIlB,KAAKvO,SAASjB,EAAE,cAElDyQ,IACN9F,GAAY,CAAC,GACZ7L,aAAoB8R,UACtB9R,EAAS,IAAK6L,KAEhBkG,EAAAA,EAAAA,IAAsB7N,SAASgD,eAAe8K,EAAW,GAAGtB,OACrD,EAET,EAyBF,OAHA+B,EAAAA,EAAAA,qBAAoBpC,GAAK,MACvBiB,gBAEGzF,GAAaoE,IAAUyC,IAAQzC,EAAOM,aAKzC,UAAC/E,EAAA,EAAD,CAAMmH,YAAU,EAACxC,SA3BE7J,UACnB1B,EAAEgO,uBACoBtB,MAKtBP,OAAOD,KAAKjF,GAAWmF,SAASN,IAC9B7E,EAAU6E,GAAKzE,WAAY,EAC3BJ,EAAU6E,GAAK/D,SAAW,EAA1B,IAEE3M,aAAoB8R,UACtB9R,EAAS6L,GAEPsE,aAAoB2B,UACtB3B,EAASvL,GACV,EAWD,UACGkM,EAAKpP,KAAKgP,IACT,MAAM,MACJvO,EADI,YAEJuD,EACA2L,KAAM1F,EAAa,GAHf,UAIJC,EAAY,IACV2E,EAAWG,IACP,YAAamC,EAAS,QAAS,aAAcpD,IAC3C,OAARS,QAAQ,IAARA,OAAA,EAAAA,EAAWQ,KAAQ,CAAC,EACtB7E,IAAa,CAAC,EACd,MAAMiH,EAAajH,EAAS6E,GAC5B,OAAIjB,QAAJ,IAAIA,GAAAA,EAAOsD,aACTtD,EAAMrP,UAAYqP,EAAMsD,YAG1B,MAAMC,EAAwB,WAAXH,IAAA,OAAuBpD,QAAvB,IAAuBA,OAAvB,EAAuBA,EAAOwD,UACjD,IAAIC,EAAyD,OAALzD,QAAK,IAALA,GAAAA,EAAOwD,SAC3D,OACA,OACW,WAAXJ,IACFK,EAAiB,QAEnB,OAAIzD,QAAJ,IAAIA,GAAAA,EAAO0D,mBACTD,EAAiBzD,EAAM0D,kBAGzB,MAAMjT,GAAgB,OAALuP,QAAK,IAALA,OAAA,EAAAA,EAAOvP,YAAY,EAEpC,OACE,UAACsL,EAAA,QAAD,CAEE4H,UAAW1C,EACXtQ,UAAWiN,IACT6F,EACArH,EAAS6E,GAAK2C,OAAS,SAAW,MALtC,UAQGlR,IAAU6Q,GAAa,SAACxH,EAAA,QAAD,UAAarJ,IAAsB,KAE/C,WAAX0Q,GACC,SAACS,EAAD,CAAQnR,MAAOA,EAAO/B,UAAWgM,OAAM,OAACqD,QAAD,IAACA,OAAD,EAACA,EAAOrP,aAC7C,KACQ,WAAXyS,GACC,SAACU,EAAD,CACE9H,KAAM/F,EACNgG,UAAWgF,EACX1Q,SAAUA,EACV2L,WAAYA,EACZC,UAAWA,EACXC,SAAUA,EACV3L,SAAUA,IAEV,KACQ,UAAX2S,GAAiC,aAAXA,GACrB,SAACW,EAAD,CACE1T,KAAM+S,EACNnH,UAAWgF,EACX1Q,SAAUA,EACV2L,WAAYA,EACZC,UAAWA,EACXC,SAAUA,EACV3L,SAAUA,IAEV,KACQ,WAAX2S,GACC,SAACY,EAAD,CACEjH,MAAOiD,GAAS,UAAWA,EAAQA,EAAMjD,MAAQ,GACjDd,UAAWgF,EACX1Q,SAAUA,EACV6L,SAAUA,EACV3L,SAAUA,IAEV,KACQ,aAAX2S,GACC,SAACa,EAAD,CACEhI,UAAWgF,EACX1Q,SAAUA,EACV6L,SAAUA,EACV3L,SAAUA,IAEV,KACQ,WAAX2S,GACC,SAACc,EAAD,CACE7T,KACE2P,GAAS,cAAeA,EAAQA,EAAMmE,eAAYlE,EAEpDzP,WACEwP,GAAS,eAAgBA,EAAQA,EAAMxP,WAAa,GAEtDyL,UAAWgF,EACX1Q,SAAUA,EACV6L,SAAUA,EACV3L,SAAUA,EACVC,cACEsP,GAAS,cAAeA,EAAQA,EAAMrP,UAAY,KAGpD,KACQ,aAAXyS,GACC,SAACgB,EAAD,CACE1G,YACEsC,GAAS,gBAAiBA,EAAQA,EAAMtC,YAAc,GAExDC,KAAMqC,GAAS,SAAUA,EAAQA,EAAMrC,KAAO,EAC9ChN,UAAWqP,GAAS,cAAeA,EAAQA,EAAMrP,UAAY,GAC7DsL,UAAWgF,EACX1Q,SAAUA,EACV6L,SAAUA,EACV3L,SAAUA,IAEV,KACQ,UAAX2S,GACC,SAACiB,EAAD,CACEhU,KAAM2P,GAAS,cAAeA,EAAQA,EAAMsE,UAAY,OACxD5G,YACEsC,GAAS,gBAAiBA,EAAQA,EAAMtC,YAAc,GAExDzB,UAAWgF,EACX1Q,SAAUA,EACV6L,SAAUA,EACV3L,SAAUA,IAEV,KACQ,WAAX2S,GACC,SAAC,EAAD,CACEnH,UAAWgF,EACXjD,KAAMgC,GAAS,SAAUA,EAAQA,EAAMhC,KAAO,GAC9CvL,OAAQuN,GAAS,WAAYA,EAAQA,EAAMvN,YAASwN,EACpDlC,QAASgC,EACTtP,SAAUA,EACVc,QACEyO,GAAS,YAAaA,EAAQA,EAAMzO,aAAU0O,EAEhDnN,KAAMkN,GAAS,SAAUA,EAAQA,EAAMlN,UAAOmN,EAC9CvN,MAAOsN,GAAS,UAAWA,EAApB,OAA4BA,QAA5B,IAA4BA,OAA5B,EAA4BA,EAAOtN,MAAQ,KAElD,KACQ,gBAAX0Q,GACC,SAAC,EAAD,CACErD,mBAAoBA,EACpBC,MAAOA,EACPE,WACGF,GAAS,eAAgBA,GAASA,EAAME,YAAe,GAE1DC,WACGH,GAAS,eAAgBA,GAASA,EAAMG,YAAe,GAP5D,UASE,SAACkE,EAAD,CACEhU,KACE2P,GAAS,cAAeA,EAAQA,EAAMsE,UAAY,OAEpD5G,YACEsC,GAAS,gBAAiBA,EAAQA,EAAMtC,YAAc,GAExDzB,UAAWgF,EACX1Q,SAAUA,EACV6L,SAAUA,EACV3L,SAAUA,MAGZ,MAEJ,SAACsL,EAAA,mBAAD,CAAuB1L,KAAK,UAA5B,gBACGgT,QADH,IACGA,OADH,EACGA,EAAYnG,WAEdjH,GACC,SAAC8F,EAAA,OAAD,CAAW3G,wBAAyB,CAAEC,OAAQY,KAC5C,OAzIE,GAAEvD,KAASuO,IAFrB,KA+IAN,IACA,SAACtM,EAAA,EAAD,CAAQ9C,QAAQ,UAAUlB,KAAK,SAA/B,SACGoB,EAAE,mBAlLF,IAGT,EAsLW8S,EAAgB/D,IAC3B,MAAMpE,EAA8B,CAAC,EAC/BrH,GAAwC,OAANyL,QAAM,IAANA,OAAA,EAAAA,EAAQM,aAAc,CAAC,EAgB/D,OAfAQ,OAAOD,KAAKtM,GAAOwM,SAASN,IAC1B,MAAMuD,EAAOzP,EAAMkM,GACnB,IAAIwD,EAAkB,GAGpBA,EAFElJ,MAAMC,QAAQgJ,EAAKE,UAAYF,EAAK5C,MAAQ4C,EAAK5C,KAAK5P,OAAS,EAEpDwS,EAAK5C,KAER,OAAG4C,QAAH,IAAGA,OAAH,EAAGA,EAAME,QAErBtI,EAAS6E,GAAO,CACd3Q,MAAOmU,EACPjI,WAAW,EACXU,SAAU,GAHZ,IAMKd,CAAP,EAGWuI,EAAgB,CAC3BC,EACAC,IAEKD,EAGAC,GAGLvD,OAAOD,KAAKuD,GAAQrD,SAASC,IAC3B,MAAMsD,EAAKD,EAAOrD,GACdsD,QAAmB7E,IAAb6E,EAAGxU,QACXsU,EAAOpD,GAAK,CACVlR,MAAOwU,EAAGxU,MACVkM,WAAW,EACXU,SAAU,IAEb,IAEI0H,GAZEA,EAHAC,EAkBX,GAAeE,EAAAA,EAAAA,YAAWxE,E,+hBC3b1B,MAAMtN,EAAoB,EACxB+R,SACAlS,OACAnC,YACAsU,YAAY,GACZnU,UAEA,IAAIgI,EAAM,GACY,kBAAXkM,EACLA,EAAOhT,OAAS,IAClB8G,EAAO,GAAEkM,KAAUC,IACX,OAAND,QAAM,IAANA,GAAAA,EAAQE,SAAS,YAAc,eAAiB,MAG1B,cAAX,OAANF,QAAM,IAANA,OAAA,EAAAA,EAAQ3U,OAAuB2U,EAAOG,SAC/CrM,EAAO,GAAEkM,EAAOG,YAAYF,gBACF,YAAX,OAAND,QAAM,IAANA,OAAA,EAAAA,EAAQ3U,OAAqB2U,EAAOI,SAC7CtM,EAAO,GAAEkM,EAAOI,UAAUH,KAG5B,MAAMI,EACJ1U,IAA+C,IAAlCA,EAAU2U,QAAQ,WAAoB,GAAK,UAE1D,OACE,+BAEE,gBACEzU,IAAKiI,GAAOyM,EAAAA,EACZzN,MAAOhF,EACPkF,OAAQlF,EACRnC,UAAWC,IAAWyU,EAAY1U,GAClCG,IAAKA,KARX,EAcF,GAAe0U,EAAAA,EAAAA,MAAKvS,G,eChCpB,MAyEA,EAzEyB,EACvB0I,YACAtL,OACAgD,WAAW,KACX1C,eACGoE,MAEH,MAAM0Q,EAAwB,GAuB9B,GAtBgBC,EAAAA,GAAAA,aAAuB1E,QAAQ2E,GAAWA,EAAOC,YAEzDrE,SAASoE,IACXtV,GAAQsL,EACNgK,EAAOE,KAAKlK,YAAcA,GAAagK,EAAOE,KAAKxV,OAASA,GAC9DoV,EAAY1D,KAAK4D,GAEVtV,EACLsV,EAAOE,KAAKxV,OAASA,GACvBoV,EAAY1D,KAAK4D,GAEVhK,GACLgK,EAAOE,KAAKlK,YAAcA,GAC5B8J,EAAY1D,KAAK4D,EAEpB,IAOwB,IAAvBF,EAAYzT,OACd,MAAa,WAAT3B,GACK,gBAAKM,UAAWA,EAAhB,SAA4B0C,IAE9B,KAGT,GAAa,WAAThD,EAAmB,CACrB,MAAMyV,EAAQvR,EAAAA,SAAAA,IAAmBlB,GAAU,CAAC0S,EAAOrJ,IACnC,KAAVA,GAEA,gCACGqJ,EACAN,EAAYxT,KAAK+T,IAChB,MAAMC,EAAWD,EAAGE,UACpB,OAEE,SAACD,EAAD,IAAsClR,GAAvBiR,EAAGH,KAAKlK,UAFzB,KAKF,gBAAKhL,UAAU,uBAIdoV,IAGT,OAAO,gBAAKpV,UAAWA,EAAhB,SAA4BmV,GACpC,CAED,OACE,8BACGL,EAAYxT,KAAK+T,IAChB,MAAMC,EAAWD,EAAGE,UACpB,OAEE,SAACD,EAAD,CAAkCtV,UAAWA,KAAeoE,GAA7CiR,EAAGH,KAAKlK,UAFzB,KAJN,E,qCC7EK,MAAMwK,EAAgB5R,EAAAA,cAA0C,CAAC,GCmHxE,EA3F8BQ,IAC5B,MAAMqR,GAASC,EAAAA,EAAAA,YAAWF,IAEpB,MACJpJ,EADI,IAEJuJ,EAFI,QAGJC,GAAU,EAHN,OAIJC,EAJI,OAKJC,EALI,QAMJjV,EANI,UAOJb,EAPI,GAQJwB,EARI,SASJkB,EATI,OAUJqT,GACE3R,GAEJ0D,EAAAA,EAAAA,YAAU,KACH2N,GAGAK,GAILA,EAAOlF,SAASN,IACR,OAANmF,QAAM,IAANA,GAAAA,EAAQO,UAAU,CAChB,CAAC1F,GAAM,KACE,OAAPzP,QAAO,IAAPA,GAAAA,EAAU,CACR4U,SACAQ,SAAQ,OAAER,QAAF,IAAEA,OAAF,EAAEA,EAAQQ,SAClBC,aAAY,OAAET,QAAF,IAAEA,OAAF,EAAEA,EAAQS,aACtBC,YAAW,OAAEV,QAAF,IAAEA,OAAF,EAAEA,EAAQU,aAJvB,GAFJ,GADF,GAYC,CAACV,IAEJ,MAAMW,EAAY,KAChB,SAAC1S,EAAA,EAAD,CACE9C,QAAQ,OACRmB,MAAO4T,EACP3V,UAAY,4CACV4V,EAAU,WAAa,IAEzBlV,SAAUkV,EACVS,UAAW,EACXxV,QAAU2D,IACRA,EAAEgO,iBACK,OAAP3R,QAAO,IAAPA,GAAAA,EAAU,CACR4U,SACAQ,SAAQ,OAAER,QAAF,IAAEA,OAAF,EAAEA,EAAQQ,SAClBC,aAAY,OAAET,QAAF,IAAEA,OAAF,EAAEA,EAAQS,aACtBC,YAAW,OAAEV,QAAF,IAAEA,OAAF,EAAEA,EAAQU,aAJvB,EAOFJ,OAASvR,IACPA,EAAEgO,iBACI,OAANuD,QAAM,IAANA,GAAAA,EAAS,CACPN,SACAQ,SAAQ,OAAER,QAAF,IAAEA,OAAF,EAAEA,EAAQQ,SAClBC,aAAY,OAAET,QAAF,IAAEA,OAAF,EAAEA,EAAQS,aACtBC,YAAW,OAAEV,QAAF,IAAEA,OAAF,EAAEA,EAAQU,aAJvB,EAnBJ,UA0BE,cAAGnW,UAAY,SAAQoM,QAI3B,OAAKqJ,GAIH,gBAAKzV,UAAY,qBAAoBA,GAAa,KAAlD,SACU,aAAPwB,GACC,UAAC,IAAD,CAAUxB,UAAU,cAAcsD,KAAMuS,EAAxC,WACE,SAAC,WAAD,CAAiBrU,GAAG,MAAMxB,UAAU,QAApC,SACGoW,MAEF1T,MAGH,gCACG0T,IACA1T,OAdA,IAET,EC9FF,IAAI4T,EACJ,MAAMC,EAAQ,KACZ,MAAM,EAAEzV,IAAMC,EAAAA,EAAAA,GAAe,cAAe,CAAEC,UAAW,WACnD8K,EAAO,CACXM,MAAO,QACPuJ,IAAK7U,EAAE,eAEH0V,EAAY,CAChB,CAAE,GAAE1V,EAAE,sBACN,CAAE,GAAEA,EAAE,sBACN,CAAE,GAAEA,EAAE,mBACN,CAAE,GAAEA,EAAE,mBACN,CAAE,GAAEA,EAAE,mBACN,CAAE,GAAEA,EAAE,oBA0DR,OAAO,SAAC,EAAD,IAAcgL,EAAMjL,QAXN4V,IACnBH,EAAUG,EACV,MAAM,OAAEhB,GAAWa,EACnB,IAAII,EAAQ,KAEZA,GAjDiB,EAACC,EAAK1V,KACvB,IAAI2V,EAAS,IACTC,EAAS,IACT9K,EAAQ,EAEZ,KAAO4K,GACD1V,GACF2V,GAAW,IAAG3V,EAAK8K,OACnBA,GAAS,GAET6K,GAAU,MAGZC,GAAU,WAEVF,GAAO,EAGT,MAAQ,GAAEC,MAAWC,KAArB,EA+BSC,CAAW,EAAGN,GACvBE,GA7Be,EAACC,EAAKI,EAAK9V,KAC1B,IAAI2F,EAAO,GACPmF,EAAQ4K,EAEZ,IAAK,IAAIK,EAAO,EAAGA,EAAOD,EAAKC,GAAQ,EAAG,CACxCpQ,GAAQ,IAER,IAAK,IAAIqQ,EAAO,EAAGA,EAAON,EAAKM,GAAQ,EACjChW,GACF2F,GAAS,IAAG3F,EAAK8K,OACjBA,GAAS,GAETnF,GAAQ,MAIZA,GAAQ,IACT,CAID,OAFAA,EAAOA,EAAKsQ,QAAQ,OAAQ,IAErBtQ,CAAP,EAQSuQ,CAAS,EAAG,EAAGX,GAClB,OAANf,QAAM,IAANA,GAAAA,EAAQ2B,iBAAiBV,GACnB,OAANjB,QAAM,IAANA,GAAAA,EAAQ4B,OAAR,GAGF,EAGF,GAAexC,EAAAA,EAAAA,MAAK0B,GC1EpB,IAAID,EACJ,MAAMgB,EAAK,KACT,MAAM,EAAExW,IAAMC,EAAAA,EAAAA,GAAe,cAAe,CAAEC,UAAW,WACnD8K,EAAO,CACXM,MAAO,UACP0J,OAAQ,CAAC,UACTH,IAAM,GAAE7U,EAAE,iCAoBZ,OAAO,SAAC,EAAD,IAAcgL,EAAMjL,QAjBN4V,IACnBH,EAAUG,EACV,MAAM,OAAEhB,EAAF,aAAUS,GAAiBI,EAEjCJ,GAAa,CAACqB,EAAMC,KAClB,MAAMC,EAAa,qBAOnB,OAJEF,EADEA,EAAKG,MAAMD,GACNF,EAAKL,QAAQO,EAAY,IAExB,GAAED,EAAI,MAAMD,GAEtB,IAEF9B,EAAO4B,OAAP,GAGF,EAGF,GAAexC,EAAAA,EAAAA,MAAKyC,GC7BpB,IAAIhB,EACJ,MAAMqB,EAAK,KACT,MAAM,EAAE7W,IAAMC,EAAAA,EAAAA,GAAe,cAAe,CAAEC,UAAW,WACnD8K,EAAO,CACXM,MAAO,UACP0J,OAAQ,CAAC,UACTH,IAAM,GAAE7U,EAAE,mCAoBZ,OAAO,SAAC,EAAD,IAAcgL,EAAMjL,QAjBN4V,IACnBH,EAAUG,EACV,MAAM,OAAEhB,EAAF,aAAUS,GAAiBI,EAEjCJ,GAAcqB,IACZ,MAAMK,EAAa,oBAOnB,OAJEL,EADEA,EAAKG,MAAME,GACNL,EAAKL,QAAQU,EAAY,IAExB,KAAIL,GAEd,IAEF9B,EAAO4B,OAAP,GAGF,EAGF,GAAexC,EAAAA,EAAAA,MAAK8C,GC7BpB,IAAIrB,EACJ,MAAMuB,EAAS,KACb,MAAM,EAAE/W,IAAMC,EAAAA,EAAAA,GAAe,cAAe,CAAEC,UAAW,WACnD8K,EAAO,CACXM,MAAO,mBACPuJ,IAAK7U,EAAE,gBAaT,OAAO,SAAC,EAAD,IAAcgL,EAAMjL,QAXN4V,IACnBH,EAAUG,EACV,MAAM,OAAEhB,EAAF,aAAUS,GAAiBI,EAEjCJ,GAAcqB,GACZA,EAAQ,OAAMA,MAGV,OAAN9B,QAAM,IAANA,GAAAA,EAAQ4B,OAAR,GAGF,EAGF,GAAexC,EAAAA,EAAAA,MAAKgD,GCrBpB,IAAIvB,EACJ,MAAMwB,EAAU,KACd,MAAM,EAAEhX,IAAMC,EAAAA,EAAAA,GAAe,cAAe,CAAEC,UAAW,WACnD8K,EAAO,CACXM,MAAO,oBACP0J,OAAQ,CAAC,aACTH,IAAK7U,EAAE,iBAcT,OAAO,SAAC,EAAD,IAAcgL,EAAMjL,QAZN4V,IACnBH,EAAUG,EACV,MAAM,OAAEhB,EAAF,aAAUS,GAAiBI,EACjCJ,GAAcqB,GACZA,EAAOA,EAAKL,QAAQ,aAAa,CAACa,EAAIC,IAC7BA,EAAG3W,OAAS,EAAI2W,EAAGC,UAAU,GAAK,OAIvC,OAANxC,QAAM,IAANA,GAAAA,EAAQ4B,OAAR,GAGF,EAGF,GAAexC,EAAAA,EAAAA,MAAKiD,GCvBpB,IAAIxB,EACJ,MAAM4B,EAAK,KACT,MAAM,EAAEpX,IAAMC,EAAAA,EAAAA,GAAe,cAAe,CAAEC,UAAW,WACnD8K,EAAO,CACXM,MAAO,KACP0J,OAAQ,CAAC,UACTH,IAAM,GAAE7U,EAAE,uBASZ,OAAO,SAAC,EAAD,IAAcgL,EAAMjL,QAPN4V,IACnBH,EAAUG,EACV,MAAM,YAAEN,EAAF,OAAeV,GAAWa,EAChCH,EAAY,gBACN,OAANV,QAAM,IAANA,GAAAA,EAAQ4B,OAAR,GAGF,EAGF,GAAexC,EAAAA,EAAAA,MAAKqD,GCjBpB,IAAI5B,EACJ,MAAM6B,EAAU,KACd,MAAM,EAAErX,IAAMC,EAAAA,EAAAA,GAAe,cAAe,CAAEC,UAAW,WACnDoX,EAAa,CACjB,CACE/K,KAAO,uBAAsBvM,EAAE,6BAC/B2H,MAAO,EACP2D,MAAOtL,EAAE,uBAEX,CACEuM,KAAO,uBAAsBvM,EAAE,6BAC/B2H,MAAO,EACP2D,MAAOtL,EAAE,uBAEX,CACEuM,KAAO,uBAAsBvM,EAAE,6BAC/B2H,MAAO,EACP2D,MAAOtL,EAAE,uBAEX,CACEuM,KAAO,uBAAsBvM,EAAE,6BAC/B2H,MAAO,EACP2D,MAAOtL,EAAE,uBAEX,CACEuM,KAAO,0BAAyBvM,EAAE,6BAClC2H,MAAO,EACP2D,MAAOtL,EAAE,uBAEX,CACEuM,KAAO,0BAAyBvM,EAAE,6BAClC2H,MAAO,EACP2D,MAAOtL,EAAE,wBAGPgL,EAAO,CACXM,MAAO,OACP0J,OAAQ,CAAC,UACTH,IAAM,GAAE7U,EAAE,6BAEL+U,EAAQwC,IAAgBzK,EAAAA,EAAAA,WAAS,IACjC0K,EAAUC,IAAgB3K,EAAAA,EAAAA,WAAS,GAYpC4K,EAAe/B,IACnBH,EAAUG,EACN6B,GAGJD,GAAcxC,EAAd,EAUF,OACE,SAAC,EAAD,CACErU,GAAG,cACCsK,EACJ+J,OAAQA,EACRhV,QAAS2X,EACTzC,OAAQyC,EALV,UAME,SAAC,SAAD,CACEC,aAfmB,KACvBF,GAAa,EAAb,EAeIG,aAZmB,KACvBH,GAAa,EAAb,EASE,SAGGH,EAAW9W,KAAKsV,IAEb,SAAC,SAAD,CAEE/V,QAAU2D,IACRA,EAAEgO,iBACFhO,EAAEY,kBAzCI,EAACqD,EAAQ,EAAG2D,EAAQ,wBACtC,MAAM,aAAE8J,GAAiBI,EAEzBJ,GAAcqB,IACZA,EAAOA,EAAKoB,OAAOzB,QAAQ,MAAO,IAAIyB,OAC9B,GAAE,IAAIC,OAAOnQ,MAAU8O,GAAQnL,MAEtC3D,EAAQ,GACX4P,GAAa,EAAb,EAkCYQ,CAAYjC,EAAOnO,MAAOmO,EAAOxK,MAAjC,EAEF3H,wBAAyB,CAAEC,OAAQkS,EAAOvJ,OANrCuJ,EAAOvJ,WAbxB,EA4BF,GAAewH,EAAAA,EAAAA,MAAKsD,GCjGpB,IAAI7B,EACJ,MAAMwC,EAAO,KACX,MAAM,EAAEhY,IAAMC,EAAAA,EAAAA,GAAe,cAAe,CAAEC,UAAW,WACnD8K,EAAO,CACXM,MAAO,YACP0J,OAAQ,CAAC,UACTH,IAAM,GAAE7U,EAAE,yBAENiY,EAAcjY,EAAE,aAQtB,OAAO,SAAC,EAAD,IAAcgL,EAAMjL,QANN4V,IAAS,IAAD,EAC3BH,EAAUG,EACVH,EAAQL,SAAS,KAAM,KAAM8C,GAC7B,UAAAzC,EAAQb,cAAR,SAAgB4B,OAAhB,GAGF,EAGF,GAAexC,EAAAA,EAAAA,MAAKiE,GCnBpB,IAAIxC,EACJ,MAAM0C,EAAS,KACb,MAAM,EAAElY,IAAMC,EAAAA,EAAAA,GAAe,cAAe,CAAEC,UAAW,WACnD8K,EAAO,CACXM,MAAO,cACP0J,OAAQ,CAAC,UACTH,IAAM,GAAE7U,EAAE,2BAENiY,EAAcjY,EAAE,eAStB,OAAO,SAAC,EAAD,IAAcgL,EAAMjL,QAPN4V,IACnBH,EAAUG,EACV,MAAM,OAAEhB,EAAF,SAAUQ,GAAaK,EAC7BL,EAAS,IAAK,IAAK8C,GACb,OAANtD,QAAM,IAANA,GAAAA,EAAQ4B,OAAR,GAGF,EAGF,GAAexC,EAAAA,EAAAA,MAAKmE,G,qCChBpB,MA6EA,EA7E2B,EACzBrM,UAAU,GACVhN,QAAQ,GACRC,WACAmN,cAAc,GACdkM,eAEA,MAAOC,EAASC,IAAiBvL,EAAAA,EAAAA,WAAS,IACnCwL,EAAQC,IAAazL,EAAAA,EAAAA,UAAS,IAErC9F,EAAAA,EAAAA,YAAU,KACRuR,EAAU,EAAV,GACC,CAAC1Z,IACJ,MAsBMuS,EAASvF,EAAQ0D,QAAQiJ,IAC7B3Z,GAA+B,IAAvB2Z,EAAI3E,QAAQhV,KAGtB,OACE,iBAAKK,UAAU,oBAAoBqC,UA3BdmC,IACrB,MAAM,QAAE+U,GAAY/U,EAWpB,GATgB,KAAZ+U,GAAkBH,EAAS,IAC7B5U,EAAEgO,iBACF6G,EAAUD,EAAS,IAEL,KAAZG,GAAkBH,EAASzM,EAAQtL,OAAS,IAC9CmD,EAAEgO,iBAEF6G,EAAUD,EAAS,IAEL,KAAZG,GAAkBH,GAAU,GAAKA,GAAUzM,EAAQtL,OAAS,EAAG,CACjE,MAAMmY,EAAO7M,EAAQ0D,QAAQiJ,IAC3B3Z,GAA+B,IAAvB2Z,EAAI3E,QAAQhV,KACpByZ,GAEFD,GAAc,GACdF,EAASO,EACV,GAQD,WACE,SAACC,EAAA,EAAD,CACE/Z,KAAK,SACLC,MAAOA,EACPoN,YAAaA,EACbnN,SAAW4E,IACT2U,GAAc,GACVvZ,aAAoB8R,UACtB9R,EAAS4E,EACV,IAGJ0N,EAAO7Q,OAAS,IACf,SAAC,SAAD,CACEiC,KAAM3D,GAASuZ,EACflZ,UAAU,4BACVI,MAAO,CAAEsZ,UAAW,OAAQpZ,UAAW,SAHzC,SAIG4R,EAAO5Q,KAAI,CAACgY,EAAKvN,KAEd,SAAC,SAAD,CAEE/L,UAAY,IAAEoZ,IAAWrN,EAAQ,SAAW,IAC5ClL,QAAU2D,IACRA,EAAEgO,iBACF2G,GAAc,GACdF,EAASK,EAAT,EANJ,SAQGA,GAPIA,SArBnB,ECzCIK,EAAmB,CACvB,OACA,KACA,MACA,IACA,IACA,MACA,MACA,MACA,MACA,KACA,KACA,MACA,MACA,SACA,KACA,SACA,KACA,UACA,MACA,SACA,eACA,OACA,OACA,MACA,OACA,MACA,SACA,KACA,SACA,KACA,UACA,OACA,MACA,MACA,QACA,MACA,OACA,MACA,MACA,QACA,MACA,MACA,OACA,QACA,MACA,OACA,OACA,MACA,KACA,aACA,MACA,MACA,MACA,OACA,SACA,KACA,QACA,MACA,OACA,OACA,MACA,WACA,KACA,MACA,WACA,KACA,SACA,MACA,SACA,aACA,KACA,OACA,QACA,QACA,KACA,SACA,SACA,MACA,MACA,MACA,aACA,UACA,MACA,MACA,KACA,OACA,KACA,MACA,OACA,OACA,OACA,OACA,OACA,eACA,WACA,KACA,SACA,MACA,UACA,IACA,KACA,OACA,UACA,UACA,OACA,MACA,KACA,OACA,QACA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","sources":["components/BrandUpload/index.tsx","components/HotQuestions/index.tsx","components/Icon/index.tsx","components/InitialLoadingPlaceholder/index.tsx","components/Modal/Modal.tsx","components/Modal/Confirm.tsx","components/Modal/LoginToContinueModal.tsx","components/Modal/BadgeModal.tsx","components/Modal/index.tsx","components/QuestionList/index.tsx","components/SchemaForm/components/Legend.tsx","components/SchemaForm/components/Select.tsx","components/SchemaForm/components/Check.tsx","components/SchemaForm/components/Switch.tsx","components/TimeZonePicker/index.tsx","components/SchemaForm/components/Timezone.tsx","components/SchemaForm/components/Upload.tsx","components/SchemaForm/components/Textarea.tsx","components/SchemaForm/components/Input.tsx","components/SchemaForm/components/Button.tsx","components/SchemaForm/components/InputGroup.tsx","components/SchemaForm/index.tsx","components/Avatar/index.tsx","components/PluginRender/index.tsx","components/Editor/EditorContext.ts","components/Editor/toolItem.tsx","components/Editor/ToolBars/table.tsx","components/Editor/ToolBars/ol.tsx","components/Editor/ToolBars/ul.tsx","components/Editor/ToolBars/indent.tsx","components/Editor/ToolBars/outdent.tsx","components/Editor/ToolBars/hr.tsx","components/Editor/ToolBars/heading.tsx","components/Editor/ToolBars/bold.tsx","components/Editor/ToolBars/italic.tsx","components/Editor/Select/index.tsx","components/Editor/ToolBars/code.tsx","components/Editor/ToolBars/link.tsx","components/Editor/ToolBars/blockquote.tsx","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/TabContent.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/getTabTransitionComponent.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/TabPane.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Tabs.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/TabContainer.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Tab.js","components/Editor/ToolBars/image.tsx","components/Editor/ToolBars/help.tsx","components/Editor/utils/extension.ts","components/Editor/utils/index.ts","components/ImgViewer/index.tsx","components/Editor/Viewer.tsx","components/Editor/index.tsx","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/NavbarBrand.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/NavbarCollapse.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/NavbarToggle.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/OffcanvasBody.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/OffcanvasToggling.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/OffcanvasHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/OffcanvasTitle.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Offcanvas.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/NavbarOffcanvas.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/NavbarText.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Navbar.js","components/Header/components/NavItems/index.tsx","components/Header/index.tsx","components/Footer/index.tsx","components/Icon/svg.tsx","components/TagSelector/index.tsx","components/Unactivate/index.tsx","components/UploadImg/index.tsx","components/Actions/index.tsx","components/Tag/index.tsx","components/Share/index.tsx","components/Operate/index.tsx","components/UserCard/index.tsx","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/PageItem.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Pagination.js","components/Pagination/index.tsx","components/Comment/components/Form/index.tsx","components/Comment/components/ActionBar/index.tsx","components/Comment/components/Reply/index.tsx","components/Comment/index.tsx","components/TextArea/index.tsx","components/Mentions/index.tsx","components/FormatTime/index.tsx","components/Toast/index.tsx","components/AccordionNav/index.tsx","components/Empty/index.tsx","components/BaseUserCard/index.tsx","components/FollowingTags/index.tsx","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/types.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/DropdownButton.js","components/QueryGroup/index.tsx","components/DiffContent/index.tsx","components/Customize/index.tsx","components/CustomizeTheme/index.tsx","components/PageTags/index.tsx","components/QuestionListLoader/index.tsx","components/TagsLoader/index.tsx","components/WelcomeTitle/index.tsx","components/Counts/index.tsx","components/HttpErrorContent/index.tsx","components/CustomSidebar/index.tsx","components/SideNav/index.tsx","components/HighlightText/index.tsx","components/CardBadge/index.tsx","pages/Questions/Detail/components/Reactions/index.tsx","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/AbstractModalHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/AccordionContext.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/AccordionCollapse.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/AccordionItemContext.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/AccordionBody.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/AccordionButton.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/AccordionHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/AccordionItem.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Accordion.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Badge.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/BootstrapModalManager.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Button.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ButtonGroup.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CardBody.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CardFooter.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CardHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CardImg.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CardImgOverlay.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CardLink.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CardSubtitle.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CardText.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CardTitle.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Card.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CardHeaderContext.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/CloseButton.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Col.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/createChainedFunction.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Collapse.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Container.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/DropdownDivider.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/DropdownHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/DropdownItem.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/DropdownItemText.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Dropdown.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/DropdownContext.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/DropdownMenu.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/DropdownToggle.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ElementChildren.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Fade.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Feedback.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormFloating.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormLabel.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormRange.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormSelect.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormText.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Switch.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FloatingLabel.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Form.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormCheckLabel.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormCheck.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormCheckInput.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormContext.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormControl.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/FormGroup.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/InputGroupText.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/InputGroup.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/InputGroupContext.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ListGroup.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ListGroupItem.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ModalBody.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ModalDialog.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ModalFooter.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ModalHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ModalTitle.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Modal.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ModalContext.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Nav.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/NavItem.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/NavLink.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/NavbarContext.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Overlay.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/useOverlayOffset.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/OverlayTrigger.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/PopoverHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/PopoverBody.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Popover.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Spinner.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/createUtilityClasses.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Stack.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ThemeProvider.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ToastFade.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ToastContext.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ToastHeader.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/ToastBody.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Toast.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/Tooltip.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/TransitionWrapper.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/divWithClassName.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/getInitialPopperStyles.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/helpers.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/safeFindDOMNode.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/transitionEndListener.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/triggerBrowserReflow.js","../node_modules/.pnpm/react-bootstrap@2.10.0_@types+react@18.0.20_react-dom@18.2.0_react@18.2.0/node_modules/react-bootstrap/esm/useWrappedRefWithWarning.js"],"sourcesContent":["/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC } from 'react';\nimport { ButtonGroup, Button } from 'react-bootstrap';\n\nimport classNames from 'classnames';\n\nimport { Icon, UploadImg } from '@/components';\nimport { UploadType } from '@/common/interface';\n\ninterface Props {\n type: UploadType;\n value: string;\n onChange: (value: string) => void;\n acceptType?: string;\n readOnly?: boolean;\n imgClassNames?: classNames.Argument;\n}\n\nconst Index: FC = ({\n type = 'post',\n value,\n onChange,\n acceptType,\n readOnly = false,\n imgClassNames = '',\n}) => {\n const onUpload = (imgPath: string) => {\n onChange(imgPath);\n };\n\n const onRemove = () => {\n onChange('');\n };\n return (\n
\n
\n \n
\n \n \n \n \n\n \n \n \n \n
\n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC } from 'react';\nimport { Card, ListGroup, ListGroupItem } from 'react-bootstrap';\nimport { Link } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\n\nimport { pathFactory } from '@/router/pathFactory';\nimport { Icon } from '@/components';\nimport { useHotQuestions } from '@/services';\n\nconst HotQuestions: FC = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'question' });\n const { data: questionRes } = useHotQuestions();\n if (!questionRes?.list?.length) {\n return null;\n }\n return (\n \n \n {t('hot_questions')}\n \n \n {questionRes?.list?.map((li) => {\n return (\n \n
{li.title}
\n {li.answer_count > 0 ? (\n 0\n ? 'link-success'\n : 'link-secondary'\n }`}>\n {li.accepted_answer_id >= 1 ? (\n \n ) : (\n \n )}\n \n {t('x_answers', { count: li.answer_count })}\n \n \n ) : null}\n \n );\n })}\n
\n
\n );\n};\nexport default HotQuestions;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC } from 'react';\n\nimport classNames from 'classnames';\n\ninterface IProps {\n type?: 'br' | 'bi';\n /** icon name */\n name: string;\n className?: string;\n size?: string;\n title?: string;\n onClick?: () => void;\n}\nconst Icon: FC = ({\n type = 'br',\n name,\n className,\n size,\n onClick,\n title,\n}) => {\n return (\n \n );\n};\n\nexport default Icon;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\n// Same as spin in `public/index.html`\n\nimport './index.scss';\n\nfunction InitialLoadingPlaceholder() {\n return (\n
\n
\n
\n
\n
\n );\n}\n\nexport default InitialLoadingPlaceholder;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { FC } from 'react';\nimport { Button, Modal } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nexport interface Props {\n id?: string;\n /** header title */\n title?: string;\n children?: React.ReactNode;\n /** visible */\n visible?: boolean;\n centered?: boolean;\n onCancel?: () => void;\n onConfirm?: (event: any) => void;\n cancelText?: string;\n showCancel?: boolean;\n cancelBtnVariant?: string;\n confirmText?: string;\n showConfirm?: boolean;\n confirmBtnDisabled?: boolean;\n confirmBtnVariant?: string;\n /** body style */\n bodyClass?: string;\n scrollable?: boolean;\n className?: string;\n}\nconst Index: FC = ({\n id = '',\n title = 'title',\n visible = false,\n centered = true,\n onCancel,\n children,\n onConfirm,\n cancelText = '',\n showCancel = true,\n cancelBtnVariant = 'primary',\n confirmText = '',\n showConfirm = true,\n confirmBtnVariant = 'link',\n confirmBtnDisabled = false,\n bodyClass = '',\n scrollable = false,\n className = '',\n}) => {\n const { t } = useTranslation();\n return (\n \n \n \n {title || t('title', { keyPrefix: 'modal_confirm' })}\n \n \n {children}\n {(showCancel || showConfirm) && (\n \n {showCancel && (\n \n )}\n {showConfirm && (\n {\n onConfirm?.(event);\n }}\n id=\"ok_button\"\n disabled={confirmBtnDisabled}>\n {confirmText === 'OK'\n ? t('btns.ok')\n : confirmText || t('btns.confirm')}\n \n )}\n \n )}\n \n );\n};\n\nexport default React.memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\n/* eslint-disable @typescript-eslint/no-use-before-define */\nimport * as React from 'react';\n\nimport ReactDOM from 'react-dom/client';\n\nimport Modal from './Modal';\nimport type { Props } from './Modal';\n\nconst div = document.createElement('div');\n\nconst root = ReactDOM.createRoot(div);\n\nexport interface Config extends Props {\n content: string;\n}\n\nconst Index = ({\n title = '',\n confirmText = '',\n content,\n onCancel: onClose,\n onConfirm,\n cancelBtnVariant = 'link',\n confirmBtnVariant = 'primary',\n ...props\n}: Config) => {\n const onCancel = () => {\n if (typeof onClose === 'function') {\n onClose();\n }\n render({ visible: false });\n div.remove();\n };\n const onOk = (e) => {\n if (typeof onConfirm === 'function') {\n onConfirm(e);\n }\n onCancel();\n };\n function render({ visible }: { visible: boolean }) {\n root.render(\n \n

\n ,\n );\n }\n render({ visible: true });\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React from 'react';\nimport { Modal } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\nimport { Link } from 'react-router-dom';\n\nimport { loginToContinueStore, siteInfoStore } from '@/stores';\nimport { floppyNavigation } from '@/utils';\nimport { WelcomeTitle } from '@/components';\n\nimport './login.scss';\n\ninterface IProps {\n visible: boolean;\n}\n\nconst Index: React.FC = ({ visible = false }) => {\n const { t } = useTranslation('translation', { keyPrefix: 'login' });\n const { update: updateStore } = loginToContinueStore();\n const { siteInfo } = siteInfoStore((_) => _);\n const closeModal = () => {\n updateStore({ show: false });\n };\n const linkClick = (evt) => {\n evt.stopPropagation();\n floppyNavigation.storageLoginRedirect();\n closeModal();\n };\n return (\n \n \n {t('login_to_continue')}\n \n \n

\n \n

{siteInfo.description}

\n
\n
\n \n {t('login', { keyPrefix: 'btns' })}\n \n \n {t('signup', { keyPrefix: 'btns' })}\n \n
\n \n \n );\n};\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useNavigate } from 'react-router-dom';\n\nimport classNames from 'classnames';\n\nimport type * as Type from '@/common/interface';\nimport { loggedUserInfoStore } from '@/stores';\nimport { readNotification, useQueryNotificationStatus } from '@/services';\nimport AnimateGift from '@/utils/animateGift';\nimport Icon from '../Icon';\n\nimport Modal from './Modal';\n\ninterface BadgeModalProps {\n badge?: Type.NotificationBadgeAward | null;\n visible: boolean;\n}\n\nlet bg1: AnimateGift;\nlet bg2: AnimateGift;\nlet timeout: NodeJS.Timeout;\nconst BadgeModal: FC = ({ badge, visible }) => {\n const { t } = useTranslation('translation', { keyPrefix: 'badges.modal' });\n const { user } = loggedUserInfoStore();\n const navigate = useNavigate();\n const { data, mutate } = useQueryNotificationStatus();\n\n const handle = async () => {\n if (!data) return;\n await readNotification(badge?.notification_id);\n await mutate({\n ...data,\n badge_award: null,\n });\n clearTimeout(timeout);\n bg1?.destroy();\n bg2?.destroy();\n };\n const handleCancel = async () => {\n await handle();\n };\n const handleConfirm = async () => {\n await handle();\n\n const url = `/badges/${badge?.badge_id}?username=${user.username}`;\n navigate(url);\n };\n\n const initAnimation = () => {\n const DURATION = 8000;\n const LENGTH = 200;\n const bgNode = document.documentElement || document.body;\n const badgeModalNode = document.getElementById('badgeModal');\n const parentNode = badgeModalNode?.parentNode;\n\n badgeModalNode?.setAttribute('style', 'z-index: 1');\n\n if (parentNode) {\n bg1 = new AnimateGift({\n elm: parentNode,\n width: bgNode.clientWidth,\n height: bgNode.clientHeight,\n length: LENGTH,\n duration: DURATION,\n isLoop: true,\n });\n\n timeout = setTimeout(() => {\n bg2 = new AnimateGift({\n elm: parentNode,\n width: window.innerWidth,\n height: window.innerHeight,\n length: LENGTH,\n duration: DURATION,\n });\n }, DURATION / 2);\n }\n };\n\n const destroyAnimation = () => {\n clearTimeout(timeout);\n bg1?.destroy();\n bg2?.destroy();\n };\n\n useEffect(() => {\n if (visible) {\n initAnimation();\n } else {\n destroyAnimation();\n }\n\n const handleVisibilityChange = () => {\n if (document.visibilityState === 'visible') {\n initAnimation();\n } else {\n destroyAnimation();\n }\n };\n document.addEventListener('visibilitychange', handleVisibilityChange);\n\n return () => {\n document.removeEventListener('visibilitychange', handleVisibilityChange);\n destroyAnimation();\n };\n }, [visible]);\n\n return (\n \n {badge && (\n
\n {badge.icon?.startsWith('http') ? (\n {badge.name}\n ) : (\n \n )}\n
{badge?.name}
\n

{t('content')}

\n
\n )}\n \n );\n};\n\nexport default BadgeModal;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport DefaultModal from './Modal';\nimport confirm, { Config } from './Confirm';\nimport LoginToContinueModal from './LoginToContinueModal';\nimport BadgeModal from './BadgeModal';\n\ntype ModalType = typeof DefaultModal & {\n confirm: (config: Config) => void;\n};\nconst Modal = DefaultModal as ModalType;\n\nModal.confirm = function (props: Config) {\n return confirm(props);\n};\n\nexport default Modal;\n\nexport { LoginToContinueModal, BadgeModal };\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC } from 'react';\nimport { ListGroup } from 'react-bootstrap';\nimport { NavLink, useSearchParams } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\n\nimport { pathFactory } from '@/router/pathFactory';\nimport {\n Tag,\n Pagination,\n FormatTime,\n Empty,\n BaseUserCard,\n QueryGroup,\n QuestionListLoader,\n Counts,\n Icon,\n} from '@/components';\nimport * as Type from '@/common/interface';\nimport { useSkeletonControl } from '@/hooks';\n\nexport const QUESTION_ORDER_KEYS: Type.QuestionOrderBy[] = [\n 'newest',\n 'active',\n 'hot',\n 'score',\n 'unanswered',\n 'recommend',\n];\ninterface Props {\n source: 'questions' | 'tag' | 'linked';\n order?: Type.QuestionOrderBy;\n data;\n orderList?: Type.QuestionOrderBy[];\n isLoading: boolean;\n}\n\nconst QuestionList: FC = ({\n source,\n order,\n data,\n orderList,\n isLoading = false,\n}) => {\n const { t } = useTranslation('translation', { keyPrefix: 'question' });\n const [urlSearchParams] = useSearchParams();\n const { isSkeletonShow } = useSkeletonControl(isLoading);\n const curOrder =\n order || urlSearchParams.get('order') || QUESTION_ORDER_KEYS[0];\n const curPage = Number(urlSearchParams.get('page')) || 1;\n const pageSize = 20;\n const count = data?.count || 0;\n const orderKeys = orderList || QUESTION_ORDER_KEYS;\n\n return (\n
\n
\n
\n {source === 'questions'\n ? t('all_questions')\n : t('x_questions', { count })}\n
\n \n
\n \n {isSkeletonShow ? (\n \n ) : (\n data?.list?.map((li) => {\n return (\n \n
\n {li.pin === 2 && (\n \n )}\n \n {li.title}\n {li.status === 2 ? ` [${t('closed')}]` : ''}\n \n
\n
\n
\n \n •\n \n
\n = 1}\n className=\"mt-2 mt-md-0\"\n />\n
\n
\n {Array.isArray(li.tags)\n ? li.tags.map((tag) => {\n return (\n \n );\n })\n : null}\n
\n \n );\n })\n )}\n
\n {count <= 0 && !isLoading && }\n
\n \n
\n
\n );\n};\nexport default QuestionList;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC } from 'react';\nimport { Form } from 'react-bootstrap';\n\ninterface Props {\n title: string;\n className?: string | undefined;\n}\nconst Index: FC = ({ title, className }) => {\n return {title};\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { FC } from 'react';\nimport { Form } from 'react-bootstrap';\n\nimport type * as Type from '@/common/interface';\n\ninterface Props {\n desc: string | undefined;\n fieldName: string;\n onChange?: (fd: Type.FormDataType) => void;\n enumValues: (string | boolean | number)[];\n enumNames: string[];\n formData: Type.FormDataType;\n readOnly: boolean;\n}\nconst Index: FC = ({\n desc,\n fieldName,\n onChange,\n enumValues,\n enumNames,\n formData,\n readOnly = false,\n}) => {\n const fieldObject = formData[fieldName];\n const handleChange = (evt: React.ChangeEvent) => {\n const { name, value } = evt.currentTarget;\n const state = {\n ...formData,\n [name]: {\n ...formData[name],\n value,\n isInvalid: false,\n },\n };\n if (typeof onChange === 'function') {\n onChange(state);\n }\n };\n return (\n \n {enumValues?.map((item, index) => {\n return (\n \n );\n })}\n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { FC } from 'react';\nimport { Form, Stack } from 'react-bootstrap';\n\nimport type * as Type from '@/common/interface';\n\ninterface Props {\n type: 'radio' | 'checkbox';\n fieldName: string;\n onChange?: (fd: Type.FormDataType) => void;\n enumValues: (string | boolean | number)[];\n enumNames: string[];\n formData: Type.FormDataType;\n readOnly?: boolean;\n}\nconst Index: FC = ({\n type = 'radio',\n fieldName,\n onChange,\n enumValues,\n enumNames,\n formData,\n readOnly = false,\n}) => {\n const fieldObject = formData[fieldName];\n const handleCheck = (\n evt: React.ChangeEvent,\n index: number,\n ) => {\n const { name, checked } = evt.currentTarget;\n enumValues[index] = checked;\n\n const state = {\n ...formData,\n [name]: {\n ...formData[name],\n value: enumValues,\n isInvalid: false,\n },\n };\n if (typeof onChange === 'function') {\n onChange(state);\n }\n };\n return (\n \n {enumValues?.map((item, index) => {\n return (\n handleCheck(evt, index)}\n />\n );\n })}\n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { FC } from 'react';\nimport { Form } from 'react-bootstrap';\n\nimport type * as Type from '@/common/interface';\n\ninterface Props {\n label: string | undefined;\n fieldName: string;\n onChange?: (fd: Type.FormDataType) => void;\n formData: Type.FormDataType;\n readOnly?: boolean;\n}\nconst Index: FC = ({\n fieldName,\n onChange,\n label,\n formData,\n readOnly = false,\n}) => {\n const fieldObject = formData[fieldName];\n const handleChange = (evt: React.ChangeEvent) => {\n const { name, checked } = evt.currentTarget;\n const state = {\n ...formData,\n [name]: {\n ...formData[name],\n value: checked,\n isInvalid: false,\n },\n };\n if (typeof onChange === 'function') {\n onChange(state);\n }\n };\n return (\n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { Form } from 'react-bootstrap';\n\nimport { TIMEZONES } from '@/common/constants';\n\nconst TimeZonePicker = (props) => {\n return (\n \n {TIMEZONES?.map((item) => {\n return (\n \n {item.options.map((option) => {\n return (\n \n );\n })}\n \n );\n })}\n \n );\n};\n\nexport default TimeZonePicker;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { FC } from 'react';\n\nimport type * as Type from '@/common/interface';\nimport TimeZonePicker from '@/components/TimeZonePicker';\n\ninterface Props {\n fieldName: string;\n onChange?: (fd: Type.FormDataType) => void;\n formData: Type.FormDataType;\n readOnly?: boolean;\n}\nconst Index: FC = ({\n fieldName,\n onChange,\n formData,\n readOnly = false,\n}) => {\n const fieldObject = formData[fieldName];\n const handleChange = (evt: React.ChangeEvent) => {\n const { name, value } = evt.currentTarget;\n const state = {\n ...formData,\n [name]: {\n ...formData[name],\n value,\n isInvalid: false,\n },\n };\n if (typeof onChange === 'function') {\n onChange(state);\n }\n };\n return (\n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { FC } from 'react';\nimport { Form } from 'react-bootstrap';\n\nimport classNames from 'classnames';\n\nimport type * as Type from '@/common/interface';\nimport BrandUpload from '@/components/BrandUpload';\n\ninterface Props {\n type: Type.UploadType | undefined;\n acceptType: string | undefined;\n fieldName: string;\n onChange?: (fd: Type.FormDataType) => void;\n formData: Type.FormDataType;\n readOnly?: boolean;\n imgClassNames?: classNames.Argument;\n}\nconst Index: FC = ({\n type = 'avatar',\n acceptType = '',\n fieldName,\n onChange,\n formData,\n readOnly = false,\n imgClassNames = '',\n}) => {\n const fieldObject = formData[fieldName];\n const handleChange = (name: string, value: string) => {\n const state = {\n ...formData,\n [name]: {\n ...formData[name],\n value,\n },\n };\n if (typeof onChange === 'function') {\n onChange(state);\n }\n };\n return (\n <>\n handleChange(fieldName, value)}\n imgClassNames={imgClassNames}\n />\n \n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { FC } from 'react';\nimport { Form } from 'react-bootstrap';\n\nimport classnames from 'classnames';\n\nimport type * as Type from '@/common/interface';\n\ninterface Props {\n placeholder: string | undefined;\n rows: number | undefined;\n className: classnames.Argument;\n fieldName: string;\n onChange?: (fd: Type.FormDataType) => void;\n formData: Type.FormDataType;\n readOnly: boolean;\n}\nconst Index: FC = ({\n placeholder = '',\n rows = 3,\n className,\n fieldName,\n onChange,\n formData,\n readOnly = false,\n}) => {\n const fieldObject = formData[fieldName];\n const handleChange = (evt: React.ChangeEvent) => {\n const { name, value } = evt.currentTarget;\n const state = {\n ...formData,\n [name]: {\n ...formData[name],\n value,\n isInvalid: false,\n },\n };\n if (typeof onChange === 'function') {\n onChange(state);\n }\n };\n\n return (\n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { FC } from 'react';\nimport { Form } from 'react-bootstrap';\n\nimport type * as Type from '@/common/interface';\n\ninterface Props {\n type: string | undefined;\n placeholder: string | undefined;\n fieldName: string;\n onChange?: (fd: Type.FormDataType) => void;\n formData: Type.FormDataType;\n readOnly: boolean;\n}\nconst Index: FC = ({\n type = 'text',\n placeholder = '',\n fieldName,\n onChange,\n formData,\n readOnly = false,\n}) => {\n const fieldObject = formData[fieldName];\n const handleChange = (evt: React.ChangeEvent) => {\n const { name, value } = evt.currentTarget;\n const state = {\n ...formData,\n [name]: {\n ...formData[name],\n value,\n isInvalid: false,\n },\n };\n if (typeof onChange === 'function') {\n onChange(state);\n }\n };\n\n return (\n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, useEffect, useState } from 'react';\nimport { Button, ButtonProps, Spinner } from 'react-bootstrap';\n\nimport { request } from '@/utils';\nimport type { UIAction, FormKit } from '../types';\nimport { useToast } from '@/hooks';\nimport { Icon } from '@/components';\n\ninterface Props {\n fieldName: string;\n text: string;\n action: UIAction | undefined;\n actionType?: 'submit' | 'click';\n clickCallback?: () => void;\n formKit: FormKit;\n readOnly: boolean;\n variant?: ButtonProps['variant'];\n size?: ButtonProps['size'];\n iconName?: string;\n nowrap?: boolean;\n title?: string;\n}\nconst Index: FC = ({\n fieldName,\n action,\n actionType = 'submit',\n formKit,\n text = '',\n readOnly = false,\n variant = 'primary',\n size,\n iconName = '',\n nowrap = false,\n clickCallback,\n title,\n}) => {\n const Toast = useToast();\n const [isLoading, setLoading] = useState(false);\n const handleToast = (msg, type: 'success' | 'danger' = 'success') => {\n const tm = action?.on_complete?.toast_return_message;\n if (tm === false || !msg) {\n return;\n }\n Toast.onShow({\n msg,\n variant: type,\n });\n };\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const handleCallback = (resp) => {\n const callback = action?.on_complete;\n if (callback?.refresh_form_config) {\n formKit.refreshConfig();\n }\n };\n const handleAction = () => {\n if (actionType === 'click') {\n if (typeof clickCallback === 'function') {\n clickCallback();\n }\n return;\n }\n if (!action) {\n return;\n }\n setLoading(true);\n request\n .request({\n method: action.method,\n url: action.url,\n timeout: 0,\n })\n .then((resp) => {\n if ('message' in resp) {\n handleToast(resp.message, 'success');\n }\n handleCallback(resp);\n })\n .catch((ex) => {\n if (ex && 'msg' in ex) {\n handleToast(ex.msg, 'danger');\n }\n })\n .finally(() => {\n setLoading(false);\n });\n };\n useEffect(() => {\n if (action?.loading?.state === 'pending') {\n setLoading(true);\n }\n }, []);\n const loadingText = action?.loading?.text || text;\n const disabled = isLoading || readOnly;\n if (nowrap) {\n return (\n \n {isLoading ? (\n <>\n \n {loadingText}\n \n ) : (\n text\n )}\n {iconName && }\n \n );\n }\n\n return (\n
\n \n {isLoading ? (\n <>\n \n {loadingText}\n \n ) : (\n text\n )}\n {iconName && }\n \n
\n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC } from 'react';\nimport { InputGroup } from 'react-bootstrap';\n\nimport type { FormKit, InputGroupOptions } from '../types';\n\nimport Button from './Button';\n\ninterface Props {\n formKitWithContext: FormKit;\n uiOpt: InputGroupOptions;\n prefixText?: string;\n suffixText?: string;\n children: React.ReactNode;\n}\n\nconst InputGroupBtn = ({\n formKitWithContext,\n uiOpt,\n}: {\n formKitWithContext: FormKit;\n uiOpt:\n | InputGroupOptions['prefixBtnOptions']\n | InputGroupOptions['suffixBtnOptions'];\n}) => {\n return (\n \n );\n};\n\nconst Index: FC = ({\n formKitWithContext,\n uiOpt,\n prefixText = null,\n suffixText = null,\n children,\n}) => {\n return (\n \n {prefixText && {prefixText}}\n {uiOpt && 'prefixBtnOptions' in uiOpt && (\n \n )}\n {children}\n {uiOpt && 'suffixBtnOptions' in uiOpt && (\n \n )}\n {suffixText ? {suffixText} : null}\n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, {\n ForwardRefRenderFunction,\n forwardRef,\n useImperativeHandle,\n useEffect,\n} from 'react';\nimport { Form, Button } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nimport isEmpty from 'lodash/isEmpty';\nimport classnames from 'classnames';\n\nimport { scrollElementIntoView } from '@/utils';\nimport type * as Type from '@/common/interface';\n\nimport type {\n JSONSchema,\n FormProps,\n FormRef,\n BaseUIOptions,\n FormKit,\n InputGroupOptions,\n} from './types';\nimport {\n Legend,\n Select,\n Check,\n Switch,\n Timezone,\n Upload,\n Textarea,\n Input,\n Button as SfButton,\n InputGroup,\n} from './components';\n\nexport * from './types';\n\n/**\n * TODO:\n * - [!] Standardised `Admin/Plugins/Config/index.tsx` method for generating dynamic form configurations.\n * - Normalize and document `formData[key].hidden && 'd-none'`\n * - Normalize and document `hiddenSubmit`\n * - Improving field hints for `formData`\n * - Optimise form data updates\n * * Automatic field type conversion\n * * Dynamic field generation\n */\n\n/**\n * json schema form\n * @param schema json schema\n * @param uiSchema ui schema\n * @param formData form data\n * @param onChange change event\n * @param onSubmit submit event\n */\nconst SchemaForm: ForwardRefRenderFunction = (\n {\n schema,\n uiSchema = {},\n refreshConfig,\n formData,\n onChange,\n onSubmit,\n hiddenSubmit = false,\n },\n ref,\n) => {\n const { t } = useTranslation('translation', {\n keyPrefix: 'form',\n });\n const { required = [], properties = {} } = schema || {};\n // check required field\n const excludes = required.filter((key) => !properties[key]);\n if (excludes.length > 0) {\n console.error(t('not_found_props', { key: excludes.join(', ') }));\n }\n formData ||= {};\n const keys = Object.keys(properties);\n /**\n * Prevent components such as `select` from having default values,\n * which are not generated on `formData`\n */\n const setDefaultValueAsDomBehaviour = () => {\n keys.forEach((k) => {\n const fieldVal = formData![k]?.value;\n const metaProp = properties[k];\n const uiCtrl = uiSchema[k]?.['ui:widget'];\n if (!metaProp || !uiCtrl || fieldVal !== undefined) {\n return;\n }\n if (uiCtrl === 'select' && metaProp.enum?.[0] !== undefined) {\n formData![k] = {\n errorMsg: '',\n isInvalid: false,\n value: metaProp.enum?.[0],\n };\n }\n });\n };\n useEffect(() => {\n setDefaultValueAsDomBehaviour();\n }, [formData]);\n\n const formKitWithContext: FormKit = {\n refreshConfig() {\n if (typeof refreshConfig === 'function') {\n refreshConfig();\n }\n },\n };\n\n /**\n * Form validation\n * - Currently only dynamic forms are in use, the business form validation has been handed over to the server\n */\n const requiredValidator = () => {\n const errors: string[] = [];\n required.forEach((key) => {\n if (!formData![key] || !formData![key].value) {\n errors.push(key);\n }\n });\n return errors;\n };\n\n const syncValidator = () => {\n const errors: Array<{ key: string; msg: string }> = [];\n const promises: Array<{\n key: string;\n promise;\n }> = [];\n keys.forEach((key) => {\n const { validator } = uiSchema[key]?.['ui:options'] || {};\n if (validator instanceof Function) {\n const value = formData![key]?.value;\n promises.push({\n key,\n promise: validator(value, formData),\n });\n }\n });\n return Promise.allSettled(promises.map((item) => item.promise)).then(\n (results) => {\n results.forEach((result, index) => {\n const { key } = promises[index];\n if (result.status === 'rejected') {\n errors.push({\n key,\n msg: result.reason.message,\n });\n }\n\n if (result.status === 'fulfilled') {\n const msg = result.value;\n if (typeof msg === 'string') {\n errors.push({\n key,\n msg,\n });\n }\n }\n });\n return errors;\n },\n );\n };\n\n const validator = async (): Promise => {\n const errors = requiredValidator();\n if (errors.length > 0) {\n formData = errors.reduce((acc, cur) => {\n acc[cur] = {\n ...formData![cur],\n isInvalid: true,\n errorMsg:\n uiSchema[cur]?.['ui:options']?.empty ||\n `${properties[cur]?.title} ${t('empty')}`,\n };\n return acc;\n }, formData || {});\n if (onChange instanceof Function) {\n onChange({ ...formData });\n }\n scrollElementIntoView(document.getElementById(errors[0]));\n return false;\n }\n const syncErrors = await syncValidator();\n if (syncErrors.length > 0) {\n formData = syncErrors.reduce((acc, cur) => {\n acc[cur.key] = {\n ...formData![cur.key],\n isInvalid: true,\n errorMsg: cur.msg || `${properties[cur.key].title} ${t('invalid')}`,\n };\n return acc;\n }, formData || {});\n if (onChange instanceof Function) {\n onChange({ ...formData });\n }\n scrollElementIntoView(document.getElementById(syncErrors[0].key));\n return false;\n }\n return true;\n };\n\n const handleSubmit = async (e: React.FormEvent) => {\n e.preventDefault();\n const isValid = await validator();\n if (!isValid) {\n return;\n }\n\n Object.keys(formData!).forEach((key) => {\n formData![key].isInvalid = false;\n formData![key].errorMsg = '';\n });\n if (onChange instanceof Function) {\n onChange(formData!);\n }\n if (onSubmit instanceof Function) {\n onSubmit(e);\n }\n };\n\n useImperativeHandle(ref, () => ({\n validator,\n }));\n if (!formData || !schema || isEmpty(schema.properties)) {\n return null;\n }\n\n return (\n
\n {keys.map((key) => {\n const {\n title,\n description,\n enum: enumValues = [],\n enumNames = [],\n } = properties[key];\n const { 'ui:widget': widget = 'input', 'ui:options': uiOpt } =\n uiSchema?.[key] || {};\n formData ||= {};\n const fieldState = formData[key];\n if (uiOpt?.class_name) {\n uiOpt.className = uiOpt.class_name;\n }\n\n const uiSimplify = widget === 'legend' || uiOpt?.simplify;\n let groupClassName: BaseUIOptions['field_class_name'] = uiOpt?.simplify\n ? 'mb-2'\n : 'mb-3';\n if (widget === 'legend') {\n groupClassName = 'mb-0';\n }\n if (uiOpt?.field_class_name) {\n groupClassName = uiOpt.field_class_name;\n }\n\n const readOnly = uiOpt?.readOnly || false;\n\n return (\n \n {/* Uniform processing `label` */}\n {title && !uiSimplify ? {title} : null}\n {/* Handling of individual specific controls */}\n {widget === 'legend' ? (\n \n ) : null}\n {widget === 'select' ? (\n \n ) : null}\n {widget === 'radio' || widget === 'checkbox' ? (\n \n ) : null}\n {widget === 'switch' ? (\n \n ) : null}\n {widget === 'timezone' ? (\n \n ) : null}\n {widget === 'upload' ? (\n \n ) : null}\n {widget === 'textarea' ? (\n \n ) : null}\n {widget === 'input' ? (\n \n ) : null}\n {widget === 'button' ? (\n \n ) : null}\n {widget === 'input_group' ? (\n \n \n \n ) : null}\n {/* Unified handling of `Feedback` and `Text` */}\n \n {fieldState?.errorMsg}\n \n {description ? (\n \n ) : null}\n \n );\n })}\n {!hiddenSubmit && (\n \n )}\n \n );\n};\n\nexport const initFormData = (schema: JSONSchema): Type.FormDataType => {\n const formData: Type.FormDataType = {};\n const props: JSONSchema['properties'] = schema?.properties || {};\n Object.keys(props).forEach((key) => {\n const prop = props[key];\n let defaultVal: any = '';\n if (Array.isArray(prop.default) && prop.enum && prop.enum.length > 0) {\n // for checkbox default values\n defaultVal = prop.enum;\n } else {\n defaultVal = prop?.default;\n }\n formData[key] = {\n value: defaultVal,\n isInvalid: false,\n errorMsg: '',\n };\n });\n return formData;\n};\n\nexport const mergeFormData = (\n target: Type.FormDataType | null,\n origin: Type.FormDataType | null,\n) => {\n if (!target) {\n return origin;\n }\n if (!origin) {\n return target;\n }\n Object.keys(target).forEach((k) => {\n const oi = origin[k];\n if (oi && oi.value !== undefined) {\n target[k] = {\n value: oi.value,\n isInvalid: false,\n errorMsg: '',\n };\n }\n });\n return target;\n};\n\nexport default forwardRef(SchemaForm);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo, FC } from 'react';\n\nimport classNames from 'classnames';\n\nimport DefaultAvatar from '@/assets/images/default-avatar.svg';\n\ninterface IProps {\n /** avatar url */\n avatar: string | { type: string; gravatar: string; custom: string };\n /** size 48 96 128 256 */\n size: string;\n searchStr?: string;\n className?: string;\n alt: string;\n}\n\nconst Index: FC = ({\n avatar,\n size,\n className,\n searchStr = '',\n alt,\n}) => {\n let url = '';\n if (typeof avatar === 'string') {\n if (avatar.length > 1) {\n url = `${avatar}?${searchStr}${\n avatar?.includes('gravatar') ? '&d=identicon' : ''\n }`;\n }\n } else if (avatar?.type === 'gravatar' && avatar.gravatar) {\n url = `${avatar.gravatar}?${searchStr}&d=identicon`;\n } else if (avatar?.type === 'custom' && avatar.custom) {\n url = `${avatar.custom}?${searchStr}`;\n }\n\n const roundedCls =\n className && className.indexOf('rounded') !== -1 ? '' : 'rounded';\n\n return (\n <>\n {/* eslint-disable jsx-a11y/no-noninteractive-element-to-interactive-role,jsx-a11y/control-has-associated-label */}\n \n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { FC, ReactNode } from 'react';\n\nimport PluginKit, { Plugin, PluginType } from '@/utils/pluginKit';\n/**\n * Note:Please set at least either of the `slug_name` and `type` attributes, otherwise no plugins will be rendered.\n *\n * @field slug_name: The `slug_name` of the plugin needs to be rendered.\n * If this property is set, `PluginRender` will use it first (regardless of whether `type` is set)\n * to find the corresponding plugin and render it.\n * @field type: Used to formulate the rendering of all plugins of this type.\n * (if the `slug_name` attribute is set, it will be ignored)\n * @field prop: Any attribute you want to configure, e.g. `className`\n */\n\ninterface Props {\n slug_name?: string;\n type: PluginType;\n children?: ReactNode;\n [prop: string]: any;\n}\n\nconst Index: FC = ({\n slug_name,\n type,\n children = null,\n className,\n ...props\n}) => {\n const pluginSlice: Plugin[] = [];\n const plugins = PluginKit.getPlugins().filter((plugin) => plugin.activated);\n\n plugins.forEach((plugin) => {\n if (type && slug_name) {\n if (plugin.info.slug_name === slug_name && plugin.info.type === type) {\n pluginSlice.push(plugin);\n }\n } else if (type) {\n if (plugin.info.type === type) {\n pluginSlice.push(plugin);\n }\n } else if (slug_name) {\n if (plugin.info.slug_name === slug_name) {\n pluginSlice.push(plugin);\n }\n }\n });\n\n /**\n * TODO: Rendering control for non-builtin plug-ins\n * ps: Logic such as version compatibility determination can be placed here\n */\n if (pluginSlice.length === 0) {\n if (type === 'editor') {\n return
{children}
;\n }\n return null;\n }\n\n if (type === 'editor') {\n const nodes = React.Children.map(children, (child, index) => {\n if (index === 15) {\n return (\n <>\n {child}\n {pluginSlice.map((ps) => {\n const PluginFC = ps.component;\n return (\n // @ts-ignore\n \n );\n })}\n
\n \n );\n }\n return child;\n });\n\n return
{nodes}
;\n }\n\n return (\n <>\n {pluginSlice.map((ps) => {\n const PluginFC = ps.component;\n return (\n // @ts-ignore\n \n );\n })}\n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React from 'react';\n\nimport { IEditorContext } from './types';\n\nexport const EditorContext = React.createContext({});\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, useContext, useEffect } from 'react';\nimport { Dropdown, Button } from 'react-bootstrap';\n\nimport { EditorContext } from './EditorContext';\nimport { IEditorContext } from './types';\n\ninterface IProps {\n keyMap?: string[];\n onClick?: ({\n editor,\n wrapText,\n replaceLines,\n appendBlock,\n }: IEditorContext) => void;\n tip?: string;\n className?: string;\n as?: any;\n children?;\n label?: string;\n disable?: boolean;\n isShow?: boolean;\n onBlur?: ({\n editor,\n wrapText,\n replaceLines,\n appendBlock,\n }: IEditorContext) => void;\n}\nconst ToolItem: FC = (props) => {\n const editor = useContext(EditorContext);\n\n const {\n label,\n tip,\n disable = false,\n isShow,\n keyMap,\n onClick,\n className,\n as,\n children,\n onBlur,\n } = props;\n\n useEffect(() => {\n if (!editor) {\n return;\n }\n if (!keyMap) {\n return;\n }\n\n keyMap.forEach((key) => {\n editor?.addKeyMap({\n [key]: () => {\n onClick?.({\n editor,\n wrapText: editor?.wrapText,\n replaceLines: editor?.replaceLines,\n appendBlock: editor?.appendBlock,\n });\n },\n });\n });\n }, [editor]);\n\n const btnRender = () => (\n {\n e.preventDefault();\n onClick?.({\n editor,\n wrapText: editor?.wrapText,\n replaceLines: editor?.replaceLines,\n appendBlock: editor?.appendBlock,\n });\n }}\n onBlur={(e) => {\n e.preventDefault();\n onBlur?.({\n editor,\n wrapText: editor?.wrapText,\n replaceLines: editor?.replaceLines,\n appendBlock: editor?.appendBlock,\n });\n }}>\n \n \n );\n\n if (!editor) {\n return null;\n }\n return (\n
\n {as === 'dropdown' ? (\n \n \n {btnRender()}\n \n {children}\n \n ) : (\n <>\n {btnRender()}\n {children}\n \n )}\n
\n );\n};\n\nexport default ToolItem;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst Table = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'table',\n tip: t('table.text'),\n };\n const tableData = [\n [`${t('table.heading')} A`],\n [`${t('table.heading')} B`],\n [`${t('table.cell')} 1`],\n [`${t('table.cell')} 2`],\n [`${t('table.cell')} 3`],\n [`${t('table.cell')} 4`],\n ];\n\n const makeHeader = (col, data) => {\n let header = '|';\n let border = '|';\n let index = 0;\n\n while (col) {\n if (data) {\n header += ` ${data[index]} |`;\n index += 1;\n } else {\n header += ' |';\n }\n\n border += ' ----- |';\n\n col -= 1;\n }\n\n return `${header}\\n${border}\\n`;\n };\n\n const makeBody = (col, row, data) => {\n let body = '';\n let index = col;\n\n for (let irow = 0; irow < row; irow += 1) {\n body += '|';\n\n for (let icol = 0; icol < col; icol += 1) {\n if (data) {\n body += ` ${data[index]} |`;\n index += 1;\n } else {\n body += ' |';\n }\n }\n\n body += '\\n';\n }\n\n body = body.replace(/\\n$/g, '');\n\n return body;\n };\n const handleClick = (ctx) => {\n context = ctx;\n const { editor } = context;\n let table = '\\n';\n\n table += makeHeader(2, tableData);\n table += makeBody(2, 2, tableData);\n editor?.replaceSelection(table);\n editor?.focus();\n };\n\n return ;\n};\n\nexport default memo(Table);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst OL = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'list-ol',\n keyMap: ['Ctrl-o'],\n tip: `${t('ordered_list.text')} (Ctrl+o)`,\n };\n\n const handleClick = (ctx) => {\n context = ctx;\n const { editor, replaceLines } = context;\n\n replaceLines((line, i) => {\n const FIND_OL_RX = /^(\\s{0,})(\\d+)\\.\\s/;\n\n if (line.match(FIND_OL_RX)) {\n line = line.replace(FIND_OL_RX, '');\n } else {\n line = `${i + 1}. ${line}`;\n }\n return line;\n });\n editor.focus();\n };\n\n return ;\n};\n\nexport default memo(OL);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst UL = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'list-ul',\n keyMap: ['Ctrl-u'],\n tip: `${t('unordered_list.text')} (Ctrl+u)`,\n };\n\n const handleClick = (ctx) => {\n context = ctx;\n const { editor, replaceLines } = context;\n\n replaceLines((line) => {\n const FIND_UL_RX = /^(\\s{0,})(-|\\*)\\s/;\n\n if (line.match(FIND_UL_RX)) {\n line = line.replace(FIND_UL_RX, '');\n } else {\n line = `* ${line}`;\n }\n return line;\n });\n editor.focus();\n };\n\n return ;\n};\n\nexport default memo(UL);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst Indent = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'text-indent-left',\n tip: t('indent.text'),\n };\n const handleClick = (ctx) => {\n context = ctx;\n const { editor, replaceLines } = context;\n\n replaceLines((line) => {\n line = ` ${line}`;\n return line;\n });\n editor?.focus();\n };\n\n return ;\n};\n\nexport default memo(Indent);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst Outdent = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'text-indent-right',\n keyMap: ['Shift-Tab'],\n tip: t('outdent.text'),\n };\n const handleClick = (ctx) => {\n context = ctx;\n const { editor, replaceLines } = context;\n replaceLines((line) => {\n line = line.replace(/^(\\s{0,})/, (_1, $1) => {\n return $1.length > 4 ? $1.substring(4) : '';\n });\n return line;\n });\n editor?.focus();\n };\n\n return ;\n};\n\nexport default memo(Outdent);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst Hr = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'hr',\n keyMap: ['Ctrl-r'],\n tip: `${t('hr.text')} (Ctrl+r)`,\n };\n const handleClick = (ctx) => {\n context = ctx;\n const { appendBlock, editor } = context;\n appendBlock('----------\\n');\n editor?.focus();\n };\n\n return ;\n};\n\nexport default memo(Hr);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { useState, memo } from 'react';\nimport { Dropdown } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst Heading = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const headerList = [\n {\n text: `

${t('heading.options.h1')}

`,\n level: 1,\n label: t('heading.options.h1'),\n },\n {\n text: `

${t('heading.options.h2')}

`,\n level: 2,\n label: t('heading.options.h2'),\n },\n {\n text: `

${t('heading.options.h3')}

`,\n level: 3,\n label: t('heading.options.h3'),\n },\n {\n text: `

${t('heading.options.h4')}

`,\n level: 4,\n label: t('heading.options.h4'),\n },\n {\n text: `
${t('heading.options.h5')}
`,\n level: 5,\n label: t('heading.options.h5'),\n },\n {\n text: `
${t('heading.options.h6')}
`,\n level: 6,\n label: t('heading.options.h6'),\n },\n ];\n const item = {\n label: 'type',\n keyMap: ['Ctrl-h'],\n tip: `${t('heading.text')} (Ctrl+h)`,\n };\n const [isShow, setShowState] = useState(false);\n const [isLocked, setLockState] = useState(false);\n\n const handleClick = (level = 2, label = '大标题') => {\n const { replaceLines } = context;\n\n replaceLines((line) => {\n line = line.trim().replace(/^#*/, '').trim();\n line = `${'#'.repeat(level)} ${line || label}`;\n return line;\n }, level + 1);\n setShowState(false);\n };\n const onAddHeader = (ctx) => {\n context = ctx;\n if (isLocked) {\n return;\n }\n setShowState(!isShow);\n };\n\n const handleMouseEnter = () => {\n setLockState(true);\n };\n\n const handleMouseLeave = () => {\n setLockState(false);\n };\n return (\n \n \n {headerList.map((header) => {\n return (\n {\n e.preventDefault();\n e.stopPropagation();\n handleClick(header.level, header.label);\n }}\n dangerouslySetInnerHTML={{ __html: header.text }}\n />\n );\n })}\n \n
\n );\n};\n\nexport default memo(Heading);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst Bold = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'type-bold',\n keyMap: ['Ctrl-b'],\n tip: `${t('bold.text')} (Ctrl+b)`,\n };\n const DEFAULTTEXT = t('bold.text');\n\n const handleClick = (ctx) => {\n context = ctx;\n context.wrapText('**', '**', DEFAULTTEXT);\n context.editor?.focus();\n };\n\n return ;\n};\n\nexport default memo(Bold);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst Italic = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'type-italic',\n keyMap: ['Ctrl-i'],\n tip: `${t('italic.text')} (Ctrl+i)`,\n };\n const DEFAULTTEXT = t('italic.text');\n\n const handleClick = (ctx) => {\n context = ctx;\n const { editor, wrapText } = context;\n wrapText('*', '*', DEFAULTTEXT);\n editor?.focus();\n };\n\n return ;\n};\n\nexport default memo(Italic);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, useEffect, useState } from 'react';\nimport { Dropdown, FormControl } from 'react-bootstrap';\n\ninterface IProps {\n options;\n value?;\n onChange?;\n placeholder?;\n onSelect?;\n}\nconst Select: FC = ({\n options = [],\n value = '',\n onChange,\n placeholder = '',\n onSelect,\n}) => {\n const [isFocus, setFocusState] = useState(false);\n const [cursor, setCursor] = useState(0);\n\n useEffect(() => {\n setCursor(0);\n }, [value]);\n const handleKeyDown = (e) => {\n const { keyCode } = e;\n\n if (keyCode === 38 && cursor > 0) {\n e.preventDefault();\n setCursor(cursor - 1);\n }\n if (keyCode === 40 && cursor < options.length - 1) {\n e.preventDefault();\n\n setCursor(cursor + 1);\n }\n if (keyCode === 13 && cursor > -1 && cursor <= options.length - 1) {\n const lang = options.filter((opt) =>\n value ? opt.indexOf(value) === 0 : true,\n )[cursor];\n\n setFocusState(false);\n onSelect(lang);\n }\n };\n\n const result = options.filter((opt) =>\n value ? opt.indexOf(value) === 0 : true,\n );\n\n return (\n
\n {\n setFocusState(true);\n if (onChange instanceof Function) {\n onChange(e);\n }\n }}\n />\n {result.length > 0 && (\n \n {result.map((opt, index) => {\n return (\n {\n e.preventDefault();\n setFocusState(false);\n onSelect(opt);\n }}>\n {opt}\n \n );\n })}\n \n )}\n
\n );\n};\n\nexport default Select;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { useEffect, useRef, useState, memo } from 'react';\nimport { Button, Form, Modal } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nimport Select from '../Select';\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nconst codeLanguageType = [\n 'bash',\n 'sh',\n 'zsh',\n 'c',\n 'h',\n 'cpp',\n 'hpp',\n 'c++',\n 'h++',\n 'cc',\n 'hh',\n 'cxx',\n 'hxx',\n 'c-like',\n 'cs',\n 'csharp',\n 'c#',\n 'clojure',\n 'clj',\n 'coffee',\n 'coffeescript',\n 'cson',\n 'iced',\n 'css',\n 'dart',\n 'erl',\n 'erlang',\n 'go',\n 'golang',\n 'hs',\n 'haskell',\n 'html',\n 'xml',\n 'xsl',\n 'xhtml',\n 'rss',\n 'atom',\n 'xjb',\n 'xsd',\n 'plist',\n 'wsf',\n 'svg',\n 'http',\n 'https',\n 'ini',\n 'toml',\n 'java',\n 'jsp',\n 'js',\n 'javascript',\n 'jsx',\n 'mjs',\n 'cjs',\n 'json',\n 'kotlin',\n 'kt',\n 'latex',\n 'tex',\n 'less',\n 'lisp',\n 'lua',\n 'makefile',\n 'mk',\n 'mak',\n 'markdown',\n 'md',\n 'mkdown',\n 'mkd',\n 'matlab',\n 'objectivec',\n 'mm',\n 'objc',\n 'obj-c',\n 'ocaml',\n 'ml',\n 'pascal',\n 'delphi',\n 'dpr',\n 'dfm',\n 'pas',\n 'freepascal',\n 'lazarus',\n 'lpr',\n 'lfm',\n 'pl',\n 'perl',\n 'pm',\n 'php',\n 'php3',\n 'php4',\n 'php5',\n 'php6',\n 'php7',\n 'php-template',\n 'protobuf',\n 'py',\n 'python',\n 'gyp',\n 'ipython',\n 'r',\n 'rb',\n 'ruby',\n 'gemspec',\n 'podspec',\n 'thor',\n 'irb',\n 'rs',\n 'rust',\n 'scala',\n 'scheme',\n 'scss',\n 'shell',\n 'console',\n 'sql',\n 'swift',\n 'typescript',\n 'ts',\n 'vhdl',\n 'vbnet',\n 'vb',\n 'yaml',\n 'yml',\n];\n\nlet context: IEditorContext;\nconst Code = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n\n const item = {\n label: 'code-slash',\n keyMap: ['Ctrl-k'],\n tip: `${t('code.text')} (Ctrl+k)`,\n };\n\n const [code, setCode] = useState({\n value: '',\n isInvalid: false,\n errorMsg: '',\n });\n const [visible, setVisible] = useState(false);\n const [lang, setLang] = useState('');\n const inputRef = useRef(null);\n\n const SINGLELINEMAXLENGTH = 40;\n const addCode = (ctx) => {\n context = ctx;\n\n const { wrapText, editor } = context;\n\n const text = context.editor.getSelection();\n\n if (!text) {\n setVisible(true);\n\n return;\n }\n if (text.length > SINGLELINEMAXLENGTH) {\n context.wrapText('```\\n', '\\n```');\n } else {\n wrapText('`', '`');\n }\n editor.focus();\n };\n\n useEffect(() => {\n if (visible && inputRef.current) {\n inputRef.current.focus();\n }\n }, [visible]);\n\n const handleClick = () => {\n if (!code.value.trim()) {\n setCode({\n ...code,\n errorMsg: t('code.form.fields.code.msg.empty'),\n isInvalid: true,\n });\n return;\n }\n\n let value;\n\n if (\n code.value.split('\\n').length > 1 ||\n code.value.length >= SINGLELINEMAXLENGTH\n ) {\n value = `\\n\\`\\`\\`${lang}\\n${code.value}\\n\\`\\`\\`\\n`;\n } else {\n value = `\\`${code.value}\\``;\n }\n context.editor.replaceSelection(value);\n setCode({\n value: '',\n isInvalid: false,\n errorMsg: '',\n });\n setLang('');\n setVisible(false);\n };\n const onHide = () => setVisible(false);\n const onExited = () => context.editor?.focus();\n\n return (\n \n \n \n
{t('code.add_code')}
\n
\n \n \n {t('code.form.fields.code.label')}\n setCode({ ...code, value: e.target.value })}\n />\n {code.isInvalid && (\n \n {code.errorMsg}\n \n )}\n \n \n {`${t('code.form.fields.language.label')} ${t(\n 'optional',\n {\n keyPrefix: 'form',\n },\n )}`}\n setLang(e.target.value)}\n onSelect={(val) => setLang(val)}\n placeholder={t('code.form.fields.language.placeholder')}\n />\n \n \n \n {\n setVisible(false);\n setCode({\n value: '',\n isInvalid: false,\n errorMsg: '',\n });\n }}>\n {t('code.btn_cancel')}\n \n \n \n \n
\n );\n};\n\nexport default memo(Code);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { useEffect, useRef, useState, memo } from 'react';\nimport { Button, Form, Modal } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst Link = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n const item = {\n label: 'link-45deg',\n keyMap: ['Ctrl-l'],\n tip: `${t('link.text')} (Ctrl+l)`,\n };\n const [visible, setVisible] = useState(false);\n const [link, setLink] = useState({\n value: 'https://',\n isInvalid: false,\n errorMsg: '',\n });\n const [name, setName] = useState({\n value: '',\n isInvalid: false,\n errorMsg: '',\n });\n const inputRef = useRef(null);\n\n useEffect(() => {\n if (visible && inputRef.current) {\n inputRef.current.setSelectionRange(0, inputRef.current.value.length);\n inputRef.current.focus();\n }\n }, [visible]);\n\n const addLink = (ctx) => {\n context = ctx;\n const { editor } = context;\n\n const text = editor.getSelection();\n\n setName({ ...name, value: text });\n\n setVisible(true);\n };\n const handleClick = () => {\n const { editor } = context;\n\n if (!link.value) {\n setLink({ ...link, isInvalid: true });\n return;\n }\n const newStr = name.value\n ? `[${name.value}](${link.value})`\n : `<${link.value}>`;\n\n editor.replaceSelection(newStr);\n\n setVisible(false);\n\n editor.focus();\n setLink({ ...link, value: '' });\n setName({ ...name, value: '' });\n };\n const onHide = () => setVisible(false);\n const onExited = () => {\n const { editor } = context;\n editor.focus();\n };\n\n return (\n <>\n \n \n \n
{t('link.add_link')}
\n
\n \n
\n \n {t('link.form.fields.url.label')}\n setLink({ ...link, value: e.target.value })}\n isInvalid={link.isInvalid}\n />\n \n\n \n {`${t('link.form.fields.name.label')} ${t(\n 'optional',\n {\n keyPrefix: 'form',\n },\n )}`}\n setName({ ...name, value: e.target.value })}\n isInvalid={name.isInvalid}\n />\n \n
\n
\n \n \n \n \n \n \n );\n};\n\nexport default memo(Link);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ToolItem from '../toolItem';\nimport { IEditorContext } from '../types';\n\nlet context: IEditorContext;\nconst BlockQuote = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'editor' });\n\n const item = {\n label: 'quote',\n keyMap: ['Ctrl-q'],\n tip: `${t('blockquote.text')} (Ctrl+Q)`,\n };\n\n const handleClick = (ctx) => {\n context = ctx;\n context.replaceLines((line) => {\n const FIND_BLOCKQUOTE_RX = /^>\\s+?/g;\n\n if (line === `> ${t('blockquote.text')}`) {\n line = '';\n } else if (line.match(FIND_BLOCKQUOTE_RX)) {\n line = line.replace(FIND_BLOCKQUOTE_RX, '');\n } else {\n line = `> ${line || t('blockquote.text')}`;\n }\n return line;\n }, 2);\n context.editor?.focus();\n };\n\n return ;\n};\n\nexport default memo(BlockQuote);\n","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabContent = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'tab-content');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nTabContent.displayName = 'TabContent';\nexport default TabContent;","import NoopTransition from '@restart/ui/NoopTransition';\nimport Fade from './Fade';\nexport default function getTabTransitionComponent(transition) {\n if (typeof transition === 'boolean') {\n return transition ? Fade : NoopTransition;\n }\n return transition;\n}","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport SelectableContext from '@restart/ui/SelectableContext';\nimport TabContext from '@restart/ui/TabContext';\nimport { useTabPanel } from '@restart/ui/TabPanel';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport Fade from './Fade';\nimport getTabTransitionComponent from './getTabTransitionComponent';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabPane = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n transition,\n ...props\n}, ref) => {\n const [{\n className,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...rest\n }, {\n isActive,\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited,\n mountOnEnter,\n unmountOnExit,\n transition: Transition = Fade\n }] = useTabPanel({\n ...props,\n transition: getTabTransitionComponent(transition)\n });\n const prefix = useBootstrapPrefix(bsPrefix, 'tab-pane');\n\n // We provide an empty the TabContext so `
\n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport {\n forwardRef,\n useEffect,\n useRef,\n useState,\n memo,\n useImperativeHandle,\n} from 'react';\n\nimport { markdownToHtml } from '@/services';\nimport ImgViewer from '@/components/ImgViewer';\n\nimport { htmlRender } from './utils';\n\nlet scrollTop = 0;\nlet renderTimer;\n\nconst Index = ({ value }, ref) => {\n const [html, setHtml] = useState('');\n const previewRef = useRef(null);\n\n const renderMarkdown = (markdown) => {\n clearTimeout(renderTimer);\n const timeout = renderTimer ? 1000 : 0;\n renderTimer = setTimeout(() => {\n markdownToHtml(markdown).then((resp) => {\n scrollTop = previewRef.current?.scrollTop || 0;\n setHtml(resp);\n });\n }, timeout);\n };\n useEffect(() => {\n renderMarkdown(value);\n }, [value]);\n\n useEffect(() => {\n if (!html) {\n return;\n }\n\n previewRef.current?.scrollTo(0, scrollTop);\n\n htmlRender(previewRef.current);\n }, [html]);\n\n useImperativeHandle(ref, () => {\n return {\n getHtml: () => html,\n element: previewRef.current,\n };\n });\n\n return (\n \n \n \n );\n};\n\nexport default memo(forwardRef(Index));\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport {\n useEffect,\n useRef,\n ForwardRefRenderFunction,\n forwardRef,\n useImperativeHandle,\n} from 'react';\n\nimport classNames from 'classnames';\n\nimport { PluginType, useRenderPlugin } from '@/utils/pluginKit';\nimport PluginRender from '../PluginRender';\n\nimport {\n BlockQuote,\n Bold,\n Code,\n Heading,\n Help,\n Hr,\n Image,\n Indent,\n Italice,\n Link as LinkItem,\n OL,\n Outdent,\n Table,\n UL,\n} from './ToolBars';\nimport { htmlRender, useEditor } from './utils';\nimport Viewer from './Viewer';\nimport { EditorContext } from './EditorContext';\n\nimport './index.scss';\n\nexport interface EditorRef {\n getHtml: () => string;\n}\n\ninterface EventRef {\n onChange?(value: string): void;\n onFocus?(): void;\n onBlur?(): void;\n}\n\ninterface Props extends EventRef {\n editorPlaceholder?;\n className?;\n value;\n autoFocus?: boolean;\n}\n\nconst MDEditor: ForwardRefRenderFunction = (\n {\n editorPlaceholder = '',\n className = '',\n value,\n onChange,\n onFocus,\n onBlur,\n autoFocus = false,\n },\n ref,\n) => {\n const editorRef = useRef(null);\n const previewRef = useRef<{ getHtml; element } | null>(null);\n\n useRenderPlugin(previewRef.current?.element);\n\n const editor = useEditor({\n editorRef,\n onChange,\n onFocus,\n onBlur,\n placeholder: editorPlaceholder,\n autoFocus,\n });\n\n const getHtml = () => {\n return previewRef.current?.getHtml();\n };\n\n useImperativeHandle(ref, () => ({\n getHtml,\n }));\n\n useEffect(() => {\n if (!editor) {\n return;\n }\n if (editor.getValue() !== value) {\n editor.setValue(value || '');\n }\n }, [editor, value]);\n\n return (\n <>\n
\n \n {editor && (\n \n \n \n \n
\n \n \n
\n \n \n
\n
    \n
      \n \n \n
      \n
      \n \n \n )}\n \n\n
      \n \n
      \n
      \n \n \n );\n};\nexport { htmlRender };\nexport default forwardRef(MDEditor);\n","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NavbarBrand = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n as,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'navbar-brand');\n const Component = as || (props.href ? 'a' : 'span');\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref,\n className: classNames(className, bsPrefix)\n });\n});\nNavbarBrand.displayName = 'NavbarBrand';\nexport default NavbarBrand;","\"use client\";\n\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport Collapse from './Collapse';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport NavbarContext from './NavbarContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NavbarCollapse = /*#__PURE__*/React.forwardRef(({\n children,\n bsPrefix,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'navbar-collapse');\n const context = useContext(NavbarContext);\n return /*#__PURE__*/_jsx(Collapse, {\n in: !!(context && context.expanded),\n ...props,\n children: /*#__PURE__*/_jsx(\"div\", {\n ref: ref,\n className: bsPrefix,\n children: children\n })\n });\n});\nNavbarCollapse.displayName = 'NavbarCollapse';\nexport default NavbarCollapse;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport NavbarContext from './NavbarContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NavbarToggle = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n children,\n label = 'Toggle navigation',\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'button',\n onClick,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'navbar-toggler');\n const {\n onToggle,\n expanded\n } = useContext(NavbarContext) || {};\n const handleClick = useEventCallback(e => {\n if (onClick) onClick(e);\n if (onToggle) onToggle();\n });\n if (Component === 'button') {\n props.type = 'button';\n }\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref,\n onClick: handleClick,\n \"aria-label\": label,\n className: classNames(className, bsPrefix, !expanded && 'collapsed'),\n children: children || /*#__PURE__*/_jsx(\"span\", {\n className: `${bsPrefix}-icon`\n })\n });\n});\nNavbarToggle.displayName = 'NavbarToggle';\nexport default NavbarToggle;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst OffcanvasBody = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'offcanvas-body');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nOffcanvasBody.displayName = 'OffcanvasBody';\nexport default OffcanvasBody;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ENTERED, ENTERING, EXITING } from 'react-transition-group/Transition';\nimport transitionEndListener from './transitionEndListener';\nimport TransitionWrapper from './TransitionWrapper';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst transitionStyles = {\n [ENTERING]: 'show',\n [ENTERED]: 'show'\n};\nconst OffcanvasToggling = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n children,\n in: inProp = false,\n mountOnEnter = false,\n unmountOnExit = false,\n appear = false,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'offcanvas');\n return /*#__PURE__*/_jsx(TransitionWrapper, {\n ref: ref,\n addEndListener: transitionEndListener,\n in: inProp,\n mountOnEnter: mountOnEnter,\n unmountOnExit: unmountOnExit,\n appear: appear,\n ...props,\n childRef: children.ref,\n children: (status, innerProps) => /*#__PURE__*/React.cloneElement(children, {\n ...innerProps,\n className: classNames(className, children.props.className, (status === ENTERING || status === EXITING) && `${bsPrefix}-toggling`, transitionStyles[status])\n })\n });\n});\nOffcanvasToggling.displayName = 'OffcanvasToggling';\nexport default OffcanvasToggling;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport AbstractModalHeader from './AbstractModalHeader';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst OffcanvasHeader = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n closeLabel = 'Close',\n closeButton = false,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'offcanvas-header');\n return /*#__PURE__*/_jsx(AbstractModalHeader, {\n ref: ref,\n ...props,\n className: classNames(className, bsPrefix),\n closeLabel: closeLabel,\n closeButton: closeButton\n });\n});\nOffcanvasHeader.displayName = 'OffcanvasHeader';\nexport default OffcanvasHeader;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport divWithClassName from './divWithClassName';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DivStyledAsH5 = divWithClassName('h5');\nconst OffcanvasTitle = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = DivStyledAsH5,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'offcanvas-title');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nOffcanvasTitle.displayName = 'OffcanvasTitle';\nexport default OffcanvasTitle;","\"use client\";\n\nimport classNames from 'classnames';\nimport useBreakpoint from '@restart/hooks/useBreakpoint';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport * as React from 'react';\nimport { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport BaseModal from '@restart/ui/Modal';\nimport Fade from './Fade';\nimport OffcanvasBody from './OffcanvasBody';\nimport OffcanvasToggling from './OffcanvasToggling';\nimport ModalContext from './ModalContext';\nimport NavbarContext from './NavbarContext';\nimport OffcanvasHeader from './OffcanvasHeader';\nimport OffcanvasTitle from './OffcanvasTitle';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport BootstrapModalManager, { getSharedManager } from './BootstrapModalManager';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction DialogTransition(props) {\n return /*#__PURE__*/_jsx(OffcanvasToggling, {\n ...props\n });\n}\nfunction BackdropTransition(props) {\n return /*#__PURE__*/_jsx(Fade, {\n ...props\n });\n}\nconst Offcanvas = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n children,\n 'aria-labelledby': ariaLabelledby,\n placement = 'start',\n responsive,\n /* BaseModal props */\n\n show = false,\n backdrop = true,\n keyboard = true,\n scroll = false,\n onEscapeKeyDown,\n onShow,\n onHide,\n container,\n autoFocus = true,\n enforceFocus = true,\n restoreFocus = true,\n restoreFocusOptions,\n onEntered,\n onExit,\n onExiting,\n onEnter,\n onEntering,\n onExited,\n backdropClassName,\n manager: propsManager,\n renderStaticNode = false,\n ...props\n}, ref) => {\n const modalManager = useRef();\n bsPrefix = useBootstrapPrefix(bsPrefix, 'offcanvas');\n const {\n onToggle\n } = useContext(NavbarContext) || {};\n const [showOffcanvas, setShowOffcanvas] = useState(false);\n const hideResponsiveOffcanvas = useBreakpoint(responsive || 'xs', 'up');\n useEffect(() => {\n // Handles the case where screen is resized while the responsive\n // offcanvas is shown. If `responsive` not provided, just use `show`.\n setShowOffcanvas(responsive ? show && !hideResponsiveOffcanvas : show);\n }, [show, responsive, hideResponsiveOffcanvas]);\n const handleHide = useEventCallback(() => {\n onToggle == null ? void 0 : onToggle();\n onHide == null ? void 0 : onHide();\n });\n const modalContext = useMemo(() => ({\n onHide: handleHide\n }), [handleHide]);\n function getModalManager() {\n if (propsManager) return propsManager;\n if (scroll) {\n // Have to use a different modal manager since the shared\n // one handles overflow.\n if (!modalManager.current) modalManager.current = new BootstrapModalManager({\n handleContainerOverflow: false\n });\n return modalManager.current;\n }\n return getSharedManager();\n }\n const handleEnter = (node, ...args) => {\n if (node) node.style.visibility = 'visible';\n onEnter == null ? void 0 : onEnter(node, ...args);\n };\n const handleExited = (node, ...args) => {\n if (node) node.style.visibility = '';\n onExited == null ? void 0 : onExited(...args);\n };\n const renderBackdrop = useCallback(backdropProps => /*#__PURE__*/_jsx(\"div\", {\n ...backdropProps,\n className: classNames(`${bsPrefix}-backdrop`, backdropClassName)\n }), [backdropClassName, bsPrefix]);\n const renderDialog = dialogProps => /*#__PURE__*/_jsx(\"div\", {\n ...dialogProps,\n ...props,\n className: classNames(className, responsive ? `${bsPrefix}-${responsive}` : bsPrefix, `${bsPrefix}-${placement}`),\n \"aria-labelledby\": ariaLabelledby,\n children: children\n });\n return /*#__PURE__*/_jsxs(_Fragment, {\n children: [!showOffcanvas && (responsive || renderStaticNode) && renderDialog({}), /*#__PURE__*/_jsx(ModalContext.Provider, {\n value: modalContext,\n children: /*#__PURE__*/_jsx(BaseModal, {\n show: showOffcanvas,\n ref: ref,\n backdrop: backdrop,\n container: container,\n keyboard: keyboard,\n autoFocus: autoFocus,\n enforceFocus: enforceFocus && !scroll,\n restoreFocus: restoreFocus,\n restoreFocusOptions: restoreFocusOptions,\n onEscapeKeyDown: onEscapeKeyDown,\n onShow: onShow,\n onHide: handleHide,\n onEnter: handleEnter,\n onEntering: onEntering,\n onEntered: onEntered,\n onExit: onExit,\n onExiting: onExiting,\n onExited: handleExited,\n manager: getModalManager(),\n transition: DialogTransition,\n backdropTransition: BackdropTransition,\n renderBackdrop: renderBackdrop,\n renderDialog: renderDialog\n })\n })]\n });\n});\nOffcanvas.displayName = 'Offcanvas';\nexport default Object.assign(Offcanvas, {\n Body: OffcanvasBody,\n Header: OffcanvasHeader,\n Title: OffcanvasTitle\n});","\"use client\";\n\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport Offcanvas from './Offcanvas';\nimport NavbarContext from './NavbarContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NavbarOffcanvas = /*#__PURE__*/React.forwardRef((props, ref) => {\n const context = useContext(NavbarContext);\n return /*#__PURE__*/_jsx(Offcanvas, {\n ref: ref,\n show: !!(context != null && context.expanded),\n ...props,\n renderStaticNode: true\n });\n});\nNavbarOffcanvas.displayName = 'NavbarOffcanvas';\nexport default NavbarOffcanvas;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NavbarText = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'span',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'navbar-text');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nNavbarText.displayName = 'NavbarText';\nexport default NavbarText;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useCallback, useMemo } from 'react';\nimport SelectableContext from '@restart/ui/SelectableContext';\nimport { useUncontrolled } from 'uncontrollable';\nimport NavbarBrand from './NavbarBrand';\nimport NavbarCollapse from './NavbarCollapse';\nimport NavbarToggle from './NavbarToggle';\nimport NavbarOffcanvas from './NavbarOffcanvas';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport NavbarContext from './NavbarContext';\nimport NavbarText from './NavbarText';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Navbar = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n bsPrefix: initialBsPrefix,\n expand = true,\n variant = 'light',\n bg,\n fixed,\n sticky,\n className,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'nav',\n expanded,\n onToggle,\n onSelect,\n collapseOnSelect = false,\n ...controlledProps\n } = useUncontrolled(props, {\n expanded: 'onToggle'\n });\n const bsPrefix = useBootstrapPrefix(initialBsPrefix, 'navbar');\n const handleCollapse = useCallback((...args) => {\n onSelect == null ? void 0 : onSelect(...args);\n if (collapseOnSelect && expanded) {\n onToggle == null ? void 0 : onToggle(false);\n }\n }, [onSelect, collapseOnSelect, expanded, onToggle]);\n\n // will result in some false positives but that seems better\n // than false negatives. strict `undefined` check allows explicit\n // \"nulling\" of the role if the user really doesn't want one\n if (controlledProps.role === undefined && Component !== 'nav') {\n controlledProps.role = 'navigation';\n }\n let expandClass = `${bsPrefix}-expand`;\n if (typeof expand === 'string') expandClass = `${expandClass}-${expand}`;\n const navbarContext = useMemo(() => ({\n onToggle: () => onToggle == null ? void 0 : onToggle(!expanded),\n bsPrefix,\n expanded: !!expanded,\n expand\n }), [bsPrefix, expanded, expand, onToggle]);\n return /*#__PURE__*/_jsx(NavbarContext.Provider, {\n value: navbarContext,\n children: /*#__PURE__*/_jsx(SelectableContext.Provider, {\n value: handleCollapse,\n children: /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...controlledProps,\n className: classNames(className, bsPrefix, expand && expandClass, variant && `${bsPrefix}-${variant}`, bg && `bg-${bg}`, sticky && `sticky-${sticky}`, fixed && `fixed-${fixed}`)\n })\n })\n });\n});\nNavbar.displayName = 'Navbar';\nexport default Object.assign(Navbar, {\n Brand: NavbarBrand,\n Collapse: NavbarCollapse,\n Offcanvas: NavbarOffcanvas,\n Text: NavbarText,\n Toggle: NavbarToggle\n});","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo } from 'react';\nimport { Nav, Dropdown } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\nimport { NavLink, useNavigate } from 'react-router-dom';\n\nimport type * as Type from '@/common/interface';\nimport { Avatar, Icon } from '@/components';\nimport { floppyNavigation } from '@/utils';\nimport { userCenterStore } from '@/stores';\nimport { REACT_BASE_PATH } from '@/router/alias';\n\ninterface Props {\n redDot: Type.NotificationStatus | undefined;\n userInfo: Type.UserInfoRes;\n logOut: (e) => void;\n}\n\nconst Index: FC = ({ redDot, userInfo, logOut }) => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { agent: ucAgent } = userCenterStore();\n const handleLinkClick = (evt) => {\n if (floppyNavigation.shouldProcessLinkClick(evt)) {\n evt.preventDefault();\n const href = evt.currentTarget.getAttribute('href');\n floppyNavigation.navigate(href, {\n handler: navigate,\n });\n }\n };\n return (\n <>\n \n\n \n \n \n \n\n \n \n {t('header.nav.profile')}\n \n \n {t('header.nav.bookmark')}\n \n \n {t('header.nav.setting')}\n \n \n logOut(e)}>\n {t('header.nav.logout')}\n \n \n \n {/* Dropdown for user center agent info */}\n {ucAgent?.enabled &&\n (ucAgent?.agent_info?.url ||\n ucAgent?.agent_info?.control_center?.length) ? (\n \n \n \n \n\n \n {ucAgent.agent_info.url ? (\n \n {ucAgent.agent_info.name}\n \n ) : null}\n {ucAgent.agent_info.url &&\n ucAgent.agent_info.control_center?.length ? (\n \n ) : null}\n {ucAgent.agent_info.control_center?.map((ctrl) => {\n return (\n \n {ctrl.label}\n \n );\n })}\n \n \n ) : null}\n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo, useState, useEffect } from 'react';\nimport {\n Navbar,\n Container,\n Nav,\n Form,\n FormControl,\n Col,\n} from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\nimport {\n useSearchParams,\n Link,\n useNavigate,\n useLocation,\n useMatch,\n} from 'react-router-dom';\n\nimport classnames from 'classnames';\n\nimport { userCenter, floppyNavigation } from '@/utils';\nimport {\n loggedUserInfoStore,\n siteInfoStore,\n brandingStore,\n loginSettingStore,\n themeSettingStore,\n sideNavStore,\n} from '@/stores';\nimport { logout, useQueryNotificationStatus } from '@/services';\nimport { Icon } from '@/components';\n\nimport NavItems from './components/NavItems';\n\nimport './index.scss';\n\nconst Header: FC = () => {\n const navigate = useNavigate();\n const location = useLocation();\n const [urlSearch] = useSearchParams();\n const q = urlSearch.get('q');\n const { user, clear: clearUserStore } = loggedUserInfoStore();\n const { t } = useTranslation();\n const [searchStr, setSearch] = useState('');\n const siteInfo = siteInfoStore((state) => state.siteInfo);\n const brandingInfo = brandingStore((state) => state.branding);\n const loginSetting = loginSettingStore((state) => state.login);\n const { updateReview, updateVisible } = sideNavStore();\n const { data: redDot } = useQueryNotificationStatus();\n /**\n * Automatically append `tag` information when creating a question\n */\n const tagMatch = useMatch('/tags/:slugName');\n let askUrl = '/questions/ask';\n if (tagMatch && tagMatch.params.slugName) {\n askUrl = `${askUrl}?tags=${encodeURIComponent(tagMatch.params.slugName)}`;\n }\n\n useEffect(() => {\n updateReview({\n can_revision: Boolean(redDot?.can_revision),\n revision: Number(redDot?.revision),\n });\n }, [redDot]);\n\n const handleInput = (val) => {\n setSearch(val);\n };\n const handleSearch = (evt) => {\n evt.preventDefault();\n if (!searchStr) {\n return;\n }\n const searchUrl = `/search?q=${encodeURIComponent(searchStr)}`;\n navigate(searchUrl);\n };\n\n const handleLogout = async (evt) => {\n evt.preventDefault();\n await logout();\n clearUserStore();\n window.location.replace(window.location.href);\n };\n\n useEffect(() => {\n if (q && location.pathname === '/search') {\n handleInput(q);\n }\n }, [q]);\n\n useEffect(() => {\n const collapse = document.querySelector('#navBarContent');\n if (collapse && collapse.classList.contains('show')) {\n const toggle = document.querySelector('#navBarToggle') as HTMLElement;\n if (toggle) {\n toggle?.click();\n }\n }\n\n // clear search input when navigate to other page\n if (location.pathname !== '/search' && searchStr) {\n setSearch('');\n }\n }, [location.pathname]);\n\n let navbarStyle = 'theme-colored';\n const { theme, theme_config } = themeSettingStore((_) => _);\n if (theme_config?.[theme]?.navbar_style) {\n navbarStyle = `theme-${theme_config[theme].navbar_style}`;\n }\n\n return (\n \n \n {\n updateVisible();\n }}\n />\n\n
      \n \n {brandingInfo.logo ? (\n <>\n \n\n \n \n ) : (\n {siteInfo.name}\n )}\n \n\n {/* mobile nav */}\n
      \n {user?.username ? (\n handleLogout(e)}\n />\n ) : (\n <>\n floppyNavigation.storageLoginRedirect()}\n to={userCenter.getLoginUrl()}>\n {t('btns.login')}\n \n {loginSetting.allow_new_registrations && (\n \n {t('btns.signup')}\n \n )}\n \n )}\n
      \n
      \n\n \n
      \n
\n \n
\n \n
\n handleInput(e.target.value)}\n />\n \n \n\n \n \n {t('btns.add_question')}\n \n \n {/* pc nav */}\n \n {user?.username ? (\n \n ) : (\n <>\n floppyNavigation.storageLoginRedirect()}\n to={userCenter.getLoginUrl()}>\n {t('btns.login')}\n \n {loginSetting.allow_new_registrations && (\n \n {t('btns.signup')}\n \n )}\n \n )}\n \n \n \n \n );\n};\n\nexport default memo(Header);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React from 'react';\nimport { Container } from 'react-bootstrap';\nimport { Trans } from 'react-i18next';\n\nimport dayjs from 'dayjs';\n\nimport { siteInfoStore } from '@/stores';\n\nconst Index = () => {\n const fullYear = dayjs().format('YYYY');\n const siteName = siteInfoStore((state) => state.siteInfo.name);\n const cc = `${fullYear} ${siteName}`;\n return (\n
\n \n

\n \n Powered by\n {/* eslint-disable-next-line react/jsx-no-target-blank */}\n \n Apache Answer\n \n - the open-source software that powers Q&A communities.\n
\n Made with love. © 2022 Answer.\n
\n

\n
\n
\n );\n};\n\nexport default React.memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC } from 'react';\n\nimport { base64ToSvg } from '@/utils';\n\ninterface IProps {\n svgClassName?: string;\n base64: string | undefined;\n}\nconst Icon: FC = ({ base64 = '', svgClassName = '' }) => {\n return base64 ? (\n \n ) : null;\n};\n\nexport default Icon;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\n/* eslint-disable no-nested-ternary */\nimport { FC, useState, useEffect, useRef, useCallback } from 'react';\nimport { Dropdown, Button, Form } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nimport debounce from 'lodash/debounce';\nimport { marked } from 'marked';\nimport classNames from 'classnames';\n\nimport { useTagModal, useToast } from '@/hooks';\nimport type * as Type from '@/common/interface';\nimport { queryTags, useUserPermission } from '@/services';\n// import { OutsideClickListener } from '@/components';\n\nimport './index.scss';\n\ninterface IProps {\n value?: Type.Tag[];\n onChange?: (tags: Type.Tag[]) => void;\n hiddenDescription?: boolean;\n hiddenCreateBtn?: boolean;\n maxTagLength?: number;\n showRequiredTag?: boolean;\n autoFocus?: boolean;\n isInvalid?: boolean;\n tagStyleMode?: 'default' | 'simple';\n formText?: string;\n errMsg?: string;\n}\n\nlet timer;\n\nconst TagSelector: FC = ({\n value = [],\n onChange,\n hiddenDescription = false,\n hiddenCreateBtn = false,\n maxTagLength = 0,\n showRequiredTag = false,\n autoFocus = false,\n isInvalid = false,\n formText = '',\n tagStyleMode = 'default',\n errMsg = '',\n}) => {\n const containerRef = useRef(null);\n const inputRef = useRef(null);\n const [initialized, setInitialized] = useState(false);\n const [focusState, setFocusState] = useState(autoFocus);\n const [showMenu, setShowMenu] = useState(false);\n const [currentIndex, setCurrentIndex] = useState(0);\n const [repeatIndex, setRepeatIndex] = useState(-1);\n const [searchValue, setSearchValue] = useState('');\n const [tags, setTags] = useState([]);\n const [requiredTags, setRequiredTags] = useState(null);\n const { t } = useTranslation('translation', { keyPrefix: 'tag_selector' });\n const { data: userPermission } = useUserPermission('tag.add');\n const canAddTag =\n (maxTagLength > 0 && value?.length < maxTagLength) || maxTagLength === 0;\n const toast = useToast();\n const tagModal = useTagModal({\n onConfirm: (data) => {\n if (!(onChange instanceof Function)) {\n return;\n }\n const findIndex = value.findIndex(\n (item) => item.slug_name.toLowerCase() === data.slug_name.toLowerCase(),\n );\n if (findIndex === -1) {\n onChange([\n ...value,\n {\n ...data,\n parsed_text: marked(data.original_text),\n },\n ]);\n setSearchValue('');\n } else {\n setRepeatIndex(findIndex);\n clearTimeout(timer);\n timer = setTimeout(() => {\n setRepeatIndex(-1);\n }, 2000);\n }\n },\n });\n\n const filterTags = (result) => {\n const tagArray: Type.Tag[] = [];\n result?.forEach((item) => {\n const findIndex = value.findIndex((v) => {\n const tagName1 = v.slug_name.toLowerCase();\n const tagName2 =\n typeof item === 'string'\n ? item.toLowerCase()\n : item.slug_name.toLowerCase();\n\n return tagName1 === tagName2;\n });\n\n if (findIndex === -1) {\n tagArray.push(typeof item === 'string' ? { slug_name: item } : item);\n }\n });\n return tagArray;\n };\n\n const handleMenuShow = (bol: boolean) => {\n setShowMenu(bol);\n const ele = document.getElementById('a-dropdown-menu');\n if (ele) {\n if (bol) {\n ele.classList.add('show');\n } else {\n ele.classList.remove('show');\n }\n }\n };\n\n const handleTagSelectorFocus = () => {\n setFocusState(true);\n inputRef.current?.focus();\n };\n\n const handleTagSelectorBlur = () => {\n setFocusState(false);\n setCurrentIndex(0);\n handleMenuShow(false);\n };\n\n const fetchTags = useCallback(\n debounce((str) => {\n if (!showRequiredTag && !str) {\n setTags([]);\n return;\n }\n queryTags(str).then((res) => {\n const tagArray: Type.Tag[] = filterTags(res || []);\n if (str === '') {\n setRequiredTags(res);\n }\n handleMenuShow(tagArray.length > 0);\n setTags(tagArray);\n });\n }, 400),\n [],\n );\n\n const resetSearch = () => {\n setCurrentIndex(0);\n setSearchValue('');\n if (canAddTag) {\n const tagArray: Type.Tag[] = filterTags(requiredTags);\n setTags(tagArray.length > 0 ? tagArray : []);\n } else {\n setTags([]);\n }\n };\n const handleClick = (val: Type.Tag) => {\n const findIndex = value.findIndex(\n (item) => item.slug_name.toLowerCase() === val.slug_name.toLowerCase(),\n );\n if (onChange instanceof Function && findIndex === -1) {\n onChange([\n ...value,\n {\n original_text: '',\n parsed_text: '',\n ...val,\n },\n ]);\n } else {\n setRepeatIndex(findIndex);\n clearTimeout(timer);\n timer = setTimeout(() => {\n setRepeatIndex(-1);\n }, 2000);\n }\n resetSearch();\n };\n\n const handleRemove = (val: Type.Tag) => {\n if (onChange instanceof Function) {\n onChange(\n value.filter((v) => {\n if (v instanceof Object) {\n return v.slug_name.toLowerCase() !== val.slug_name.toLowerCase();\n }\n return v !== val;\n }),\n );\n }\n };\n\n const handleSearch = async (e: React.ChangeEvent) => {\n const searchStr = e.currentTarget.value.replace(';', '');\n onChange?.([...value]);\n setSearchValue(searchStr);\n fetchTags(searchStr);\n };\n\n const scrollIntoView = (targetId) => {\n const container = document.getElementById('a-dropdown-menu') as HTMLElement;\n const ele = document.getElementById(targetId) as HTMLElement;\n if (ele?.offsetTop >= 104) {\n container.scrollTo({\n top: ele.offsetTop - 104,\n behavior: 'smooth',\n });\n }\n };\n\n const handleKeyDown = (e) => {\n e.stopPropagation();\n const { keyCode } = e;\n if (keyCode === 9) {\n handleTagSelectorBlur();\n return;\n }\n if (value.length > 0 && keyCode === 8 && !searchValue) {\n handleRemove(value[value.length - 1]);\n }\n\n if (!tags) {\n return;\n }\n\n if (keyCode === 38 && currentIndex > 0) {\n scrollIntoView(tags[currentIndex - 1].slug_name);\n setCurrentIndex(currentIndex - 1);\n }\n if (keyCode === 40 && currentIndex < tags.length - 1) {\n scrollIntoView(tags[currentIndex + 1].slug_name);\n setCurrentIndex(currentIndex + 1);\n }\n\n if (keyCode === 13 && currentIndex > -1) {\n e.preventDefault();\n if (tags.length === 0 && searchValue) {\n tagModal.onShow(searchValue);\n return;\n }\n if (currentIndex <= tags.length - 1) {\n handleClick(tags[currentIndex]);\n // if (currentIndex === tags.length - 1 && currentIndex > 0) {\n // setCurrentIndex(currentIndex - 1);\n // }\n }\n }\n };\n\n const handleCreate = () => {\n const tagAddPermission = userPermission?.['tag.add'];\n if (!tagAddPermission || tagAddPermission?.has_permission) {\n tagModal.onShow(searchValue);\n } else if (tagAddPermission?.no_permission_tip) {\n toast.onShow({\n msg: tagAddPermission.no_permission_tip,\n variant: 'danger',\n });\n }\n };\n\n const handleClickToggle = () => {\n const menuHasContent =\n (tags && tags?.length > 0) ||\n (searchValue && tags?.length === 0) ||\n (searchValue && !hiddenCreateBtn);\n if (canAddTag && menuHasContent) {\n handleMenuShow(true);\n } else {\n handleMenuShow(false);\n }\n };\n\n useEffect(() => {\n if (canAddTag) {\n const tagArray: Type.Tag[] = filterTags(requiredTags);\n setTags(tagArray.length > 0 ? tagArray : []);\n } else {\n setTags([]);\n }\n }, [value]);\n\n useEffect(() => {\n if (focusState && showRequiredTag) {\n fetchTags(searchValue);\n inputRef.current?.focus();\n }\n }, [focusState]);\n\n useEffect(() => {\n setInitialized(true);\n }, []);\n\n useEffect(() => {\n const handleOutsideClick = (event) => {\n if (\n initialized &&\n containerRef.current &&\n !containerRef.current?.contains(event.target)\n ) {\n handleTagSelectorBlur();\n }\n };\n document.addEventListener('click', handleOutsideClick);\n return () => {\n document.removeEventListener('click', handleOutsideClick);\n };\n }, [initialized]);\n\n useEffect(() => {\n // menu show\n const menuHasContent =\n (tags && tags?.length > 0) ||\n (searchValue && tags?.length === 0) ||\n (searchValue && !hiddenCreateBtn);\n if (focusState) {\n if (canAddTag && menuHasContent) {\n handleMenuShow(true);\n } else {\n handleMenuShow(false);\n }\n\n if ((tags && tags?.length < 5) || maxTagLength === 0) {\n inputRef.current?.focus();\n }\n }\n }, [focusState, tags, hiddenCreateBtn, searchValue, maxTagLength]);\n\n useEffect(() => {\n // set width of tag Form.Control\n const ele = document.querySelector('.a-input-width') as HTMLElement;\n const elePlaceholder = document.querySelector(\n '.a-placeholder-width',\n ) as HTMLElement;\n if (ele.offsetWidth > 60) {\n inputRef.current?.setAttribute(\n 'style',\n `width:${ele.offsetWidth + 16}px`,\n );\n } else {\n inputRef.current?.setAttribute(\n 'style',\n `width: ${elePlaceholder.offsetWidth + 7}px`,\n );\n }\n }, [searchValue]);\n\n return (\n
\n \n
\n \n {value?.map((item, index) => {\n return (\n \n {item.display_name}\n handleRemove(item)}>\n ×\n \n \n );\n })}\n {canAddTag ? (\n \n ) : (\n \n )}\n {searchValue}\n {t('add_btn')}\n
\n
\n \n {!searchValue &&\n showRequiredTag &&\n tags &&\n tags.filter((v) => v.recommend)?.length > 0 && (\n
{t('tag_required_text')}
\n )}\n\n {tags?.map((item, index) => {\n return (\n handleClick(item)}>\n {item.display_name}\n \n );\n })}\n {searchValue && tags?.length === 0 && (\n \n {t('no_result')}\n \n )}\n {!hiddenCreateBtn && searchValue && (\n \n + {t('create_btn')}\n \n )}\n
\n \n {!hiddenDescription && {formText || t('hint')}}\n {errMsg}\n \n );\n};\n\nexport default TagSelector;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { useState } from 'react';\nimport { Button, Col } from 'react-bootstrap';\nimport { Trans, useTranslation } from 'react-i18next';\nimport { Link } from 'react-router-dom';\n\nimport type { ImgCodeReq, FormDataType } from '@/common/interface';\nimport { loggedUserInfoStore } from '@/stores';\nimport { resendEmail } from '@/services';\nimport { handleFormError } from '@/utils';\nimport { useCaptchaPlugin } from '@/utils/pluginKit';\n\ninterface IProps {\n visible?: boolean;\n}\n\nconst Index: React.FC = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'inactive' });\n const [isSuccess, setSuccess] = useState(false);\n const { e_mail } = loggedUserInfoStore((state) => state.user);\n const [formData, setFormData] = useState({\n captcha_code: {\n value: '',\n isInvalid: false,\n errorMsg: '',\n },\n });\n\n const emailCaptcha = useCaptchaPlugin('email');\n\n const submit = () => {\n let req: ImgCodeReq = {};\n const imgCode = emailCaptcha?.getCaptcha();\n if (imgCode?.verify) {\n req = {\n captcha_code: imgCode.captcha_code,\n captcha_id: imgCode.captcha_id,\n };\n }\n resendEmail(req)\n .then(async () => {\n await emailCaptcha?.close();\n setSuccess(true);\n })\n .catch((err) => {\n if (err.isError) {\n emailCaptcha?.handleCaptchaError(err.list);\n const data = handleFormError(err, formData);\n setFormData({ ...data });\n }\n });\n };\n\n const onSentEmail = (evt) => {\n evt.preventDefault();\n if (!emailCaptcha) {\n submit();\n return;\n }\n emailCaptcha.check(() => {\n submit();\n });\n };\n\n return (\n
\n {isSuccess ? (\n

\n }}\n />\n

\n ) : (\n <>\n

\n }}\n />\n

\n

{t('info')}

\n \n \n {t('change_btn_name')}\n \n \n )}\n \n );\n};\n\nexport default React.memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport classnames from 'classnames';\n\nimport { uploadImage } from '@/services';\nimport * as Type from '@/common/interface';\n\ninterface IProps {\n type: Type.UploadType;\n className?: classnames.Argument;\n children?: React.ReactNode;\n acceptType?: string;\n disabled?: boolean;\n uploadCallback: (img: string) => void;\n}\n\nconst Index: React.FC = ({\n type,\n uploadCallback,\n children,\n acceptType = '',\n className,\n disabled = false,\n}) => {\n const { t } = useTranslation();\n const [status, setStatus] = useState(false);\n\n const onChange = (e: any) => {\n if (status) {\n return;\n }\n if (e.target.files[0]) {\n // const fileSize = e.target.files[0].size || 0;\n\n // if (maxSize && fileSize / 1024 / 1024 > 2) {\n // Modal.confirm({\n // content: '请上传小于 2M 的图片',\n // });\n // return;\n // }\n setStatus(true);\n uploadImage({ file: e.target.files[0], type })\n .then((res) => {\n uploadCallback(res);\n })\n .finally(() => {\n setStatus(false);\n });\n }\n };\n\n return (\n \n {children || (status ? t('upload_img.loading') : t('upload_img.name'))}\n \n \n );\n};\n\nexport default React.memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo, FC, useState, useEffect } from 'react';\nimport { Button, ButtonGroup } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nimport classNames from 'classnames';\n\nimport { Icon } from '@/components';\nimport { loggedUserInfoStore } from '@/stores';\nimport { useToast } from '@/hooks';\nimport { useCaptchaPlugin } from '@/utils/pluginKit';\nimport { tryNormalLogged } from '@/utils/guard';\nimport { bookmark, postVote } from '@/services';\nimport * as Types from '@/common/interface';\n\ninterface Props {\n className?: string;\n source: 'question' | 'answer';\n data: {\n id: string;\n votesCount: number;\n isLike: boolean;\n isHate: boolean;\n hideCollect?: boolean;\n collected: boolean;\n collectCount: number;\n username: string;\n };\n}\n\nconst Index: FC = ({ className, data, source }) => {\n const [votes, setVotes] = useState(0);\n const [like, setLike] = useState(false);\n const [hate, setHated] = useState(false);\n const [bookmarkState, setBookmark] = useState({\n state: data?.collected,\n count: data?.collectCount,\n });\n const { username = '' } = loggedUserInfoStore((state) => state.user);\n const toast = useToast();\n const { t } = useTranslation();\n const vCaptcha = useCaptchaPlugin('vote');\n\n useEffect(() => {\n if (data) {\n setVotes(data.votesCount);\n setLike(data.isLike);\n setHated(data.isHate);\n setBookmark({\n state: data?.collected,\n count: data?.collectCount,\n });\n }\n }, []);\n\n const submitVote = (type) => {\n const isCancel = (type === 'up' && like) || (type === 'down' && hate);\n const imgCode: Types.ImgCodeReq = {\n captcha_id: undefined,\n captcha_code: undefined,\n };\n vCaptcha?.resolveCaptchaReq?.(imgCode);\n\n postVote(\n {\n object_id: data?.id,\n is_cancel: isCancel,\n ...imgCode,\n },\n type,\n )\n .then(async (res) => {\n await vCaptcha?.close();\n setVotes(res.votes);\n setLike(res.vote_status === 'vote_up');\n setHated(res.vote_status === 'vote_down');\n })\n .catch((err) => {\n if (err?.isError) {\n vCaptcha?.handleCaptchaError(err.list);\n }\n const errMsg = err?.value;\n if (errMsg) {\n toast.onShow({\n msg: errMsg,\n variant: 'danger',\n });\n }\n });\n };\n\n const handleVote = (type: 'up' | 'down') => {\n if (!tryNormalLogged(true)) {\n return;\n }\n\n if (data.username === username) {\n toast.onShow({\n msg: t('cannot_vote_for_self'),\n variant: 'danger',\n });\n return;\n }\n\n if (!vCaptcha) {\n submitVote(type);\n return;\n }\n\n vCaptcha.check(() => {\n submitVote(type);\n });\n };\n\n const handleBookmark = () => {\n if (!tryNormalLogged(true)) {\n return;\n }\n bookmark({\n group_id: '0',\n object_id: data?.id,\n bookmark: !bookmarkState.state,\n }).then((res) => {\n setBookmark({\n state: !bookmarkState.state,\n count: res.object_collection_count,\n });\n });\n };\n\n return (\n
\n \n handleVote('up')}>\n \n \n \n handleVote('down')}>\n \n \n \n {!data?.hideCollect && (\n \n \n {bookmarkState.count}\n \n )}\n
\n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { memo, FC } from 'react';\nimport { Link } from 'react-router-dom';\n\nimport classNames from 'classnames';\n\nimport { Tag } from '@/common/interface';\nimport { pathFactory } from '@/router/pathFactory';\n\ninterface IProps {\n data: Tag;\n href?: string;\n className?: string;\n textClassName?: string;\n}\n\nconst Index: FC = ({\n data,\n href,\n className = '',\n textClassName = '',\n}) => {\n href ||= pathFactory.tagLanding(data.slug_name);\n\n return (\n \n \n {data.display_name || data.slug_name}\n \n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo, FC, useState, useEffect } from 'react';\nimport { Dropdown, OverlayTrigger, Tooltip } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nimport { FacebookShareButton, TwitterShareButton } from 'next-share';\nimport copy from 'copy-to-clipboard';\n\nimport { BASE_ORIGIN } from '@/router/alias';\nimport { loggedUserInfoStore } from '@/stores';\n\ninterface IProps {\n type: 'answer' | 'question';\n qid: any;\n aid?: any;\n title: string;\n // slugTitle: string;\n}\n\nconst Index: FC = ({ type, qid, aid, title }) => {\n const user = loggedUserInfoStore((state) => state.user);\n const [show, setShow] = useState(false);\n const [showTip, setShowTip] = useState(false);\n const [canSystemShare, setSystemShareState] = useState(false);\n const { t } = useTranslation();\n let baseUrl =\n type === 'question'\n ? `${BASE_ORIGIN}/questions/${qid}`\n : `${BASE_ORIGIN}/questions/${qid}/${aid}`;\n if (user.id) {\n baseUrl = `${baseUrl}?share=${user.username}`;\n }\n\n const closeShare = () => {\n setShowTip(false);\n setShow(false);\n };\n\n const handleCopy = (evt) => {\n evt.preventDefault();\n evt.stopPropagation();\n let copyText = baseUrl;\n if (title) {\n copyText = `${title} ${baseUrl}`;\n }\n copy(copyText);\n setShowTip(true);\n setTimeout(closeShare, 1000);\n };\n\n const systemShare = () => {\n navigator.share({\n title,\n text: `${title} - Answer:`,\n url: baseUrl,\n });\n };\n useEffect(() => {\n if (window.navigator?.canShare?.({ text: 'can_share' })) {\n setSystemShareState(true);\n }\n }, []);\n return (\n \n setShow(true)}\n style={{ lineHeight: '23px' }}>\n {t('share.name')}\n \n \n {t('share.copied')}}>\n \n {t('share.copy')}\n \n \n \n \n {t('share.facebook')}\n \n \n \n \n {t('share.twitter')}\n \n \n {canSystemShare && (\n {t('share.via')}\n )}\n \n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo, FC } from 'react';\nimport { Button, Dropdown } from 'react-bootstrap';\nimport { Link, useNavigate } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\n\nimport { Modal } from '@/components';\nimport { useReportModal, useToast } from '@/hooks';\nimport { useCaptchaPlugin } from '@/utils/pluginKit';\nimport { QuestionOperationReq } from '@/common/interface';\nimport Share from '../Share';\nimport {\n deleteQuestion,\n deleteAnswer,\n editCheck,\n reopenQuestion,\n questionOperation,\n unDeleteAnswer,\n unDeleteQuestion,\n} from '@/services';\nimport { tryNormalLogged } from '@/utils/guard';\nimport { floppyNavigation } from '@/utils';\nimport { toastStore } from '@/stores';\n\ninterface IProps {\n type: 'answer' | 'question';\n qid: string;\n aid?: string;\n title: string;\n hasAnswer?: boolean;\n isAccepted: boolean;\n callback: (type: string) => void;\n memberActions;\n}\nconst Index: FC = ({\n type,\n qid,\n aid = '',\n title,\n isAccepted = false,\n hasAnswer = false,\n memberActions = [],\n callback,\n}) => {\n const { t } = useTranslation('translation', { keyPrefix: 'delete' });\n const toast = useToast();\n const navigate = useNavigate();\n const reportModal = useReportModal();\n const dCaptcha = useCaptchaPlugin('delete');\n\n const refreshQuestion = () => {\n callback?.('default');\n };\n const closeModal = useReportModal(refreshQuestion);\n const editUrl =\n type === 'answer' ? `/posts/${qid}/${aid}/edit` : `/posts/${qid}/edit`;\n\n const handleReport = () => {\n reportModal.onShow({\n type,\n id: type === 'answer' ? aid : qid,\n action: 'flag',\n });\n };\n\n const handleClose = () => {\n closeModal.onShow({\n type,\n id: qid,\n action: 'close',\n });\n };\n\n const submitDeleteQuestion = () => {\n const req = {\n id: qid,\n captcha_code: undefined,\n captcha_id: undefined,\n };\n dCaptcha?.resolveCaptchaReq(req);\n\n deleteQuestion(req)\n .then(async () => {\n await dCaptcha?.close();\n toast.onShow({\n msg: t('post_deleted', { keyPrefix: 'messages' }),\n variant: 'success',\n });\n callback?.('delete_question');\n })\n .catch((ex) => {\n if (ex.isError) {\n dCaptcha?.handleCaptchaError(ex.list);\n }\n });\n };\n\n const submitDeleteAnswer = () => {\n const req = {\n id: aid,\n captcha_code: undefined,\n captcha_id: undefined,\n };\n dCaptcha?.resolveCaptchaReq(req);\n\n deleteAnswer(req)\n .then(async () => {\n await dCaptcha?.close();\n // refresh page\n toast.onShow({\n msg: t('tip_answer_deleted'),\n variant: 'success',\n });\n callback?.('delete_answer');\n })\n .catch((ex) => {\n if (ex.isError) {\n dCaptcha?.handleCaptchaError(ex.list);\n }\n });\n };\n\n const handleDelete = () => {\n if (type === 'question') {\n Modal.confirm({\n title: t('title'),\n content: hasAnswer ? t('question') : t('other'),\n cancelBtnVariant: 'link',\n confirmBtnVariant: 'danger',\n confirmText: t('delete', { keyPrefix: 'btns' }),\n onConfirm: () => {\n if (!dCaptcha) {\n submitDeleteQuestion();\n return;\n }\n dCaptcha.check(() => {\n submitDeleteQuestion();\n });\n },\n });\n }\n\n if (type === 'answer' && aid) {\n Modal.confirm({\n title: t('title'),\n content: isAccepted ? t('answer_accepted') : t('other'),\n cancelBtnVariant: 'link',\n confirmBtnVariant: 'danger',\n confirmText: t('delete', { keyPrefix: 'btns' }),\n onConfirm: () => {\n if (!dCaptcha) {\n submitDeleteAnswer();\n return;\n }\n dCaptcha.check(() => {\n submitDeleteAnswer();\n });\n },\n });\n }\n };\n\n const handleUndelete = () => {\n Modal.confirm({\n title: t('undelete_title'),\n content: t('undelete_desc'),\n cancelBtnVariant: 'link',\n confirmBtnVariant: 'danger',\n confirmText: t('undelete', { keyPrefix: 'btns' }),\n onConfirm: () => {\n if (type === 'question') {\n unDeleteQuestion(qid).then(() => {\n callback?.('default');\n });\n }\n\n if (type === 'answer') {\n unDeleteAnswer(aid).then(() => {\n callback?.('all');\n });\n }\n },\n });\n };\n\n const handleEdit = (evt, targetUrl) => {\n if (!floppyNavigation.shouldProcessLinkClick(evt)) {\n return;\n }\n evt.preventDefault();\n let checkObjectId = qid;\n if (type === 'answer') {\n checkObjectId = aid;\n }\n editCheck(checkObjectId).then(() => {\n navigate(targetUrl);\n });\n };\n\n const handleReopen = () => {\n Modal.confirm({\n title: t('title', { keyPrefix: 'question_detail.reopen' }),\n content: t('content', { keyPrefix: 'question_detail.reopen' }),\n cancelBtnVariant: 'link',\n confirmText: t('confirm_btn', { keyPrefix: 'question_detail.reopen' }),\n onConfirm: () => {\n reopenQuestion({\n question_id: qid,\n }).then(() => {\n toast.onShow({\n msg: t('post_reopen', { keyPrefix: 'messages' }),\n variant: 'success',\n });\n refreshQuestion();\n });\n },\n });\n };\n\n const handleCommon = async (params) => {\n await questionOperation(params);\n let msg = '';\n if (params.operation === 'pin') {\n msg = t('post_pin', { keyPrefix: 'messages' });\n }\n if (params.operation === 'unpin') {\n msg = t('post_unpin', { keyPrefix: 'messages' });\n }\n if (params.operation === 'hide') {\n msg = t('post_hide_list', { keyPrefix: 'messages' });\n }\n if (params.operation === 'show') {\n msg = t('post_show_list', { keyPrefix: 'messages' });\n }\n toastStore.getState().show({\n msg,\n variant: 'success',\n });\n setTimeout(() => {\n refreshQuestion();\n }, 100);\n };\n\n const handlOtherActions = (action) => {\n const params: QuestionOperationReq = {\n id: qid,\n operation: action,\n };\n\n if (action === 'pin') {\n Modal.confirm({\n title: t('title', { keyPrefix: 'question_detail.pin' }),\n content: t('content', { keyPrefix: 'question_detail.pin' }),\n cancelBtnVariant: 'link',\n confirmText: t('confirm_btn', { keyPrefix: 'question_detail.pin' }),\n onConfirm: () => {\n handleCommon(params);\n },\n });\n } else {\n handleCommon(params);\n }\n };\n\n const handleAction = (action) => {\n if (!tryNormalLogged(true)) {\n return;\n }\n if (action === 'delete') {\n handleDelete();\n }\n\n if (action === 'undelete') {\n handleUndelete();\n }\n\n if (action === 'report') {\n handleReport();\n }\n\n if (action === 'close') {\n handleClose();\n }\n\n if (action === 'reopen') {\n handleReopen();\n }\n\n if (\n action === 'pin' ||\n action === 'unpin' ||\n action === 'hide' ||\n action === 'show'\n ) {\n handlOtherActions(action);\n }\n };\n\n const firstAction =\n memberActions?.filter(\n (v) =>\n v.action === 'report' ||\n v.action === 'edit' ||\n v.action === 'delete' ||\n v.action === 'undelete',\n ) || [];\n const secondAction =\n memberActions?.filter(\n (v) =>\n v.action === 'close' ||\n v.action === 'reopen' ||\n v.action === 'pin' ||\n v.action === 'unpin' ||\n v.action === 'hide' ||\n v.action === 'show',\n ) || [];\n\n return (\n
\n \n {firstAction?.map((item) => {\n if (item.action === 'edit') {\n return (\n handleEdit(evt, editUrl)}\n style={{ lineHeight: '23px' }}>\n {item.name}\n \n );\n }\n return (\n handleAction(item.action)}>\n {item.name}\n \n );\n })}\n {secondAction.length > 0 && (\n \n \n {t('action', { keyPrefix: 'question_detail' })}\n \n \n {secondAction.map((item) => {\n return (\n handleAction(item.action)}>\n {item.name}\n \n );\n })}\n \n \n )}\n
\n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo, FC } from 'react';\nimport { Link } from 'react-router-dom';\n\nimport classnames from 'classnames';\n\nimport { Avatar, FormatTime } from '@/components';\nimport { formatCount } from '@/utils';\n\ninterface Props {\n data: any;\n time: number;\n preFix: string;\n isLogged: boolean;\n timelinePath: string;\n className?: string;\n}\n\nconst Index: FC = ({\n data,\n time,\n preFix,\n isLogged,\n timelinePath,\n className = '',\n}) => {\n return (\n
\n {data?.status !== 'deleted' ? (\n \n \n\n \n \n ) : (\n <>\n \n\n \n \n )}\n
\n
\n {data?.status !== 'deleted' ? (\n \n {data?.display_name}\n \n ) : (\n {data?.display_name}\n )}\n \n {formatCount(data?.rank)}\n \n
\n {time &&\n (isLogged ? (\n \n \n \n ) : (\n \n ))}\n
\n
\n );\n};\n\nexport default memo(Index);\n","/* eslint-disable react/no-multi-comp */\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport Anchor from '@restart/ui/Anchor';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst PageItem = /*#__PURE__*/React.forwardRef(({\n active = false,\n disabled = false,\n className,\n style,\n activeLabel = '(current)',\n children,\n linkStyle,\n linkClassName,\n as = Anchor,\n ...props\n}, ref) => {\n const Component = active || disabled ? 'span' : as;\n return /*#__PURE__*/_jsx(\"li\", {\n ref: ref,\n style: style,\n className: classNames(className, 'page-item', {\n active,\n disabled\n }),\n children: /*#__PURE__*/_jsxs(Component, {\n className: classNames('page-link', linkClassName),\n style: linkStyle,\n ...props,\n children: [children, active && activeLabel && /*#__PURE__*/_jsx(\"span\", {\n className: \"visually-hidden\",\n children: activeLabel\n })]\n })\n });\n});\nPageItem.displayName = 'PageItem';\nexport default PageItem;\nfunction createButton(name, defaultValue, label = name) {\n const Button = /*#__PURE__*/React.forwardRef(({\n children,\n ...props\n }, ref) => /*#__PURE__*/_jsxs(PageItem, {\n ...props,\n ref: ref,\n children: [/*#__PURE__*/_jsx(\"span\", {\n \"aria-hidden\": \"true\",\n children: children || defaultValue\n }), /*#__PURE__*/_jsx(\"span\", {\n className: \"visually-hidden\",\n children: label\n })]\n }));\n Button.displayName = name;\n return Button;\n}\nexport const First = createButton('First', '«');\nexport const Prev = createButton('Prev', '‹', 'Previous');\nexport const Ellipsis = createButton('Ellipsis', '…', 'More');\nexport const Next = createButton('Next', '›');\nexport const Last = createButton('Last', '»');","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport PageItem, { Ellipsis, First, Last, Next, Prev } from './PageItem';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Pagination = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n size,\n ...props\n}, ref) => {\n const decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'pagination');\n return /*#__PURE__*/_jsx(\"ul\", {\n ref: ref,\n ...props,\n className: classNames(className, decoratedBsPrefix, size && `${decoratedBsPrefix}-${size}`)\n });\n});\nPagination.displayName = 'Pagination';\nexport default Object.assign(Pagination, {\n First,\n Prev,\n Ellipsis,\n Item: PageItem,\n Next,\n Last\n});","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC } from 'react';\nimport { Pagination } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\nimport { useSearchParams, useNavigate, useLocation } from 'react-router-dom';\n\nimport { floppyNavigation } from '@/utils';\n\ninterface Props {\n currentPage: number;\n pageSize: number;\n totalSize: number;\n pathname?: string;\n}\n\ninterface PageItemProps {\n page: number;\n currentPage: number;\n path: string;\n}\n\nconst pageArr = [\n {\n href: '1',\n page: 1,\n },\n {\n href: '#!',\n page: 2,\n },\n {\n href: '#!',\n page: 3,\n },\n {\n href: '#!',\n page: 4,\n },\n {\n href: '#!',\n page: 5,\n },\n];\n\nconst PageItem = ({ page, currentPage, path }: PageItemProps) => {\n const navigate = useNavigate();\n return (\n {\n if (floppyNavigation.shouldProcessLinkClick(e)) {\n e.preventDefault();\n e.stopPropagation();\n navigate(path);\n }\n }}>\n {page}\n \n );\n};\n\nconst Index: FC = ({\n currentPage = 1,\n pageSize = 15,\n totalSize = 0,\n pathname = '',\n}) => {\n const { t } = useTranslation('translation', { keyPrefix: 'pagination' });\n const location = useLocation();\n if (!pathname) {\n pathname = location.pathname;\n }\n const [searchParams] = useSearchParams();\n const navigate = useNavigate();\n const totalPage = Math.ceil(totalSize / pageSize);\n const realPage = currentPage > totalPage ? totalPage : currentPage;\n\n const mapPage = pageArr.filter((i) => i.page <= totalPage);\n\n if (totalPage <= 1) {\n return null;\n }\n\n const handleParams = (pageNum): string => {\n searchParams.set('page', String(pageNum));\n const searchStr = searchParams.toString();\n return `${pathname}?${searchStr}`;\n };\n return (\n \n {currentPage > 1 && (\n {\n if (floppyNavigation.shouldProcessLinkClick(e)) {\n e.preventDefault();\n navigate(handleParams(currentPage - 1));\n }\n }}>\n {t('prev')}\n \n )}\n {currentPage >= 1 && currentPage <= 4 && (\n <>\n {mapPage.map((item) => {\n return (\n \n );\n })}\n \n )}\n {currentPage === 4 && totalPage > 6 && (\n \n )}\n\n {currentPage > 4 && (\n <>\n \n\n \n \n )}\n {currentPage >= 5 && (\n <>\n \n \n \n )}\n\n {currentPage > totalPage && (\n \n )}\n\n {currentPage >= 5 &&\n totalPage >= currentPage &&\n new Array(\n totalPage <= 3\n ? totalPage - currentPage + 1\n : Math.min(totalPage - currentPage + 1, 3),\n )\n .fill('')\n .map((v, i) => {\n return (\n \n );\n })}\n {totalPage > 5 && realPage + 2 < totalPage && (\n \n )}\n\n {totalPage > 0 && currentPage < totalPage && (\n {\n if (floppyNavigation.shouldProcessLinkClick(e)) {\n e.preventDefault();\n navigate(handleParams(currentPage + 1));\n }\n }}>\n {t('next')}\n \n )}\n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { useState, useEffect, memo } from 'react';\nimport { Button, Form } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nimport classNames from 'classnames';\n\nimport { TextArea, Mentions } from '@/components';\nimport { usePageUsers, usePromptWithUnload } from '@/hooks';\nimport { parseEditMentionUser } from '@/utils';\n\nconst Index = ({\n className = '',\n value: initialValue = '',\n onSendReply,\n type = '',\n onCancel,\n mode,\n}) => {\n const [value, setValue] = useState('');\n const [immData, setImmData] = useState('');\n const pageUsers = usePageUsers();\n const { t } = useTranslation('translation', { keyPrefix: 'comment' });\n const [validationErrorMsg, setValidationErrorMsg] = useState('');\n\n usePromptWithUnload({\n when: type === 'edit' ? immData !== value : Boolean(value),\n });\n useEffect(() => {\n if (!initialValue) {\n return;\n }\n setImmData(initialValue);\n setValue(initialValue);\n }, [initialValue]);\n\n const handleChange = (e) => {\n setValue(e.target.value);\n };\n const handleSelected = (val) => {\n setValue(val);\n };\n const handleSendReply = () => {\n onSendReply(value).catch((ex) => {\n if (ex.isError) {\n setValidationErrorMsg(ex.msg);\n }\n });\n };\n\n return (\n \n
\n \n \n \n \n
{t(`tip_${mode}`)}
\n
\n \n {validationErrorMsg}\n \n \n {type === 'edit' ? (\n
\n handleSendReply()}>\n {t('btn_save_edits')}\n \n \n {t('btn_cancel')}\n \n
\n ) : (\n handleSendReply()}>\n {t('btn_add_comment')}\n \n )}\n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\nimport { Button, Dropdown } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\nimport { Link } from 'react-router-dom';\n\nimport classNames from 'classnames';\n\nimport { Icon, FormatTime } from '@/components';\n\nconst ActionBar = ({\n nickName,\n username,\n createdAt,\n isVote,\n voteCount = 0,\n memberActions,\n onReply,\n onVote,\n onAction,\n userStatus = '',\n}) => {\n const { t } = useTranslation('translation', { keyPrefix: 'comment' });\n\n return (\n
\n
\n {userStatus !== 'deleted' ? (\n \n {nickName}\n \n ) : (\n {nickName}\n )}\n \n \n \n \n {voteCount > 0 && {voteCount}}\n \n \n {t('btn_reply')}\n \n
\n
\n {memberActions.map((action, index) => {\n return (\n 0 && 'ms-3',\n )}\n onClick={() => onAction(action)}>\n {action.name}\n \n );\n })}\n
\n \n \n \n \n\n \n {memberActions.map((action) => {\n return (\n onAction(action)}>\n {action.name}\n \n );\n })}\n \n \n
\n );\n};\n\nexport default memo(ActionBar);\n","/*\r\n * Licensed to the Apache Software Foundation (ASF) under one\r\n * or more contributor license agreements. See the NOTICE file\r\n * distributed with this work for additional information\r\n * regarding copyright ownership. The ASF licenses this file\r\n * to you under the Apache License, Version 2.0 (the\r\n * \"License\"); you may not use this file except in compliance\r\n * with the License. You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing,\r\n * software distributed under the License is distributed on an\r\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n * KIND, either express or implied. See the License for the\r\n * specific language governing permissions and limitations\r\n * under the License.\r\n */\r\n\r\nimport { useState, memo } from 'react';\r\nimport { Button, Form } from 'react-bootstrap';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nimport classNames from 'classnames';\r\n\r\nimport { TextArea, Mentions } from '@/components';\r\nimport { usePageUsers, usePromptWithUnload } from '@/hooks';\r\n\r\nconst Index = ({ userName, onSendReply, onCancel, mode }) => {\r\n const [value, setValue] = useState('');\r\n const pageUsers = usePageUsers();\r\n const { t } = useTranslation('translation', { keyPrefix: 'comment' });\r\n const [validationErrorMsg, setValidationErrorMsg] = useState('');\r\n\r\n usePromptWithUnload({\r\n when: Boolean(value),\r\n });\r\n\r\n const handleChange = (e) => {\r\n setValue(e.target.value);\r\n };\r\n const handleSelected = (val) => {\r\n setValue(val);\r\n };\r\n const handleSendReply = () => {\r\n onSendReply(value).catch((ex) => {\r\n if (ex.isError) {\r\n setValidationErrorMsg(ex.msg);\r\n }\r\n });\r\n };\r\n\r\n return (\r\n
\r\n
\r\n {t('reply_to')} {userName}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
{t(`tip_${mode}`)}
\r\n
\r\n \r\n {validationErrorMsg}\r\n \r\n
\r\n
\r\n handleSendReply()}>\r\n {t('btn_add_comment')}\r\n \r\n \r\n {t('btn_cancel')}\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default memo(Index);\r\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { useState, useEffect } from 'react';\nimport { Button } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\nimport { Link } from 'react-router-dom';\n\nimport classNames from 'classnames';\nimport unionBy from 'lodash/unionBy';\n\nimport * as Types from '@/common/interface';\nimport { Modal } from '@/components';\nimport { usePageUsers, useReportModal, useCaptchaModal } from '@/hooks';\nimport {\n matchedUsers,\n parseUserInfo,\n scrollToElementTop,\n bgFadeOut,\n} from '@/utils';\nimport { tryNormalLogged } from '@/utils/guard';\nimport { useCaptchaPlugin } from '@/utils/pluginKit';\nimport {\n useQueryComments,\n addComment,\n deleteComment,\n updateComment,\n postVote,\n} from '@/services';\nimport { commentReplyStore } from '@/stores';\nimport Reactions from '@/pages/Questions/Detail/components/Reactions';\n\nimport { Form, ActionBar, Reply } from './components';\n\nimport './index.scss';\n\nconst Comment = ({ objectId, mode, commentId }) => {\n const pageUsers = usePageUsers();\n const [pageIndex, setPageIndex] = useState(0);\n const [visibleComment, setVisibleComment] = useState(false);\n const { id: currentReplyId, update: updateCurrentReplyId } =\n commentReplyStore();\n const pageSize = pageIndex === 0 ? 3 : 15;\n const { data, mutate } = useQueryComments({\n object_id: objectId,\n comment_id: commentId,\n page: pageIndex,\n page_size: pageSize,\n });\n const [comments, setComments] = useState([]);\n\n const reportModal = useReportModal();\n\n const addCaptcha = useCaptchaModal('comment');\n const editCaptcha = useCaptchaPlugin('edit');\n const dCaptcha = useCaptchaPlugin('delete');\n const vCaptcha = useCaptchaPlugin('vote');\n\n const { t } = useTranslation('translation', { keyPrefix: 'comment' });\n\n useEffect(() => {\n if (pageIndex === 0 && commentId && comments.length !== 0) {\n setTimeout(() => {\n const el = document.getElementById(commentId);\n scrollToElementTop(el);\n bgFadeOut(el);\n }, 100);\n }\n\n return () => {\n updateCurrentReplyId('');\n };\n }, [comments]);\n\n useEffect(() => {\n if (!data) {\n return;\n }\n if (data.count <= 3) {\n data.list.sort((a, b) => a.created_at - b.created_at);\n }\n if (pageIndex === 1 || pageIndex === 0) {\n setComments(data?.list);\n } else {\n setComments([...comments, ...data.list]);\n }\n const user: Types.PageUser[] = [];\n data.list.forEach((item) => {\n user.push({\n id: item.user_id,\n displayName: item.user_display_name,\n userName: item.username,\n });\n user.push({\n id: item.reply_comment_id,\n displayName: item.reply_user_display_name,\n userName: item.username,\n });\n });\n pageUsers.setUsers(user);\n }, [data]);\n\n const handleReply = (id) => {\n if (!tryNormalLogged(true)) {\n return;\n }\n comments.forEach((item) => {\n if (item.comment_id === id) {\n updateCurrentReplyId(id);\n }\n });\n };\n\n const handleEdit = (id) => {\n setComments(\n comments.map((item) => {\n if (item.comment_id === id) {\n item.showEdit = !item.showEdit;\n }\n return item;\n }),\n );\n };\n\n const submitUpdateComment = (params, item) => {\n const up = {\n ...params,\n comment_id: item.comment_id,\n captcha_code: undefined,\n captcha_id: undefined,\n };\n editCaptcha?.resolveCaptchaReq(up);\n\n return updateComment(up)\n .then(async (res) => {\n await editCaptcha?.close();\n setComments(\n comments.map((comment) => {\n if (comment.comment_id === item.comment_id) {\n comment.showEdit = false;\n comment.parsed_text = res.parsed_text;\n comment.original_text = res.original_text;\n }\n return comment;\n }),\n );\n })\n .catch((err) => {\n if (err.isError) {\n const captchaErr = editCaptcha?.handleCaptchaError(err.list);\n // If it is not a CAPTCHA error, leave it to the subsequent error handling logic to continue processing.\n if (!(captchaErr && err.list.length === 1)) {\n return Promise.reject(err);\n }\n }\n return Promise.resolve();\n });\n };\n\n const submitAddComment = (params, item) => {\n const req = {\n ...params,\n captcha_code: undefined,\n captcha_id: undefined,\n };\n addCaptcha?.resolveCaptchaReq(req);\n\n return addComment(req)\n .then(async (res) => {\n await addCaptcha?.close();\n if (item.type === 'reply') {\n const index = comments.findIndex(\n (comment) => comment.comment_id === item.comment_id,\n );\n updateCurrentReplyId('');\n comments.splice(index + 1, 0, res);\n setComments([...comments]);\n } else {\n setComments([\n ...comments.map((comment) => {\n if (comment.comment_id === item.comment_id) {\n updateCurrentReplyId('');\n }\n return comment;\n }),\n res,\n ]);\n }\n\n setVisibleComment(false);\n })\n .catch((ex) => {\n if (ex.isError) {\n const captchaErr = addCaptcha?.handleCaptchaError(ex.list);\n // If it is not a CAPTCHA error, leave it to the subsequent error handling logic to continue processing.\n if (!(captchaErr && ex.list.length === 1)) {\n return Promise.reject(ex);\n }\n }\n return Promise.resolve();\n });\n };\n\n const handleSendReply = (item) => {\n const users = matchedUsers(item.value);\n const userNames = unionBy(users.map((user) => user.userName));\n const commentMarkDown = parseUserInfo(item.value);\n\n const params = {\n object_id: objectId,\n original_text: commentMarkDown,\n mention_username_list: userNames,\n ...(item.type === 'reply'\n ? {\n reply_comment_id: item.comment_id,\n }\n : {}),\n };\n\n if (item.type === 'edit') {\n if (!editCaptcha) {\n return submitUpdateComment(params, item);\n }\n return editCaptcha.check(() => submitUpdateComment(params, item));\n }\n\n if (!addCaptcha) {\n return submitAddComment(params, item);\n }\n\n return addCaptcha.check(() => submitAddComment(params, item));\n };\n\n const submitDeleteComment = (id) => {\n const imgCode = { captcha_id: undefined, captcha_code: undefined };\n dCaptcha?.resolveCaptchaReq(imgCode);\n\n deleteComment(id, imgCode)\n .then(async () => {\n await dCaptcha?.close();\n if (pageIndex === 0) {\n mutate();\n }\n setComments(comments.filter((item) => item.comment_id !== id));\n })\n .catch((ex) => {\n if (ex.isError) {\n dCaptcha?.handleCaptchaError(ex.list);\n }\n });\n };\n\n const handleDelete = (id) => {\n Modal.confirm({\n title: t('title', { keyPrefix: 'delete' }),\n content: t('other', { keyPrefix: 'delete' }),\n confirmBtnVariant: 'danger',\n confirmText: t('delete', { keyPrefix: 'btns' }),\n onConfirm: () => {\n if (!dCaptcha) {\n submitDeleteComment(id);\n return;\n }\n dCaptcha.check(() => {\n submitDeleteComment(id);\n });\n },\n });\n };\n\n const submitVoteComment = (id, is_cancel) => {\n const imgCode: Types.ImgCodeReq = {\n captcha_id: undefined,\n captcha_code: undefined,\n };\n vCaptcha?.resolveCaptchaReq(imgCode);\n\n postVote(\n {\n object_id: id,\n is_cancel,\n ...imgCode,\n },\n 'up',\n )\n .then(async () => {\n await vCaptcha?.close();\n setComments(\n comments.map((item) => {\n if (item.comment_id === id) {\n item.vote_count = is_cancel\n ? item.vote_count - 1\n : item.vote_count + 1;\n item.is_vote = !is_cancel;\n }\n return item;\n }),\n );\n })\n .catch((ex) => {\n if (ex.isError) {\n vCaptcha?.handleCaptchaError(ex.list);\n }\n });\n };\n const handleVote = (id, is_cancel) => {\n if (!tryNormalLogged(true)) {\n return;\n }\n\n if (!vCaptcha) {\n submitVoteComment(id, is_cancel);\n return;\n }\n\n vCaptcha.check(() => {\n submitVoteComment(id, is_cancel);\n });\n };\n\n const handleAction = ({ action }, item) => {\n if (!tryNormalLogged(true)) {\n return;\n }\n if (action === 'report') {\n reportModal.onShow({\n id: item.comment_id,\n type: 'comment',\n action: 'flag',\n });\n } else if (action === 'delete') {\n handleDelete(item.comment_id);\n } else if (action === 'edit') {\n handleEdit(item.comment_id);\n }\n };\n\n const handleCancel = (id) => {\n setComments(\n comments.map((item) => {\n if (item.comment_id === id) {\n item.showEdit = false;\n updateCurrentReplyId('');\n }\n return item;\n }),\n );\n };\n\n const handleAddComment = () => {\n if (!tryNormalLogged(true)) {\n setVisibleComment(false);\n return;\n }\n\n setVisibleComment(!visibleComment);\n };\n\n return (\n <>\n \n 0 && 'bg-light px-3 py-2 rounded',\n )}>\n {comments.map((item) => {\n return (\n \n {item.showEdit ? (\n \n handleSendReply({ ...item, value, type: 'edit' })\n }\n onCancel={() => handleCancel(item.comment_id)}\n />\n ) : (\n
\n {item.reply_user_display_name && (\n \n @{item.reply_user_display_name}\n \n )}\n\n \n
\n )}\n\n {currentReplyId === item.comment_id ? (\n \n handleSendReply({ ...item, value, type: 'reply' })\n }\n onCancel={() => handleCancel(item.comment_id)}\n />\n ) : null}\n {item.showEdit || currentReplyId === item.comment_id ? null : (\n {\n handleReply(item.comment_id);\n }}\n onAction={(action) => handleAction(action, item)}\n onVote={(e) => {\n e.preventDefault();\n handleVote(item.comment_id, item.is_vote);\n }}\n />\n )}\n \n );\n })}\n\n
0 && 'py-2')}>\n {comments.length > 0 && (\n \n {t('btn_add_comment')}\n \n )}\n {data &&\n (pageIndex || 1) < Math.ceil((data?.count || 0) / pageSize) && (\n {\n setPageIndex(pageIndex + 1);\n }}>\n {t('show_more', {\n count:\n data.count - (pageIndex === 0 ? 3 : pageIndex * pageSize),\n })}\n \n )}\n
\n\n {visibleComment && (\n handleSendReply({ value, type: 'comment' })}\n onCancel={() => setVisibleComment(!visibleComment)}\n />\n )}\n \n \n );\n};\n\nexport default Comment;\n","/*\r\n * Licensed to the Apache Software Foundation (ASF) under one\r\n * or more contributor license agreements. See the NOTICE file\r\n * distributed with this work for additional information\r\n * regarding copyright ownership. The ASF licenses this file\r\n * to you under the Apache License, Version 2.0 (the\r\n * \"License\"); you may not use this file except in compliance\r\n * with the License. You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing,\r\n * software distributed under the License is distributed on an\r\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n * KIND, either express or implied. See the License for the\r\n * specific language governing permissions and limitations\r\n * under the License.\r\n */\r\n\r\nimport { FC, useRef, useEffect, memo } from 'react';\r\nimport { FormControl, FormControlProps } from 'react-bootstrap';\r\n\r\nconst TextArea: FC<\r\n FormControlProps & { rows?: number; autoFocus?: boolean }\r\n> = ({\r\n value,\r\n onChange,\r\n size,\r\n rows = 1,\r\n autoFocus = true,\r\n isInvalid,\r\n ...rest\r\n}) => {\r\n const ref = useRef(null);\r\n\r\n const autoGrow = () => {\r\n if (ref.current) {\r\n ref.current.style.height = 'auto';\r\n ref.current.style.height = `${ref.current.scrollHeight}px`;\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (ref.current && value) {\r\n autoGrow();\r\n }\r\n }, [ref, value]);\r\n\r\n return (\r\n \r\n );\r\n};\r\nexport default memo(TextArea);\r\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { useEffect, useRef, useState, FC } from 'react';\nimport { Dropdown } from 'react-bootstrap';\n\nimport { useSearchUserStaff } from '@/services';\nimport * as Types from '@/common/interface';\n\nimport './index.scss';\n\ninterface IProps {\n children: React.ReactNode;\n pageUsers;\n onSelected: (val: string) => void;\n}\n\nconst MAX_RECODE = 5;\n\nconst Mentions: FC = ({ children, pageUsers, onSelected }) => {\n const menuRef = useRef(null);\n const dropdownRef = useRef(null);\n const [val, setValue] = useState('');\n const [users, setUsers] = useState([]);\n const [cursor, setCursor] = useState(0);\n const [isRequested, setRequestedState] = useState(false);\n const { data: staffUserList = [] } = useSearchUserStaff(val);\n const mapStaffUsers =\n staffUserList\n ?.map((item) => ({\n displayName: item.display_name,\n userName: item.username,\n }))\n ?.filter(\n (item) =>\n users.findIndex((user) => user.userName === item.userName) < 0,\n ) || [];\n\n const searchUser = () => {\n const element = dropdownRef.current?.children[0];\n const { value, selectionStart = 0 } = element as HTMLTextAreaElement;\n\n if (value.indexOf('@') < 0) {\n setValue('');\n }\n if (!selectionStart) {\n return;\n }\n\n const str = value.substring(\n value.substring(0, selectionStart).lastIndexOf('@'),\n selectionStart,\n );\n\n if (str.substring(str.lastIndexOf(' '), selectionStart).indexOf('@') < 0) {\n return;\n }\n\n setValue(str.substring(1));\n\n if (!str.substring(1)) {\n return;\n }\n if (isRequested) {\n return;\n }\n setRequestedState(true);\n };\n\n useEffect(() => {\n const element = dropdownRef.current?.children[0] as HTMLTextAreaElement;\n\n if (element) {\n element.addEventListener('input', searchUser);\n }\n return () => {\n element.removeEventListener('input', searchUser);\n };\n }, [dropdownRef]);\n\n useEffect(() => {\n setUsers(pageUsers);\n }, [pageUsers, val]);\n\n const handleClick = (item) => {\n const element = dropdownRef.current?.children[0] as HTMLTextAreaElement;\n\n const { value, selectionStart = 0 } = element;\n\n if (!selectionStart) {\n return;\n }\n\n const text = `@${item?.userName} `;\n onSelected(\n `${value.substring(\n 0,\n value.substring(0, selectionStart).lastIndexOf('@'),\n )}${text}${value.substring(selectionStart)}`,\n );\n setUsers([]);\n setValue('');\n };\n const filterData = val\n ? [...users, ...mapStaffUsers].filter(\n (item) =>\n item.displayName?.indexOf(val) === 0 ||\n item.userName?.indexOf(val) === 0,\n )\n : [];\n const handleKeyDown = (e) => {\n const { keyCode } = e;\n\n if (keyCode === 38 && cursor > 0) {\n e.preventDefault();\n setCursor(cursor - 1);\n }\n if (keyCode === 40 && cursor < filterData.length - 1) {\n e.preventDefault();\n\n setCursor(cursor + 1);\n }\n if (keyCode === 13 && cursor > -1 && cursor <= filterData.length - 1) {\n e.preventDefault();\n\n const item = filterData[cursor];\n\n handleClick(item);\n setCursor(0);\n }\n };\n\n return (\n 0}\n onKeyDown={handleKeyDown}>\n {children}\n 0 ? 'visible' : 'invisible'}\n ref={menuRef}>\n {filterData\n .filter((_, index) => index < MAX_RECODE)\n .map((item, index) => {\n return (\n handleClick(item)}>\n {item.displayName}\n @{item.userName}\n \n );\n })}\n \n \n );\n};\n\nexport default Mentions;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport classNames from 'classnames';\nimport dayjs from 'dayjs';\n\ninterface Props {\n time: number;\n className?: string;\n preFix?: string;\n}\n\nconst Index: FC = ({ time, preFix, className }) => {\n const { t } = useTranslation();\n const formatTime = (from) => {\n const now = Math.floor(dayjs().valueOf() / 1000);\n const between = now > from ? now - from : 0;\n\n if (between <= 1) {\n return t('dates.now');\n }\n if (between > 1 && between < 60) {\n return t('dates.x_seconds_ago', { count: between });\n }\n\n if (between >= 60 && between < 3600) {\n const min = Math.floor(between / 60);\n return t('dates.x_minutes_ago', { count: min });\n }\n if (between >= 3600 && between < 3600 * 24) {\n const h = Math.floor(between / 3600);\n return t('dates.x_hours_ago', { count: h });\n }\n\n if (\n between >= 3600 * 24 &&\n between < 3600 * 24 * 366 &&\n dayjs.unix(from).format('YYYY') === dayjs.unix(now).format('YYYY')\n ) {\n return dayjs.unix(from).tz().format(t('dates.long_date'));\n }\n\n return dayjs.unix(from).tz().format(t('dates.long_date_with_year'));\n };\n\n if (!time) {\n return null;\n }\n\n return (\n \n {preFix ? `${preFix} ` : ''}\n {formatTime(time)}\n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo } from 'react';\nimport { Toast } from 'react-bootstrap';\n\ninterface IProps {\n /** main content */\n msg: string;\n /** theme color */\n variant?: 'warning' | 'success' | 'danger';\n /** callback click close */\n onClose: () => void;\n}\n\nconst Index: FC = ({ msg, variant = 'warning', onClose }) => {\n return (\n \n \n
\n \n \n
\n \n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { FC, useEffect, useState } from 'react';\nimport { Accordion, Nav } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\nimport { useNavigate, useMatch, NavLink } from 'react-router-dom';\n\nimport classNames from 'classnames';\n\nimport { floppyNavigation } from '@/utils';\nimport { Icon } from '@/components';\nimport './index.css';\n\nfunction MenuNode({\n menu,\n callback,\n activeKey,\n expanding = false,\n path = '/',\n}) {\n const { t } = useTranslation('translation', { keyPrefix: 'nav_menus' });\n const isLeaf = !menu.children.length;\n const href = isLeaf ? `${path}${menu.path}` : '#';\n return (\n \n {isLeaf ? (\n {\n callback(evt, menu, href, isLeaf);\n }}\n className={classNames(\n 'text-nowrap d-flex flex-nowrap align-items-center w-100',\n { expanding, 'link-dark': activeKey !== menu.path },\n )}>\n \n {menu.displayName ? menu.displayName : t(menu.name)}\n \n {menu.badgeContent ? (\n {menu.badgeContent}\n ) : null}\n {!isLeaf && (\n \n )}\n \n ) : (\n {\n callback(evt, menu, href, isLeaf);\n }}\n className={classNames(\n 'text-nowrap d-flex flex-nowrap align-items-center w-100',\n { expanding, 'link-dark': activeKey !== menu.path },\n )}>\n \n {menu.displayName ? menu.displayName : t(menu.name)}\n \n {menu.badgeContent ? (\n {menu.badgeContent}\n ) : null}\n {!isLeaf && (\n \n )}\n \n )}\n\n {menu.children.length ? (\n \n <>\n {menu.children.map((leaf) => {\n return (\n \n );\n })}\n \n \n ) : null}\n \n );\n}\n\ninterface AccordionProps {\n menus: any[];\n path?: string;\n}\nconst AccordionNav: FC = ({ menus = [], path = '/' }) => {\n const navigate = useNavigate();\n const pathMatch = useMatch(`${path}*`);\n // auto set menu fields\n menus.forEach((m) => {\n if (!m.path) {\n m.path = m.name;\n }\n if (!Array.isArray(m.children)) {\n m.children = [];\n }\n m.children.forEach((sm) => {\n if (!sm.path) {\n sm.path = sm.name;\n }\n if (!Array.isArray(sm.children)) {\n sm.children = [];\n }\n });\n });\n\n const splat = pathMatch && pathMatch.params['*'];\n let activeKey = menus[0].path;\n if (splat) {\n activeKey = splat;\n }\n const getOpenKey = () => {\n let openKey = '';\n menus.forEach((li) => {\n if (li.children.length) {\n const matchedChild = li.children.find((el) => {\n return el.path === activeKey;\n });\n if (matchedChild) {\n openKey = li.path;\n }\n }\n });\n return openKey;\n };\n\n const [openKey, setOpenKey] = useState(getOpenKey());\n const menuClick = (evt, menu, href, isLeaf) => {\n evt.stopPropagation();\n if (isLeaf) {\n if (floppyNavigation.shouldProcessLinkClick(evt)) {\n evt.preventDefault();\n navigate(href);\n }\n } else {\n setOpenKey(openKey === menu.path ? '' : menu.path);\n }\n };\n useEffect(() => {\n setOpenKey(getOpenKey());\n }, [activeKey, menus]);\n return (\n \n \n \n );\n};\n\nexport default AccordionNav;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo, ReactNode } from 'react';\nimport { Trans } from 'react-i18next';\n\nconst Index: FC<{ children?: ReactNode }> = ({ children }) => {\n return (\n
\n {children || (\n \n We couldn't find anything.
Try different or less specific\n keywords.\n
\n )}\n
\n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo, FC } from 'react';\nimport { Link } from 'react-router-dom';\n\nimport { Avatar } from '@/components';\nimport { formatCount } from '@/utils';\n\ninterface Props {\n data: any;\n showAvatar?: boolean;\n avatarSize?: string;\n showReputation?: boolean;\n avatarSearchStr?: string;\n className?: string;\n avatarClass?: string;\n nameMaxWidth?: string;\n}\n\nconst Index: FC = ({\n data,\n showAvatar = true,\n avatarClass = '',\n avatarSize = '20px',\n className = 'small',\n avatarSearchStr = 's=48',\n showReputation = true,\n nameMaxWidth = '300px',\n}) => {\n return (\n
\n {data?.status !== 'deleted' ? (\n \n {showAvatar && (\n \n )}\n \n {data?.display_name}\n \n \n ) : (\n <>\n {showAvatar && (\n \n )}\n {data?.display_name}\n \n )}\n\n {showReputation && (\n \n {formatCount(data?.rank)}\n \n )}\n
\n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo, useState } from 'react';\nimport { Card, Button } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nimport { TagSelector, Tag } from '@/components';\nimport { tryLoggedAndActivated } from '@/utils/guard';\nimport { useFollowingTags, followTags } from '@/services';\n\nconst Index: FC = () => {\n const { t } = useTranslation('translation', { keyPrefix: 'question' });\n const [isEdit, setEditState] = useState(false);\n const { data: followingTags, mutate } = useFollowingTags();\n\n const newTags: any = followingTags?.map((item) => {\n if (item.slug_name) {\n return item.slug_name;\n }\n return item;\n });\n\n const handleFollowTags = () => {\n followTags({\n slug_name_list: newTags,\n });\n setEditState(false);\n };\n\n const handleTagsChange = (value) => {\n mutate([...value], {\n revalidate: false,\n });\n };\n\n if (!tryLoggedAndActivated().ok) {\n return null;\n }\n return isEdit ? (\n \n \n {t('following_tags')}\n \n {t('save')}\n \n \n \n \n \n \n ) : (\n \n \n {t('following_tags')}\n setEditState(true)}>\n {t('edit')}\n \n \n \n {followingTags?.length ? (\n
\n {followingTags.map((item) => {\n const slugName = item?.slug_name;\n return ;\n })}\n
\n ) : (\n <>\n
{t('follow_tag_tip')}
\n setEditState(true)}>\n {t('follow_a_tag')}\n \n \n )}\n
\n
\n );\n};\n\nexport default memo(Index);\n","import PropTypes from 'prop-types';\nconst alignDirection = PropTypes.oneOf(['start', 'end']);\nexport const alignPropType = PropTypes.oneOfType([alignDirection, PropTypes.shape({\n sm: alignDirection\n}), PropTypes.shape({\n md: alignDirection\n}), PropTypes.shape({\n lg: alignDirection\n}), PropTypes.shape({\n xl: alignDirection\n}), PropTypes.shape({\n xxl: alignDirection\n}), PropTypes.object]);","import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Dropdown from './Dropdown';\nimport DropdownToggle from './DropdownToggle';\nimport DropdownMenu from './DropdownMenu';\nimport { alignPropType } from './types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst propTypes = {\n /**\n * An html id attribute for the Toggle button, necessary for assistive technologies, such as screen readers.\n * @type {string}\n */\n id: PropTypes.string,\n /** An `href` passed to the Toggle component */\n href: PropTypes.string,\n /** An `onClick` handler passed to the Toggle component */\n onClick: PropTypes.func,\n /** The content of the non-toggle Button. */\n title: PropTypes.node.isRequired,\n /** Disables both Buttons */\n disabled: PropTypes.bool,\n /**\n * Aligns the dropdown menu.\n *\n * _see [DropdownMenu](#dropdown-menu-props) for more details_\n *\n * @type {\"start\"|\"end\"|{ sm: \"start\"|\"end\" }|{ md: \"start\"|\"end\" }|{ lg: \"start\"|\"end\" }|{ xl: \"start\"|\"end\"}|{ xxl: \"start\"|\"end\"} }\n */\n align: alignPropType,\n /** An ARIA accessible role applied to the Menu component. When set to 'menu', The dropdown */\n menuRole: PropTypes.string,\n /** Whether to render the dropdown menu in the DOM before the first time it is shown */\n renderMenuOnMount: PropTypes.bool,\n /**\n * Which event when fired outside the component will cause it to be closed.\n *\n * _see [DropdownMenu](#dropdown-menu-props) for more details_\n */\n rootCloseEvent: PropTypes.string,\n /**\n * Menu color variant.\n *\n * Omitting this will use the default light color.\n */\n menuVariant: PropTypes.oneOf(['dark']),\n /**\n * Allow Dropdown to flip in case of an overlapping on the reference element. For more information refer to\n * Popper.js's flip [docs](https://popper.js.org/docs/v2/modifiers/flip/).\n *\n */\n flip: PropTypes.bool,\n /** @ignore */\n bsPrefix: PropTypes.string,\n /** @ignore */\n variant: PropTypes.string,\n /** @ignore */\n size: PropTypes.string\n};\n\n/**\n * A convenience component for simple or general use dropdowns. Renders a `Button` toggle and all `children`\n * are passed directly to the default `Dropdown.Menu`. This component accepts all of\n * [`Dropdown`'s props](#dropdown-props).\n *\n * _All unknown props are passed through to the `Dropdown` component._ Only\n * the Button `variant`, `size` and `bsPrefix` props are passed to the toggle,\n * along with menu-related props are passed to the `Dropdown.Menu`\n */\nconst DropdownButton = /*#__PURE__*/React.forwardRef(({\n title,\n children,\n bsPrefix,\n rootCloseEvent,\n variant,\n size,\n menuRole,\n renderMenuOnMount,\n disabled,\n href,\n id,\n menuVariant,\n flip,\n ...props\n}, ref) => /*#__PURE__*/_jsxs(Dropdown, {\n ref: ref,\n ...props,\n children: [/*#__PURE__*/_jsx(DropdownToggle, {\n id: id,\n href: href,\n size: size,\n variant: variant,\n disabled: disabled,\n childBsPrefix: bsPrefix,\n children: title\n }), /*#__PURE__*/_jsx(DropdownMenu, {\n role: menuRole,\n renderOnMount: renderMenuOnMount,\n rootCloseEvent: rootCloseEvent,\n variant: menuVariant,\n flip: flip,\n children: children\n })]\n}));\nDropdownButton.displayName = 'DropdownButton';\nDropdownButton.propTypes = propTypes;\nexport default DropdownButton;","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo } from 'react';\nimport { ButtonGroup, Button, DropdownButton, Dropdown } from 'react-bootstrap';\nimport { useSearchParams, useNavigate } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\n\nimport classNames from 'classnames';\n\nimport { REACT_BASE_PATH } from '@/router/alias';\nimport { floppyNavigation } from '@/utils';\n\ninterface Props {\n data;\n i18nKeyPrefix: string;\n currentSort: string;\n sortKey?: string;\n className?: string;\n pathname?: string;\n wrapClassName?: string;\n}\nconst MAX_BUTTON_COUNT = 3;\nconst Index: FC = ({\n data = [],\n currentSort = '',\n sortKey = 'order',\n i18nKeyPrefix = '',\n className = '',\n pathname = '',\n wrapClassName = '',\n}) => {\n const [searchParams, setUrlSearchParams] = useSearchParams();\n const navigate = useNavigate();\n\n const { t } = useTranslation('translation', {\n keyPrefix: i18nKeyPrefix,\n });\n\n const handleParams = (order): string => {\n searchParams.delete('page');\n searchParams.set(sortKey, order);\n const searchStr = searchParams.toString();\n return `?${searchStr}`;\n };\n\n const handleClick = (e, type) => {\n const str = handleParams(type);\n if (floppyNavigation.shouldProcessLinkClick(e)) {\n e.preventDefault();\n if (pathname) {\n navigate(`${pathname}${str}`);\n } else {\n setUrlSearchParams(str);\n }\n }\n };\n\n const filteredData = data.filter((_, index) => index > MAX_BUTTON_COUNT - 2);\n const currentBtn = filteredData.find((btn) => {\n return (typeof btn === 'string' ? btn : btn.name) === currentSort;\n });\n return (\n \n {data.map((btn, index) => {\n const key = typeof btn === 'string' ? btn : btn.sort;\n const name = typeof btn === 'string' ? btn : btn.name;\n return (\n MAX_BUTTON_COUNT &&\n index > MAX_BUTTON_COUNT - 2 &&\n 'd-none d-md-block',\n className,\n )}\n style={\n data.length > MAX_BUTTON_COUNT && index === data.length - 1\n ? {\n borderTopRightRadius: '0.25rem',\n borderBottomRightRadius: '0.25rem',\n }\n : {}\n }\n href={\n pathname\n ? `${REACT_BASE_PATH}${pathname}${handleParams(key)}`\n : handleParams(key)\n }\n onClick={(evt) => handleClick(evt, key)}>\n {t(name)}\n \n );\n })}\n {data.length > MAX_BUTTON_COUNT && (\n \n {filteredData.map((btn) => {\n const key = typeof btn === 'string' ? btn : btn.sort;\n const name = typeof btn === 'string' ? btn : btn.name;\n return (\n handleClick(evt, key)}>\n {t(name)}\n \n );\n })}\n \n )}\n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo } from 'react';\n\nimport classnames from 'classnames';\n\nimport { Tag } from '@/components';\nimport { diffText } from '@/utils';\n\ninterface Props {\n objectType: string | 'question' | 'answer' | 'tag';\n newData: Record;\n oldData?: Record;\n className?: string;\n opts?: Partial<{\n showTitle: boolean;\n showTagUrlSlug: boolean;\n }>;\n}\n\nconst Index: FC = ({\n objectType,\n newData,\n oldData,\n className = '',\n opts = {\n showTitle: true,\n showTagUrlSlug: true,\n },\n}) => {\n if (!newData) return null;\n\n let tag = newData.tags;\n if (objectType === 'question' && oldData?.tags) {\n const addTags = newData.tags.filter(\n (c) => !oldData?.tags?.find((p) => p.slug_name === c.slug_name),\n );\n\n let deleteTags = oldData?.tags\n .filter((c) => !newData?.tags.find((p) => p.slug_name === c.slug_name))\n .map((v) => ({ ...v, state: 'delete' }));\n\n deleteTags = deleteTags?.map((v) => {\n const index = oldData?.tags?.findIndex(\n (c) => c.slug_name === v.slug_name,\n );\n return {\n ...v,\n pre_index: index,\n };\n });\n\n tag = newData.tags.map((item) => {\n const find = addTags.find((c) => c.slug_name === item.slug_name);\n if (find) {\n return {\n ...find,\n state: 'add',\n };\n }\n return item;\n });\n\n deleteTags.forEach((v) => {\n tag.splice(v.pre_index, 0, v);\n });\n }\n\n return (\n
\n {objectType !== 'answer' && opts?.showTitle && (\n \n )}\n {objectType === 'question' && (\n
\n {tag?.map((item) => {\n return (\n \n );\n })}\n
\n )}\n {objectType === 'tag' && opts?.showTagUrlSlug && (\n \n )}\n \n
\n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo, useEffect } from 'react';\n\nimport { customizeStore } from '@/stores';\n\nconst CUSTOM_MARK_HEAD = 'customize_head';\nconst CUSTOM_MARK_HEADER = 'customize_header';\nconst CUSTOM_MARK_FOOTER = 'customize_footer';\n\nconst makeMarker = (mark) => {\n return ``;\n};\n\nconst ActivateScriptNodes = (el, part) => {\n let startMarkNode;\n const scriptList: HTMLScriptElement[] = [];\n const { childNodes } = el;\n for (let i = 0; i < childNodes.length; i += 1) {\n const node = childNodes[i];\n if (node.nodeType === 8 && node.nodeValue === part) {\n if (!startMarkNode) {\n startMarkNode = node;\n } else {\n // this is the endMarkNode\n break;\n }\n }\n if (\n startMarkNode &&\n node.nodeType === 1 &&\n node.nodeName.toLowerCase() === 'script'\n ) {\n scriptList.push(node);\n }\n }\n scriptList?.forEach((so) => {\n const script = document.createElement('script');\n script.text = `(() => {${so.text}})();`;\n for (let i = 0; i < so.attributes.length; i += 1) {\n const attr = so.attributes[i];\n script.setAttribute(attr.name, attr.value);\n }\n el.replaceChild(script, so);\n });\n};\n\ntype pos = 'afterbegin' | 'beforeend';\nconst renderCustomArea = (el, part, pos: pos, content: string = '') => {\n let startMarkNode;\n let endMarkNode;\n const { childNodes } = el;\n for (let i = 0; i < childNodes.length; i += 1) {\n const node = childNodes[i];\n if (node.nodeType === 8 && node.nodeValue === part) {\n if (!startMarkNode) {\n startMarkNode = node;\n } else {\n endMarkNode = node;\n break;\n }\n }\n }\n\n if (startMarkNode && endMarkNode) {\n while (\n startMarkNode.nextSibling &&\n startMarkNode.nextSibling !== endMarkNode\n ) {\n el.removeChild(startMarkNode.nextSibling);\n }\n }\n if (startMarkNode) {\n el.removeChild(startMarkNode);\n }\n if (endMarkNode) {\n el.removeChild(endMarkNode);\n }\n el.insertAdjacentHTML(pos, makeMarker(part));\n el.insertAdjacentHTML(pos, content);\n el.insertAdjacentHTML(pos, makeMarker(part));\n ActivateScriptNodes(el, part);\n};\nconst handleCustomHead = (content) => {\n const el = document.head;\n renderCustomArea(el, CUSTOM_MARK_HEAD, 'beforeend', content);\n};\n\nconst handleCustomHeader = (content) => {\n const el = document.body;\n renderCustomArea(el, CUSTOM_MARK_HEADER, 'afterbegin', content);\n};\n\nconst handleCustomFooter = (content) => {\n const el = document.body;\n renderCustomArea(el, CUSTOM_MARK_FOOTER, 'beforeend', content);\n};\n\nconst Index: FC = () => {\n const { custom_head, custom_header, custom_footer } = customizeStore(\n (state) => state,\n );\n useEffect(() => {\n const isSeo = document.querySelector('meta[name=\"go-template\"]');\n if (!isSeo) {\n setTimeout(() => {\n handleCustomHead(custom_head);\n }, 1000);\n handleCustomHeader(custom_header);\n handleCustomFooter(custom_footer);\n }\n }, [custom_head, custom_header, custom_footer]);\n return null;\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, useLayoutEffect } from 'react';\nimport { Helmet } from 'react-helmet-async';\n\nimport Color from 'color';\n\nimport { shiftColor, tintColor, shadeColor } from '@/utils';\nimport { themeSettingStore } from '@/stores';\nimport { DEFAULT_THEME_COLOR } from '@/common/constants';\n\nconst Index: FC = () => {\n const { theme, theme_config } = themeSettingStore((_) => _);\n let primaryColor;\n if (theme_config?.[theme]?.primary_color) {\n primaryColor = Color(theme_config[theme].primary_color);\n }\n const setThemeColor = () => {\n const themeMetaNode = document.querySelector('meta[name=\"theme-color\"]');\n if (themeMetaNode) {\n const themeColor = primaryColor\n ? primaryColor.hex()\n : DEFAULT_THEME_COLOR;\n themeMetaNode.setAttribute('content', themeColor);\n }\n };\n useLayoutEffect(() => {\n setThemeColor();\n }, [primaryColor]);\n\n return (\n \n {primaryColor && (\n \n )}\n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, useEffect, useLayoutEffect } from 'react';\nimport { Helmet } from 'react-helmet-async';\n\nimport { REACT_BASE_PATH } from '@/router/alias';\nimport { brandingStore, pageTagStore, siteInfoStore } from '@/stores';\nimport { getCurrentLang } from '@/utils/localize';\n\nconst doInsertCustomCSS = !document.querySelector('link[href*=\"custom.css\"]');\n\nconst Index: FC = () => {\n const { favicon, square_icon } = brandingStore((state) => state.branding);\n const { pageTitle, keywords, description } = pageTagStore(\n (state) => state.items,\n );\n const appVersion = siteInfoStore((_) => _.version);\n const hashVersion = siteInfoStore((_) => _.revision);\n const siteName = siteInfoStore((_) => _.siteInfo).name;\n const setAppGenerator = () => {\n if (!appVersion) {\n return;\n }\n const generatorMetaNode = document.querySelector('meta[name=\"generator\"]');\n if (generatorMetaNode) {\n generatorMetaNode.setAttribute(\n 'content',\n `Answer ${appVersion} - https://github.com/apache/incubator-answer version ${hashVersion}`,\n );\n }\n };\n const setDocTitle = () => {\n try {\n if (pageTitle) {\n document.title = pageTitle;\n }\n // eslint-disable-next-line no-empty\n } catch (ex) {}\n };\n const currentLang = getCurrentLang();\n const setDocLang = () => {\n if (currentLang) {\n document.documentElement.setAttribute(\n 'lang',\n currentLang.replace('_', '-'),\n );\n }\n };\n // properties used for social media tags\n const openGraphType = 'website';\n const twitterType = 'summary';\n const { href } = window.location;\n const { hostname } = new URL(href);\n\n useEffect(() => {\n setDocLang();\n }, [currentLang]);\n useEffect(() => {\n setAppGenerator();\n }, [appVersion]);\n useLayoutEffect(() => {\n setDocTitle();\n }, [pageTitle]);\n return (\n \n \n \n \n {pageTitle}\n {keywords && }\n {description && }\n {doInsertCustomCSS && (\n \n )}\n {/* Social media meta share tags start here */}\n \n \n \n \n {description && }\n \n \n \n {description && }\n \n {/* Social media meta share tags end here */}\n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo } from 'react';\nimport { ListGroupItem } from 'react-bootstrap';\n\ninterface Props {\n count?: number;\n}\n\nconst Index: FC = ({ count = 10 }) => {\n const list = new Array(count).fill(0).map((v, i) => v + i);\n return (\n <>\n {list.map((v) => (\n \n \n\n \n\n \n \n ))}\n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo } from 'react';\nimport { Col, Card } from 'react-bootstrap';\n\ninterface Props {\n count?: number;\n}\n\nconst Index: FC = ({ count = 20 }) => {\n const list = new Array(count).fill(0).map((v, i) => v + i);\n return (\n <>\n {list.map((v) => (\n \n \n \n \n\n \n
\n \n \n
\n
\n
\n \n ))}\n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport React, { FC, memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport classnames from 'classnames';\n\nimport { siteInfoStore } from '@/stores';\n\ninterface Props {\n as?: React.ElementType;\n className?: string;\n}\n\nconst Index: FC = ({ as: Component = 'h3', className = 'mb-5' }) => {\n const { t } = useTranslation();\n const { name: siteName } = siteInfoStore((_) => _.siteInfo);\n return (\n \n {t('website_welcome', { site_name: siteName })}\n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport classname from 'classnames';\n\nimport { Icon } from '@/components';\n\ninterface Props {\n data: {\n votes: number;\n answers: number;\n views: number;\n };\n showVotes?: boolean;\n showAnswers?: boolean;\n showViews?: boolean;\n showAccepted?: boolean;\n isAccepted?: boolean;\n className?: string;\n}\nconst Index: FC = ({\n data,\n showVotes = true,\n showAnswers = true,\n showViews = true,\n isAccepted = false,\n showAccepted = false,\n className = '',\n}) => {\n const { t } = useTranslation('translation', { keyPrefix: 'counts' });\n\n return (\n
\n {showVotes && (\n
\n \n \n {data.votes} {t('votes')}\n \n
\n )}\n\n {showAccepted && (\n
\n \n {t('accepted')}\n
\n )}\n\n {showAnswers && (\n \n {isAccepted ? (\n \n ) : (\n \n )}\n \n {data.answers} {t('answers')}\n \n
\n )}\n {showViews && (\n \n \n \n {data.views} {t('views')}\n \n \n )}\n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo, useEffect } from 'react';\nimport { Link } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\n\nimport { usePageTags } from '@/hooks';\n\nconst Index = ({\n httpCode = '',\n title = '',\n errMsg = '',\n showErrorCode = true,\n}) => {\n const { t } = useTranslation('translation', { keyPrefix: 'page_error' });\n useEffect(() => {\n // auto height of container\n const pageWrap = document.querySelector('.page-wrap') as HTMLElement;\n if (pageWrap) {\n pageWrap.style.display = 'contents';\n }\n\n return () => {\n if (pageWrap) {\n pageWrap.style.display = 'block';\n }\n };\n }, []);\n\n usePageTags({\n title: t(`http_${httpCode}`, { keyPrefix: 'page_title' }),\n });\n\n return (\n
\n \n (=‘x‘=)\n
\n {showErrorCode && (\n

{t('http_error', { code: httpCode })}

\n )}\n {title &&

{title}

}\n
\n {errMsg || t(`desc_${httpCode}`)}\n
\n
\n \n {t('back_home')}\n \n
\n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo } from 'react';\n\nimport { customizeStore } from '@/stores';\n\nconst Index = () => {\n const { custom_sidebar } = customizeStore((state) => state);\n if (!custom_sidebar) return null;\n return
;\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC } from 'react';\nimport { Col, Nav } from 'react-bootstrap';\nimport { NavLink, useLocation } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\n\nimport classnames from 'classnames';\n\nimport { loggedUserInfoStore, sideNavStore } from '@/stores';\nimport { Icon } from '@/components';\nimport './index.scss';\n\nconst Index: FC = () => {\n const { t } = useTranslation();\n const { pathname } = useLocation();\n const { user: userInfo } = loggedUserInfoStore();\n const { visible, can_revision, revision } = sideNavStore();\n\n return (\n \n
\n \n
\n
\n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { memo, FC } from 'react';\n\nimport './index.scss';\n\ninterface IProps {\n text: string;\n keywords: string[];\n}\n\nconst Index: FC = ({ text = '', keywords = [] }) => {\n const regex = new RegExp(`(${keywords.join('|')})`, 'gi');\n\n return (\n \n {text.split(regex).map((piece: string, index: number) => {\n const key = `${piece.substring(0, 6)}_${index}`;\n return keywords.find(\n (kw: string) => kw.toLocaleLowerCase() === piece.toLocaleLowerCase(),\n ) ? (\n {piece}\n ) : (\n piece\n );\n })}\n \n );\n};\n\nexport default memo(Index);\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { useTranslation } from 'react-i18next';\nimport { FC } from 'react';\nimport { Card, Badge } from 'react-bootstrap';\nimport { Link } from 'react-router-dom';\n\nimport classnames from 'classnames';\n\nimport { Icon } from '@/components';\nimport * as Type from '@/common/interface';\nimport { formatCount } from '@/utils';\n\nimport './index.scss';\n\ninterface IProps {\n data: Type.BadgeListItem;\n showAwardedCount?: boolean;\n urlSearchParams?: string;\n badgePillType?: 'earned' | 'count';\n}\n\nconst Index: FC = ({\n data,\n badgePillType = 'earned',\n showAwardedCount = false,\n urlSearchParams,\n}) => {\n const { t } = useTranslation('translation', { keyPrefix: 'badges' });\n return (\n \n \n {Number(data?.earned_count) > 0 && badgePillType === 'earned' && (\n \n {`${t('earned')}${\n Number(data?.earned_count) > 1 ? ` ×${data.earned_count}` : ''\n }`}\n \n )}\n\n {badgePillType === 'count' && Number(data?.earned_count) > 1 && (\n \n ×{data.earned_count}\n \n )}\n {data.icon.startsWith('http') ? (\n {data.name}\n ) : (\n \n )}\n\n
{data.name}
\n {showAwardedCount && (\n
\n {t('×_awarded', { number: formatCount(data.award_count) })}\n
\n )}\n
\n \n );\n};\n\nexport default Index;\n","/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport { FC, memo, useEffect, useState } from 'react';\nimport { Button, OverlayTrigger, Popover, Tooltip } from 'react-bootstrap';\nimport { useTranslation } from 'react-i18next';\n\nimport classNames from 'classnames';\n\nimport { Icon } from '@/components';\nimport { queryReactions, updateReaction } from '@/services';\nimport { tryNormalLogged } from '@/utils/guard';\nimport { ReactionItem } from '@/common/interface';\n\ninterface Props {\n objectId: string;\n showAddCommentBtn?: boolean;\n handleClickComment: () => void;\n}\n\nconst emojiMap = [\n {\n name: 'heart',\n icon: 'heart-fill',\n className: 'text-danger',\n },\n {\n name: 'smile',\n icon: 'emoji-laughing-fill',\n className: 'text-warning',\n },\n {\n name: 'frown',\n icon: 'emoji-frown-fill',\n className: 'text-warning',\n },\n];\n\nconst Index: FC = ({\n objectId,\n showAddCommentBtn,\n handleClickComment,\n}) => {\n const [reactions, setReactions] = useState();\n const [reactIsActive, setReactIsActive] = useState(false);\n const { t } = useTranslation('translation');\n\n useEffect(() => {\n queryReactions(objectId).then((res) => {\n setReactions(res?.reaction_summary);\n });\n }, []);\n\n const handleSubmit = (params: { object_id: string; emoji: string }) => {\n if (!tryNormalLogged(true)) {\n setReactIsActive(false);\n return;\n }\n updateReaction({\n ...params,\n reaction: reactions?.find((v) => v.emoji === params.emoji)?.is_active\n ? 'deactivate'\n : 'activate',\n }).then((res) => {\n setReactions(res.reaction_summary);\n setReactIsActive(false);\n });\n };\n\n const renderPopover = (props) => (\n \n \n {emojiMap.map((d, index) => (\n v.emoji === d.name)?.is_active\n ? t('reaction.undo_emoji', { emoji: d.name })\n : t(`reaction.${d.name}`)\n }\n key={d.icon}\n variant=\"light\"\n active={reactions?.find((v) => v.emoji === d.name)?.is_active}\n className={`${index !== 0 ? 'ms-1' : ''}`}\n size=\"sm\"\n onClick={() =>\n handleSubmit({ object_id: objectId, emoji: d.name })\n }>\n \n \n ))}\n \n \n );\n\n return (\n \n {showAddCommentBtn && (\n \n \n {t('comment.btn_add_comment')}\n \n )}\n\n setReactIsActive(show)}>\n \n \n +\n \n \n\n {reactions?.map((data) => {\n if (!data.emoji || data?.count <= 0) {\n return null;\n }\n return (\n \n
\n {t(`reaction.${data.emoji}`)}
{data.tooltip}\n
\n \n }>\n \n handleSubmit({ object_id: objectId, emoji: data.emoji })\n }>\n v.name === data.emoji)?.icon)}\n className={\n emojiMap.find((v) => v.name === data.emoji)?.className\n }\n />\n {data.count}\n \n \n );\n })}\n
\n );\n};\n\nexport default memo(Index);\n","\"use client\";\n\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport CloseButton from './CloseButton';\nimport ModalContext from './ModalContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst AbstractModalHeader = /*#__PURE__*/React.forwardRef(({\n closeLabel = 'Close',\n closeVariant,\n closeButton = false,\n onHide,\n children,\n ...props\n}, ref) => {\n const context = useContext(ModalContext);\n const handleClick = useEventCallback(() => {\n context == null ? void 0 : context.onHide();\n onHide == null ? void 0 : onHide();\n });\n return /*#__PURE__*/_jsxs(\"div\", {\n ref: ref,\n ...props,\n children: [children, closeButton && /*#__PURE__*/_jsx(CloseButton, {\n \"aria-label\": closeLabel,\n variant: closeVariant,\n onClick: handleClick\n })]\n });\n});\nexport default AbstractModalHeader;","\"use client\";\n\nimport * as React from 'react';\nexport function isAccordionItemSelected(activeEventKey, eventKey) {\n return Array.isArray(activeEventKey) ? activeEventKey.includes(eventKey) : activeEventKey === eventKey;\n}\nconst context = /*#__PURE__*/React.createContext({});\ncontext.displayName = 'AccordionContext';\nexport default context;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport Collapse from './Collapse';\nimport AccordionContext, { isAccordionItemSelected } from './AccordionContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * This component accepts all of [`Collapse`'s props](/docs/utilities/transitions#collapse-1).\n */\nconst AccordionCollapse = /*#__PURE__*/React.forwardRef(({\n as: Component = 'div',\n bsPrefix,\n className,\n children,\n eventKey,\n ...props\n}, ref) => {\n const {\n activeEventKey\n } = useContext(AccordionContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'accordion-collapse');\n return /*#__PURE__*/_jsx(Collapse, {\n ref: ref,\n in: isAccordionItemSelected(activeEventKey, eventKey),\n ...props,\n className: classNames(className, bsPrefix),\n children: /*#__PURE__*/_jsx(Component, {\n children: React.Children.only(children)\n })\n });\n});\nAccordionCollapse.displayName = 'AccordionCollapse';\nexport default AccordionCollapse;","\"use client\";\n\nimport * as React from 'react';\nconst context = /*#__PURE__*/React.createContext({\n eventKey: ''\n});\ncontext.displayName = 'AccordionItemContext';\nexport default context;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport AccordionCollapse from './AccordionCollapse';\nimport AccordionItemContext from './AccordionItemContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst AccordionBody = /*#__PURE__*/React.forwardRef(({\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n bsPrefix,\n className,\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'accordion-body');\n const {\n eventKey\n } = useContext(AccordionItemContext);\n return /*#__PURE__*/_jsx(AccordionCollapse, {\n eventKey: eventKey,\n onEnter: onEnter,\n onEntering: onEntering,\n onEntered: onEntered,\n onExit: onExit,\n onExiting: onExiting,\n onExited: onExited,\n children: /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, bsPrefix)\n })\n });\n});\nAccordionBody.displayName = 'AccordionBody';\nexport default AccordionBody;","\"use client\";\n\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport classNames from 'classnames';\nimport AccordionContext, { isAccordionItemSelected } from './AccordionContext';\nimport AccordionItemContext from './AccordionItemContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function useAccordionButton(eventKey, onClick) {\n const {\n activeEventKey,\n onSelect,\n alwaysOpen\n } = useContext(AccordionContext);\n return e => {\n /*\n Compare the event key in context with the given event key.\n If they are the same, then collapse the component.\n */\n let eventKeyPassed = eventKey === activeEventKey ? null : eventKey;\n if (alwaysOpen) {\n if (Array.isArray(activeEventKey)) {\n if (activeEventKey.includes(eventKey)) {\n eventKeyPassed = activeEventKey.filter(k => k !== eventKey);\n } else {\n eventKeyPassed = [...activeEventKey, eventKey];\n }\n } else {\n // activeEventKey is undefined.\n eventKeyPassed = [eventKey];\n }\n }\n onSelect == null ? void 0 : onSelect(eventKeyPassed, e);\n onClick == null ? void 0 : onClick(e);\n };\n}\nconst AccordionButton = /*#__PURE__*/React.forwardRef(({\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'button',\n bsPrefix,\n className,\n onClick,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'accordion-button');\n const {\n eventKey\n } = useContext(AccordionItemContext);\n const accordionOnClick = useAccordionButton(eventKey, onClick);\n const {\n activeEventKey\n } = useContext(AccordionContext);\n if (Component === 'button') {\n props.type = 'button';\n }\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n onClick: accordionOnClick,\n ...props,\n \"aria-expanded\": Array.isArray(activeEventKey) ? activeEventKey.includes(eventKey) : eventKey === activeEventKey,\n className: classNames(className, bsPrefix, !isAccordionItemSelected(activeEventKey, eventKey) && 'collapsed')\n });\n});\nAccordionButton.displayName = 'AccordionButton';\nexport default AccordionButton;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport AccordionButton from './AccordionButton';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst AccordionHeader = /*#__PURE__*/React.forwardRef(({\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'h2',\n bsPrefix,\n className,\n children,\n onClick,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'accordion-header');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, bsPrefix),\n children: /*#__PURE__*/_jsx(AccordionButton, {\n onClick: onClick,\n children: children\n })\n });\n});\nAccordionHeader.displayName = 'AccordionHeader';\nexport default AccordionHeader;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport AccordionItemContext from './AccordionItemContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst AccordionItem = /*#__PURE__*/React.forwardRef(({\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n bsPrefix,\n className,\n eventKey,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'accordion-item');\n const contextValue = useMemo(() => ({\n eventKey\n }), [eventKey]);\n return /*#__PURE__*/_jsx(AccordionItemContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, bsPrefix)\n })\n });\n});\nAccordionItem.displayName = 'AccordionItem';\nexport default AccordionItem;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport { useUncontrolled } from 'uncontrollable';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport AccordionBody from './AccordionBody';\nimport AccordionButton from './AccordionButton';\nimport AccordionCollapse from './AccordionCollapse';\nimport AccordionContext from './AccordionContext';\nimport AccordionHeader from './AccordionHeader';\nimport AccordionItem from './AccordionItem';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Accordion = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n activeKey,\n bsPrefix,\n className,\n onSelect,\n flush,\n alwaysOpen,\n ...controlledProps\n } = useUncontrolled(props, {\n activeKey: 'onSelect'\n });\n const prefix = useBootstrapPrefix(bsPrefix, 'accordion');\n const contextValue = useMemo(() => ({\n activeEventKey: activeKey,\n onSelect,\n alwaysOpen\n }), [activeKey, onSelect, alwaysOpen]);\n return /*#__PURE__*/_jsx(AccordionContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...controlledProps,\n className: classNames(className, prefix, flush && `${prefix}-flush`)\n })\n });\n});\nAccordion.displayName = 'Accordion';\nexport default Object.assign(Accordion, {\n Button: AccordionButton,\n Collapse: AccordionCollapse,\n Item: AccordionItem,\n Header: AccordionHeader,\n Body: AccordionBody\n});","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Badge = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n bg = 'primary',\n pill = false,\n text,\n className,\n as: Component = 'span',\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'badge');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, prefix, pill && `rounded-pill`, text && `text-${text}`, bg && `bg-${bg}`)\n });\n});\nBadge.displayName = 'Badge';\nexport default Badge;","import addClass from 'dom-helpers/addClass';\nimport css from 'dom-helpers/css';\nimport qsa from 'dom-helpers/querySelectorAll';\nimport removeClass from 'dom-helpers/removeClass';\nimport ModalManager from '@restart/ui/ModalManager';\nconst Selector = {\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top',\n NAVBAR_TOGGLER: '.navbar-toggler'\n};\nclass BootstrapModalManager extends ModalManager {\n adjustAndStore(prop, element, adjust) {\n const actual = element.style[prop];\n // TODO: DOMStringMap and CSSStyleDeclaration aren't strictly compatible\n // @ts-ignore\n element.dataset[prop] = actual;\n css(element, {\n [prop]: `${parseFloat(css(element, prop)) + adjust}px`\n });\n }\n restore(prop, element) {\n const value = element.dataset[prop];\n if (value !== undefined) {\n delete element.dataset[prop];\n css(element, {\n [prop]: value\n });\n }\n }\n setContainerStyle(containerState) {\n super.setContainerStyle(containerState);\n const container = this.getElement();\n addClass(container, 'modal-open');\n if (!containerState.scrollBarWidth) return;\n const paddingProp = this.isRTL ? 'paddingLeft' : 'paddingRight';\n const marginProp = this.isRTL ? 'marginLeft' : 'marginRight';\n qsa(container, Selector.FIXED_CONTENT).forEach(el => this.adjustAndStore(paddingProp, el, containerState.scrollBarWidth));\n qsa(container, Selector.STICKY_CONTENT).forEach(el => this.adjustAndStore(marginProp, el, -containerState.scrollBarWidth));\n qsa(container, Selector.NAVBAR_TOGGLER).forEach(el => this.adjustAndStore(marginProp, el, containerState.scrollBarWidth));\n }\n removeContainerStyle(containerState) {\n super.removeContainerStyle(containerState);\n const container = this.getElement();\n removeClass(container, 'modal-open');\n const paddingProp = this.isRTL ? 'paddingLeft' : 'paddingRight';\n const marginProp = this.isRTL ? 'marginLeft' : 'marginRight';\n qsa(container, Selector.FIXED_CONTENT).forEach(el => this.restore(paddingProp, el));\n qsa(container, Selector.STICKY_CONTENT).forEach(el => this.restore(marginProp, el));\n qsa(container, Selector.NAVBAR_TOGGLER).forEach(el => this.restore(marginProp, el));\n }\n}\nlet sharedManager;\nexport function getSharedManager(options) {\n if (!sharedManager) sharedManager = new BootstrapModalManager(options);\n return sharedManager;\n}\nexport default BootstrapModalManager;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useButtonProps } from '@restart/ui/Button';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Button = /*#__PURE__*/React.forwardRef(({\n as,\n bsPrefix,\n variant = 'primary',\n size,\n active = false,\n disabled = false,\n className,\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'btn');\n const [buttonProps, {\n tagName\n }] = useButtonProps({\n tagName: as,\n disabled,\n ...props\n });\n const Component = tagName;\n return /*#__PURE__*/_jsx(Component, {\n ...buttonProps,\n ...props,\n ref: ref,\n disabled: disabled,\n className: classNames(className, prefix, active && 'active', variant && `${prefix}-${variant}`, size && `${prefix}-${size}`, props.href && disabled && 'disabled')\n });\n});\nButton.displayName = 'Button';\nexport default Button;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ButtonGroup = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n size,\n vertical = false,\n className,\n role = 'group',\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...rest\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'btn-group');\n let baseClass = prefix;\n if (vertical) baseClass = `${prefix}-vertical`;\n return /*#__PURE__*/_jsx(Component, {\n ...rest,\n ref: ref,\n role: role,\n className: classNames(className, baseClass, size && `${prefix}-${size}`)\n });\n});\nButtonGroup.displayName = 'ButtonGroup';\nexport default ButtonGroup;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CardBody = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'card-body');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nCardBody.displayName = 'CardBody';\nexport default CardBody;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CardFooter = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'card-footer');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nCardFooter.displayName = 'CardFooter';\nexport default CardFooter;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport CardHeaderContext from './CardHeaderContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CardHeader = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'card-header');\n const contextValue = useMemo(() => ({\n cardHeaderBsPrefix: prefix\n }), [prefix]);\n return /*#__PURE__*/_jsx(CardHeaderContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, prefix)\n })\n });\n});\nCardHeader.displayName = 'CardHeader';\nexport default CardHeader;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CardImg = /*#__PURE__*/React.forwardRef(\n// Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n({\n bsPrefix,\n className,\n variant,\n as: Component = 'img',\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'card-img');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(variant ? `${prefix}-${variant}` : prefix, className),\n ...props\n });\n});\nCardImg.displayName = 'CardImg';\nexport default CardImg;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CardImgOverlay = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'card-img-overlay');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nCardImgOverlay.displayName = 'CardImgOverlay';\nexport default CardImgOverlay;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CardLink = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'a',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'card-link');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nCardLink.displayName = 'CardLink';\nexport default CardLink;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport divWithClassName from './divWithClassName';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DivStyledAsH6 = divWithClassName('h6');\nconst CardSubtitle = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = DivStyledAsH6,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'card-subtitle');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nCardSubtitle.displayName = 'CardSubtitle';\nexport default CardSubtitle;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst CardText = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'p',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'card-text');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nCardText.displayName = 'CardText';\nexport default CardText;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport divWithClassName from './divWithClassName';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DivStyledAsH5 = divWithClassName('h5');\nconst CardTitle = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = DivStyledAsH5,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'card-title');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nCardTitle.displayName = 'CardTitle';\nexport default CardTitle;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport CardBody from './CardBody';\nimport CardFooter from './CardFooter';\nimport CardHeader from './CardHeader';\nimport CardImg from './CardImg';\nimport CardImgOverlay from './CardImgOverlay';\nimport CardLink from './CardLink';\nimport CardSubtitle from './CardSubtitle';\nimport CardText from './CardText';\nimport CardTitle from './CardTitle';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Card = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n bg,\n text,\n border,\n body = false,\n children,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'card');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, prefix, bg && `bg-${bg}`, text && `text-${text}`, border && `border-${border}`),\n children: body ? /*#__PURE__*/_jsx(CardBody, {\n children: children\n }) : children\n });\n});\nCard.displayName = 'Card';\nexport default Object.assign(Card, {\n Img: CardImg,\n Title: CardTitle,\n Subtitle: CardSubtitle,\n Body: CardBody,\n Link: CardLink,\n Text: CardText,\n Header: CardHeader,\n Footer: CardFooter,\n ImgOverlay: CardImgOverlay\n});","\"use client\";\n\nimport * as React from 'react';\nconst context = /*#__PURE__*/React.createContext(null);\ncontext.displayName = 'CardHeaderContext';\nexport default context;","import PropTypes from 'prop-types';\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst propTypes = {\n /** An accessible label indicating the relevant information about the Close Button. */\n 'aria-label': PropTypes.string,\n /** A callback fired after the Close Button is clicked. */\n onClick: PropTypes.func,\n /**\n * Render different color variant for the button.\n *\n * Omitting this will render the default dark color.\n */\n variant: PropTypes.oneOf(['white'])\n};\nconst CloseButton = /*#__PURE__*/React.forwardRef(({\n className,\n variant,\n 'aria-label': ariaLabel = 'Close',\n ...props\n}, ref) => /*#__PURE__*/_jsx(\"button\", {\n ref: ref,\n type: \"button\",\n className: classNames('btn-close', variant && `btn-close-${variant}`, className),\n \"aria-label\": ariaLabel,\n ...props\n}));\nCloseButton.displayName = 'CloseButton';\nCloseButton.propTypes = propTypes;\nexport default CloseButton;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useBootstrapBreakpoints, useBootstrapMinBreakpoint } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function useCol({\n as,\n bsPrefix,\n className,\n ...props\n}) {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'col');\n const breakpoints = useBootstrapBreakpoints();\n const minBreakpoint = useBootstrapMinBreakpoint();\n const spans = [];\n const classes = [];\n breakpoints.forEach(brkPoint => {\n const propValue = props[brkPoint];\n delete props[brkPoint];\n let span;\n let offset;\n let order;\n if (typeof propValue === 'object' && propValue != null) {\n ({\n span,\n offset,\n order\n } = propValue);\n } else {\n span = propValue;\n }\n const infix = brkPoint !== minBreakpoint ? `-${brkPoint}` : '';\n if (span) spans.push(span === true ? `${bsPrefix}${infix}` : `${bsPrefix}${infix}-${span}`);\n if (order != null) classes.push(`order${infix}-${order}`);\n if (offset != null) classes.push(`offset${infix}-${offset}`);\n });\n return [{\n ...props,\n className: classNames(className, ...spans, ...classes)\n }, {\n as,\n bsPrefix,\n spans\n }];\n}\nconst Col = /*#__PURE__*/React.forwardRef(\n// Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n(props, ref) => {\n const [{\n className,\n ...colProps\n }, {\n as: Component = 'div',\n bsPrefix,\n spans\n }] = useCol(props);\n return /*#__PURE__*/_jsx(Component, {\n ...colProps,\n ref: ref,\n className: classNames(className, !spans.length && bsPrefix)\n });\n});\nCol.displayName = 'Col';\nexport default Col;","/**\n * Safe chained function\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n *\n * @param {function} functions to chain\n * @returns {function|null}\n */\nfunction createChainedFunction(...funcs) {\n return funcs.filter(f => f != null).reduce((acc, f) => {\n if (typeof f !== 'function') {\n throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');\n }\n if (acc === null) return f;\n return function chainedFunction(...args) {\n // @ts-ignore\n acc.apply(this, args);\n // @ts-ignore\n f.apply(this, args);\n };\n }, null);\n}\nexport default createChainedFunction;","import classNames from 'classnames';\nimport css from 'dom-helpers/css';\nimport React, { useMemo } from 'react';\nimport { ENTERED, ENTERING, EXITED, EXITING } from 'react-transition-group/Transition';\nimport transitionEndListener from './transitionEndListener';\nimport createChainedFunction from './createChainedFunction';\nimport triggerBrowserReflow from './triggerBrowserReflow';\nimport TransitionWrapper from './TransitionWrapper';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst MARGINS = {\n height: ['marginTop', 'marginBottom'],\n width: ['marginLeft', 'marginRight']\n};\nfunction getDefaultDimensionValue(dimension, elem) {\n const offset = `offset${dimension[0].toUpperCase()}${dimension.slice(1)}`;\n const value = elem[offset];\n const margins = MARGINS[dimension];\n return value +\n // @ts-ignore\n parseInt(css(elem, margins[0]), 10) +\n // @ts-ignore\n parseInt(css(elem, margins[1]), 10);\n}\nconst collapseStyles = {\n [EXITED]: 'collapse',\n [EXITING]: 'collapsing',\n [ENTERING]: 'collapsing',\n [ENTERED]: 'collapse show'\n};\nconst Collapse = /*#__PURE__*/React.forwardRef(({\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n className,\n children,\n dimension = 'height',\n in: inProp = false,\n timeout = 300,\n mountOnEnter = false,\n unmountOnExit = false,\n appear = false,\n getDimensionValue = getDefaultDimensionValue,\n ...props\n}, ref) => {\n /* Compute dimension */\n const computedDimension = typeof dimension === 'function' ? dimension() : dimension;\n\n /* -- Expanding -- */\n const handleEnter = useMemo(() => createChainedFunction(elem => {\n elem.style[computedDimension] = '0';\n }, onEnter), [computedDimension, onEnter]);\n const handleEntering = useMemo(() => createChainedFunction(elem => {\n const scroll = `scroll${computedDimension[0].toUpperCase()}${computedDimension.slice(1)}`;\n elem.style[computedDimension] = `${elem[scroll]}px`;\n }, onEntering), [computedDimension, onEntering]);\n const handleEntered = useMemo(() => createChainedFunction(elem => {\n elem.style[computedDimension] = null;\n }, onEntered), [computedDimension, onEntered]);\n\n /* -- Collapsing -- */\n const handleExit = useMemo(() => createChainedFunction(elem => {\n elem.style[computedDimension] = `${getDimensionValue(computedDimension, elem)}px`;\n triggerBrowserReflow(elem);\n }, onExit), [onExit, getDimensionValue, computedDimension]);\n const handleExiting = useMemo(() => createChainedFunction(elem => {\n elem.style[computedDimension] = null;\n }, onExiting), [computedDimension, onExiting]);\n return /*#__PURE__*/_jsx(TransitionWrapper, {\n ref: ref,\n addEndListener: transitionEndListener,\n ...props,\n \"aria-expanded\": props.role ? inProp : null,\n onEnter: handleEnter,\n onEntering: handleEntering,\n onEntered: handleEntered,\n onExit: handleExit,\n onExiting: handleExiting,\n childRef: children.ref,\n in: inProp,\n timeout: timeout,\n mountOnEnter: mountOnEnter,\n unmountOnExit: unmountOnExit,\n appear: appear,\n children: (state, innerProps) => /*#__PURE__*/React.cloneElement(children, {\n ...innerProps,\n className: classNames(className, children.props.className, collapseStyles[state], computedDimension === 'width' && 'collapse-horizontal')\n })\n });\n});\n\n// @ts-ignore\n\nexport default Collapse;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Container = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n fluid = false,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n className,\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'container');\n const suffix = typeof fluid === 'string' ? `-${fluid}` : '-fluid';\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, fluid ? `${prefix}${suffix}` : prefix)\n });\n});\nContainer.displayName = 'Container';\nexport default Container;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownDivider = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'hr',\n role = 'separator',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'dropdown-divider');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n role: role,\n ...props\n });\n});\nDropdownDivider.displayName = 'DropdownDivider';\nexport default DropdownDivider;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownHeader = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n role = 'heading',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'dropdown-header');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n role: role,\n ...props\n });\n});\nDropdownHeader.displayName = 'DropdownHeader';\nexport default DropdownHeader;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useDropdownItem } from '@restart/ui/DropdownItem';\nimport Anchor from '@restart/ui/Anchor';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownItem = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n eventKey,\n disabled = false,\n onClick,\n active,\n as: Component = Anchor,\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'dropdown-item');\n const [dropdownItemProps, meta] = useDropdownItem({\n key: eventKey,\n href: props.href,\n disabled,\n onClick,\n active\n });\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n ...dropdownItemProps,\n ref: ref,\n className: classNames(className, prefix, meta.isActive && 'active', disabled && 'disabled')\n });\n});\nDropdownItem.displayName = 'DropdownItem';\nexport default DropdownItem;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownItemText = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'span',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'dropdown-item-text');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nDropdownItemText.displayName = 'DropdownItemText';\nexport default DropdownItemText;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport BaseDropdown from '@restart/ui/Dropdown';\nimport { useUncontrolled } from 'uncontrollable';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport DropdownContext from './DropdownContext';\nimport DropdownDivider from './DropdownDivider';\nimport DropdownHeader from './DropdownHeader';\nimport DropdownItem from './DropdownItem';\nimport DropdownItemText from './DropdownItemText';\nimport DropdownMenu, { getDropdownMenuPlacement } from './DropdownMenu';\nimport DropdownToggle from './DropdownToggle';\nimport InputGroupContext from './InputGroupContext';\nimport { useBootstrapPrefix, useIsRTL } from './ThemeProvider';\nimport { alignPropType } from './types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Dropdown = /*#__PURE__*/React.forwardRef((pProps, ref) => {\n const {\n bsPrefix,\n drop = 'down',\n show,\n className,\n align = 'start',\n onSelect,\n onToggle,\n focusFirstItemOnShow,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n navbar: _4,\n autoClose = true,\n ...props\n } = useUncontrolled(pProps, {\n show: 'onToggle'\n });\n const isInputGroup = useContext(InputGroupContext);\n const prefix = useBootstrapPrefix(bsPrefix, 'dropdown');\n const isRTL = useIsRTL();\n const isClosingPermitted = source => {\n // autoClose=false only permits close on button click\n if (autoClose === false) return source === 'click';\n\n // autoClose=inside doesn't permit close on rootClose\n if (autoClose === 'inside') return source !== 'rootClose';\n\n // autoClose=outside doesn't permit close on select\n if (autoClose === 'outside') return source !== 'select';\n return true;\n };\n const handleToggle = useEventCallback((nextShow, meta) => {\n var _meta$originalEvent, _meta$originalEvent$t;\n /** Checking if target of event is ToggleButton,\n * if it is then nullify mousedown event\n */\n const isToggleButton = (_meta$originalEvent = meta.originalEvent) == null ? void 0 : (_meta$originalEvent$t = _meta$originalEvent.target) == null ? void 0 : _meta$originalEvent$t.classList.contains('dropdown-toggle');\n if (isToggleButton && meta.source === 'mousedown') {\n return;\n }\n if (meta.originalEvent.currentTarget === document && (meta.source !== 'keydown' || meta.originalEvent.key === 'Escape')) meta.source = 'rootClose';\n if (isClosingPermitted(meta.source)) onToggle == null ? void 0 : onToggle(nextShow, meta);\n });\n const alignEnd = align === 'end';\n const placement = getDropdownMenuPlacement(alignEnd, drop, isRTL);\n const contextValue = useMemo(() => ({\n align,\n drop,\n isRTL\n }), [align, drop, isRTL]);\n const directionClasses = {\n down: prefix,\n 'down-centered': `${prefix}-center`,\n up: 'dropup',\n 'up-centered': 'dropup-center dropup',\n end: 'dropend',\n start: 'dropstart'\n };\n return /*#__PURE__*/_jsx(DropdownContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/_jsx(BaseDropdown, {\n placement: placement,\n show: show,\n onSelect: onSelect,\n onToggle: handleToggle,\n focusFirstItemOnShow: focusFirstItemOnShow,\n itemSelector: `.${prefix}-item:not(.disabled):not(:disabled)`,\n children: isInputGroup ? props.children : /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref,\n className: classNames(className, show && 'show', directionClasses[drop])\n })\n })\n });\n});\nDropdown.displayName = 'Dropdown';\nexport default Object.assign(Dropdown, {\n Toggle: DropdownToggle,\n Menu: DropdownMenu,\n Item: DropdownItem,\n ItemText: DropdownItemText,\n Divider: DropdownDivider,\n Header: DropdownHeader\n});","\"use client\";\n\nimport * as React from 'react';\nconst DropdownContext = /*#__PURE__*/React.createContext({});\nDropdownContext.displayName = 'DropdownContext';\nexport default DropdownContext;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useDropdownMenu } from '@restart/ui/DropdownMenu';\nimport useIsomorphicEffect from '@restart/hooks/useIsomorphicEffect';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport warning from 'warning';\nimport DropdownContext from './DropdownContext';\nimport InputGroupContext from './InputGroupContext';\nimport NavbarContext from './NavbarContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport useWrappedRefWithWarning from './useWrappedRefWithWarning';\nimport { alignPropType } from './types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function getDropdownMenuPlacement(alignEnd, dropDirection, isRTL) {\n const topStart = isRTL ? 'top-end' : 'top-start';\n const topEnd = isRTL ? 'top-start' : 'top-end';\n const bottomStart = isRTL ? 'bottom-end' : 'bottom-start';\n const bottomEnd = isRTL ? 'bottom-start' : 'bottom-end';\n const leftStart = isRTL ? 'right-start' : 'left-start';\n const leftEnd = isRTL ? 'right-end' : 'left-end';\n const rightStart = isRTL ? 'left-start' : 'right-start';\n const rightEnd = isRTL ? 'left-end' : 'right-end';\n let placement = alignEnd ? bottomEnd : bottomStart;\n if (dropDirection === 'up') placement = alignEnd ? topEnd : topStart;else if (dropDirection === 'end') placement = alignEnd ? rightEnd : rightStart;else if (dropDirection === 'start') placement = alignEnd ? leftEnd : leftStart;else if (dropDirection === 'down-centered') placement = 'bottom';else if (dropDirection === 'up-centered') placement = 'top';\n return placement;\n}\nconst DropdownMenu = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n align,\n rootCloseEvent,\n flip = true,\n show: showProps,\n renderOnMount,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n popperConfig,\n variant,\n ...props\n}, ref) => {\n let alignEnd = false;\n const isNavbar = useContext(NavbarContext);\n const prefix = useBootstrapPrefix(bsPrefix, 'dropdown-menu');\n const {\n align: contextAlign,\n drop,\n isRTL\n } = useContext(DropdownContext);\n align = align || contextAlign;\n const isInputGroup = useContext(InputGroupContext);\n const alignClasses = [];\n if (align) {\n if (typeof align === 'object') {\n const keys = Object.keys(align);\n process.env.NODE_ENV !== \"production\" ? warning(keys.length === 1, 'There should only be 1 breakpoint when passing an object to `align`') : void 0;\n if (keys.length) {\n const brkPoint = keys[0];\n const direction = align[brkPoint];\n\n // .dropdown-menu-end is required for responsively aligning\n // left in addition to align left classes.\n alignEnd = direction === 'start';\n alignClasses.push(`${prefix}-${brkPoint}-${direction}`);\n }\n } else if (align === 'end') {\n alignEnd = true;\n }\n }\n const placement = getDropdownMenuPlacement(alignEnd, drop, isRTL);\n const [menuProps, {\n hasShown,\n popper,\n show,\n toggle\n }] = useDropdownMenu({\n flip,\n rootCloseEvent,\n show: showProps,\n usePopper: !isNavbar && alignClasses.length === 0,\n offset: [0, 2],\n popperConfig,\n placement\n });\n menuProps.ref = useMergedRefs(useWrappedRefWithWarning(ref, 'DropdownMenu'), menuProps.ref);\n useIsomorphicEffect(() => {\n // Popper's initial position for the menu is incorrect when\n // renderOnMount=true. Need to call update() to correct it.\n if (show) popper == null ? void 0 : popper.update();\n }, [show]);\n if (!hasShown && !renderOnMount && !isInputGroup) return null;\n\n // For custom components provide additional, non-DOM, props;\n if (typeof Component !== 'string') {\n menuProps.show = show;\n menuProps.close = () => toggle == null ? void 0 : toggle(false);\n menuProps.align = align;\n }\n let style = props.style;\n if (popper != null && popper.placement) {\n // we don't need the default popper style,\n // menus are display: none when not shown.\n style = {\n ...props.style,\n ...menuProps.style\n };\n props['x-placement'] = popper.placement;\n }\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n ...menuProps,\n style: style\n // Bootstrap css requires this data attrib to style responsive menus.\n ,\n ...((alignClasses.length || isNavbar) && {\n 'data-bs-popper': 'static'\n }),\n className: classNames(className, prefix, show && 'show', alignEnd && `${prefix}-end`, variant && `${prefix}-${variant}`, ...alignClasses)\n });\n});\nDropdownMenu.displayName = 'DropdownMenu';\nexport default DropdownMenu;","\"use client\";\n\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport DropdownContext from '@restart/ui/DropdownContext';\nimport { useDropdownToggle } from '@restart/ui/DropdownToggle';\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport Button from './Button';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport useWrappedRefWithWarning from './useWrappedRefWithWarning';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DropdownToggle = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n split,\n className,\n childBsPrefix,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = Button,\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'dropdown-toggle');\n const dropdownContext = useContext(DropdownContext);\n if (childBsPrefix !== undefined) {\n props.bsPrefix = childBsPrefix;\n }\n const [toggleProps] = useDropdownToggle();\n toggleProps.ref = useMergedRefs(toggleProps.ref, useWrappedRefWithWarning(ref, 'DropdownToggle'));\n\n // This intentionally forwards size and variant (if set) to the\n // underlying component, to allow it to render size and style variants.\n return /*#__PURE__*/_jsx(Component, {\n className: classNames(className, prefix, split && `${prefix}-split`, (dropdownContext == null ? void 0 : dropdownContext.show) && 'show'),\n ...toggleProps,\n ...props\n });\n});\nDropdownToggle.displayName = 'DropdownToggle';\nexport default DropdownToggle;","import * as React from 'react';\n\n/**\n * Iterates through children that are typically specified as `props.children`,\n * but only maps over children that are \"valid elements\".\n *\n * The mapFunction provided index will be normalised to the components mapped,\n * so an invalid component would not increase the index.\n *\n */\nfunction map(children, func) {\n let index = 0;\n return React.Children.map(children, child => /*#__PURE__*/React.isValidElement(child) ? func(child, index++) : child);\n}\n\n/**\n * Iterates through children that are \"valid elements\".\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child with the index reflecting the position relative to \"valid components\".\n */\nfunction forEach(children, func) {\n let index = 0;\n React.Children.forEach(children, child => {\n if ( /*#__PURE__*/React.isValidElement(child)) func(child, index++);\n });\n}\n\n/**\n * Finds whether a component's `children` prop includes a React element of the\n * specified type.\n */\nfunction hasChildOfType(children, type) {\n return React.Children.toArray(children).some(child => /*#__PURE__*/React.isValidElement(child) && child.type === type);\n}\nexport { map, forEach, hasChildOfType };","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useCallback } from 'react';\nimport { ENTERED, ENTERING } from 'react-transition-group/Transition';\nimport transitionEndListener from './transitionEndListener';\nimport triggerBrowserReflow from './triggerBrowserReflow';\nimport TransitionWrapper from './TransitionWrapper';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst fadeStyles = {\n [ENTERING]: 'show',\n [ENTERED]: 'show'\n};\nconst Fade = /*#__PURE__*/React.forwardRef(({\n className,\n children,\n transitionClasses = {},\n onEnter,\n ...rest\n}, ref) => {\n const props = {\n in: false,\n timeout: 300,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n ...rest\n };\n const handleEnter = useCallback((node, isAppearing) => {\n triggerBrowserReflow(node);\n onEnter == null ? void 0 : onEnter(node, isAppearing);\n }, [onEnter]);\n return /*#__PURE__*/_jsx(TransitionWrapper, {\n ref: ref,\n addEndListener: transitionEndListener,\n ...props,\n onEnter: handleEnter,\n childRef: children.ref,\n children: (status, innerProps) => /*#__PURE__*/React.cloneElement(children, {\n ...innerProps,\n className: classNames('fade', className, children.props.className, fadeStyles[status], transitionClasses[status])\n })\n });\n});\nFade.displayName = 'Fade';\nexport default Fade;","import classNames from 'classnames';\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst propTypes = {\n /**\n * Specify whether the feedback is for valid or invalid fields\n *\n * @type {('valid'|'invalid')}\n */\n type: PropTypes.string,\n /** Display feedback as a tooltip. */\n tooltip: PropTypes.bool,\n as: PropTypes.elementType\n};\nconst Feedback = /*#__PURE__*/React.forwardRef(\n// Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n({\n as: Component = 'div',\n className,\n type = 'valid',\n tooltip = false,\n ...props\n}, ref) => /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref,\n className: classNames(className, `${type}-${tooltip ? 'tooltip' : 'feedback'}`)\n}));\nFeedback.displayName = 'Feedback';\nFeedback.propTypes = propTypes;\nexport default Feedback;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormFloating = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-floating');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nFormFloating.displayName = 'FormFloating';\nexport default FormFloating;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport warning from 'warning';\nimport Col from './Col';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormLabel = /*#__PURE__*/React.forwardRef(({\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'label',\n bsPrefix,\n column = false,\n visuallyHidden = false,\n className,\n htmlFor,\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-label');\n let columnClass = 'col-form-label';\n if (typeof column === 'string') columnClass = `${columnClass} ${columnClass}-${column}`;\n const classes = classNames(className, bsPrefix, visuallyHidden && 'visually-hidden', column && columnClass);\n process.env.NODE_ENV !== \"production\" ? warning(controlId == null || !htmlFor, '`controlId` is ignored on `` when `htmlFor` is specified.') : void 0;\n htmlFor = htmlFor || controlId;\n if (column) return /*#__PURE__*/_jsx(Col, {\n ref: ref,\n as: \"label\",\n className: classes,\n htmlFor: htmlFor,\n ...props\n });\n return (\n /*#__PURE__*/\n // eslint-disable-next-line jsx-a11y/label-has-for, jsx-a11y/label-has-associated-control\n _jsx(Component, {\n ref: ref,\n className: classes,\n htmlFor: htmlFor,\n ...props\n })\n );\n});\nFormLabel.displayName = 'FormLabel';\nexport default FormLabel;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport FormContext from './FormContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormRange = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n id,\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-range');\n return /*#__PURE__*/_jsx(\"input\", {\n ...props,\n type: \"range\",\n ref: ref,\n className: classNames(className, bsPrefix),\n id: id || controlId\n });\n});\nFormRange.displayName = 'FormRange';\nexport default FormRange;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport FormContext from './FormContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormSelect = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n size,\n htmlSize,\n className,\n isValid = false,\n isInvalid = false,\n id,\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-select');\n return /*#__PURE__*/_jsx(\"select\", {\n ...props,\n size: htmlSize,\n ref: ref,\n className: classNames(className, bsPrefix, size && `${bsPrefix}-${size}`, isValid && `is-valid`, isInvalid && `is-invalid`),\n id: id || controlId\n });\n});\nFormSelect.displayName = 'FormSelect';\nexport default FormSelect;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormText = /*#__PURE__*/React.forwardRef(\n// Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n({\n bsPrefix,\n className,\n as: Component = 'small',\n muted,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-text');\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref,\n className: classNames(className, bsPrefix, muted && 'text-muted')\n });\n});\nFormText.displayName = 'FormText';\nexport default FormText;","import * as React from 'react';\nimport FormCheck from './FormCheck';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Switch = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/_jsx(FormCheck, {\n ...props,\n ref: ref,\n type: \"switch\"\n}));\nSwitch.displayName = 'Switch';\nexport default Object.assign(Switch, {\n Input: FormCheck.Input,\n Label: FormCheck.Label\n});","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport FormGroup from './FormGroup';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst FloatingLabel = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n children,\n controlId,\n label,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-floating');\n return /*#__PURE__*/_jsxs(FormGroup, {\n ref: ref,\n className: classNames(className, bsPrefix),\n controlId: controlId,\n ...props,\n children: [children, /*#__PURE__*/_jsx(\"label\", {\n htmlFor: controlId,\n children: label\n })]\n });\n});\nFloatingLabel.displayName = 'FloatingLabel';\nexport default FloatingLabel;","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport * as React from 'react';\nimport FormCheck from './FormCheck';\nimport FormControl from './FormControl';\nimport FormFloating from './FormFloating';\nimport FormGroup from './FormGroup';\nimport FormLabel from './FormLabel';\nimport FormRange from './FormRange';\nimport FormSelect from './FormSelect';\nimport FormText from './FormText';\nimport Switch from './Switch';\nimport FloatingLabel from './FloatingLabel';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst propTypes = {\n /**\n * The Form `ref` will be forwarded to the underlying element,\n * which means, unless it's rendered `as` a composite component,\n * it will be a DOM node, when resolved.\n *\n * @type {ReactRef}\n * @alias ref\n */\n _ref: PropTypes.any,\n /**\n * Mark a form as having been validated. Setting it to `true` will\n * toggle any validation styles on the forms elements.\n */\n validated: PropTypes.bool,\n as: PropTypes.elementType\n};\nconst Form = /*#__PURE__*/React.forwardRef(({\n className,\n validated,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'form',\n ...props\n}, ref) => /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref,\n className: classNames(className, validated && 'was-validated')\n}));\nForm.displayName = 'Form';\nForm.propTypes = propTypes;\nexport default Object.assign(Form, {\n Group: FormGroup,\n Control: FormControl,\n Floating: FormFloating,\n Check: FormCheck,\n Switch,\n Label: FormLabel,\n Text: FormText,\n Range: FormRange,\n Select: FormSelect,\n FloatingLabel\n});","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormCheckLabel = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n htmlFor,\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-check-label');\n return /*#__PURE__*/_jsx(\"label\", {\n ...props,\n ref: ref,\n htmlFor: htmlFor || controlId,\n className: classNames(className, bsPrefix)\n });\n});\nFormCheckLabel.displayName = 'FormCheckLabel';\nexport default FormCheckLabel;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport Feedback from './Feedback';\nimport FormCheckInput from './FormCheckInput';\nimport FormCheckLabel from './FormCheckLabel';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { hasChildOfType } from './ElementChildren';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst FormCheck = /*#__PURE__*/React.forwardRef(({\n id,\n bsPrefix,\n bsSwitchPrefix,\n inline = false,\n reverse = false,\n disabled = false,\n isValid = false,\n isInvalid = false,\n feedbackTooltip = false,\n feedback,\n feedbackType,\n className,\n style,\n title = '',\n type = 'checkbox',\n label,\n children,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as = 'input',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-check');\n bsSwitchPrefix = useBootstrapPrefix(bsSwitchPrefix, 'form-switch');\n const {\n controlId\n } = useContext(FormContext);\n const innerFormContext = useMemo(() => ({\n controlId: id || controlId\n }), [controlId, id]);\n const hasLabel = !children && label != null && label !== false || hasChildOfType(children, FormCheckLabel);\n const input = /*#__PURE__*/_jsx(FormCheckInput, {\n ...props,\n type: type === 'switch' ? 'checkbox' : type,\n ref: ref,\n isValid: isValid,\n isInvalid: isInvalid,\n disabled: disabled,\n as: as\n });\n return /*#__PURE__*/_jsx(FormContext.Provider, {\n value: innerFormContext,\n children: /*#__PURE__*/_jsx(\"div\", {\n style: style,\n className: classNames(className, hasLabel && bsPrefix, inline && `${bsPrefix}-inline`, reverse && `${bsPrefix}-reverse`, type === 'switch' && bsSwitchPrefix),\n children: children || /*#__PURE__*/_jsxs(_Fragment, {\n children: [input, hasLabel && /*#__PURE__*/_jsx(FormCheckLabel, {\n title: title,\n children: label\n }), feedback && /*#__PURE__*/_jsx(Feedback, {\n type: feedbackType,\n tooltip: feedbackTooltip,\n children: feedback\n })]\n })\n })\n });\n});\nFormCheck.displayName = 'FormCheck';\nexport default Object.assign(FormCheck, {\n Input: FormCheckInput,\n Label: FormCheckLabel\n});","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormCheckInput = /*#__PURE__*/React.forwardRef(({\n id,\n bsPrefix,\n className,\n type = 'checkbox',\n isValid = false,\n isInvalid = false,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'input',\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-check-input');\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref,\n type: type,\n id: id || controlId,\n className: classNames(className, bsPrefix, isValid && 'is-valid', isInvalid && 'is-invalid')\n });\n});\nFormCheckInput.displayName = 'FormCheckInput';\nexport default FormCheckInput;","\"use client\";\n\nimport * as React from 'react';\n\n// TODO\n\nconst FormContext = /*#__PURE__*/React.createContext({});\nexport default FormContext;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport warning from 'warning';\nimport Feedback from './Feedback';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormControl = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n type,\n size,\n htmlSize,\n id,\n className,\n isValid = false,\n isInvalid = false,\n plaintext,\n readOnly,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'input',\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-control');\n process.env.NODE_ENV !== \"production\" ? warning(controlId == null || !id, '`controlId` is ignored on `` when `id` is specified.') : void 0;\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n type: type,\n size: htmlSize,\n ref: ref,\n readOnly: readOnly,\n id: id || controlId,\n className: classNames(className, plaintext ? `${bsPrefix}-plaintext` : bsPrefix, size && `${bsPrefix}-${size}`, type === 'color' && `${bsPrefix}-color`, isValid && 'is-valid', isInvalid && 'is-invalid')\n });\n});\nFormControl.displayName = 'FormControl';\nexport default Object.assign(FormControl, {\n Feedback\n});","import * as React from 'react';\nimport { useMemo } from 'react';\nimport FormContext from './FormContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormGroup = /*#__PURE__*/React.forwardRef(({\n controlId,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n const context = useMemo(() => ({\n controlId\n }), [controlId]);\n return /*#__PURE__*/_jsx(FormContext.Provider, {\n value: context,\n children: /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref\n })\n });\n});\nFormGroup.displayName = 'FormGroup';\nexport default FormGroup;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst InputGroupText = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'span',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'input-group-text');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nInputGroupText.displayName = 'InputGroupText';\nexport default InputGroupText;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport FormCheckInput from './FormCheckInput';\nimport InputGroupContext from './InputGroupContext';\nimport InputGroupText from './InputGroupText';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst InputGroupCheckbox = props => /*#__PURE__*/_jsx(InputGroupText, {\n children: /*#__PURE__*/_jsx(FormCheckInput, {\n type: \"checkbox\",\n ...props\n })\n});\nconst InputGroupRadio = props => /*#__PURE__*/_jsx(InputGroupText, {\n children: /*#__PURE__*/_jsx(FormCheckInput, {\n type: \"radio\",\n ...props\n })\n});\nconst InputGroup = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n size,\n hasValidation,\n className,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'input-group');\n\n // Intentionally an empty object. Used in detecting if a dropdown\n // exists under an input group.\n const contextValue = useMemo(() => ({}), []);\n return /*#__PURE__*/_jsx(InputGroupContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, bsPrefix, size && `${bsPrefix}-${size}`, hasValidation && 'has-validation')\n })\n });\n});\nInputGroup.displayName = 'InputGroup';\nexport default Object.assign(InputGroup, {\n Text: InputGroupText,\n Radio: InputGroupRadio,\n Checkbox: InputGroupCheckbox\n});","\"use client\";\n\nimport * as React from 'react';\nconst context = /*#__PURE__*/React.createContext(null);\ncontext.displayName = 'InputGroupContext';\nexport default context;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport warning from 'warning';\nimport { useUncontrolled } from 'uncontrollable';\nimport BaseNav from '@restart/ui/Nav';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport ListGroupItem from './ListGroupItem';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ListGroup = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n className,\n bsPrefix: initialBsPrefix,\n variant,\n horizontal,\n numbered,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as = 'div',\n ...controlledProps\n } = useUncontrolled(props, {\n activeKey: 'onSelect'\n });\n const bsPrefix = useBootstrapPrefix(initialBsPrefix, 'list-group');\n let horizontalVariant;\n if (horizontal) {\n horizontalVariant = horizontal === true ? 'horizontal' : `horizontal-${horizontal}`;\n }\n process.env.NODE_ENV !== \"production\" ? warning(!(horizontal && variant === 'flush'), '`variant=\"flush\"` and `horizontal` should not be used together.') : void 0;\n return /*#__PURE__*/_jsx(BaseNav, {\n ref: ref,\n ...controlledProps,\n as: as,\n className: classNames(className, bsPrefix, variant && `${bsPrefix}-${variant}`, horizontalVariant && `${bsPrefix}-${horizontalVariant}`, numbered && `${bsPrefix}-numbered`)\n });\n});\nListGroup.displayName = 'ListGroup';\nexport default Object.assign(ListGroup, {\n Item: ListGroupItem\n});","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport warning from 'warning';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport { useNavItem } from '@restart/ui/NavItem';\nimport { makeEventKey } from '@restart/ui/SelectableContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ListGroupItem = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n active,\n disabled,\n eventKey,\n className,\n variant,\n action,\n as,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'list-group-item');\n const [navItemProps, meta] = useNavItem({\n key: makeEventKey(eventKey, props.href),\n active,\n ...props\n });\n const handleClick = useEventCallback(event => {\n if (disabled) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n navItemProps.onClick(event);\n });\n if (disabled && props.tabIndex === undefined) {\n props.tabIndex = -1;\n props['aria-disabled'] = true;\n }\n\n // eslint-disable-next-line no-nested-ternary\n const Component = as || (action ? props.href ? 'a' : 'button' : 'div');\n process.env.NODE_ENV !== \"production\" ? warning(as || !(!action && props.href), '`action=false` and `href` should not be used together.') : void 0;\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n ...navItemProps,\n onClick: handleClick,\n className: classNames(className, bsPrefix, meta.isActive && 'active', disabled && 'disabled', variant && `${bsPrefix}-${variant}`, action && `${bsPrefix}-action`)\n });\n});\nListGroupItem.displayName = 'ListGroupItem';\nexport default ListGroupItem;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ModalBody = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'modal-body');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nModalBody.displayName = 'ModalBody';\nexport default ModalBody;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ModalDialog = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n contentClassName,\n centered,\n size,\n fullscreen,\n children,\n scrollable,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'modal');\n const dialogClass = `${bsPrefix}-dialog`;\n const fullScreenClass = typeof fullscreen === 'string' ? `${bsPrefix}-fullscreen-${fullscreen}` : `${bsPrefix}-fullscreen`;\n return /*#__PURE__*/_jsx(\"div\", {\n ...props,\n ref: ref,\n className: classNames(dialogClass, className, size && `${bsPrefix}-${size}`, centered && `${dialogClass}-centered`, scrollable && `${dialogClass}-scrollable`, fullscreen && fullScreenClass),\n children: /*#__PURE__*/_jsx(\"div\", {\n className: classNames(`${bsPrefix}-content`, contentClassName),\n children: children\n })\n });\n});\nModalDialog.displayName = 'ModalDialog';\nexport default ModalDialog;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ModalFooter = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'modal-footer');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nModalFooter.displayName = 'ModalFooter';\nexport default ModalFooter;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport AbstractModalHeader from './AbstractModalHeader';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ModalHeader = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n closeLabel = 'Close',\n closeButton = false,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'modal-header');\n return /*#__PURE__*/_jsx(AbstractModalHeader, {\n ref: ref,\n ...props,\n className: classNames(className, bsPrefix),\n closeLabel: closeLabel,\n closeButton: closeButton\n });\n});\nModalHeader.displayName = 'ModalHeader';\nexport default ModalHeader;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport divWithClassName from './divWithClassName';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DivStyledAsH4 = divWithClassName('h4');\nconst ModalTitle = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = DivStyledAsH4,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'modal-title');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nModalTitle.displayName = 'ModalTitle';\nexport default ModalTitle;","\"use client\";\n\nimport classNames from 'classnames';\nimport addEventListener from 'dom-helpers/addEventListener';\nimport canUseDOM from 'dom-helpers/canUseDOM';\nimport ownerDocument from 'dom-helpers/ownerDocument';\nimport removeEventListener from 'dom-helpers/removeEventListener';\nimport getScrollbarSize from 'dom-helpers/scrollbarSize';\nimport useCallbackRef from '@restart/hooks/useCallbackRef';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport useWillUnmount from '@restart/hooks/useWillUnmount';\nimport transitionEnd from 'dom-helpers/transitionEnd';\nimport * as React from 'react';\nimport { useCallback, useMemo, useRef, useState } from 'react';\nimport BaseModal from '@restart/ui/Modal';\nimport { getSharedManager } from './BootstrapModalManager';\nimport Fade from './Fade';\nimport ModalBody from './ModalBody';\nimport ModalContext from './ModalContext';\nimport ModalDialog from './ModalDialog';\nimport ModalFooter from './ModalFooter';\nimport ModalHeader from './ModalHeader';\nimport ModalTitle from './ModalTitle';\nimport { useBootstrapPrefix, useIsRTL } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/* eslint-disable no-use-before-define, react/no-multi-comp */\nfunction DialogTransition(props) {\n return /*#__PURE__*/_jsx(Fade, {\n ...props,\n timeout: null\n });\n}\nfunction BackdropTransition(props) {\n return /*#__PURE__*/_jsx(Fade, {\n ...props,\n timeout: null\n });\n}\n\n/* eslint-enable no-use-before-define */\nconst Modal = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n style,\n dialogClassName,\n contentClassName,\n children,\n dialogAs: Dialog = ModalDialog,\n 'data-bs-theme': dataBsTheme,\n 'aria-labelledby': ariaLabelledby,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n /* BaseModal props */\n\n show = false,\n animation = true,\n backdrop = true,\n keyboard = true,\n onEscapeKeyDown,\n onShow,\n onHide,\n container,\n autoFocus = true,\n enforceFocus = true,\n restoreFocus = true,\n restoreFocusOptions,\n onEntered,\n onExit,\n onExiting,\n onEnter,\n onEntering,\n onExited,\n backdropClassName,\n manager: propsManager,\n ...props\n}, ref) => {\n const [modalStyle, setStyle] = useState({});\n const [animateStaticModal, setAnimateStaticModal] = useState(false);\n const waitingForMouseUpRef = useRef(false);\n const ignoreBackdropClickRef = useRef(false);\n const removeStaticModalAnimationRef = useRef(null);\n const [modal, setModalRef] = useCallbackRef();\n const mergedRef = useMergedRefs(ref, setModalRef);\n const handleHide = useEventCallback(onHide);\n const isRTL = useIsRTL();\n bsPrefix = useBootstrapPrefix(bsPrefix, 'modal');\n const modalContext = useMemo(() => ({\n onHide: handleHide\n }), [handleHide]);\n function getModalManager() {\n if (propsManager) return propsManager;\n return getSharedManager({\n isRTL\n });\n }\n function updateDialogStyle(node) {\n if (!canUseDOM) return;\n const containerIsOverflowing = getModalManager().getScrollbarWidth() > 0;\n const modalIsOverflowing = node.scrollHeight > ownerDocument(node).documentElement.clientHeight;\n setStyle({\n paddingRight: containerIsOverflowing && !modalIsOverflowing ? getScrollbarSize() : undefined,\n paddingLeft: !containerIsOverflowing && modalIsOverflowing ? getScrollbarSize() : undefined\n });\n }\n const handleWindowResize = useEventCallback(() => {\n if (modal) {\n updateDialogStyle(modal.dialog);\n }\n });\n useWillUnmount(() => {\n removeEventListener(window, 'resize', handleWindowResize);\n removeStaticModalAnimationRef.current == null ? void 0 : removeStaticModalAnimationRef.current();\n });\n\n // We prevent the modal from closing during a drag by detecting where the\n // click originates from. If it starts in the modal and then ends outside\n // don't close.\n const handleDialogMouseDown = () => {\n waitingForMouseUpRef.current = true;\n };\n const handleMouseUp = e => {\n if (waitingForMouseUpRef.current && modal && e.target === modal.dialog) {\n ignoreBackdropClickRef.current = true;\n }\n waitingForMouseUpRef.current = false;\n };\n const handleStaticModalAnimation = () => {\n setAnimateStaticModal(true);\n removeStaticModalAnimationRef.current = transitionEnd(modal.dialog, () => {\n setAnimateStaticModal(false);\n });\n };\n const handleStaticBackdropClick = e => {\n if (e.target !== e.currentTarget) {\n return;\n }\n handleStaticModalAnimation();\n };\n const handleClick = e => {\n if (backdrop === 'static') {\n handleStaticBackdropClick(e);\n return;\n }\n if (ignoreBackdropClickRef.current || e.target !== e.currentTarget) {\n ignoreBackdropClickRef.current = false;\n return;\n }\n onHide == null ? void 0 : onHide();\n };\n const handleEscapeKeyDown = e => {\n if (keyboard) {\n onEscapeKeyDown == null ? void 0 : onEscapeKeyDown(e);\n } else {\n // Call preventDefault to stop modal from closing in @restart/ui.\n e.preventDefault();\n if (backdrop === 'static') {\n // Play static modal animation.\n handleStaticModalAnimation();\n }\n }\n };\n const handleEnter = (node, isAppearing) => {\n if (node) {\n updateDialogStyle(node);\n }\n onEnter == null ? void 0 : onEnter(node, isAppearing);\n };\n const handleExit = node => {\n removeStaticModalAnimationRef.current == null ? void 0 : removeStaticModalAnimationRef.current();\n onExit == null ? void 0 : onExit(node);\n };\n const handleEntering = (node, isAppearing) => {\n onEntering == null ? void 0 : onEntering(node, isAppearing);\n\n // FIXME: This should work even when animation is disabled.\n addEventListener(window, 'resize', handleWindowResize);\n };\n const handleExited = node => {\n if (node) node.style.display = ''; // RHL removes it sometimes\n onExited == null ? void 0 : onExited(node);\n\n // FIXME: This should work even when animation is disabled.\n removeEventListener(window, 'resize', handleWindowResize);\n };\n const renderBackdrop = useCallback(backdropProps => /*#__PURE__*/_jsx(\"div\", {\n ...backdropProps,\n className: classNames(`${bsPrefix}-backdrop`, backdropClassName, !animation && 'show')\n }), [animation, backdropClassName, bsPrefix]);\n const baseModalStyle = {\n ...style,\n ...modalStyle\n };\n\n // If `display` is not set to block, autoFocus inside the modal fails\n // https://github.com/react-bootstrap/react-bootstrap/issues/5102\n baseModalStyle.display = 'block';\n const renderDialog = dialogProps => /*#__PURE__*/_jsx(\"div\", {\n role: \"dialog\",\n ...dialogProps,\n style: baseModalStyle,\n className: classNames(className, bsPrefix, animateStaticModal && `${bsPrefix}-static`, !animation && 'show'),\n onClick: backdrop ? handleClick : undefined,\n onMouseUp: handleMouseUp,\n \"data-bs-theme\": dataBsTheme,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledby,\n \"aria-describedby\": ariaDescribedby,\n children: /*#__PURE__*/_jsx(Dialog, {\n ...props,\n onMouseDown: handleDialogMouseDown,\n className: dialogClassName,\n contentClassName: contentClassName,\n children: children\n })\n });\n return /*#__PURE__*/_jsx(ModalContext.Provider, {\n value: modalContext,\n children: /*#__PURE__*/_jsx(BaseModal, {\n show: show,\n ref: mergedRef,\n backdrop: backdrop,\n container: container,\n keyboard: true // Always set true - see handleEscapeKeyDown\n ,\n autoFocus: autoFocus,\n enforceFocus: enforceFocus,\n restoreFocus: restoreFocus,\n restoreFocusOptions: restoreFocusOptions,\n onEscapeKeyDown: handleEscapeKeyDown,\n onShow: onShow,\n onHide: onHide,\n onEnter: handleEnter,\n onEntering: handleEntering,\n onEntered: onEntered,\n onExit: handleExit,\n onExiting: onExiting,\n onExited: handleExited,\n manager: getModalManager(),\n transition: animation ? DialogTransition : undefined,\n backdropTransition: animation ? BackdropTransition : undefined,\n renderBackdrop: renderBackdrop,\n renderDialog: renderDialog\n })\n });\n});\nModal.displayName = 'Modal';\nexport default Object.assign(Modal, {\n Body: ModalBody,\n Header: ModalHeader,\n Title: ModalTitle,\n Footer: ModalFooter,\n Dialog: ModalDialog,\n TRANSITION_DURATION: 300,\n BACKDROP_TRANSITION_DURATION: 150\n});","\"use client\";\n\nimport * as React from 'react';\nconst ModalContext = /*#__PURE__*/React.createContext({\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onHide() {}\n});\nexport default ModalContext;","\"use client\";\n\nimport classNames from 'classnames';\nimport all from 'prop-types-extra/lib/all';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useUncontrolled } from 'uncontrollable';\nimport BaseNav from '@restart/ui/Nav';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport NavbarContext from './NavbarContext';\nimport CardHeaderContext from './CardHeaderContext';\nimport NavItem from './NavItem';\nimport NavLink from './NavLink';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Nav = /*#__PURE__*/React.forwardRef((uncontrolledProps, ref) => {\n const {\n as = 'div',\n bsPrefix: initialBsPrefix,\n variant,\n fill = false,\n justify = false,\n navbar,\n navbarScroll,\n className,\n activeKey,\n ...props\n } = useUncontrolled(uncontrolledProps, {\n activeKey: 'onSelect'\n });\n const bsPrefix = useBootstrapPrefix(initialBsPrefix, 'nav');\n let navbarBsPrefix;\n let cardHeaderBsPrefix;\n let isNavbar = false;\n const navbarContext = useContext(NavbarContext);\n const cardHeaderContext = useContext(CardHeaderContext);\n if (navbarContext) {\n navbarBsPrefix = navbarContext.bsPrefix;\n isNavbar = navbar == null ? true : navbar;\n } else if (cardHeaderContext) {\n ({\n cardHeaderBsPrefix\n } = cardHeaderContext);\n }\n return /*#__PURE__*/_jsx(BaseNav, {\n as: as,\n ref: ref,\n activeKey: activeKey,\n className: classNames(className, {\n [bsPrefix]: !isNavbar,\n [`${navbarBsPrefix}-nav`]: isNavbar,\n [`${navbarBsPrefix}-nav-scroll`]: isNavbar && navbarScroll,\n [`${cardHeaderBsPrefix}-${variant}`]: !!cardHeaderBsPrefix,\n [`${bsPrefix}-${variant}`]: !!variant,\n [`${bsPrefix}-fill`]: fill,\n [`${bsPrefix}-justified`]: justify\n }),\n ...props\n });\n});\nNav.displayName = 'Nav';\nexport default Object.assign(Nav, {\n Item: NavItem,\n Link: NavLink\n});","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NavItem = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'nav-item');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nNavItem.displayName = 'NavItem';\nexport default NavItem;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport Anchor from '@restart/ui/Anchor';\nimport { useNavItem } from '@restart/ui/NavItem';\nimport { makeEventKey } from '@restart/ui/SelectableContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NavLink = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n as: Component = Anchor,\n active,\n eventKey,\n disabled = false,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'nav-link');\n const [navItemProps, meta] = useNavItem({\n key: makeEventKey(eventKey, props.href),\n active,\n disabled,\n ...props\n });\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n ...navItemProps,\n ref: ref,\n disabled: disabled,\n className: classNames(className, bsPrefix, disabled && 'disabled', meta.isActive && 'active')\n });\n});\nNavLink.displayName = 'NavLink';\nexport default NavLink;","\"use client\";\n\nimport * as React from 'react';\n\n// TODO: check\n\nconst context = /*#__PURE__*/React.createContext(null);\ncontext.displayName = 'NavbarContext';\nexport default context;","\"use client\";\n\nimport * as React from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport BaseOverlay from '@restart/ui/Overlay';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport useIsomorphicEffect from '@restart/hooks/useIsomorphicEffect';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport useOverlayOffset from './useOverlayOffset';\nimport Fade from './Fade';\nimport safeFindDOMNode from './safeFindDOMNode';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction wrapRefs(props, arrowProps) {\n const {\n ref\n } = props;\n const {\n ref: aRef\n } = arrowProps;\n props.ref = ref.__wrapped || (ref.__wrapped = r => ref(safeFindDOMNode(r)));\n arrowProps.ref = aRef.__wrapped || (aRef.__wrapped = r => aRef(safeFindDOMNode(r)));\n}\nconst Overlay = /*#__PURE__*/React.forwardRef(({\n children: overlay,\n transition = Fade,\n popperConfig = {},\n rootClose = false,\n placement = 'top',\n show: outerShow = false,\n ...outerProps\n}, outerRef) => {\n const popperRef = useRef({});\n const [firstRenderedState, setFirstRenderedState] = useState(null);\n const [ref, modifiers] = useOverlayOffset(outerProps.offset);\n const mergedRef = useMergedRefs(outerRef, ref);\n const actualTransition = transition === true ? Fade : transition || undefined;\n const handleFirstUpdate = useEventCallback(state => {\n setFirstRenderedState(state);\n popperConfig == null ? void 0 : popperConfig.onFirstUpdate == null ? void 0 : popperConfig.onFirstUpdate(state);\n });\n useIsomorphicEffect(() => {\n if (firstRenderedState && outerProps.target) {\n // Must wait for target element to resolve before updating popper.\n popperRef.current.scheduleUpdate == null ? void 0 : popperRef.current.scheduleUpdate();\n }\n }, [firstRenderedState, outerProps.target]);\n useEffect(() => {\n if (!outerShow) {\n setFirstRenderedState(null);\n }\n }, [outerShow]);\n return /*#__PURE__*/_jsx(BaseOverlay, {\n ...outerProps,\n ref: mergedRef,\n popperConfig: {\n ...popperConfig,\n modifiers: modifiers.concat(popperConfig.modifiers || []),\n onFirstUpdate: handleFirstUpdate\n },\n transition: actualTransition,\n rootClose: rootClose,\n placement: placement,\n show: outerShow,\n children: (overlayProps, {\n arrowProps,\n popper: popperObj,\n show\n }) => {\n var _popperObj$state, _popperObj$state$modi;\n wrapRefs(overlayProps, arrowProps);\n // Need to get placement from popper object, handling case when overlay is flipped using 'flip' prop\n const updatedPlacement = popperObj == null ? void 0 : popperObj.placement;\n const popper = Object.assign(popperRef.current, {\n state: popperObj == null ? void 0 : popperObj.state,\n scheduleUpdate: popperObj == null ? void 0 : popperObj.update,\n placement: updatedPlacement,\n outOfBoundaries: (popperObj == null ? void 0 : (_popperObj$state = popperObj.state) == null ? void 0 : (_popperObj$state$modi = _popperObj$state.modifiersData.hide) == null ? void 0 : _popperObj$state$modi.isReferenceHidden) || false,\n strategy: popperConfig.strategy\n });\n const hasDoneInitialMeasure = !!firstRenderedState;\n if (typeof overlay === 'function') return overlay({\n ...overlayProps,\n placement: updatedPlacement,\n show,\n ...(!transition && show && {\n className: 'show'\n }),\n popper,\n arrowProps,\n hasDoneInitialMeasure\n });\n return /*#__PURE__*/React.cloneElement(overlay, {\n ...overlayProps,\n placement: updatedPlacement,\n arrowProps,\n popper,\n hasDoneInitialMeasure,\n className: classNames(overlay.props.className, !transition && show && 'show'),\n style: {\n ...overlay.props.style,\n ...overlayProps.style\n }\n });\n }\n });\n});\nOverlay.displayName = 'Overlay';\nexport default Overlay;","\"use client\";\n\nimport { useMemo, useRef } from 'react';\nimport hasClass from 'dom-helpers/hasClass';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport Popover from './Popover';\nimport Tooltip from './Tooltip';\n\n// This is meant for internal use.\n// This applies a custom offset to the overlay if it's a popover or tooltip.\nexport default function useOverlayOffset(customOffset) {\n const overlayRef = useRef(null);\n const popoverClass = useBootstrapPrefix(undefined, 'popover');\n const tooltipClass = useBootstrapPrefix(undefined, 'tooltip');\n const offset = useMemo(() => ({\n name: 'offset',\n options: {\n offset: () => {\n if (customOffset) {\n return customOffset;\n }\n if (overlayRef.current) {\n if (hasClass(overlayRef.current, popoverClass)) {\n return Popover.POPPER_OFFSET;\n }\n if (hasClass(overlayRef.current, tooltipClass)) {\n return Tooltip.TOOLTIP_OFFSET;\n }\n }\n return [0, 0];\n }\n }\n }), [customOffset, popoverClass, tooltipClass]);\n return [overlayRef, [offset]];\n}","\"use client\";\n\nimport contains from 'dom-helpers/contains';\nimport PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { cloneElement, useCallback, useRef } from 'react';\nimport useTimeout from '@restart/hooks/useTimeout';\nimport warning from 'warning';\nimport { useUncontrolledProp } from 'uncontrollable';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport Overlay from './Overlay';\nimport safeFindDOMNode from './safeFindDOMNode';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction normalizeDelay(delay) {\n return delay && typeof delay === 'object' ? delay : {\n show: delay,\n hide: delay\n };\n}\n\n// Simple implementation of mouseEnter and mouseLeave.\n// React's built version is broken: https://github.com/facebook/react/issues/4251\n// for cases when the trigger is disabled and mouseOut/Over can cause flicker\n// moving from one child element to another.\nfunction handleMouseOverOut(\n// eslint-disable-next-line @typescript-eslint/no-shadow\nhandler, args, relatedNative) {\n const [e] = args;\n const target = e.currentTarget;\n const related = e.relatedTarget || e.nativeEvent[relatedNative];\n if ((!related || related !== target) && !contains(target, related)) {\n handler(...args);\n }\n}\nconst triggerType = PropTypes.oneOf(['click', 'hover', 'focus']);\nconst OverlayTrigger = ({\n trigger = ['hover', 'focus'],\n overlay,\n children,\n popperConfig = {},\n show: propsShow,\n defaultShow = false,\n onToggle,\n delay: propsDelay,\n placement,\n flip = placement && placement.indexOf('auto') !== -1,\n ...props\n}) => {\n const triggerNodeRef = useRef(null);\n const mergedRef = useMergedRefs(triggerNodeRef, children.ref);\n const timeout = useTimeout();\n const hoverStateRef = useRef('');\n const [show, setShow] = useUncontrolledProp(propsShow, defaultShow, onToggle);\n const delay = normalizeDelay(propsDelay);\n const {\n onFocus,\n onBlur,\n onClick\n } = typeof children !== 'function' ? React.Children.only(children).props : {};\n const attachRef = r => {\n mergedRef(safeFindDOMNode(r));\n };\n const handleShow = useCallback(() => {\n timeout.clear();\n hoverStateRef.current = 'show';\n if (!delay.show) {\n setShow(true);\n return;\n }\n timeout.set(() => {\n if (hoverStateRef.current === 'show') setShow(true);\n }, delay.show);\n }, [delay.show, setShow, timeout]);\n const handleHide = useCallback(() => {\n timeout.clear();\n hoverStateRef.current = 'hide';\n if (!delay.hide) {\n setShow(false);\n return;\n }\n timeout.set(() => {\n if (hoverStateRef.current === 'hide') setShow(false);\n }, delay.hide);\n }, [delay.hide, setShow, timeout]);\n const handleFocus = useCallback((...args) => {\n handleShow();\n onFocus == null ? void 0 : onFocus(...args);\n }, [handleShow, onFocus]);\n const handleBlur = useCallback((...args) => {\n handleHide();\n onBlur == null ? void 0 : onBlur(...args);\n }, [handleHide, onBlur]);\n const handleClick = useCallback((...args) => {\n setShow(!show);\n onClick == null ? void 0 : onClick(...args);\n }, [onClick, setShow, show]);\n const handleMouseOver = useCallback((...args) => {\n handleMouseOverOut(handleShow, args, 'fromElement');\n }, [handleShow]);\n const handleMouseOut = useCallback((...args) => {\n handleMouseOverOut(handleHide, args, 'toElement');\n }, [handleHide]);\n const triggers = trigger == null ? [] : [].concat(trigger);\n const triggerProps = {\n ref: attachRef\n };\n if (triggers.indexOf('click') !== -1) {\n triggerProps.onClick = handleClick;\n }\n if (triggers.indexOf('focus') !== -1) {\n triggerProps.onFocus = handleFocus;\n triggerProps.onBlur = handleBlur;\n }\n if (triggers.indexOf('hover') !== -1) {\n process.env.NODE_ENV !== \"production\" ? warning(triggers.length > 1, '[react-bootstrap] Specifying only the `\"hover\"` trigger limits the visibility of the overlay to just mouse users. Consider also including the `\"focus\"` trigger so that touch and keyboard only users can see the overlay as well.') : void 0;\n triggerProps.onMouseOver = handleMouseOver;\n triggerProps.onMouseOut = handleMouseOut;\n }\n return /*#__PURE__*/_jsxs(_Fragment, {\n children: [typeof children === 'function' ? children(triggerProps) : /*#__PURE__*/cloneElement(children, triggerProps), /*#__PURE__*/_jsx(Overlay, {\n ...props,\n show: show,\n onHide: handleHide,\n flip: flip,\n placement: placement,\n popperConfig: popperConfig,\n target: triggerNodeRef.current,\n children: overlay\n })]\n });\n};\nexport default OverlayTrigger;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst PopoverHeader = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'popover-header');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nPopoverHeader.displayName = 'PopoverHeader';\nexport default PopoverHeader;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst PopoverBody = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'popover-body');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nPopoverBody.displayName = 'PopoverBody';\nexport default PopoverBody;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useIsRTL } from './ThemeProvider';\nimport PopoverHeader from './PopoverHeader';\nimport PopoverBody from './PopoverBody';\nimport { getOverlayDirection } from './helpers';\nimport getInitialPopperStyles from './getInitialPopperStyles';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst Popover = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n placement = 'right',\n className,\n style,\n children,\n body,\n arrowProps,\n hasDoneInitialMeasure,\n popper,\n show,\n ...props\n}, ref) => {\n const decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'popover');\n const isRTL = useIsRTL();\n const [primaryPlacement] = (placement == null ? void 0 : placement.split('-')) || [];\n const bsDirection = getOverlayDirection(primaryPlacement, isRTL);\n let computedStyle = style;\n if (show && !hasDoneInitialMeasure) {\n computedStyle = {\n ...style,\n ...getInitialPopperStyles(popper == null ? void 0 : popper.strategy)\n };\n }\n return /*#__PURE__*/_jsxs(\"div\", {\n ref: ref,\n role: \"tooltip\",\n style: computedStyle,\n \"x-placement\": primaryPlacement,\n className: classNames(className, decoratedBsPrefix, primaryPlacement && `bs-popover-${bsDirection}`),\n ...props,\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: \"popover-arrow\",\n ...arrowProps\n }), body ? /*#__PURE__*/_jsx(PopoverBody, {\n children: children\n }) : children]\n });\n});\nexport default Object.assign(Popover, {\n Header: PopoverHeader,\n Body: PopoverBody,\n // Default popover offset.\n // https://github.com/twbs/bootstrap/blob/5c32767e0e0dbac2d934bcdee03719a65d3f1187/js/src/popover.js#L28\n POPPER_OFFSET: [0, 8]\n});","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Spinner = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n variant,\n animation = 'border',\n size,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n className,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'spinner');\n const bsSpinnerPrefix = `${bsPrefix}-${animation}`;\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, bsSpinnerPrefix, size && `${bsSpinnerPrefix}-${size}`, variant && `text-${variant}`)\n });\n});\nSpinner.displayName = 'Spinner';\nexport default Spinner;","import PropTypes from 'prop-types';\nimport { DEFAULT_BREAKPOINTS, DEFAULT_MIN_BREAKPOINT } from './ThemeProvider';\nexport function responsivePropType(propType) {\n return PropTypes.oneOfType([propType, PropTypes.shape({\n xs: propType,\n sm: propType,\n md: propType,\n lg: propType,\n xl: propType,\n xxl: propType\n })]);\n}\nexport default function createUtilityClassName(utilityValues, breakpoints = DEFAULT_BREAKPOINTS, minBreakpoint = DEFAULT_MIN_BREAKPOINT) {\n const classes = [];\n Object.entries(utilityValues).forEach(([utilName, utilValue]) => {\n if (utilValue != null) {\n if (typeof utilValue === 'object') {\n breakpoints.forEach(brkPoint => {\n const bpValue = utilValue[brkPoint];\n if (bpValue != null) {\n const infix = brkPoint !== minBreakpoint ? `-${brkPoint}` : '';\n classes.push(`${utilName}${infix}-${bpValue}`);\n }\n });\n } else {\n classes.push(`${utilName}-${utilValue}`);\n }\n }\n });\n return classes;\n}","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useBootstrapBreakpoints, useBootstrapMinBreakpoint } from './ThemeProvider';\nimport createUtilityClassName, { responsivePropType } from './createUtilityClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Stack = /*#__PURE__*/React.forwardRef(({\n as: Component = 'div',\n bsPrefix,\n className,\n direction,\n gap,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, direction === 'horizontal' ? 'hstack' : 'vstack');\n const breakpoints = useBootstrapBreakpoints();\n const minBreakpoint = useBootstrapMinBreakpoint();\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref,\n className: classNames(className, bsPrefix, ...createUtilityClassName({\n gap\n }, breakpoints, minBreakpoint))\n });\n});\nStack.displayName = 'Stack';\nexport default Stack;","\"use client\";\n\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const DEFAULT_BREAKPOINTS = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];\nexport const DEFAULT_MIN_BREAKPOINT = 'xs';\nconst ThemeContext = /*#__PURE__*/React.createContext({\n prefixes: {},\n breakpoints: DEFAULT_BREAKPOINTS,\n minBreakpoint: DEFAULT_MIN_BREAKPOINT\n});\nconst {\n Consumer,\n Provider\n} = ThemeContext;\nfunction ThemeProvider({\n prefixes = {},\n breakpoints = DEFAULT_BREAKPOINTS,\n minBreakpoint = DEFAULT_MIN_BREAKPOINT,\n dir,\n children\n}) {\n const contextValue = useMemo(() => ({\n prefixes: {\n ...prefixes\n },\n breakpoints,\n minBreakpoint,\n dir\n }), [prefixes, breakpoints, minBreakpoint, dir]);\n return /*#__PURE__*/_jsx(Provider, {\n value: contextValue,\n children: children\n });\n}\nexport function useBootstrapPrefix(prefix, defaultPrefix) {\n const {\n prefixes\n } = useContext(ThemeContext);\n return prefix || prefixes[defaultPrefix] || defaultPrefix;\n}\nexport function useBootstrapBreakpoints() {\n const {\n breakpoints\n } = useContext(ThemeContext);\n return breakpoints;\n}\nexport function useBootstrapMinBreakpoint() {\n const {\n minBreakpoint\n } = useContext(ThemeContext);\n return minBreakpoint;\n}\nexport function useIsRTL() {\n const {\n dir\n } = useContext(ThemeContext);\n return dir === 'rtl';\n}\nfunction createBootstrapComponent(Component, opts) {\n if (typeof opts === 'string') opts = {\n prefix: opts\n };\n const isClassy = Component.prototype && Component.prototype.isReactComponent;\n // If it's a functional component make sure we don't break it with a ref\n const {\n prefix,\n forwardRefAs = isClassy ? 'ref' : 'innerRef'\n } = opts;\n const Wrapped = /*#__PURE__*/React.forwardRef(({\n ...props\n }, ref) => {\n props[forwardRefAs] = ref;\n const bsPrefix = useBootstrapPrefix(props.bsPrefix, prefix);\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n bsPrefix: bsPrefix\n });\n });\n Wrapped.displayName = `Bootstrap(${Component.displayName || Component.name})`;\n return Wrapped;\n}\nexport { createBootstrapComponent, Consumer as ThemeConsumer };\nexport default ThemeProvider;","import * as React from 'react';\nimport { ENTERING, EXITING } from 'react-transition-group/Transition';\nimport Fade from './Fade';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst fadeStyles = {\n [ENTERING]: 'showing',\n [EXITING]: 'showing show'\n};\nconst ToastFade = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/_jsx(Fade, {\n ...props,\n ref: ref,\n transitionClasses: fadeStyles\n}));\nToastFade.displayName = 'ToastFade';\nexport default ToastFade;","\"use client\";\n\nimport * as React from 'react';\nconst ToastContext = /*#__PURE__*/React.createContext({\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onClose() {}\n});\nexport default ToastContext;","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport CloseButton from './CloseButton';\nimport ToastContext from './ToastContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst ToastHeader = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n closeLabel = 'Close',\n closeVariant,\n closeButton = true,\n className,\n children,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'toast-header');\n const context = useContext(ToastContext);\n const handleClick = useEventCallback(e => {\n context == null ? void 0 : context.onClose == null ? void 0 : context.onClose(e);\n });\n return /*#__PURE__*/_jsxs(\"div\", {\n ref: ref,\n ...props,\n className: classNames(bsPrefix, className),\n children: [children, closeButton && /*#__PURE__*/_jsx(CloseButton, {\n \"aria-label\": closeLabel,\n variant: closeVariant,\n onClick: handleClick,\n \"data-dismiss\": \"toast\"\n })]\n });\n});\nToastHeader.displayName = 'ToastHeader';\nexport default ToastHeader;","\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ToastBody = /*#__PURE__*/React.forwardRef(({\n className,\n bsPrefix,\n as: Component = 'div',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'toast-body');\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n className: classNames(className, bsPrefix),\n ...props\n });\n});\nToastBody.displayName = 'ToastBody';\nexport default ToastBody;","\"use client\";\n\nimport * as React from 'react';\nimport { useEffect, useMemo, useRef, useCallback } from 'react';\nimport classNames from 'classnames';\nimport useTimeout from '@restart/hooks/useTimeout';\nimport ToastFade from './ToastFade';\nimport ToastHeader from './ToastHeader';\nimport ToastBody from './ToastBody';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport ToastContext from './ToastContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Toast = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n transition: Transition = ToastFade,\n show = true,\n animation = true,\n delay = 5000,\n autohide = false,\n onClose,\n onEntered,\n onExit,\n onExiting,\n onEnter,\n onEntering,\n onExited,\n bg,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'toast');\n\n // We use refs for these, because we don't want to restart the autohide\n // timer in case these values change.\n const delayRef = useRef(delay);\n const onCloseRef = useRef(onClose);\n useEffect(() => {\n delayRef.current = delay;\n onCloseRef.current = onClose;\n }, [delay, onClose]);\n const autohideTimeout = useTimeout();\n const autohideToast = !!(autohide && show);\n const autohideFunc = useCallback(() => {\n if (autohideToast) {\n onCloseRef.current == null ? void 0 : onCloseRef.current();\n }\n }, [autohideToast]);\n useEffect(() => {\n // Only reset timer if show or autohide changes.\n autohideTimeout.set(autohideFunc, delayRef.current);\n }, [autohideTimeout, autohideFunc]);\n const toastContext = useMemo(() => ({\n onClose\n }), [onClose]);\n const hasAnimation = !!(Transition && animation);\n const toast = /*#__PURE__*/_jsx(\"div\", {\n ...props,\n ref: ref,\n className: classNames(bsPrefix, className, bg && `bg-${bg}`, !hasAnimation && (show ? 'show' : 'hide')),\n role: \"alert\",\n \"aria-live\": \"assertive\",\n \"aria-atomic\": \"true\"\n });\n return /*#__PURE__*/_jsx(ToastContext.Provider, {\n value: toastContext,\n children: hasAnimation && Transition ? /*#__PURE__*/_jsx(Transition, {\n in: show,\n onEnter: onEnter,\n onEntering: onEntering,\n onEntered: onEntered,\n onExit: onExit,\n onExiting: onExiting,\n onExited: onExited,\n unmountOnExit: true,\n children: toast\n }) : toast\n });\n});\nToast.displayName = 'Toast';\nexport default Object.assign(Toast, {\n Body: ToastBody,\n Header: ToastHeader\n});","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useIsRTL } from './ThemeProvider';\nimport { getOverlayDirection } from './helpers';\nimport getInitialPopperStyles from './getInitialPopperStyles';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst Tooltip = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n placement = 'right',\n className,\n style,\n children,\n arrowProps,\n hasDoneInitialMeasure,\n popper,\n show,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'tooltip');\n const isRTL = useIsRTL();\n const [primaryPlacement] = (placement == null ? void 0 : placement.split('-')) || [];\n const bsDirection = getOverlayDirection(primaryPlacement, isRTL);\n let computedStyle = style;\n if (show && !hasDoneInitialMeasure) {\n computedStyle = {\n ...style,\n ...getInitialPopperStyles(popper == null ? void 0 : popper.strategy)\n };\n }\n return /*#__PURE__*/_jsxs(\"div\", {\n ref: ref,\n style: computedStyle,\n role: \"tooltip\",\n \"x-placement\": primaryPlacement,\n className: classNames(className, bsPrefix, `bs-tooltip-${bsDirection}`),\n ...props,\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: \"tooltip-arrow\",\n ...arrowProps\n }), /*#__PURE__*/_jsx(\"div\", {\n className: `${bsPrefix}-inner`,\n children: children\n })]\n });\n});\nTooltip.displayName = 'Tooltip';\nexport default Object.assign(Tooltip, {\n // Default tooltip offset.\n // https://github.com/twbs/bootstrap/blob/beca2a6c7f6bc88b6449339fc76edcda832c59e5/js/src/tooltip.js#L65\n TOOLTIP_OFFSET: [0, 6]\n});","\"use client\";\n\nimport React, { useCallback, useRef } from 'react';\nimport Transition from 'react-transition-group/Transition';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport safeFindDOMNode from './safeFindDOMNode';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n// Normalizes Transition callbacks when nodeRef is used.\nconst TransitionWrapper = /*#__PURE__*/React.forwardRef(({\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited,\n addEndListener,\n children,\n childRef,\n ...props\n}, ref) => {\n const nodeRef = useRef(null);\n const mergedRef = useMergedRefs(nodeRef, childRef);\n const attachRef = r => {\n mergedRef(safeFindDOMNode(r));\n };\n const normalize = callback => param => {\n if (callback && nodeRef.current) {\n callback(nodeRef.current, param);\n }\n };\n\n /* eslint-disable react-hooks/exhaustive-deps */\n const handleEnter = useCallback(normalize(onEnter), [onEnter]);\n const handleEntering = useCallback(normalize(onEntering), [onEntering]);\n const handleEntered = useCallback(normalize(onEntered), [onEntered]);\n const handleExit = useCallback(normalize(onExit), [onExit]);\n const handleExiting = useCallback(normalize(onExiting), [onExiting]);\n const handleExited = useCallback(normalize(onExited), [onExited]);\n const handleAddEndListener = useCallback(normalize(addEndListener), [addEndListener]);\n /* eslint-enable react-hooks/exhaustive-deps */\n\n return /*#__PURE__*/_jsx(Transition, {\n ref: ref,\n ...props,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: handleAddEndListener,\n nodeRef: nodeRef,\n children: typeof children === 'function' ? (status, innerProps) =>\n // TODO: Types for RTG missing innerProps, so need to cast.\n children(status, {\n ...innerProps,\n ref: attachRef\n }) : /*#__PURE__*/React.cloneElement(children, {\n ref: attachRef\n })\n });\n});\nexport default TransitionWrapper;","import * as React from 'react';\nimport classNames from 'classnames';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default (className => /*#__PURE__*/React.forwardRef((p, ref) => /*#__PURE__*/_jsx(\"div\", {\n ...p,\n ref: ref,\n className: classNames(p.className, className)\n})));","export default function getInitialPopperStyles(position = 'absolute') {\n return {\n position,\n top: '0',\n left: '0',\n opacity: '0',\n pointerEvents: 'none'\n };\n}","import * as React from 'react';\nexport class BsPrefixComponent extends React.Component {}\n\n// Need to use this instead of typeof Component to get proper type checking.\n\nexport function getOverlayDirection(placement, isRTL) {\n let bsDirection = placement;\n if (placement === 'left') {\n bsDirection = isRTL ? 'end' : 'start';\n } else if (placement === 'right') {\n bsDirection = isRTL ? 'start' : 'end';\n }\n return bsDirection;\n}","import ReactDOM from 'react-dom';\nexport default function safeFindDOMNode(componentOrElement) {\n if (componentOrElement && 'setState' in componentOrElement) {\n return ReactDOM.findDOMNode(componentOrElement);\n }\n return componentOrElement != null ? componentOrElement : null;\n}","import css from 'dom-helpers/css';\nimport transitionEnd from 'dom-helpers/transitionEnd';\nfunction parseDuration(node, property) {\n const str = css(node, property) || '';\n const mult = str.indexOf('ms') === -1 ? 1000 : 1;\n return parseFloat(str) * mult;\n}\nexport default function transitionEndListener(element, handler) {\n const duration = parseDuration(element, 'transitionDuration');\n const delay = parseDuration(element, 'transitionDelay');\n const remove = transitionEnd(element, e => {\n if (e.target === element) {\n remove();\n handler(e);\n }\n }, duration + delay);\n}","// reading a dimension prop will cause the browser to recalculate,\n// which will let our animations work\nexport default function triggerBrowserReflow(node) {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n node.offsetHeight;\n}","import invariant from 'invariant';\nimport { useCallback } from 'react';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nexport default function useWrappedRefWithWarning(ref, componentName) {\n // @ts-ignore\n if (!(process.env.NODE_ENV !== \"production\")) return ref;\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const warningRef = useCallback(refValue => {\n !(refValue == null || !refValue.isReactComponent) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `${componentName} injected a ref to a provided \\`as\\` component that resolved to a component instance instead of a DOM element. ` + 'Use `React.forwardRef` to provide the injected ref to the class component as a prop in order to pass it directly to a DOM element') : invariant(false) : void 0;\n }, [componentName]);\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return useMergedRefs(warningRef, ref);\n}"],"names":["type","value","onChange","acceptType","readOnly","imgClassNames","className","classNames","src","alt","style","maxWidth","maxHeight","vertical","uploadCallback","imgPath","disabled","name","variant","onClick","t","useTranslation","keyPrefix","data","questionRes","useHotQuestions","list","length","map","li","as","Link","to","pathFactory","id","url_title","action","title","answer_count","accepted_answer_id","count","size","fontSize","onKeyDown","Index","visible","centered","onCancel","children","onConfirm","cancelText","showCancel","cancelBtnVariant","confirmText","showConfirm","confirmBtnVariant","confirmBtnDisabled","bodyClass","scrollable","Modal","show","onHide","fullscreen","closeButton","Button","event","React","div","document","createElement","root","ReactDOM","content","onClose","props","render","remove","onOk","e","dangerouslySetInnerHTML","__html","update","updateStore","loginToContinueStore","siteInfo","siteInfoStore","_","closeModal","linkClick","evt","stopPropagation","floppyNavigation","description","bg1","bg2","timeout","badge","user","loggedUserInfoStore","navigate","useNavigate","mutate","useQueryNotificationStatus","handle","async","readNotification","notification_id","badge_award","clearTimeout","destroy","initAnimation","DURATION","bgNode","documentElement","body","badgeModalNode","getElementById","parentNode","setAttribute","AnimateGift","elm","width","clientWidth","height","clientHeight","duration","isLoop","setTimeout","window","innerWidth","innerHeight","destroyAnimation","useEffect","handleVisibilityChange","visibilityState","addEventListener","removeEventListener","url","badge_id","username","icon","startsWith","Icon","level","DefaultModal","confirm","QUESTION_ORDER_KEYS","source","order","orderList","isLoading","urlSearchParams","useSearchParams","isSkeletonShow","useSkeletonControl","curOrder","get","curPage","Number","orderKeys","currentSort","pathname","i18nKeyPrefix","pin","status","operator","showAvatar","time","operated_at","created_at","preFix","operation_type","votes","vote_count","answers","views","view_count","isAccepted","Array","isArray","tags","tag","slug_name","currentPage","totalSize","pageSize","Form","desc","fieldName","enumValues","enumNames","formData","fieldObject","currentTarget","state","isInvalid","item","index","String","Stack","direction","inline","label","checked","feedback","errorMsg","feedbackType","handleCheck","TIMEZONES","options","option","BrandUpload","handleChange","placeholder","rows","classnames","flex","actionType","formKit","text","iconName","nowrap","clickCallback","Toast","useToast","setLoading","useState","handleToast","msg","on_complete","toast_return_message","onShow","handleAction","request","method","then","resp","message","callback","refresh_form_config","refreshConfig","handleCallback","catch","ex","finally","loading","loadingText","Spinner","animation","InputGroupBtn","formKitWithContext","uiOpt","undefined","prefixText","suffixText","InputGroup","prefixBtnOptions","suffixBtnOptions","SchemaForm","schema","uiSchema","onSubmit","hiddenSubmit","ref","required","properties","excludes","filter","key","console","error","join","keys","Object","forEach","k","fieldVal","metaProp","uiCtrl","enum","validator","errors","push","requiredValidator","reduce","acc","cur","empty","Function","scrollElementIntoView","syncErrors","promises","promise","Promise","allSettled","results","result","reason","syncValidator","useImperativeHandle","isEmpty","noValidate","preventDefault","widget","fieldState","class_name","uiSimplify","simplify","groupClassName","field_class_name","controlId","hidden","Legend","Select","Check","Switch","Timezone","Upload","imageType","Textarea","Input","inputType","initFormData","prop","defaultVal","default","mergeFormData","target","origin","oi","forwardRef","avatar","searchStr","includes","gravatar","custom","roundedCls","indexOf","DefaultAvatar","memo","pluginSlice","PluginKit","plugin","activated","info","nodes","child","ps","PluginFC","component","EditorContext","editor","useContext","tip","disable","isShow","keyMap","onBlur","addKeyMap","wrapText","replaceLines","appendBlock","btnRender","tabIndex","context","Table","tableData","ctx","table","col","header","border","makeHeader","row","irow","icol","replace","makeBody","replaceSelection","focus","OL","line","i","FIND_OL_RX","match","UL","FIND_UL_RX","Indent","Outdent","_1","$1","substring","Hr","Heading","headerList","setShowState","isLocked","setLockState","onAddHeader","onMouseEnter","onMouseLeave","trim","repeat","handleClick","Bold","DEFAULTTEXT","Italic","onSelect","isFocus","setFocusState","cursor","setCursor","opt","keyCode","lang","FormControl","overflowY","codeLanguageType","Code","code","setCode","setVisible","setLang","inputRef","useRef","current","getSelection","onExited","val","split","link","setLink","setName","setSelectionRange","newStr","BlockQuote","FIND_BLOCKQUOTE_RX","TabContent","bsPrefix","Component","useBootstrapPrefix","_jsx","displayName","getTabTransitionComponent","transition","Fade","NoopTransition","TabPane","rest","isActive","onEnter","onEntering","onEntered","onExit","onExiting","mountOnEnter","unmountOnExit","Transition","useTabPanel","prefix","TabContext","SelectableContext","in","getDefaultActiveKey","defaultActiveKey","eventKey","renderTab","tabClassName","tabAttrs","NavItem","role","NavLink","Tabs","activeKey","controlledProps","useUncontrolled","_jsxs","BaseTabs","Nav","childProps","TabContainer","propTypes","PropTypes","Tab","Error","assign","Container","Content","Pane","Image","editorInstance","setEditor","currentTab","setCurrentTab","imageName","setImageName","verifyImageSize","files","from","file","AnswerModal","upload","uploadImage","all","dragenter","dragover","drop","fileList","dataTransfer","startPos","getCursor","endPos","ch","setReadOnly","urls","replaceRange","paste","clipboard","clipboardData","htmlStr","getData","innerText","allPTag","DOMParser","parseFromString","querySelectorAll","p","textContent","endsWith","on","off","tab","Help","open","contentDOM","range","selection","ranges","doc","lineAt","number","array","entries","run","dispatch","effects","StateEffect","keymap","sliceDoc","main","changes","insert","EditorSelection","setSelection","anchor","head","change","EditorView","docChanged","getValue","toString","setValue","before","after","defaultText","symbolLen","selectionStart","selectionEnd","editableCompartment","Compartment","htmlRender","el","innerHTML","str","classList","contains","add","replaceChild","appendChild","a","base","location","URL","href","rel","useEditor","editorRef","placeholderText","autoFocus","onFocus","isDark","isDarkTheme","theme","padding","outline","whiteSpace","wordWrap","textDecoration","startState","EditorState","extensions","minimalSetup","markdown","codeLanguages","languages","markdownLanguage","of","view","parent","cm","createEditorUtils","reconfigure","newValue","init","imgSrc","setImgSrc","nodeName","toLowerCase","img","naturalWidth","naturalHeight","currentSrc","ret","parentElement","checkIfInLink","contentClassName","renderTimer","scrollTop","html","setHtml","previewRef","markdownToHtml","scrollTo","getHtml","element","MDEditor","editorPlaceholder","useRenderPlugin","Provider","PluginRender","PluginType","previewElement","Viewer","NavbarBrand","NavbarCollapse","NavbarContext","Collapse","expanded","NavbarToggle","onToggle","useEventCallback","OffcanvasBody","transitionStyles","ENTERING","ENTERED","OffcanvasToggling","inProp","appear","TransitionWrapper","addEndListener","transitionEndListener","childRef","innerProps","EXITING","OffcanvasHeader","closeLabel","AbstractModalHeader","DivStyledAsH5","divWithClassName","OffcanvasTitle","DialogTransition","BackdropTransition","Offcanvas","ariaLabelledby","placement","responsive","backdrop","keyboard","scroll","onEscapeKeyDown","container","enforceFocus","restoreFocus","restoreFocusOptions","backdropClassName","manager","propsManager","renderStaticNode","modalManager","showOffcanvas","setShowOffcanvas","hideResponsiveOffcanvas","useBreakpoint","handleHide","modalContext","useMemo","renderBackdrop","useCallback","backdropProps","renderDialog","dialogProps","_Fragment","ModalContext","BaseModal","node","args","visibility","BootstrapModalManager","handleContainerOverflow","getSharedManager","backdropTransition","Body","Header","Title","NavbarOffcanvas","NavbarText","Navbar","initialBsPrefix","expand","bg","fixed","sticky","collapseOnSelect","handleCollapse","expandClass","navbarContext","Brand","Text","Toggle","redDot","userInfo","logOut","agent","ucAgent","userCenterStore","handleLinkClick","getAttribute","handler","inbox","achievement","align","Avatar","display_name","REACT_BASE_PATH","enabled","agent_info","control_center","ctrl","useLocation","urlSearch","q","clear","clearUserStore","setSearch","brandingInfo","brandingStore","branding","loginSetting","loginSettingStore","login","updateReview","updateVisible","sideNavStore","tagMatch","useMatch","askUrl","params","slugName","encodeURIComponent","can_revision","Boolean","revision","handleInput","handleSearch","searchUrl","handleLogout","logout","collapse","querySelector","toggle","click","navbarStyle","theme_config","themeSettingStore","navbar_style","logo","mobile_logo","NavItems","userCenter","allow_new_registrations","marginTop","Col","lg","cc","dayjs","format","Trans","i18nKey","values","base64","svgClassName","base64ToSvg","timer","hiddenDescription","hiddenCreateBtn","maxTagLength","showRequiredTag","formText","tagStyleMode","errMsg","containerRef","initialized","setInitialized","focusState","showMenu","setShowMenu","currentIndex","setCurrentIndex","repeatIndex","setRepeatIndex","searchValue","setSearchValue","setTags","requiredTags","setRequiredTags","userPermission","useUserPermission","canAddTag","toast","tagModal","useTagModal","findIndex","parsed_text","marked","original_text","filterTags","tagArray","v","handleMenuShow","bol","ele","handleTagSelectorBlur","fetchTags","debounce","queryTags","res","resetSearch","handleRemove","scrollIntoView","targetId","offsetTop","top","behavior","handleOutsideClick","menuHasContent","elePlaceholder","offsetWidth","reserved","recommend","onMouseUp","autoComplete","position","zIndex","active","tagAddPermission","has_permission","no_permission_tip","isSuccess","setSuccess","e_mail","setFormData","captcha_code","emailCaptcha","useCaptchaPlugin","submit","req","imgCode","getCaptcha","verify","captcha_id","resendEmail","close","err","isError","handleCaptchaError","handleFormError","md","mail","components","bold","check","setStatus","accept","setVotes","like","setLike","hate","setHated","bookmarkState","setBookmark","collected","collectCount","vCaptcha","votesCount","isLike","isHate","submitVote","isCancel","resolveCaptchaReq","postVote","object_id","is_cancel","vote_status","handleVote","tryNormalLogged","ButtonGroup","hideCollect","bookmark","group_id","object_collection_count","paddingLeft","textClassName","qid","aid","setShow","showTip","setShowTip","canSystemShare","setSystemShareState","baseUrl","BASE_ORIGIN","closeShare","navigator","canShare","lineHeight","OverlayTrigger","trigger","overlay","Tooltip","copyText","copy","share","hasAnswer","memberActions","reportModal","useReportModal","dCaptcha","refreshQuestion","editUrl","submitDeleteQuestion","deleteQuestion","submitDeleteAnswer","deleteAnswer","handleCommon","questionOperation","operation","toastStore","unDeleteQuestion","unDeleteAnswer","reopenQuestion","question_id","handlOtherActions","firstAction","secondAction","Share","targetUrl","checkObjectId","editCheck","handleEdit","isLogged","timelinePath","formatCount","rank","FormatTime","PageItem","activeLabel","linkStyle","linkClassName","Anchor","createButton","defaultValue","First","Prev","Ellipsis","Next","Last","Pagination","decoratedBsPrefix","Item","pageArr","page","path","searchParams","totalPage","Math","ceil","realPage","mapPage","handleParams","pageNum","set","min","fill","initialValue","onSendReply","mode","immData","setImmData","pageUsers","usePageUsers","validationErrorMsg","setValidationErrorMsg","usePromptWithUnload","when","handleSendReply","getUsers","onSelected","parseEditMentionUser","ActionBar","nickName","createdAt","isVote","voteCount","onReply","onVote","onAction","userStatus","userName","objectId","commentId","pageIndex","setPageIndex","visibleComment","setVisibleComment","currentReplyId","updateCurrentReplyId","commentReplyStore","useQueryComments","comment_id","page_size","comments","setComments","addCaptcha","useCaptchaModal","editCaptcha","scrollToElementTop","bgFadeOut","sort","b","user_id","user_display_name","reply_comment_id","reply_user_display_name","setUsers","submitUpdateComment","up","updateComment","comment","showEdit","reject","resolve","submitAddComment","addComment","splice","users","matchedUsers","userNames","unionBy","commentMarkDown","parseUserInfo","mention_username_list","submitDeleteComment","deleteComment","submitVoteComment","is_vote","handleCancel","handleAddComment","Reactions","showAddCommentBtn","handleClickComment","Reply","member_actions","user_status","TextArea","autoGrow","scrollHeight","onInput","menuRef","dropdownRef","isRequested","setRequestedState","staffUserList","useSearchUserStaff","mapStaffUsers","searchUser","lastIndexOf","filterData","dateTime","tz","toISOString","now","floor","valueOf","between","h","formatTime","left","right","margin","delay","autohide","MenuNode","menu","expanding","isLeaf","badgeContent","Accordion","leaf","menus","pathMatch","m","sm","splat","getOpenKey","openKey","find","setOpenKey","menuClick","flush","avatarClass","avatarSize","avatarSearchStr","showReputation","nameMaxWidth","isEdit","setEditState","followingTags","useFollowingTags","newTags","tryLoggedAndActivated","ok","Card","followTags","slug_name_list","revalidate","Tag","alignDirection","alignPropType","xl","xxl","menuRole","renderMenuOnMount","rootCloseEvent","menuVariant","flip","DropdownButton","Dropdown","DropdownToggle","childBsPrefix","DropdownMenu","renderOnMount","sortKey","wrapClassName","setUrlSearchParams","delete","filteredData","MAX_BUTTON_COUNT","currentBtn","btn","borderTopRightRadius","borderBottomRightRadius","objectType","newData","oldData","opts","showTitle","showTagUrlSlug","addTags","c","deleteTags","pre_index","diffText","main_tag_slug_name","makeMarker","mark","renderCustomArea","part","pos","startMarkNode","endMarkNode","childNodes","nodeType","nodeValue","nextSibling","removeChild","insertAdjacentHTML","scriptList","so","script","attributes","attr","ActivateScriptNodes","custom_head","custom_header","custom_footer","customizeStore","handleCustomHead","handleCustomHeader","handleCustomFooter","primaryColor","primary_color","Color","useLayoutEffect","themeMetaNode","themeColor","hex","DEFAULT_THEME_COLOR","setThemeColor","rgb","shiftColor","round","tintColor","shadeColor","fade","string","doInsertCustomCSS","favicon","square_icon","pageTitle","keywords","pageTagStore","items","appVersion","version","hashVersion","siteName","currentLang","getCurrentLang","hostname","generatorMetaNode","setAppGenerator","setDocTitle","sizes","property","itemProp","ListGroupItem","xs","site_name","showVotes","showAnswers","showViews","showAccepted","classname","httpCode","showErrorCode","pageWrap","display","usePageTags","custom_sidebar","role_id","regex","RegExp","piece","kw","toLocaleLowerCase","badgePillType","showAwardedCount","earned_count","Badge","pill","award_count","emojiMap","reactions","setReactions","reactIsActive","setReactIsActive","queryReactions","reaction_summary","handleSubmit","updateReaction","reaction","emoji","is_active","d","tooltip","closeVariant","CloseButton","isAccordionItemSelected","activeEventKey","AccordionCollapse","AccordionContext","AccordionBody","AccordionItemContext","AccordionButton","accordionOnClick","alwaysOpen","eventKeyPassed","useAccordionButton","AccordionHeader","AccordionItem","contextValue","Selector","ModalManager","adjustAndStore","adjust","actual","dataset","css","parseFloat","restore","setContainerStyle","containerState","super","this","getElement","addClass","scrollBarWidth","paddingProp","isRTL","marginProp","qsa","removeContainerStyle","removeClass","sharedManager","buttonProps","tagName","useButtonProps","baseClass","CardBody","CardFooter","CardHeader","cardHeaderBsPrefix","CardHeaderContext","CardImg","CardImgOverlay","CardLink","DivStyledAsH6","CardSubtitle","CardText","CardTitle","Img","Subtitle","Footer","ImgOverlay","ariaLabel","colProps","spans","breakpoints","useBootstrapBreakpoints","minBreakpoint","useBootstrapMinBreakpoint","classes","brkPoint","propValue","span","offset","infix","useCol","funcs","f","apply","MARGINS","getDefaultDimensionValue","dimension","elem","toUpperCase","slice","margins","parseInt","collapseStyles","EXITED","getDimensionValue","computedDimension","handleEnter","createChainedFunction","handleEntering","handleEntered","handleExit","triggerBrowserReflow","handleExiting","fluid","suffix","DropdownDivider","DropdownHeader","DropdownItem","dropdownItemProps","meta","useDropdownItem","DropdownItemText","pProps","focusFirstItemOnShow","navbar","_4","autoClose","isInputGroup","InputGroupContext","useIsRTL","handleToggle","nextShow","_meta$originalEvent","_meta$originalEvent$t","originalEvent","alignEnd","getDropdownMenuPlacement","directionClasses","down","end","start","DropdownContext","BaseDropdown","itemSelector","Menu","ItemText","Divider","dropDirection","showProps","popperConfig","isNavbar","contextAlign","alignClasses","menuProps","hasShown","popper","useDropdownMenu","usePopper","useMergedRefs","useWrappedRefWithWarning","useIsomorphicEffect","dropdownContext","toggleProps","useDropdownToggle","func","hasChildOfType","some","fadeStyles","transitionClasses","isAppearing","Feedback","FormFloating","FormLabel","column","visuallyHidden","htmlFor","FormContext","columnClass","FormRange","FormSelect","htmlSize","isValid","FormText","muted","FormCheck","Label","FloatingLabel","FormGroup","_ref","validated","Group","Control","Floating","Range","FormCheckLabel","bsSwitchPrefix","reverse","feedbackTooltip","innerFormContext","hasLabel","input","FormCheckInput","plaintext","InputGroupText","hasValidation","Radio","Checkbox","ListGroup","horizontal","numbered","horizontalVariant","BaseNav","navItemProps","useNavItem","makeEventKey","ModalBody","ModalDialog","dialogClass","fullScreenClass","ModalFooter","ModalHeader","DivStyledAsH4","ModalTitle","dialogClassName","dialogAs","Dialog","dataBsTheme","ariaDescribedby","modalStyle","setStyle","animateStaticModal","setAnimateStaticModal","waitingForMouseUpRef","ignoreBackdropClickRef","removeStaticModalAnimationRef","modal","setModalRef","useCallbackRef","mergedRef","getModalManager","updateDialogStyle","canUseDOM","containerIsOverflowing","getScrollbarWidth","modalIsOverflowing","ownerDocument","paddingRight","getScrollbarSize","handleWindowResize","dialog","useWillUnmount","handleDialogMouseDown","handleMouseUp","handleStaticModalAnimation","transitionEnd","handleStaticBackdropClick","baseModalStyle","onMouseDown","TRANSITION_DURATION","BACKDROP_TRANSITION_DURATION","uncontrolledProps","justify","navbarScroll","navbarBsPrefix","cardHeaderContext","Overlay","rootClose","outerShow","outerProps","outerRef","popperRef","firstRenderedState","setFirstRenderedState","modifiers","customOffset","overlayRef","popoverClass","tooltipClass","hasClass","Popover","useOverlayOffset","actualTransition","handleFirstUpdate","onFirstUpdate","scheduleUpdate","BaseOverlay","concat","overlayProps","arrowProps","popperObj","_popperObj$state","_popperObj$state$modi","aRef","__wrapped","r","safeFindDOMNode","wrapRefs","updatedPlacement","outOfBoundaries","modifiersData","hide","isReferenceHidden","strategy","hasDoneInitialMeasure","handleMouseOverOut","relatedNative","related","relatedTarget","nativeEvent","propsShow","defaultShow","propsDelay","triggerNodeRef","useTimeout","hoverStateRef","useUncontrolledProp","normalizeDelay","handleShow","handleFocus","handleBlur","handleMouseOver","handleMouseOut","triggers","triggerProps","onMouseOver","onMouseOut","cloneElement","PopoverHeader","PopoverBody","primaryPlacement","bsDirection","getOverlayDirection","computedStyle","getInitialPopperStyles","POPPER_OFFSET","bsSpinnerPrefix","createUtilityClassName","utilityValues","DEFAULT_BREAKPOINTS","DEFAULT_MIN_BREAKPOINT","utilName","utilValue","bpValue","gap","ThemeContext","prefixes","Consumer","defaultPrefix","dir","ToastFade","ToastHeader","ToastContext","ToastBody","delayRef","onCloseRef","autohideTimeout","autohideToast","autohideFunc","toastContext","hasAnimation","TOOLTIP_OFFSET","nodeRef","attachRef","normalize","param","handleExited","handleAddEndListener","opacity","pointerEvents","BsPrefixComponent","componentOrElement","parseDuration","mult","offsetHeight","componentName"],"sourceRoot":""}