airdcpp-webui 2.11.2-beta.2 → 2.11.3-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/dist/index.html +2 -2
- package/dist/js/285.14157e0f1f25fb9aaecd.chunk.js +2 -0
- package/dist/js/285.14157e0f1f25fb9aaecd.chunk.js.gz +0 -0
- package/dist/js/285.14157e0f1f25fb9aaecd.chunk.js.map +1 -0
- package/dist/js/334.dba054251a3e485f3ea9.chunk.js +2 -0
- package/dist/js/334.dba054251a3e485f3ea9.chunk.js.gz +0 -0
- package/dist/js/334.dba054251a3e485f3ea9.chunk.js.map +1 -0
- package/dist/js/424.44413ba27808d4072f7f.chunk.js +2 -0
- package/dist/js/424.44413ba27808d4072f7f.chunk.js.gz +0 -0
- package/dist/js/424.44413ba27808d4072f7f.chunk.js.map +1 -0
- package/dist/js/{668.ca79db34c1e147bd25d0.chunk.js → 668.2579506f7fa8bed8a452.chunk.js} +2 -2
- package/dist/js/668.2579506f7fa8bed8a452.chunk.js.gz +0 -0
- package/dist/js/668.2579506f7fa8bed8a452.chunk.js.map +1 -0
- package/dist/js/69.7b5fa94bd7c4e6f23ed6.chunk.js +2 -0
- package/dist/js/69.7b5fa94bd7c4e6f23ed6.chunk.js.gz +0 -0
- package/dist/js/69.7b5fa94bd7c4e6f23ed6.chunk.js.map +1 -0
- package/dist/js/{702.dd4be667774bce5de14f.chunk.js → 702.d36d38b2be52ab51c0a9.chunk.js} +1 -1
- package/dist/js/702.d36d38b2be52ab51c0a9.chunk.js.gz +0 -0
- package/dist/js/{702.dd4be667774bce5de14f.chunk.js.map → 702.d36d38b2be52ab51c0a9.chunk.js.map} +1 -1
- package/dist/js/760.83634ca054e04ff6c7e2.chunk.js +3 -0
- package/dist/js/{760.5448a03d335f92bedb53.chunk.js.LICENSE.txt → 760.83634ca054e04ff6c7e2.chunk.js.LICENSE.txt} +0 -0
- package/dist/js/760.83634ca054e04ff6c7e2.chunk.js.gz +0 -0
- package/dist/js/760.83634ca054e04ff6c7e2.chunk.js.map +1 -0
- package/dist/js/favorite-hubs.f8dc4d8768878d9cab6a.chunk.js +2 -0
- package/dist/js/favorite-hubs.f8dc4d8768878d9cab6a.chunk.js.gz +0 -0
- package/dist/js/favorite-hubs.f8dc4d8768878d9cab6a.chunk.js.map +1 -0
- package/dist/js/filelists.c550cdaa211edb6f733f.chunk.js +2 -0
- package/dist/js/filelists.c550cdaa211edb6f733f.chunk.js.gz +0 -0
- package/dist/js/filelists.c550cdaa211edb6f733f.chunk.js.map +1 -0
- package/dist/js/files.51c49d6a2825cbc64879.chunk.js +2 -0
- package/dist/js/files.51c49d6a2825cbc64879.chunk.js.gz +0 -0
- package/dist/js/files.51c49d6a2825cbc64879.chunk.js.map +1 -0
- package/dist/js/home.895154334c98dbe0f183.chunk.js +3 -0
- package/dist/js/{home.727a64f6586ed95a66bb.chunk.js.LICENSE.txt → home.895154334c98dbe0f183.chunk.js.LICENSE.txt} +0 -0
- package/dist/js/home.895154334c98dbe0f183.chunk.js.gz +0 -0
- package/dist/js/home.895154334c98dbe0f183.chunk.js.map +1 -0
- package/dist/js/hubs.42526e43270139eb1849.chunk.js +2 -0
- package/dist/js/hubs.42526e43270139eb1849.chunk.js.gz +0 -0
- package/dist/js/hubs.42526e43270139eb1849.chunk.js.map +1 -0
- package/dist/js/locales/{ca.78b3bea781886ff158b4.chunk.js → ca.ed09d3a3d4bcca929ba1.chunk.js} +0 -0
- package/dist/js/locales/{ca.78b3bea781886ff158b4.chunk.js.gz → ca.ed09d3a3d4bcca929ba1.chunk.js.gz} +0 -0
- package/dist/js/locales/{da.6f097ed425797ab32cb3.chunk.js → da.6f60a77e9ef082dd3bf4.chunk.js} +0 -0
- package/dist/js/locales/{da.6f097ed425797ab32cb3.chunk.js.gz → da.6f60a77e9ef082dd3bf4.chunk.js.gz} +0 -0
- package/dist/js/locales/{de.fce9df327aeebd67e9a1.chunk.js → de.3b7d3665460384259e82.chunk.js} +0 -0
- package/dist/js/locales/{de.fce9df327aeebd67e9a1.chunk.js.gz → de.3b7d3665460384259e82.chunk.js.gz} +0 -0
- package/dist/js/locales/{el.c325cc8141993f493ad0.chunk.js → el.598573d2a5ed18804fe0.chunk.js} +0 -0
- package/dist/js/locales/{el.c325cc8141993f493ad0.chunk.js.gz → el.598573d2a5ed18804fe0.chunk.js.gz} +0 -0
- package/dist/js/locales/{en.ebb20d0566fd8e7cb3b8.chunk.js → en.f0fe75dca201449e5e47.chunk.js} +0 -0
- package/dist/js/locales/{en.ebb20d0566fd8e7cb3b8.chunk.js.gz → en.f0fe75dca201449e5e47.chunk.js.gz} +0 -0
- package/dist/js/locales/es.645f0fc5dd1cb8c8c5e6.chunk.js +1 -0
- package/dist/js/locales/es.645f0fc5dd1cb8c8c5e6.chunk.js.gz +0 -0
- package/dist/js/locales/{eu.13252b0f7f7534b39e34.chunk.js → eu.7734fc077f26418d6b32.chunk.js} +0 -0
- package/dist/js/locales/{eu.13252b0f7f7534b39e34.chunk.js.gz → eu.7734fc077f26418d6b32.chunk.js.gz} +0 -0
- package/dist/js/locales/{fi.1641c49d1e7154261df8.chunk.js → fi.d1f8a5f4048236243b0f.chunk.js} +0 -0
- package/dist/js/locales/{fi.1641c49d1e7154261df8.chunk.js.gz → fi.d1f8a5f4048236243b0f.chunk.js.gz} +0 -0
- package/dist/js/locales/fr.f46ce4fb57ed20dea8b5.chunk.js +1 -0
- package/dist/js/locales/fr.f46ce4fb57ed20dea8b5.chunk.js.gz +0 -0
- package/dist/js/locales/{hu.5aa0843ba5ebefad56b2.chunk.js → hu.d0d2c38a03a3b38c2bc5.chunk.js} +0 -0
- package/dist/js/locales/{hu.5aa0843ba5ebefad56b2.chunk.js.gz → hu.d0d2c38a03a3b38c2bc5.chunk.js.gz} +0 -0
- package/dist/js/locales/{it.63acad3d71352720e323.chunk.js → it.0c911d75c50ea83190ad.chunk.js} +0 -0
- package/dist/js/locales/{it.63acad3d71352720e323.chunk.js.gz → it.0c911d75c50ea83190ad.chunk.js.gz} +0 -0
- package/dist/js/locales/{nl.a23ef3d4aff66ca3b215.chunk.js → nl.36d288d75b3d3cbabf11.chunk.js} +0 -0
- package/dist/js/locales/{nl.a23ef3d4aff66ca3b215.chunk.js.gz → nl.36d288d75b3d3cbabf11.chunk.js.gz} +0 -0
- package/dist/js/locales/{no.da135b9c1614a4616b47.chunk.js → no.8f2f465d5f785650175d.chunk.js} +0 -0
- package/dist/js/locales/{no.da135b9c1614a4616b47.chunk.js.gz → no.8f2f465d5f785650175d.chunk.js.gz} +0 -0
- package/dist/js/locales/{pl.36e1b3baf978ef6c184a.chunk.js → pl.06e51d7d7b09ba14714d.chunk.js} +0 -0
- package/dist/js/locales/{pl.36e1b3baf978ef6c184a.chunk.js.gz → pl.06e51d7d7b09ba14714d.chunk.js.gz} +0 -0
- package/dist/js/locales/{pt-br.57dff49b32efd65d6825.chunk.js → pt-br.9d19d92899e8c0917c66.chunk.js} +0 -0
- package/dist/js/locales/{pt-br.57dff49b32efd65d6825.chunk.js.gz → pt-br.9d19d92899e8c0917c66.chunk.js.gz} +0 -0
- package/dist/js/locales/{pt.ab93507031a40179f7c7.chunk.js → pt.4390db3955db29b0e7dd.chunk.js} +0 -0
- package/dist/js/locales/{pt.ab93507031a40179f7c7.chunk.js.gz → pt.4390db3955db29b0e7dd.chunk.js.gz} +0 -0
- package/dist/js/locales/{ro.551cd0a17581b2159112.chunk.js → ro.705fcd327263fcf419bf.chunk.js} +0 -0
- package/dist/js/locales/{ro.551cd0a17581b2159112.chunk.js.gz → ro.705fcd327263fcf419bf.chunk.js.gz} +0 -0
- package/dist/js/locales/{ru.cbf29ad6736a21d83bcb.chunk.js → ru.8ab7e1c0d9eee7aa7afb.chunk.js} +0 -0
- package/dist/js/locales/{ru.cbf29ad6736a21d83bcb.chunk.js.gz → ru.8ab7e1c0d9eee7aa7afb.chunk.js.gz} +0 -0
- package/dist/js/locales/{sv.d33f4b4be982814b6343.chunk.js → sv.be546e605910932db11f.chunk.js} +0 -0
- package/dist/js/locales/{sv.d33f4b4be982814b6343.chunk.js.gz → sv.be546e605910932db11f.chunk.js.gz} +0 -0
- package/dist/js/locales/{tr.88e97bf59131df380c5a.chunk.js → tr.25a0d0f19e007e2febc9.chunk.js} +0 -0
- package/dist/js/locales/{tr.88e97bf59131df380c5a.chunk.js.gz → tr.25a0d0f19e007e2febc9.chunk.js.gz} +0 -0
- package/dist/js/locales/uk_UA.61073eae675491639925.chunk.js +1 -0
- package/dist/js/locales/uk_UA.61073eae675491639925.chunk.js.gz +0 -0
- package/dist/js/locales/{zh_CN.a9edec208d0cfe49d94b.chunk.js → zh_CN.4b75674e4815a965ccea.chunk.js} +0 -0
- package/dist/js/locales/{zh_CN.a9edec208d0cfe49d94b.chunk.js.gz → zh_CN.4b75674e4815a965ccea.chunk.js.gz} +0 -0
- package/dist/js/main.51b1144fdbc0a681eb6c.entry.js +3 -0
- package/dist/js/{main.c01c26460331633a96e2.entry.js.LICENSE.txt → main.51b1144fdbc0a681eb6c.entry.js.LICENSE.txt} +0 -0
- package/dist/js/main.51b1144fdbc0a681eb6c.entry.js.gz +0 -0
- package/dist/js/main.51b1144fdbc0a681eb6c.entry.js.map +1 -0
- package/dist/js/messages.6f74e67a600c48f367ad.chunk.js +2 -0
- package/dist/js/messages.6f74e67a600c48f367ad.chunk.js.gz +0 -0
- package/dist/js/messages.6f74e67a600c48f367ad.chunk.js.map +1 -0
- package/dist/js/queue.82a405ba14b60974cb0f.chunk.js +2 -0
- package/dist/js/queue.82a405ba14b60974cb0f.chunk.js.gz +0 -0
- package/dist/js/queue.82a405ba14b60974cb0f.chunk.js.map +1 -0
- package/dist/js/search.af59b1b20b4d7194457b.chunk.js +2 -0
- package/dist/js/search.af59b1b20b4d7194457b.chunk.js.gz +0 -0
- package/dist/js/search.af59b1b20b4d7194457b.chunk.js.map +1 -0
- package/dist/js/settings.b543eade40a723e95c77.chunk.js +2 -0
- package/dist/js/settings.b543eade40a723e95c77.chunk.js.gz +0 -0
- package/dist/js/settings.b543eade40a723e95c77.chunk.js.map +1 -0
- package/dist/js/share.f06abf75f7f2a6afc1b3.chunk.js +2 -0
- package/dist/js/share.f06abf75f7f2a6afc1b3.chunk.js.gz +0 -0
- package/dist/js/share.f06abf75f7f2a6afc1b3.chunk.js.map +1 -0
- package/dist/js/{system-log.45dba574bcb91efd176c.chunk.js → system-log.b9763d1c0f5cf5966f21.chunk.js} +2 -2
- package/dist/js/system-log.b9763d1c0f5cf5966f21.chunk.js.gz +0 -0
- package/dist/js/system-log.b9763d1c0f5cf5966f21.chunk.js.map +1 -0
- package/dist/js/transfers.22e0a37c676d2a0996a8.chunk.js +2 -0
- package/dist/js/transfers.22e0a37c676d2a0996a8.chunk.js.gz +0 -0
- package/dist/js/transfers.22e0a37c676d2a0996a8.chunk.js.map +1 -0
- package/dist/sw.js +1 -1
- package/dist/sw.js.gz +0 -0
- package/package.json +65 -64
- package/dist/js/285.744e520b1611ce9c52a5.chunk.js +0 -2
- package/dist/js/285.744e520b1611ce9c52a5.chunk.js.gz +0 -0
- package/dist/js/285.744e520b1611ce9c52a5.chunk.js.map +0 -1
- package/dist/js/334.27c2467ccb3a5cb23acf.chunk.js +0 -2
- package/dist/js/334.27c2467ccb3a5cb23acf.chunk.js.gz +0 -0
- package/dist/js/334.27c2467ccb3a5cb23acf.chunk.js.map +0 -1
- package/dist/js/424.83f0cedf9d07b9d54fcb.chunk.js +0 -2
- package/dist/js/424.83f0cedf9d07b9d54fcb.chunk.js.gz +0 -0
- package/dist/js/424.83f0cedf9d07b9d54fcb.chunk.js.map +0 -1
- package/dist/js/668.ca79db34c1e147bd25d0.chunk.js.gz +0 -0
- package/dist/js/668.ca79db34c1e147bd25d0.chunk.js.map +0 -1
- package/dist/js/69.779bd39a66fa5ea5248b.chunk.js +0 -2
- package/dist/js/69.779bd39a66fa5ea5248b.chunk.js.gz +0 -0
- package/dist/js/69.779bd39a66fa5ea5248b.chunk.js.map +0 -1
- package/dist/js/702.dd4be667774bce5de14f.chunk.js.gz +0 -0
- package/dist/js/760.5448a03d335f92bedb53.chunk.js +0 -3
- package/dist/js/760.5448a03d335f92bedb53.chunk.js.gz +0 -0
- package/dist/js/760.5448a03d335f92bedb53.chunk.js.map +0 -1
- package/dist/js/favorite-hubs.82de31826d6a7541ec24.chunk.js +0 -2
- package/dist/js/favorite-hubs.82de31826d6a7541ec24.chunk.js.gz +0 -0
- package/dist/js/favorite-hubs.82de31826d6a7541ec24.chunk.js.map +0 -1
- package/dist/js/filelists.7a9e00969dcca088a27c.chunk.js +0 -2
- package/dist/js/filelists.7a9e00969dcca088a27c.chunk.js.gz +0 -0
- package/dist/js/filelists.7a9e00969dcca088a27c.chunk.js.map +0 -1
- package/dist/js/files.bb297a4f890216386a57.chunk.js +0 -2
- package/dist/js/files.bb297a4f890216386a57.chunk.js.gz +0 -0
- package/dist/js/files.bb297a4f890216386a57.chunk.js.map +0 -1
- package/dist/js/home.727a64f6586ed95a66bb.chunk.js +0 -3
- package/dist/js/home.727a64f6586ed95a66bb.chunk.js.gz +0 -0
- package/dist/js/home.727a64f6586ed95a66bb.chunk.js.map +0 -1
- package/dist/js/hubs.8b51f0869cdfed35644e.chunk.js +0 -2
- package/dist/js/hubs.8b51f0869cdfed35644e.chunk.js.gz +0 -0
- package/dist/js/hubs.8b51f0869cdfed35644e.chunk.js.map +0 -1
- package/dist/js/locales/es.784f05fd27d172e4ff10.chunk.js +0 -1
- package/dist/js/locales/es.784f05fd27d172e4ff10.chunk.js.gz +0 -0
- package/dist/js/locales/fr.ede93bff1e1571d56404.chunk.js +0 -1
- package/dist/js/locales/fr.ede93bff1e1571d56404.chunk.js.gz +0 -0
- package/dist/js/locales/uk_UA.2b396266bb670b4b7a59.chunk.js +0 -1
- package/dist/js/locales/uk_UA.2b396266bb670b4b7a59.chunk.js.gz +0 -0
- package/dist/js/main.c01c26460331633a96e2.entry.js +0 -3
- package/dist/js/main.c01c26460331633a96e2.entry.js.gz +0 -0
- package/dist/js/main.c01c26460331633a96e2.entry.js.map +0 -1
- package/dist/js/messages.cfb23ba34e3a288ca289.chunk.js +0 -2
- package/dist/js/messages.cfb23ba34e3a288ca289.chunk.js.gz +0 -0
- package/dist/js/messages.cfb23ba34e3a288ca289.chunk.js.map +0 -1
- package/dist/js/queue.0e532f2a56e464d1626b.chunk.js +0 -2
- package/dist/js/queue.0e532f2a56e464d1626b.chunk.js.gz +0 -0
- package/dist/js/queue.0e532f2a56e464d1626b.chunk.js.map +0 -1
- package/dist/js/search.ef2d64870dc65f549d8c.chunk.js +0 -2
- package/dist/js/search.ef2d64870dc65f549d8c.chunk.js.gz +0 -0
- package/dist/js/search.ef2d64870dc65f549d8c.chunk.js.map +0 -1
- package/dist/js/settings.b3fd7918efe3c8bfae88.chunk.js +0 -2
- package/dist/js/settings.b3fd7918efe3c8bfae88.chunk.js.gz +0 -0
- package/dist/js/settings.b3fd7918efe3c8bfae88.chunk.js.map +0 -1
- package/dist/js/share.c0cdc71a867839f5c8b3.chunk.js +0 -2
- package/dist/js/share.c0cdc71a867839f5c8b3.chunk.js.gz +0 -0
- package/dist/js/share.c0cdc71a867839f5c8b3.chunk.js.map +0 -1
- package/dist/js/system-log.45dba574bcb91efd176c.chunk.js.gz +0 -0
- package/dist/js/system-log.45dba574bcb91efd176c.chunk.js.map +0 -1
- package/dist/js/transfers.4ed15c9e5e62fe968fbc.chunk.js +0 -2
- package/dist/js/transfers.4ed15c9e5e62fe968fbc.chunk.js.gz +0 -0
- package/dist/js/transfers.4ed15c9e5e62fe968fbc.chunk.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"js/668.ca79db34c1e147bd25d0.chunk.js","mappings":"kKAGIA,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,snKAAunK,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,+CAA+C,MAAQ,GAAG,SAAW,+kDAA+kD,eAAiB,CAAC,unKAAunK,WAAa,MAEr+X,W,yDCGe,SAAS,EACtBC,EACAC,EACAC,GAEA,MAMMC,EAAiD,CACrDC,QAAS,KACTC,cAAe,CACbC,YAAa,QACbC,OAAQL,EACRM,KAAM,WACNC,QAZuD,EACvDC,KAAMC,KAED,WAAqB,GAAGV,KAAeU,EAAQZ,QAaxD,OAAOa,OAAOC,OAAOb,EAASG,K,gFCTjB,SAAS,EACtBW,EACAC,GAAwB,GAExB,MAAMC,UAA+B,YAArC,c,oBAQE,KAAAC,QAAWN,IACTO,KAAKC,MAAMC,WAAWH,QAAQN,GAC9BO,KAAKG,iBAAcC,GAGrB,KAAAC,WAAcZ,IAQZ,GAPIO,KAAKG,cAEPG,aAAaN,KAAKG,aAClBH,KAAKD,QAAQC,KAAKC,MAAMR,UAG1BO,KAAKC,MAAMC,WAAWK,eAAed,IAChCA,EACH,OAGF,MAAMe,EAAWX,EAA0F,IAAvE,aAAmC,yBAAvC,EAChCG,KAAKG,YAAcM,OAAOC,YAAW,IAAMV,KAAKD,QAAQN,IAAUe,IAGpEG,oBACEX,KAAKK,WAAWL,KAAKC,MAAMR,SAG7BmB,uBACEZ,KAAKK,WAAW,MAGlBQ,mBAAmBC,GACbd,KAAKC,MAAMR,QAAQZ,KAAOiC,EAAUrB,QAAQZ,IAC9CmB,KAAKK,WAAWL,KAAKC,MAAMR,SAI/BsB,SACE,OAAO,SAACnB,EAAS,iBAAMI,KAAKC,YAAK,IAIrC,OAAOH,I,iEClEF,MAAMkB,EAAwC,EAAGC,MAAAA,EAAOC,KAAAA,MAC7D,8BAAKC,UAAU,aAAW,WACxB,8BAAKA,UAAU,cAAY,UACrBF,GAAyB,iBAATC,EAAoB,GAAGD,MAAUC,IAASA,SAAI,UAC9D,GAIGE,EAA0B,EAAGC,SAAAA,MACxC,+BAAKF,UAAU,kBAAgB,YAC7B,gBAAKA,UAAU,0BAAmB,IAClC,8BAAKA,UAAU,gBAAc,UACzBE,SAAQ,WACN,I,0NCAV,MAAMC,EAAkB,EACtBC,iBAAAA,EAAkBC,UAAAA,EAAWC,gBAAAA,EAAiBC,qBAAAA,EAAsBC,MAEpE,UAACC,EAAA,EAAiB,eAChBC,aAAc,SAACC,EAAA,EAAQ,CAACC,UAAYN,EAAkBA,EAAgBO,oBAAsB,WAAI,IAAK,YAErG,SAACC,EAAA,EAAW,eAACC,SAAU,QAAU,MAAOP,EAAG,cAAkB,UACzDH,SAAS,IAEb,SAACS,EAAA,EAAW,eAACC,SAAU,QAAU,mBAAoBP,EAAG,cAAkB,UACtEJ,SAAgB,IAEpB,SAACU,EAAA,EAAW,UACRP,UAAsB,WACZ,GAQZS,EAAc,EAChBrD,QAAAA,EAASsD,WAAAA,MAENA,IAAc,UACV,MAIP,SAACC,EAAA,EAAY,CACXlB,UAAU,gCACVrC,QAAUA,EACVwD,SAAS,gBACTC,SAAWH,EACX9C,KAAOkD,EAAA,cAAmB,GAQ1BC,EAAsD,EAAGC,eAAAA,EAAgBC,gBAAAA,MAC7E,+BAAKxB,UAAU,kBAAgB,WAC3BuB,EACAC,UAAe,GAoCrB,EA/BE,I,IAAA,SAAEtB,EAAQ,UAAEuB,GAAS,EAAK3C,E,yUAAK,GAA/B,0BACG,OACH,+BACEkB,UAAU,6BACVyB,UAAYA,EACZC,SAAW,GAAC,YAEZ,+BAAK1B,UAAU,yBAAuB,YACpC,+BAAKA,UAAU,gBAAc,YAC3B,SAACG,EAAe,iBAAMrB,QAAK,IAC3B,SAACwC,EAAiB,iBAAMxC,QAAK,WAAI,IAEnC,SAACkC,EAAW,iBAAMlC,QAAK,WAAI,IAG7B,8BAAKkB,UAAU,kBAAgB,UAC3BE,SAAQ,WACN,I,0BCjFV,MAoDA,EApD2E,EACzEE,iBAAAA,EAAkBC,UAAAA,EAClBkB,eAAAA,EAAgBC,gBAAAA,EAAiBtB,SAAAA,EACjCyB,sBAAAA,EAAuBF,UAAAA,MAGnBpB,IACFA,EAAY,eAAmBA,EAAW,CACxCL,UAAWK,EAAUvB,MAAMkB,UAAY,uBAKzC,UAAC4B,EAAA,GAAI,eACH5B,UAAU,+BACVyB,UAAYA,EACZC,SAAW,GAAC,YAEZ,+BAAK1B,UAAU,gCAA8B,WACzCK,IACED,EAAiByB,SACnB,8BAAK7B,UAAU,8BAA4B,UACvCI,SAAgB,WAErB,IAGH,8BAAKJ,UAAU,uDAAqD,WAClE,+BAAKA,UAAU,6BAA2B,YACxC,SAAC8B,EAAA,EAAY,CACX9B,UAAU,iBACV7B,KAAOoD,EACPQ,OAAQ,8BAAK/B,UAAU,SAAO,UAAGwB,SAAe,GAChDQ,UAAYL,QAAqB,IAEnC,gBAAK3B,UAAU,aAAaiC,MAAO,CAAEC,OAAQ,yBAAmB,GAC9DhC,UAAQ,UACN,WACF,I,qICnCRiC,EAAU,GAEdA,EAAQC,kBAAoB,IAC5BD,EAAQE,cAAgB,IAElBF,EAAQG,OAAS,SAAc,KAAM,QAE3CH,EAAQI,OAAS,IACjBJ,EAAQK,mBAAqB,IAEhB,IAAI,IAASL,GAKJ,KAAW,YAAiB,W,6CChBlD,MAsCA,EAxB0D,EAAGM,IAAAA,EAAKV,MAAAA,EAAOW,QAAAA,EAAS1C,UAAAA,MAChF,SAAC2C,EAAA,EAAkB,eAEjB3C,UAAY,IAAW,MAAOA,GAC9B7B,KAAOkD,EAAA,SACPoB,IAAMA,EACNG,QAAWC,GApBC,EAACA,EAA2BH,KAC1CG,EAAIC,iBAEJJ,KAiB2CE,CAAQC,EAAKH,IAAQ,UAE5DX,IANE,cCqCR,EAhCwD,EACpDgB,YAAAA,EAAaC,OAAAA,EAAQC,KAAAA,EAAM3C,gBAAAA,EAAiBmC,IAAAA,EAAKS,YAAAA,MAEnD,SAACP,EAAA,EAAkB,eACjBF,IAAMA,EACNzC,UAAU,eACV4C,QAAWC,GA1BK,EAClBA,EACAE,EACAG,KAEAL,EAAIC,iBAEJI,EAAYH,EAAYrF,KAmBmByF,CAAYN,EAAKE,EAAaG,GACvE/E,KAAO6E,EACP1E,QAAUyE,EACVzC,gBAAkBA,GAAe,WAEjC,+BAAMN,UAAU,gBAAc,UAC1BiD,SAAI,UACD,G,2DCRX,MAAMG,EAAW,CAAmCC,EAAmB3F,IAC9D2F,EAAMC,MAAKC,GAAQA,EAAK7F,KAAOA,IA8FxC,MAAM8F,UACI,YADV,c,oBA8DE,KAAAC,MAAyB,CACvBxC,WAAY,MAOd,KAAAyC,cAAiBhG,IACf,MAAYA,EAAI,+CACT,IAAImB,KAAKC,MAAM6E,mBAAmBjG,KAG3C,KAAAkG,UAAY,IACH,IAAI/E,KAAKC,MAAM6E,cAGxB,KAAAE,cAAiB/E,GACR,GAAGA,EAAM6E,sBAGlB,KAAAT,YAAexF,IACboG,EAAA,OAAajF,KAAK6E,cAAchG,KAGlC,KAAAqG,eAAkBrG,IAChBoG,EAAA,UAAgBjF,KAAK6E,cAAchG,KAGrC,KAAAgF,QAAU,KACRoB,EAAA,OAAajF,KAAK+E,cAGpB,KAAAI,cAAgB,IACPC,EAAA,YAAqBpF,KAAKC,MAAMjB,YAsCzC,KAAAqG,gBAAmBpF,IAEjB,MAAMqF,EAAiBrF,EAAMsF,SACvBC,EAAUF,EAAeV,OAAUU,EAAeV,MAA+BY,QAGjFpD,EAAamC,EAAStE,EAAMuE,MAAOvE,EAAMwF,UAC/C,OAAIrD,EACEoD,GAEFP,EAAA,UAAgB,CAEdL,MAAO,CACLY,SAAS,MAIN,IAGTxF,KAAK0F,SAAS,CAAEtD,WAAYA,KAC5B,QAAkBpC,KAAKgF,cAAc/E,GAAQA,EAAMwF,WAC5C,KACED,GAG8D,IAAvBvF,EAAMuE,MAAMxB,SAE5DiC,EAAA,UAAgBjF,KAAK+E,aACrB/E,KAAK0F,SAAS,CAAEtD,WAAY,QACrB,IAMX,KAAAQ,UAAa+C,IACX,MAAM,IAAEC,EAAG,OAAEC,GAAWF,EAExB,IAAIE,GAAmB,YAARD,GAA6B,cAARA,GAmB7B,GAAIC,GAAkB,WAARD,EAEnBD,EAAM1B,iBAENgB,EAAA,UAAgBjF,KAAK+E,kBAChB,GAAIc,GAAkB,WAARD,EAAkB,CAErCD,EAAM1B,iBAEN,MAAM,MAAEO,EAAK,SAAEiB,EAAQ,WAAEvF,GAAeF,KAAKC,MACvCyE,EAAOH,EAASC,EAAOiB,GACvBf,GACJxE,EAAWf,cAAcuF,QA/B6B,CAExDiB,EAAM1B,iBAEN,MAAM,MAAEO,EAAK,SAAEiB,GAAazF,KAAKC,MAC3ByE,EAAOH,EAASC,EAAOiB,GAC7B,IAAKf,EACH,OAGF,MAAMoB,EAAetB,EAAMuB,QAAQrB,GACnC,IAAsB,IAAlBoB,EACF,OAGF,MAAME,EAAaxB,EAAc,YAARoB,EAAoBE,EAAe,EAAIA,EAAe,GAC3EE,GACFhG,KAAKqE,YAAY2B,EAAWnH,MAqClC,KAAAoH,cAAiB/B,IACf,MAAM,iBAAEgC,EAAgB,qBAAEC,GAAyBnG,KAAKC,MACxD,OAAIiG,GACK,gBAAK/E,UAAY,oDAAsD+E,EAAiBhC,SAAY,IAGtG,SAACkC,EAAA,EAAI,CAAC9G,KAAO6G,EAAqBjC,SAAY,IAGvD,KAAAmC,mBAAsBnC,IAElB,SAAC,EAAe,CAEdN,IAAM5D,KAAK6E,cAAcX,EAAYrF,IACrCuF,KAAOpE,KAAKC,MAAMqG,eAAepC,GACjCzC,gBAAkBzB,KAAKC,MAAMwB,gBAC7B0C,OAASnE,KAAKiG,cAAc/B,GAC5BA,YAAcA,EACdG,YAAcrE,KAAKqE,aANbH,EAAYrF,IAWxB,KAAA0H,mBAAqB,KACnB,MAAM,UAAEC,EAAS,UAAEC,EAAS,eAAEH,EAAc,sBAAEI,GAA0B1G,KAAKC,OAEvE,WAAEmC,GAAepC,KAAK4E,MAC5B,IAAKxC,EACH,OAAO,yBAAOpC,KAAKC,MAAM0G,iBAAU,GAGrC,IAAIC,EACAH,IACFG,EAAM,IAAKH,EAAW,UAAW,kBAGnC,MAAMI,GACJ,SAAC,KAAU,CACT3E,QAAUoE,EAAelE,GACzBtD,QAAU0H,EACVjE,SAAWH,EACXwE,IAAMA,QAAG,GAKb,GAAIF,EAAuB,CACzB,MAAMI,EAASJ,EAAsBtE,EAAYpC,KAAKC,MAAMsF,SAAUsB,GACtE,GAAIC,EACF,OAAOA,EAIX,OAAOD,GAGT,KAAAE,yBAA2B,KACzB,MAAM,WAAE3E,GAAepC,KAAK4E,OACtB,4BAAEoC,EAA2B,eAAEC,GAAmBjH,KAAKC,MAC7D,OAAKmC,EAIE4E,EAA4B5E,GAH1B6E,GAMX,KAAAC,kBAAoB,KAClB,MAAM,WAAE9E,GAAepC,KAAK4E,OACtB,qBAAEuB,EAAoB,QAAEgB,GAAYnH,KAAKC,MAC/C,OAAO,SAACmG,EAAA,EAAI,CAAC9G,KAAO8C,EAAa+D,EAAqB/D,GAAc+E,QAAO,IAG7E,KAAAC,aAAe,IACRpH,KAAKmF,iBAAoBnF,KAAKC,MAAM0G,YAKvC,SAAC,EAAgB,CAEfzD,MAAQlD,KAAKC,MAAM0G,WACnB/C,IAAM5D,KAAK+E,YACXlB,QAAU7D,KAAK6D,SAHX,cALC,KAaX,KAAAwD,eAAiB,KACf,MAAM,WAAEnH,EAAU,MAAEsE,GAAUxE,KAAKC,MACnCuE,EAAM8C,SAAQ7H,GAAWS,EAAWf,cAAcM,MAGpD,KAAA8H,kBAAoB,KAClB,MAAM,MAAE/C,EAAK,EAAE7C,GAAM3B,KAAKC,MAC1B,OAAKD,KAAKmF,iBAAoC,IAAjBX,EAAMxB,QAKjC,SAACwE,EAAA,EAAY,eAEXzD,QAAU/D,KAAKqH,eACf/H,KAAOkD,EAAA,UAAoB,WAEzB,QAAU,YAAab,EAAG,eAJxB,SALC,MAcX,KAAA8F,UAAW,QAAWzH,KAAKC,MAAM0B,EAAG3B,KAAKC,MAAMuG,UAAUkB,UA5OzDC,iCAAiCC,GAC/B,GAAIA,EAAUrC,SAASsC,WAAa7H,KAAK+E,YAKvC,YAHI/E,KAAK4E,MAAMxC,YACbpC,KAAK0F,SAAS,CAAEtD,WAAY,QAKhC,GAAIpC,KAAKqF,gBAAgBuC,GAEvB,OAMF,IAAIE,EAAa,EACjB,MAAMC,EAAUxD,EAASvE,KAAKC,MAAMuE,MAAOxE,KAAKC,MAAMwF,UAClDsC,IAEFD,EAAa9H,KAAKC,MAAMuE,MAAMuB,QAAQgC,GAClCD,IAAe9H,KAAKC,MAAMuE,MAAMxB,OAAS,IAE3C8E,GAA0B,IAI9B9H,KAAKkF,eAAe0C,EAAUpD,MAAMsD,GAAYjJ,IAiFlD8B,oBAEE,GAAIX,KAAKqF,gBAAgBrF,KAAKC,OAC5B,OAIF,IAAI+H,GAAS,OAA8BhI,KAAKgF,cAAchF,KAAKC,QAC/D+H,GAAUzD,EAASvE,KAAKC,MAAMuE,MAAOwD,GAEvChI,KAAKkF,eAAe8C,GACXhI,KAAKC,MAAMuE,MAAMxB,OAAS,GAEnChD,KAAKkF,eAAelF,KAAKC,MAAMuE,MAAM,GAAG3F,IAmH5CkC,SACE,MAAM,gBACJkH,EAAe,MAAazD,EAAK,gBAAE/C,EAAe,SAAE8D,EAAQ,EAAG,WAAErF,EAAU,UAC3EsG,EAAW0B,UAAWC,EAAWC,kBAAmBC,EAAiB,SAAE5C,GACrEzF,KAAKC,MAET,IAAKD,KAAKmF,iBAAoC,IAAjBX,EAAMxB,OAEjC,OACE,SAACsF,EAAA,EAAO,CACNpF,OAAQ,QAAU,mBAAoBvB,EAAG,aACzC4G,YAAc5G,GACZ,QAAU,sBAAuB,aACjC,iDACD,GAKP,MAAM,WAAES,GAAepC,KAAK4E,MAGtBhF,EAFaqI,IAAmB,QAAgBjI,KAAKwI,SAE5B,EAAgB,EAC/C,OACE,UAAC5I,EAAS,eACR+C,gBAAkB3C,KAAKuG,qBACvBzD,sBAAwB9C,KAAK+G,2BAC7BrE,eAAiB1C,KAAKkH,oBAEtB9E,WAAaA,EACbX,gBAAkBA,EAElBD,UAAYxB,KAAKoH,eACjB7F,iBAAmBiD,EAAMiE,IAAIzI,KAAKqG,oBAClC3E,qBAAuB1B,KAAKuH,kBAC5B3E,UAAY5C,KAAK4C,UAEjB9D,QAAU0H,EACV7E,GAAK,YAEL,SAAC,KAAK,CACJ+G,KAAO1I,KAAK6E,cAAc,OAC1B9D,OAASd,IACP,IAAKmC,EAAY,CACf,MAAM,MAAEwC,GAAU5E,KAAKC,MAAMsF,SAC7B,OAAMX,GAAUA,EAA+BY,SAEtC,SAACmD,EAAA,EAAM,CAACzH,MAAO,QAAU,8BAA+BS,EAAG,mBAAkB,GAC3E8D,GAA6B,IAAjBjB,EAAMxB,QAEpB,SAAC2F,EAAA,EAAM,CAACzH,MAAO,QAAU,kBAAmBS,EAAG,mBAAkB,QAG1EiH,QAAQC,MAAM,+CAKhB,OACE,SAACR,EAAiB,CAChB5I,QAAU2C,EACVlC,WAAaA,EACbsG,UAAYA,EACZjB,SAAWA,EACXkC,SAAWzH,KAAKyH,eAAQ,UAG7B,KAECU,IACF,SAAC,KAAK,CACJO,KAAO1I,KAAK+E,YACZhE,OAASd,IACP,SAACkI,EAAS,iBACHlI,EAAK,CACVwH,SAAWzH,KAAKyH,gBAAQ,SAE3B,WAEJ,IA7ZA,EAAArI,YAAc,gBAEd,EAAA0J,UAAY,CAEjBhE,QAAS,sBAGTS,SAAU,sBAGVf,MAAO,qBAGPkC,sBAAuB,SAGvBM,4BAA6B,oBAG7Bb,qBAAsB,oBAGtB1E,gBAAiB,WAGjB6E,eAAgB,oBAGhBJ,iBAAkB,SAGlBM,UAAW,sBAGXC,UAAW,UAGXhB,SAAU,QAGVkB,WAAY,QAGZM,eAAgB,QAGhBE,QAAS,QAGTc,gBAAiB,SAGjBjJ,WAAY,sBAEZoJ,kBAAmB,mBAEnBF,UAAW,UAON,EAAAa,YAAcC,EAAA,EAoWvB,Y,iHCthBA,MAAMC,EAA2B,CAC/BrJ,EACAsJ,IAEmBjJ,IACjB,MAAM,EAAE0B,IAAM,SACRwH,GAAW,OAAqBD,GACtC,OAAKA,EAAME,iBAKT,SAACxJ,EAAS,eACR4E,MAAQ2E,EACRxH,EAAIA,GACC1B,QAAK,IAPL,SAAC,IAAM,CAACiB,MAAO,QAAU,mBAAoBS,EAAG,mBAAkB","sources":["webpack://airdcpp-webui/./src/routes/Sidebar/sessions.css","webpack://airdcpp-webui/./src/actions/ui/decorators/SessionActionDecorator.ts","webpack://airdcpp-webui/./src/decorators/ActiveSessionDecorator.tsx","webpack://airdcpp-webui/./src/routes/Sidebar/components/SessionFooter.tsx","webpack://airdcpp-webui/./src/routes/Sidebar/components/TopMenuLayout.tsx","webpack://airdcpp-webui/./src/routes/Sidebar/components/SideMenuLayout.tsx","webpack://airdcpp-webui/./src/routes/Sidebar/sessions.css?90b7","webpack://airdcpp-webui/./src/routes/Sidebar/components/SessionNewButton.tsx","webpack://airdcpp-webui/./src/routes/Sidebar/components/SessionMenuItem.tsx","webpack://airdcpp-webui/./src/routes/Sidebar/components/SessionLayout.tsx","webpack://airdcpp-webui/./src/routes/Sidebar/decorators/SessionProviderDecorator.tsx"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".session-container.horizontal.ui.grid {\\r\\n margin: 0px !important;\\r\\n}\\r\\n\\r\\n.session-container.horizontal .menu-column .item.new {\\r\\n padding: .78571429em 1.1em !important;\\r\\n}\\r\\n\\r\\n.session-container.horizontal .ui.vertical.menu .item>i.icon {\\r\\n margin: 0 .35714286em 0 0 !important;\\r\\n}\\r\\n\\r\\n.session-container.horizontal .session-layout > .ui.divider {\\r\\n margin: 5px 0px 0px 0px;\\r\\n}\\r\\n\\r\\n.session-container.vertical {\\r\\n padding: 15px;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n background-color: white;\\r\\n}\\r\\n\\r\\n.session-layout {\\r\\n flex: 100 100 auto;\\r\\n display: flex;\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n.session-container.horizontal .session-layout {\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.session-container.vertical .menu-bar {\\r\\n justify-content: space-between;\\r\\n margin: 0px !important;\\r\\n}\\r\\n\\r\\n.session-container.vertical .menu-bar .content-left {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.session-container.vertical .menu-bar .close-button.item:before {\\r\\n background: none !important;\\r\\n}\\r\\n\\r\\n.session-container.vertical .menu-bar .close-button.item {\\r\\n box-shadow: none !important;\\r\\n}\\r\\n\\r\\n.session-container.vertical .menu-bar .content-left > .ui.dropdown {\\r\\n float: left;\\r\\n}\\r\\n\\r\\n.session-container.vertical .menu-bar .content-left > .ui.dropdown .menu {\\r\\n max-height: calc(100vh - 140px);\\r\\n overflow-y: auto;\\r\\n overflow-x: hidden;\\r\\n max-width: calc(100vw - 30px);\\r\\n}\\r\\n\\r\\n.session-container.vertical .session-item .count.label {\\r\\n margin-left: 1em !important;\\r\\n}\\r\\n\\r\\n.session-container.vertical .session-header {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.session-container.vertical .session-header > div {\\r\\n max-width: 90%; /* Hack, auto width won't work without \\\"overflow: hidden\\\", but that would prevent viewing the menu items */\\r\\n padding: .82857143em 0.4285714em;\\r\\n line-height: 1.2;\\r\\n}\\r\\n\\r\\n.session-container.vertical .session-header > div:before {\\r\\n background: none !important;\\r\\n}\\r\\n\\r\\n.session-container.vertical .session-header > i {\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n.session-container.vertical .session-header .ui.dropdown > i {\\r\\n margin: 0px 5px;\\r\\n}\\r\\n\\r\\n/* Fix a few inconsistencies between 'icon' and 'icons' classnames */\\r\\n.session-container.horizontal .session-header .header > i,\\r\\n.session-container.vertical .session-header > i {\\r\\n width: inherit !important;\\r\\n font-size: 1.5em;\\r\\n}\\r\\n\\r\\n.session-container.horizontal .session-header .ui.header {\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.session-container.vertical .menu-bar {\\r\\n border-radius: 0px !important;\\r\\n padding-bottom: 0px;\\r\\n}\\r\\n\\r\\n.session-container, \\r\\n.session-layout, \\r\\n.session-container.horizontal .column {\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.session-container.horizontal .column > div {\\r\\n max-height: 100%;\\r\\n}\\r\\n\\r\\n.session-container .session-item {\\r\\n overflow: hidden;\\r\\n display: flex !important;\\r\\n align-items: center;\\r\\n padding: .68571429em .92857143em !important;\\r\\n height: 35px;\\r\\n}\\r\\n\\r\\n.session-container .session-item .session-status {\\r\\n float: none !important;\\r\\n margin: 0 .5em 0 0 !important;\\r\\n}\\r\\n\\r\\n.session-container .session-item .session-name {\\r\\n overflow: hidden;\\r\\n flex: 1 1 100%;\\r\\n line-height: 1.2;\\r\\n}\\r\\n\\r\\n.session-container .session-status {\\r\\n margin-right: 5px;\\r\\n margin-top: 3px;\\r\\n}\\r\\n\\r\\n.session-container.horizontal .menu-column {\\r\\n display: flex !important;\\r\\n flex-direction: column;\\r\\n padding-right: 0px !important;\\r\\n}\\r\\n\\r\\n.session-container.horizontal .menu-column .menu {\\r\\n width: initial !important;\\r\\n overflow-y: auto;\\r\\n padding-top: 10px;\\r\\n flex: 1;\\r\\n}\\r\\n\\r\\n.session-container.horizontal .menu-column .session-item span.session-name,\\r\\n.session-container .session-header .ui.dropdown .caption {\\r\\n overflow: hidden;\\r\\n white-space: nowrap;\\r\\n}\\r\\n\\r\\n.session-container .session-header .title .ui.dropdown {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.session-layout .sub.header {\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n.session-layout .sub.header img {\\r\\n vertical-align: text-top;\\r\\n}\\r\\n\\r\\n.session-footer .info-grid {\\r\\n margin-top: 7px !important;\\r\\n font-size: small;\\r\\n color: grey;\\r\\n display: flex;\\r\\n flex: 1;\\r\\n align-items: flex-end;\\r\\n}\\r\\n\\r\\n.session-footer .info-grid > div {\\r\\n flex: 1;\\r\\n}\\r\\n\\r\\n.session-footer .info-grid > div:last-child > div {\\r\\n float: right;\\r\\n}\\r\\n\\r\\n.session-footer .info-grid > div:only-child > div {\\r\\n float: inherit;\\r\\n}\\r\\n\\r\\n.session-footer .ui.checkbox {\\r\\n min-height: inherit !important;\\r\\n}\\r\\n\\r\\n.session-footer .divider {\\r\\n margin-top: 8px;\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n\\r\\n/* New session layout */\\r\\n.session.new {\\r\\n flex: 100 100 0%;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n overflow-y: hidden;\\r\\n margin-top: 20px;\\r\\n padding: 1px;\\r\\n}\\r\\n\\r\\n.session.new .recents {\\r\\n flex: 100 100 0%;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n margin-top: 20px;\\r\\n overflow-y: hidden;\\r\\n}\\r\\n\\r\\n.session.new .recents .list {\\r\\n padding: 3px 5px;\\r\\n flex: 100 100 0%;\\r\\n overflow-y: auto;\\r\\n overflow-x: hidden;\\r\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/routes/Sidebar/sessions.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,sBAAsB;AACxB;;AAEA;EACE,qCAAqC;AACvC;;AAEA;EACE,oCAAoC;AACtC;;AAEA;EACE,uBAAuB;AACzB;;AAEA;EACE,aAAa;EACb,aAAa;EACb,sBAAsB;EACtB,uBAAuB;AACzB;;AAEA;EACE,kBAAkB;EAClB,aAAa;EACb,gBAAgB;AAClB;;AAEA;EACE,sBAAsB;AACxB;;AAEA;EACE,8BAA8B;EAC9B,sBAAsB;AACxB;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,2BAA2B;AAC7B;;AAEA;EACE,2BAA2B;AAC7B;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,+BAA+B;EAC/B,gBAAgB;EAChB,kBAAkB;EAClB,6BAA6B;AAC/B;;AAEA;EACE,2BAA2B;AAC7B;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,YAAY;AACd;;AAEA;EACE,cAAc,EAAE,2GAA2G;EAC3H,gCAAgC;EAChC,gBAAgB;AAClB;;AAEA;EACE,2BAA2B;AAC7B;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,eAAe;AACjB;;AAEA,oEAAoE;AACpE;;EAEE,yBAAyB;EACzB,gBAAgB;AAClB;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,6BAA6B;EAC7B,mBAAmB;AACrB;;AAEA;;;EAGE,YAAY;AACd;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,gBAAgB;EAChB,wBAAwB;EACxB,mBAAmB;EACnB,2CAA2C;EAC3C,YAAY;AACd;;AAEA;EACE,sBAAsB;EACtB,6BAA6B;AAC/B;;AAEA;EACE,gBAAgB;EAChB,cAAc;EACd,gBAAgB;AAClB;;AAEA;EACE,iBAAiB;EACjB,eAAe;AACjB;;AAEA;EACE,wBAAwB;EACxB,sBAAsB;EACtB,6BAA6B;AAC/B;;AAEA;EACE,yBAAyB;EACzB,gBAAgB;EAChB,iBAAiB;EACjB,OAAO;AACT;;AAEA;;EAEE,gBAAgB;EAChB,mBAAmB;AACrB;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,wBAAwB;AAC1B;;AAEA;EACE,0BAA0B;EAC1B,gBAAgB;EAChB,WAAW;EACX,aAAa;EACb,OAAO;EACP,qBAAqB;AACvB;;AAEA;EACE,OAAO;AACT;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,8BAA8B;AAChC;;AAEA;EACE,eAAe;EACf,kBAAkB;AACpB;;AAEA,uBAAuB;AACvB;EACE,gBAAgB;EAChB,aAAa;EACb,sBAAsB;EACtB,kBAAkB;EAClB,gBAAgB;EAChB,YAAY;AACd;;AAEA;EACE,gBAAgB;EAChB,aAAa;EACb,sBAAsB;EACtB,gBAAgB;EAChB,kBAAkB;AACpB;;AAEA;EACE,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB;EAChB,kBAAkB;AACpB\",\"sourcesContent\":[\".session-container.horizontal.ui.grid {\\r\\n margin: 0px !important;\\r\\n}\\r\\n\\r\\n.session-container.horizontal .menu-column .item.new {\\r\\n padding: .78571429em 1.1em !important;\\r\\n}\\r\\n\\r\\n.session-container.horizontal .ui.vertical.menu .item>i.icon {\\r\\n margin: 0 .35714286em 0 0 !important;\\r\\n}\\r\\n\\r\\n.session-container.horizontal .session-layout > .ui.divider {\\r\\n margin: 5px 0px 0px 0px;\\r\\n}\\r\\n\\r\\n.session-container.vertical {\\r\\n padding: 15px;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n background-color: white;\\r\\n}\\r\\n\\r\\n.session-layout {\\r\\n flex: 100 100 auto;\\r\\n display: flex;\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n.session-container.horizontal .session-layout {\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.session-container.vertical .menu-bar {\\r\\n justify-content: space-between;\\r\\n margin: 0px !important;\\r\\n}\\r\\n\\r\\n.session-container.vertical .menu-bar .content-left {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.session-container.vertical .menu-bar .close-button.item:before {\\r\\n background: none !important;\\r\\n}\\r\\n\\r\\n.session-container.vertical .menu-bar .close-button.item {\\r\\n box-shadow: none !important;\\r\\n}\\r\\n\\r\\n.session-container.vertical .menu-bar .content-left > .ui.dropdown {\\r\\n float: left;\\r\\n}\\r\\n\\r\\n.session-container.vertical .menu-bar .content-left > .ui.dropdown .menu {\\r\\n max-height: calc(100vh - 140px);\\r\\n overflow-y: auto;\\r\\n overflow-x: hidden;\\r\\n max-width: calc(100vw - 30px);\\r\\n}\\r\\n\\r\\n.session-container.vertical .session-item .count.label {\\r\\n margin-left: 1em !important;\\r\\n}\\r\\n\\r\\n.session-container.vertical .session-header {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.session-container.vertical .session-header > div {\\r\\n max-width: 90%; /* Hack, auto width won't work without \\\"overflow: hidden\\\", but that would prevent viewing the menu items */\\r\\n padding: .82857143em 0.4285714em;\\r\\n line-height: 1.2;\\r\\n}\\r\\n\\r\\n.session-container.vertical .session-header > div:before {\\r\\n background: none !important;\\r\\n}\\r\\n\\r\\n.session-container.vertical .session-header > i {\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n.session-container.vertical .session-header .ui.dropdown > i {\\r\\n margin: 0px 5px;\\r\\n}\\r\\n\\r\\n/* Fix a few inconsistencies between 'icon' and 'icons' classnames */\\r\\n.session-container.horizontal .session-header .header > i,\\r\\n.session-container.vertical .session-header > i {\\r\\n width: inherit !important;\\r\\n font-size: 1.5em;\\r\\n}\\r\\n\\r\\n.session-container.horizontal .session-header .ui.header {\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.session-container.vertical .menu-bar {\\r\\n border-radius: 0px !important;\\r\\n padding-bottom: 0px;\\r\\n}\\r\\n\\r\\n.session-container, \\r\\n.session-layout, \\r\\n.session-container.horizontal .column {\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.session-container.horizontal .column > div {\\r\\n max-height: 100%;\\r\\n}\\r\\n\\r\\n.session-container .session-item {\\r\\n overflow: hidden;\\r\\n display: flex !important;\\r\\n align-items: center;\\r\\n padding: .68571429em .92857143em !important;\\r\\n height: 35px;\\r\\n}\\r\\n\\r\\n.session-container .session-item .session-status {\\r\\n float: none !important;\\r\\n margin: 0 .5em 0 0 !important;\\r\\n}\\r\\n\\r\\n.session-container .session-item .session-name {\\r\\n overflow: hidden;\\r\\n flex: 1 1 100%;\\r\\n line-height: 1.2;\\r\\n}\\r\\n\\r\\n.session-container .session-status {\\r\\n margin-right: 5px;\\r\\n margin-top: 3px;\\r\\n}\\r\\n\\r\\n.session-container.horizontal .menu-column {\\r\\n display: flex !important;\\r\\n flex-direction: column;\\r\\n padding-right: 0px !important;\\r\\n}\\r\\n\\r\\n.session-container.horizontal .menu-column .menu {\\r\\n width: initial !important;\\r\\n overflow-y: auto;\\r\\n padding-top: 10px;\\r\\n flex: 1;\\r\\n}\\r\\n\\r\\n.session-container.horizontal .menu-column .session-item span.session-name,\\r\\n.session-container .session-header .ui.dropdown .caption {\\r\\n overflow: hidden;\\r\\n white-space: nowrap;\\r\\n}\\r\\n\\r\\n.session-container .session-header .title .ui.dropdown {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.session-layout .sub.header {\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n.session-layout .sub.header img {\\r\\n vertical-align: text-top;\\r\\n}\\r\\n\\r\\n.session-footer .info-grid {\\r\\n margin-top: 7px !important;\\r\\n font-size: small;\\r\\n color: grey;\\r\\n display: flex;\\r\\n flex: 1;\\r\\n align-items: flex-end;\\r\\n}\\r\\n\\r\\n.session-footer .info-grid > div {\\r\\n flex: 1;\\r\\n}\\r\\n\\r\\n.session-footer .info-grid > div:last-child > div {\\r\\n float: right;\\r\\n}\\r\\n\\r\\n.session-footer .info-grid > div:only-child > div {\\r\\n float: inherit;\\r\\n}\\r\\n\\r\\n.session-footer .ui.checkbox {\\r\\n min-height: inherit !important;\\r\\n}\\r\\n\\r\\n.session-footer .divider {\\r\\n margin-top: 8px;\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n\\r\\n/* New session layout */\\r\\n.session.new {\\r\\n flex: 100 100 0%;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n overflow-y: hidden;\\r\\n margin-top: 20px;\\r\\n padding: 1px;\\r\\n}\\r\\n\\r\\n.session.new .recents {\\r\\n flex: 100 100 0%;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n margin-top: 20px;\\r\\n overflow-y: hidden;\\r\\n}\\r\\n\\r\\n.session.new .recents .list {\\r\\n padding: 3px 5px;\\r\\n flex: 100 100 0%;\\r\\n overflow-y: auto;\\r\\n overflow-x: hidden;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","import SocketService from 'services/SocketService';\r\n\r\nimport IconConstants from 'constants/IconConstants';\r\n\r\nimport * as API from 'types/api';\r\nimport * as UI from 'types/ui';\r\n\r\n\r\ntype SessionType = UI.SessionItemBase;\r\n\r\nexport default function (\r\n actions: UI.ActionListType<SessionType>, \r\n sessionsUrl: string, \r\n editAccess: API.AccessEnum\r\n) {\r\n const handleRemoveSession: UI.ActionHandler<SessionType> = (\r\n { data: session }\r\n ) => {\r\n return SocketService.delete(`${sessionsUrl}/${session.id}`);\r\n };\r\n \r\n const SessionActions: UI.ActionListType<SessionType> = {\r\n divider: null,\r\n removeSession: { \r\n displayName: 'Close',\r\n access: editAccess,\r\n icon: IconConstants.REMOVE,\r\n handler: handleRemoveSession,\r\n }\r\n };\r\n\r\n return Object.assign(actions, SessionActions);\r\n}","//import PropTypes from 'prop-types';\r\nimport * as React from 'react';\r\n\r\nimport LocalSettingStore from 'stores/LocalSettingStore';\r\nimport { LocalSettings } from 'constants/SettingConstants';\r\n\r\nimport * as UI from 'types/ui';\r\nimport { SessionChildProps } from 'routes/Sidebar/components/SessionLayout';\r\n\r\n\r\ntype SessionType = UI.SessionItemBase;\r\n\r\ninterface ActiveSessionDecoratorProps<SessionT extends SessionType, ActionT extends object> \r\n extends Pick<SessionChildProps<SessionT, ActionT>, 'session'> {\r\n\r\n sessionApi: UI.SessionActions<SessionT> & ActionT;\r\n //uiActions: \r\n //session: SessionT;\r\n}\r\n\r\n// This decorator will fire updates for currently active session\r\n// and set them as read\r\nexport default function <PropsT, SessionT extends SessionType, ActionT extends object = {}>(\r\n Component: React.ComponentType<PropsT>, \r\n useReadDelay: boolean = false\r\n) {\r\n class ActiveSessionDecorator extends React.Component<PropsT & ActiveSessionDecoratorProps<SessionT, ActionT>> {\r\n /*static propTypes = {\r\n session: PropTypes.any, // Required (cloned)\r\n actions: PropTypes.object, // Required (cloned)\r\n };*/\r\n\r\n readTimeout: number | undefined;\r\n\r\n setRead = (session: SessionT) => {\r\n this.props.sessionApi.setRead(session);\r\n this.readTimeout = undefined;\r\n }\r\n\r\n setSession = (session: SessionT | null) => {\r\n if (this.readTimeout) {\r\n // Set the previously active session as read\r\n clearTimeout(this.readTimeout);\r\n this.setRead(this.props.session);\r\n }\r\n\r\n this.props.sessionApi.sessionChanged(session);\r\n if (!session) {\r\n return;\r\n }\r\n\r\n const timeout = !useReadDelay ? 0 : LocalSettingStore.getValue<number>(LocalSettings.UNREAD_LABEL_DELAY) * 1000;\r\n this.readTimeout = window.setTimeout(() => this.setRead(session), timeout);\r\n }\r\n\r\n componentDidMount() {\r\n this.setSession(this.props.session);\r\n }\r\n\r\n componentWillUnmount() {\r\n this.setSession(null);\r\n }\r\n\r\n componentDidUpdate(prevProps: ActiveSessionDecoratorProps<SessionT, ActionT>) {\r\n if (this.props.session.id !== prevProps.session.id) {\r\n this.setSession(this.props.session);\r\n }\r\n }\r\n\r\n render() {\r\n return <Component { ...this.props }/>;\r\n }\r\n }\r\n\r\n return ActiveSessionDecorator;\r\n}\r\n","import * as React from 'react';\r\n\r\n\r\ninterface FooterItemProps {\r\n label?: string;\r\n text: string | React.ReactElement<any>;\r\n}\r\n\r\nexport const FooterItem: React.FC<FooterItemProps> = ({ label, text }) => (\r\n <div className=\"grid-item\">\r\n <div className=\"item-inner\">\r\n { !!label && typeof text === 'string' ? `${label}: ${text}` : text }\r\n </div>\r\n </div>\r\n);\r\n\r\nexport const SessionFooter: React.FC = ({ children }) => (\r\n <div className=\"session-footer\">\r\n <div className=\"ui footer divider\"/>\r\n <div className=\"info-grid ui\">\r\n { children }\r\n </div>\r\n </div>\r\n);","//import PropTypes from 'prop-types';\r\nimport * as React from 'react';\r\nimport { useMobileLayout } from 'utils/BrowserUtils';\r\n\r\nimport ActionButton from 'components/ActionButton';\r\nimport SectionedDropdown from 'components/semantic/SectionedDropdown';\r\nimport MenuSection from 'components/semantic/MenuSection';\r\nimport { MenuIcon } from 'components/menu/MenuIcon';\r\nimport { SessionMainLayoutProps } from './SessionLayout';\r\n\r\nimport * as UI from 'types/ui';\r\nimport { translate } from 'utils/TranslationUtils';\r\nimport IconConstants from 'constants/IconConstants';\r\n\r\n\r\ntype SessionDropdownProps<SessionT extends UI.SessionItemBase> = \r\n Pick<\r\n SessionMainLayoutProps<SessionT>, \r\n 'sessionMenuItems' | 'newButton' | 'unreadInfoStore' | 'listActionMenuGetter' | 't'\r\n >;\r\n\r\nconst SessionDropdown = <SessionT extends UI.SessionItemBase>({ \r\n sessionMenuItems, newButton, unreadInfoStore, listActionMenuGetter, t\r\n}: SessionDropdownProps<SessionT>) => (\r\n <SectionedDropdown \r\n triggerIcon={ <MenuIcon urgencies={ unreadInfoStore ? unreadInfoStore.getTotalUrgencies() : null } />}\r\n >\r\n <MenuSection caption={ translate('New', t, UI.Modules.COMMON) }>\r\n { newButton }\r\n </MenuSection>\r\n <MenuSection caption={ translate('Current sessions', t, UI.Modules.COMMON) }>\r\n { sessionMenuItems }\r\n </MenuSection>\r\n <MenuSection>\r\n { listActionMenuGetter() }\r\n </MenuSection>\r\n </SectionedDropdown>\r\n);\r\n\r\n\r\ntype CloseButtonProps<SessionT extends UI.SessionItemBase> = \r\n Pick<SessionMainLayoutProps<SessionT>, 'actions' | 'activeItem'>;\r\n\r\nconst CloseButton = <SessionT extends UI.SessionItemBase>(\r\n { actions, activeItem }: CloseButtonProps<SessionT>\r\n) => {\r\n if (!activeItem || useMobileLayout()) {\r\n return null;\r\n }\r\n\r\n return (\r\n <ActionButton \r\n className=\"basic small item close-button\"\r\n actions={ actions } \r\n actionId=\"removeSession\"\r\n itemData={ activeItem }\r\n icon={ IconConstants.CLOSE }\r\n //moduleId={ moduleId }\r\n />\r\n );\r\n};\r\n\r\ntype SessionItemHeaderProps = Pick<SessionMainLayoutProps<any>, 'itemHeaderIcon' | 'itemHeaderTitle'>;\r\n\r\nconst SessionItemHeader: React.FC<SessionItemHeaderProps> = ({ itemHeaderIcon, itemHeaderTitle }) => (\r\n <div className=\"session-header\">\r\n { itemHeaderIcon }\r\n { itemHeaderTitle }\r\n </div>\r\n);\r\n\r\nconst TopMenuLayout = <SessionT extends UI.SessionItemBase>(\r\n { children, onKeyDown, ...props }: SessionMainLayoutProps<SessionT>\r\n) => (\r\n <div \r\n className=\"session-container vertical\" \r\n onKeyDown={ onKeyDown } \r\n tabIndex={ 0 }\r\n >\r\n <div className=\"ui main menu menu-bar\">\r\n <div className=\"content-left\">\r\n <SessionDropdown { ...props }/>\r\n <SessionItemHeader { ...props }/>\r\n </div>\r\n <CloseButton { ...props }/>\r\n </div>\r\n\r\n <div className=\"session-layout\">\r\n { children }\r\n </div>\r\n </div>\r\n);\r\n\r\n/*TopMenuLayout.propTypes = {\r\n itemHeaderTitle: PropTypes.node.isRequired,\r\n itemHeaderIcon: PropTypes.node.isRequired,\r\n activeItem: PropTypes.object,\r\n newButton: PropTypes.node,\r\n sessionMenuItems: PropTypes.array.isRequired,\r\n closeAction: PropTypes.func.isRequired,\r\n listActionMenuGetter: PropTypes.func.isRequired,\r\n};*/\r\n\r\nexport default TopMenuLayout;\r\n","//import PropTypes from 'prop-types';\r\nimport * as React from 'react';\r\n\r\nimport LayoutHeader from 'components/semantic/LayoutHeader';\r\nimport { SessionMainLayoutProps } from './SessionLayout';\r\nimport { Grid } from 'components/semantic/Grid';\r\n\r\n\r\nconst SideMenuLayout: React.FC<SessionMainLayoutProps<any /*SessionT*/>> = ({ \r\n sessionMenuItems, newButton,\r\n itemHeaderIcon, itemHeaderTitle, children,\r\n itemHeaderDescription, onKeyDown,\r\n}) => {\r\n\r\n if (newButton) {\r\n newButton = React.cloneElement(newButton, { \r\n className: newButton.props.className + ' ui fluid button' \r\n });\r\n }\r\n\r\n return (\r\n <Grid \r\n className=\"session-container horizontal\" \r\n onKeyDown={ onKeyDown }\r\n tabIndex={ 0 }\r\n >\r\n <div className=\"four wide column menu-column\">\r\n { newButton }\r\n { !!sessionMenuItems.length && (\r\n <div className=\"ui vertical secondary menu\">\r\n { sessionMenuItems}\r\n </div>\r\n )\r\n }\r\n </div>\r\n <div className=\"twelve wide stretched column content-column session\">\r\n <div className=\"ui segment session-layout\">\r\n <LayoutHeader\r\n className=\"session-header\"\r\n icon={ itemHeaderIcon }\r\n title={ <div className=\"title\">{ itemHeaderTitle }</div> }\r\n subHeader={ itemHeaderDescription }\r\n />\r\n <div className=\"ui divider\" style={{ margin: '5px 0px 0px 0px' }}/>\r\n { children }\r\n </div>\r\n </div>\r\n </Grid>\r\n );\r\n};\r\n\r\n/*SideMenuLayout.propTypes = {\r\n newButton: PropTypes.node,\r\n sessionMenuItems: PropTypes.array.isRequired,\r\n\r\n itemHeaderTitle: PropTypes.node,\r\n itemHeaderIcon: PropTypes.node,\r\n itemHeaderDescription: PropTypes.node.isRequired,\r\n};*/\r\n\r\nexport default SideMenuLayout;\r\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./sessions.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./sessions.css\";\n export default content && content.locals ? content.locals : undefined;\n","//import PropTypes from 'prop-types';\r\nimport * as React from 'react';\r\nimport classNames from 'classnames';\r\n\r\nimport IconConstants from 'constants/IconConstants';\r\nimport RouterMenuItemLink from 'components/semantic/RouterMenuItemLink';\r\n\r\n\r\ntype PushHandler = () => void;\r\n\r\nconst onClick = (evt: React.SyntheticEvent, pushNew: PushHandler) => {\r\n evt.preventDefault();\r\n\r\n pushNew();\r\n};\r\n\r\n\r\ninterface SessionNewButtonProps {\r\n url: string;\r\n title: React.ReactNode;\r\n className?: string;\r\n pushNew: PushHandler;\r\n}\r\n\r\nconst SessionNewButton: React.FC<SessionNewButtonProps> = ({ url, title, pushNew, className }) => (\r\n <RouterMenuItemLink \r\n key=\"button-new\" \r\n className={ classNames('new', className) }\r\n icon={ IconConstants.CREATE }\r\n url={ url } \r\n onClick={ (evt: React.SyntheticEvent) => onClick(evt, pushNew) }\r\n >\r\n { title }\r\n </RouterMenuItemLink>\r\n);\r\n\r\n/*SessionNewButton.propTypes = {\r\n // Base URL of the section\r\n url: PropTypes.string.isRequired,\r\n\r\n // Title of the button\r\n title: PropTypes.node.isRequired,\r\n\r\n pushNew: PropTypes.func.isRequired,\r\n\r\n className: PropTypes.string,\r\n};*/\r\n\r\nexport default SessionNewButton;","//import PropTypes from 'prop-types';\r\nimport * as React from 'react';\r\n\r\nimport RouterMenuItemLink from 'components/semantic/RouterMenuItemLink';\r\n\r\nimport * as API from 'types/api';\r\nimport * as UI from 'types/ui';\r\n\r\n\r\ntype PushSessionHandler = (id: API.IdType) => void;\r\n\r\nconst onClickItem = (\r\n evt: React.SyntheticEvent, \r\n sessionItem: UI.SessionItemBase, \r\n pushSession: PushSessionHandler\r\n) => {\r\n evt.preventDefault();\r\n\r\n pushSession(sessionItem.id);\r\n};\r\n\r\ninterface SessionMenuItemProps {\r\n url: string;\r\n name: React.ReactNode;\r\n unreadInfoStore: any;\r\n status: React.ReactElement<any>;\r\n sessionItem: UI.SessionItemBase;\r\n\r\n pushSession: PushSessionHandler;\r\n}\r\n\r\nconst SessionMenuItem: React.FC<SessionMenuItemProps> = (\r\n { sessionItem, status, name, unreadInfoStore, url, pushSession }\r\n) => (\r\n <RouterMenuItemLink \r\n url={ url } \r\n className=\"session-item\" \r\n onClick={ (evt: React.SyntheticEvent) => onClickItem(evt, sessionItem, pushSession) }\r\n icon={ status }\r\n session={ sessionItem }\r\n unreadInfoStore={ unreadInfoStore }\r\n >\r\n <span className=\"session-name\">\r\n { name }\r\n </span>\r\n </RouterMenuItemLink>\r\n);\r\n\r\n/*SessionMenuItem.propTypes = {\r\n // Item URL\r\n url: PropTypes.string.isRequired,\r\n\r\n name: PropTypes.node.isRequired,\r\n\r\n unreadInfoStore: PropTypes.object.isRequired,\r\n\r\n status: PropTypes.node.isRequired,\r\n\r\n sessionItem: PropTypes.object.isRequired,\r\n\r\n pushSession: PropTypes.func.isRequired,\r\n};*/\r\n\r\nexport default SessionMenuItem;","import PropTypes from 'prop-types';\r\nimport * as React from 'react';\r\nimport { Route, RouteComponentProps } from 'react-router-dom';\r\nimport invariant from 'invariant';\r\n\r\nimport History from 'utils/History';\r\nimport Loader from 'components/semantic/Loader';\r\n\r\nimport TopMenuLayout from './TopMenuLayout';\r\nimport SideMenuLayout from './SideMenuLayout';\r\n\r\nimport '../sessions.css';\r\n\r\nimport { ActionMenu } from 'components/menu';\r\nimport SessionNewButton from './SessionNewButton';\r\nimport SessionMenuItem from './SessionMenuItem';\r\n\r\nimport Icon, { IconType } from 'components/semantic/Icon';\r\nimport Message from 'components/semantic/Message';\r\n\r\nimport LoginStore from 'stores/LoginStore';\r\nimport { loadLocalProperty, saveLocalProperty, useMobileLayout } from 'utils/BrowserUtils';\r\n\r\nimport IconConstants from 'constants/IconConstants';\r\nimport MenuItemLink from 'components/semantic/MenuItemLink';\r\n\r\nimport * as API from 'types/api';\r\nimport * as UI from 'types/ui';\r\nimport { getModuleT, translate, toI18nKey } from 'utils/TranslationUtils';\r\nimport { TFunction } from 'i18next';\r\nimport { LayoutWidthContext, LayoutWidthContextType } from 'context/LayoutWidthContext';\r\n\r\n\r\n\r\nexport type SessionBaseType = UI.SessionItemBase;\r\n\r\nconst findItem = <SessionT extends SessionBaseType>(items: SessionT[], id: API.IdType | null): SessionT | undefined => {\r\n return items.find(item => item.id === id);\r\n};\r\n\r\nexport interface SessionLayoutProps<\r\n SessionT extends SessionBaseType = SessionBaseType,\r\n SessionApiT extends object = {},\r\n UIActionT extends UI.ActionListType<UI.SessionItemBase> = {}\r\n> extends UI.SessionInfoGetter<SessionT>, Omit<RouteComponentProps, 'match'> {\r\n // Unique ID of the section (used for storing and loading the previously open tab)\r\n baseUrl: string;\r\n\r\n // Array of the items to list\r\n items: SessionT[];\r\n\r\n // Session actions (should contain 'removeSession')\r\n /*actions: UI.ModuleActions<SessionT> & {\r\n actions: UI.SessionUIActions<SessionT, ActionT>;\r\n };*/\r\n\r\n uiActions: UI.ModuleActions<SessionT, UIActionT>;\r\n sessionApi: UI.SessionActions<SessionT> & SessionApiT;\r\n\r\n // Session actions to show in the action menu\r\n actionIds?: string[];\r\n\r\n // Item ID that is currently active (if any)\r\n activeId: API.IdType | null;\r\n\r\n // Label for button that opens a new session\r\n newCaption?: React.ReactNode;\r\n\r\n // Label for button that opens a new session\r\n newDescription?: React.ReactNode;\r\n\r\n // Label for button that opens a new session\r\n newIcon?: IconType;\r\n\r\n // Set to false if the side menu should never be shown (the session will use all width that is available)\r\n disableSideMenu?: boolean;\r\n\r\n // AccessConstant defining whether the user has edit permission \r\n editAccess: API.AccessEnum;\r\n\r\n sessionItemLayout: React.ComponentType<SessionChildProps<SessionT>>;\r\n\r\n newLayout?: React.ComponentType<NewSessionLayoutProps>;\r\n\r\n unreadInfoStore: any;\r\n \r\n t: TFunction;\r\n}\r\n\r\nexport interface SessionLocationState {\r\n pending?: boolean;\r\n}\r\n\r\nexport interface SessionMainLayoutProps<SessionT extends SessionBaseType, ActionT extends object = {}> extends \r\n Pick<SessionLayoutProps<SessionT>, 'unreadInfoStore'> {\r\n\r\n newButton: React.ReactElement<any> | null;\r\n listActionMenuGetter: () => React.ReactNode;\r\n sessionMenuItems: React.ReactNode[];\r\n //closeAction: UI.SessionActions<SessionT, ActionT>['removeSession'];\r\n activeItem: SessionT | null;\r\n\r\n itemHeaderTitle: React.ReactNode;\r\n itemHeaderDescription: React.ReactNode;\r\n itemHeaderIcon: IconType;\r\n onKeyDown: (event: React.KeyboardEvent) => void;\r\n children: React.ReactNode;\r\n\r\n //moduleId: string;\r\n actions: SessionLayoutProps<SessionT>['uiActions'];\r\n t: TFunction;\r\n}\r\n\r\ninterface State<SessionT extends SessionBaseType> {\r\n activeItem: SessionT | null;\r\n}\r\n\r\nexport type SessionChildProps<\r\n SessionT extends SessionBaseType, \r\n SessionApiT extends object = {}, \r\n UIActionsT extends UI.ActionListType<UI.SessionItemBase> = {}\r\n> = Pick<SessionLayoutProps<SessionT, SessionApiT, UIActionsT>, 'location' | 'sessionApi' | 'uiActions'> & \r\n { \r\n session: SessionT;\r\n sessionT: UI.ModuleTranslator;\r\n };\r\n\r\nexport interface NewSessionLayoutProps extends RouteComponentProps {\r\n sessionT: UI.ModuleTranslator;\r\n}\r\n\r\nclass SessionLayout<SessionT extends SessionBaseType, ActionT extends object> \r\n extends React.Component<SessionLayoutProps<SessionT, ActionT>, State<SessionT>> {\r\n\r\n static displayName = 'SessionLayout';\r\n\r\n static propTypes = {\r\n // Unique ID of the section (used for storing and loading the previously open tab)\r\n baseUrl: PropTypes.string.isRequired,\r\n\r\n // Location object\r\n location: PropTypes.object.isRequired,\r\n\r\n // Array of the items to list\r\n items: PropTypes.array.isRequired,\r\n\r\n // If no function is supplied, the item name will be used\r\n itemHeaderTitleGetter: PropTypes.func,\r\n\r\n // Function receiving an item object that returns the description (subheader) of the item\r\n itemHeaderDescriptionGetter: PropTypes.func.isRequired,\r\n\r\n // Function receiving an item object that returns icon for a item\r\n itemHeaderIconGetter: PropTypes.func.isRequired,\r\n\r\n // Store containing information about unread items\r\n unreadInfoStore: PropTypes.object,\r\n\r\n // Function receiving an item object that returns the display name\r\n itemNameGetter: PropTypes.func.isRequired,\r\n\r\n // Function receiving the circular color label in front of the item\r\n itemStatusGetter: PropTypes.func,\r\n\r\n // Session actions (should contain 'removeSession')\r\n uiActions: PropTypes.object.isRequired,\r\n\r\n // Session actions to show in the action menu\r\n actionIds: PropTypes.array,\r\n\r\n // Item ID that is currently active (if any)\r\n activeId: PropTypes.any,\r\n\r\n // Label for button that opens a new session\r\n newCaption: PropTypes.any,\r\n\r\n // Label for button that opens a new session\r\n newDescription: PropTypes.any,\r\n\r\n // Label for button that opens a new session\r\n newIcon: PropTypes.any,\r\n\r\n // Set to false if the side menu should never be shown (the session will use all width that is available)\r\n disableSideMenu: PropTypes.bool,\r\n\r\n // AccessConstant defining whether the user has edit permission \r\n editAccess: PropTypes.string.isRequired,\r\n\r\n sessionItemLayout: PropTypes.any.isRequired,\r\n\r\n newLayout: PropTypes.func,\r\n };\r\n\r\n state: State<SessionT> = {\r\n activeItem: null\r\n };\r\n\r\n static contextType = LayoutWidthContext;\r\n context: LayoutWidthContextType;\r\n\r\n // HELPERS\r\n getSessionUrl = (id: API.IdType) => {\r\n invariant(!!id, 'Trying to get session URL without a session');\r\n return `/${this.props.baseUrl}/session/${id}`;\r\n }\r\n\r\n getNewUrl = () => {\r\n return `/${this.props.baseUrl}/new`;\r\n }\r\n\r\n getStorageKey = (props: SessionLayoutProps<SessionT>) => {\r\n return `${props.baseUrl}_last_active`;\r\n }\r\n\r\n pushSession = (id: API.IdType) => {\r\n History.push(this.getSessionUrl(id));\r\n }\r\n\r\n replaceSession = (id: API.IdType) => {\r\n History.replace(this.getSessionUrl(id));\r\n }\r\n\r\n pushNew = () => {\r\n History.push(this.getNewUrl());\r\n }\r\n\r\n hasEditAccess = () => {\r\n return LoginStore.hasAccess(this.props.editAccess);\r\n }\r\n\r\n // LIFECYCLE/REACT\r\n UNSAFE_componentWillReceiveProps(nextProps: SessionLayoutProps<SessionT>) {\r\n if (nextProps.location.pathname === this.getNewUrl()) {\r\n // Don't redirect to it if the \"new session\" layout is open\r\n if (this.state.activeItem) {\r\n this.setState({ activeItem: null });\r\n }\r\n return;\r\n }\r\n\r\n if (this.checkActiveItem(nextProps)) {\r\n // We got an item\r\n return;\r\n }\r\n\r\n // The old tab was closed or we didn't have any session before\r\n\r\n\r\n let newItemPos = 0;\r\n const oldItem = findItem(this.props.items, this.props.activeId);\r\n if (oldItem) {\r\n // Find the old position and use the item in that position (if possible)\r\n newItemPos = this.props.items.indexOf(oldItem);\r\n if (newItemPos === this.props.items.length - 1) {\r\n // The last item was removed\r\n newItemPos = newItemPos - 1;\r\n }\r\n }\r\n\r\n this.replaceSession(nextProps.items[newItemPos].id);\r\n }\r\n\r\n // Common logic for selecting the item to display (after mounting or session updates)\r\n // Returns true active item selection was handled\r\n // Returns false if the active item couldn't be selected but there are valid items to choose from by the caller\r\n checkActiveItem = (props: SessionLayoutProps<SessionT>) => {\r\n // Did we just create this session?\r\n const routerLocation = props.location;\r\n const pending = routerLocation.state && (routerLocation.state as SessionLocationState).pending;\r\n\r\n // Update the active item\r\n const activeItem = findItem(props.items, props.activeId);\r\n if (activeItem) {\r\n if (pending) {\r\n // Disable pending state\r\n History.replace({\r\n //path: routerLocation.pathname,\r\n state: {\r\n pending: false,\r\n }\r\n });\r\n\r\n return true;\r\n }\r\n\r\n this.setState({ activeItem: activeItem });\r\n saveLocalProperty(this.getStorageKey(props), props.activeId);\r\n return true;\r\n } else if (pending) {\r\n // We'll just display a loading indicator in 'render', no item needed\r\n return true;\r\n } else if (/*routerLocation.action === 'POP' ||*/ props.items.length === 0) {\r\n // Browsing from history and item removed (or all items removed)... go to \"new session\" page\r\n History.replace(this.getNewUrl());\r\n this.setState({ activeItem: null });\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n onKeyDown = (event: React.KeyboardEvent) => {\r\n const { key, altKey } = event;\r\n\r\n if (altKey && (key === 'ArrowUp' || key === 'ArrowDown')) {\r\n // Arrow up/down\r\n event.preventDefault();\r\n\r\n const { items, activeId } = this.props;\r\n const item = findItem(items, activeId);\r\n if (!item) {\r\n return;\r\n }\r\n\r\n const currentIndex = items.indexOf(item);\r\n if (currentIndex === -1) {\r\n return;\r\n }\r\n\r\n const newSession = items[key === 'ArrowUp' ? currentIndex - 1 : currentIndex + 1];\r\n if (newSession) {\r\n this.pushSession(newSession.id);\r\n }\r\n } else if (altKey && key === 'Insert') {\r\n // Insert\r\n event.preventDefault();\r\n\r\n History.replace(this.getNewUrl());\r\n } else if (altKey && key === 'Delete') {\r\n // Delete\r\n event.preventDefault();\r\n\r\n const { items, activeId, sessionApi } = this.props;\r\n const item = findItem(items, activeId);\r\n if (!!item) {\r\n sessionApi.removeSession(item);\r\n }\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n // Opening an item directly? Or no items?\r\n if (this.checkActiveItem(this.props)) {\r\n return;\r\n }\r\n\r\n // See if we have something stored\r\n let lastId = loadLocalProperty<API.IdType>(this.getStorageKey(this.props));\r\n if (lastId && findItem(this.props.items, lastId)) {\r\n // Previous session exists\r\n this.replaceSession(lastId);\r\n } else if (this.props.items.length > 0) {\r\n // Load the first session\r\n this.replaceSession(this.props.items[0].id);\r\n }\r\n }\r\n\r\n // COMPONENT GETTERS\r\n getItemStatus = (sessionItem: SessionT) => {\r\n const { itemStatusGetter, itemHeaderIconGetter } = this.props;\r\n if (itemStatusGetter) {\r\n return <div className={ 'ui session-status empty circular left mini label ' + itemStatusGetter(sessionItem) }/>;\r\n }\r\n\r\n return <Icon icon={ itemHeaderIconGetter(sessionItem) }/>;\r\n }\r\n\r\n getSessionMenuItem = (sessionItem: SessionT) => {\r\n return (\r\n <SessionMenuItem \r\n key={ sessionItem.id } \r\n url={ this.getSessionUrl(sessionItem.id) }\r\n name={ this.props.itemNameGetter(sessionItem) }\r\n unreadInfoStore={ this.props.unreadInfoStore }\r\n status={ this.getItemStatus(sessionItem) }\r\n sessionItem={ sessionItem }\r\n pushSession={ this.pushSession }\r\n />\r\n );\r\n }\r\n\r\n getItemHeaderTitle = () => {\r\n const { uiActions, actionIds, itemNameGetter, itemHeaderTitleGetter } = this.props;\r\n\r\n const { activeItem } = this.state;\r\n if (!activeItem) {\r\n return <div>{ this.props.newCaption }</div>;\r\n }\r\n\r\n let ids;\r\n if (actionIds) {\r\n ids = [ ...actionIds, 'divider', 'removeSession' ];\r\n }\r\n\r\n const actionMenu = (\r\n <ActionMenu \r\n caption={ itemNameGetter(activeItem) }\r\n actions={ uiActions }\r\n itemData={ activeItem }\r\n ids={ ids }\r\n />\r\n );\r\n\r\n // Use the header getter only if there is a getter that returns a valid value\r\n if (itemHeaderTitleGetter) {\r\n const header = itemHeaderTitleGetter(activeItem, this.props.location, actionMenu);\r\n if (header) {\r\n return header;\r\n }\r\n }\r\n\r\n return actionMenu;\r\n }\r\n\r\n getItemHeaderDescription = () => {\r\n const { activeItem } = this.state;\r\n const { itemHeaderDescriptionGetter, newDescription } = this.props;\r\n if (!activeItem) {\r\n return newDescription;\r\n }\r\n\r\n return itemHeaderDescriptionGetter(activeItem);\r\n }\r\n\r\n getItemHeaderIcon = () => {\r\n const { activeItem } = this.state;\r\n const { itemHeaderIconGetter, newIcon } = this.props;\r\n return <Icon icon={ activeItem ? itemHeaderIconGetter(activeItem) : newIcon }/>;\r\n }\r\n\r\n getNewButton = () => {\r\n if (!this.hasEditAccess() || !this.props.newCaption) {\r\n return null;\r\n }\r\n\r\n return (\r\n <SessionNewButton \r\n key=\"new-button\" \r\n title={ this.props.newCaption } \r\n url={ this.getNewUrl() } \r\n pushNew={ this.pushNew }\r\n />\r\n );\r\n }\r\n\r\n handleCloseAll = () => {\r\n const { sessionApi, items } = this.props;\r\n items.forEach(session => sessionApi.removeSession(session));\r\n }\r\n\r\n getListActionMenu = () => {\r\n const { items, t } = this.props;\r\n if (!this.hasEditAccess() || items.length === 0) {\r\n return null;\r\n }\r\n\r\n return (\r\n <MenuItemLink \r\n key=\"close\"\r\n onClick={ this.handleCloseAll }\r\n icon={ IconConstants.REMOVE }\r\n >\r\n { translate('Close all', t, UI.Modules.COMMON) }\r\n </MenuItemLink>\r\n );\r\n }\r\n\r\n sessionT = getModuleT(this.props.t, this.props.uiActions.moduleId);\r\n render() {\r\n const { \r\n disableSideMenu, /*width,*/ items, unreadInfoStore, location, t, sessionApi,\r\n uiActions, newLayout: NewLayout, sessionItemLayout: SessionItemLayout, activeId \r\n } = this.props;\r\n \r\n if (!this.hasEditAccess() && items.length === 0) {\r\n // Nothing to show\r\n return (\r\n <Message \r\n title={ translate('No items to show', t, UI.Modules.COMMON) } \r\n description={ t<string>(\r\n toI18nKey('noSessionEditAccess', UI.Modules.COMMON), \r\n `You aren't allowed to open new sessions`\r\n ) }\r\n />\r\n );\r\n }\r\n\r\n const { activeItem } = this.state;\r\n const useTopMenu = disableSideMenu || useMobileLayout(this.context);\r\n\r\n const Component = useTopMenu ? TopMenuLayout : SideMenuLayout;\r\n return (\r\n <Component \r\n itemHeaderTitle={ this.getItemHeaderTitle() }\r\n itemHeaderDescription={ this.getItemHeaderDescription() }\r\n itemHeaderIcon={ this.getItemHeaderIcon() }\r\n\r\n activeItem={ activeItem }\r\n unreadInfoStore={ unreadInfoStore }\r\n //closeAction={ actions.actions.removeSession }\r\n newButton={ this.getNewButton() }\r\n sessionMenuItems={ items.map(this.getSessionMenuItem) }\r\n listActionMenuGetter={ this.getListActionMenu }\r\n onKeyDown={ this.onKeyDown }\r\n //moduleId={ actions.moduleId }\r\n actions={ uiActions }\r\n t={ t }\r\n >\r\n <Route\r\n path={ this.getSessionUrl(':id') }\r\n render={ props => {\r\n if (!activeItem) {\r\n const { state } = this.props.location;\r\n if (!!state && (state as SessionLocationState).pending) {\r\n // The session was just created\r\n return <Loader text={ translate('Waiting for server response', t, UI.Modules.COMMON) }/>;\r\n } else if (activeId || items.length !== 0) {\r\n // Redirecting to a new page\r\n return <Loader text={ translate('Loading session', t, UI.Modules.COMMON) }/>;\r\n }\r\n\r\n console.error('SessionLayout route: active session missing');\r\n return;\r\n }\r\n\r\n // We have a session\r\n return (\r\n <SessionItemLayout\r\n session={ activeItem }\r\n sessionApi={ sessionApi }\r\n uiActions={ uiActions }\r\n location={ location }\r\n sessionT={ this.sessionT }\r\n />\r\n );\r\n } }\r\n />\r\n { !!NewLayout && (\r\n <Route\r\n path={ this.getNewUrl() }\r\n render={ props => (\r\n <NewLayout\r\n { ...props }\r\n sessionT={ this.sessionT }\r\n />\r\n ) }\r\n /> \r\n ) }\r\n </Component>\r\n );\r\n }\r\n}\r\n\r\nexport default SessionLayout;\r\n","import * as React from 'react';\r\n\r\nimport Loader from 'components/semantic/Loader';\r\nimport { useStore } from 'effects/StoreListenerEffect';\r\n\r\nimport * as UI from 'types/ui';\r\n\r\nimport { useTranslation } from 'react-i18next';\r\nimport { translate } from 'utils/TranslationUtils';\r\nimport { TFunction } from 'i18next';\r\n\r\n\r\nexport type SessionProviderDecoratorProps = UI.SessionRouteProps;\r\n\r\nexport interface SessionProviderDecoratorChildProps<SessionT extends object> extends UI.SessionRouteProps {\r\n items: SessionT[];\r\n t: TFunction;\r\n}\r\n\r\nconst SessionProviderDecorator = <SessionT extends object, PropsT extends object>(\r\n Component: React.ComponentType<PropsT & SessionProviderDecoratorChildProps<SessionT>>,\r\n store: any\r\n) => {\r\n const Decorator = (props: SessionProviderDecoratorProps & PropsT) => {\r\n const { t } = useTranslation();\r\n const sessions = useStore<SessionT[]>(store);\r\n if (!store.isInitialized()) {\r\n return <Loader text={ translate('Loading sessions', t, UI.Modules.COMMON) }/>;\r\n }\r\n\r\n return (\r\n <Component \r\n items={ sessions }\r\n t={ t }\r\n { ...props }\r\n />\r\n );\r\n };\r\n\r\n return Decorator;\r\n};\r\n\r\nexport { SessionProviderDecorator };\r\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","actions","sessionsUrl","editAccess","SessionActions","divider","removeSession","displayName","access","icon","handler","data","session","Object","assign","Component","useReadDelay","ActiveSessionDecorator","setRead","this","props","sessionApi","readTimeout","undefined","setSession","clearTimeout","sessionChanged","timeout","window","setTimeout","componentDidMount","componentWillUnmount","componentDidUpdate","prevProps","render","FooterItem","label","text","className","SessionFooter","children","SessionDropdown","sessionMenuItems","newButton","unreadInfoStore","listActionMenuGetter","t","SectionedDropdown","triggerIcon","MenuIcon","urgencies","getTotalUrgencies","MenuSection","caption","CloseButton","activeItem","ActionButton","actionId","itemData","IconConstants","SessionItemHeader","itemHeaderIcon","itemHeaderTitle","onKeyDown","tabIndex","itemHeaderDescription","Grid","length","LayoutHeader","title","subHeader","style","margin","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","url","pushNew","RouterMenuItemLink","onClick","evt","preventDefault","sessionItem","status","name","pushSession","onClickItem","findItem","items","find","item","SessionLayout","state","getSessionUrl","baseUrl","getNewUrl","getStorageKey","History","replaceSession","hasEditAccess","LoginStore","checkActiveItem","routerLocation","location","pending","activeId","setState","event","key","altKey","currentIndex","indexOf","newSession","getItemStatus","itemStatusGetter","itemHeaderIconGetter","Icon","getSessionMenuItem","itemNameGetter","getItemHeaderTitle","uiActions","actionIds","itemHeaderTitleGetter","newCaption","ids","actionMenu","header","getItemHeaderDescription","itemHeaderDescriptionGetter","newDescription","getItemHeaderIcon","newIcon","getNewButton","handleCloseAll","forEach","getListActionMenu","MenuItemLink","sessionT","moduleId","UNSAFE_componentWillReceiveProps","nextProps","pathname","newItemPos","oldItem","lastId","disableSideMenu","newLayout","NewLayout","sessionItemLayout","SessionItemLayout","Message","description","context","map","path","Loader","console","error","propTypes","contextType","LayoutWidthContext","SessionProviderDecorator","store","sessions","isInitialized"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkairdcpp_webui=self.webpackChunkairdcpp_webui||[]).push([[69],{58363:(e,t)=>{t.Z=function(e,t){if(e&&t){var n=Array.isArray(t)?t:t.split(","),r=e.name||"",o=(e.type||"").toLowerCase(),i=o.replace(/\/.*$/,"");return n.some((function(e){var t=e.trim().toLowerCase();return"."===t.charAt(0)?r.toLowerCase().endsWith(t):t.endsWith("/*")?i===t.replace(/\/.*$/,""):o===t}))}return!0}},8985:(e,t,n)=>{n.d(t,{Z:()=>u});var r=n(94015),o=n.n(r),i=n(23645),s=n.n(i)()(o());s.push([e.id,'/* Layout */\r\n\r\n.chat.session,\r\n.chat.session .message-view {\r\n flex: 100 100 0%;\r\n display: flex;\r\n flex-direction: column;\r\n overflow-y: hidden;\r\n}\r\n\r\n.chat.session .message-list {\r\n margin: 10px 10px 10px 0px;\r\n}\r\n\r\n.chat.session .message-view > .ui.message {\r\n margin: 10px 0px 0px 0px;\r\n}\r\n\r\n\r\n/* Composer */\r\n.chat.session .composer {\r\n display: flex;\r\n}\r\n\r\n.chat.session .composer:focus {\r\n outline: none;\r\n}\r\n\r\n.chat.session .composer textarea, \r\n.chat.session .composer textarea:focus {\r\n resize: none;\r\n border-radius: .28571429rem 0 0 .28571429rem;\r\n margin-left: 1px;\r\n}\r\n\r\n.chat.session .composer .button {\r\n border-radius: 0 .28571429rem .28571429rem 0;\r\n width: 45px;\r\n margin: 0px;\r\n}\r\n\r\n.chat.session .composer.large .actions.button .caption {\r\n display: flex !important;\r\n align-items: center !important;\r\n opacity: 0.9;\r\n}\r\n\r\n#mobile-layout .chat.session .composer > .input {\r\n width: 100%;\r\n}\r\n\r\n#normal-layout .chat.session .composer > .input {\r\n /* Leave some empty space to the right for better styling with ugly native scrollbars (especially with Firefox) */\r\n width: calc(100% - 60px);\r\n}\r\n\r\n\r\n/* Messages common */\r\n.chat.session .item .time {\r\n float:right;\r\n color: lightgray;\r\n font-size: small;\r\n}\r\n\r\n.chat.session .status.item > .text,\r\n.chat.session .chat.item .left > .text {\r\n /* Avoid cutting text from the bottom with certain browser because of "overflow: hidden" */\r\n line-height: initial !important;\r\n \r\n overflow: hidden;\r\n white-space: pre-wrap;\r\n flex: 1;\r\n}\r\n\r\n/* Chat messages */\r\n.chat.session .chat.item {\r\n margin-top: 5px;\r\n}\r\n\r\n.chat.session .chat.item .author {\r\n float: left;\r\n}\r\n\r\n.chat.session .chat.item .left {\r\n display: flex;\r\n}\r\n\r\n.chat.session .chat.item .left:not(.third-person) {\r\n flex-direction: column;\r\n}\r\n\r\n.chat.session .chat.item .left.third-person > .text {\r\n float: left;\r\n margin-left: 3px;\r\n}\r\n\r\n.chat.session .chat.item img {\r\n vertical-align: middle;\r\n}\r\n\r\n.chat.session .chat.item .third-person .author .ui.dropdown {\r\n margin-left: 3px;\r\n}\r\n\r\n.chat.session .chat.item .author .caption {\r\n color: steelblue !important;\r\n}\r\n\r\n.chat.session .chat.item.op .author .caption {\r\n color: darkgoldenrod !important;\r\n}\r\n\r\n.chat.session .chat.item.self .author .caption {\r\n color: black !important;\r\n}\r\n\r\n.chat.session .chat.item.bot .author .caption {\r\n color: rgba(0,0,0,.40) !important;\r\n}\r\n\r\n\r\n/* Status messages */\r\n.chat.session .status.item {\r\n width: 100%;\r\n display: flex !important;\r\n flex-direction: row-reverse;\r\n}\r\n\r\n.chat.session .status.item > .text {\r\n font-size: small;\r\n color: rgba(0,0,0,.50);\r\n float: left;\r\n}\r\n\r\n.chat.session .status.item i {\r\n display: none !important;\r\n}\r\n\r\n.chat.session .status.item.warning > .text {\r\n color: orange;\r\n}\r\n\r\n.chat.session .status.item.error > .text {\r\n color: red;\r\n}',"",{version:3,sources:["webpack://./src/routes/Sidebar/components/chat/chat.css"],names:[],mappings:"AAAA,WAAW;;AAEX;;EAEE,gBAAgB;EAChB,aAAa;EACb,sBAAsB;EACtB,kBAAkB;AACpB;;AAEA;EACE,0BAA0B;AAC5B;;AAEA;EACE,wBAAwB;AAC1B;;;AAGA,aAAa;AACb;EACE,aAAa;AACf;;AAEA;EACE,aAAa;AACf;;AAEA;;EAEE,YAAY;EACZ,4CAA4C;EAC5C,gBAAgB;AAClB;;AAEA;EACE,4CAA4C;EAC5C,WAAW;EACX,WAAW;AACb;;AAEA;EACE,wBAAwB;EACxB,8BAA8B;EAC9B,YAAY;AACd;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,iHAAiH;EACjH,wBAAwB;AAC1B;;;AAGA,oBAAoB;AACpB;EACE,WAAW;EACX,gBAAgB;EAChB,gBAAgB;AAClB;;AAEA;;EAEE,0FAA0F;EAC1F,+BAA+B;;EAE/B,gBAAgB;EAChB,qBAAqB;EACrB,OAAO;AACT;;AAEA,kBAAkB;AAClB;EACE,eAAe;AACjB;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,sBAAsB;AACxB;;AAEA;EACE,WAAW;EACX,gBAAgB;AAClB;;AAEA;EACE,sBAAsB;AACxB;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,2BAA2B;AAC7B;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,uBAAuB;AACzB;;AAEA;EACE,iCAAiC;AACnC;;;AAGA,oBAAoB;AACpB;EACE,WAAW;EACX,wBAAwB;EACxB,2BAA2B;AAC7B;;AAEA;EACE,gBAAgB;EAChB,sBAAsB;EACtB,WAAW;AACb;;AAEA;EACE,wBAAwB;AAC1B;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,UAAU;AACZ",sourcesContent:['/* Layout */\r\n\r\n.chat.session,\r\n.chat.session .message-view {\r\n flex: 100 100 0%;\r\n display: flex;\r\n flex-direction: column;\r\n overflow-y: hidden;\r\n}\r\n\r\n.chat.session .message-list {\r\n margin: 10px 10px 10px 0px;\r\n}\r\n\r\n.chat.session .message-view > .ui.message {\r\n margin: 10px 0px 0px 0px;\r\n}\r\n\r\n\r\n/* Composer */\r\n.chat.session .composer {\r\n display: flex;\r\n}\r\n\r\n.chat.session .composer:focus {\r\n outline: none;\r\n}\r\n\r\n.chat.session .composer textarea, \r\n.chat.session .composer textarea:focus {\r\n resize: none;\r\n border-radius: .28571429rem 0 0 .28571429rem;\r\n margin-left: 1px;\r\n}\r\n\r\n.chat.session .composer .button {\r\n border-radius: 0 .28571429rem .28571429rem 0;\r\n width: 45px;\r\n margin: 0px;\r\n}\r\n\r\n.chat.session .composer.large .actions.button .caption {\r\n display: flex !important;\r\n align-items: center !important;\r\n opacity: 0.9;\r\n}\r\n\r\n#mobile-layout .chat.session .composer > .input {\r\n width: 100%;\r\n}\r\n\r\n#normal-layout .chat.session .composer > .input {\r\n /* Leave some empty space to the right for better styling with ugly native scrollbars (especially with Firefox) */\r\n width: calc(100% - 60px);\r\n}\r\n\r\n\r\n/* Messages common */\r\n.chat.session .item .time {\r\n float:right;\r\n color: lightgray;\r\n font-size: small;\r\n}\r\n\r\n.chat.session .status.item > .text,\r\n.chat.session .chat.item .left > .text {\r\n /* Avoid cutting text from the bottom with certain browser because of "overflow: hidden" */\r\n line-height: initial !important;\r\n \r\n overflow: hidden;\r\n white-space: pre-wrap;\r\n flex: 1;\r\n}\r\n\r\n/* Chat messages */\r\n.chat.session .chat.item {\r\n margin-top: 5px;\r\n}\r\n\r\n.chat.session .chat.item .author {\r\n float: left;\r\n}\r\n\r\n.chat.session .chat.item .left {\r\n display: flex;\r\n}\r\n\r\n.chat.session .chat.item .left:not(.third-person) {\r\n flex-direction: column;\r\n}\r\n\r\n.chat.session .chat.item .left.third-person > .text {\r\n float: left;\r\n margin-left: 3px;\r\n}\r\n\r\n.chat.session .chat.item img {\r\n vertical-align: middle;\r\n}\r\n\r\n.chat.session .chat.item .third-person .author .ui.dropdown {\r\n margin-left: 3px;\r\n}\r\n\r\n.chat.session .chat.item .author .caption {\r\n color: steelblue !important;\r\n}\r\n\r\n.chat.session .chat.item.op .author .caption {\r\n color: darkgoldenrod !important;\r\n}\r\n\r\n.chat.session .chat.item.self .author .caption {\r\n color: black !important;\r\n}\r\n\r\n.chat.session .chat.item.bot .author .caption {\r\n color: rgba(0,0,0,.40) !important;\r\n}\r\n\r\n\r\n/* Status messages */\r\n.chat.session .status.item {\r\n width: 100%;\r\n display: flex !important;\r\n flex-direction: row-reverse;\r\n}\r\n\r\n.chat.session .status.item > .text {\r\n font-size: small;\r\n color: rgba(0,0,0,.50);\r\n float: left;\r\n}\r\n\r\n.chat.session .status.item i {\r\n display: none !important;\r\n}\r\n\r\n.chat.session .status.item.warning > .text {\r\n color: orange;\r\n}\r\n\r\n.chat.session .status.item.error > .text {\r\n color: red;\r\n}'],sourceRoot:""}]);const u=s},50566:(e,t,n)=>{n.d(t,{Z:()=>i});var r=n(518),o=n(48117);function i(e,t,n){const i={clear:{displayName:"Clear chat",access:n,icon:o.Z.CLEAR,handler:({data:e})=>r.Z.delete(`${t}/${e.id}/messages`)}};return Object.assign(e,i)}},68325:(e,t,n)=>{n.d(t,{Z:()=>m});var r=n(85893),o=n(45697),i=n.n(o),s=n(67294),u=n(27835),a=n(32347),l=n(89116),c=n(8717),p=n(35936),f=n(48117);const d=e=>{const t=e.str.match(/TLSv([\d\.]+)/);return t&&2===t.length&&parseFloat(t[1])<1.2?{iconColor:"orange",messageColor:"red",message:"Outdated cryptographic protocol with known security vulnerabilities",cornerIcon:"orange warning",translationKey:"tlsOutdatedWarning"}:e.trusted?{iconColor:"green",messageColor:"green",message:"Authenticity of the certificate is validated",cornerIcon:"",translationKey:"tlsOk"}:{iconColor:"yellow",messageColor:"orange",message:"Authenticity of the certificate could not be validated",cornerIcon:"blue help",translationKey:"tlsAuthenticityWarning"}},g=({info:e,encryption:t})=>(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{children:t.str},void 0),(0,r.jsx)("p",Object.assign({style:{color:e.messageColor}},{children:(0,r.jsx)(l.c,Object.assign({i18nKey:(0,c.zS)(e.translationKey,a.jv.COMMON)},{children:e.message}),void 0)}),void 0)]},void 0);class h extends s.PureComponent{constructor(){super(...arguments),this.getChildren=()=>{const{encryption:e}=this.props,t=d(e);return(0,r.jsx)(g,{info:t,encryption:e},void 0)}}render(){const{encryption:e,alwaysVisible:t,boundary:n}=this.props;if(!e)return!!t&&(0,r.jsx)(p.Z,{color:"grey",icon:f.Z.LOCK},void 0);const o=d(e);return(0,r.jsx)(u.Z,Object.assign({triggerClassName:"encryption",className:"basic encryption content",trigger:(0,r.jsx)(p.Z,{color:o.iconColor,icon:f.Z.LOCK,cornerIcon:o.cornerIcon},void 0),settings:{boundary:n}},{children:this.getChildren}),void 0)}}h.propTypes={encryption:i().object,boundary:i().string,alwaysVisible:i().bool};const m=h},87136:(e,t,n)=>{n.d(t,{Gj:()=>u,vf:()=>a,wR:()=>h,yi:()=>m});var r=n(85893),o=n(67294);const i=e=>{const t=e.target.error;switch(t.code){case t.MEDIA_ERR_NETWORK:return"A network error caused the media download to fail";case t.MEDIA_ERR_DECODE:return"The media playback was aborted due to a corruption problem or because the media used features your browser did not support";case t.MEDIA_ERR_SRC_NOT_SUPPORTED:return"The media could not be loaded, either because the file was not found, network failed or because the format is not supported by your browser";default:return"An unknown media error occurred"}};function s(e){class t extends o.Component{constructor(){super(...arguments),this.state={error:null},this.onMediaError=e=>{this.setState({error:i(e)})},this.setMediaRef=e=>{this.media=e}}componentDidUpdate(e){e.url!==this.props.url&&(this.media&&this.media.load(),this.setState({error:null}))}render(){if(this.state.error)return(0,r.jsx)("div",{children:this.state.error},void 0);const{url:t,autoPlay:n}=this.props,o={onError:this.onMediaError,autoPlay:n,controls:!0,src:t};return(0,r.jsx)(e,Object.assign({},this.props,{mediaRef:this.setMediaRef,mediaProps:o}),void 0)}}return t}const u=s((({mediaRef:e,mediaProps:t})=>(0,r.jsx)("audio",Object.assign({ref:e,style:{maxWidth:"100%",maxHeight:"100%"}},t),void 0))),a=({url:e})=>(0,r.jsx)("img",{src:e,style:{maxWidth:"100%",maxHeight:"100%"}},void 0);var l=n(64935),c=n(27695),p=n(32347),f=n(8717),d=n(26793),g=n(54883);const h=({textGetter:e,url:t})=>{const[n,i]=(0,o.useState)(null),[s,u]=(0,o.useState)(null),{t:a}=(0,d.$)();return(0,o.useEffect)((()=>(e().then(i).catch(u),()=>{i(null),u(null)})),[t]),n?(0,r.jsx)("pre",{children:(0,r.jsx)(l.lB,{text:n},void 0)},void 0):s?(0,r.jsx)(c.Z,{title:(0,f.Iu)("Failed to fetch content",a,p.jv.COMMON),description:s.message},void 0):(0,r.jsx)(g.Z,{},void 0)},m=s((({mediaRef:e,mediaProps:t})=>(0,r.jsx)("video",Object.assign({ref:t=>e(t),style:{maxWidth:"100%",maxHeight:"100%"}},t),void 0)))},3267:(e,t,n)=>{n.d(t,{Z:()=>p});var r=n(85893),o=(n(67294),n(42090)),i=n(2445),s=n(91462),u=n(60026),a=n(15479),l=n(32347),c=n(8717);const p=(0,o.Z)((({entries:e,entryTitleRenderer:t,hasSession:n,entryIcon:o,t:a})=>0===e.length?null:(0,r.jsxs)("div",Object.assign({className:"recents"},{children:[(0,r.jsx)(s.Z,{title:(0,c.Iu)("Recent sessions",a,l.jv.COMMON),size:""},void 0),(0,r.jsx)("div",Object.assign({className:"ui relaxed divided list"},{children:e.map(((e,s)=>(0,r.jsx)(u.H,{header:t(e),description:!!e.last_opened&&a((0,c.zS)("openedAgo",l.jv.COMMON),{defaultValue:"Opened {{timeAgo}}",replace:{timeAgo:(0,i.SY)(e.last_opened)}}),icon:(n(e)?"green ":"")+o},s)))}),void 0)]}),void 0)),{urls:{entries:({entryType:e},t)=>t.get(`${a.ZP.SESSIONS_URL}/${e}/0`)}})},40479:(e,t,n)=>{n.d(t,{Z:()=>Mn});var r=n(85893),o=n(67294),i=n(27695),s=n(94184),u=n.n(s);function a(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function l(){return(l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function p(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function f(e,t,n){return t&&p(e.prototype,t),n&&p(e,n),e}function d(e){return(d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function g(e){return(g="function"==typeof Symbol&&"symbol"===d(Symbol.iterator)?function(e){return d(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":d(e)})(e)}function h(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function m(e,t){return!t||"object"!==g(t)&&"function"!=typeof t?h(e):t}function E(e){return(E=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function A(e,t){return(A=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function v(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&A(e,t)}function y(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var b=n(41143),C=n.n(b);var x=n(4942),O=n(42982),S=function(e){return e===Object(e)?Object.keys(e):[]},D=function(e){return e===Object(e)?Object.values(e):[]};function F(e,t){var n=Object.assign({},e);return B(e)&&B(t)&&S(t).forEach((function(r){B(t[r])&&r in e?n[r]=F(e[r],t[r]):Object.assign(n,(0,x.Z)({},r,t[r]))})),n}var w=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return n.reduce((function(e,t){return F(e,t)}),e)},j=function(e,t){var n=Object.assign({},e);if(t)for(var r=0;r<t.length;r++)delete n[t[r]];return n},B=function(e){return!(e!==Object(e)||e instanceof Date||Array.isArray(e))},P=function(e){return(e||[]).filter(Boolean)},T=function(e){return"&"===e[0]},R=function(e){return!T(e)},k=function(e){return e.replace(/-(\w)/g,(function(e,t){return t.toUpperCase()}))},L=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=S(e),r={},o=0,i=n.length;o<i;o+=1){var s=n[o],u="[object Object]"!==Object.prototype.toString.call(e[s])||":"===s[0]||"@"===s[0]||t.indexOf(s)>=0;u&&(r[s]=e[s])}return r},I=function(e,t){for(var n=t.map(k),r=S(e),o={},i=0,s=r.length;i<s;i+=1){var u=r[i];(t.indexOf(u)>=0||n.indexOf(k(u))>=0)&&(o[u]=e[u])}return o},_=function e(t,n){for(var r=w.apply(void 0,[{},j(t,n)].concat((0,O.Z)(D(I(t,n))))),o=S(r).filter(T),i=0,s=o.length;i<s;i+=1){var u=o[i],a=e(r[u],n);n.indexOf(u)>=0?(delete r[u],r=w({},r,a)):r[u]=a}return r};function M(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Z(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?M(Object(n),!0).forEach((function(t){(0,x.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):M(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var N=["animationName"];const z=function(e){var t=e.style,n=e.className;return Z(Z({},t?{style:L(t,N)}:{}),n?{className:n}:{})};var U=(0,o.createContext)(z);U.Provider;const H=function(e){if(!e)return[];if("string"==typeof e)return[e];if(!Array.isArray(e)){var t=e;return S(e).reduce((function(e,n){return e.concat(t[n]?[n]:[])}),[])}return e};var q={};const W=function(e){return function(t,n){var r,o=n||q;e.memoize=e.memoize||new WeakMap,e.memoize.has(o)?r=e.memoize.get(o):(r={},e.memoize.set(o,r));var i=H(t).join(" ");return i in r?r[i]:r[i]=e(t||[],n)}};function K(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function $(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?K(Object(n),!0).forEach((function(t){(0,x.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):K(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var V=function(e){var t=e&&S(e)[0];return t&&t.split("__")[0].split("--")[0]},G=function(e,t,n){if(e){var r=e.split(" ")[0],o=[].concat((0,O.Z)(0===t.length?n.map((function(e){return"".concat(r,"--").concat(e.substring(1))})):[]),(0,O.Z)(t.map((function(e){return"".concat(r,"__").concat(e)}))));return 0===t.length?[e].concat((0,O.Z)(o)):o}};const Y=function e(t){var n=t.style,r=t.className,o=t.classNames,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:z,s=r||V(o)||(null==n?void 0:n.className),u="function"==typeof n?n:W((function(t,r){var u=H(t);C()(Array.isArray(u),"First parameter must be a string, an array of strings, a plain object with boolean values, or a falsy value."),C()(!r||B(r),"Optional second parameter must be a plain object.");var a=u.filter(T),l=u.filter(R),c=l.length>0?function(e){return D(I(e,l))}:function(e){return[e]},p=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return c(_(e,a))},f=G(s,l,a);return e($($($({},(n||r)&&{style:w.apply(void 0,[{}].concat((0,O.Z)(p(r)),(0,O.Z)(p(n))))}),f&&{className:f.join(" ")}),o&&{classNames:o}),i)})),a=$({},"function"==typeof n?n:{style:n}),l=(0,O.Z)(new Set([].concat((0,O.Z)(a.className?a.className.split(" "):[]),(0,O.Z)(s?s.split(" "):[])))),c=o?P(l.map((function(e){return o[e]}))):l,p=i($($({},a),c.length>0?{className:c.join(" ")}:{}));return Object.assign(u,p),u},X=function(e,t,n){var r=t.style,i=t.className,s=t.classNames,u=(0,o.useContext)(U);return(0,o.useMemo)((function(){return Y({style:r,className:i,classNames:s},u)}),[r,i,s,u])(n,e)};function Q(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function J(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Q(Object(n),!0).forEach((function(t){(0,x.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Q(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var ee=n(45697),te=n.n(ee),ne=n(73935),re=function(e){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},oe="__id__",ie="__display__",se=function(e,t){C()("id"===t||"display"===t,'Second arg must be either "id" or "display", got: "'.concat(t,'"'));var n=e.indexOf(ie),r=e.indexOf(oe);return n<0&&(n=null),r<0&&(r=null),C()(null!==n||null!==r,"The markup '".concat(e,"' does not contain either of the placeholders '__id__' or '__display__'")),null!==n&&null!==r?"id"===t&&r<=n||"display"===t&&n<=r?0:1:0},ue=function(e){var t=/^\/(.+)\/(\w+)?$/;return new RegExp(e.map((function(e){var n,r,o=(n=t.exec(e.toString()),r=3,function(e){if(Array.isArray(e))return e}(n)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var s,u=e[Symbol.iterator]();!(r=(s=u.next()).done)&&(n.push(s.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==u.return||u.return()}finally{if(o)throw i}}return n}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()),i=o[1],s=o[2];return C()(!s,"RegExp flags are not supported. Change /".concat(i,"/").concat(s," into /").concat(i,"/")),"(".concat(i,")")})).join("|"),"g")},ae=function(e){var t=0;return e.indexOf("__id__")>=0&&t++,e.indexOf("__display__")>=0&&t++,t},le=function(){},ce=function(e,t,n){for(var r,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:le,i=ue(t.map((function(e){return e.regex}))),s=2,u=t.map((function(e){var t=e.markup,n=s;return s+=ae(t)+1,n})),a=0,l=0;null!==(r=i.exec(e));){var c=u.find((function(e){return!!r[e]})),p=u.indexOf(c),f=t[p],d=f.markup,g=f.displayTransform,h=c+se(d,"id"),m=c+se(d,"display"),E=r[h],A=g(E,r[m]),v=e.substring(a,r.index);o(v,a,l),l+=v.length,n(r[0],r.index,l,E,A,p,a),l+=A.length,a=i.lastIndex}a<e.length&&o(e.substring(a),a,l)},pe=function(e,t){var n="";return ce(e,t,(function(e,t,r,o,i){n+=i}),(function(e){n+=e})),n},fe=function(e,t,n){var r,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"START";if("number"!=typeof n)return n;var i=function(e,t,o){void 0===r&&o+e.length>=n&&(r=t+n-o)},s=function(e,t,i,s,u,a,l){void 0===r&&i+u.length>n&&(r="NULL"===o?null:t+("END"===o?e.length:0))};return ce(e,t,s,i),void 0===r?e.length:r},de=function(e,t,n,r){return e.substring(0,t)+r+e.substring(n)},ge=function(e,t){var n=[];return ce(e,t,(function(e,t,r,o,i,s,u){n.push({id:o,display:i,childIndex:s,index:t,plainTextIndex:r})})),n},he=function(e,t){return"".concat(e,"-").concat(t)},me=function(e){return Object.values(e).reduce((function(e,t){return e+t.results.length}),0)},Ee=function(e){var t=re(e),n=e[e.indexOf(ie)+ie.length],r=e[e.indexOf(oe)+oe.length];return new RegExp(t.replace(ie,"([^".concat(re(n||""),"]+?)")).replace(oe,"([^".concat(re(r||""),"]+?)")))},Ae=function(e){return o.Children.toArray(e).map((function(e){var t=e.props,n=t.markup,r=t.regex,o=t.displayTransform;return{markup:n,regex:r?ve(r,n):Ee(n),displayTransform:o||function(e,t){return t||e}}}))},ve=function(e,t){var n=new RegExp(e.toString()+"|").exec("").length-1,r=ae(t);return C()(n===r,"Number of capturing groups in RegExp ".concat(e.toString()," (").concat(n,") does not match the number of placeholders in the markup '").concat(t,"' (").concat(r,")")),e},ye=[{base:"A",letters:/(A|Ⓐ|A|À|Á|Â|Ầ|Ấ|Ẫ|Ẩ|Ã|Ā|Ă|Ằ|Ắ|Ẵ|Ẳ|Ȧ|Ǡ|Ä|Ǟ|Ả|Å|Ǻ|Ǎ|Ȁ|Ȃ|Ạ|Ậ|Ặ|Ḁ|Ą|Ⱥ|Ɐ|[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F])/g},{base:"AA",letters:/(Ꜳ|[\uA732])/g},{base:"AE",letters:/(Æ|Ǽ|Ǣ|[\u00C6\u01FC\u01E2])/g},{base:"AO",letters:/(Ꜵ|[\uA734])/g},{base:"AU",letters:/(Ꜷ|[\uA736])/g},{base:"AV",letters:/(Ꜹ|Ꜻ|[\uA738\uA73A])/g},{base:"AY",letters:/(Ꜽ|[\uA73C])/g},{base:"B",letters:/(B|Ⓑ|B|Ḃ|Ḅ|Ḇ|Ƀ|Ƃ|Ɓ|[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181])/g},{base:"C",letters:/(C|Ⓒ|C|Ć|Ĉ|Ċ|Č|Ç|Ḉ|Ƈ|Ȼ|Ꜿ|[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E])/g},{base:"D",letters:/(D|Ⓓ|D|Ḋ|Ď|Ḍ|Ḑ|Ḓ|Ḏ|Đ|Ƌ|Ɗ|Ɖ|Ꝺ|Ð|[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779\u00D0])/g},{base:"DZ",letters:/(DZ|DŽ|[\u01F1\u01C4])/g},{base:"Dz",letters:/(Dz|Dž|[\u01F2\u01C5])/g},{base:"E",letters:/(E|Ⓔ|E|È|É|Ê|Ề|Ế|Ễ|Ể|Ẽ|Ē|Ḕ|Ḗ|Ĕ|Ė|Ë|Ẻ|Ě|Ȅ|Ȇ|Ẹ|Ệ|Ȩ|Ḝ|Ę|Ḙ|Ḛ|Ɛ|Ǝ|[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E])/g},{base:"F",letters:/(F|Ⓕ|F|Ḟ|Ƒ|Ꝼ|[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B])/g},{base:"G",letters:/(G|Ⓖ|G|Ǵ|Ĝ|Ḡ|Ğ|Ġ|Ǧ|Ģ|Ǥ|Ɠ|Ꞡ|Ᵹ|Ꝿ|[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E])/g},{base:"H",letters:/(H|Ⓗ|H|Ĥ|Ḣ|Ḧ|Ȟ|Ḥ|Ḩ|Ḫ|Ħ|Ⱨ|Ⱶ|Ɥ|[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D])/g},{base:"I",letters:/(I|Ⓘ|I|Ì|Í|Î|Ĩ|Ī|Ĭ|İ|Ï|Ḯ|Ỉ|Ǐ|Ȉ|Ȋ|Ị|Į|Ḭ|Ɨ|[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197])/g},{base:"J",letters:/(J|Ⓙ|J|Ĵ|Ɉ|[\u004A\u24BF\uFF2A\u0134\u0248])/g},{base:"K",letters:/(K|Ⓚ|K|Ḱ|Ǩ|Ḳ|Ķ|Ḵ|Ƙ|Ⱪ|Ꝁ|Ꝃ|Ꝅ|Ꞣ|[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2])/g},{base:"L",letters:/(L|Ⓛ|L|Ŀ|Ĺ|Ľ|Ḷ|Ḹ|Ļ|Ḽ|Ḻ|Ł|Ƚ|Ɫ|Ⱡ|Ꝉ|Ꝇ|Ꞁ|[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780])/g},{base:"LJ",letters:/(LJ|[\u01C7])/g},{base:"Lj",letters:/(Lj|[\u01C8])/g},{base:"M",letters:/(M|Ⓜ|M|Ḿ|Ṁ|Ṃ|Ɱ|Ɯ|[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C])/g},{base:"N",letters:/(N|Ⓝ|N|Ǹ|Ń|Ñ|Ṅ|Ň|Ṇ|Ņ|Ṋ|Ṉ|Ƞ|Ɲ|Ꞑ|Ꞥ|Ŋ|[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4\u014A])/g},{base:"NJ",letters:/(NJ|[\u01CA])/g},{base:"Nj",letters:/(Nj|[\u01CB])/g},{base:"O",letters:/(O|Ⓞ|O|Ò|Ó|Ô|Ồ|Ố|Ỗ|Ổ|Õ|Ṍ|Ȭ|Ṏ|Ō|Ṑ|Ṓ|Ŏ|Ȯ|Ȱ|Ö|Ȫ|Ỏ|Ő|Ǒ|Ȍ|Ȏ|Ơ|Ờ|Ớ|Ỡ|Ở|Ợ|Ọ|Ộ|Ǫ|Ǭ|Ø|Ǿ|Ɔ|Ɵ|Ꝋ|Ꝍ|[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C])/g},{base:"OE",letters:/(Œ|[\u0152])/g},{base:"OI",letters:/(Ƣ|[\u01A2])/g},{base:"OO",letters:/(Ꝏ|[\uA74E])/g},{base:"OU",letters:/(Ȣ|[\u0222])/g},{base:"P",letters:/(P|Ⓟ|P|Ṕ|Ṗ|Ƥ|Ᵽ|Ꝑ|Ꝓ|Ꝕ|[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754])/g},{base:"Q",letters:/(Q|Ⓠ|Q|Ꝗ|Ꝙ|Ɋ|[\u0051\u24C6\uFF31\uA756\uA758\u024A])/g},{base:"R",letters:/(R|Ⓡ|R|Ŕ|Ṙ|Ř|Ȑ|Ȓ|Ṛ|Ṝ|Ŗ|Ṟ|Ɍ|Ɽ|Ꝛ|Ꞧ|Ꞃ|[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782])/g},{base:"S",letters:/(S|Ⓢ|S|ẞ|Ś|Ṥ|Ŝ|Ṡ|Š|Ṧ|Ṣ|Ṩ|Ș|Ş|Ȿ|Ꞩ|Ꞅ|[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784])/g},{base:"T",letters:/(T|Ⓣ|T|Ṫ|Ť|Ṭ|Ț|Ţ|Ṱ|Ṯ|Ŧ|Ƭ|Ʈ|Ⱦ|Ꞇ|[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786])/g},{base:"TH",letters:/(Þ|[\u00DE])/g},{base:"TZ",letters:/(Ꜩ|[\uA728])/g},{base:"U",letters:/(U|Ⓤ|U|Ù|Ú|Û|Ũ|Ṹ|Ū|Ṻ|Ŭ|Ü|Ǜ|Ǘ|Ǖ|Ǚ|Ủ|Ů|Ű|Ǔ|Ȕ|Ȗ|Ư|Ừ|Ứ|Ữ|Ử|Ự|Ụ|Ṳ|Ų|Ṷ|Ṵ|Ʉ|[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244])/g},{base:"V",letters:/(V|Ⓥ|V|Ṽ|Ṿ|Ʋ|Ꝟ|Ʌ|[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245])/g},{base:"VY",letters:/(Ꝡ|[\uA760])/g},{base:"W",letters:/(W|Ⓦ|W|Ẁ|Ẃ|Ŵ|Ẇ|Ẅ|Ẉ|Ⱳ|[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72])/g},{base:"X",letters:/(X|Ⓧ|X|Ẋ|Ẍ|[\u0058\u24CD\uFF38\u1E8A\u1E8C])/g},{base:"Y",letters:/(Y|Ⓨ|Y|Ỳ|Ý|Ŷ|Ỹ|Ȳ|Ẏ|Ÿ|Ỷ|Ỵ|Ƴ|Ɏ|Ỿ|[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE])/g},{base:"Z",letters:/(Z|Ⓩ|Z|Ź|Ẑ|Ż|Ž|Ẓ|Ẕ|Ƶ|Ȥ|Ɀ|Ⱬ|Ꝣ|[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762])/g},{base:"a",letters:/(a|ⓐ|a|ẚ|à|á|â|ầ|ấ|ẫ|ẩ|ã|ā|ă|ằ|ắ|ẵ|ẳ|ȧ|ǡ|ä|ǟ|ả|å|ǻ|ǎ|ȁ|ȃ|ạ|ậ|ặ|ḁ|ą|ⱥ|ɐ|[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250])/g},{base:"aa",letters:/(ꜳ|[\uA733])/g},{base:"ae",letters:/(æ|ǽ|ǣ|[\u00E6\u01FD\u01E3])/g},{base:"ao",letters:/(ꜵ|[\uA735])/g},{base:"au",letters:/(ꜷ|[\uA737])/g},{base:"av",letters:/(ꜹ|ꜻ|[\uA739\uA73B])/g},{base:"ay",letters:/(ꜽ|[\uA73D])/g},{base:"b",letters:/(b|ⓑ|b|ḃ|ḅ|ḇ|ƀ|ƃ|ɓ|[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253])/g},{base:"c",letters:/(c|ⓒ|c|ć|ĉ|ċ|č|ç|ḉ|ƈ|ȼ|ꜿ|ↄ|[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184])/g},{base:"d",letters:/(d|ⓓ|d|ḋ|ď|ḍ|ḑ|ḓ|ḏ|đ|ƌ|ɖ|ɗ|ꝺ|ð|[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A\u00F0])/g},{base:"dz",letters:/(dz|dž|[\u01F3\u01C6])/g},{base:"e",letters:/(e|ⓔ|e|è|é|ê|ề|ế|ễ|ể|ẽ|ē|ḕ|ḗ|ĕ|ė|ë|ẻ|ě|ȅ|ȇ|ẹ|ệ|ȩ|ḝ|ę|ḙ|ḛ|ɇ|ɛ|ǝ|[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD])/g},{base:"f",letters:/(f|ⓕ|f|ḟ|ƒ|ꝼ|[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C])/g},{base:"g",letters:/(g|ⓖ|g|ǵ|ĝ|ḡ|ğ|ġ|ǧ|ģ|ǥ|ɠ|ꞡ|ᵹ|ꝿ|[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F])/g},{base:"h",letters:/(h|ⓗ|h|ĥ|ḣ|ḧ|ȟ|ḥ|ḩ|ḫ|ẖ|ħ|ⱨ|ⱶ|ɥ|[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265])/g},{base:"hv",letters:/(ƕ|[\u0195])/g},{base:"i",letters:/(i|ⓘ|i|ì|í|î|ĩ|ī|ĭ|ï|ḯ|ỉ|ǐ|ȉ|ȋ|ị|į|ḭ|ɨ|ı|[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131])/g},{base:"ij",letters:/(ij|[\u0133])/g},{base:"j",letters:/(j|ⓙ|j|ĵ|ǰ|ɉ|[\u006A\u24D9\uFF4A\u0135\u01F0\u0249])/g},{base:"k",letters:/(k|ⓚ|k|ḱ|ǩ|ḳ|ķ|ḵ|ƙ|ⱪ|ꝁ|ꝃ|ꝅ|ꞣ|[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3])/g},{base:"l",letters:/(l|ⓛ|l|ŀ|ĺ|ľ|ḷ|ḹ|ļ|ḽ|ḻ|ł|ƚ|ɫ|ⱡ|ꝉ|ꞁ|ꝇ|[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u0142\u019A\u026B\u2C61\uA749\uA781\uA747])/g},{base:"lj",letters:/(lj|[\u01C9])/g},{base:"m",letters:/(m|ⓜ|m|ḿ|ṁ|ṃ|ɱ|ɯ|[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F])/g},{base:"n",letters:/(n|ⓝ|n|ǹ|ń|ñ|ṅ|ň|ṇ|ņ|ṋ|ṉ|ƞ|ɲ|ʼn|ꞑ|ꞥ|ŋ|[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5\u014B])/g},{base:"nj",letters:/(nj|[\u01CC])/g},{base:"o",letters:/(o|ⓞ|o|ò|ó|ô|ồ|ố|ỗ|ổ|õ|ṍ|ȭ|ṏ|ō|ṑ|ṓ|ŏ|ȯ|ȱ|ö|ȫ|ỏ|ő|ǒ|ȍ|ȏ|ơ|ờ|ớ|ỡ|ở|ợ|ọ|ộ|ǫ|ǭ|ø|ǿ|ɔ|ꝋ|ꝍ|ɵ|[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275])/g},{base:"oe",letters:/(œ|[\u0153])/g},{base:"oi",letters:/(ƣ|[\u01A3])/g},{base:"ou",letters:/(ȣ|[\u0223])/g},{base:"oo",letters:/(ꝏ|[\uA74F])/g},{base:"p",letters:/(p|ⓟ|p|ṕ|ṗ|ƥ|ᵽ|ꝑ|ꝓ|ꝕ|[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755])/g},{base:"q",letters:/(q|ⓠ|q|ɋ|ꝗ|ꝙ|[\u0071\u24E0\uFF51\u024B\uA757\uA759])/g},{base:"r",letters:/(r|ⓡ|r|ŕ|ṙ|ř|ȑ|ȓ|ṛ|ṝ|ŗ|ṟ|ɍ|ɽ|ꝛ|ꞧ|ꞃ|[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783])/g},{base:"s",letters:/(s|ⓢ|s|ś|ṥ|ŝ|ṡ|š|ṧ|ṣ|ṩ|ș|ş|ȿ|ꞩ|ꞅ|ẛ|ſ|[\u0073\u24E2\uFF53\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B\u017F])/g},{base:"ss",letters:/(ß|[\u00DF])/g},{base:"t",letters:/(t|ⓣ|t|ṫ|ẗ|ť|ṭ|ț|ţ|ṱ|ṯ|ŧ|ƭ|ʈ|ⱦ|ꞇ|[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787])/g},{base:"th",letters:/(þ|[\u00FE])/g},{base:"tz",letters:/(ꜩ|[\uA729])/g},{base:"u",letters:/(u|ⓤ|u|ù|ú|û|ũ|ṹ|ū|ṻ|ŭ|ü|ǜ|ǘ|ǖ|ǚ|ủ|ů|ű|ǔ|ȕ|ȗ|ư|ừ|ứ|ữ|ử|ự|ụ|ṳ|ų|ṷ|ṵ|ʉ|[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289])/g},{base:"v",letters:/(v|ⓥ|v|ṽ|ṿ|ʋ|ꝟ|ʌ|[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C])/g},{base:"vy",letters:/(ꝡ|[\uA761])/g},{base:"w",letters:/(w|ⓦ|w|ẁ|ẃ|ŵ|ẇ|ẅ|ẘ|ẉ|ⱳ|[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73])/g},{base:"x",letters:/(x|ⓧ|x|ẋ|ẍ|[\u0078\u24E7\uFF58\u1E8B\u1E8D])/g},{base:"y",letters:/(y|ⓨ|y|ỳ|ý|ŷ|ỹ|ȳ|ẏ|ÿ|ỷ|ẙ|ỵ|ƴ|ɏ|ỿ|[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF])/g},{base:"z",letters:/(z|ⓩ|z|ź|ẑ|ż|ž|ẓ|ẕ|ƶ|ȥ|ɀ|ⱬ|ꝣ|[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763])/g}],be=function(e){return function(e){var t=e;return ye.forEach((function(e){t=t.replace(e.letters,e.base)})),t}(e).toLowerCase()},Ce=function(e,t,n){return n?be(e).indexOf(be(t)):e.toLowerCase().indexOf(t.toLowerCase())},xe=function(e){return"number"==typeof e},Oe=function(e){return e===Object(e)?Object.keys(e):[]},Se=function(e){for(var t,n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];var i=(t=[]).concat.apply(t,r);return Object.keys(e).reduce((function(t,n){return e.hasOwnProperty(n)&&!i.includes(n)&&void 0!==e[n]&&(t[n]=e[n]),t}),{})};function De(e,t){return function(n){var r=function(r){var i=r.style,s=r.className,u=r.classNames,a=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(r,["style","className","classNames"]),c=t?t(a):void 0,p=X(e,{style:i,className:s,classNames:u},c);return o.createElement(n,l({},a,{style:p}))},i=n.displayName||n.name||"Component";return r.displayName="defaultStyle(".concat(i,")"),r}}var Fe=function(e){function t(){var e;return c(this,t),y(h(e=m(this,E(t).apply(this,arguments))),"setCaretElement",(function(t){e.caretElement=t})),e.state={left:void 0,top:void 0},e}return v(t,e),f(t,[{key:"componentDidMount",value:function(){this.notifyCaretPosition()}},{key:"componentDidUpdate",value:function(){this.notifyCaretPosition()}},{key:"notifyCaretPosition",value:function(){if(this.caretElement){var e=this.caretElement,t=e.offsetLeft,n=e.offsetTop;if(this.state.left!==t||this.state.top!==n){var r={left:t,top:n};this.setState(r),this.props.onCaretPositionChange(r)}}}},{key:"render",value:function(){var e,t=this,n=this.props,r=n.selectionStart,i=n.selectionEnd,s=n.value,u=n.style,a=n.children,c=n.containerRef,p=Ae(a);r===i&&(e=fe(s,p,r,"START"));var f=[],d={},g=f,h=0;return ce(s,p,(function(e,n,r,o,i,s,u){var a=function(e,t){return e.hasOwnProperty(t)?e[t]++:e[t]=0,t+"_"+e[t]}(d,o);g.push(t.getMentionComponentForMatch(o,i,s,a))}),(function(n,r,o){if(xe(e)&&e>=r&&e<=r+n.length){var i=e-r;g.push(t.renderSubstring(n.substring(0,i),h)),g=[t.renderSubstring(n.substring(i),h)]}else g.push(t.renderSubstring(n,h));h++})),g.push(" "),g!==f&&f.push(this.renderHighlighterCaret(g)),o.createElement("div",l({},u,{ref:c}),f)}},{key:"renderSubstring",value:function(e,t){return o.createElement("span",l({},this.props.style("substring"),{key:t}),e)}},{key:"getMentionComponentForMatch",value:function(e,t,n,r){var i={id:e,display:t,key:r},s=o.Children.toArray(this.props.children)[n];return o.cloneElement(s,i)}},{key:"renderHighlighterCaret",value:function(e){return o.createElement("span",l({},this.props.style("caret"),{ref:this.setCaretElement,key:"caret"}),e)}}]),t}(o.Component);y(Fe,"propTypes",{selectionStart:te().number,selectionEnd:te().number,value:te().string.isRequired,onCaretPositionChange:te().func.isRequired,containerRef:te().oneOfType([te().func,te().shape({current:"undefined"==typeof Element?te().any:te().instanceOf(Element)})]),children:te().oneOfType([te().element,te().arrayOf(te().element)]).isRequired}),y(Fe,"defaultProps",{value:""});var we=De({position:"relative",boxSizing:"border-box",width:"100%",color:"transparent",overflow:"hidden",whiteSpace:"pre-wrap",wordWrap:"break-word",border:"1px solid transparent",textAlign:"start","&singleLine":{whiteSpace:"pre",wordWrap:null},substring:{visibility:"hidden"}},(function(e){return{"&singleLine":e.singleLine}}))(Fe),je=function(e){function t(){return c(this,t),m(this,E(t).apply(this,arguments))}return v(t,e),f(t,[{key:"render",value:function(){var e=Se(this.props,["style","classNames","className"],Oe(t.propTypes));return o.createElement("li",l({id:this.props.id,role:"option","aria-selected":this.props.focused},e,this.props.style),this.renderContent())}},{key:"renderContent",value:function(){var e=this.props,t=e.query,n=e.renderSuggestion,r=e.suggestion,o=e.index,i=e.focused,s=this.getDisplay(),u=this.renderHighlightedDisplay(s,t);return n?n(r,t,u,o,i):u}},{key:"getDisplay",value:function(){var e=this.props.suggestion;if("string"==typeof e)return e;var t=e.id,n=e.display;return void 0!==t&&n?n:t}},{key:"renderHighlightedDisplay",value:function(e){var t=this.props,n=t.ignoreAccents,r=t.query,i=t.style,s=Ce(e,r,n);return-1===s?o.createElement("span",i("display"),e):o.createElement("span",i("display"),e.substring(0,s),o.createElement("b",i("highlight"),e.substring(s,s+r.length)),e.substring(s+r.length))}}]),t}(o.Component);y(je,"propTypes",{id:te().string.isRequired,query:te().string.isRequired,index:te().number.isRequired,ignoreAccents:te().bool,suggestion:te().oneOfType([te().string,te().shape({id:te().oneOfType([te().string,te().number]).isRequired,display:te().string})]).isRequired,renderSuggestion:te().func,focused:te().bool});var Be=De({cursor:"pointer"},(function(e){return{"&focused":e.focused}}))(je);function Pe(){var e=X(),t=e("spinner");return o.createElement("div",e,o.createElement("div",t,o.createElement("div",t(["element","element1"])),o.createElement("div",t(["element","element2"])),o.createElement("div",t(["element","element3"])),o.createElement("div",t(["element","element4"])),o.createElement("div",t(["element","element5"]))))}var Te=function(e){function t(){var e,n;c(this,t);for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return y(h(n=m(this,(e=E(t)).call.apply(e,[this].concat(o)))),"handleMouseEnter",(function(e,t){n.props.onMouseEnter&&n.props.onMouseEnter(e)})),y(h(n),"select",(function(e,t){n.props.onSelect(e,t)})),y(h(n),"setUlElement",(function(e){n.ulElement=e})),n}return v(t,e),f(t,[{key:"componentDidUpdate",value:function(){if(this.ulElement&&!(this.ulElement.offsetHeight>=this.ulElement.scrollHeight)&&this.props.scrollFocusedIntoView){var e=this.ulElement.scrollTop,t=this.ulElement.children[this.props.focusIndex].getBoundingClientRect(),n=t.top,r=t.bottom,o=this.ulElement.getBoundingClientRect().top;r=r-o+e,(n=n-o+e)<e?this.ulElement.scrollTop=n:r>this.ulElement.offsetHeight&&(this.ulElement.scrollTop=r-this.ulElement.offsetHeight)}}},{key:"render",value:function(){var e=this.props,t=e.id,n=e.a11ySuggestionsListLabel,r=e.isOpened,i=e.style,s=e.onMouseDown,u=e.containerRef,a=e.position,c=e.left,p=e.top;return r?o.createElement("div",l({},function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce((function(e,t){return J(J(J({},e),"function"==typeof t?t:{}),{},{style:J(J({},e.style),"function"==typeof t?t.style:t)})}),{})}({position:a||"absolute",left:c,top:p},i),{onMouseDown:s,ref:u}),o.createElement("ul",l({ref:this.setUlElement,id:t,role:"listbox","aria-label":n},i("list")),this.renderSuggestions()),this.renderLoadingIndicator()):null}},{key:"renderSuggestions",value:function(){var e=this;return Object.values(this.props.suggestions).reduce((function(t,n){var r=n.results,o=n.queryInfo;return[].concat(a(t),a(r.map((function(n,r){return e.renderSuggestion(n,o,t.length+r)}))))}),[])}},{key:"renderSuggestion",value:function(e,t,n){var r=this,i=n===this.props.focusIndex,s=t.childIndex,u=t.query,a=o.Children.toArray(this.props.children)[s].props.renderSuggestion,l=this.props.ignoreAccents;return o.createElement(Be,{style:this.props.style("item"),key:"".concat(s,"-").concat(Re(e)),id:he(this.props.id,n),query:u,index:n,ignoreAccents:l,renderSuggestion:a,suggestion:e,focused:i,onClick:function(){return r.select(e,t)},onMouseEnter:function(){return r.handleMouseEnter(n)}})}},{key:"renderLoadingIndicator",value:function(){if(this.props.isLoading)return o.createElement(Pe,{style:this.props.style("loadingIndicator")})}}]),t}(o.Component);y(Te,"propTypes",{id:te().string.isRequired,suggestions:te().object.isRequired,a11ySuggestionsListLabel:te().string,focusIndex:te().number,position:te().string,left:te().number,top:te().number,scrollFocusedIntoView:te().bool,isLoading:te().bool,isOpened:te().bool.isRequired,onSelect:te().func,ignoreAccents:te().bool,containerRef:te().oneOfType([te().func,te().shape({current:"undefined"==typeof Element?te().any:te().instanceOf(Element)})]),children:te().oneOfType([te().element,te().arrayOf(te().element)]).isRequired}),y(Te,"defaultProps",{suggestions:{},onSelect:function(){return null}});var Re=function(e){return"string"==typeof e?e:e.id},ke=De({zIndex:1,backgroundColor:"white",marginTop:14,minWidth:100,list:{margin:0,padding:0,listStyleType:"none"}})(Te);function Le(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ie(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Le(n,!0).forEach((function(t){y(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Le(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var _e={TAB:9,RETURN:13,ESC:27,UP:38,DOWN:40},Me=!1,Ze={singleLine:te().bool,allowSpaceInQuery:te().bool,allowSuggestionsAboveCursor:te().bool,forceSuggestionsAboveCursor:te().bool,ignoreAccents:te().bool,a11ySuggestionsListLabel:te().string,value:te().string,onKeyDown:te().func,onSelect:te().func,onBlur:te().func,onChange:te().func,suggestionsPortalHost:"undefined"==typeof Element?te().any:te().PropTypes.instanceOf(Element),inputRef:te().oneOfType([te().func,te().shape({current:"undefined"==typeof Element?te().any:te().instanceOf(Element)})]),children:te().oneOfType([te().element,te().arrayOf(te().element)]).isRequired},Ne=function(e){function t(e){var n;return c(this,t),y(h(n=m(this,E(t).call(this,e))),"setContainerElement",(function(e){n.containerElement=e})),y(h(n),"getInputProps",(function(){var e=n.props,t=e.readOnly,r=e.disabled,o=e.style;return Ie({},Se(n.props,["style","classNames","className"],Oe(Ze)),{},o("input"),{value:n.getPlainText()},!t&&!r&&{onChange:n.handleChange,onSelect:n.handleSelect,onKeyDown:n.handleKeyDown,onBlur:n.handleBlur,onCompositionStart:n.handleCompositionStart,onCompositionEnd:n.handleCompositionEnd,onScroll:n.updateHighlighterScroll},{},n.isOpened()&&{role:"combobox","aria-controls":n.uuidSuggestionsOverlay,"aria-expanded":!0,"aria-autocomplete":"list","aria-haspopup":"listbox","aria-activedescendant":he(n.uuidSuggestionsOverlay,n.state.focusIndex)})})),y(h(n),"renderControl",(function(){var e=n.props,t=e.singleLine,r=e.style,i=n.getInputProps();return o.createElement("div",r("control"),n.renderHighlighter(),t?n.renderInput(i):n.renderTextarea(i))})),y(h(n),"renderInput",(function(e){return o.createElement("input",l({type:"text",ref:n.setInputRef},e))})),y(h(n),"renderTextarea",(function(e){return o.createElement("textarea",l({ref:n.setInputRef},e))})),y(h(n),"setInputRef",(function(e){n.inputElement=e;var t=n.props.inputRef;"function"==typeof t?t(e):t&&(t.current=e)})),y(h(n),"setSuggestionsElement",(function(e){n.suggestionsElement=e})),y(h(n),"renderSuggestionsOverlay",(function(){if(!xe(n.state.selectionStart))return null;var e=n.state.suggestionsPosition,t=e.position,r=e.left,i=e.top,s=o.createElement(ke,{id:n.uuidSuggestionsOverlay,style:n.props.style("suggestions"),position:t,left:r,top:i,focusIndex:n.state.focusIndex,scrollFocusedIntoView:n.state.scrollFocusedIntoView,containerRef:n.setSuggestionsElement,suggestions:n.state.suggestions,onSelect:n.addMention,onMouseDown:n.handleSuggestionsMouseDown,onMouseEnter:n.handleSuggestionsMouseEnter,isLoading:n.isLoading(),isOpened:n.isOpened(),ignoreAccents:n.props.ignoreAccents,a11ySuggestionsListLabel:n.props.a11ySuggestionsListLabel},n.props.children);return n.props.suggestionsPortalHost?ne.createPortal(s,n.props.suggestionsPortalHost):s})),y(h(n),"renderHighlighter",(function(){var e=n.state,t=e.selectionStart,r=e.selectionEnd,i=n.props,s=i.singleLine,u=i.children,a=i.value,l=i.style;return o.createElement(we,{containerRef:n.setHighlighterElement,style:l("highlighter"),value:a,singleLine:s,selectionStart:t,selectionEnd:r,onCaretPositionChange:n.handleCaretPositionChange},u)})),y(h(n),"setHighlighterElement",(function(e){n.highlighterElement=e})),y(h(n),"handleCaretPositionChange",(function(e){n.setState({caretPosition:e})})),y(h(n),"getPlainText",(function(){return pe(n.props.value||"",Ae(n.props.children))})),y(h(n),"executeOnChange",(function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),o=1;o<t;o++)r[o-1]=arguments[o];var i,s;return n.props.onChange?(i=n.props).onChange.apply(i,[e].concat(r)):n.props.valueLink?(s=n.props.valueLink).requestChange.apply(s,[e.target.value].concat(r)):void 0})),y(h(n),"handleChange",(function(e){if(Me=!1,(document.activeElement&&document.activeElement.contentDocument||document).activeElement===e.target){var t=n.props.value||"",r=Ae(n.props.children),o=e.target.value,i=function(e,t,n,r){var o=n.selectionStartBefore,i=n.selectionEndBefore,s=n.selectionEndAfter,u=pe(e,r),a=u.length-t.length;"undefined"===o&&(o=s+a),"undefined"===i&&(i=o),o===i&&i===s&&u.length===t.length&&(o-=1);var l=t.slice(o,s),c=Math.min(o,s),p=i;o===s&&(p=Math.max(i,o+a));var f=fe(e,r,c,"START"),d=fe(e,r,p,"END"),g=fe(e,r,c,"NULL"),h=fe(e,r,p,"NULL"),m=null===g||null===h,E=de(e,f,d,l);if(!m){var A=pe(E,r);if(A!==t){for(c=0;t[c]===A[c];)c++;l=t.slice(c,s),p=u.lastIndexOf(t.substring(s)),f=fe(e,r,c,"START"),d=fe(e,r,p,"END"),E=de(e,f,d,l)}}return E}(t,o,{selectionStartBefore:n.state.selectionStart,selectionEndBefore:n.state.selectionEnd,selectionEndAfter:e.target.selectionEnd},r);o=pe(i,r);var s=e.target.selectionStart,u=e.target.selectionEnd,a=!1,l=function(e,t,n){var r=n,o=!1;if(ce(e,t,(function(e,t,i,s,u,a,l){i<=n&&i+u.length>n&&(r=i,o=!0)})),o)return r}(t,r,s);void 0!==l&&n.state.selectionEnd>l&&(u=s=l,a=!0),n.setState({selectionStart:s,selectionEnd:u,setSelectionAfterMentionChange:a});var c=ge(i,r),p={target:{value:i}};n.executeOnChange(p,i,o,c)}})),y(h(n),"handleSelect",(function(e){if(n.setState({selectionStart:e.target.selectionStart,selectionEnd:e.target.selectionEnd}),!Me){var t=n.inputElement;e.target.selectionStart===e.target.selectionEnd?n.updateMentionsQueries(t.value,e.target.selectionStart):n.clearSuggestions(),n.updateHighlighterScroll(),n.props.onSelect(e)}})),y(h(n),"handleKeyDown",(function(e){if(0!==me(n.state.suggestions)&&n.suggestionsElement)switch(Object.values(_e).indexOf(e.keyCode)>=0&&(e.preventDefault(),e.stopPropagation()),e.keyCode){case _e.ESC:return void n.clearSuggestions();case _e.DOWN:return void n.shiftFocus(1);case _e.UP:return void n.shiftFocus(-1);case _e.RETURN:case _e.TAB:return void n.selectFocused();default:return}else n.props.onKeyDown(e)})),y(h(n),"shiftFocus",(function(e){var t=me(n.state.suggestions);n.setState({focusIndex:(t+n.state.focusIndex+e)%t,scrollFocusedIntoView:!0})})),y(h(n),"selectFocused",(function(){var e=n.state,t=e.suggestions,r=e.focusIndex,o=Object.values(t).reduce((function(e,t){var n=t.results,r=t.queryInfo;return[].concat(a(e),a(n.map((function(e){return{result:e,queryInfo:r}}))))}),[])[r],i=o.result,s=o.queryInfo;n.addMention(i,s),n.setState({focusIndex:0})})),y(h(n),"handleBlur",(function(e){var t=n._suggestionsMouseDown;n._suggestionsMouseDown=!1,t||n.setState({selectionStart:null,selectionEnd:null}),window.setTimeout((function(){n.updateHighlighterScroll()}),1),n.props.onBlur(e,t)})),y(h(n),"handleSuggestionsMouseDown",(function(e){n._suggestionsMouseDown=!0})),y(h(n),"handleSuggestionsMouseEnter",(function(e){n.setState({focusIndex:e,scrollFocusedIntoView:!1})})),y(h(n),"updateSuggestionsPosition",(function(){var e=n.state.caretPosition,t=n.props,r=t.suggestionsPortalHost,o=t.allowSuggestionsAboveCursor,i=t.forceSuggestionsAboveCursor;if(e&&n.suggestionsElement){var s=n.suggestionsElement,u=n.highlighterElement,a=u.getBoundingClientRect(),l=ze(u,"font-size"),c={left:a.left+e.left,top:a.top+e.top+l},p=Math.max(document.documentElement.clientHeight,window.innerHeight||0);if(s){var f={};if(r){f.position="fixed";var d=c.left,g=c.top;d-=ze(s,"margin-left"),g-=ze(s,"margin-top"),d-=u.scrollLeft,g-=u.scrollTop;var h=Math.max(document.documentElement.clientWidth,window.innerWidth||0);d+s.offsetWidth>h?f.left=Math.max(0,h-s.offsetWidth):f.left=d,o&&g+s.offsetHeight>p&&s.offsetHeight<g-l||i?f.top=Math.max(0,g-s.offsetHeight-l):f.top=g}else{var m=e.left-u.scrollLeft,E=e.top-u.scrollTop;m+s.offsetWidth>n.containerElement.offsetWidth?f.right=0:f.left=m,o&&c.top-u.scrollTop+s.offsetHeight>p&&s.offsetHeight<a.top-l-u.scrollTop?f.top=E-s.offsetHeight-l:f.top=E}f.left===n.state.suggestionsPosition.left&&f.top===n.state.suggestionsPosition.top&&f.position===n.state.suggestionsPosition.position||n.setState({suggestionsPosition:f})}}})),y(h(n),"updateHighlighterScroll",(function(){var e=n.inputElement,t=n.highlighterElement;e&&t&&(t.scrollLeft=e.scrollLeft,t.scrollTop=e.scrollTop,t.height=e.height)})),y(h(n),"handleCompositionStart",(function(){Me=!0})),y(h(n),"handleCompositionEnd",(function(){Me=!1})),y(h(n),"setSelection",(function(e,t){if(null!==e&&null!==t){var r=n.inputElement;if(r.setSelectionRange)r.setSelectionRange(e,t);else if(r.createTextRange){var o=r.createTextRange();o.collapse(!0),o.moveEnd("character",t),o.moveStart("character",e),o.select()}}})),y(h(n),"updateMentionsQueries",(function(e,t){n._queryId++,n.suggestions={},n.setState({suggestions:{}});var r=n.props.value||"",i=n.props.children,s=Ae(i),u=fe(r,s,t,"NULL");if(null!==u){var a=function(e,t){var n=ge(e,t),r=n[n.length-1];return r?r.plainTextIndex+r.display.length:0}(r.substring(0,u),s),l=e.substring(a,t);o.Children.forEach(i,(function(t,r){if(t){var o=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e instanceof RegExp)return e;var n=t.allowSpaceInQuery,r=re(e);return new RegExp("(?:^|\\s)(".concat(r,"([^").concat(n?"":"\\s").concat(r,"]*))$"))}(t.props.trigger,n.props),i=l.match(o);if(i){var s=a+l.indexOf(i[1],i.index);n.queryData(i[2],r,s,s+i[1].length,e)}}}))}})),y(h(n),"clearSuggestions",(function(){n._queryId++,n.suggestions={},n.setState({suggestions:{},focusIndex:0})})),y(h(n),"queryData",(function(e,t,r,i,s){var u=n.props,a=u.children,l=u.ignoreAccents,c=function(e,t){return e instanceof Array?function(n,r){for(var o=[],i=0,s=e.length;i<s;++i){var u=e[i].display||e[i].id;Ce(u,n,t)>=0&&o.push(e[i])}return o}:e}(o.Children.toArray(a)[t].props.data,l)(e,n.updateSuggestions.bind(null,n._queryId,t,e,r,i,s));c instanceof Array&&n.updateSuggestions(n._queryId,t,e,r,i,s,c)})),y(h(n),"updateSuggestions",(function(e,t,r,o,i,s,u){if(e===n._queryId){n.suggestions=Ie({},n.suggestions,y({},t,{queryInfo:{childIndex:t,query:r,querySequenceStart:o,querySequenceEnd:i,plainTextValue:s},results:u}));var a=n.state.focusIndex,l=me(n.suggestions);n.setState({suggestions:n.suggestions,focusIndex:a>=l?Math.max(l-1,0):a})}})),y(h(n),"addMention",(function(e,t){var r=e.id,i=e.display,s=t.childIndex,u=t.querySequenceStart,a=t.querySequenceEnd,l=t.plainTextValue,c=n.props.value||"",p=Ae(n.props.children),f=o.Children.toArray(n.props.children)[s].props,d=f.markup,g=f.displayTransform,h=f.appendSpaceOnAdd,m=f.onAdd,E=fe(c,p,u,"START"),A=E+a-u,v=function(e,t,n){return e.replace(oe,t).replace(ie,n)}(d,r,i);h&&(v+=" ");var y=de(c,E,A,v);n.inputElement.focus();var b=g(r,i);h&&(b+=" ");var C=u+b.length;n.setState({selectionStart:C,selectionEnd:C,setSelectionAfterMentionChange:!0});var x={target:{value:y}},O=ge(y,p),S=de(l,u,a,b);n.executeOnChange(x,y,S,O),m&&m(r,i,E,A),n.clearSuggestions()})),y(h(n),"isLoading",(function(){var e=!1;return o.Children.forEach(n.props.children,(function(t){e=e||t&&t.props.isLoading})),e})),y(h(n),"isOpened",(function(){return xe(n.state.selectionStart)&&(0!==me(n.state.suggestions)||n.isLoading())})),y(h(n),"_queryId",0),n.suggestions={},n.uuidSuggestionsOverlay=Math.random().toString(16).substring(2),n.handleCopy=n.handleCopy.bind(h(n)),n.handleCut=n.handleCut.bind(h(n)),n.handlePaste=n.handlePaste.bind(h(n)),n.state={focusIndex:0,selectionStart:null,selectionEnd:null,suggestions:{},caretPosition:null,suggestionsPosition:{}},n}return v(t,e),f(t,[{key:"componentDidMount",value:function(){document.addEventListener("copy",this.handleCopy),document.addEventListener("cut",this.handleCut),document.addEventListener("paste",this.handlePaste),this.updateSuggestionsPosition()}},{key:"componentDidUpdate",value:function(e,t){t.suggestionsPosition===this.state.suggestionsPosition&&this.updateSuggestionsPosition(),this.state.setSelectionAfterMentionChange&&(this.setState({setSelectionAfterMentionChange:!1}),this.setSelection(this.state.selectionStart,this.state.selectionEnd))}},{key:"componentWillUnmount",value:function(){document.removeEventListener("copy",this.handleCopy),document.removeEventListener("cut",this.handleCut),document.removeEventListener("paste",this.handlePaste)}},{key:"render",value:function(){return o.createElement("div",l({ref:this.setContainerElement},this.props.style),this.renderControl(),this.renderSuggestionsOverlay())}},{key:"handlePaste",value:function(e){if(e.target===this.inputElement&&this.supportsClipboardActions(e)){e.preventDefault();var t=this.state,n=t.selectionStart,r=t.selectionEnd,o=this.props,i=o.value,s=o.children,u=Ae(s),a=fe(i,u,n,"START"),l=fe(i,u,r,"END"),c=e.clipboardData.getData("text/react-mentions"),p=e.clipboardData.getData("text/plain"),f=de(i,a,l,c||p).replace(/\r/g,""),d=pe(f,u),g={target:Ie({},e.target,{value:f})};this.executeOnChange(g,f,d,ge(f,u))}}},{key:"saveSelectionToClipboard",value:function(e){var t=this.state,n=t.selectionStart,r=t.selectionEnd,o=this.props,i=o.children,s=o.value,u=Ae(i),a=fe(s,u,n,"START"),l=fe(s,u,r,"END");e.clipboardData.setData("text/plain",e.target.value.slice(n,r)),e.clipboardData.setData("text/react-mentions",s.slice(a,l))}},{key:"supportsClipboardActions",value:function(e){return!!e.clipboardData}},{key:"handleCopy",value:function(e){e.target===this.inputElement&&this.supportsClipboardActions(e)&&(e.preventDefault(),this.saveSelectionToClipboard(e))}},{key:"handleCut",value:function(e){if(e.target===this.inputElement&&this.supportsClipboardActions(e)){e.preventDefault(),this.saveSelectionToClipboard(e);var t=this.state,n=t.selectionStart,r=t.selectionEnd,o=this.props,i=o.children,s=o.value,u=Ae(i),a=fe(s,u,n,"START"),l=fe(s,u,r,"END"),c=[s.slice(0,a),s.slice(l)].join(""),p=pe(c,u),f={target:Ie({},e.target,{value:p})};this.executeOnChange(f,c,p,ge(s,u))}}}]),t}(o.Component);y(Ne,"propTypes",Ze),y(Ne,"defaultProps",{ignoreAccents:!1,singleLine:!1,allowSuggestionsAboveCursor:!1,onKeyDown:function(){return null},onSelect:function(){return null},onBlur:function(){return null}});var ze=function(e,t){var n=parseFloat(window.getComputedStyle(e,null).getPropertyValue(t));return isFinite(n)?n:0},Ue=De({position:"relative",overflowY:"visible",input:{display:"block",width:"100%",position:"absolute",margin:0,top:0,left:0,boxSizing:"border-box",backgroundColor:"transparent",fontFamily:"inherit",fontSize:"inherit",letterSpacing:"inherit"},"&multiLine":{input:Ie({height:"100%",bottom:0,overflow:"hidden",resize:"none"},"undefined"!=typeof navigator&&/iPhone|iPad|iPod/i.test(navigator.userAgent)?{marginTop:1,marginLeft:-3}:null)}},(function(e){var t=e.singleLine;return{"&singleLine":t,"&multiLine":!t}}))(Ne),He={fontWeight:"inherit"},qe=function(e){var t=e.display,n=e.style,r=e.className,i=e.classNames,s=X(He,{style:n,className:r,classNames:i});return o.createElement("strong",s,t)};function We(e,t,n,r){return new(n||(n=Promise))((function(o,i){function s(e){try{a(r.next(e))}catch(e){i(e)}}function u(e){try{a(r.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,u)}a((r=r.apply(e,t||[])).next())}))}function Ke(e,t){var n,r,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,r=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){s.label=i[1];break}if(6===i[0]&&s.label<o[1]){s.label=o[1],o=i;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(i);break}o[2]&&s.ops.pop(),s.trys.pop();continue}i=t.call(e,s)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}}function $e(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)s.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return s}qe.propTypes={onAdd:te().func,onRemove:te().func,renderSuggestion:te().func,trigger:te().oneOfType([te().string,te().instanceOf(RegExp)]),markup:te().string,displayTransform:te().func,allowSpaceInQuery:te().bool,isLoading:te().bool},qe.defaultProps={trigger:"@",markup:"@[__display__](__id__)",displayTransform:function(e,t){return t||e},onAdd:function(){return null},onRemove:function(){return null},renderSuggestion:null,isLoading:!1,appendSpaceOnAdd:!1},Object.create,Object.create;var Ve=new Map([["avi","video/avi"],["gif","image/gif"],["ico","image/x-icon"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["mkv","video/x-matroska"],["mov","video/quicktime"],["mp4","video/mp4"],["pdf","application/pdf"],["png","image/png"],["zip","application/zip"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"]]);function Ge(e,t){var n=function(e){var t=e.name;if(t&&-1!==t.lastIndexOf(".")&&!e.type){var n=t.split(".").pop().toLowerCase(),r=Ve.get(n);r&&Object.defineProperty(e,"type",{value:r,writable:!1,configurable:!1,enumerable:!0})}return e}(e);if("string"!=typeof n.path){var r=e.webkitRelativePath;Object.defineProperty(n,"path",{value:"string"==typeof t?t:"string"==typeof r&&r.length>0?r:e.name,writable:!1,configurable:!1,enumerable:!0})}return n}var Ye=[".DS_Store","Thumbs.db"];function Xe(e){return(null!==e.target&&e.target.files?et(e.target.files):[]).map((function(e){return Ge(e)}))}function Qe(e,t){return We(this,void 0,void 0,(function(){var n;return Ke(this,(function(r){switch(r.label){case 0:return e.items?(n=et(e.items).filter((function(e){return"file"===e.kind})),"drop"!==t?[2,n]:[4,Promise.all(n.map(tt))]):[3,2];case 1:return[2,Je(nt(r.sent()))];case 2:return[2,Je(et(e.files).map((function(e){return Ge(e)})))]}}))}))}function Je(e){return e.filter((function(e){return-1===Ye.indexOf(e.name)}))}function et(e){for(var t=[],n=0;n<e.length;n++){var r=e[n];t.push(r)}return t}function tt(e){if("function"!=typeof e.webkitGetAsEntry)return rt(e);var t=e.webkitGetAsEntry();return t&&t.isDirectory?it(t):rt(e)}function nt(e){return e.reduce((function(e,t){return function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat($e(arguments[t]));return e}(e,Array.isArray(t)?nt(t):[t])}),[])}function rt(e){var t=e.getAsFile();if(!t)return Promise.reject(e+" is not a File");var n=Ge(t);return Promise.resolve(n)}function ot(e){return We(this,void 0,void 0,(function(){return Ke(this,(function(t){return[2,e.isDirectory?it(e):st(e)]}))}))}function it(e){var t=e.createReader();return new Promise((function(e,n){var r=[];!function o(){var i=this;t.readEntries((function(t){return We(i,void 0,void 0,(function(){var i,s,u;return Ke(this,(function(a){switch(a.label){case 0:if(t.length)return[3,5];a.label=1;case 1:return a.trys.push([1,3,,4]),[4,Promise.all(r)];case 2:return i=a.sent(),e(i),[3,4];case 3:return s=a.sent(),n(s),[3,4];case 4:return[3,6];case 5:u=Promise.all(t.map(ot)),r.push(u),o(),a.label=6;case 6:return[2]}}))}))}),(function(e){n(e)}))}()}))}function st(e){return We(this,void 0,void 0,(function(){return Ke(this,(function(t){return[2,new Promise((function(t,n){e.file((function(n){var r=Ge(n,e.fullPath);t(r)}),(function(e){n(e)}))}))]}))}))}var ut=n(58363);function at(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,o=!1,i=void 0;try{for(var s,u=e[Symbol.iterator]();!(r=(s=u.next()).done)&&(n.push(s.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==u.return||u.return()}finally{if(o)throw i}}return n}}(e,t)||function(e,t){if(e){if("string"==typeof e)return lt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?lt(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function lt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var ct=function(e){e=Array.isArray(e)&&1===e.length?e[0]:e;var t=Array.isArray(e)?"one of ".concat(e.join(", ")):e;return{code:"file-invalid-type",message:"File type must be ".concat(t)}},pt=function(e){return{code:"file-too-large",message:"File is larger than ".concat(e," bytes")}},ft=function(e){return{code:"file-too-small",message:"File is smaller than ".concat(e," bytes")}},dt={code:"too-many-files",message:"Too many files"};function gt(e,t){var n="application/x-moz-file"===e.type||(0,ut.Z)(e,t);return[n,n?null:ct(t)]}function ht(e,t,n){if(mt(e.size))if(mt(t)&&mt(n)){if(e.size>n)return[!1,pt(n)];if(e.size<t)return[!1,ft(t)]}else{if(mt(t)&&e.size<t)return[!1,ft(t)];if(mt(n)&&e.size>n)return[!1,pt(n)]}return[!0,null]}function mt(e){return null!=e}function Et(e){var t=e.files,n=e.accept,r=e.minSize,o=e.maxSize,i=e.multiple,s=e.maxFiles;return!(!i&&t.length>1||i&&s>=1&&t.length>s)&&t.every((function(e){var t=at(gt(e,n),1)[0],i=at(ht(e,r,o),1)[0];return t&&i}))}function At(e){return"function"==typeof e.isPropagationStopped?e.isPropagationStopped():void 0!==e.cancelBubble&&e.cancelBubble}function vt(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,(function(e){return"Files"===e||"application/x-moz-file"===e})):!!e.target&&!!e.target.files}function yt(e){e.preventDefault()}function bt(e){return-1!==e.indexOf("MSIE")||-1!==e.indexOf("Trident/")}function Ct(e){return-1!==e.indexOf("Edge/")}function xt(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.navigator.userAgent;return bt(e)||Ct(e)}function Ot(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return t.some((function(t){return!At(e)&&t&&t.apply(void 0,[e].concat(r)),At(e)}))}}function St(e){return function(e){if(Array.isArray(e))return wt(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||Ft(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Dt(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,o=!1,i=void 0;try{for(var s,u=e[Symbol.iterator]();!(r=(s=u.next()).done)&&(n.push(s.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==u.return||u.return()}finally{if(o)throw i}}return n}}(e,t)||Ft(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ft(e,t){if(e){if("string"==typeof e)return wt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?wt(e,t):void 0}}function wt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function jt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Bt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?jt(Object(n),!0).forEach((function(t){Pt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Pt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Tt(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var Rt=(0,o.forwardRef)((function(e,t){var n=e.children,r=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Bt(Bt({},kt),e),n=t.accept,r=t.disabled,i=t.getFilesFromEvent,s=t.maxSize,u=t.minSize,a=t.multiple,l=t.maxFiles,c=t.onDragEnter,p=t.onDragLeave,f=t.onDragOver,d=t.onDrop,g=t.onDropAccepted,h=t.onDropRejected,m=t.onFileDialogCancel,E=t.preventDropOnDocument,A=t.noClick,v=t.noKeyboard,y=t.noDrag,b=t.noDragEventsBubbling,C=t.validator,x=(0,o.useRef)(null),O=(0,o.useRef)(null),S=Dt((0,o.useReducer)(_t,It),2),D=S[0],F=S[1],w=D.isFocused,j=D.isFileDialogActive,B=D.draggedFiles,P=(0,o.useCallback)((function(){O.current&&(F({type:"openDialog"}),O.current.value=null,O.current.click())}),[F]),T=function(){j&&setTimeout((function(){O.current&&(O.current.files.length||(F({type:"closeDialog"}),"function"==typeof m&&m()))}),300)};(0,o.useEffect)((function(){return window.addEventListener("focus",T,!1),function(){window.removeEventListener("focus",T,!1)}}),[O,j,m]);var R=(0,o.useCallback)((function(e){x.current&&x.current.isEqualNode(e.target)&&(32!==e.keyCode&&13!==e.keyCode||(e.preventDefault(),P()))}),[x,O]),k=(0,o.useCallback)((function(){F({type:"focus"})}),[]),L=(0,o.useCallback)((function(){F({type:"blur"})}),[]),I=(0,o.useCallback)((function(){A||(xt()?setTimeout(P,0):P())}),[O,A]),_=(0,o.useRef)([]),M=function(e){x.current&&x.current.contains(e.target)||(e.preventDefault(),_.current=[])};(0,o.useEffect)((function(){return E&&(document.addEventListener("dragover",yt,!1),document.addEventListener("drop",M,!1)),function(){E&&(document.removeEventListener("dragover",yt),document.removeEventListener("drop",M))}}),[x,E]);var Z=(0,o.useCallback)((function(e){e.preventDefault(),e.persist(),K(e),_.current=[].concat(St(_.current),[e.target]),vt(e)&&Promise.resolve(i(e)).then((function(t){At(e)&&!b||(F({draggedFiles:t,isDragActive:!0,type:"setDraggedFiles"}),c&&c(e))}))}),[i,c,b]),N=(0,o.useCallback)((function(e){e.preventDefault(),e.persist(),K(e);var t=vt(e);if(t&&e.dataTransfer)try{e.dataTransfer.dropEffect="copy"}catch(e){}return t&&f&&f(e),!1}),[f,b]),z=(0,o.useCallback)((function(e){e.preventDefault(),e.persist(),K(e);var t=_.current.filter((function(e){return x.current&&x.current.contains(e)})),n=t.indexOf(e.target);-1!==n&&t.splice(n,1),_.current=t,t.length>0||(F({isDragActive:!1,type:"setDraggedFiles",draggedFiles:[]}),vt(e)&&p&&p(e))}),[x,p,b]),U=(0,o.useCallback)((function(e){e.preventDefault(),e.persist(),K(e),_.current=[],vt(e)&&Promise.resolve(i(e)).then((function(t){if(!At(e)||b){var r=[],o=[];t.forEach((function(e){var t=Dt(gt(e,n),2),i=t[0],a=t[1],l=Dt(ht(e,u,s),2),c=l[0],p=l[1],f=C?C(e):null;if(i&&c&&!f)r.push(e);else{var d=[a,p];f&&(d=d.concat(f)),o.push({file:e,errors:d.filter((function(e){return e}))})}})),(!a&&r.length>1||a&&l>=1&&r.length>l)&&(r.forEach((function(e){o.push({file:e,errors:[dt]})})),r.splice(0)),F({acceptedFiles:r,fileRejections:o,type:"setFiles"}),d&&d(r,o,e),o.length>0&&h&&h(o,e),r.length>0&&g&&g(r,e)}})),F({type:"reset"})}),[a,n,u,s,l,i,d,g,h,b,C]),H=function(e){return r?null:e},q=function(e){return v?null:H(e)},W=function(e){return y?null:H(e)},K=function(e){b&&e.stopPropagation()},$=(0,o.useMemo)((function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.refKey,n=void 0===t?"ref":t,o=e.onKeyDown,i=e.onFocus,s=e.onBlur,u=e.onClick,a=e.onDragEnter,l=e.onDragOver,c=e.onDragLeave,p=e.onDrop,f=Tt(e,["refKey","onKeyDown","onFocus","onBlur","onClick","onDragEnter","onDragOver","onDragLeave","onDrop"]);return Bt(Bt(Pt({onKeyDown:q(Ot(o,R)),onFocus:q(Ot(i,k)),onBlur:q(Ot(s,L)),onClick:H(Ot(u,I)),onDragEnter:W(Ot(a,Z)),onDragOver:W(Ot(l,N)),onDragLeave:W(Ot(c,z)),onDrop:W(Ot(p,U))},n,x),r||v?{}:{tabIndex:0}),f)}}),[x,R,k,L,I,Z,N,z,U,v,y,r]),V=(0,o.useCallback)((function(e){e.stopPropagation()}),[]),G=(0,o.useMemo)((function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.refKey,r=void 0===t?"ref":t,o=e.onChange,i=e.onClick,s=Tt(e,["refKey","onChange","onClick"]);return Bt(Bt({},Pt({accept:n,multiple:a,type:"file",style:{display:"none"},onChange:H(Ot(o,U)),onClick:H(Ot(i,V)),autoComplete:"off",tabIndex:-1},r,O)),s)}}),[O,n,a,U,r]),Y=B.length,X=Y>0&&Et({files:B,accept:n,minSize:u,maxSize:s,multiple:a,maxFiles:l}),Q=Y>0&&!X;return Bt(Bt({},D),{},{isDragAccept:X,isDragReject:Q,isFocused:w&&!r,getRootProps:$,getInputProps:G,rootRef:x,inputRef:O,open:H(P)})}(Tt(e,["children"])),i=r.open,s=Tt(r,["open"]);return(0,o.useImperativeHandle)(t,(function(){return{open:i}}),[i]),o.createElement(o.Fragment,null,n(Bt(Bt({},s),{},{open:i})))}));Rt.displayName="Dropzone";var kt={disabled:!1,getFilesFromEvent:function(e){return We(this,void 0,void 0,(function(){return Ke(this,(function(t){return[2,(n=e,n.dataTransfer&&e.dataTransfer?Qe(e.dataTransfer,e.type):Xe(e))];var n}))}))},maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null};Rt.defaultProps=kt,Rt.propTypes={children:te().func,accept:te().oneOfType([te().string,te().arrayOf(te().string)]),multiple:te().bool,preventDropOnDocument:te().bool,noClick:te().bool,noKeyboard:te().bool,noDrag:te().bool,noDragEventsBubbling:te().bool,minSize:te().number,maxSize:te().number,maxFiles:te().number,disabled:te().bool,getFilesFromEvent:te().func,onFileDialogCancel:te().func,onDragEnter:te().func,onDragLeave:te().func,onDragOver:te().func,onDrop:te().func,onDropAccepted:te().func,onDropRejected:te().func,validator:te().func};const Lt=Rt;var It={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,draggedFiles:[],acceptedFiles:[],fileRejections:[]};function _t(e,t){switch(t.type){case"focus":return Bt(Bt({},e),{},{isFocused:!0});case"blur":return Bt(Bt({},e),{},{isFocused:!1});case"openDialog":return Bt(Bt({},e),{},{isFileDialogActive:!0});case"closeDialog":return Bt(Bt({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":var n=t.isDragActive,r=t.draggedFiles;return Bt(Bt({},e),{},{draggedFiles:r,isDragActive:n});case"setFiles":return Bt(Bt({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections});case"reset":return Bt({},It);default:return e}}var Mt=n(5977),Zt=n(10606),Nt=n(89519),zt=n(76249);const Ut=(e,{chatApi:t,session:n})=>{e&&t.sendChatMessage(n,e,!0)},Ht=(e,{chatActions:t,session:n,t:r},o)=>{(0,Nt.h9)((()=>t.actions.clear.handler({data:n,location:o,t:r})),r)};var qt=n(57136),Wt=n(27745),Kt=n(518),$t=n(32347),Vt=n(28427),Gt=n(48117),Yt=n(2445),Xt=n(26793),Qt=n(8717),Jt=n(87136),en=n(91462),tn=n(9781);const nn=(e,t,n)=>-1!==e.type.indexOf("text")&&e.size<=1048576?(0,r.jsx)(Jt.wR,{textGetter:()=>(0,tn.dA)(e)},void 0):-1!==e.type.indexOf("audio")?(0,r.jsx)(Jt.Gj,{url:t,autoPlay:!1},void 0):-1!==e.type.indexOf("image")?(0,r.jsx)(Jt.vf,{url:t,alt:e.name},void 0):-1!==e.type.indexOf("video")?(0,r.jsx)(Jt.yi,{url:t,autoPlay:!1},void 0):(0,r.jsx)(i.Z,{title:(0,Qt.Iu)("Preview is not available",n,$t.jv.COMMON)},void 0),rn=e=>{var{files:t,onConfirm:n}=e,i=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}(e,["files","onConfirm"]);const[s,u]=(0,o.useState)(null),{t:a}=(0,Xt.$)();return(0,o.useEffect)((()=>{const e=t.map((e=>({url:URL.createObjectURL(e),file:e})));return u(e),()=>e.forEach((e=>URL.revokeObjectURL(e.url)))}),[]),s?(0,r.jsx)(Vt.Z,Object.assign({},i,{className:"file-preview-dialog",onApprove:()=>n(t),closable:!0,fullHeight:!0,approveCaption:(0,Qt.Iu)("Upload",a,$t.jv.COMMON),icon:Gt.Z.UPLOAD},{children:s.map((({file:e,url:t})=>(0,r.jsxs)("div",Object.assign({className:"ui segment",style:{overflowX:"auto"}},{children:[(0,r.jsx)(en.Z,{title:e.name,subHeader:(0,Yt.BU)(e.size,a)},void 0),nn(e,t,a)]}),t)))}),void 0):null};var on=n(1059),sn=n(99005),un=n(98374),an=n(42090),ln=n(4047),cn=n(20368);const pn=o.memo((({files:e,handleUpload:t,style:n,className:o,overrideContent:i})=>{const{t:s}=(0,Xt.$)();if(i)return i;const a=e=>{Kt.Z.delete(`${ln.Z.TEMP_SHARES_URL}/${e.id}`).then((t=>{qt.Z.success({title:s((0,Qt.zS)("fileNoLongerShared",$t.jv.COMMON),{defaultValue:"File {{file.name}} is no longer shared",replace:{file:e}})})})).catch((e=>{qt.Z.apiError("Failed to remove shared item",e)}))},l=u()("top left pointing actions",o);return(0,r.jsxs)(on.Z,Object.assign({className:l,triggerIcon:"plus",button:!0,contextElement:".message-view"},{children:[(0,r.jsx)(un.Z,Object.assign({onClick:t,icon:Gt.Z.UPLOAD},{children:(0,Qt.Iu)("Send files",s,$t.jv.COMMON)}),void 0),(0,r.jsx)(sn.Z,Object.assign({caption:(0,Qt.Iu)("Remove shared file",s,$t.jv.COMMON),icon:Gt.Z.FILE},{children:e.map((e=>((e,t)=>{let n=e.name;return e.user&&(n+=` (${e.user.nicks})`),(0,r.jsx)(un.Z,Object.assign({onClick:()=>t(e),icon:(0,r.jsx)(cn.Z,{typeInfo:e.type},void 0)},{children:n}),e.id)})(e,a)))}),void 0)]}),void 0)})),fn=(0,an.Z)(pn,{urls:{files:ln.Z.TEMP_SHARES_URL},onSocketConnected:(e,{refetchData:t})=>{e(ln.Z.MODULE_URL,ln.Z.TEMP_ITEM_ADDED,(()=>t())),e(ln.Z.MODULE_URL,ln.Z.TEMP_ITEM_REMOVED,(()=>t()))},loaderText:null});var dn=n(66883),gn=n(94897),hn=n(35936),mn=n(84807);const En=e=>`last_message_${e.location.pathname}`,An=e=>({text:(0,Zt.TG)(En(e),"")}),vn=(e,t)=>{(0,Zt.nG)(En(t),e.text)},yn=e=>({id:e.cid,display:e.nick});class bn extends o.Component{constructor(){super(...arguments),this.dropzoneRef=o.createRef(),this.handleCommand=e=>{const{location:t}=this.props;let n,r;{const t=e.indexOf(" ");-1===t?n=e.substr(1):(n=e.substr(1,t-1),r=e.substr(t+1))}(e=>{const t={clear:{help:"Clear message cache",handler:Ht,access:e.chatActions.actions.clear.access},me:{help:"Send message in third person",handler:Ut}};return{handle:(n,r,o)=>{if(t[n])t[n].handler(r,e,o);else if("help"===n){const{session:n,chatApi:r}=e,o=(e=>`\n\tChat commands\n\n${Object.keys(e).filter((t=>(0,Nt.mz)(e[t]))).map((t=>`\t/${t} - ${e[t].help}`)).join("\n")}\n`)(t);r.sendStatusMessage(n,o,zt.m4.INFO)}}}})(this.props).handle(n,r,t)},this.handleSend=e=>{const{chatApi:t,session:n}=this.props;t.sendChatMessage(n,e)},this.handleChange=(e,t,n)=>{this.setState({text:n})},this.onKeyDown=e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),this.sendText())},this.sendText=()=>{const e=this.state.text.replace(/\s+$/,"");e&&("/"===e[0]&&this.handleCommand(e),this.handleSend(e)),this.setState({text:""})},this.findUsers=(e,t)=>{const{session:n}=this.props;Kt.Z.post(Wt.Z.SEARCH_NICKS_URL,{pattern:e,max_results:5,hub_urls:n.hub_url?[n.hub_url]:void 0}).then((e=>t(e.map(yn)))).catch((e=>console.log(`Failed to fetch suggestions: ${e}`)))},this.appendText=e=>{let t=this.state.text;t&&(t+=" "),t+=e,this.setState({text:t})},this.onDropFile=e=>{const{t}=this.props,n=104857600,r=e.filter((e=>!(e.size>n&&(qt.Z.error({title:e.name,message:t((0,Qt.zS)("fileTooLarge",$t.jv.COMMON),{defaultValue:"File is too large (maximum size is {{maxSize}})",replace:{maxSize:(0,Yt.BU)(n,t)}})}),1))));r.length&&this.setState({files:r})},this.onUploadFiles=e=>{return t=this,n=void 0,o=function*(){this.resetFiles(),this.setState({uploading:!0});const{handleFileUpload:t}=this.props;for(let n of e)try{const e=yield t(n);this.appendText(e.magnet)}catch(e){qt.Z.apiError("Failed to upload the file",e)}this.setState({uploading:!1})},new((r=void 0)||(r=Promise))((function(e,i){function s(e){try{a(o.next(e))}catch(e){i(e)}}function u(e){try{a(o.throw(e))}catch(e){i(e)}}function a(t){var n;t.done?e(t.value):(n=t.value,n instanceof r?n:new r((function(e){e(n)}))).then(s,u)}a((o=o.apply(t,n||[])).next())}));var t,n,r,o},this.onPaste=e=>{if(e.clipboardData&&e.clipboardData.files&&e.clipboardData.files.length){let t=[];{const n=e.clipboardData.files;for(let e=0;e<n.length;e++)t.push(n[e])}e.preventDefault(),this.onDropFile(t)}},this.resetFiles=()=>{this.setState({files:null})},this.state=Object.assign(Object.assign({},An(this.props)),{files:null,uploading:!1})}componentWillUnmount(){vn(this.state,this.props)}componentDidUpdate(e,t){e.location.pathname!==this.props.location.pathname&&(vn(t,e),this.setState(An(this.props)))}render(){const e=(0,Zt.wd)(),t=u()("ui form composer",{small:e},{large:!e}),n=dn.Z.hasAccess(gn.Z.FILESYSTEM_EDIT)&&dn.Z.hasAccess(gn.Z.SETTINGS_EDIT),{files:o,text:i,uploading:s}=this.state,{t:a}=this.props,l=(0,r.jsx)(mn.Z,{className:"blue large icon send",onClick:this.sendText,caption:(0,r.jsx)(hn.Z,{icon:Gt.Z.SEND},void 0),loading:s},void 0);return(0,r.jsxs)(r.Fragment,{children:[!!o&&(0,r.jsx)(rn,{files:o,onConfirm:this.onUploadFiles,onReject:this.resetFiles,title:(0,Qt.Iu)("Send files",a,$t.jv.COMMON)},void 0),(0,r.jsx)(Lt,Object.assign({onDrop:this.onDropFile,ref:this.dropzoneRef,disabled:!n,multiple:!0,minSize:1,noClick:!0},{children:({getRootProps:o,getInputProps:u,open:a})=>{return(0,r.jsxs)("div",Object.assign({className:t},o(),{children:[(0,r.jsx)("input",Object.assign({},u()),void 0),(0,r.jsx)(Ue,Object.assign({className:"input",value:i,onChange:this.handleChange,onKeyDown:this.onKeyDown,style:(c=e,{suggestions:{list:{width:200,overflow:"auto",position:"absolute",bottom:3,left:17,backgroundColor:"white",border:"1px solid rgba(0,0,0,0.15)",fontSize:10},item:{padding:"5px 15px",borderBottom:"1px solid rgba(0,0,0,0.15)","&focused":{background:"rgba(0,0,0,.03)",color:"rgba(0,0,0,.95)"}}},highlighter:{minHeight:c?42:63,maxHeight:200,margin:0},input:{minHeight:c?42:63,maxHeight:200,margin:0,marginLeft:0,marginTop:0}}),autoFocus:!e,onPaste:this.onPaste},{children:(0,r.jsx)(qe,{trigger:"@",data:this.findUsers,appendSpaceOnAdd:!1},void 0)}),void 0),!n||s?l:(0,r.jsx)(fn,{className:"blue large",handleUpload:a,overrideContent:i?l:null},void 0)]}),void 0);var c}}),void 0)]},void 0)}}const Cn=(0,Mt.EN)(bn);var xn=n(25334),On=n(93379),Sn=n.n(On),Dn=n(7795),Fn=n.n(Dn),wn=n(90569),jn=n.n(wn),Bn=n(3565),Pn=n.n(Bn),Tn=n(19216),Rn=n.n(Tn),kn=n(44589),Ln=n.n(kn),In=n(8985),_n={};_n.styleTagTransform=Ln(),_n.setAttributes=Pn(),_n.insert=jn().bind(null,"head"),_n.domAPI=Fn(),_n.insertStyleElement=Rn(),Sn()(In.Z,_n),In.Z&&In.Z.locals&&In.Z.locals;const Mn=(0,n(8576).Z)((({session:e,chatAccess:t,chatApi:n,chatActions:s,messageStore:u,handleFileUpload:a,highlightRemoteMenuId:l})=>{const{t:c}=(0,Xt.$)(),p=((e,t,n)=>{const[r,i]=(0,o.useState)([]);return(0,o.useEffect)((()=>{t.isSessionInitialized(e.id)?i(t.getSessionMessages(e.id)):(i(null),n.fetchMessages(e))}),[e.id]),(0,o.useEffect)((()=>t.listen(((t,n)=>{n===e.id&&i(t)}))),[e.id]),r})(e,u,n),f=dn.Z.hasAccess(t);return(0,r.jsxs)("div",Object.assign({className:"message-view"},{children:[!f&&(0,r.jsx)(i.Z,{description:c((0,Qt.zS)("noChatAccess",$t.jv.COMMON),"You aren't allowed to send new messages")},void 0),(0,r.jsx)(xn.Z,{className:"chat",messages:p,session:e,scrollPositionHandler:u.scroll,t:c,highlightRemoteMenuId:l},void 0),f&&(0,r.jsx)(Cn,{session:e,chatApi:n,chatActions:s,t:c,handleFileUpload:a},void 0)]}),void 0)}),!0)},34698:(e,t,n)=>{n.d(t,{S:()=>s,b:()=>u});var r=n(66883),o=n(37576),i=function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function s(e){try{a(r.next(e))}catch(e){i(e)}}function u(e){try{a(r.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,u)}a((r=r.apply(e,t||[])).next())}))};const s=e=>i(void 0,void 0,void 0,(function*(){try{return(yield(0,o.r)(`${getBasePath()}temp`,{method:"POST",headers:{"X-Authorization":r.Z.authToken,Authorization:r.Z.authToken},body:e})).headers.get("Location")}catch(e){throw e}})),u=(e,t,n)=>i(void 0,void 0,void 0,(function*(){try{const i=yield(0,o.r)((e=>`${window.location.origin}${getBasePath()}proxy?url=${encodeURIComponent(e)}`)(e),Object.assign({headers:{"X-Authorization":r.Z.authToken,"Cache-Control":"no-store, must-revalidate, max-age=0"}},n));return(yield t)?i.json():i.text()}catch(t){throw console.error(`CORS HTTP request failed (${e})`,t),t}}))},74225:(e,t,n)=>{n.d(t,{Pd:()=>u,_L:()=>a,u4:()=>l,Ki:()=>c});var r=n(4047),o=n(518),i=n(34698),s=n(76249);const u=(e,t,n)=>{return s=void 0,u=void 0,l=function*(){try{const s=yield(0,i.S)(e);return yield o.Z.post(r.Z.TEMP_SHARES_URL,{name:e.name,file_id:s,hub_url:t,cid:n})}catch(e){throw e}},new((a=void 0)||(a=Promise))((function(e,t){function n(e){try{o(l.next(e))}catch(e){t(e)}}function r(e){try{o(l.throw(e))}catch(e){t(e)}}function o(t){var o;t.done?e(t.value):(o=t.value,o instanceof a?o:new a((function(e){e(o)}))).then(n,r)}o((l=l.apply(s,u||[])).next())}));var s,u,a,l},a=e=>o.Z.post(r.Z.REFRESH_PATHS_URL,{paths:e,priority:s.VL.MANUAL}),l=e=>o.Z.post(r.Z.REFRESH_VIRTUAL_URL,{path:e}),c=e=>o.Z.delete(`${r.Z.REFRESH_TASKS_URL}/${e}`)},14936:(e,t,n)=>{n.d(t,{Z:()=>i});var r=n(20867),o=n(37876);const i=function(e,t,n){let i=new Map,s=new Set;const u=(t,n,o)=>{i.set(t,(0,r.L9)({[o]:n},i.get(t))),e.trigger(i.get(t),t)},a={_onChatMessage:(e,t)=>{u(t,e,"chat_message")},_onStatusMessage:(e,t)=>{u(t,e,"log_message")},_onSessionUpdated:(t,n)=>{if(!t.message_counts||!i.get(n))return;const o=(0,r.Pi)(i.get(n),t.message_counts.total);o!==i.get(n)&&(i.set(n,o),e.trigger(o,n))},_onSessionRemoved:t=>{e.scroll&&e.scroll._onSessionRemoved(t),i.delete(t.id),s.delete(t.id)},onSocketDisconnected:()=>{e.scroll&&e.scroll.onSocketDisconnected(),i.clear(),s.clear()},hasMessages:()=>i.size>0,hasInitializedSessions:()=>s.size>0,getSessionMessages:e=>i.get(e),isSessionInitialized:e=>s.has(e)};return e.listenTo(t.fetchMessages,(e=>{s.add(e.id)})),e.listenTo(t.fetchMessages.completed,((t,n)=>{i.set(t.id,(0,r._W)(n,i.get(t.id))),e.trigger(i.get(t.id),t.id)})),(0,o.Z)(Object.assign(e,a),n)}}}]);
|
|
2
|
-
//# sourceMappingURL=69.779bd39a66fa5ea5248b.chunk.js.map
|
|
Binary file
|