From 8a9fbb461c4ddf09e3c1edec28e19f812a4c8406 Mon Sep 17 00:00:00 2001 From: Daniel Valdivia <18384552+dvaldivia@users.noreply.github.com> Date: Mon, 7 Nov 2022 21:03:03 -0800 Subject: [PATCH] Release v0.21.2 (#2435) Signed-off-by: Daniel Valdivia <18384552+dvaldivia@users.noreply.github.com> --- .../base/console-deployment.yaml | 2 +- .../standalone/console-deployment.yaml | 2 +- portal-ui/build/asset-manifest.json | 426 +++++++++--------- portal-ui/build/index.html | 2 +- ...385cff3.chunk.js => 106.72d23b2d.chunk.js} | 4 +- ...chunk.js.map => 106.72d23b2d.chunk.js.map} | 2 +- .../build/static/js/1199.0f0e2d2b.chunk.js | 2 + .../static/js/1199.0f0e2d2b.chunk.js.map | 1 + .../build/static/js/1199.503e1d6b.chunk.js | 2 - .../static/js/1199.503e1d6b.chunk.js.map | 1 - .../build/static/js/1268.408b6da9.chunk.js | 2 + ...hunk.js.map => 1268.408b6da9.chunk.js.map} | 2 +- .../build/static/js/1268.819d9108.chunk.js | 2 - .../build/static/js/1367.00454bc0.chunk.js | 2 + ...hunk.js.map => 1367.00454bc0.chunk.js.map} | 2 +- .../build/static/js/1367.18b69587.chunk.js | 2 - .../build/static/js/1379.24a75cea.chunk.js | 2 - .../static/js/1379.24a75cea.chunk.js.map | 1 - .../build/static/js/1379.d515229f.chunk.js | 2 + .../static/js/1379.d515229f.chunk.js.map | 1 + .../build/static/js/1440.2f369689.chunk.js | 2 - .../static/js/1440.2f369689.chunk.js.map | 1 - .../build/static/js/1440.d3fd88ff.chunk.js | 2 + .../static/js/1440.d3fd88ff.chunk.js.map | 1 + .../build/static/js/1465.4525f636.chunk.js | 2 + .../static/js/1465.4525f636.chunk.js.map | 1 + ...62a612.chunk.js => 1501.45b91938.chunk.js} | 4 +- ...hunk.js.map => 1501.45b91938.chunk.js.map} | 2 +- .../build/static/js/1581.3b60face.chunk.js | 2 + ...hunk.js.map => 1581.3b60face.chunk.js.map} | 2 +- .../build/static/js/1581.5d8bdb2a.chunk.js | 2 - .../build/static/js/1604.d6abf9f0.chunk.js | 2 - .../build/static/js/1604.fa7e2b2f.chunk.js | 2 + ...hunk.js.map => 1604.fa7e2b2f.chunk.js.map} | 2 +- ...db5583.chunk.js => 1799.46eb9579.chunk.js} | 4 +- ...hunk.js.map => 1799.46eb9579.chunk.js.map} | 2 +- .../static/js/1829.4d8548a9.chunk.js.map | 1 - ...8548a9.chunk.js => 1829.c686ac0f.chunk.js} | 4 +- .../static/js/1829.c686ac0f.chunk.js.map | 1 + .../build/static/js/1903.42b70cf0.chunk.js | 3 + ...txt => 1903.42b70cf0.chunk.js.LICENSE.txt} | 0 .../static/js/1903.42b70cf0.chunk.js.map | 1 + .../build/static/js/1913.1bb254fb.chunk.js | 2 + ...hunk.js.map => 1913.1bb254fb.chunk.js.map} | 2 +- .../build/static/js/1913.62bd1877.chunk.js | 2 - ...e2056f.chunk.js => 2112.6b7837dd.chunk.js} | 4 +- ...hunk.js.map => 2112.6b7837dd.chunk.js.map} | 2 +- .../build/static/js/2180.14bc77fc.chunk.js | 2 - .../build/static/js/2180.ecd3ab8b.chunk.js | 2 + ...hunk.js.map => 2180.ecd3ab8b.chunk.js.map} | 2 +- ...324ec6.chunk.js => 2185.a1da3e17.chunk.js} | 4 +- ...hunk.js.map => 2185.a1da3e17.chunk.js.map} | 2 +- .../build/static/js/2331.288af2ec.chunk.js | 2 + .../static/js/2331.288af2ec.chunk.js.map | 1 + ...12b89d.chunk.js => 2338.0ee15506.chunk.js} | 4 +- ...hunk.js.map => 2338.0ee15506.chunk.js.map} | 2 +- ...3e2b83.chunk.js => 2408.40adaebd.chunk.js} | 4 +- ...hunk.js.map => 2408.40adaebd.chunk.js.map} | 2 +- .../build/static/js/247.6ff1fc3d.chunk.js | 2 - .../build/static/js/247.b3ec6497.chunk.js | 2 + ...chunk.js.map => 247.b3ec6497.chunk.js.map} | 2 +- .../build/static/js/2555.6b5ff50d.chunk.js | 2 + .../static/js/2555.6b5ff50d.chunk.js.map | 1 + .../build/static/js/2555.90c0fc7f.chunk.js | 2 - .../static/js/2555.90c0fc7f.chunk.js.map | 1 - .../build/static/js/2637.2f96b150.chunk.js | 2 + .../static/js/2637.2f96b150.chunk.js.map | 1 + .../build/static/js/2637.583760ab.chunk.js | 2 - .../static/js/2637.583760ab.chunk.js.map | 1 - ...8ee4e3.chunk.js => 2661.89815275.chunk.js} | 4 +- ...hunk.js.map => 2661.89815275.chunk.js.map} | 2 +- ...fdac0b.chunk.js => 2684.adde116d.chunk.js} | 4 +- ...hunk.js.map => 2684.adde116d.chunk.js.map} | 2 +- .../build/static/js/2763.d85f5750.chunk.js | 2 - .../static/js/2763.d85f5750.chunk.js.map | 1 - .../build/static/js/2763.fadd6aec.chunk.js | 2 + .../static/js/2763.fadd6aec.chunk.js.map | 1 + .../build/static/js/2850.8a62b572.chunk.js | 2 - .../build/static/js/2850.dcbfd98c.chunk.js | 2 + ...hunk.js.map => 2850.dcbfd98c.chunk.js.map} | 2 +- ...d442f0.chunk.js => 2983.26b296ba.chunk.js} | 4 +- .../static/js/2983.26b296ba.chunk.js.map | 1 + .../static/js/2983.32d442f0.chunk.js.map | 1 - ...efc992a.chunk.js => 312.3a15e683.chunk.js} | 4 +- ...chunk.js.map => 312.3a15e683.chunk.js.map} | 2 +- ...2a2e4c.chunk.js => 3328.5e637c6f.chunk.js} | 4 +- ...hunk.js.map => 3328.5e637c6f.chunk.js.map} | 2 +- .../build/static/js/343.34f42ca3.chunk.js | 2 - .../build/static/js/343.34f42ca3.chunk.js.map | 1 - .../build/static/js/343.85ab615d.chunk.js | 2 + .../build/static/js/343.85ab615d.chunk.js.map | 1 + .../build/static/js/3543.cae2b3f6.chunk.js | 2 + ...hunk.js.map => 3543.cae2b3f6.chunk.js.map} | 2 +- .../build/static/js/3543.e9873e41.chunk.js | 2 - .../build/static/js/3720.38c690e7.chunk.js | 2 + .../static/js/3720.38c690e7.chunk.js.map | 1 + .../build/static/js/3870.a1265f93.chunk.js | 3 - .../static/js/3870.a1265f93.chunk.js.map | 1 - .../build/static/js/3875.7770313b.chunk.js | 2 + .../static/js/3875.7770313b.chunk.js.map | 1 + .../build/static/js/3875.8ab7c136.chunk.js | 2 - .../static/js/3875.8ab7c136.chunk.js.map | 1 - .../build/static/js/3956.5a9ef42b.chunk.js | 2 - .../build/static/js/3956.693e1c1b.chunk.js | 2 + ...hunk.js.map => 3956.693e1c1b.chunk.js.map} | 2 +- ...ce64a61.chunk.js => 402.626f6141.chunk.js} | 4 +- ...chunk.js.map => 402.626f6141.chunk.js.map} | 2 +- .../build/static/js/4061.ba0fb823.chunk.js | 2 - .../build/static/js/4061.d59413d5.chunk.js | 2 + ...hunk.js.map => 4061.d59413d5.chunk.js.map} | 2 +- .../build/static/js/4096.0367284a.chunk.js | 2 - .../static/js/4096.0367284a.chunk.js.map | 1 - .../build/static/js/4096.f5e55618.chunk.js | 2 + .../static/js/4096.f5e55618.chunk.js.map | 1 + ...feefb0.chunk.js => 4131.e8f67352.chunk.js} | 4 +- ...hunk.js.map => 4131.e8f67352.chunk.js.map} | 2 +- .../build/static/js/4133.3e13b69a.chunk.js | 2 - .../static/js/4133.3e13b69a.chunk.js.map | 1 - .../build/static/js/4133.a8d9e248.chunk.js | 2 + .../static/js/4133.a8d9e248.chunk.js.map | 1 + .../build/static/js/4209.6cbd9842.chunk.js | 2 + ...hunk.js.map => 4209.6cbd9842.chunk.js.map} | 2 +- .../build/static/js/4209.dd491df8.chunk.js | 2 - .../build/static/js/4298.d677cede.chunk.js | 2 + .../static/js/4298.d677cede.chunk.js.map | 1 + .../build/static/js/4298.e34b4f79.chunk.js | 2 - .../static/js/4298.e34b4f79.chunk.js.map | 1 - ...260e05.chunk.js => 4335.8ab82b9c.chunk.js} | 4 +- ...hunk.js.map => 4335.8ab82b9c.chunk.js.map} | 2 +- .../build/static/js/441.5061a06e.chunk.js | 2 + ...chunk.js.map => 441.5061a06e.chunk.js.map} | 2 +- .../build/static/js/441.ef3a5a69.chunk.js | 2 - ...04fea8.chunk.js => 4414.4d74d89b.chunk.js} | 4 +- ...hunk.js.map => 4414.4d74d89b.chunk.js.map} | 2 +- ...4f2adc7.chunk.js => 455.89cfe65b.chunk.js} | 4 +- ...chunk.js.map => 455.89cfe65b.chunk.js.map} | 2 +- .../build/static/js/4619.82c18241.chunk.js | 2 - .../build/static/js/4619.c41b384a.chunk.js | 2 + ...hunk.js.map => 4619.c41b384a.chunk.js.map} | 2 +- .../build/static/js/4709.8bd47e6f.chunk.js | 2 - .../static/js/4709.8bd47e6f.chunk.js.map | 1 - .../build/static/js/4827.a3ee5d0a.chunk.js | 2 - .../static/js/4827.a3ee5d0a.chunk.js.map | 1 - .../build/static/js/483.5b997456.chunk.js | 2 + .../build/static/js/483.5b997456.chunk.js.map | 1 + .../build/static/js/483.b40960b4.chunk.js | 2 - .../build/static/js/483.b40960b4.chunk.js.map | 1 - .../build/static/js/4902.0ccf317b.chunk.js | 2 - .../build/static/js/4902.124ab092.chunk.js | 2 + ...hunk.js.map => 4902.124ab092.chunk.js.map} | 2 +- .../build/static/js/5088.2338ab8d.chunk.js | 2 - .../static/js/5088.2338ab8d.chunk.js.map | 1 - .../build/static/js/5088.40235e2d.chunk.js | 2 + .../static/js/5088.40235e2d.chunk.js.map | 1 + .../build/static/js/51.c461d317.chunk.js | 2 - .../build/static/js/51.c461d317.chunk.js.map | 1 - .../build/static/js/51.d24a0589.chunk.js | 2 + .../build/static/js/51.d24a0589.chunk.js.map | 1 + .../static/js/5112.626a10bf.chunk.js.map | 1 - ...6a10bf.chunk.js => 5112.65587729.chunk.js} | 4 +- .../static/js/5112.65587729.chunk.js.map | 1 + ...25d26b.chunk.js => 5223.96f3ec77.chunk.js} | 4 +- ...hunk.js.map => 5223.96f3ec77.chunk.js.map} | 2 +- ...c2d437.chunk.js => 5367.6280cd0d.chunk.js} | 4 +- ...hunk.js.map => 5367.6280cd0d.chunk.js.map} | 2 +- .../build/static/js/5503.863b708f.chunk.js | 2 + .../static/js/5503.863b708f.chunk.js.map | 1 + .../build/static/js/5503.e6dfff1f.chunk.js | 2 - .../static/js/5503.e6dfff1f.chunk.js.map | 1 - .../build/static/js/5517.23418977.chunk.js | 2 + .../static/js/5517.23418977.chunk.js.map | 1 + .../build/static/js/5517.d57943c6.chunk.js | 2 - .../static/js/5517.d57943c6.chunk.js.map | 1 - .../build/static/js/5643.706d28f9.chunk.js | 2 + .../static/js/5643.706d28f9.chunk.js.map | 1 + .../build/static/js/5643.bca52423.chunk.js | 2 - .../static/js/5643.bca52423.chunk.js.map | 1 - .../build/static/js/5857.432b0de4.chunk.js | 2 + ...hunk.js.map => 5857.432b0de4.chunk.js.map} | 2 +- .../build/static/js/5857.4e539816.chunk.js | 2 - .../build/static/js/5861.af51c5d9.chunk.js | 2 + .../static/js/5861.af51c5d9.chunk.js.map | 1 + .../build/static/js/5861.efde54e7.chunk.js | 2 - .../static/js/5861.efde54e7.chunk.js.map | 1 - ...13a97f.chunk.js => 5926.ef852b88.chunk.js} | 4 +- ...hunk.js.map => 5926.ef852b88.chunk.js.map} | 2 +- .../build/static/js/6137.2bd06c0c.chunk.js | 2 - .../build/static/js/6137.a74f25a3.chunk.js | 2 + ...hunk.js.map => 6137.a74f25a3.chunk.js.map} | 2 +- ...f72110.chunk.js => 6405.7ed910f9.chunk.js} | 4 +- ...hunk.js.map => 6405.7ed910f9.chunk.js.map} | 2 +- .../build/static/js/6413.17138886.chunk.js | 2 + ...hunk.js.map => 6413.17138886.chunk.js.map} | 2 +- .../build/static/js/6413.632972f1.chunk.js | 2 - .../build/static/js/6526.296ba888.chunk.js | 2 + ...hunk.js.map => 6526.296ba888.chunk.js.map} | 2 +- .../build/static/js/6526.904dad0c.chunk.js | 2 - ...329c4f.chunk.js => 6577.8f9494b2.chunk.js} | 4 +- ...hunk.js.map => 6577.8f9494b2.chunk.js.map} | 2 +- ...df4486.chunk.js => 6604.45252fd1.chunk.js} | 4 +- .../static/js/6604.45252fd1.chunk.js.map | 1 + .../static/js/6604.56df4486.chunk.js.map | 1 - ...ff8d6b.chunk.js => 6763.d7ead4a5.chunk.js} | 4 +- ...hunk.js.map => 6763.d7ead4a5.chunk.js.map} | 2 +- .../build/static/js/6895.07c179c4.chunk.js | 2 - .../static/js/6895.07c179c4.chunk.js.map | 1 - .../build/static/js/6895.54b01aaa.chunk.js | 2 + .../static/js/6895.54b01aaa.chunk.js.map | 1 + .../build/static/js/6901.1be7690b.chunk.js | 2 - .../build/static/js/6901.e2472ebd.chunk.js | 2 + ...hunk.js.map => 6901.e2472ebd.chunk.js.map} | 2 +- ...144791.chunk.js => 6914.8c73a010.chunk.js} | 4 +- ...hunk.js.map => 6914.8c73a010.chunk.js.map} | 2 +- ...cf902c5.chunk.js => 692.bf3eea50.chunk.js} | 4 +- ...chunk.js.map => 692.bf3eea50.chunk.js.map} | 2 +- ...a87695.chunk.js => 7021.a571133a.chunk.js} | 4 +- ...hunk.js.map => 7021.a571133a.chunk.js.map} | 2 +- .../build/static/js/7092.f9d41c38.chunk.js | 2 + .../static/js/7092.f9d41c38.chunk.js.map | 1 + ...1c682cd.chunk.js => 711.2c20424f.chunk.js} | 4 +- ...chunk.js.map => 711.2c20424f.chunk.js.map} | 2 +- .../build/static/js/7223.c4364eea.chunk.js | 2 + .../static/js/7223.c4364eea.chunk.js.map | 1 + .../build/static/js/7223.e4750884.chunk.js | 2 - .../static/js/7223.e4750884.chunk.js.map | 1 - ...4bd777.chunk.js => 7585.2f05b1f3.chunk.js} | 4 +- ...hunk.js.map => 7585.2f05b1f3.chunk.js.map} | 2 +- .../build/static/js/7588.aa5c4850.chunk.js | 2 + .../static/js/7588.aa5c4850.chunk.js.map | 1 + .../build/static/js/7588.fb99fb33.chunk.js | 2 - .../static/js/7588.fb99fb33.chunk.js.map | 1 - .../build/static/js/7770.0cb798cf.chunk.js | 2 - .../build/static/js/7770.3664e24d.chunk.js | 2 + ...hunk.js.map => 7770.3664e24d.chunk.js.map} | 2 +- .../build/static/js/7798.5da0ca4b.chunk.js | 2 - .../build/static/js/7798.e33e9b60.chunk.js | 2 + ...hunk.js.map => 7798.e33e9b60.chunk.js.map} | 2 +- ...76f3e5.chunk.js => 7847.90a046cb.chunk.js} | 4 +- ...hunk.js.map => 7847.90a046cb.chunk.js.map} | 2 +- .../build/static/js/8277.4222c489.chunk.js | 2 + .../static/js/8277.4222c489.chunk.js.map | 1 + .../build/static/js/8277.ffa83ea5.chunk.js | 2 - .../static/js/8277.ffa83ea5.chunk.js.map | 1 - ...f71354.chunk.js => 8350.c98738e4.chunk.js} | 4 +- ...hunk.js.map => 8350.c98738e4.chunk.js.map} | 2 +- .../build/static/js/8360.105f809d.chunk.js | 2 + .../static/js/8360.105f809d.chunk.js.map | 1 + .../build/static/js/8360.b7b61982.chunk.js | 2 - .../static/js/8360.b7b61982.chunk.js.map | 1 - .../build/static/js/8391.0411f28f.chunk.js | 2 + ...hunk.js.map => 8391.0411f28f.chunk.js.map} | 2 +- .../build/static/js/8391.93be3c76.chunk.js | 2 - .../build/static/js/8455.2f5d0d0a.chunk.js | 2 + ...hunk.js.map => 8455.2f5d0d0a.chunk.js.map} | 2 +- .../build/static/js/8455.ac01170a.chunk.js | 2 - .../build/static/js/8833.3556cd36.chunk.js | 2 + .../static/js/8833.3556cd36.chunk.js.map | 1 + .../build/static/js/8833.9f18e03b.chunk.js | 2 - .../static/js/8833.9f18e03b.chunk.js.map | 1 - ...b646ebf.chunk.js => 889.8c6af0b9.chunk.js} | 4 +- ...chunk.js.map => 889.8c6af0b9.chunk.js.map} | 2 +- ...2361de.chunk.js => 8896.3ab50b22.chunk.js} | 4 +- ...hunk.js.map => 8896.3ab50b22.chunk.js.map} | 2 +- ...2803ce.chunk.js => 8990.8da3f1b4.chunk.js} | 4 +- ...hunk.js.map => 8990.8da3f1b4.chunk.js.map} | 2 +- .../build/static/js/8998.6a160b0b.chunk.js | 2 - .../build/static/js/8998.b7518624.chunk.js | 2 + ...hunk.js.map => 8998.b7518624.chunk.js.map} | 2 +- ...ec4658.chunk.js => 9088.131128ad.chunk.js} | 4 +- ...hunk.js.map => 9088.131128ad.chunk.js.map} | 2 +- ...35131b.chunk.js => 9134.76b1bd01.chunk.js} | 4 +- ...hunk.js.map => 9134.76b1bd01.chunk.js.map} | 2 +- ...0554bf.chunk.js => 9145.85a731d5.chunk.js} | 4 +- ...hunk.js.map => 9145.85a731d5.chunk.js.map} | 2 +- .../build/static/js/9179.c61083e7.chunk.js | 2 + .../static/js/9179.c61083e7.chunk.js.map | 1 + .../build/static/js/9179.f855888c.chunk.js | 2 - .../static/js/9179.f855888c.chunk.js.map | 1 - ...d80718.chunk.js => 9221.e9f3f525.chunk.js} | 4 +- ...hunk.js.map => 9221.e9f3f525.chunk.js.map} | 2 +- .../build/static/js/9251.8024b639.chunk.js | 2 - .../static/js/9251.8024b639.chunk.js.map | 1 - ...2e535e.chunk.js => 9297.e6332146.chunk.js} | 4 +- ...hunk.js.map => 9297.e6332146.chunk.js.map} | 2 +- .../build/static/js/9467.361c4c5c.chunk.js | 2 - .../static/js/9467.361c4c5c.chunk.js.map | 1 - .../build/static/js/9467.d0711d5e.chunk.js | 2 + .../static/js/9467.d0711d5e.chunk.js.map | 1 + .../build/static/js/9567.cf023e3e.chunk.js | 2 + ...hunk.js.map => 9567.cf023e3e.chunk.js.map} | 2 +- .../build/static/js/9567.f5750d98.chunk.js | 2 - .../static/js/9611.c217768e.chunk.js.map | 1 - ...17768e.chunk.js => 9611.dc6938ca.chunk.js} | 4 +- .../static/js/9611.dc6938ca.chunk.js.map | 1 + ...1540ab.chunk.js => 9968.89304e6a.chunk.js} | 4 +- ...hunk.js.map => 9968.89304e6a.chunk.js.map} | 2 +- portal-ui/build/static/js/main.3a920b67.js | 3 + ...CENSE.txt => main.3a920b67.js.LICENSE.txt} | 0 .../build/static/js/main.3a920b67.js.map | 1 + portal-ui/build/static/js/main.a7518a54.js | 3 - .../build/static/js/main.a7518a54.js.map | 1 - .../Lato-Black.9280d87f151e453d884c.woff2 | Bin 0 -> 28284 bytes .../Lato-Black.efe7c183457352448e1e.woff | Bin 0 -> 36136 bytes ...ato-BlackItalic.3061b5464316d87f5dbc.woff2 | Bin 0 -> 29808 bytes ...Lato-BlackItalic.c329db2ef5efedb87a8e.woff | Bin 0 -> 37900 bytes .../media/Lato-Bold.ba3a83adcb94357fc42f.woff | Bin 0 -> 36732 bytes .../Lato-Bold.ea8a923ec6d3ea7cf7bc.woff2 | Bin 0 -> 28676 bytes .../Lato-BoldItalic.443bd94393f9d73446c8.woff | Bin 0 -> 39376 bytes ...Lato-BoldItalic.84607fcdf9af8784aa6e.woff2 | Bin 0 -> 30512 bytes .../Lato-Hairline.4cf04805197605f0103e.woff2 | Bin 0 -> 23176 bytes .../Lato-Hairline.8cc2841238f3d3276d9c.woff | Bin 0 -> 31296 bytes ...o-HairlineItalic.540ee912c7282b8bb151.woff | Bin 0 -> 27552 bytes ...-HairlineItalic.bf1e0782291efebe06da.woff2 | Bin 0 -> 20704 bytes .../Lato-Italic.251de5f48806485e4c5a.woff | Bin 0 -> 39100 bytes .../Lato-Italic.d9364c880eec4d4fea78.woff2 | Bin 0 -> 30300 bytes .../Lato-Light.7e323674c33b3939aba5.woff2 | Bin 0 -> 24880 bytes .../Lato-Light.91308c0216b40aad1603.woff | Bin 0 -> 35544 bytes ...ato-LightItalic.0ea7656d6a58e3f9853b.woff2 | Bin 0 -> 21460 bytes ...Lato-LightItalic.6876f3b2e440df8eab71.woff | Bin 0 -> 28532 bytes .../Lato-Regular.39ac38d8a27bed2a16e4.woff2 | Bin 0 -> 29188 bytes .../Lato-Regular.77ca2742388f408c3be7.woff | Bin 0 -> 37524 bytes .../media/Lato-Thin.1549cf8478615fc56aa3.woff | Bin 0 -> 314564 bytes .../Lato-Thin.c84b392f9e0187c54528.woff2 | Bin 0 -> 196964 bytes 323 files changed, 533 insertions(+), 506 deletions(-) rename portal-ui/build/static/js/{106.4385cff3.chunk.js => 106.72d23b2d.chunk.js} (98%) rename portal-ui/build/static/js/{106.4385cff3.chunk.js.map => 106.72d23b2d.chunk.js.map} (99%) create mode 100644 portal-ui/build/static/js/1199.0f0e2d2b.chunk.js create mode 100644 portal-ui/build/static/js/1199.0f0e2d2b.chunk.js.map delete mode 100644 portal-ui/build/static/js/1199.503e1d6b.chunk.js delete mode 100644 portal-ui/build/static/js/1199.503e1d6b.chunk.js.map create mode 100644 portal-ui/build/static/js/1268.408b6da9.chunk.js rename portal-ui/build/static/js/{1268.819d9108.chunk.js.map => 1268.408b6da9.chunk.js.map} (98%) delete mode 100644 portal-ui/build/static/js/1268.819d9108.chunk.js create mode 100644 portal-ui/build/static/js/1367.00454bc0.chunk.js rename portal-ui/build/static/js/{1367.18b69587.chunk.js.map => 1367.00454bc0.chunk.js.map} (99%) delete mode 100644 portal-ui/build/static/js/1367.18b69587.chunk.js delete mode 100644 portal-ui/build/static/js/1379.24a75cea.chunk.js delete mode 100644 portal-ui/build/static/js/1379.24a75cea.chunk.js.map create mode 100644 portal-ui/build/static/js/1379.d515229f.chunk.js create mode 100644 portal-ui/build/static/js/1379.d515229f.chunk.js.map delete mode 100644 portal-ui/build/static/js/1440.2f369689.chunk.js delete mode 100644 portal-ui/build/static/js/1440.2f369689.chunk.js.map create mode 100644 portal-ui/build/static/js/1440.d3fd88ff.chunk.js create mode 100644 portal-ui/build/static/js/1440.d3fd88ff.chunk.js.map create mode 100644 portal-ui/build/static/js/1465.4525f636.chunk.js create mode 100644 portal-ui/build/static/js/1465.4525f636.chunk.js.map rename portal-ui/build/static/js/{1501.5f62a612.chunk.js => 1501.45b91938.chunk.js} (98%) rename portal-ui/build/static/js/{1501.5f62a612.chunk.js.map => 1501.45b91938.chunk.js.map} (99%) create mode 100644 portal-ui/build/static/js/1581.3b60face.chunk.js rename portal-ui/build/static/js/{1581.5d8bdb2a.chunk.js.map => 1581.3b60face.chunk.js.map} (98%) delete mode 100644 portal-ui/build/static/js/1581.5d8bdb2a.chunk.js delete mode 100644 portal-ui/build/static/js/1604.d6abf9f0.chunk.js create mode 100644 portal-ui/build/static/js/1604.fa7e2b2f.chunk.js rename portal-ui/build/static/js/{1604.d6abf9f0.chunk.js.map => 1604.fa7e2b2f.chunk.js.map} (98%) rename portal-ui/build/static/js/{1799.90db5583.chunk.js => 1799.46eb9579.chunk.js} (96%) rename portal-ui/build/static/js/{1799.90db5583.chunk.js.map => 1799.46eb9579.chunk.js.map} (99%) delete mode 100644 portal-ui/build/static/js/1829.4d8548a9.chunk.js.map rename portal-ui/build/static/js/{1829.4d8548a9.chunk.js => 1829.c686ac0f.chunk.js} (86%) create mode 100644 portal-ui/build/static/js/1829.c686ac0f.chunk.js.map create mode 100644 portal-ui/build/static/js/1903.42b70cf0.chunk.js rename portal-ui/build/static/js/{3870.a1265f93.chunk.js.LICENSE.txt => 1903.42b70cf0.chunk.js.LICENSE.txt} (100%) create mode 100644 portal-ui/build/static/js/1903.42b70cf0.chunk.js.map create mode 100644 portal-ui/build/static/js/1913.1bb254fb.chunk.js rename portal-ui/build/static/js/{1913.62bd1877.chunk.js.map => 1913.1bb254fb.chunk.js.map} (99%) delete mode 100644 portal-ui/build/static/js/1913.62bd1877.chunk.js rename portal-ui/build/static/js/{2112.93e2056f.chunk.js => 2112.6b7837dd.chunk.js} (90%) rename portal-ui/build/static/js/{2112.93e2056f.chunk.js.map => 2112.6b7837dd.chunk.js.map} (98%) delete mode 100644 portal-ui/build/static/js/2180.14bc77fc.chunk.js create mode 100644 portal-ui/build/static/js/2180.ecd3ab8b.chunk.js rename portal-ui/build/static/js/{2180.14bc77fc.chunk.js.map => 2180.ecd3ab8b.chunk.js.map} (99%) rename portal-ui/build/static/js/{2185.0b324ec6.chunk.js => 2185.a1da3e17.chunk.js} (85%) rename portal-ui/build/static/js/{2185.0b324ec6.chunk.js.map => 2185.a1da3e17.chunk.js.map} (97%) create mode 100644 portal-ui/build/static/js/2331.288af2ec.chunk.js create mode 100644 portal-ui/build/static/js/2331.288af2ec.chunk.js.map rename portal-ui/build/static/js/{2338.4512b89d.chunk.js => 2338.0ee15506.chunk.js} (95%) rename portal-ui/build/static/js/{2338.4512b89d.chunk.js.map => 2338.0ee15506.chunk.js.map} (99%) rename portal-ui/build/static/js/{2408.d23e2b83.chunk.js => 2408.40adaebd.chunk.js} (89%) rename portal-ui/build/static/js/{2408.d23e2b83.chunk.js.map => 2408.40adaebd.chunk.js.map} (98%) delete mode 100644 portal-ui/build/static/js/247.6ff1fc3d.chunk.js create mode 100644 portal-ui/build/static/js/247.b3ec6497.chunk.js rename portal-ui/build/static/js/{247.6ff1fc3d.chunk.js.map => 247.b3ec6497.chunk.js.map} (98%) create mode 100644 portal-ui/build/static/js/2555.6b5ff50d.chunk.js create mode 100644 portal-ui/build/static/js/2555.6b5ff50d.chunk.js.map delete mode 100644 portal-ui/build/static/js/2555.90c0fc7f.chunk.js delete mode 100644 portal-ui/build/static/js/2555.90c0fc7f.chunk.js.map create mode 100644 portal-ui/build/static/js/2637.2f96b150.chunk.js create mode 100644 portal-ui/build/static/js/2637.2f96b150.chunk.js.map delete mode 100644 portal-ui/build/static/js/2637.583760ab.chunk.js delete mode 100644 portal-ui/build/static/js/2637.583760ab.chunk.js.map rename portal-ui/build/static/js/{2661.358ee4e3.chunk.js => 2661.89815275.chunk.js} (60%) rename portal-ui/build/static/js/{2661.358ee4e3.chunk.js.map => 2661.89815275.chunk.js.map} (99%) rename portal-ui/build/static/js/{2684.e4fdac0b.chunk.js => 2684.adde116d.chunk.js} (85%) rename portal-ui/build/static/js/{2684.e4fdac0b.chunk.js.map => 2684.adde116d.chunk.js.map} (99%) delete mode 100644 portal-ui/build/static/js/2763.d85f5750.chunk.js delete mode 100644 portal-ui/build/static/js/2763.d85f5750.chunk.js.map create mode 100644 portal-ui/build/static/js/2763.fadd6aec.chunk.js create mode 100644 portal-ui/build/static/js/2763.fadd6aec.chunk.js.map delete mode 100644 portal-ui/build/static/js/2850.8a62b572.chunk.js create mode 100644 portal-ui/build/static/js/2850.dcbfd98c.chunk.js rename portal-ui/build/static/js/{2850.8a62b572.chunk.js.map => 2850.dcbfd98c.chunk.js.map} (99%) rename portal-ui/build/static/js/{2983.32d442f0.chunk.js => 2983.26b296ba.chunk.js} (51%) create mode 100644 portal-ui/build/static/js/2983.26b296ba.chunk.js.map delete mode 100644 portal-ui/build/static/js/2983.32d442f0.chunk.js.map rename portal-ui/build/static/js/{312.aefc992a.chunk.js => 312.3a15e683.chunk.js} (87%) rename portal-ui/build/static/js/{312.aefc992a.chunk.js.map => 312.3a15e683.chunk.js.map} (98%) rename portal-ui/build/static/js/{3328.f02a2e4c.chunk.js => 3328.5e637c6f.chunk.js} (99%) rename portal-ui/build/static/js/{3328.f02a2e4c.chunk.js.map => 3328.5e637c6f.chunk.js.map} (99%) delete mode 100644 portal-ui/build/static/js/343.34f42ca3.chunk.js delete mode 100644 portal-ui/build/static/js/343.34f42ca3.chunk.js.map create mode 100644 portal-ui/build/static/js/343.85ab615d.chunk.js create mode 100644 portal-ui/build/static/js/343.85ab615d.chunk.js.map create mode 100644 portal-ui/build/static/js/3543.cae2b3f6.chunk.js rename portal-ui/build/static/js/{3543.e9873e41.chunk.js.map => 3543.cae2b3f6.chunk.js.map} (99%) delete mode 100644 portal-ui/build/static/js/3543.e9873e41.chunk.js create mode 100644 portal-ui/build/static/js/3720.38c690e7.chunk.js create mode 100644 portal-ui/build/static/js/3720.38c690e7.chunk.js.map delete mode 100644 portal-ui/build/static/js/3870.a1265f93.chunk.js delete mode 100644 portal-ui/build/static/js/3870.a1265f93.chunk.js.map create mode 100644 portal-ui/build/static/js/3875.7770313b.chunk.js create mode 100644 portal-ui/build/static/js/3875.7770313b.chunk.js.map delete mode 100644 portal-ui/build/static/js/3875.8ab7c136.chunk.js delete mode 100644 portal-ui/build/static/js/3875.8ab7c136.chunk.js.map delete mode 100644 portal-ui/build/static/js/3956.5a9ef42b.chunk.js create mode 100644 portal-ui/build/static/js/3956.693e1c1b.chunk.js rename portal-ui/build/static/js/{3956.5a9ef42b.chunk.js.map => 3956.693e1c1b.chunk.js.map} (72%) rename portal-ui/build/static/js/{402.bce64a61.chunk.js => 402.626f6141.chunk.js} (90%) rename portal-ui/build/static/js/{402.bce64a61.chunk.js.map => 402.626f6141.chunk.js.map} (98%) delete mode 100644 portal-ui/build/static/js/4061.ba0fb823.chunk.js create mode 100644 portal-ui/build/static/js/4061.d59413d5.chunk.js rename portal-ui/build/static/js/{4061.ba0fb823.chunk.js.map => 4061.d59413d5.chunk.js.map} (99%) delete mode 100644 portal-ui/build/static/js/4096.0367284a.chunk.js delete mode 100644 portal-ui/build/static/js/4096.0367284a.chunk.js.map create mode 100644 portal-ui/build/static/js/4096.f5e55618.chunk.js create mode 100644 portal-ui/build/static/js/4096.f5e55618.chunk.js.map rename portal-ui/build/static/js/{4131.cafeefb0.chunk.js => 4131.e8f67352.chunk.js} (89%) rename portal-ui/build/static/js/{4131.cafeefb0.chunk.js.map => 4131.e8f67352.chunk.js.map} (99%) delete mode 100644 portal-ui/build/static/js/4133.3e13b69a.chunk.js delete mode 100644 portal-ui/build/static/js/4133.3e13b69a.chunk.js.map create mode 100644 portal-ui/build/static/js/4133.a8d9e248.chunk.js create mode 100644 portal-ui/build/static/js/4133.a8d9e248.chunk.js.map create mode 100644 portal-ui/build/static/js/4209.6cbd9842.chunk.js rename portal-ui/build/static/js/{4209.dd491df8.chunk.js.map => 4209.6cbd9842.chunk.js.map} (99%) delete mode 100644 portal-ui/build/static/js/4209.dd491df8.chunk.js create mode 100644 portal-ui/build/static/js/4298.d677cede.chunk.js create mode 100644 portal-ui/build/static/js/4298.d677cede.chunk.js.map delete mode 100644 portal-ui/build/static/js/4298.e34b4f79.chunk.js delete mode 100644 portal-ui/build/static/js/4298.e34b4f79.chunk.js.map rename portal-ui/build/static/js/{4335.d0260e05.chunk.js => 4335.8ab82b9c.chunk.js} (83%) rename portal-ui/build/static/js/{4335.d0260e05.chunk.js.map => 4335.8ab82b9c.chunk.js.map} (75%) create mode 100644 portal-ui/build/static/js/441.5061a06e.chunk.js rename portal-ui/build/static/js/{441.ef3a5a69.chunk.js.map => 441.5061a06e.chunk.js.map} (99%) delete mode 100644 portal-ui/build/static/js/441.ef3a5a69.chunk.js rename portal-ui/build/static/js/{4414.c804fea8.chunk.js => 4414.4d74d89b.chunk.js} (83%) rename portal-ui/build/static/js/{4414.c804fea8.chunk.js.map => 4414.4d74d89b.chunk.js.map} (99%) rename portal-ui/build/static/js/{455.64f2adc7.chunk.js => 455.89cfe65b.chunk.js} (88%) rename portal-ui/build/static/js/{455.64f2adc7.chunk.js.map => 455.89cfe65b.chunk.js.map} (98%) delete mode 100644 portal-ui/build/static/js/4619.82c18241.chunk.js create mode 100644 portal-ui/build/static/js/4619.c41b384a.chunk.js rename portal-ui/build/static/js/{4619.82c18241.chunk.js.map => 4619.c41b384a.chunk.js.map} (98%) delete mode 100644 portal-ui/build/static/js/4709.8bd47e6f.chunk.js delete mode 100644 portal-ui/build/static/js/4709.8bd47e6f.chunk.js.map delete mode 100644 portal-ui/build/static/js/4827.a3ee5d0a.chunk.js delete mode 100644 portal-ui/build/static/js/4827.a3ee5d0a.chunk.js.map create mode 100644 portal-ui/build/static/js/483.5b997456.chunk.js create mode 100644 portal-ui/build/static/js/483.5b997456.chunk.js.map delete mode 100644 portal-ui/build/static/js/483.b40960b4.chunk.js delete mode 100644 portal-ui/build/static/js/483.b40960b4.chunk.js.map delete mode 100644 portal-ui/build/static/js/4902.0ccf317b.chunk.js create mode 100644 portal-ui/build/static/js/4902.124ab092.chunk.js rename portal-ui/build/static/js/{4902.0ccf317b.chunk.js.map => 4902.124ab092.chunk.js.map} (99%) delete mode 100644 portal-ui/build/static/js/5088.2338ab8d.chunk.js delete mode 100644 portal-ui/build/static/js/5088.2338ab8d.chunk.js.map create mode 100644 portal-ui/build/static/js/5088.40235e2d.chunk.js create mode 100644 portal-ui/build/static/js/5088.40235e2d.chunk.js.map delete mode 100644 portal-ui/build/static/js/51.c461d317.chunk.js delete mode 100644 portal-ui/build/static/js/51.c461d317.chunk.js.map create mode 100644 portal-ui/build/static/js/51.d24a0589.chunk.js create mode 100644 portal-ui/build/static/js/51.d24a0589.chunk.js.map delete mode 100644 portal-ui/build/static/js/5112.626a10bf.chunk.js.map rename portal-ui/build/static/js/{5112.626a10bf.chunk.js => 5112.65587729.chunk.js} (98%) create mode 100644 portal-ui/build/static/js/5112.65587729.chunk.js.map rename portal-ui/build/static/js/{5223.6b25d26b.chunk.js => 5223.96f3ec77.chunk.js} (85%) rename portal-ui/build/static/js/{5223.6b25d26b.chunk.js.map => 5223.96f3ec77.chunk.js.map} (98%) rename portal-ui/build/static/js/{5367.81c2d437.chunk.js => 5367.6280cd0d.chunk.js} (60%) rename portal-ui/build/static/js/{5367.81c2d437.chunk.js.map => 5367.6280cd0d.chunk.js.map} (99%) create mode 100644 portal-ui/build/static/js/5503.863b708f.chunk.js create mode 100644 portal-ui/build/static/js/5503.863b708f.chunk.js.map delete mode 100644 portal-ui/build/static/js/5503.e6dfff1f.chunk.js delete mode 100644 portal-ui/build/static/js/5503.e6dfff1f.chunk.js.map create mode 100644 portal-ui/build/static/js/5517.23418977.chunk.js create mode 100644 portal-ui/build/static/js/5517.23418977.chunk.js.map delete mode 100644 portal-ui/build/static/js/5517.d57943c6.chunk.js delete mode 100644 portal-ui/build/static/js/5517.d57943c6.chunk.js.map create mode 100644 portal-ui/build/static/js/5643.706d28f9.chunk.js create mode 100644 portal-ui/build/static/js/5643.706d28f9.chunk.js.map delete mode 100644 portal-ui/build/static/js/5643.bca52423.chunk.js delete mode 100644 portal-ui/build/static/js/5643.bca52423.chunk.js.map create mode 100644 portal-ui/build/static/js/5857.432b0de4.chunk.js rename portal-ui/build/static/js/{5857.4e539816.chunk.js.map => 5857.432b0de4.chunk.js.map} (99%) delete mode 100644 portal-ui/build/static/js/5857.4e539816.chunk.js create mode 100644 portal-ui/build/static/js/5861.af51c5d9.chunk.js create mode 100644 portal-ui/build/static/js/5861.af51c5d9.chunk.js.map delete mode 100644 portal-ui/build/static/js/5861.efde54e7.chunk.js delete mode 100644 portal-ui/build/static/js/5861.efde54e7.chunk.js.map rename portal-ui/build/static/js/{5926.6813a97f.chunk.js => 5926.ef852b88.chunk.js} (98%) rename portal-ui/build/static/js/{5926.6813a97f.chunk.js.map => 5926.ef852b88.chunk.js.map} (99%) delete mode 100644 portal-ui/build/static/js/6137.2bd06c0c.chunk.js create mode 100644 portal-ui/build/static/js/6137.a74f25a3.chunk.js rename portal-ui/build/static/js/{6137.2bd06c0c.chunk.js.map => 6137.a74f25a3.chunk.js.map} (99%) rename portal-ui/build/static/js/{6405.61f72110.chunk.js => 6405.7ed910f9.chunk.js} (90%) rename portal-ui/build/static/js/{6405.61f72110.chunk.js.map => 6405.7ed910f9.chunk.js.map} (99%) create mode 100644 portal-ui/build/static/js/6413.17138886.chunk.js rename portal-ui/build/static/js/{6413.632972f1.chunk.js.map => 6413.17138886.chunk.js.map} (99%) delete mode 100644 portal-ui/build/static/js/6413.632972f1.chunk.js create mode 100644 portal-ui/build/static/js/6526.296ba888.chunk.js rename portal-ui/build/static/js/{6526.904dad0c.chunk.js.map => 6526.296ba888.chunk.js.map} (99%) delete mode 100644 portal-ui/build/static/js/6526.904dad0c.chunk.js rename portal-ui/build/static/js/{6577.c8329c4f.chunk.js => 6577.8f9494b2.chunk.js} (55%) rename portal-ui/build/static/js/{6577.c8329c4f.chunk.js.map => 6577.8f9494b2.chunk.js.map} (99%) rename portal-ui/build/static/js/{6604.56df4486.chunk.js => 6604.45252fd1.chunk.js} (69%) create mode 100644 portal-ui/build/static/js/6604.45252fd1.chunk.js.map delete mode 100644 portal-ui/build/static/js/6604.56df4486.chunk.js.map rename portal-ui/build/static/js/{6763.d4ff8d6b.chunk.js => 6763.d7ead4a5.chunk.js} (75%) rename portal-ui/build/static/js/{6763.d4ff8d6b.chunk.js.map => 6763.d7ead4a5.chunk.js.map} (99%) delete mode 100644 portal-ui/build/static/js/6895.07c179c4.chunk.js delete mode 100644 portal-ui/build/static/js/6895.07c179c4.chunk.js.map create mode 100644 portal-ui/build/static/js/6895.54b01aaa.chunk.js create mode 100644 portal-ui/build/static/js/6895.54b01aaa.chunk.js.map delete mode 100644 portal-ui/build/static/js/6901.1be7690b.chunk.js create mode 100644 portal-ui/build/static/js/6901.e2472ebd.chunk.js rename portal-ui/build/static/js/{6901.1be7690b.chunk.js.map => 6901.e2472ebd.chunk.js.map} (99%) rename portal-ui/build/static/js/{6914.57144791.chunk.js => 6914.8c73a010.chunk.js} (83%) rename portal-ui/build/static/js/{6914.57144791.chunk.js.map => 6914.8c73a010.chunk.js.map} (98%) rename portal-ui/build/static/js/{692.acf902c5.chunk.js => 692.bf3eea50.chunk.js} (88%) rename portal-ui/build/static/js/{692.acf902c5.chunk.js.map => 692.bf3eea50.chunk.js.map} (99%) rename portal-ui/build/static/js/{7021.9ea87695.chunk.js => 7021.a571133a.chunk.js} (74%) rename portal-ui/build/static/js/{7021.9ea87695.chunk.js.map => 7021.a571133a.chunk.js.map} (99%) create mode 100644 portal-ui/build/static/js/7092.f9d41c38.chunk.js create mode 100644 portal-ui/build/static/js/7092.f9d41c38.chunk.js.map rename portal-ui/build/static/js/{711.61c682cd.chunk.js => 711.2c20424f.chunk.js} (91%) rename portal-ui/build/static/js/{711.61c682cd.chunk.js.map => 711.2c20424f.chunk.js.map} (98%) create mode 100644 portal-ui/build/static/js/7223.c4364eea.chunk.js create mode 100644 portal-ui/build/static/js/7223.c4364eea.chunk.js.map delete mode 100644 portal-ui/build/static/js/7223.e4750884.chunk.js delete mode 100644 portal-ui/build/static/js/7223.e4750884.chunk.js.map rename portal-ui/build/static/js/{7585.a14bd777.chunk.js => 7585.2f05b1f3.chunk.js} (52%) rename portal-ui/build/static/js/{7585.a14bd777.chunk.js.map => 7585.2f05b1f3.chunk.js.map} (99%) create mode 100644 portal-ui/build/static/js/7588.aa5c4850.chunk.js create mode 100644 portal-ui/build/static/js/7588.aa5c4850.chunk.js.map delete mode 100644 portal-ui/build/static/js/7588.fb99fb33.chunk.js delete mode 100644 portal-ui/build/static/js/7588.fb99fb33.chunk.js.map delete mode 100644 portal-ui/build/static/js/7770.0cb798cf.chunk.js create mode 100644 portal-ui/build/static/js/7770.3664e24d.chunk.js rename portal-ui/build/static/js/{7770.0cb798cf.chunk.js.map => 7770.3664e24d.chunk.js.map} (99%) delete mode 100644 portal-ui/build/static/js/7798.5da0ca4b.chunk.js create mode 100644 portal-ui/build/static/js/7798.e33e9b60.chunk.js rename portal-ui/build/static/js/{7798.5da0ca4b.chunk.js.map => 7798.e33e9b60.chunk.js.map} (99%) rename portal-ui/build/static/js/{7847.4176f3e5.chunk.js => 7847.90a046cb.chunk.js} (97%) rename portal-ui/build/static/js/{7847.4176f3e5.chunk.js.map => 7847.90a046cb.chunk.js.map} (99%) create mode 100644 portal-ui/build/static/js/8277.4222c489.chunk.js create mode 100644 portal-ui/build/static/js/8277.4222c489.chunk.js.map delete mode 100644 portal-ui/build/static/js/8277.ffa83ea5.chunk.js delete mode 100644 portal-ui/build/static/js/8277.ffa83ea5.chunk.js.map rename portal-ui/build/static/js/{8350.d0f71354.chunk.js => 8350.c98738e4.chunk.js} (94%) rename portal-ui/build/static/js/{8350.d0f71354.chunk.js.map => 8350.c98738e4.chunk.js.map} (99%) create mode 100644 portal-ui/build/static/js/8360.105f809d.chunk.js create mode 100644 portal-ui/build/static/js/8360.105f809d.chunk.js.map delete mode 100644 portal-ui/build/static/js/8360.b7b61982.chunk.js delete mode 100644 portal-ui/build/static/js/8360.b7b61982.chunk.js.map create mode 100644 portal-ui/build/static/js/8391.0411f28f.chunk.js rename portal-ui/build/static/js/{8391.93be3c76.chunk.js.map => 8391.0411f28f.chunk.js.map} (98%) delete mode 100644 portal-ui/build/static/js/8391.93be3c76.chunk.js create mode 100644 portal-ui/build/static/js/8455.2f5d0d0a.chunk.js rename portal-ui/build/static/js/{8455.ac01170a.chunk.js.map => 8455.2f5d0d0a.chunk.js.map} (98%) delete mode 100644 portal-ui/build/static/js/8455.ac01170a.chunk.js create mode 100644 portal-ui/build/static/js/8833.3556cd36.chunk.js create mode 100644 portal-ui/build/static/js/8833.3556cd36.chunk.js.map delete mode 100644 portal-ui/build/static/js/8833.9f18e03b.chunk.js delete mode 100644 portal-ui/build/static/js/8833.9f18e03b.chunk.js.map rename portal-ui/build/static/js/{889.eb646ebf.chunk.js => 889.8c6af0b9.chunk.js} (95%) rename portal-ui/build/static/js/{889.eb646ebf.chunk.js.map => 889.8c6af0b9.chunk.js.map} (99%) rename portal-ui/build/static/js/{8896.042361de.chunk.js => 8896.3ab50b22.chunk.js} (84%) rename portal-ui/build/static/js/{8896.042361de.chunk.js.map => 8896.3ab50b22.chunk.js.map} (98%) rename portal-ui/build/static/js/{8990.d62803ce.chunk.js => 8990.8da3f1b4.chunk.js} (87%) rename portal-ui/build/static/js/{8990.d62803ce.chunk.js.map => 8990.8da3f1b4.chunk.js.map} (98%) delete mode 100644 portal-ui/build/static/js/8998.6a160b0b.chunk.js create mode 100644 portal-ui/build/static/js/8998.b7518624.chunk.js rename portal-ui/build/static/js/{8998.6a160b0b.chunk.js.map => 8998.b7518624.chunk.js.map} (99%) rename portal-ui/build/static/js/{9088.c0ec4658.chunk.js => 9088.131128ad.chunk.js} (95%) rename portal-ui/build/static/js/{9088.c0ec4658.chunk.js.map => 9088.131128ad.chunk.js.map} (99%) rename portal-ui/build/static/js/{9134.f135131b.chunk.js => 9134.76b1bd01.chunk.js} (92%) rename portal-ui/build/static/js/{9134.f135131b.chunk.js.map => 9134.76b1bd01.chunk.js.map} (99%) rename portal-ui/build/static/js/{9145.0a0554bf.chunk.js => 9145.85a731d5.chunk.js} (65%) rename portal-ui/build/static/js/{9145.0a0554bf.chunk.js.map => 9145.85a731d5.chunk.js.map} (98%) create mode 100644 portal-ui/build/static/js/9179.c61083e7.chunk.js create mode 100644 portal-ui/build/static/js/9179.c61083e7.chunk.js.map delete mode 100644 portal-ui/build/static/js/9179.f855888c.chunk.js delete mode 100644 portal-ui/build/static/js/9179.f855888c.chunk.js.map rename portal-ui/build/static/js/{9221.06d80718.chunk.js => 9221.e9f3f525.chunk.js} (85%) rename portal-ui/build/static/js/{9221.06d80718.chunk.js.map => 9221.e9f3f525.chunk.js.map} (98%) delete mode 100644 portal-ui/build/static/js/9251.8024b639.chunk.js delete mode 100644 portal-ui/build/static/js/9251.8024b639.chunk.js.map rename portal-ui/build/static/js/{9297.fb2e535e.chunk.js => 9297.e6332146.chunk.js} (83%) rename portal-ui/build/static/js/{9297.fb2e535e.chunk.js.map => 9297.e6332146.chunk.js.map} (98%) delete mode 100644 portal-ui/build/static/js/9467.361c4c5c.chunk.js delete mode 100644 portal-ui/build/static/js/9467.361c4c5c.chunk.js.map create mode 100644 portal-ui/build/static/js/9467.d0711d5e.chunk.js create mode 100644 portal-ui/build/static/js/9467.d0711d5e.chunk.js.map create mode 100644 portal-ui/build/static/js/9567.cf023e3e.chunk.js rename portal-ui/build/static/js/{9567.f5750d98.chunk.js.map => 9567.cf023e3e.chunk.js.map} (99%) delete mode 100644 portal-ui/build/static/js/9567.f5750d98.chunk.js delete mode 100644 portal-ui/build/static/js/9611.c217768e.chunk.js.map rename portal-ui/build/static/js/{9611.c217768e.chunk.js => 9611.dc6938ca.chunk.js} (94%) create mode 100644 portal-ui/build/static/js/9611.dc6938ca.chunk.js.map rename portal-ui/build/static/js/{9968.481540ab.chunk.js => 9968.89304e6a.chunk.js} (87%) rename portal-ui/build/static/js/{9968.481540ab.chunk.js.map => 9968.89304e6a.chunk.js.map} (98%) create mode 100644 portal-ui/build/static/js/main.3a920b67.js rename portal-ui/build/static/js/{main.a7518a54.js.LICENSE.txt => main.3a920b67.js.LICENSE.txt} (100%) create mode 100644 portal-ui/build/static/js/main.3a920b67.js.map delete mode 100644 portal-ui/build/static/js/main.a7518a54.js delete mode 100644 portal-ui/build/static/js/main.a7518a54.js.map create mode 100644 portal-ui/build/static/media/Lato-Black.9280d87f151e453d884c.woff2 create mode 100644 portal-ui/build/static/media/Lato-Black.efe7c183457352448e1e.woff create mode 100644 portal-ui/build/static/media/Lato-BlackItalic.3061b5464316d87f5dbc.woff2 create mode 100644 portal-ui/build/static/media/Lato-BlackItalic.c329db2ef5efedb87a8e.woff create mode 100644 portal-ui/build/static/media/Lato-Bold.ba3a83adcb94357fc42f.woff create mode 100644 portal-ui/build/static/media/Lato-Bold.ea8a923ec6d3ea7cf7bc.woff2 create mode 100644 portal-ui/build/static/media/Lato-BoldItalic.443bd94393f9d73446c8.woff create mode 100644 portal-ui/build/static/media/Lato-BoldItalic.84607fcdf9af8784aa6e.woff2 create mode 100644 portal-ui/build/static/media/Lato-Hairline.4cf04805197605f0103e.woff2 create mode 100644 portal-ui/build/static/media/Lato-Hairline.8cc2841238f3d3276d9c.woff create mode 100644 portal-ui/build/static/media/Lato-HairlineItalic.540ee912c7282b8bb151.woff create mode 100644 portal-ui/build/static/media/Lato-HairlineItalic.bf1e0782291efebe06da.woff2 create mode 100644 portal-ui/build/static/media/Lato-Italic.251de5f48806485e4c5a.woff create mode 100644 portal-ui/build/static/media/Lato-Italic.d9364c880eec4d4fea78.woff2 create mode 100644 portal-ui/build/static/media/Lato-Light.7e323674c33b3939aba5.woff2 create mode 100644 portal-ui/build/static/media/Lato-Light.91308c0216b40aad1603.woff create mode 100644 portal-ui/build/static/media/Lato-LightItalic.0ea7656d6a58e3f9853b.woff2 create mode 100644 portal-ui/build/static/media/Lato-LightItalic.6876f3b2e440df8eab71.woff create mode 100644 portal-ui/build/static/media/Lato-Regular.39ac38d8a27bed2a16e4.woff2 create mode 100644 portal-ui/build/static/media/Lato-Regular.77ca2742388f408c3be7.woff create mode 100644 portal-ui/build/static/media/Lato-Thin.1549cf8478615fc56aa3.woff create mode 100644 portal-ui/build/static/media/Lato-Thin.c84b392f9e0187c54528.woff2 diff --git a/k8s/operator-console/base/console-deployment.yaml b/k8s/operator-console/base/console-deployment.yaml index b33d6725a..72e37efc0 100644 --- a/k8s/operator-console/base/console-deployment.yaml +++ b/k8s/operator-console/base/console-deployment.yaml @@ -15,7 +15,7 @@ spec: serviceAccountName: console-sa containers: - name: console - image: 'minio/console:v0.21.1' + image: 'minio/console:v0.21.2' imagePullPolicy: "IfNotPresent" env: - name: CONSOLE_OPERATOR_MODE diff --git a/k8s/operator-console/standalone/console-deployment.yaml b/k8s/operator-console/standalone/console-deployment.yaml index 8b2f715d3..cc492f868 100644 --- a/k8s/operator-console/standalone/console-deployment.yaml +++ b/k8s/operator-console/standalone/console-deployment.yaml @@ -32,7 +32,7 @@ spec: spec: containers: - name: console - image: 'minio/console:v0.21.1' + image: 'minio/console:v0.21.2' imagePullPolicy: "IfNotPresent" env: - name: CONSOLE_MINIO_SERVER diff --git a/portal-ui/build/asset-manifest.json b/portal-ui/build/asset-manifest.json index bbc20fb86..7912df798 100644 --- a/portal-ui/build/asset-manifest.json +++ b/portal-ui/build/asset-manifest.json @@ -1,129 +1,129 @@ { "files": { "main.css": "./static/css/main.b20a708b.css", - "main.js": "./static/js/main.a7518a54.js", + "main.js": "./static/js/main.3a920b67.js", "static/js/1260.5248e62a.chunk.js": "./static/js/1260.5248e62a.chunk.js", - "static/js/6914.57144791.chunk.js": "./static/js/6914.57144791.chunk.js", - "static/js/4209.dd491df8.chunk.js": "./static/js/4209.dd491df8.chunk.js", - "static/js/1829.4d8548a9.chunk.js": "./static/js/1829.4d8548a9.chunk.js", - "static/js/5857.4e539816.chunk.js": "./static/js/5857.4e539816.chunk.js", - "static/js/5088.2338ab8d.chunk.js": "./static/js/5088.2338ab8d.chunk.js", + "static/js/6914.8c73a010.chunk.js": "./static/js/6914.8c73a010.chunk.js", + "static/js/4209.6cbd9842.chunk.js": "./static/js/4209.6cbd9842.chunk.js", + "static/js/1829.c686ac0f.chunk.js": "./static/js/1829.c686ac0f.chunk.js", + "static/js/5857.432b0de4.chunk.js": "./static/js/5857.432b0de4.chunk.js", + "static/js/5088.40235e2d.chunk.js": "./static/js/5088.40235e2d.chunk.js", "static/js/5140.29fde8ff.chunk.js": "./static/js/5140.29fde8ff.chunk.js", "static/js/852.8313f23d.chunk.js": "./static/js/852.8313f23d.chunk.js", "static/css/7588.9cb5f34b.chunk.css": "./static/css/7588.9cb5f34b.chunk.css", - "static/js/7588.fb99fb33.chunk.js": "./static/js/7588.fb99fb33.chunk.js", + "static/js/7588.aa5c4850.chunk.js": "./static/js/7588.aa5c4850.chunk.js", "static/js/3176.59846ccd.chunk.js": "./static/js/3176.59846ccd.chunk.js", - "static/js/6137.2bd06c0c.chunk.js": "./static/js/6137.2bd06c0c.chunk.js", + "static/js/6137.a74f25a3.chunk.js": "./static/js/6137.a74f25a3.chunk.js", "static/js/7045.73a51a5c.chunk.js": "./static/js/7045.73a51a5c.chunk.js", - "static/js/9251.8024b639.chunk.js": "./static/js/9251.8024b639.chunk.js", - "static/js/2338.4512b89d.chunk.js": "./static/js/2338.4512b89d.chunk.js", - "static/js/4335.d0260e05.chunk.js": "./static/js/4335.d0260e05.chunk.js", - "static/js/6604.56df4486.chunk.js": "./static/js/6604.56df4486.chunk.js", - "static/js/6763.d4ff8d6b.chunk.js": "./static/js/6763.d4ff8d6b.chunk.js", - "static/js/3543.e9873e41.chunk.js": "./static/js/3543.e9873e41.chunk.js", - "static/js/4061.ba0fb823.chunk.js": "./static/js/4061.ba0fb823.chunk.js", - "static/js/5112.626a10bf.chunk.js": "./static/js/5112.626a10bf.chunk.js", - "static/js/9611.c217768e.chunk.js": "./static/js/9611.c217768e.chunk.js", - "static/js/2637.583760ab.chunk.js": "./static/js/2637.583760ab.chunk.js", + "static/js/7092.f9d41c38.chunk.js": "./static/js/7092.f9d41c38.chunk.js", + "static/js/2338.0ee15506.chunk.js": "./static/js/2338.0ee15506.chunk.js", + "static/js/4335.8ab82b9c.chunk.js": "./static/js/4335.8ab82b9c.chunk.js", + "static/js/6604.45252fd1.chunk.js": "./static/js/6604.45252fd1.chunk.js", + "static/js/6763.d7ead4a5.chunk.js": "./static/js/6763.d7ead4a5.chunk.js", + "static/js/3543.cae2b3f6.chunk.js": "./static/js/3543.cae2b3f6.chunk.js", + "static/js/4061.d59413d5.chunk.js": "./static/js/4061.d59413d5.chunk.js", + "static/js/5112.65587729.chunk.js": "./static/js/5112.65587729.chunk.js", + "static/js/9611.dc6938ca.chunk.js": "./static/js/9611.dc6938ca.chunk.js", + "static/js/2637.2f96b150.chunk.js": "./static/js/2637.2f96b150.chunk.js", "static/css/5503.9cb5f34b.chunk.css": "./static/css/5503.9cb5f34b.chunk.css", - "static/js/5503.e6dfff1f.chunk.js": "./static/js/5503.e6dfff1f.chunk.js", - "static/js/5926.6813a97f.chunk.js": "./static/js/5926.6813a97f.chunk.js", + "static/js/5503.863b708f.chunk.js": "./static/js/5503.863b708f.chunk.js", + "static/js/5926.ef852b88.chunk.js": "./static/js/5926.ef852b88.chunk.js", "static/js/701.ab5785ea.chunk.js": "./static/js/701.ab5785ea.chunk.js", "static/js/7821.461c5aa3.chunk.js": "./static/js/7821.461c5aa3.chunk.js", "static/css/2850.9cb5f34b.chunk.css": "./static/css/2850.9cb5f34b.chunk.css", - "static/js/2850.8a62b572.chunk.js": "./static/js/2850.8a62b572.chunk.js", - "static/js/4131.cafeefb0.chunk.js": "./static/js/4131.cafeefb0.chunk.js", + "static/js/2850.dcbfd98c.chunk.js": "./static/js/2850.dcbfd98c.chunk.js", + "static/js/4131.e8f67352.chunk.js": "./static/js/4131.e8f67352.chunk.js", "static/css/343.9cb5f34b.chunk.css": "./static/css/343.9cb5f34b.chunk.css", - "static/js/343.34f42ca3.chunk.js": "./static/js/343.34f42ca3.chunk.js", + "static/js/343.85ab615d.chunk.js": "./static/js/343.85ab615d.chunk.js", "static/css/1199.9cb5f34b.chunk.css": "./static/css/1199.9cb5f34b.chunk.css", - "static/js/1199.503e1d6b.chunk.js": "./static/js/1199.503e1d6b.chunk.js", + "static/js/1199.0f0e2d2b.chunk.js": "./static/js/1199.0f0e2d2b.chunk.js", "static/css/5517.9cb5f34b.chunk.css": "./static/css/5517.9cb5f34b.chunk.css", - "static/js/5517.d57943c6.chunk.js": "./static/js/5517.d57943c6.chunk.js", - "static/js/2555.90c0fc7f.chunk.js": "./static/js/2555.90c0fc7f.chunk.js", - "static/js/7585.a14bd777.chunk.js": "./static/js/7585.a14bd777.chunk.js", - "static/js/4902.0ccf317b.chunk.js": "./static/js/4902.0ccf317b.chunk.js", - "static/js/7847.4176f3e5.chunk.js": "./static/js/7847.4176f3e5.chunk.js", - "static/js/4096.0367284a.chunk.js": "./static/js/4096.0367284a.chunk.js", - "static/js/692.acf902c5.chunk.js": "./static/js/692.acf902c5.chunk.js", - "static/js/6413.632972f1.chunk.js": "./static/js/6413.632972f1.chunk.js", - "static/js/8360.b7b61982.chunk.js": "./static/js/8360.b7b61982.chunk.js", - "static/js/6577.c8329c4f.chunk.js": "./static/js/6577.c8329c4f.chunk.js", - "static/js/3875.8ab7c136.chunk.js": "./static/js/3875.8ab7c136.chunk.js", - "static/js/106.4385cff3.chunk.js": "./static/js/106.4385cff3.chunk.js", - "static/js/7223.e4750884.chunk.js": "./static/js/7223.e4750884.chunk.js", + "static/js/5517.23418977.chunk.js": "./static/js/5517.23418977.chunk.js", + "static/js/2555.6b5ff50d.chunk.js": "./static/js/2555.6b5ff50d.chunk.js", + "static/js/7585.2f05b1f3.chunk.js": "./static/js/7585.2f05b1f3.chunk.js", + "static/js/4902.124ab092.chunk.js": "./static/js/4902.124ab092.chunk.js", + "static/js/7847.90a046cb.chunk.js": "./static/js/7847.90a046cb.chunk.js", + "static/js/4096.f5e55618.chunk.js": "./static/js/4096.f5e55618.chunk.js", + "static/js/692.bf3eea50.chunk.js": "./static/js/692.bf3eea50.chunk.js", + "static/js/6413.17138886.chunk.js": "./static/js/6413.17138886.chunk.js", + "static/js/8360.105f809d.chunk.js": "./static/js/8360.105f809d.chunk.js", + "static/js/6577.8f9494b2.chunk.js": "./static/js/6577.8f9494b2.chunk.js", + "static/js/3875.7770313b.chunk.js": "./static/js/3875.7770313b.chunk.js", + "static/js/106.72d23b2d.chunk.js": "./static/js/106.72d23b2d.chunk.js", + "static/js/7223.c4364eea.chunk.js": "./static/js/7223.c4364eea.chunk.js", "static/js/5726.dff06c96.chunk.js": "./static/js/5726.dff06c96.chunk.js", - "static/js/5643.bca52423.chunk.js": "./static/js/5643.bca52423.chunk.js", + "static/js/5643.706d28f9.chunk.js": "./static/js/5643.706d28f9.chunk.js", "static/js/4781.f4794912.chunk.js": "./static/js/4781.f4794912.chunk.js", "static/js/9478.a335fb0f.chunk.js": "./static/js/9478.a335fb0f.chunk.js", "static/js/7164.3762a0c0.chunk.js": "./static/js/7164.3762a0c0.chunk.js", - "static/js/4414.c804fea8.chunk.js": "./static/js/4414.c804fea8.chunk.js", - "static/js/7798.5da0ca4b.chunk.js": "./static/js/7798.5da0ca4b.chunk.js", - "static/js/8833.9f18e03b.chunk.js": "./static/js/8833.9f18e03b.chunk.js", - "static/js/6526.904dad0c.chunk.js": "./static/js/6526.904dad0c.chunk.js", - "static/js/483.b40960b4.chunk.js": "./static/js/483.b40960b4.chunk.js", - "static/js/9467.361c4c5c.chunk.js": "./static/js/9467.361c4c5c.chunk.js", - "static/js/6895.07c179c4.chunk.js": "./static/js/6895.07c179c4.chunk.js", - "static/js/1379.24a75cea.chunk.js": "./static/js/1379.24a75cea.chunk.js", - "static/js/8277.ffa83ea5.chunk.js": "./static/js/8277.ffa83ea5.chunk.js", - "static/js/4133.3e13b69a.chunk.js": "./static/js/4133.3e13b69a.chunk.js", + "static/js/4414.4d74d89b.chunk.js": "./static/js/4414.4d74d89b.chunk.js", + "static/js/7798.e33e9b60.chunk.js": "./static/js/7798.e33e9b60.chunk.js", + "static/js/8833.3556cd36.chunk.js": "./static/js/8833.3556cd36.chunk.js", + "static/js/6526.296ba888.chunk.js": "./static/js/6526.296ba888.chunk.js", + "static/js/483.5b997456.chunk.js": "./static/js/483.5b997456.chunk.js", + "static/js/9467.d0711d5e.chunk.js": "./static/js/9467.d0711d5e.chunk.js", + "static/js/6895.54b01aaa.chunk.js": "./static/js/6895.54b01aaa.chunk.js", + "static/js/1379.d515229f.chunk.js": "./static/js/1379.d515229f.chunk.js", + "static/js/8277.4222c489.chunk.js": "./static/js/8277.4222c489.chunk.js", + "static/js/4133.a8d9e248.chunk.js": "./static/js/4133.a8d9e248.chunk.js", "static/css/1367.9cb5f34b.chunk.css": "./static/css/1367.9cb5f34b.chunk.css", - "static/js/1367.18b69587.chunk.js": "./static/js/1367.18b69587.chunk.js", - "static/js/3956.5a9ef42b.chunk.js": "./static/js/3956.5a9ef42b.chunk.js", - "static/js/9221.06d80718.chunk.js": "./static/js/9221.06d80718.chunk.js", - "static/js/8896.042361de.chunk.js": "./static/js/8896.042361de.chunk.js", - "static/js/9134.f135131b.chunk.js": "./static/js/9134.f135131b.chunk.js", + "static/js/1367.00454bc0.chunk.js": "./static/js/1367.00454bc0.chunk.js", + "static/js/3956.693e1c1b.chunk.js": "./static/js/3956.693e1c1b.chunk.js", + "static/js/9221.e9f3f525.chunk.js": "./static/js/9221.e9f3f525.chunk.js", + "static/js/8896.3ab50b22.chunk.js": "./static/js/8896.3ab50b22.chunk.js", + "static/js/9134.76b1bd01.chunk.js": "./static/js/9134.76b1bd01.chunk.js", "static/css/1268.9cb5f34b.chunk.css": "./static/css/1268.9cb5f34b.chunk.css", - "static/js/1268.819d9108.chunk.js": "./static/js/1268.819d9108.chunk.js", - "static/js/441.ef3a5a69.chunk.js": "./static/js/441.ef3a5a69.chunk.js", - "static/js/9145.0a0554bf.chunk.js": "./static/js/9145.0a0554bf.chunk.js", - "static/js/8998.6a160b0b.chunk.js": "./static/js/8998.6a160b0b.chunk.js", - "static/js/1501.5f62a612.chunk.js": "./static/js/1501.5f62a612.chunk.js", - "static/js/7770.0cb798cf.chunk.js": "./static/js/7770.0cb798cf.chunk.js", + "static/js/1268.408b6da9.chunk.js": "./static/js/1268.408b6da9.chunk.js", + "static/js/441.5061a06e.chunk.js": "./static/js/441.5061a06e.chunk.js", + "static/js/9145.85a731d5.chunk.js": "./static/js/9145.85a731d5.chunk.js", + "static/js/8998.b7518624.chunk.js": "./static/js/8998.b7518624.chunk.js", + "static/js/1501.45b91938.chunk.js": "./static/js/1501.45b91938.chunk.js", + "static/js/7770.3664e24d.chunk.js": "./static/js/7770.3664e24d.chunk.js", "static/js/426.82aff597.chunk.js": "./static/js/426.82aff597.chunk.js", "static/js/5608.bf0a4f01.chunk.js": "./static/js/5608.bf0a4f01.chunk.js", "static/js/2878.8dd5ace8.chunk.js": "./static/js/2878.8dd5ace8.chunk.js", "static/js/8495.b1689c2d.chunk.js": "./static/js/8495.b1689c2d.chunk.js", "static/js/4934.72071d47.chunk.js": "./static/js/4934.72071d47.chunk.js", "static/js/9942.78febb7d.chunk.js": "./static/js/9942.78febb7d.chunk.js", - "static/js/7021.9ea87695.chunk.js": "./static/js/7021.9ea87695.chunk.js", - "static/js/2684.e4fdac0b.chunk.js": "./static/js/2684.e4fdac0b.chunk.js", + "static/js/7021.a571133a.chunk.js": "./static/js/7021.a571133a.chunk.js", + "static/js/2684.adde116d.chunk.js": "./static/js/2684.adde116d.chunk.js", "static/css/9567.9cb5f34b.chunk.css": "./static/css/9567.9cb5f34b.chunk.css", - "static/js/9567.f5750d98.chunk.js": "./static/js/9567.f5750d98.chunk.js", - "static/js/8350.d0f71354.chunk.js": "./static/js/8350.d0f71354.chunk.js", + "static/js/9567.cf023e3e.chunk.js": "./static/js/9567.cf023e3e.chunk.js", + "static/js/8350.c98738e4.chunk.js": "./static/js/8350.c98738e4.chunk.js", "static/js/4873.9349e8b2.chunk.js": "./static/js/4873.9349e8b2.chunk.js", - "static/js/5367.81c2d437.chunk.js": "./static/js/5367.81c2d437.chunk.js", - "static/js/6405.61f72110.chunk.js": "./static/js/6405.61f72110.chunk.js", - "static/js/5223.6b25d26b.chunk.js": "./static/js/5223.6b25d26b.chunk.js", - "static/js/1799.90db5583.chunk.js": "./static/js/1799.90db5583.chunk.js", - "static/js/9297.fb2e535e.chunk.js": "./static/js/9297.fb2e535e.chunk.js", - "static/js/9968.481540ab.chunk.js": "./static/js/9968.481540ab.chunk.js", - "static/js/2180.14bc77fc.chunk.js": "./static/js/2180.14bc77fc.chunk.js", + "static/js/5367.6280cd0d.chunk.js": "./static/js/5367.6280cd0d.chunk.js", + "static/js/6405.7ed910f9.chunk.js": "./static/js/6405.7ed910f9.chunk.js", + "static/js/5223.96f3ec77.chunk.js": "./static/js/5223.96f3ec77.chunk.js", + "static/js/1799.46eb9579.chunk.js": "./static/js/1799.46eb9579.chunk.js", + "static/js/9297.e6332146.chunk.js": "./static/js/9297.e6332146.chunk.js", + "static/js/9968.89304e6a.chunk.js": "./static/js/9968.89304e6a.chunk.js", + "static/js/2180.ecd3ab8b.chunk.js": "./static/js/2180.ecd3ab8b.chunk.js", "static/js/8253.fa95cf82.chunk.js": "./static/js/8253.fa95cf82.chunk.js", - "static/js/3328.f02a2e4c.chunk.js": "./static/js/3328.f02a2e4c.chunk.js", - "static/js/1440.2f369689.chunk.js": "./static/js/1440.2f369689.chunk.js", - "static/js/9179.f855888c.chunk.js": "./static/js/9179.f855888c.chunk.js", - "static/js/51.c461d317.chunk.js": "./static/js/51.c461d317.chunk.js", - "static/js/711.61c682cd.chunk.js": "./static/js/711.61c682cd.chunk.js", - "static/js/6901.1be7690b.chunk.js": "./static/js/6901.1be7690b.chunk.js", - "static/js/2185.0b324ec6.chunk.js": "./static/js/2185.0b324ec6.chunk.js", - "static/js/312.aefc992a.chunk.js": "./static/js/312.aefc992a.chunk.js", - "static/js/2112.93e2056f.chunk.js": "./static/js/2112.93e2056f.chunk.js", - "static/js/4619.82c18241.chunk.js": "./static/js/4619.82c18241.chunk.js", - "static/js/8990.d62803ce.chunk.js": "./static/js/8990.d62803ce.chunk.js", - "static/js/8455.ac01170a.chunk.js": "./static/js/8455.ac01170a.chunk.js", + "static/js/3328.5e637c6f.chunk.js": "./static/js/3328.5e637c6f.chunk.js", + "static/js/1440.d3fd88ff.chunk.js": "./static/js/1440.d3fd88ff.chunk.js", + "static/js/9179.c61083e7.chunk.js": "./static/js/9179.c61083e7.chunk.js", + "static/js/51.d24a0589.chunk.js": "./static/js/51.d24a0589.chunk.js", + "static/js/711.2c20424f.chunk.js": "./static/js/711.2c20424f.chunk.js", + "static/js/6901.e2472ebd.chunk.js": "./static/js/6901.e2472ebd.chunk.js", + "static/js/2185.a1da3e17.chunk.js": "./static/js/2185.a1da3e17.chunk.js", + "static/js/312.3a15e683.chunk.js": "./static/js/312.3a15e683.chunk.js", + "static/js/2112.6b7837dd.chunk.js": "./static/js/2112.6b7837dd.chunk.js", + "static/js/4619.c41b384a.chunk.js": "./static/js/4619.c41b384a.chunk.js", + "static/js/8990.8da3f1b4.chunk.js": "./static/js/8990.8da3f1b4.chunk.js", + "static/js/8455.2f5d0d0a.chunk.js": "./static/js/8455.2f5d0d0a.chunk.js", "static/css/1913.9cb5f34b.chunk.css": "./static/css/1913.9cb5f34b.chunk.css", - "static/js/1913.62bd1877.chunk.js": "./static/js/1913.62bd1877.chunk.js", - "static/js/1604.d6abf9f0.chunk.js": "./static/js/1604.d6abf9f0.chunk.js", - "static/js/8391.93be3c76.chunk.js": "./static/js/8391.93be3c76.chunk.js", - "static/js/402.bce64a61.chunk.js": "./static/js/402.bce64a61.chunk.js", + "static/js/1913.1bb254fb.chunk.js": "./static/js/1913.1bb254fb.chunk.js", + "static/js/1604.fa7e2b2f.chunk.js": "./static/js/1604.fa7e2b2f.chunk.js", + "static/js/8391.0411f28f.chunk.js": "./static/js/8391.0411f28f.chunk.js", + "static/js/402.626f6141.chunk.js": "./static/js/402.626f6141.chunk.js", "static/js/1705.596850eb.chunk.js": "./static/js/1705.596850eb.chunk.js", - "static/js/1581.5d8bdb2a.chunk.js": "./static/js/1581.5d8bdb2a.chunk.js", - "static/js/455.64f2adc7.chunk.js": "./static/js/455.64f2adc7.chunk.js", - "static/js/2661.358ee4e3.chunk.js": "./static/js/2661.358ee4e3.chunk.js", - "static/js/889.eb646ebf.chunk.js": "./static/js/889.eb646ebf.chunk.js", - "static/js/9088.c0ec4658.chunk.js": "./static/js/9088.c0ec4658.chunk.js", - "static/js/247.6ff1fc3d.chunk.js": "./static/js/247.6ff1fc3d.chunk.js", - "static/js/2408.d23e2b83.chunk.js": "./static/js/2408.d23e2b83.chunk.js", + "static/js/1581.3b60face.chunk.js": "./static/js/1581.3b60face.chunk.js", + "static/js/455.89cfe65b.chunk.js": "./static/js/455.89cfe65b.chunk.js", + "static/js/2661.89815275.chunk.js": "./static/js/2661.89815275.chunk.js", + "static/js/889.8c6af0b9.chunk.js": "./static/js/889.8c6af0b9.chunk.js", + "static/js/9088.131128ad.chunk.js": "./static/js/9088.131128ad.chunk.js", + "static/js/247.b3ec6497.chunk.js": "./static/js/247.b3ec6497.chunk.js", + "static/js/2408.40adaebd.chunk.js": "./static/js/2408.40adaebd.chunk.js", "static/js/5171.e5224ef3.chunk.js": "./static/js/5171.e5224ef3.chunk.js", "static/js/3691.ff436a8f.chunk.js": "./static/js/3691.ff436a8f.chunk.js", "static/js/2813.cfbfa60f.chunk.js": "./static/js/2813.cfbfa60f.chunk.js", @@ -135,148 +135,171 @@ "static/js/2011.af2dbefb.chunk.js": "./static/js/2011.af2dbefb.chunk.js", "static/js/2515.322cc076.chunk.js": "./static/js/2515.322cc076.chunk.js", "static/js/1459.03befbb8.chunk.js": "./static/js/1459.03befbb8.chunk.js", + "static/js/1465.4525f636.chunk.js": "./static/js/1465.4525f636.chunk.js", "static/js/4455.cdf95486.chunk.js": "./static/js/4455.cdf95486.chunk.js", "static/js/6172.12ed66ed.chunk.js": "./static/js/6172.12ed66ed.chunk.js", - "static/js/4827.a3ee5d0a.chunk.js": "./static/js/4827.a3ee5d0a.chunk.js", "static/js/696.c93c6454.chunk.js": "./static/js/696.c93c6454.chunk.js", "static/js/3388.6f330810.chunk.js": "./static/js/3388.6f330810.chunk.js", "static/js/71.323f55a6.chunk.js": "./static/js/71.323f55a6.chunk.js", - "static/js/4709.8bd47e6f.chunk.js": "./static/js/4709.8bd47e6f.chunk.js", - "static/js/3870.a1265f93.chunk.js": "./static/js/3870.a1265f93.chunk.js", + "static/js/3720.38c690e7.chunk.js": "./static/js/3720.38c690e7.chunk.js", + "static/js/1903.42b70cf0.chunk.js": "./static/js/1903.42b70cf0.chunk.js", "static/js/6484.de588cc0.chunk.js": "./static/js/6484.de588cc0.chunk.js", "static/js/7142.93647281.chunk.js": "./static/js/7142.93647281.chunk.js", "static/js/2691.19d72c3c.chunk.js": "./static/js/2691.19d72c3c.chunk.js", "static/js/1790.eb475334.chunk.js": "./static/js/1790.eb475334.chunk.js", + "static/js/2331.288af2ec.chunk.js": "./static/js/2331.288af2ec.chunk.js", "static/js/9515.a4e964be.chunk.js": "./static/js/9515.a4e964be.chunk.js", - "static/js/2983.32d442f0.chunk.js": "./static/js/2983.32d442f0.chunk.js", - "static/js/5861.efde54e7.chunk.js": "./static/js/5861.efde54e7.chunk.js", - "static/js/2763.d85f5750.chunk.js": "./static/js/2763.d85f5750.chunk.js", - "static/js/4298.e34b4f79.chunk.js": "./static/js/4298.e34b4f79.chunk.js", + "static/js/2983.26b296ba.chunk.js": "./static/js/2983.26b296ba.chunk.js", + "static/js/5861.af51c5d9.chunk.js": "./static/js/5861.af51c5d9.chunk.js", + "static/js/2763.fadd6aec.chunk.js": "./static/js/2763.fadd6aec.chunk.js", + "static/js/4298.d677cede.chunk.js": "./static/js/4298.d677cede.chunk.js", + "static/media/Lato-Thin.woff": "./static/media/Lato-Thin.1549cf8478615fc56aa3.woff", + "static/media/Lato-Thin.woff2": "./static/media/Lato-Thin.c84b392f9e0187c54528.woff2", + "static/media/Lato-BoldItalic.woff": "./static/media/Lato-BoldItalic.443bd94393f9d73446c8.woff", + "static/media/Lato-Italic.woff": "./static/media/Lato-Italic.251de5f48806485e4c5a.woff", + "static/media/Lato-BlackItalic.woff": "./static/media/Lato-BlackItalic.c329db2ef5efedb87a8e.woff", + "static/media/Lato-Regular.woff": "./static/media/Lato-Regular.77ca2742388f408c3be7.woff", + "static/media/Lato-Bold.woff": "./static/media/Lato-Bold.ba3a83adcb94357fc42f.woff", + "static/media/Lato-Black.woff": "./static/media/Lato-Black.efe7c183457352448e1e.woff", + "static/media/Lato-Light.woff": "./static/media/Lato-Light.91308c0216b40aad1603.woff", + "static/media/Lato-Hairline.woff": "./static/media/Lato-Hairline.8cc2841238f3d3276d9c.woff", + "static/media/Lato-BoldItalic.woff2": "./static/media/Lato-BoldItalic.84607fcdf9af8784aa6e.woff2", + "static/media/Lato-Italic.woff2": "./static/media/Lato-Italic.d9364c880eec4d4fea78.woff2", + "static/media/Lato-BlackItalic.woff2": "./static/media/Lato-BlackItalic.3061b5464316d87f5dbc.woff2", + "static/media/Lato-Regular.woff2": "./static/media/Lato-Regular.39ac38d8a27bed2a16e4.woff2", + "static/media/Lato-Bold.woff2": "./static/media/Lato-Bold.ea8a923ec6d3ea7cf7bc.woff2", + "static/media/Lato-LightItalic.woff": "./static/media/Lato-LightItalic.6876f3b2e440df8eab71.woff", + "static/media/Lato-Black.woff2": "./static/media/Lato-Black.9280d87f151e453d884c.woff2", + "static/media/Lato-HairlineItalic.woff": "./static/media/Lato-HairlineItalic.540ee912c7282b8bb151.woff", + "static/media/Lato-Light.woff2": "./static/media/Lato-Light.7e323674c33b3939aba5.woff2", + "static/media/Lato-Hairline.woff2": "./static/media/Lato-Hairline.4cf04805197605f0103e.woff2", + "static/media/Lato-LightItalic.woff2": "./static/media/Lato-LightItalic.0ea7656d6a58e3f9853b.woff2", + "static/media/Lato-HairlineItalic.woff2": "./static/media/Lato-HairlineItalic.bf1e0782291efebe06da.woff2", "index.html": "./index.html", "main.b20a708b.css.map": "./static/css/main.b20a708b.css.map", - "main.a7518a54.js.map": "./static/js/main.a7518a54.js.map", + "main.3a920b67.js.map": "./static/js/main.3a920b67.js.map", "1260.5248e62a.chunk.js.map": "./static/js/1260.5248e62a.chunk.js.map", - "6914.57144791.chunk.js.map": "./static/js/6914.57144791.chunk.js.map", - "4209.dd491df8.chunk.js.map": "./static/js/4209.dd491df8.chunk.js.map", - "1829.4d8548a9.chunk.js.map": "./static/js/1829.4d8548a9.chunk.js.map", - "5857.4e539816.chunk.js.map": "./static/js/5857.4e539816.chunk.js.map", - "5088.2338ab8d.chunk.js.map": "./static/js/5088.2338ab8d.chunk.js.map", + "6914.8c73a010.chunk.js.map": "./static/js/6914.8c73a010.chunk.js.map", + "4209.6cbd9842.chunk.js.map": "./static/js/4209.6cbd9842.chunk.js.map", + "1829.c686ac0f.chunk.js.map": "./static/js/1829.c686ac0f.chunk.js.map", + "5857.432b0de4.chunk.js.map": "./static/js/5857.432b0de4.chunk.js.map", + "5088.40235e2d.chunk.js.map": "./static/js/5088.40235e2d.chunk.js.map", "5140.29fde8ff.chunk.js.map": "./static/js/5140.29fde8ff.chunk.js.map", "852.8313f23d.chunk.js.map": "./static/js/852.8313f23d.chunk.js.map", "7588.9cb5f34b.chunk.css.map": "./static/css/7588.9cb5f34b.chunk.css.map", - "7588.fb99fb33.chunk.js.map": "./static/js/7588.fb99fb33.chunk.js.map", + "7588.aa5c4850.chunk.js.map": "./static/js/7588.aa5c4850.chunk.js.map", "3176.59846ccd.chunk.js.map": "./static/js/3176.59846ccd.chunk.js.map", - "6137.2bd06c0c.chunk.js.map": "./static/js/6137.2bd06c0c.chunk.js.map", + "6137.a74f25a3.chunk.js.map": "./static/js/6137.a74f25a3.chunk.js.map", "7045.73a51a5c.chunk.js.map": "./static/js/7045.73a51a5c.chunk.js.map", - "9251.8024b639.chunk.js.map": "./static/js/9251.8024b639.chunk.js.map", - "2338.4512b89d.chunk.js.map": "./static/js/2338.4512b89d.chunk.js.map", - "4335.d0260e05.chunk.js.map": "./static/js/4335.d0260e05.chunk.js.map", - "6604.56df4486.chunk.js.map": "./static/js/6604.56df4486.chunk.js.map", - "6763.d4ff8d6b.chunk.js.map": "./static/js/6763.d4ff8d6b.chunk.js.map", - "3543.e9873e41.chunk.js.map": "./static/js/3543.e9873e41.chunk.js.map", - "4061.ba0fb823.chunk.js.map": "./static/js/4061.ba0fb823.chunk.js.map", - "5112.626a10bf.chunk.js.map": "./static/js/5112.626a10bf.chunk.js.map", - "9611.c217768e.chunk.js.map": "./static/js/9611.c217768e.chunk.js.map", - "2637.583760ab.chunk.js.map": "./static/js/2637.583760ab.chunk.js.map", + "7092.f9d41c38.chunk.js.map": "./static/js/7092.f9d41c38.chunk.js.map", + "2338.0ee15506.chunk.js.map": "./static/js/2338.0ee15506.chunk.js.map", + "4335.8ab82b9c.chunk.js.map": "./static/js/4335.8ab82b9c.chunk.js.map", + "6604.45252fd1.chunk.js.map": "./static/js/6604.45252fd1.chunk.js.map", + "6763.d7ead4a5.chunk.js.map": "./static/js/6763.d7ead4a5.chunk.js.map", + "3543.cae2b3f6.chunk.js.map": "./static/js/3543.cae2b3f6.chunk.js.map", + "4061.d59413d5.chunk.js.map": "./static/js/4061.d59413d5.chunk.js.map", + "5112.65587729.chunk.js.map": "./static/js/5112.65587729.chunk.js.map", + "9611.dc6938ca.chunk.js.map": "./static/js/9611.dc6938ca.chunk.js.map", + "2637.2f96b150.chunk.js.map": "./static/js/2637.2f96b150.chunk.js.map", "5503.9cb5f34b.chunk.css.map": "./static/css/5503.9cb5f34b.chunk.css.map", - "5503.e6dfff1f.chunk.js.map": "./static/js/5503.e6dfff1f.chunk.js.map", - "5926.6813a97f.chunk.js.map": "./static/js/5926.6813a97f.chunk.js.map", + "5503.863b708f.chunk.js.map": "./static/js/5503.863b708f.chunk.js.map", + "5926.ef852b88.chunk.js.map": "./static/js/5926.ef852b88.chunk.js.map", "701.ab5785ea.chunk.js.map": "./static/js/701.ab5785ea.chunk.js.map", "7821.461c5aa3.chunk.js.map": "./static/js/7821.461c5aa3.chunk.js.map", "2850.9cb5f34b.chunk.css.map": "./static/css/2850.9cb5f34b.chunk.css.map", - "2850.8a62b572.chunk.js.map": "./static/js/2850.8a62b572.chunk.js.map", - "4131.cafeefb0.chunk.js.map": "./static/js/4131.cafeefb0.chunk.js.map", + "2850.dcbfd98c.chunk.js.map": "./static/js/2850.dcbfd98c.chunk.js.map", + "4131.e8f67352.chunk.js.map": "./static/js/4131.e8f67352.chunk.js.map", "343.9cb5f34b.chunk.css.map": "./static/css/343.9cb5f34b.chunk.css.map", - "343.34f42ca3.chunk.js.map": "./static/js/343.34f42ca3.chunk.js.map", + "343.85ab615d.chunk.js.map": "./static/js/343.85ab615d.chunk.js.map", "1199.9cb5f34b.chunk.css.map": "./static/css/1199.9cb5f34b.chunk.css.map", - "1199.503e1d6b.chunk.js.map": "./static/js/1199.503e1d6b.chunk.js.map", + "1199.0f0e2d2b.chunk.js.map": "./static/js/1199.0f0e2d2b.chunk.js.map", "5517.9cb5f34b.chunk.css.map": "./static/css/5517.9cb5f34b.chunk.css.map", - "5517.d57943c6.chunk.js.map": "./static/js/5517.d57943c6.chunk.js.map", - "2555.90c0fc7f.chunk.js.map": "./static/js/2555.90c0fc7f.chunk.js.map", - "7585.a14bd777.chunk.js.map": "./static/js/7585.a14bd777.chunk.js.map", - "4902.0ccf317b.chunk.js.map": "./static/js/4902.0ccf317b.chunk.js.map", - "7847.4176f3e5.chunk.js.map": "./static/js/7847.4176f3e5.chunk.js.map", - "4096.0367284a.chunk.js.map": "./static/js/4096.0367284a.chunk.js.map", - "692.acf902c5.chunk.js.map": "./static/js/692.acf902c5.chunk.js.map", - "6413.632972f1.chunk.js.map": "./static/js/6413.632972f1.chunk.js.map", - "8360.b7b61982.chunk.js.map": "./static/js/8360.b7b61982.chunk.js.map", - "6577.c8329c4f.chunk.js.map": "./static/js/6577.c8329c4f.chunk.js.map", - "3875.8ab7c136.chunk.js.map": "./static/js/3875.8ab7c136.chunk.js.map", - "106.4385cff3.chunk.js.map": "./static/js/106.4385cff3.chunk.js.map", - "7223.e4750884.chunk.js.map": "./static/js/7223.e4750884.chunk.js.map", + "5517.23418977.chunk.js.map": "./static/js/5517.23418977.chunk.js.map", + "2555.6b5ff50d.chunk.js.map": "./static/js/2555.6b5ff50d.chunk.js.map", + "7585.2f05b1f3.chunk.js.map": "./static/js/7585.2f05b1f3.chunk.js.map", + "4902.124ab092.chunk.js.map": "./static/js/4902.124ab092.chunk.js.map", + "7847.90a046cb.chunk.js.map": "./static/js/7847.90a046cb.chunk.js.map", + "4096.f5e55618.chunk.js.map": "./static/js/4096.f5e55618.chunk.js.map", + "692.bf3eea50.chunk.js.map": "./static/js/692.bf3eea50.chunk.js.map", + "6413.17138886.chunk.js.map": "./static/js/6413.17138886.chunk.js.map", + "8360.105f809d.chunk.js.map": "./static/js/8360.105f809d.chunk.js.map", + "6577.8f9494b2.chunk.js.map": "./static/js/6577.8f9494b2.chunk.js.map", + "3875.7770313b.chunk.js.map": "./static/js/3875.7770313b.chunk.js.map", + "106.72d23b2d.chunk.js.map": "./static/js/106.72d23b2d.chunk.js.map", + "7223.c4364eea.chunk.js.map": "./static/js/7223.c4364eea.chunk.js.map", "5726.dff06c96.chunk.js.map": "./static/js/5726.dff06c96.chunk.js.map", - "5643.bca52423.chunk.js.map": "./static/js/5643.bca52423.chunk.js.map", + "5643.706d28f9.chunk.js.map": "./static/js/5643.706d28f9.chunk.js.map", "4781.f4794912.chunk.js.map": "./static/js/4781.f4794912.chunk.js.map", "9478.a335fb0f.chunk.js.map": "./static/js/9478.a335fb0f.chunk.js.map", "7164.3762a0c0.chunk.js.map": "./static/js/7164.3762a0c0.chunk.js.map", - "4414.c804fea8.chunk.js.map": "./static/js/4414.c804fea8.chunk.js.map", - "7798.5da0ca4b.chunk.js.map": "./static/js/7798.5da0ca4b.chunk.js.map", - "8833.9f18e03b.chunk.js.map": "./static/js/8833.9f18e03b.chunk.js.map", - "6526.904dad0c.chunk.js.map": "./static/js/6526.904dad0c.chunk.js.map", - "483.b40960b4.chunk.js.map": "./static/js/483.b40960b4.chunk.js.map", - "9467.361c4c5c.chunk.js.map": "./static/js/9467.361c4c5c.chunk.js.map", - "6895.07c179c4.chunk.js.map": "./static/js/6895.07c179c4.chunk.js.map", - "1379.24a75cea.chunk.js.map": "./static/js/1379.24a75cea.chunk.js.map", - "8277.ffa83ea5.chunk.js.map": "./static/js/8277.ffa83ea5.chunk.js.map", - "4133.3e13b69a.chunk.js.map": "./static/js/4133.3e13b69a.chunk.js.map", + "4414.4d74d89b.chunk.js.map": "./static/js/4414.4d74d89b.chunk.js.map", + "7798.e33e9b60.chunk.js.map": "./static/js/7798.e33e9b60.chunk.js.map", + "8833.3556cd36.chunk.js.map": "./static/js/8833.3556cd36.chunk.js.map", + "6526.296ba888.chunk.js.map": "./static/js/6526.296ba888.chunk.js.map", + "483.5b997456.chunk.js.map": "./static/js/483.5b997456.chunk.js.map", + "9467.d0711d5e.chunk.js.map": "./static/js/9467.d0711d5e.chunk.js.map", + "6895.54b01aaa.chunk.js.map": "./static/js/6895.54b01aaa.chunk.js.map", + "1379.d515229f.chunk.js.map": "./static/js/1379.d515229f.chunk.js.map", + "8277.4222c489.chunk.js.map": "./static/js/8277.4222c489.chunk.js.map", + "4133.a8d9e248.chunk.js.map": "./static/js/4133.a8d9e248.chunk.js.map", "1367.9cb5f34b.chunk.css.map": "./static/css/1367.9cb5f34b.chunk.css.map", - "1367.18b69587.chunk.js.map": "./static/js/1367.18b69587.chunk.js.map", - "3956.5a9ef42b.chunk.js.map": "./static/js/3956.5a9ef42b.chunk.js.map", - "9221.06d80718.chunk.js.map": "./static/js/9221.06d80718.chunk.js.map", - "8896.042361de.chunk.js.map": "./static/js/8896.042361de.chunk.js.map", - "9134.f135131b.chunk.js.map": "./static/js/9134.f135131b.chunk.js.map", + "1367.00454bc0.chunk.js.map": "./static/js/1367.00454bc0.chunk.js.map", + "3956.693e1c1b.chunk.js.map": "./static/js/3956.693e1c1b.chunk.js.map", + "9221.e9f3f525.chunk.js.map": "./static/js/9221.e9f3f525.chunk.js.map", + "8896.3ab50b22.chunk.js.map": "./static/js/8896.3ab50b22.chunk.js.map", + "9134.76b1bd01.chunk.js.map": "./static/js/9134.76b1bd01.chunk.js.map", "1268.9cb5f34b.chunk.css.map": "./static/css/1268.9cb5f34b.chunk.css.map", - "1268.819d9108.chunk.js.map": "./static/js/1268.819d9108.chunk.js.map", - "441.ef3a5a69.chunk.js.map": "./static/js/441.ef3a5a69.chunk.js.map", - "9145.0a0554bf.chunk.js.map": "./static/js/9145.0a0554bf.chunk.js.map", - "8998.6a160b0b.chunk.js.map": "./static/js/8998.6a160b0b.chunk.js.map", - "1501.5f62a612.chunk.js.map": "./static/js/1501.5f62a612.chunk.js.map", - "7770.0cb798cf.chunk.js.map": "./static/js/7770.0cb798cf.chunk.js.map", + "1268.408b6da9.chunk.js.map": "./static/js/1268.408b6da9.chunk.js.map", + "441.5061a06e.chunk.js.map": "./static/js/441.5061a06e.chunk.js.map", + "9145.85a731d5.chunk.js.map": "./static/js/9145.85a731d5.chunk.js.map", + "8998.b7518624.chunk.js.map": "./static/js/8998.b7518624.chunk.js.map", + "1501.45b91938.chunk.js.map": "./static/js/1501.45b91938.chunk.js.map", + "7770.3664e24d.chunk.js.map": "./static/js/7770.3664e24d.chunk.js.map", "426.82aff597.chunk.js.map": "./static/js/426.82aff597.chunk.js.map", "5608.bf0a4f01.chunk.js.map": "./static/js/5608.bf0a4f01.chunk.js.map", "2878.8dd5ace8.chunk.js.map": "./static/js/2878.8dd5ace8.chunk.js.map", "8495.b1689c2d.chunk.js.map": "./static/js/8495.b1689c2d.chunk.js.map", "4934.72071d47.chunk.js.map": "./static/js/4934.72071d47.chunk.js.map", "9942.78febb7d.chunk.js.map": "./static/js/9942.78febb7d.chunk.js.map", - "7021.9ea87695.chunk.js.map": "./static/js/7021.9ea87695.chunk.js.map", - "2684.e4fdac0b.chunk.js.map": "./static/js/2684.e4fdac0b.chunk.js.map", + "7021.a571133a.chunk.js.map": "./static/js/7021.a571133a.chunk.js.map", + "2684.adde116d.chunk.js.map": "./static/js/2684.adde116d.chunk.js.map", "9567.9cb5f34b.chunk.css.map": "./static/css/9567.9cb5f34b.chunk.css.map", - "9567.f5750d98.chunk.js.map": "./static/js/9567.f5750d98.chunk.js.map", - "8350.d0f71354.chunk.js.map": "./static/js/8350.d0f71354.chunk.js.map", + "9567.cf023e3e.chunk.js.map": "./static/js/9567.cf023e3e.chunk.js.map", + "8350.c98738e4.chunk.js.map": "./static/js/8350.c98738e4.chunk.js.map", "4873.9349e8b2.chunk.js.map": "./static/js/4873.9349e8b2.chunk.js.map", - "5367.81c2d437.chunk.js.map": "./static/js/5367.81c2d437.chunk.js.map", - "6405.61f72110.chunk.js.map": "./static/js/6405.61f72110.chunk.js.map", - "5223.6b25d26b.chunk.js.map": "./static/js/5223.6b25d26b.chunk.js.map", - "1799.90db5583.chunk.js.map": "./static/js/1799.90db5583.chunk.js.map", - "9297.fb2e535e.chunk.js.map": "./static/js/9297.fb2e535e.chunk.js.map", - "9968.481540ab.chunk.js.map": "./static/js/9968.481540ab.chunk.js.map", - "2180.14bc77fc.chunk.js.map": "./static/js/2180.14bc77fc.chunk.js.map", + "5367.6280cd0d.chunk.js.map": "./static/js/5367.6280cd0d.chunk.js.map", + "6405.7ed910f9.chunk.js.map": "./static/js/6405.7ed910f9.chunk.js.map", + "5223.96f3ec77.chunk.js.map": "./static/js/5223.96f3ec77.chunk.js.map", + "1799.46eb9579.chunk.js.map": "./static/js/1799.46eb9579.chunk.js.map", + "9297.e6332146.chunk.js.map": "./static/js/9297.e6332146.chunk.js.map", + "9968.89304e6a.chunk.js.map": "./static/js/9968.89304e6a.chunk.js.map", + "2180.ecd3ab8b.chunk.js.map": "./static/js/2180.ecd3ab8b.chunk.js.map", "8253.fa95cf82.chunk.js.map": "./static/js/8253.fa95cf82.chunk.js.map", - "3328.f02a2e4c.chunk.js.map": "./static/js/3328.f02a2e4c.chunk.js.map", - "1440.2f369689.chunk.js.map": "./static/js/1440.2f369689.chunk.js.map", - "9179.f855888c.chunk.js.map": "./static/js/9179.f855888c.chunk.js.map", - "51.c461d317.chunk.js.map": "./static/js/51.c461d317.chunk.js.map", - "711.61c682cd.chunk.js.map": "./static/js/711.61c682cd.chunk.js.map", - "6901.1be7690b.chunk.js.map": "./static/js/6901.1be7690b.chunk.js.map", - "2185.0b324ec6.chunk.js.map": "./static/js/2185.0b324ec6.chunk.js.map", - "312.aefc992a.chunk.js.map": "./static/js/312.aefc992a.chunk.js.map", - "2112.93e2056f.chunk.js.map": "./static/js/2112.93e2056f.chunk.js.map", - "4619.82c18241.chunk.js.map": "./static/js/4619.82c18241.chunk.js.map", - "8990.d62803ce.chunk.js.map": "./static/js/8990.d62803ce.chunk.js.map", - "8455.ac01170a.chunk.js.map": "./static/js/8455.ac01170a.chunk.js.map", + "3328.5e637c6f.chunk.js.map": "./static/js/3328.5e637c6f.chunk.js.map", + "1440.d3fd88ff.chunk.js.map": "./static/js/1440.d3fd88ff.chunk.js.map", + "9179.c61083e7.chunk.js.map": "./static/js/9179.c61083e7.chunk.js.map", + "51.d24a0589.chunk.js.map": "./static/js/51.d24a0589.chunk.js.map", + "711.2c20424f.chunk.js.map": "./static/js/711.2c20424f.chunk.js.map", + "6901.e2472ebd.chunk.js.map": "./static/js/6901.e2472ebd.chunk.js.map", + "2185.a1da3e17.chunk.js.map": "./static/js/2185.a1da3e17.chunk.js.map", + "312.3a15e683.chunk.js.map": "./static/js/312.3a15e683.chunk.js.map", + "2112.6b7837dd.chunk.js.map": "./static/js/2112.6b7837dd.chunk.js.map", + "4619.c41b384a.chunk.js.map": "./static/js/4619.c41b384a.chunk.js.map", + "8990.8da3f1b4.chunk.js.map": "./static/js/8990.8da3f1b4.chunk.js.map", + "8455.2f5d0d0a.chunk.js.map": "./static/js/8455.2f5d0d0a.chunk.js.map", "1913.9cb5f34b.chunk.css.map": "./static/css/1913.9cb5f34b.chunk.css.map", - "1913.62bd1877.chunk.js.map": "./static/js/1913.62bd1877.chunk.js.map", - "1604.d6abf9f0.chunk.js.map": "./static/js/1604.d6abf9f0.chunk.js.map", - "8391.93be3c76.chunk.js.map": "./static/js/8391.93be3c76.chunk.js.map", - "402.bce64a61.chunk.js.map": "./static/js/402.bce64a61.chunk.js.map", + "1913.1bb254fb.chunk.js.map": "./static/js/1913.1bb254fb.chunk.js.map", + "1604.fa7e2b2f.chunk.js.map": "./static/js/1604.fa7e2b2f.chunk.js.map", + "8391.0411f28f.chunk.js.map": "./static/js/8391.0411f28f.chunk.js.map", + "402.626f6141.chunk.js.map": "./static/js/402.626f6141.chunk.js.map", "1705.596850eb.chunk.js.map": "./static/js/1705.596850eb.chunk.js.map", - "1581.5d8bdb2a.chunk.js.map": "./static/js/1581.5d8bdb2a.chunk.js.map", - "455.64f2adc7.chunk.js.map": "./static/js/455.64f2adc7.chunk.js.map", - "2661.358ee4e3.chunk.js.map": "./static/js/2661.358ee4e3.chunk.js.map", - "889.eb646ebf.chunk.js.map": "./static/js/889.eb646ebf.chunk.js.map", - "9088.c0ec4658.chunk.js.map": "./static/js/9088.c0ec4658.chunk.js.map", - "247.6ff1fc3d.chunk.js.map": "./static/js/247.6ff1fc3d.chunk.js.map", - "2408.d23e2b83.chunk.js.map": "./static/js/2408.d23e2b83.chunk.js.map", + "1581.3b60face.chunk.js.map": "./static/js/1581.3b60face.chunk.js.map", + "455.89cfe65b.chunk.js.map": "./static/js/455.89cfe65b.chunk.js.map", + "2661.89815275.chunk.js.map": "./static/js/2661.89815275.chunk.js.map", + "889.8c6af0b9.chunk.js.map": "./static/js/889.8c6af0b9.chunk.js.map", + "9088.131128ad.chunk.js.map": "./static/js/9088.131128ad.chunk.js.map", + "247.b3ec6497.chunk.js.map": "./static/js/247.b3ec6497.chunk.js.map", + "2408.40adaebd.chunk.js.map": "./static/js/2408.40adaebd.chunk.js.map", "5171.e5224ef3.chunk.js.map": "./static/js/5171.e5224ef3.chunk.js.map", "3691.ff436a8f.chunk.js.map": "./static/js/3691.ff436a8f.chunk.js.map", "2813.cfbfa60f.chunk.js.map": "./static/js/2813.cfbfa60f.chunk.js.map", @@ -288,26 +311,27 @@ "2011.af2dbefb.chunk.js.map": "./static/js/2011.af2dbefb.chunk.js.map", "2515.322cc076.chunk.js.map": "./static/js/2515.322cc076.chunk.js.map", "1459.03befbb8.chunk.js.map": "./static/js/1459.03befbb8.chunk.js.map", + "1465.4525f636.chunk.js.map": "./static/js/1465.4525f636.chunk.js.map", "4455.cdf95486.chunk.js.map": "./static/js/4455.cdf95486.chunk.js.map", "6172.12ed66ed.chunk.js.map": "./static/js/6172.12ed66ed.chunk.js.map", - "4827.a3ee5d0a.chunk.js.map": "./static/js/4827.a3ee5d0a.chunk.js.map", "696.c93c6454.chunk.js.map": "./static/js/696.c93c6454.chunk.js.map", "3388.6f330810.chunk.js.map": "./static/js/3388.6f330810.chunk.js.map", "71.323f55a6.chunk.js.map": "./static/js/71.323f55a6.chunk.js.map", - "4709.8bd47e6f.chunk.js.map": "./static/js/4709.8bd47e6f.chunk.js.map", - "3870.a1265f93.chunk.js.map": "./static/js/3870.a1265f93.chunk.js.map", + "3720.38c690e7.chunk.js.map": "./static/js/3720.38c690e7.chunk.js.map", + "1903.42b70cf0.chunk.js.map": "./static/js/1903.42b70cf0.chunk.js.map", "6484.de588cc0.chunk.js.map": "./static/js/6484.de588cc0.chunk.js.map", "7142.93647281.chunk.js.map": "./static/js/7142.93647281.chunk.js.map", "2691.19d72c3c.chunk.js.map": "./static/js/2691.19d72c3c.chunk.js.map", "1790.eb475334.chunk.js.map": "./static/js/1790.eb475334.chunk.js.map", + "2331.288af2ec.chunk.js.map": "./static/js/2331.288af2ec.chunk.js.map", "9515.a4e964be.chunk.js.map": "./static/js/9515.a4e964be.chunk.js.map", - "2983.32d442f0.chunk.js.map": "./static/js/2983.32d442f0.chunk.js.map", - "5861.efde54e7.chunk.js.map": "./static/js/5861.efde54e7.chunk.js.map", - "2763.d85f5750.chunk.js.map": "./static/js/2763.d85f5750.chunk.js.map", - "4298.e34b4f79.chunk.js.map": "./static/js/4298.e34b4f79.chunk.js.map" + "2983.26b296ba.chunk.js.map": "./static/js/2983.26b296ba.chunk.js.map", + "5861.af51c5d9.chunk.js.map": "./static/js/5861.af51c5d9.chunk.js.map", + "2763.fadd6aec.chunk.js.map": "./static/js/2763.fadd6aec.chunk.js.map", + "4298.d677cede.chunk.js.map": "./static/js/4298.d677cede.chunk.js.map" }, "entrypoints": [ "static/css/main.b20a708b.css", - "static/js/main.a7518a54.js" + "static/js/main.3a920b67.js" ] } \ No newline at end of file diff --git a/portal-ui/build/index.html b/portal-ui/build/index.html index 973b15a17..0d63cf134 100644 --- a/portal-ui/build/index.html +++ b/portal-ui/build/index.html @@ -1 +1 @@ -MinIO Console
\ No newline at end of file +MinIO Console
\ No newline at end of file diff --git a/portal-ui/build/static/js/106.4385cff3.chunk.js b/portal-ui/build/static/js/106.72d23b2d.chunk.js similarity index 98% rename from portal-ui/build/static/js/106.4385cff3.chunk.js rename to portal-ui/build/static/js/106.72d23b2d.chunk.js index 8846d23f8..d8d9dcf37 100644 --- a/portal-ui/build/static/js/106.4385cff3.chunk.js +++ b/portal-ui/build/static/js/106.72d23b2d.chunk.js @@ -1,2 +1,2 @@ -(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[106,2112],{59114:function(e,t,n){"use strict";var a=n(4942),o=n(1413),r=(n(72791),n(63466)),c=n(74900),i=n(27391),s=n(25787),l=n(11135),u=n(23814),d=n(80184);t.Z=(0,s.Z)((function(e){return(0,l.Z)({searchField:(0,o.Z)({},u.qg.searchField),adornment:{}})}))((function(e){var t=e.placeholder,n=void 0===t?"":t,o=e.classes,s=e.onChange,l=e.adornmentPosition,u=void 0===l?"end":l,p=e.overrideClass,m=e.value,v=(0,a.Z)({disableUnderline:!0},"".concat(u,"Adornment"),(0,d.jsx)(r.Z,{position:u,className:o.adornment,children:(0,d.jsx)(c.Z,{})}));return(0,d.jsx)(i.Z,{placeholder:n,className:p||o.searchField,id:"search-resource",label:"",InputProps:v,onChange:function(e){s(e.target.value)},variant:"standard",value:m})}))},27454:function(e,t,n){"use strict";var a=n(1413),o=n(72791),r=n(20068),c=n(80184);t.Z=function(e){var t=e.tooltip,n=e.children,i=e.errorProps,s=void 0===i?null:i;return(0,c.jsx)(r.Z,{title:t,children:(0,c.jsx)("span",{children:s?(0,o.cloneElement)(n,(0,a.Z)({},s)):n})})}},54120:function(e,t,n){"use strict";n.r(t);var a=n(29439),o=n(1413),r=n(72791),c=n(26181),i=n.n(c),s=n(61889),l=n(11135),u=n(25787),d=n(23814),p=n(25469),m=n(87995),v=n(81207),h=n(92983),f=n(32112),Z=n(32291),x=n(74794),C=n(59114),b=n(80184);t.default=(0,u.Z)((function(e){return(0,l.Z)((0,o.Z)((0,o.Z)((0,o.Z)({tableWrapper:{height:"calc(100vh - 150px)"}},d.OR),d.qg),(0,d.Bz)(e.spacing(4))))}))((function(e){var t=e.classes,n=(0,p.TL)(),c=(0,r.useState)([]),l=(0,a.Z)(c,2),u=l[0],d=l[1],j=(0,r.useState)(""),g=(0,a.Z)(j,2),k=g[0],P=g[1],y=(0,r.useState)(!0),z=(0,a.Z)(y,2),S=z[0],V=z[1],w=(0,r.useState)(null),I=(0,a.Z)(w,2),M=I[0],F=I[1],E=(0,r.useState)(!1),H=(0,a.Z)(E,2),L=H[0],O=H[1];(0,r.useEffect)((function(){S&&v.Z.invoke("GET","/api/v1/list-pvcs").then((function(e){var t=i()(e,"pvcs",[]);d(t||[]),V(!1)})).catch((function(e){V(!1),n((0,m.Ih)(e))}))}),[S,n]);var D=u.filter((function(e){return e.name.toLowerCase().includes(k.toLowerCase())})),T=[{type:"delete",onClick:function(e){var t=(0,o.Z)((0,o.Z)({},e),{},{tenant:e.tenant,namespace:e.namespace});F(t),O(!0)}}];return(0,b.jsxs)(r.Fragment,{children:[L&&(0,b.jsx)(f.default,{deleteOpen:L,selectedPVC:M,closeDeleteModalAndRefresh:function(e){O(!1),V(!0)}}),(0,b.jsx)(Z.Z,{label:"Persistent Volumes Claims",middleComponent:(0,b.jsx)(C.Z,{placeholder:"Search Volumes (PVCs)",onChange:function(e){P(e)},value:k})}),(0,b.jsx)(x.Z,{children:(0,b.jsx)(s.ZP,{item:!0,xs:12,children:(0,b.jsx)(h.Z,{itemActions:T,columns:[{label:"Name",elementKey:"name"},{label:"Namespace",elementKey:"namespace",width:90},{label:"Status",elementKey:"status",width:120},{label:"Tenant",renderFullObject:!0,renderFunction:function(e){return"".concat(e.namespace,"/").concat(e.tenant)}},{label:"Capacity",elementKey:"capacity",width:90},{label:"Storage Class",elementKey:"storageClass"}],isLoading:S,records:D,entityName:"PVCs",idField:"name",customPaperHeight:t.tableWrapper})})})]})}))},32112:function(e,t,n){"use strict";n.r(t);var a=n(29439),o=n(72791),r=n(51691),c=n(21435),i=n(61889),s=n(9505),l=n(23508),u=n(38734),d=n(87995),p=n(25469),m=n(80184);t.default=function(e){var t=e.deleteOpen,n=e.selectedPVC,v=e.closeDeleteModalAndRefresh,h=(0,p.TL)(),f=(0,o.useState)(""),Z=(0,a.Z)(f,2),x=Z[0],C=Z[1],b=(0,s.Z)((function(){return v(!0)}),(function(e){return h((0,d.Ih)(e))})),j=(0,a.Z)(b,2),g=j[0],k=j[1];return(0,m.jsx)(l.Z,{title:"Delete PVC",confirmText:"Delete",isOpen:t,titleIcon:(0,m.jsx)(u.NvT,{}),isLoading:g,onConfirm:function(){x===n.name?k("DELETE","/api/v1/namespaces/".concat(n.namespace,"/tenants/").concat(n.tenant,"/pvc/").concat(n.name)):h((0,d.Ih)({errorMessage:"PVC name is incorrect",detailedError:""}))},onClose:function(){return v(!1)},confirmButtonProps:{disabled:x!==n.name||g},confirmationContent:(0,m.jsxs)(r.Z,{children:["To continue please type ",(0,m.jsx)("b",{children:n.name})," in the box.",(0,m.jsx)(i.ZP,{item:!0,xs:12,children:(0,m.jsx)(c.Z,{id:"retype-PVC",name:"retype-PVC",onChange:function(e){C(e.target.value)},label:"",value:x})})]})})}},26759:function(e,t,n){"use strict";var a=n(64836);t.Z=void 0;var o=a(n(45649)),r=n(80184),c=(0,o.default)((0,r.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");t.Z=c},70366:function(e,t,n){"use strict";var a=n(64836);t.Z=void 0;var o=a(n(45649)),r=n(80184),c=(0,o.default)((0,r.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");t.Z=c},97911:function(e,t,n){"use strict";var a=n(64836);t.Z=void 0;var o=a(n(45649)),r=n(80184),c=(0,o.default)((0,r.jsx)("path",{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}),"ViewColumn");t.Z=c},94454:function(e,t,n){"use strict";n.d(t,{Z:function(){return z}});var a=n(4942),o=n(63366),r=n(87462),c=n(72791),i=n(94419),s=n(12065),l=n(97278),u=n(76189),d=n(80184),p=(0,u.Z)((0,d.jsx)("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank"),m=(0,u.Z)((0,d.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox"),v=(0,u.Z)((0,d.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox"),h=n(14036),f=n(31402),Z=n(66934),x=n(21217);function C(e){return(0,x.Z)("MuiCheckbox",e)}var b=(0,n(75878).Z)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary"]),j=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size"],g=(0,Z.ZP)(l.Z,{shouldForwardProp:function(e){return(0,Z.FO)(e)||"classes"===e},name:"MuiCheckbox",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.indeterminate&&t.indeterminate,"default"!==n.color&&t["color".concat((0,h.Z)(n.color))]]}})((function(e){var t,n=e.theme,o=e.ownerState;return(0,r.Z)({color:(n.vars||n).palette.text.secondary},!o.disableRipple&&{"&:hover":{backgroundColor:n.vars?"rgba(".concat("default"===o.color?n.vars.palette.action.activeChannel:n.vars.palette.primary.mainChannel," / ").concat(n.vars.palette.action.hoverOpacity,")"):(0,s.Fq)("default"===o.color?n.palette.action.active:n.palette[o.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==o.color&&(t={},(0,a.Z)(t,"&.".concat(b.checked,", &.").concat(b.indeterminate),{color:(n.vars||n).palette[o.color].main}),(0,a.Z)(t,"&.".concat(b.disabled),{color:(n.vars||n).palette.action.disabled}),t))})),k=(0,d.jsx)(m,{}),P=(0,d.jsx)(p,{}),y=(0,d.jsx)(v,{}),z=c.forwardRef((function(e,t){var n,a,s=(0,f.Z)({props:e,name:"MuiCheckbox"}),l=s.checkedIcon,u=void 0===l?k:l,p=s.color,m=void 0===p?"primary":p,v=s.icon,Z=void 0===v?P:v,x=s.indeterminate,b=void 0!==x&&x,z=s.indeterminateIcon,S=void 0===z?y:z,V=s.inputProps,w=s.size,I=void 0===w?"medium":w,M=(0,o.Z)(s,j),F=b?S:Z,E=b?S:u,H=(0,r.Z)({},s,{color:m,indeterminate:b,size:I}),L=function(e){var t=e.classes,n=e.indeterminate,a=e.color,o={root:["root",n&&"indeterminate","color".concat((0,h.Z)(a))]},c=(0,i.Z)(o,C,t);return(0,r.Z)({},t,c)}(H);return(0,d.jsx)(g,(0,r.Z)({type:"checkbox",inputProps:(0,r.Z)({"data-indeterminate":b},V),icon:c.cloneElement(F,{fontSize:null!=(n=F.props.fontSize)?n:I}),checkedIcon:c.cloneElement(E,{fontSize:null!=(a=E.props.fontSize)?a:I}),ownerState:H,ref:t},M,{classes:L}))}))},26769:function(e,t,n){var a=n(39066),o=n(93629),r=n(43141);e.exports=function(e){return"string"==typeof e||!o(e)&&r(e)&&"[object String]"==a(e)}}}]); -//# sourceMappingURL=106.4385cff3.chunk.js.map \ No newline at end of file +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[106,2112],{59114:function(e,t,n){"use strict";var a=n(4942),o=n(1413),r=(n(72791),n(63466)),c=n(74900),i=n(27391),s=n(25787),l=n(11135),u=n(23814),d=n(80184);t.Z=(0,s.Z)((function(e){return(0,l.Z)({searchField:(0,o.Z)({},u.qg.searchField),adornment:{}})}))((function(e){var t=e.placeholder,n=void 0===t?"":t,o=e.classes,s=e.onChange,l=e.adornmentPosition,u=void 0===l?"end":l,p=e.overrideClass,m=e.value,v=(0,a.Z)({disableUnderline:!0},"".concat(u,"Adornment"),(0,d.jsx)(r.Z,{position:u,className:o.adornment,children:(0,d.jsx)(c.Z,{})}));return(0,d.jsx)(i.Z,{placeholder:n,className:p||o.searchField,id:"search-resource",label:"",InputProps:v,onChange:function(e){s(e.target.value)},variant:"standard",value:m})}))},27454:function(e,t,n){"use strict";var a=n(1413),o=n(72791),r=n(20068),c=n(80184);t.Z=function(e){var t=e.tooltip,n=e.children,i=e.errorProps,s=void 0===i?null:i;return(0,c.jsx)(r.Z,{title:t,children:(0,c.jsx)("span",{children:s?(0,o.cloneElement)(n,(0,a.Z)({},s)):n})})}},54120:function(e,t,n){"use strict";n.r(t);var a=n(29439),o=n(1413),r=n(72791),c=n(26181),i=n.n(c),s=n(61889),l=n(11135),u=n(25787),d=n(23814),p=n(25469),m=n(87995),v=n(81207),h=n(92983),f=n(32112),Z=n(32291),x=n(74794),C=n(59114),b=n(80184);t.default=(0,u.Z)((function(e){return(0,l.Z)((0,o.Z)((0,o.Z)((0,o.Z)({tableWrapper:{height:"calc(100vh - 150px)"}},d.OR),d.qg),(0,d.Bz)(e.spacing(4))))}))((function(e){var t=e.classes,n=(0,p.TL)(),c=(0,r.useState)([]),l=(0,a.Z)(c,2),u=l[0],d=l[1],j=(0,r.useState)(""),g=(0,a.Z)(j,2),k=g[0],P=g[1],y=(0,r.useState)(!0),z=(0,a.Z)(y,2),S=z[0],V=z[1],w=(0,r.useState)(null),I=(0,a.Z)(w,2),M=I[0],F=I[1],E=(0,r.useState)(!1),H=(0,a.Z)(E,2),L=H[0],O=H[1];(0,r.useEffect)((function(){S&&v.Z.invoke("GET","/api/v1/list-pvcs").then((function(e){var t=i()(e,"pvcs",[]);d(t||[]),V(!1)})).catch((function(e){V(!1),n((0,m.Ih)(e))}))}),[S,n]);var D=u.filter((function(e){return e.name.toLowerCase().includes(k.toLowerCase())})),T=[{type:"delete",onClick:function(e){var t=(0,o.Z)((0,o.Z)({},e),{},{tenant:e.tenant,namespace:e.namespace});F(t),O(!0)}}];return(0,b.jsxs)(r.Fragment,{children:[L&&(0,b.jsx)(f.default,{deleteOpen:L,selectedPVC:M,closeDeleteModalAndRefresh:function(e){O(!1),V(!0)}}),(0,b.jsx)(Z.Z,{label:"Persistent Volumes Claims",middleComponent:(0,b.jsx)(C.Z,{placeholder:"Search Volumes (PVCs)",onChange:function(e){P(e)},value:k})}),(0,b.jsx)(x.Z,{children:(0,b.jsx)(s.ZP,{item:!0,xs:12,children:(0,b.jsx)(h.Z,{itemActions:T,columns:[{label:"Name",elementKey:"name"},{label:"Namespace",elementKey:"namespace",width:90},{label:"Status",elementKey:"status",width:120},{label:"Tenant",renderFullObject:!0,renderFunction:function(e){return"".concat(e.namespace,"/").concat(e.tenant)}},{label:"Capacity",elementKey:"capacity",width:90},{label:"Storage Class",elementKey:"storageClass"}],isLoading:S,records:D,entityName:"PVCs",idField:"name",customPaperHeight:t.tableWrapper})})})]})}))},32112:function(e,t,n){"use strict";n.r(t);var a=n(29439),o=n(72791),r=n(51691),c=n(21435),i=n(61889),s=n(9505),l=n(23508),u=n(38588),d=n(87995),p=n(25469),m=n(80184);t.default=function(e){var t=e.deleteOpen,n=e.selectedPVC,v=e.closeDeleteModalAndRefresh,h=(0,p.TL)(),f=(0,o.useState)(""),Z=(0,a.Z)(f,2),x=Z[0],C=Z[1],b=(0,s.Z)((function(){return v(!0)}),(function(e){return h((0,d.Ih)(e))})),j=(0,a.Z)(b,2),g=j[0],k=j[1];return(0,m.jsx)(l.Z,{title:"Delete PVC",confirmText:"Delete",isOpen:t,titleIcon:(0,m.jsx)(u.NvT,{}),isLoading:g,onConfirm:function(){x===n.name?k("DELETE","/api/v1/namespaces/".concat(n.namespace,"/tenants/").concat(n.tenant,"/pvc/").concat(n.name)):h((0,d.Ih)({errorMessage:"PVC name is incorrect",detailedError:""}))},onClose:function(){return v(!1)},confirmButtonProps:{disabled:x!==n.name||g},confirmationContent:(0,m.jsxs)(r.Z,{children:["To continue please type ",(0,m.jsx)("b",{children:n.name})," in the box.",(0,m.jsx)(i.ZP,{item:!0,xs:12,children:(0,m.jsx)(c.Z,{id:"retype-PVC",name:"retype-PVC",onChange:function(e){C(e.target.value)},label:"",value:x})})]})})}},26759:function(e,t,n){"use strict";var a=n(64836);t.Z=void 0;var o=a(n(45649)),r=n(80184),c=(0,o.default)((0,r.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");t.Z=c},70366:function(e,t,n){"use strict";var a=n(64836);t.Z=void 0;var o=a(n(45649)),r=n(80184),c=(0,o.default)((0,r.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");t.Z=c},97911:function(e,t,n){"use strict";var a=n(64836);t.Z=void 0;var o=a(n(45649)),r=n(80184),c=(0,o.default)((0,r.jsx)("path",{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}),"ViewColumn");t.Z=c},94454:function(e,t,n){"use strict";n.d(t,{Z:function(){return z}});var a=n(4942),o=n(63366),r=n(87462),c=n(72791),i=n(94419),s=n(12065),l=n(97278),u=n(76189),d=n(80184),p=(0,u.Z)((0,d.jsx)("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank"),m=(0,u.Z)((0,d.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox"),v=(0,u.Z)((0,d.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox"),h=n(14036),f=n(31402),Z=n(66934),x=n(21217);function C(e){return(0,x.Z)("MuiCheckbox",e)}var b=(0,n(75878).Z)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary"]),j=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size"],g=(0,Z.ZP)(l.Z,{shouldForwardProp:function(e){return(0,Z.FO)(e)||"classes"===e},name:"MuiCheckbox",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.indeterminate&&t.indeterminate,"default"!==n.color&&t["color".concat((0,h.Z)(n.color))]]}})((function(e){var t,n=e.theme,o=e.ownerState;return(0,r.Z)({color:(n.vars||n).palette.text.secondary},!o.disableRipple&&{"&:hover":{backgroundColor:n.vars?"rgba(".concat("default"===o.color?n.vars.palette.action.activeChannel:n.vars.palette.primary.mainChannel," / ").concat(n.vars.palette.action.hoverOpacity,")"):(0,s.Fq)("default"===o.color?n.palette.action.active:n.palette[o.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==o.color&&(t={},(0,a.Z)(t,"&.".concat(b.checked,", &.").concat(b.indeterminate),{color:(n.vars||n).palette[o.color].main}),(0,a.Z)(t,"&.".concat(b.disabled),{color:(n.vars||n).palette.action.disabled}),t))})),k=(0,d.jsx)(m,{}),P=(0,d.jsx)(p,{}),y=(0,d.jsx)(v,{}),z=c.forwardRef((function(e,t){var n,a,s=(0,f.Z)({props:e,name:"MuiCheckbox"}),l=s.checkedIcon,u=void 0===l?k:l,p=s.color,m=void 0===p?"primary":p,v=s.icon,Z=void 0===v?P:v,x=s.indeterminate,b=void 0!==x&&x,z=s.indeterminateIcon,S=void 0===z?y:z,V=s.inputProps,w=s.size,I=void 0===w?"medium":w,M=(0,o.Z)(s,j),F=b?S:Z,E=b?S:u,H=(0,r.Z)({},s,{color:m,indeterminate:b,size:I}),L=function(e){var t=e.classes,n=e.indeterminate,a=e.color,o={root:["root",n&&"indeterminate","color".concat((0,h.Z)(a))]},c=(0,i.Z)(o,C,t);return(0,r.Z)({},t,c)}(H);return(0,d.jsx)(g,(0,r.Z)({type:"checkbox",inputProps:(0,r.Z)({"data-indeterminate":b},V),icon:c.cloneElement(F,{fontSize:null!=(n=F.props.fontSize)?n:I}),checkedIcon:c.cloneElement(E,{fontSize:null!=(a=E.props.fontSize)?a:I}),ownerState:H,ref:t},M,{classes:L}))}))},26769:function(e,t,n){var a=n(39066),o=n(93629),r=n(43141);e.exports=function(e){return"string"==typeof e||!o(e)&&r(e)&&"[object String]"==a(e)}}}]); +//# sourceMappingURL=106.72d23b2d.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/106.4385cff3.chunk.js.map b/portal-ui/build/static/js/106.72d23b2d.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/106.4385cff3.chunk.js.map rename to portal-ui/build/static/js/106.72d23b2d.chunk.js.map index 775483c0d..153359b25 100644 --- a/portal-ui/build/static/js/106.4385cff3.chunk.js.map +++ b/portal-ui/build/static/js/106.72d23b2d.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/106.4385cff3.chunk.js","mappings":"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","sources":["screens/Console/Common/SearchBox.tsx","screens/Console/Common/TooltipWrapper/TooltipWrapper.tsx","screens/Console/Storage/StoragePVCs.tsx","screens/Console/Tenants/TenantDetails/DeletePVC.tsx","../node_modules/@mui/icons-material/ArrowDropDown.js","../node_modules/@mui/icons-material/ArrowDropUp.js","../node_modules/@mui/icons-material/ViewColumn.js","../node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@mui/material/Checkbox/checkboxClasses.js","../node_modules/@mui/material/Checkbox/Checkbox.js","../node_modules/lodash/isString.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { cloneElement } from \"react\";\nimport { Tooltip } from \"@mui/material\";\n\ninterface ITooltipWrapperProps {\n tooltip: string;\n children: any;\n errorProps?: any;\n}\n\nconst TooltipWrapper = ({\n tooltip,\n children,\n errorProps = null,\n}: ITooltipWrapperProps) => {\n return (\n \n \n {errorProps ? cloneElement(children, { ...errorProps }) : children}\n \n \n );\n};\n\nexport default TooltipWrapper;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Grid } from \"@mui/material\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { useAppDispatch } from \"../../../store\";\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\nimport { IPVCsResponse, IStoragePVCs } from \"./types\";\nimport api from \"../../../common/api\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport DeletePVC from \"../Tenants/TenantDetails/DeletePVC\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport SearchBox from \"../Common/SearchBox\";\n\ninterface IStorageVolumesProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n tableWrapper: {\n height: \"calc(100vh - 150px)\",\n },\n ...actionsTray,\n ...searchField,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst StorageVolumes = ({ classes }: IStorageVolumesProps) => {\n const dispatch = useAppDispatch();\n\n const [records, setRecords] = useState([]);\n const [filter, setFilter] = useState(\"\");\n const [loading, setLoading] = useState(true);\n const [selectedPVC, setSelectedPVC] = useState(null);\n const [deleteOpen, setDeleteOpen] = useState(false);\n\n useEffect(() => {\n if (loading) {\n api\n .invoke(\"GET\", `/api/v1/list-pvcs`)\n .then((res: IPVCsResponse) => {\n let volumes = get(res, \"pvcs\", []);\n setRecords(volumes ? volumes : []);\n setLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n dispatch(setErrorSnackMessage(err));\n });\n }\n }, [loading, dispatch]);\n\n const filteredRecords: IStoragePVCs[] = records.filter((elementItem) =>\n elementItem.name.toLowerCase().includes(filter.toLowerCase())\n );\n\n const confirmDeletePVC = (pvcItem: IStoragePVCs) => {\n const delPvc = {\n ...pvcItem,\n tenant: pvcItem.tenant,\n namespace: pvcItem.namespace,\n };\n setSelectedPVC(delPvc);\n setDeleteOpen(true);\n };\n\n const tableActions = [{ type: \"delete\", onClick: confirmDeletePVC }];\n\n const closeDeleteModalAndRefresh = (reloadData: boolean) => {\n setDeleteOpen(false);\n setLoading(true);\n };\n\n return (\n \n {deleteOpen && (\n \n )}\n {\n setFilter(val);\n }}\n value={filter}\n />\n }\n />\n \n \n \n `${record.namespace}/${record.tenant}`,\n },\n {\n label: \"Capacity\",\n elementKey: \"capacity\",\n width: 90,\n },\n {\n label: \"Storage Class\",\n elementKey: \"storageClass\",\n },\n ]}\n isLoading={loading}\n records={filteredRecords}\n entityName=\"PVCs\"\n idField=\"name\"\n customPaperHeight={classes.tableWrapper}\n />\n \n \n \n );\n};\n\nexport default withStyles(styles)(StorageVolumes);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { DialogContentText } from \"@mui/material\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Grid from \"@mui/material/Grid\";\n\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\nimport { IStoragePVCs } from \"../../Storage/types\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IDeletePVC {\n deleteOpen: boolean;\n selectedPVC: IStoragePVCs;\n closeDeleteModalAndRefresh: (refreshList: boolean) => any;\n}\n\nconst DeletePVC = ({\n deleteOpen,\n selectedPVC,\n closeDeleteModalAndRefresh,\n}: IDeletePVC) => {\n const dispatch = useAppDispatch();\n const [retypePVC, setRetypePVC] = useState(\"\");\n\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) =>\n dispatch(setErrorSnackMessage(err));\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n const onConfirmDelete = () => {\n if (retypePVC !== selectedPVC.name) {\n dispatch(\n setErrorSnackMessage({\n errorMessage: \"PVC name is incorrect\",\n detailedError: \"\",\n })\n );\n return;\n }\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/namespaces/${selectedPVC.namespace}/tenants/${selectedPVC.tenant}/pvc/${selectedPVC.name}`\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmButtonProps={{\n disabled: retypePVC !== selectedPVC.name || deleteLoading,\n }}\n confirmationContent={\n \n To continue please type {selectedPVC.name} in the box.\n \n ) => {\n setRetypePVC(event.target.value);\n }}\n label=\"\"\n value={retypePVC}\n />\n \n \n }\n />\n );\n};\n\nexport default DeletePVC;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 10 5 5 5-5z\"\n}), 'ArrowDropDown');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 14 5-5 5 5z\"\n}), 'ArrowDropUp');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z\"\n}), 'ViewColumn');\n\nexports.default = _default;","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"\n}), 'CheckBoxOutlineBlank');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckBox');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z\"\n}), 'IndeterminateCheckBox');","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getCheckboxUtilityClass(slot) {\n return generateUtilityClass('MuiCheckbox', slot);\n}\nconst checkboxClasses = generateUtilityClasses('MuiCheckbox', ['root', 'checked', 'disabled', 'indeterminate', 'colorPrimary', 'colorSecondary']);\nexport default checkboxClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"checkedIcon\", \"color\", \"icon\", \"indeterminate\", \"indeterminateIcon\", \"inputProps\", \"size\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport SwitchBase from '../internal/SwitchBase';\nimport CheckBoxOutlineBlankIcon from '../internal/svg-icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '../internal/svg-icons/CheckBox';\nimport IndeterminateCheckBoxIcon from '../internal/svg-icons/IndeterminateCheckBox';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport checkboxClasses, { getCheckboxUtilityClass } from './checkboxClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n indeterminate,\n color\n } = ownerState;\n const slots = {\n root: ['root', indeterminate && 'indeterminate', `color${capitalize(color)}`]\n };\n const composedClasses = composeClasses(slots, getCheckboxUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst CheckboxRoot = styled(SwitchBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiCheckbox',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.indeterminate && styles.indeterminate, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, !ownerState.disableRipple && {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${ownerState.color === 'default' ? theme.vars.palette.action.activeChannel : theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(ownerState.color === 'default' ? theme.palette.action.active : theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${checkboxClasses.checked}, &.${checkboxClasses.indeterminate}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${checkboxClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n }\n}));\n\nconst defaultCheckedIcon = /*#__PURE__*/_jsx(CheckBoxIcon, {});\n\nconst defaultIcon = /*#__PURE__*/_jsx(CheckBoxOutlineBlankIcon, {});\n\nconst defaultIndeterminateIcon = /*#__PURE__*/_jsx(IndeterminateCheckBoxIcon, {});\n\nconst Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(inProps, ref) {\n var _icon$props$fontSize, _indeterminateIcon$pr;\n\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCheckbox'\n });\n\n const {\n checkedIcon = defaultCheckedIcon,\n color = 'primary',\n icon: iconProp = defaultIcon,\n indeterminate = false,\n indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon,\n inputProps,\n size = 'medium'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const icon = indeterminate ? indeterminateIconProp : iconProp;\n const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;\n\n const ownerState = _extends({}, props, {\n color,\n indeterminate,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CheckboxRoot, _extends({\n type: \"checkbox\",\n inputProps: _extends({\n 'data-indeterminate': indeterminate\n }, inputProps),\n icon: /*#__PURE__*/React.cloneElement(icon, {\n fontSize: (_icon$props$fontSize = icon.props.fontSize) != null ? _icon$props$fontSize : size\n }),\n checkedIcon: /*#__PURE__*/React.cloneElement(indeterminateIcon, {\n fontSize: (_indeterminateIcon$pr = indeterminateIcon.props.fontSize) != null ? _indeterminateIcon$pr : size\n }),\n ownerState: ownerState,\n ref: ref\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Checkbox.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n * @default \n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * The icon to display when the component is unchecked.\n * @default \n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the component appears indeterminate.\n * This does not set the native input element to indeterminate due\n * to inconsistent behavior across browsers.\n * However, we set a `data-indeterminate` attribute on the `input`.\n * @default false\n */\n indeterminate: PropTypes.bool,\n\n /**\n * The icon to display when the component is indeterminate.\n * @default \n */\n indeterminateIcon: PropTypes.node,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense checkbox styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Checkbox;","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n"],"names":["withStyles","theme","createStyles","searchField","adornment","placeholder","classes","onChange","adornmentPosition","overrideClass","value","inputProps","disableUnderline","position","className","id","label","InputProps","e","target","variant","tooltip","children","errorProps","title","cloneElement","tableWrapper","height","actionsTray","containerForHeader","spacing","dispatch","useAppDispatch","useState","records","setRecords","filter","setFilter","loading","setLoading","selectedPVC","setSelectedPVC","deleteOpen","setDeleteOpen","useEffect","api","then","res","volumes","get","catch","err","setErrorSnackMessage","filteredRecords","elementItem","name","toLowerCase","includes","tableActions","type","onClick","pvcItem","delPvc","tenant","namespace","Fragment","closeDeleteModalAndRefresh","reloadData","middleComponent","val","item","xs","itemActions","columns","elementKey","width","renderFullObject","renderFunction","record","isLoading","entityName","idField","customPaperHeight","retypePVC","setRetypePVC","useApi","deleteLoading","invokeDeleteApi","confirmText","isOpen","titleIcon","onConfirm","errorMessage","detailedError","onClose","confirmButtonProps","disabled","confirmationContent","event","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","createSvgIcon","_jsx","getCheckboxUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","CheckboxRoot","styled","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","props","styles","ownerState","root","indeterminate","color","capitalize","_extends","vars","palette","text","secondary","disableRipple","backgroundColor","action","activeChannel","primary","mainChannel","hoverOpacity","alpha","active","main","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","React","inProps","ref","_icon$props$fontSize","_indeterminateIcon$pr","useThemeProps","checkedIcon","icon","iconProp","indeterminateIcon","indeterminateIconProp","size","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","fontSize","baseGetTag","isArray","isObjectLike","module"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/106.72d23b2d.chunk.js","mappings":"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","sources":["screens/Console/Common/SearchBox.tsx","screens/Console/Common/TooltipWrapper/TooltipWrapper.tsx","screens/Console/Storage/StoragePVCs.tsx","screens/Console/Tenants/TenantDetails/DeletePVC.tsx","../node_modules/@mui/icons-material/ArrowDropDown.js","../node_modules/@mui/icons-material/ArrowDropUp.js","../node_modules/@mui/icons-material/ViewColumn.js","../node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@mui/material/Checkbox/checkboxClasses.js","../node_modules/@mui/material/Checkbox/Checkbox.js","../node_modules/lodash/isString.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { cloneElement } from \"react\";\nimport { Tooltip } from \"@mui/material\";\n\ninterface ITooltipWrapperProps {\n tooltip: string;\n children: any;\n errorProps?: any;\n}\n\nconst TooltipWrapper = ({\n tooltip,\n children,\n errorProps = null,\n}: ITooltipWrapperProps) => {\n return (\n \n \n {errorProps ? cloneElement(children, { ...errorProps }) : children}\n \n \n );\n};\n\nexport default TooltipWrapper;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Grid } from \"@mui/material\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { useAppDispatch } from \"../../../store\";\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\nimport { IPVCsResponse, IStoragePVCs } from \"./types\";\nimport api from \"../../../common/api\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport DeletePVC from \"../Tenants/TenantDetails/DeletePVC\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport SearchBox from \"../Common/SearchBox\";\n\ninterface IStorageVolumesProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n tableWrapper: {\n height: \"calc(100vh - 150px)\",\n },\n ...actionsTray,\n ...searchField,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst StorageVolumes = ({ classes }: IStorageVolumesProps) => {\n const dispatch = useAppDispatch();\n\n const [records, setRecords] = useState([]);\n const [filter, setFilter] = useState(\"\");\n const [loading, setLoading] = useState(true);\n const [selectedPVC, setSelectedPVC] = useState(null);\n const [deleteOpen, setDeleteOpen] = useState(false);\n\n useEffect(() => {\n if (loading) {\n api\n .invoke(\"GET\", `/api/v1/list-pvcs`)\n .then((res: IPVCsResponse) => {\n let volumes = get(res, \"pvcs\", []);\n setRecords(volumes ? volumes : []);\n setLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n dispatch(setErrorSnackMessage(err));\n });\n }\n }, [loading, dispatch]);\n\n const filteredRecords: IStoragePVCs[] = records.filter((elementItem) =>\n elementItem.name.toLowerCase().includes(filter.toLowerCase())\n );\n\n const confirmDeletePVC = (pvcItem: IStoragePVCs) => {\n const delPvc = {\n ...pvcItem,\n tenant: pvcItem.tenant,\n namespace: pvcItem.namespace,\n };\n setSelectedPVC(delPvc);\n setDeleteOpen(true);\n };\n\n const tableActions = [{ type: \"delete\", onClick: confirmDeletePVC }];\n\n const closeDeleteModalAndRefresh = (reloadData: boolean) => {\n setDeleteOpen(false);\n setLoading(true);\n };\n\n return (\n \n {deleteOpen && (\n \n )}\n {\n setFilter(val);\n }}\n value={filter}\n />\n }\n />\n \n \n \n `${record.namespace}/${record.tenant}`,\n },\n {\n label: \"Capacity\",\n elementKey: \"capacity\",\n width: 90,\n },\n {\n label: \"Storage Class\",\n elementKey: \"storageClass\",\n },\n ]}\n isLoading={loading}\n records={filteredRecords}\n entityName=\"PVCs\"\n idField=\"name\"\n customPaperHeight={classes.tableWrapper}\n />\n \n \n \n );\n};\n\nexport default withStyles(styles)(StorageVolumes);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { DialogContentText } from \"@mui/material\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Grid from \"@mui/material/Grid\";\n\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\nimport { IStoragePVCs } from \"../../Storage/types\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IDeletePVC {\n deleteOpen: boolean;\n selectedPVC: IStoragePVCs;\n closeDeleteModalAndRefresh: (refreshList: boolean) => any;\n}\n\nconst DeletePVC = ({\n deleteOpen,\n selectedPVC,\n closeDeleteModalAndRefresh,\n}: IDeletePVC) => {\n const dispatch = useAppDispatch();\n const [retypePVC, setRetypePVC] = useState(\"\");\n\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) =>\n dispatch(setErrorSnackMessage(err));\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n const onConfirmDelete = () => {\n if (retypePVC !== selectedPVC.name) {\n dispatch(\n setErrorSnackMessage({\n errorMessage: \"PVC name is incorrect\",\n detailedError: \"\",\n })\n );\n return;\n }\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/namespaces/${selectedPVC.namespace}/tenants/${selectedPVC.tenant}/pvc/${selectedPVC.name}`\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmButtonProps={{\n disabled: retypePVC !== selectedPVC.name || deleteLoading,\n }}\n confirmationContent={\n \n To continue please type {selectedPVC.name} in the box.\n \n ) => {\n setRetypePVC(event.target.value);\n }}\n label=\"\"\n value={retypePVC}\n />\n \n \n }\n />\n );\n};\n\nexport default DeletePVC;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 10 5 5 5-5z\"\n}), 'ArrowDropDown');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 14 5-5 5 5z\"\n}), 'ArrowDropUp');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z\"\n}), 'ViewColumn');\n\nexports.default = _default;","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"\n}), 'CheckBoxOutlineBlank');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckBox');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z\"\n}), 'IndeterminateCheckBox');","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getCheckboxUtilityClass(slot) {\n return generateUtilityClass('MuiCheckbox', slot);\n}\nconst checkboxClasses = generateUtilityClasses('MuiCheckbox', ['root', 'checked', 'disabled', 'indeterminate', 'colorPrimary', 'colorSecondary']);\nexport default checkboxClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"checkedIcon\", \"color\", \"icon\", \"indeterminate\", \"indeterminateIcon\", \"inputProps\", \"size\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport SwitchBase from '../internal/SwitchBase';\nimport CheckBoxOutlineBlankIcon from '../internal/svg-icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '../internal/svg-icons/CheckBox';\nimport IndeterminateCheckBoxIcon from '../internal/svg-icons/IndeterminateCheckBox';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport checkboxClasses, { getCheckboxUtilityClass } from './checkboxClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n indeterminate,\n color\n } = ownerState;\n const slots = {\n root: ['root', indeterminate && 'indeterminate', `color${capitalize(color)}`]\n };\n const composedClasses = composeClasses(slots, getCheckboxUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst CheckboxRoot = styled(SwitchBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiCheckbox',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.indeterminate && styles.indeterminate, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, !ownerState.disableRipple && {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${ownerState.color === 'default' ? theme.vars.palette.action.activeChannel : theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(ownerState.color === 'default' ? theme.palette.action.active : theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${checkboxClasses.checked}, &.${checkboxClasses.indeterminate}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${checkboxClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n }\n}));\n\nconst defaultCheckedIcon = /*#__PURE__*/_jsx(CheckBoxIcon, {});\n\nconst defaultIcon = /*#__PURE__*/_jsx(CheckBoxOutlineBlankIcon, {});\n\nconst defaultIndeterminateIcon = /*#__PURE__*/_jsx(IndeterminateCheckBoxIcon, {});\n\nconst Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(inProps, ref) {\n var _icon$props$fontSize, _indeterminateIcon$pr;\n\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCheckbox'\n });\n\n const {\n checkedIcon = defaultCheckedIcon,\n color = 'primary',\n icon: iconProp = defaultIcon,\n indeterminate = false,\n indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon,\n inputProps,\n size = 'medium'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const icon = indeterminate ? indeterminateIconProp : iconProp;\n const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;\n\n const ownerState = _extends({}, props, {\n color,\n indeterminate,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CheckboxRoot, _extends({\n type: \"checkbox\",\n inputProps: _extends({\n 'data-indeterminate': indeterminate\n }, inputProps),\n icon: /*#__PURE__*/React.cloneElement(icon, {\n fontSize: (_icon$props$fontSize = icon.props.fontSize) != null ? _icon$props$fontSize : size\n }),\n checkedIcon: /*#__PURE__*/React.cloneElement(indeterminateIcon, {\n fontSize: (_indeterminateIcon$pr = indeterminateIcon.props.fontSize) != null ? _indeterminateIcon$pr : size\n }),\n ownerState: ownerState,\n ref: ref\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Checkbox.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n * @default \n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * The icon to display when the component is unchecked.\n * @default \n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the component appears indeterminate.\n * This does not set the native input element to indeterminate due\n * to inconsistent behavior across browsers.\n * However, we set a `data-indeterminate` attribute on the `input`.\n * @default false\n */\n indeterminate: PropTypes.bool,\n\n /**\n * The icon to display when the component is indeterminate.\n * @default \n */\n indeterminateIcon: PropTypes.node,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense checkbox styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Checkbox;","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n"],"names":["withStyles","theme","createStyles","searchField","adornment","placeholder","classes","onChange","adornmentPosition","overrideClass","value","inputProps","disableUnderline","position","className","id","label","InputProps","e","target","variant","tooltip","children","errorProps","title","cloneElement","tableWrapper","height","actionsTray","containerForHeader","spacing","dispatch","useAppDispatch","useState","records","setRecords","filter","setFilter","loading","setLoading","selectedPVC","setSelectedPVC","deleteOpen","setDeleteOpen","useEffect","api","then","res","volumes","get","catch","err","setErrorSnackMessage","filteredRecords","elementItem","name","toLowerCase","includes","tableActions","type","onClick","pvcItem","delPvc","tenant","namespace","Fragment","closeDeleteModalAndRefresh","reloadData","middleComponent","val","item","xs","itemActions","columns","elementKey","width","renderFullObject","renderFunction","record","isLoading","entityName","idField","customPaperHeight","retypePVC","setRetypePVC","useApi","deleteLoading","invokeDeleteApi","confirmText","isOpen","titleIcon","onConfirm","errorMessage","detailedError","onClose","confirmButtonProps","disabled","confirmationContent","event","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","createSvgIcon","_jsx","getCheckboxUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","CheckboxRoot","styled","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","props","styles","ownerState","root","indeterminate","color","capitalize","_extends","vars","palette","text","secondary","disableRipple","backgroundColor","action","activeChannel","primary","mainChannel","hoverOpacity","alpha","active","main","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","React","inProps","ref","_icon$props$fontSize","_indeterminateIcon$pr","useThemeProps","checkedIcon","icon","iconProp","indeterminateIcon","indeterminateIconProp","size","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","fontSize","baseGetTag","isArray","isObjectLike","module"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1199.0f0e2d2b.chunk.js b/portal-ui/build/static/js/1199.0f0e2d2b.chunk.js new file mode 100644 index 000000000..0b0483b6a --- /dev/null +++ b/portal-ui/build/static/js/1199.0f0e2d2b.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1199],{65935:function(e,t,n){n.r(t),n.d(t,{default:function(){return T}});var i=n(29439),s=n(1413),r=n(72791),o=n(16871),a=n(75952),c=n(11135),l=n(25787),d=n(23814),u=n(61889),p=n(64554),x=n(38588),h=n(92217),m=n(32291),f=n(74794),y=n(21435),j=n(37516),g=n(80184),Z=function(e){var t=e.icon,n=e.description;return(0,g.jsxs)(p.Z,{sx:{display:"flex","& .min-icon":{marginRight:"10px",height:"23px",width:"23px",marginBottom:"10px"}},children:[t," ",(0,g.jsx)("div",{style:{fontSize:"14px",fontStyle:"italic",color:"#5E5E5E"},children:n})]})},v=function(){return(0,g.jsxs)(p.Z,{sx:{flex:1,border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"20px",marginTop:{xs:"0px"}},children:[(0,g.jsxs)(p.Z,{sx:{fontSize:"16px",fontWeight:600,display:"flex",alignItems:"center",marginBottom:"16px",paddingBottom:"20px","& .min-icon":{height:"21px",width:"21px",marginRight:"15px"}},children:[(0,g.jsx)(x.M9A,{}),(0,g.jsx)("div",{children:"Learn more about Access Keys"})]}),(0,g.jsxs)(p.Z,{sx:{fontSize:"14px",marginBottom:"15px"},children:[(0,g.jsxs)(p.Z,{sx:{paddingBottom:"20px"},children:[(0,g.jsx)(Z,{icon:(0,g.jsx)(x.nO6,{}),description:"Create Access Keys"}),(0,g.jsx)(p.Z,{sx:{paddingTop:"20px"},children:"Access Keys inherit the policies explicitly attached to the parent user, and the policies attached to each group in which the parent user has membership."})]}),(0,g.jsxs)(p.Z,{sx:{paddingBottom:"20px"},children:[(0,g.jsx)(Z,{icon:(0,g.jsx)(x.tvm,{}),description:"Assign Custom Credentials"}),(0,g.jsx)(p.Z,{sx:{paddingTop:"10px"},children:"Randomized access credentials are recommended, and provided by default. You may use your own custom Access Key and Secret Key by replacing the default values. After creation of any Access Key, you will be given the opportunity to view and download the account credentials."}),(0,g.jsx)(p.Z,{sx:{paddingTop:"10px"},children:"Access Keys support programmatic access by applications. You cannot use a Access Key to log into the MinIO Console."})]}),(0,g.jsxs)(p.Z,{sx:{paddingBottom:"20px"},children:[(0,g.jsx)(Z,{icon:(0,g.jsx)(x.v42,{}),description:"Assign Access Policies"}),(0,g.jsx)(p.Z,{sx:{paddingTop:"10px"},children:"You can specify an optional JSON-formatted IAM policy to further restrict Access Key access to a subset of the actions and resources explicitly allowed for the parent user. Additional access beyond that of the parent user cannot be implemented through these policies."}),(0,g.jsx)(p.Z,{sx:{paddingTop:"10px"},children:"You cannot modify the optional Access Key IAM policy after saving."})]})]}),(0,g.jsx)(p.Z,{sx:{display:"flex",flexFlow:"column"}})]})},b=n(84669),A=n(3579),K=n(20165),w=n(56087),C=n(81207),S=n(37798),N=n(50896),P=n(84741),O=n(60680),k=n(87995),B=n(25469),T=(0,l.Z)((function(e){return(0,c.Z)((0,s.Z)((0,s.Z)({bottomContainer:{display:"flex",flexGrow:1,alignItems:"center",margin:"auto",justifyContent:"center","& div":{width:150,"@media (max-width: 900px)":{flexFlow:"column"}}}},d.DF),d.ID))}))((function(e){var t=e.classes,n=(0,B.TL)(),s=(0,o.s0)(),c=(0,r.useState)(!1),l=(0,i.Z)(c,2),d=l[0],Z=l[1],T=(0,r.useState)((0,P.zO)(16)),I=(0,i.Z)(T,2),M=I[0],z=I[1],E=(0,r.useState)((0,P.zO)(32)),F=(0,i.Z)(E,2),D=F[0],L=F[1],R=(0,r.useState)(!1),Y=(0,i.Z)(R,2),_=Y[0],J=Y[1],W=(0,r.useState)(null),H=(0,i.Z)(W,2),U=H[0],V=H[1],G=(0,r.useState)(!1),Q=(0,i.Z)(G,2),q=Q[0],X=Q[1],$=(0,r.useState)(""),ee=(0,i.Z)($,2),te=ee[0],ne=ee[1];(0,r.useEffect)((function(){d&&C.Z.invoke("POST","/api/v1/service-account-credentials",{policy:te,accessKey:M,secretKey:D}).then((function(e){Z(!1),V({accessKey:e.accessKey||"",secretKey:e.secretKey||"",url:e.url||""})})).catch((function(e){Z(!1),n((0,k.Ih)(e))}))}),[d,Z,n,te,M,D]),(0,r.useEffect)((function(){_&&C.Z.invoke("GET","/api/v1/user/policy").then((function(e){ne(JSON.stringify(JSON.parse(e),null,4))}))}),[_]);return(0,g.jsxs)(r.Fragment,{children:[null!==U&&(0,g.jsx)(S.default,{newServiceAccount:U,open:null!==U,closeModal:function(){V(null),s("".concat(w.gA.ACCOUNT))},entity:"Access Key"}),(0,g.jsxs)(u.ZP,{item:!0,xs:12,children:[(0,g.jsx)(m.Z,{label:(0,g.jsx)(b.Z,{to:w.gA.ACCOUNT,label:"Access Keys"})}),(0,g.jsx)(f.Z,{children:(0,g.jsxs)(p.Z,{sx:{display:"grid",padding:"25px",gap:"25px",gridTemplateColumns:{md:"2fr 1.2fr",xs:"1fr"},border:"1px solid #eaeaea"},children:[(0,g.jsxs)(p.Z,{children:[(0,g.jsx)(N.Z,{icon:(0,g.jsx)(x.tVY,{}),children:"Create Access Key"}),(0,g.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault(),Z(!0)}(e)},children:(0,g.jsxs)(u.ZP,{container:!0,item:!0,spacing:"20",sx:{marginTop:1},children:[(0,g.jsx)(u.ZP,{item:!0,xs:12,children:(0,g.jsx)(u.ZP,{container:!0,item:!0,spacing:"20",children:(0,g.jsx)(u.ZP,{item:!0,xs:12,children:(0,g.jsxs)(u.ZP,{container:!0,children:[(0,g.jsx)(u.ZP,{item:!0,xs:1,children:(0,g.jsx)(x.tvm,{})}),(0,g.jsx)(u.ZP,{item:!0,children:(0,g.jsxs)(u.ZP,{container:!0,item:!0,spacing:"20",children:[(0,g.jsxs)(u.ZP,{item:!0,xs:12,children:[" ",(0,g.jsx)("div",{className:t.stackedInputs,children:(0,g.jsx)(y.Z,{value:M,label:"Access Key",id:"accessKey",name:"accessKey",placeholder:"Enter Access Key",onChange:function(e){z(e.target.value)}})})]}),(0,g.jsx)(u.ZP,{item:!0,xs:12,children:(0,g.jsx)("div",{className:t.stackedInputs,children:(0,g.jsx)(y.Z,{value:D,label:"Secret Key",id:"secretKey",name:"secretKey",type:q?"text":"password",placeholder:"Enter Secret Key",onChange:function(e){L(e.target.value)},overlayIcon:q?(0,g.jsx)(K.Z,{}):(0,g.jsx)(A.Z,{}),overlayAction:function(){return X(!q)}})})})]})})]})})})}),(0,g.jsxs)(u.ZP,{container:!0,item:!0,spacing:"20",children:[(0,g.jsx)(u.ZP,{item:!0,xs:12,children:(0,g.jsxs)(u.ZP,{container:!0,children:[(0,g.jsx)(u.ZP,{item:!0,xs:1,children:(0,g.jsx)(x.v42,{})}),(0,g.jsx)(u.ZP,{item:!0,xs:11,children:(0,g.jsx)(j.Z,{value:"serviceAccountPolicy",id:"serviceAccountPolicy",name:"serviceAccountPolicy",checked:_,onChange:function(e){J(e.target.checked)},label:"Restrict beyond user policy",tooltip:"You can specify an optional JSON-formatted IAM policy to further restrict Access Key access to a subset of the actions and resources explicitly allowed for the parent user. Additional access beyond that of the parent user cannot be implemented through these policies."})})]})}),_&&(0,g.jsxs)(u.ZP,{item:!0,xs:12,className:t.codeMirrorContainer,children:[(0,g.jsx)("div",{children:(0,g.jsx)(O.Z,{children:"Current User Policy - edit the JSON to remove permissions for this Access Key"})}),(0,g.jsx)(u.ZP,{item:!0,xs:12,className:t.formScrollable,children:(0,g.jsx)(h.Z,{value:te,onBeforeChange:function(e,t,n){ne(n)},editorHeight:"350px"})})]})]}),(0,g.jsxs)(u.ZP,{item:!0,xs:12,className:t.modalButtonBar,children:[(0,g.jsx)(a.zx,{id:"clear",type:"button",variant:"regular",onClick:function(){ne(""),V(null),z(""),L(""),X(!1)},label:"Clear"}),(0,g.jsx)(a.zx,{id:"create-sa",type:"submit",variant:"callAction",color:"primary",label:"Create"})]})]})})]}),(0,g.jsx)(v,{})]})})]})]})}))},37798:function(e,t,n){n.r(t),n.d(t,{default:function(){return A}});var i=n(1413),s=n(72791),r=n(26181),o=n.n(r),a=n(75952),c=n(11135),l=n(25787),d=n(56028),u=n(61889),p=n(77196),x=n(63466),h=n(78029),m=n.n(h),f=n(38588),y=n(23814),j=n(27454),g=n(80184),Z=(0,l.Z)((function(e){return(0,c.Z)({container:{display:"flex",flexFlow:"column",padding:"20px 0 8px 0"},inputWithCopy:{"& .MuiInputBase-root ":{width:"100%",background:"#FBFAFA","& .MuiInputBase-input":{height:".8rem"},"& .MuiInputAdornment-positionEnd":{marginRight:".5rem","& .MuiButtonBase-root":{height:"2rem"}}},"& .MuiButtonBase-root .min-icon":{width:".8rem",height:".8rem"}},inputLabel:(0,i.Z)((0,i.Z)({},y.YI.inputLabel),{},{fontSize:".8rem"})})}))((function(e){var t=e.label,n=void 0===t?"":t,i=e.value,s=void 0===i?"":i,r=e.classes,o=void 0===r?{}:r;return(0,g.jsxs)("div",{className:o.container,children:[(0,g.jsxs)("div",{className:o.inputLabel,children:[n,":"]}),(0,g.jsx)("div",{className:o.inputWithCopy,children:(0,g.jsx)(p.Z,{value:s,readOnly:!0,endAdornment:(0,g.jsx)(x.Z,{position:"end",children:(0,g.jsx)(j.Z,{tooltip:"Copy",children:(0,g.jsx)(m(),{text:s,children:(0,g.jsx)(a.zx,{id:"copy-clipboard","aria-label":"copy",onClick:function(){},onMouseDown:function(){},style:{width:"28px",height:"28px",padding:"0px"},icon:(0,g.jsx)(f.TIy,{})})})})})})})]})})),v=n(89357),b=function(e,t){var n=document.createElement("a");n.setAttribute("href","data:text/plain;charset=utf-8,"+t),n.setAttribute("download",e),n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n)},A=(0,l.Z)((function(e){return(0,c.Z)({warningBlock:{color:"red",fontSize:".85rem",margin:".5rem 0 .5rem 0",display:"flex",alignItems:"center","& svg ":{marginRight:".3rem",height:16,width:16}},credentialTitle:{padding:".8rem 0 0 0",fontWeight:600,fontSize:".9rem"},buttonContainer:{display:"flex",justifyContent:"flex-end",marginTop:"1rem"},credentialsPanel:{overflowY:"auto",maxHeight:350},promptTitle:{display:"flex",alignItems:"center"},buttonSpacer:{marginRight:".9rem"}})}))((function(e){var t=e.classes,n=e.newServiceAccount,r=e.open,c=e.closeModal,l=e.entity;if(!n)return null;var p=o()(n,"console",null),x=o()(n,"idp",!1);return(0,g.jsx)(d.Z,{modalOpen:r,onClose:function(){c()},title:(0,g.jsx)("div",{className:t.promptTitle,children:(0,g.jsxs)("div",{children:["New ",l," Created"]})}),titleIcon:(0,g.jsx)(f.tVY,{}),children:(0,g.jsxs)(u.ZP,{container:!0,children:[(0,g.jsxs)(u.ZP,{item:!0,xs:12,className:t.formScrollable,children:["A new ",l," has been created with the following details:",!x&&p&&(0,g.jsx)(s.Fragment,{children:(0,g.jsxs)(u.ZP,{item:!0,xs:12,className:t.credentialsPanel,children:[(0,g.jsx)("div",{className:t.credentialTitle,children:"Console Credentials"}),Array.isArray(p)&&p.map((function(e,t){return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(Z,{label:"Access Key",value:e.accessKey}),(0,g.jsx)(Z,{label:"Secret Key",value:e.secretKey})]})})),!Array.isArray(p)&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(Z,{label:"Access Key",value:p.accessKey}),(0,g.jsx)(Z,{label:"Secret Key",value:p.secretKey})]})]})}),(null===p||void 0===p)&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(Z,{label:"Access Key",value:n.accessKey||""}),(0,g.jsx)(Z,{label:"Secret Key",value:n.secretKey||""})]}),x?(0,g.jsx)("div",{className:t.warningBlock,children:"Please Login via the configured external identity provider."}):(0,g.jsxs)("div",{className:t.warningBlock,children:[(0,g.jsx)(v.Z,{}),(0,g.jsx)("span",{children:"Write these down, as this is the only time the secret will be displayed."})]})]}),(0,g.jsx)(u.ZP,{item:!0,xs:12,className:t.buttonContainer,children:!x&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(j.Z,{tooltip:"Download credentials in a JSON file formatted for import using mc alias import. This will only include the default login credentials.",children:(0,g.jsx)(a.zx,{id:"download-button",label:"Download for import",className:t.buttonSpacer,onClick:function(){var e={};p?e=Array.isArray(p)?p.map((function(e){return{url:e.url,accessKey:e.accessKey,secretKey:e.secretKey,api:"s3v4",path:"auto"}}))[0]:{url:p.url,accessKey:p.accessKey,secretKey:p.secretKey,api:"s3v4",path:"auto"}:e={url:n.url,accessKey:n.accessKey,secretKey:n.secretKey,api:"s3v4",path:"auto"};b("credentials.json",JSON.stringify((0,i.Z)({},e)))},icon:(0,g.jsx)(f._8t,{}),variant:"callAction"})}),Array.isArray(p)&&p.length>1&&(0,g.jsx)(j.Z,{tooltip:"Download all access credentials to a JSON file. NOTE: This file is not formatted for import using mc alias import. If you plan to import this alias from the file, please use the Download for Import button. ",children:(0,g.jsx)(a.zx,{id:"download-all-button",label:"Download all access credentials",className:t.buttonSpacer,onClick:function(){var e={};p&&Array.isArray(p)&&p.length>1&&(e=p.map((function(e){return{accessKey:e.accessKey,secretKey:e.secretKey}})));b("all_credentials.json",JSON.stringify((0,i.Z)({},e)))},icon:(0,g.jsx)(f._8t,{}),variant:"callAction",color:"primary"})})]})})]})})}))},92217:function(e,t,n){var i=n(1413),s=n(72791),r=n(61889),o=n(30829),a=n(20068),c=n(64554),l=n(11135),d=n(25787),u=n(84570),p=n(23814),x=n(38588),h=n(75952),m=n(78029),f=n.n(m),y=n(90932),j=n(27454),g=n(80184);t.Z=(0,d.Z)((function(e){return(0,l.Z)((0,i.Z)({},p.YI))}))((function(e){var t=e.value,n=e.label,i=void 0===n?"":n,l=e.tooltip,d=void 0===l?"":l,p=e.mode,m=void 0===p?"json":p,Z=e.classes,v=e.onBeforeChange,b=(e.readOnly,e.editorHeight),A=void 0===b?"250px":b;return(0,g.jsxs)(s.Fragment,{children:[(0,g.jsx)(r.ZP,{item:!0,xs:12,sx:{marginBottom:"10px"},children:(0,g.jsxs)(o.Z,{className:Z.inputLabel,children:[(0,g.jsx)("span",{children:i}),""!==d&&(0,g.jsx)("div",{className:Z.tooltipContainer,children:(0,g.jsx)(a.Z,{title:d,placement:"top-start",children:(0,g.jsx)("div",{className:Z.tooltip,children:(0,g.jsx)(u.Z,{})})})})]})}),(0,g.jsx)(r.ZP,{item:!0,xs:12,style:{maxHeight:A,overflow:"auto",border:"1px solid #eaeaea"},children:(0,g.jsx)(y.Z,{value:t,language:m,onChange:function(e){v(null,null,e.target.value)},id:"code_wrapper",padding:15,style:{fontSize:12,backgroundColor:"#fefefe",fontFamily:"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace",minHeight:A||"initial",color:"#000000"}})}),(0,g.jsx)(r.ZP,{item:!0,xs:12,sx:{background:"#f7f7f7",border:"1px solid #eaeaea",borderTop:0},children:(0,g.jsx)(c.Z,{sx:{display:"flex",alignItems:"center",padding:"2px",paddingRight:"5px",justifyContent:"flex-end","& button":{height:"26px",width:"26px",padding:"2px"," .min-icon":{marginLeft:"0"}}},children:(0,g.jsx)(j.Z,{tooltip:"Copy to Clipboard",children:(0,g.jsx)(f(),{text:t,children:(0,g.jsx)(h.zx,{type:"button",id:"copy-code-mirror",icon:(0,g.jsx)(x.TIy,{}),color:"primary",variant:"regular"})})})})})]})}))},56028:function(e,t,n){var i=n(29439),s=n(1413),r=n(72791),o=n(60364),a=n(13400),c=n(55646),l=n(5574),d=n(65661),u=n(39157),p=n(11135),x=n(25787),h=n(23814),m=n(25469),f=n(29823),y=n(28057),j=n(87995),g=n(80184);t.Z=(0,x.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)({},h.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},h.sN))}))((function(e){var t=e.onClose,n=e.modalOpen,p=e.title,x=e.children,h=e.classes,Z=e.wideLimit,v=void 0===Z||Z,b=e.noContentPadding,A=e.titleIcon,K=void 0===A?null:A,w=(0,m.TL)(),C=(0,r.useState)(!1),S=(0,i.Z)(C,2),N=S[0],P=S[1],O=(0,o.v9)((function(e){return e.system.modalSnackBar}));(0,r.useEffect)((function(){w((0,j.MK)(""))}),[w]),(0,r.useEffect)((function(){if(O){if(""===O.message)return void P(!1);"error"!==O.type&&P(!0)}}),[O]);var k=v?{classes:{paper:h.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},B="";return O&&(B=O.detailedErrorMsg,(""===O.detailedErrorMsg||O.detailedErrorMsg.length<5)&&(B=O.message)),(0,g.jsxs)(l.Z,(0,s.Z)((0,s.Z)({open:n,classes:h},k),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:h.root,children:[(0,g.jsxs)(d.Z,{className:h.title,children:[(0,g.jsxs)("div",{className:h.titleText,children:[K," ",p]}),(0,g.jsx)("div",{className:h.closeContainer,children:(0,g.jsx)(a.Z,{"aria-label":"close",id:"close",className:h.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,g.jsx)(f.Z,{})})})]}),(0,g.jsx)(y.Z,{isModal:!0}),(0,g.jsx)(c.Z,{open:N,className:h.snackBarModal,onClose:function(){P(!1),w((0,j.MK)(""))},message:B,ContentProps:{className:"".concat(h.snackBar," ").concat(O&&"error"===O.type?h.errorSnackBar:"")},autoHideDuration:O&&"error"===O.type?1e4:5e3}),(0,g.jsx)(u.Z,{className:b?"":h.content,children:x})]}))}))},60680:function(e,t,n){n(72791);var i=n(11135),s=n(25787),r=n(80184);t.Z=(0,s.Z)((function(e){return(0,i.Z)({root:{padding:0,margin:0,fontSize:".9rem"}})}))((function(e){var t=e.classes,n=e.children;return(0,r.jsx)("h1",{className:t.root,children:n})}))},27454:function(e,t,n){var i=n(1413),s=n(72791),r=n(20068),o=n(80184);t.Z=function(e){var t=e.tooltip,n=e.children,a=e.errorProps,c=void 0===a?null:a;return(0,o.jsx)(r.Z,{title:t,children:(0,o.jsx)("span",{children:c?(0,s.cloneElement)(n,(0,i.Z)({},c)):n})})}},61120:function(e,t,n){function i(e){return i=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},i(e)}n.d(t,{Z:function(){return i}})},60136:function(e,t,n){n.d(t,{Z:function(){return s}});var i=n(89611);function s(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}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&(0,i.Z)(e,t)}},82963:function(e,t,n){n.d(t,{Z:function(){return r}});var i=n(71002),s=n(97326);function r(e,t){if(t&&("object"===(0,i.Z)(t)||"function"===typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return(0,s.Z)(e)}}}]); +//# sourceMappingURL=1199.0f0e2d2b.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1199.0f0e2d2b.chunk.js.map b/portal-ui/build/static/js/1199.0f0e2d2b.chunk.js.map new file mode 100644 index 000000000..b2d530956 --- /dev/null +++ b/portal-ui/build/static/js/1199.0f0e2d2b.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1199.0f0e2d2b.chunk.js","mappings":"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","sources":["screens/Console/Account/AddServiceAccountHelpBox.tsx","screens/Console/Account/AddServiceAccountScreen.tsx","screens/Console/Common/CredentialsPrompt/CredentialItem.tsx","screens/Console/Common/CredentialsPrompt/CredentialsPrompt.tsx","screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/PanelTitle/PanelTitle.tsx","screens/Console/Common/TooltipWrapper/TooltipWrapper.tsx","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\nimport {\n HelpIconFilled,\n IAMPoliciesIcon,\n PasswordKeyIcon,\n ServiceAccountIcon,\n} from \"../../../icons\";\n\nconst FeatureItem = ({\n icon,\n description,\n}: {\n icon: any;\n description: string;\n}) => {\n return (\n \n {icon}{\" \"}\n
\n {description}\n
\n \n );\n};\nconst AddServiceAccountHelpBox = () => {\n return (\n \n \n \n
Learn more about Access Keys
\n \n \n \n }\n description={`Create Access Keys`}\n />\n \n Access Keys inherit the policies explicitly attached to the parent\n user, and the policies attached to each group in which the parent\n user has membership.\n \n \n \n }\n description={`Assign Custom Credentials`}\n />\n \n Randomized access credentials are recommended, and provided by\n default. You may use your own custom Access Key and Secret Key by\n replacing the default values. After creation of any Access Key, you\n will be given the opportunity to view and download the account\n credentials.\n \n \n Access Keys support programmatic access by applications. You cannot\n use a Access Key to log into the MinIO Console.\n \n \n \n }\n description={`Assign Access Policies`}\n />\n \n You can specify an optional JSON-formatted IAM policy to further\n restrict Access Key access to a subset of the actions and resources\n explicitly allowed for the parent user. Additional access beyond\n that of the parent user cannot be implemented through these\n policies.\n \n \n You cannot modify the optional Access Key IAM policy after saving.\n \n \n \n \n \n );\n};\n\nexport default AddServiceAccountHelpBox;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { useNavigate } from \"react-router-dom\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box } from \"@mui/material\";\nimport {\n IAMPoliciesIcon,\n PasswordKeyIcon,\n ServiceAccountCredentialsIcon,\n} from \"../../../icons\";\nimport CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport AddServiceAccountHelpBox from \"./AddServiceAccountHelpBox\";\nimport BackLink from \"../../../common/BackLink\";\nimport { NewServiceAccount } from \"../Common/CredentialsPrompt/types\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport { ErrorResponseHandler } from \"../../../../src/common/types\";\nimport api from \"../../../../src/common/api\";\nimport CredentialsPrompt from \"../Common/CredentialsPrompt/CredentialsPrompt\";\n\nimport SectionTitle from \"../Common/SectionTitle\";\nimport { getRandomString } from \"../../../screens/Console/Tenants/utils\";\nimport PanelTitle from \"../Common/PanelTitle/PanelTitle\";\n\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\n\ninterface IAddServiceAccountProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n bottomContainer: {\n display: \"flex\",\n flexGrow: 1,\n alignItems: \"center\",\n margin: \"auto\",\n justifyContent: \"center\",\n \"& div\": {\n width: 150,\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\nconst AddServiceAccount = ({ classes }: IAddServiceAccountProps) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const [addSending, setAddSending] = useState(false);\n const [accessKey, setAccessKey] = useState(getRandomString(16));\n const [secretKey, setSecretKey] = useState(getRandomString(32));\n const [isRestrictedByPolicy, setIsRestrictedByPolicy] =\n useState(false);\n const [newServiceAccount, setNewServiceAccount] =\n useState(null);\n const [showPassword, setShowPassword] = useState(false);\n const [policyJSON, setPolicyJSON] = useState(\"\");\n\n useEffect(() => {\n if (addSending) {\n api\n .invoke(\"POST\", `/api/v1/service-account-credentials`, {\n policy: policyJSON,\n accessKey: accessKey,\n secretKey: secretKey,\n })\n .then((res) => {\n setAddSending(false);\n setNewServiceAccount({\n accessKey: res.accessKey || \"\",\n secretKey: res.secretKey || \"\",\n url: res.url || \"\",\n });\n })\n\n .catch((err: ErrorResponseHandler) => {\n setAddSending(false);\n dispatch(setErrorSnackMessage(err));\n });\n }\n }, [addSending, setAddSending, dispatch, policyJSON, accessKey, secretKey]);\n\n useEffect(() => {\n if (isRestrictedByPolicy) {\n api.invoke(\"GET\", `/api/v1/user/policy`).then((res: string) => {\n setPolicyJSON(JSON.stringify(JSON.parse(res), null, 4));\n });\n }\n }, [isRestrictedByPolicy]);\n\n const addServiceAccount = (e: React.FormEvent) => {\n e.preventDefault();\n setAddSending(true);\n };\n\n const resetForm = () => {\n setPolicyJSON(\"\");\n setNewServiceAccount(null);\n setAccessKey(\"\");\n setSecretKey(\"\");\n setShowPassword(false);\n };\n\n const closeCredentialsModal = () => {\n setNewServiceAccount(null);\n navigate(`${IAM_PAGES.ACCOUNT}`);\n };\n\n return (\n \n {newServiceAccount !== null && (\n {\n closeCredentialsModal();\n }}\n entity=\"Access Key\"\n />\n )}\n \n }\n />\n \n \n \n }>\n Create Access Key\n \n\n ) => {\n addServiceAccount(e);\n }}\n >\n \n \n \n \n \n \n \n \n \n \n \n {\" \"}\n
\n {\n setAccessKey(e.target.value);\n }}\n />\n
\n
\n \n
\n {\n setSecretKey(e.target.value);\n }}\n overlayIcon={\n showPassword ? (\n \n ) : (\n \n )\n }\n overlayAction={() =>\n setShowPassword(!showPassword)\n }\n />\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n ) => {\n setIsRestrictedByPolicy(event.target.checked);\n }}\n label={\"Restrict beyond user policy\"}\n tooltip={\n \"You can specify an optional JSON-formatted IAM policy to further restrict Access Key access to a subset of the actions and resources explicitly allowed for the parent user. Additional access beyond that of the parent user cannot be implemented through these policies.\"\n }\n />\n \n \n \n {isRestrictedByPolicy && (\n \n
\n \n Current User Policy - edit the JSON to remove\n permissions for this Access Key\n \n
\n \n {\n setPolicyJSON(value);\n }}\n editorHeight={\"350px\"}\n />\n \n
\n )}\n
\n \n \n\n \n \n
\n \n \n \n \n \n \n
\n );\n};\n\nexport default withStyles(styles)(AddServiceAccount);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { InputAdornment, OutlinedInput } from \"@mui/material\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { CopyIcon } from \"../../../../icons\";\nimport { fieldBasic } from \"../FormComponents/common/styleLibrary\";\nimport TooltipWrapper from \"../TooltipWrapper/TooltipWrapper\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n container: {\n display: \"flex\",\n flexFlow: \"column\",\n padding: \"20px 0 8px 0\",\n },\n inputWithCopy: {\n \"& .MuiInputBase-root \": {\n width: \"100%\",\n background: \"#FBFAFA\",\n \"& .MuiInputBase-input\": {\n height: \".8rem\",\n },\n \"& .MuiInputAdornment-positionEnd\": {\n marginRight: \".5rem\",\n \"& .MuiButtonBase-root\": {\n height: \"2rem\",\n },\n },\n },\n \"& .MuiButtonBase-root .min-icon\": {\n width: \".8rem\",\n height: \".8rem\",\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontSize: \".8rem\",\n },\n });\n\nconst CredentialItem = ({\n label = \"\",\n value = \"\",\n classes = {},\n}: {\n label: string;\n value: string;\n classes: any;\n}) => {\n return (\n
\n
{label}:
\n
\n \n \n \n {}}\n onMouseDown={() => {}}\n style={{\n width: \"28px\",\n height: \"28px\",\n padding: \"0px\",\n }}\n icon={}\n />\n \n \n \n }\n />\n
\n
\n );\n};\n\nexport default withStyles(styles)(CredentialItem);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { NewServiceAccount } from \"./types\";\nimport ModalWrapper from \"../ModalWrapper/ModalWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport CredentialItem from \"./CredentialItem\";\nimport WarnIcon from \"../../../../icons/WarnIcon\";\nimport { DownloadIcon, ServiceAccountCredentialsIcon } from \"../../../../icons\";\nimport TooltipWrapper from \"../TooltipWrapper/TooltipWrapper\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n warningBlock: {\n color: \"red\",\n fontSize: \".85rem\",\n margin: \".5rem 0 .5rem 0\",\n display: \"flex\",\n alignItems: \"center\",\n \"& svg \": {\n marginRight: \".3rem\",\n height: 16,\n width: 16,\n },\n },\n credentialTitle: {\n padding: \".8rem 0 0 0\",\n fontWeight: 600,\n fontSize: \".9rem\",\n },\n buttonContainer: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n marginTop: \"1rem\",\n },\n credentialsPanel: {\n overflowY: \"auto\",\n maxHeight: 350,\n },\n promptTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n buttonSpacer: {\n marginRight: \".9rem\",\n },\n });\n\ninterface ICredentialsPromptProps {\n classes: any;\n newServiceAccount: NewServiceAccount | null;\n open: boolean;\n entity: string;\n closeModal: () => void;\n}\n\nconst download = (filename: string, text: string) => {\n let element = document.createElement(\"a\");\n element.setAttribute(\"href\", \"data:text/plain;charset=utf-8,\" + text);\n element.setAttribute(\"download\", filename);\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n document.body.removeChild(element);\n};\n\nconst CredentialsPrompt = ({\n classes,\n newServiceAccount,\n open,\n closeModal,\n entity,\n}: ICredentialsPromptProps) => {\n if (!newServiceAccount) {\n return null;\n }\n const consoleCreds = get(newServiceAccount, \"console\", null);\n const idp = get(newServiceAccount, \"idp\", false);\n\n const downloadImport = () => {\n let consoleExtras = {};\n\n if (consoleCreds) {\n if (!Array.isArray(consoleCreds)) {\n consoleExtras = {\n url: consoleCreds.url,\n accessKey: consoleCreds.accessKey,\n secretKey: consoleCreds.secretKey,\n api: \"s3v4\",\n path: \"auto\",\n };\n } else {\n const cCreds = consoleCreds.map((itemMap) => {\n return {\n url: itemMap.url,\n accessKey: itemMap.accessKey,\n secretKey: itemMap.secretKey,\n api: \"s3v4\",\n path: \"auto\",\n };\n });\n consoleExtras = cCreds[0];\n }\n } else {\n consoleExtras = {\n url: newServiceAccount.url,\n accessKey: newServiceAccount.accessKey,\n secretKey: newServiceAccount.secretKey,\n api: \"s3v4\",\n path: \"auto\",\n };\n }\n\n download(\n \"credentials.json\",\n JSON.stringify({\n ...consoleExtras,\n })\n );\n };\n\n const downloaddAllCredentials = () => {\n let allCredentials = {};\n if (\n consoleCreds &&\n Array.isArray(consoleCreds) &&\n consoleCreds.length > 1\n ) {\n const cCreds = consoleCreds.map((itemMap) => {\n return {\n accessKey: itemMap.accessKey,\n secretKey: itemMap.secretKey,\n };\n });\n allCredentials = cCreds;\n }\n download(\n \"all_credentials.json\",\n JSON.stringify({\n ...allCredentials,\n })\n );\n };\n\n return (\n {\n closeModal();\n }}\n title={\n
\n
New {entity} Created
\n
\n }\n titleIcon={}\n >\n \n \n A new {entity} has been created with the following details:\n {!idp && consoleCreds && (\n \n \n
\n Console Credentials\n
\n {Array.isArray(consoleCreds) &&\n consoleCreds.map((credentialsPair, index) => {\n return (\n <>\n \n \n \n );\n })}\n {!Array.isArray(consoleCreds) && (\n <>\n \n \n \n )}\n
\n
\n )}\n {(consoleCreds === null || consoleCreds === undefined) && (\n <>\n \n \n \n )}\n {idp ? (\n
\n Please Login via the configured external identity provider.\n
\n ) : (\n
\n \n \n Write these down, as this is the only time the secret will be\n displayed.\n \n
\n )}\n
\n \n {!idp && (\n <>\n \n }\n variant=\"callAction\"\n />\n \n\n {Array.isArray(consoleCreds) && consoleCreds.length > 1 && (\n \n }\n variant=\"callAction\"\n color=\"primary\"\n />\n \n )}\n \n )}\n \n
\n \n );\n};\n\nexport default withStyles(styles)(CredentialsPrompt);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport { fieldBasic } from \"../common/styleLibrary\";\nimport { CopyIcon } from \"../../../../../icons\";\nimport { Button } from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport CodeEditor from \"@uiw/react-textarea-code-editor\";\nimport TooltipWrapper from \"../../TooltipWrapper/TooltipWrapper\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n classes: any;\n onChange?: (editor: any, data: any, value: string) => any;\n onBeforeChange: (editor: any, data: any, value: string) => any;\n readOnly?: boolean;\n editorHeight?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n });\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n classes,\n onBeforeChange,\n readOnly = false,\n editorHeight = \"250px\",\n}: ICodeWrapper) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n\n \n {\n onBeforeChange(null, null, evn.target.value);\n }}\n id={\"code_wrapper\"}\n padding={15}\n style={{\n fontSize: 12,\n backgroundColor: \"#fefefe\",\n fontFamily:\n \"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace\",\n minHeight: editorHeight || \"initial\",\n color: \"#000000\",\n }}\n />\n \n \n \n \n \n }\n color={\"primary\"}\n variant={\"regular\"}\n />\n \n \n \n \n
\n );\n};\n\nexport default withStyles(styles)(CodeMirrorWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n noContentPadding?: boolean;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n noContentPadding,\n titleIcon = null,\n}: IModalProps) => {\n const dispatch = useAppDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nexport default withStyles(styles)(ModalWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButtonProps } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 0,\n margin: 0,\n fontSize: \".9rem\",\n },\n });\n\ninterface IPanelTitle extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst PanelTitle = ({ classes, children }: IPanelTitle) => {\n return

{children}

;\n};\n\nexport default withStyles(styles)(PanelTitle);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { cloneElement } from \"react\";\nimport { Tooltip } from \"@mui/material\";\n\ninterface ITooltipWrapperProps {\n tooltip: string;\n children: any;\n errorProps?: any;\n}\n\nconst TooltipWrapper = ({\n tooltip,\n children,\n errorProps = null,\n}: ITooltipWrapperProps) => {\n return (\n \n \n {errorProps ? cloneElement(children, { ...errorProps }) : children}\n \n \n );\n};\n\nexport default TooltipWrapper;\n","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}"],"names":["FeatureItem","icon","description","Box","sx","display","marginRight","height","width","marginBottom","style","fontSize","fontStyle","color","flex","border","borderRadius","flexFlow","padding","marginTop","xs","fontWeight","alignItems","paddingBottom","paddingTop","withStyles","theme","createStyles","bottomContainer","flexGrow","margin","justifyContent","formFieldStyles","modalStyleUtils","classes","dispatch","useAppDispatch","navigate","useNavigate","useState","addSending","setAddSending","getRandomString","accessKey","setAccessKey","secretKey","setSecretKey","isRestrictedByPolicy","setIsRestrictedByPolicy","newServiceAccount","setNewServiceAccount","showPassword","setShowPassword","policyJSON","setPolicyJSON","useEffect","api","policy","then","res","url","catch","err","setErrorSnackMessage","JSON","stringify","parse","Fragment","CredentialsPrompt","open","closeModal","IAM_PAGES","entity","Grid","item","PageHeader","label","BackLink","to","PageLayout","gap","gridTemplateColumns","md","SectionTitle","noValidate","autoComplete","onSubmit","e","preventDefault","addServiceAccount","container","spacing","className","stackedInputs","InputBoxWrapper","value","id","name","placeholder","onChange","target","type","overlayIcon","VisibilityOff","RemoveRedEye","overlayAction","FormSwitchWrapper","checked","event","tooltip","codeMirrorContainer","PanelTitle","formScrollable","CodeMirrorWrapper","onBeforeChange","editor","data","editorHeight","modalButtonBar","variant","onClick","inputWithCopy","background","inputLabel","fieldBasic","OutlinedInput","readOnly","endAdornment","InputAdornment","position","TooltipWrapper","text","onMouseDown","download","filename","element","document","createElement","setAttribute","body","appendChild","click","removeChild","warningBlock","credentialTitle","buttonContainer","credentialsPanel","overflowY","maxHeight","promptTitle","buttonSpacer","consoleCreds","get","idp","ModalWrapper","modalOpen","onClose","title","titleIcon","Array","isArray","map","credentialsPair","index","undefined","WarnIcon","consoleExtras","itemMap","path","length","allCredentials","mode","tooltipContainer","placement","overflow","language","evn","backgroundColor","fontFamily","minHeight","borderTop","paddingRight","marginLeft","deleteDialogStyles","content","customDialogSize","maxWidth","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","modalSnackMessage","useSelector","state","system","modalSnackBar","setModalSnackMessage","message","customSize","paper","fullWidth","detailedErrorMsg","scroll","reason","root","titleText","closeContainer","closeButton","disableRipple","size","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","errorProps","cloneElement","_getPrototypeOf","o","Object","setPrototypeOf","getPrototypeOf","bind","__proto__","_inherits","subClass","superClass","TypeError","prototype","create","constructor","writable","configurable","defineProperty","_possibleConstructorReturn","self","call"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1199.503e1d6b.chunk.js b/portal-ui/build/static/js/1199.503e1d6b.chunk.js deleted file mode 100644 index b6b3239f7..000000000 --- a/portal-ui/build/static/js/1199.503e1d6b.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1199],{65935:function(e,t,n){n.r(t),n.d(t,{default:function(){return T}});var i=n(29439),s=n(1413),r=n(72791),o=n(16871),a=n(75952),c=n(11135),l=n(25787),d=n(23814),u=n(61889),p=n(64554),x=n(38734),h=n(92217),m=n(32291),f=n(74794),y=n(21435),j=n(37516),g=n(80184),v=function(e){var t=e.icon,n=e.description;return(0,g.jsxs)(p.Z,{sx:{display:"flex","& .min-icon":{marginRight:"10px",height:"23px",width:"23px",marginBottom:"10px"}},children:[t," ",(0,g.jsx)("div",{style:{fontSize:"14px",fontStyle:"italic",color:"#5E5E5E"},children:n})]})},Z=function(){return(0,g.jsxs)(p.Z,{sx:{flex:1,border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"20px",marginTop:{xs:"0px"}},children:[(0,g.jsxs)(p.Z,{sx:{fontSize:"16px",fontWeight:600,display:"flex",alignItems:"center",marginBottom:"16px",paddingBottom:"20px","& .min-icon":{height:"21px",width:"21px",marginRight:"15px"}},children:[(0,g.jsx)(x.M9A,{}),(0,g.jsx)("div",{children:"Learn more about Service Accounts"})]}),(0,g.jsxs)(p.Z,{sx:{fontSize:"14px",marginBottom:"15px"},children:[(0,g.jsxs)(p.Z,{sx:{paddingBottom:"20px"},children:[(0,g.jsx)(v,{icon:(0,g.jsx)(x.nO6,{}),description:"Create Service Accounts"}),(0,g.jsx)(p.Z,{sx:{paddingTop:"20px"},children:"Service Accounts inherit the policies explicitly attached to the parent user, and the policies attached to each group in which the parent user has membership."})]}),(0,g.jsxs)(p.Z,{sx:{paddingBottom:"20px"},children:[(0,g.jsx)(v,{icon:(0,g.jsx)(x.tvm,{}),description:"Assign Custom Credentials"}),(0,g.jsx)(p.Z,{sx:{paddingTop:"10px"},children:"Randomized access credentials are recommended, and provided by default. You may use your own custom Access Key and Secret Key by replacing the default values. After creation of any Service Account, you will be given the opportunity to view and download the account credentials."}),(0,g.jsx)(p.Z,{sx:{paddingTop:"10px"},children:"Service Accounts support programmatic access by applications. You cannot use a Service Account to log into the MinIO Console."})]}),(0,g.jsxs)(p.Z,{sx:{paddingBottom:"20px"},children:[(0,g.jsx)(v,{icon:(0,g.jsx)(x.v42,{}),description:"Assign Access Policies"}),(0,g.jsx)(p.Z,{sx:{paddingTop:"10px"},children:"You can specify an optional JSON-formatted IAM policy to further restrict Service Account access to a subset of the actions and resources explicitly allowed for the parent user. Additional access beyond that of the parent user cannot be implemented through these policies."}),(0,g.jsx)(p.Z,{sx:{paddingTop:"10px"},children:"You cannot modify the optional Service Account IAM policy after saving."})]})]}),(0,g.jsx)(p.Z,{sx:{display:"flex",flexFlow:"column"}})]})},b=n(84669),S=n(3579),A=n(20165),w=n(56087),C=n(81207),K=n(37798),N=n(50896),P=n(84741),O=n(60680),k=n(87995),B=n(25469),T=(0,l.Z)((function(e){return(0,c.Z)((0,s.Z)((0,s.Z)({bottomContainer:{display:"flex",flexGrow:1,alignItems:"center",margin:"auto",justifyContent:"center","& div":{width:150,"@media (max-width: 900px)":{flexFlow:"column"}}}},d.DF),d.ID))}))((function(e){var t=e.classes,n=(0,B.TL)(),s=(0,o.s0)(),c=(0,r.useState)(!1),l=(0,i.Z)(c,2),d=l[0],v=l[1],T=(0,r.useState)((0,P.zO)(16)),I=(0,i.Z)(T,2),M=I[0],z=I[1],E=(0,r.useState)((0,P.zO)(32)),F=(0,i.Z)(E,2),D=F[0],L=F[1],R=(0,r.useState)(!1),Y=(0,i.Z)(R,2),_=Y[0],J=Y[1],W=(0,r.useState)(null),H=(0,i.Z)(W,2),U=H[0],V=H[1],G=(0,r.useState)(!1),Q=(0,i.Z)(G,2),q=Q[0],X=Q[1],$=(0,r.useState)(""),ee=(0,i.Z)($,2),te=ee[0],ne=ee[1];(0,r.useEffect)((function(){d&&C.Z.invoke("POST","/api/v1/service-account-credentials",{policy:te,accessKey:M,secretKey:D}).then((function(e){v(!1),V({accessKey:e.accessKey||"",secretKey:e.secretKey||"",url:e.url||""})})).catch((function(e){v(!1),n((0,k.Ih)(e))}))}),[d,v,n,te,M,D]),(0,r.useEffect)((function(){_&&C.Z.invoke("GET","/api/v1/user/policy").then((function(e){ne(JSON.stringify(JSON.parse(e),null,4))}))}),[_]);return(0,g.jsxs)(r.Fragment,{children:[null!==U&&(0,g.jsx)(K.default,{newServiceAccount:U,open:null!==U,closeModal:function(){V(null),s("".concat(w.gA.ACCOUNT))},entity:"Service Account"}),(0,g.jsxs)(u.ZP,{item:!0,xs:12,children:[(0,g.jsx)(m.Z,{label:(0,g.jsx)(b.Z,{to:w.gA.ACCOUNT,label:"Service Accounts"})}),(0,g.jsx)(f.Z,{children:(0,g.jsxs)(p.Z,{sx:{display:"grid",padding:"25px",gap:"25px",gridTemplateColumns:{md:"2fr 1.2fr",xs:"1fr"},border:"1px solid #eaeaea"},children:[(0,g.jsxs)(p.Z,{children:[(0,g.jsx)(N.Z,{icon:(0,g.jsx)(x.tVY,{}),children:"Create Service Account"}),(0,g.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault(),v(!0)}(e)},children:(0,g.jsxs)(u.ZP,{container:!0,item:!0,spacing:"20",sx:{marginTop:1},children:[(0,g.jsx)(u.ZP,{item:!0,xs:12,children:(0,g.jsx)(u.ZP,{container:!0,item:!0,spacing:"20",children:(0,g.jsx)(u.ZP,{item:!0,xs:12,children:(0,g.jsxs)(u.ZP,{container:!0,children:[(0,g.jsx)(u.ZP,{item:!0,xs:1,children:(0,g.jsx)(x.tvm,{})}),(0,g.jsx)(u.ZP,{item:!0,children:(0,g.jsxs)(u.ZP,{container:!0,item:!0,spacing:"20",children:[(0,g.jsxs)(u.ZP,{item:!0,xs:12,children:[" ",(0,g.jsx)("div",{className:t.stackedInputs,children:(0,g.jsx)(y.Z,{value:M,label:"Access Key",id:"accessKey",name:"accessKey",placeholder:"Enter Access Key",onChange:function(e){z(e.target.value)}})})]}),(0,g.jsx)(u.ZP,{item:!0,xs:12,children:(0,g.jsx)("div",{className:t.stackedInputs,children:(0,g.jsx)(y.Z,{value:D,label:"Secret Key",id:"secretKey",name:"secretKey",type:q?"text":"password",placeholder:"Enter Secret Key",onChange:function(e){L(e.target.value)},overlayIcon:q?(0,g.jsx)(A.Z,{}):(0,g.jsx)(S.Z,{}),overlayAction:function(){return X(!q)}})})})]})})]})})})}),(0,g.jsxs)(u.ZP,{container:!0,item:!0,spacing:"20",children:[(0,g.jsx)(u.ZP,{item:!0,xs:12,children:(0,g.jsxs)(u.ZP,{container:!0,children:[(0,g.jsx)(u.ZP,{item:!0,xs:1,children:(0,g.jsx)(x.v42,{})}),(0,g.jsx)(u.ZP,{item:!0,xs:11,children:(0,g.jsx)(j.Z,{value:"serviceAccountPolicy",id:"serviceAccountPolicy",name:"serviceAccountPolicy",checked:_,onChange:function(e){J(e.target.checked)},label:"Restrict beyond user policy",tooltip:"You can specify an optional JSON-formatted IAM policy to further restrict Service Account access to a subset of the actions and resources explicitly allowed for the parent user. Additional access beyond that of the parent user cannot be implemented through these policies."})})]})}),_&&(0,g.jsxs)(u.ZP,{item:!0,xs:12,className:t.codeMirrorContainer,children:[(0,g.jsx)("div",{children:(0,g.jsx)(O.Z,{children:"Current User Policy - edit the JSON to remove permissions for this service account"})}),(0,g.jsx)(u.ZP,{item:!0,xs:12,className:t.formScrollable,children:(0,g.jsx)(h.Z,{value:te,onBeforeChange:function(e,t,n){ne(n)},editorHeight:"350px"})})]})]}),(0,g.jsxs)(u.ZP,{item:!0,xs:12,className:t.modalButtonBar,children:[(0,g.jsx)(a.z,{id:"clear",type:"button",variant:"regular",onClick:function(){ne(""),V(null),z(""),L(""),X(!1)},label:"Clear"}),(0,g.jsx)(a.z,{id:"create-sa",type:"submit",variant:"callAction",color:"primary",label:"Create"})]})]})})]}),(0,g.jsx)(Z,{})]})})]})]})}))},37798:function(e,t,n){n.r(t),n.d(t,{default:function(){return S}});var i=n(1413),s=n(72791),r=n(26181),o=n.n(r),a=n(75952),c=n(11135),l=n(25787),d=n(56028),u=n(61889),p=n(77196),x=n(63466),h=n(78029),m=n.n(h),f=n(38734),y=n(23814),j=n(27454),g=n(80184),v=(0,l.Z)((function(e){return(0,c.Z)({container:{display:"flex",flexFlow:"column",padding:"20px 0 8px 0"},inputWithCopy:{"& .MuiInputBase-root ":{width:"100%",background:"#FBFAFA","& .MuiInputBase-input":{height:".8rem"},"& .MuiInputAdornment-positionEnd":{marginRight:".5rem","& .MuiButtonBase-root":{height:"2rem"}}},"& .MuiButtonBase-root .min-icon":{width:".8rem",height:".8rem"}},inputLabel:(0,i.Z)((0,i.Z)({},y.YI.inputLabel),{},{fontSize:".8rem"})})}))((function(e){var t=e.label,n=void 0===t?"":t,i=e.value,s=void 0===i?"":i,r=e.classes,o=void 0===r?{}:r;return(0,g.jsxs)("div",{className:o.container,children:[(0,g.jsxs)("div",{className:o.inputLabel,children:[n,":"]}),(0,g.jsx)("div",{className:o.inputWithCopy,children:(0,g.jsx)(p.Z,{value:s,readOnly:!0,endAdornment:(0,g.jsx)(x.Z,{position:"end",children:(0,g.jsx)(j.Z,{tooltip:"Copy",children:(0,g.jsx)(m(),{text:s,children:(0,g.jsx)(a.z,{id:"copy-clipboard","aria-label":"copy",onClick:function(){},onMouseDown:function(){},style:{width:"28px",height:"28px",padding:"0px"},icon:(0,g.jsx)(f.TIy,{})})})})})})})]})})),Z=n(89357),b=function(e,t){var n=document.createElement("a");n.setAttribute("href","data:text/plain;charset=utf-8,"+t),n.setAttribute("download",e),n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n)},S=(0,l.Z)((function(e){return(0,c.Z)({warningBlock:{color:"red",fontSize:".85rem",margin:".5rem 0 .5rem 0",display:"flex",alignItems:"center","& svg ":{marginRight:".3rem",height:16,width:16}},credentialTitle:{padding:".8rem 0 0 0",fontWeight:600,fontSize:".9rem"},buttonContainer:{display:"flex",justifyContent:"flex-end",marginTop:"1rem"},credentialsPanel:{overflowY:"auto",maxHeight:350},promptTitle:{display:"flex",alignItems:"center"},buttonSpacer:{marginRight:".9rem"}})}))((function(e){var t=e.classes,n=e.newServiceAccount,r=e.open,c=e.closeModal,l=e.entity;if(!n)return null;var p=o()(n,"console",null),x=o()(n,"idp",!1);return(0,g.jsx)(d.Z,{modalOpen:r,onClose:function(){c()},title:(0,g.jsx)("div",{className:t.promptTitle,children:(0,g.jsxs)("div",{children:["New ",l," Created"]})}),titleIcon:(0,g.jsx)(f.tVY,{}),children:(0,g.jsxs)(u.ZP,{container:!0,children:[(0,g.jsxs)(u.ZP,{item:!0,xs:12,className:t.formScrollable,children:["A new ",l," has been created with the following details:",!x&&p&&(0,g.jsx)(s.Fragment,{children:(0,g.jsxs)(u.ZP,{item:!0,xs:12,className:t.credentialsPanel,children:[(0,g.jsx)("div",{className:t.credentialTitle,children:"Console Credentials"}),Array.isArray(p)&&p.map((function(e,t){return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(v,{label:"Access Key",value:e.accessKey}),(0,g.jsx)(v,{label:"Secret Key",value:e.secretKey})]})})),!Array.isArray(p)&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(v,{label:"Access Key",value:p.accessKey}),(0,g.jsx)(v,{label:"Secret Key",value:p.secretKey})]})]})}),(null===p||void 0===p)&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(v,{label:"Access Key",value:n.accessKey||""}),(0,g.jsx)(v,{label:"Secret Key",value:n.secretKey||""})]}),x?(0,g.jsx)("div",{className:t.warningBlock,children:"Please Login via the configured external identity provider."}):(0,g.jsxs)("div",{className:t.warningBlock,children:[(0,g.jsx)(Z.Z,{}),(0,g.jsx)("span",{children:"Write these down, as this is the only time the secret will be displayed."})]})]}),(0,g.jsx)(u.ZP,{item:!0,xs:12,className:t.buttonContainer,children:!x&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(j.Z,{tooltip:"Download credentials in a JSON file formatted for import using mc alias import. This will only include the default login credentials.",children:(0,g.jsx)(a.z,{id:"download-button",label:"Download for import",className:t.buttonSpacer,onClick:function(){var e={};p?e=Array.isArray(p)?p.map((function(e){return{url:e.url,accessKey:e.accessKey,secretKey:e.secretKey,api:"s3v4",path:"auto"}}))[0]:{url:p.url,accessKey:p.accessKey,secretKey:p.secretKey,api:"s3v4",path:"auto"}:e={url:n.url,accessKey:n.accessKey,secretKey:n.secretKey,api:"s3v4",path:"auto"};b("credentials.json",JSON.stringify((0,i.Z)({},e)))},icon:(0,g.jsx)(f._8t,{}),variant:"callAction"})}),Array.isArray(p)&&p.length>1&&(0,g.jsx)(j.Z,{tooltip:"Download all access credentials to a JSON file. NOTE: This file is not formatted for import using mc alias import. If you plan to import this alias from the file, please use the Download for Import button. ",children:(0,g.jsx)(a.z,{id:"download-all-button",label:"Download all access credentials",className:t.buttonSpacer,onClick:function(){var e={};p&&Array.isArray(p)&&p.length>1&&(e=p.map((function(e){return{accessKey:e.accessKey,secretKey:e.secretKey}})));b("all_credentials.json",JSON.stringify((0,i.Z)({},e)))},icon:(0,g.jsx)(f._8t,{}),variant:"callAction",color:"primary"})})]})})]})})}))},92217:function(e,t,n){var i=n(1413),s=n(72791),r=n(61889),o=n(30829),a=n(20068),c=n(64554),l=n(11135),d=n(25787),u=n(84570),p=n(23814),x=n(38734),h=n(75952),m=n(78029),f=n.n(m),y=n(90932),j=n(27454),g=n(80184);t.Z=(0,d.Z)((function(e){return(0,l.Z)((0,i.Z)({},p.YI))}))((function(e){var t=e.value,n=e.label,i=void 0===n?"":n,l=e.tooltip,d=void 0===l?"":l,p=e.mode,m=void 0===p?"json":p,v=e.classes,Z=e.onBeforeChange,b=(e.readOnly,e.editorHeight),S=void 0===b?"250px":b;return(0,g.jsxs)(s.Fragment,{children:[(0,g.jsx)(r.ZP,{item:!0,xs:12,sx:{marginBottom:"10px"},children:(0,g.jsxs)(o.Z,{className:v.inputLabel,children:[(0,g.jsx)("span",{children:i}),""!==d&&(0,g.jsx)("div",{className:v.tooltipContainer,children:(0,g.jsx)(a.Z,{title:d,placement:"top-start",children:(0,g.jsx)("div",{className:v.tooltip,children:(0,g.jsx)(u.Z,{})})})})]})}),(0,g.jsx)(r.ZP,{item:!0,xs:12,style:{maxHeight:S,overflow:"auto",border:"1px solid #eaeaea"},children:(0,g.jsx)(y.Z,{value:t,language:m,onChange:function(e){Z(null,null,e.target.value)},id:"code_wrapper",padding:15,style:{fontSize:12,backgroundColor:"#fefefe",fontFamily:"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace",minHeight:S||"initial",color:"#000000"}})}),(0,g.jsx)(r.ZP,{item:!0,xs:12,sx:{background:"#f7f7f7",border:"1px solid #eaeaea",borderTop:0},children:(0,g.jsx)(c.Z,{sx:{display:"flex",alignItems:"center",padding:"2px",paddingRight:"5px",justifyContent:"flex-end","& button":{height:"26px",width:"26px",padding:"2px"," .min-icon":{marginLeft:"0"}}},children:(0,g.jsx)(j.Z,{tooltip:"Copy to Clipboard",children:(0,g.jsx)(f(),{text:t,children:(0,g.jsx)(h.z,{type:"button",id:"copy-code-mirror",icon:(0,g.jsx)(x.TIy,{}),color:"primary",variant:"regular"})})})})})]})}))},56028:function(e,t,n){var i=n(29439),s=n(1413),r=n(72791),o=n(60364),a=n(13400),c=n(55646),l=n(5574),d=n(65661),u=n(39157),p=n(11135),x=n(25787),h=n(23814),m=n(25469),f=n(29823),y=n(28057),j=n(87995),g=n(80184);t.Z=(0,x.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)({},h.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},h.sN))}))((function(e){var t=e.onClose,n=e.modalOpen,p=e.title,x=e.children,h=e.classes,v=e.wideLimit,Z=void 0===v||v,b=e.noContentPadding,S=e.titleIcon,A=void 0===S?null:S,w=(0,m.TL)(),C=(0,r.useState)(!1),K=(0,i.Z)(C,2),N=K[0],P=K[1],O=(0,o.v9)((function(e){return e.system.modalSnackBar}));(0,r.useEffect)((function(){w((0,j.MK)(""))}),[w]),(0,r.useEffect)((function(){if(O){if(""===O.message)return void P(!1);"error"!==O.type&&P(!0)}}),[O]);var k=Z?{classes:{paper:h.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},B="";return O&&(B=O.detailedErrorMsg,(""===O.detailedErrorMsg||O.detailedErrorMsg.length<5)&&(B=O.message)),(0,g.jsxs)(l.Z,(0,s.Z)((0,s.Z)({open:n,classes:h},k),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:h.root,children:[(0,g.jsxs)(d.Z,{className:h.title,children:[(0,g.jsxs)("div",{className:h.titleText,children:[A," ",p]}),(0,g.jsx)("div",{className:h.closeContainer,children:(0,g.jsx)(a.Z,{"aria-label":"close",id:"close",className:h.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,g.jsx)(f.Z,{})})})]}),(0,g.jsx)(y.Z,{isModal:!0}),(0,g.jsx)(c.Z,{open:N,className:h.snackBarModal,onClose:function(){P(!1),w((0,j.MK)(""))},message:B,ContentProps:{className:"".concat(h.snackBar," ").concat(O&&"error"===O.type?h.errorSnackBar:"")},autoHideDuration:O&&"error"===O.type?1e4:5e3}),(0,g.jsx)(u.Z,{className:b?"":h.content,children:x})]}))}))},60680:function(e,t,n){n(72791);var i=n(11135),s=n(25787),r=n(80184);t.Z=(0,s.Z)((function(e){return(0,i.Z)({root:{padding:0,margin:0,fontSize:".9rem"}})}))((function(e){var t=e.classes,n=e.children;return(0,r.jsx)("h1",{className:t.root,children:n})}))},27454:function(e,t,n){var i=n(1413),s=n(72791),r=n(20068),o=n(80184);t.Z=function(e){var t=e.tooltip,n=e.children,a=e.errorProps,c=void 0===a?null:a;return(0,o.jsx)(r.Z,{title:t,children:(0,o.jsx)("span",{children:c?(0,s.cloneElement)(n,(0,i.Z)({},c)):n})})}},61120:function(e,t,n){function i(e){return i=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},i(e)}n.d(t,{Z:function(){return i}})},60136:function(e,t,n){n.d(t,{Z:function(){return s}});var i=n(89611);function s(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}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&(0,i.Z)(e,t)}},82963:function(e,t,n){n.d(t,{Z:function(){return r}});var i=n(71002),s=n(97326);function r(e,t){if(t&&("object"===(0,i.Z)(t)||"function"===typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return(0,s.Z)(e)}}}]); -//# sourceMappingURL=1199.503e1d6b.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1199.503e1d6b.chunk.js.map b/portal-ui/build/static/js/1199.503e1d6b.chunk.js.map deleted file mode 100644 index 6d0691563..000000000 --- a/portal-ui/build/static/js/1199.503e1d6b.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/1199.503e1d6b.chunk.js","mappings":"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","sources":["screens/Console/Account/AddServiceAccountHelpBox.tsx","screens/Console/Account/AddServiceAccountScreen.tsx","screens/Console/Common/CredentialsPrompt/CredentialItem.tsx","screens/Console/Common/CredentialsPrompt/CredentialsPrompt.tsx","screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/PanelTitle/PanelTitle.tsx","screens/Console/Common/TooltipWrapper/TooltipWrapper.tsx","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\nimport {\n HelpIconFilled,\n IAMPoliciesIcon,\n PasswordKeyIcon,\n ServiceAccountIcon,\n} from \"../../../icons\";\n\nconst FeatureItem = ({\n icon,\n description,\n}: {\n icon: any;\n description: string;\n}) => {\n return (\n \n {icon}{\" \"}\n
\n {description}\n
\n \n );\n};\nconst AddServiceAccountHelpBox = () => {\n return (\n \n \n \n
Learn more about Service Accounts
\n \n \n \n }\n description={`Create Service Accounts`}\n />\n \n Service Accounts inherit the policies explicitly attached to the\n parent user, and the policies attached to each group in which the\n parent user has membership.\n \n \n \n }\n description={`Assign Custom Credentials`}\n />\n \n Randomized access credentials are recommended, and provided by\n default. You may use your own custom Access Key and Secret Key by\n replacing the default values. After creation of any Service Account,\n you will be given the opportunity to view and download the account\n credentials.\n \n \n Service Accounts support programmatic access by applications. You\n cannot use a Service Account to log into the MinIO Console.\n \n \n \n }\n description={`Assign Access Policies`}\n />\n \n You can specify an optional JSON-formatted IAM policy to further\n restrict Service Account access to a subset of the actions and\n resources explicitly allowed for the parent user. Additional access\n beyond that of the parent user cannot be implemented through these\n policies.\n \n \n You cannot modify the optional Service Account IAM policy after\n saving.\n \n \n \n \n \n );\n};\n\nexport default AddServiceAccountHelpBox;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { useNavigate } from \"react-router-dom\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box } from \"@mui/material\";\nimport {\n IAMPoliciesIcon,\n PasswordKeyIcon,\n ServiceAccountCredentialsIcon,\n} from \"../../../icons\";\nimport CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport AddServiceAccountHelpBox from \"./AddServiceAccountHelpBox\";\nimport BackLink from \"../../../common/BackLink\";\nimport { NewServiceAccount } from \"../Common/CredentialsPrompt/types\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport { ErrorResponseHandler } from \"../../../../src/common/types\";\nimport api from \"../../../../src/common/api\";\nimport CredentialsPrompt from \"../Common/CredentialsPrompt/CredentialsPrompt\";\n\nimport SectionTitle from \"../Common/SectionTitle\";\nimport { getRandomString } from \"../../../screens/Console/Tenants/utils\";\nimport PanelTitle from \"../Common/PanelTitle/PanelTitle\";\n\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\n\ninterface IAddServiceAccountProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n bottomContainer: {\n display: \"flex\",\n flexGrow: 1,\n alignItems: \"center\",\n margin: \"auto\",\n justifyContent: \"center\",\n \"& div\": {\n width: 150,\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\nconst AddServiceAccount = ({ classes }: IAddServiceAccountProps) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const [addSending, setAddSending] = useState(false);\n const [accessKey, setAccessKey] = useState(getRandomString(16));\n const [secretKey, setSecretKey] = useState(getRandomString(32));\n const [isRestrictedByPolicy, setIsRestrictedByPolicy] =\n useState(false);\n const [newServiceAccount, setNewServiceAccount] =\n useState(null);\n const [showPassword, setShowPassword] = useState(false);\n const [policyJSON, setPolicyJSON] = useState(\"\");\n\n useEffect(() => {\n if (addSending) {\n api\n .invoke(\"POST\", `/api/v1/service-account-credentials`, {\n policy: policyJSON,\n accessKey: accessKey,\n secretKey: secretKey,\n })\n .then((res) => {\n setAddSending(false);\n setNewServiceAccount({\n accessKey: res.accessKey || \"\",\n secretKey: res.secretKey || \"\",\n url: res.url || \"\",\n });\n })\n\n .catch((err: ErrorResponseHandler) => {\n setAddSending(false);\n dispatch(setErrorSnackMessage(err));\n });\n }\n }, [addSending, setAddSending, dispatch, policyJSON, accessKey, secretKey]);\n\n useEffect(() => {\n if (isRestrictedByPolicy) {\n api.invoke(\"GET\", `/api/v1/user/policy`).then((res: string) => {\n setPolicyJSON(JSON.stringify(JSON.parse(res), null, 4));\n });\n }\n }, [isRestrictedByPolicy]);\n\n const addServiceAccount = (e: React.FormEvent) => {\n e.preventDefault();\n setAddSending(true);\n };\n\n const resetForm = () => {\n setPolicyJSON(\"\");\n setNewServiceAccount(null);\n setAccessKey(\"\");\n setSecretKey(\"\");\n setShowPassword(false);\n };\n\n const closeCredentialsModal = () => {\n setNewServiceAccount(null);\n navigate(`${IAM_PAGES.ACCOUNT}`);\n };\n\n return (\n \n {newServiceAccount !== null && (\n {\n closeCredentialsModal();\n }}\n entity=\"Service Account\"\n />\n )}\n \n }\n />\n \n \n \n }>\n Create Service Account\n \n\n ) => {\n addServiceAccount(e);\n }}\n >\n \n \n \n \n \n \n \n \n \n \n \n {\" \"}\n
\n {\n setAccessKey(e.target.value);\n }}\n />\n
\n
\n \n
\n {\n setSecretKey(e.target.value);\n }}\n overlayIcon={\n showPassword ? (\n \n ) : (\n \n )\n }\n overlayAction={() =>\n setShowPassword(!showPassword)\n }\n />\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n ) => {\n setIsRestrictedByPolicy(event.target.checked);\n }}\n label={\"Restrict beyond user policy\"}\n tooltip={\n \"You can specify an optional JSON-formatted IAM policy to further restrict Service Account access to a subset of the actions and resources explicitly allowed for the parent user. Additional access beyond that of the parent user cannot be implemented through these policies.\"\n }\n />\n \n \n \n {isRestrictedByPolicy && (\n \n
\n \n Current User Policy - edit the JSON to remove\n permissions for this service account\n \n
\n \n {\n setPolicyJSON(value);\n }}\n editorHeight={\"350px\"}\n />\n \n
\n )}\n
\n \n \n\n \n \n
\n \n \n \n \n \n \n
\n );\n};\n\nexport default withStyles(styles)(AddServiceAccount);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { InputAdornment, OutlinedInput } from \"@mui/material\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { CopyIcon } from \"../../../../icons\";\nimport { fieldBasic } from \"../FormComponents/common/styleLibrary\";\nimport TooltipWrapper from \"../TooltipWrapper/TooltipWrapper\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n container: {\n display: \"flex\",\n flexFlow: \"column\",\n padding: \"20px 0 8px 0\",\n },\n inputWithCopy: {\n \"& .MuiInputBase-root \": {\n width: \"100%\",\n background: \"#FBFAFA\",\n \"& .MuiInputBase-input\": {\n height: \".8rem\",\n },\n \"& .MuiInputAdornment-positionEnd\": {\n marginRight: \".5rem\",\n \"& .MuiButtonBase-root\": {\n height: \"2rem\",\n },\n },\n },\n \"& .MuiButtonBase-root .min-icon\": {\n width: \".8rem\",\n height: \".8rem\",\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontSize: \".8rem\",\n },\n });\n\nconst CredentialItem = ({\n label = \"\",\n value = \"\",\n classes = {},\n}: {\n label: string;\n value: string;\n classes: any;\n}) => {\n return (\n
\n
{label}:
\n
\n \n \n \n {}}\n onMouseDown={() => {}}\n style={{\n width: \"28px\",\n height: \"28px\",\n padding: \"0px\",\n }}\n icon={}\n />\n \n \n \n }\n />\n
\n
\n );\n};\n\nexport default withStyles(styles)(CredentialItem);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { NewServiceAccount } from \"./types\";\nimport ModalWrapper from \"../ModalWrapper/ModalWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport CredentialItem from \"./CredentialItem\";\nimport WarnIcon from \"../../../../icons/WarnIcon\";\nimport { DownloadIcon, ServiceAccountCredentialsIcon } from \"../../../../icons\";\nimport TooltipWrapper from \"../TooltipWrapper/TooltipWrapper\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n warningBlock: {\n color: \"red\",\n fontSize: \".85rem\",\n margin: \".5rem 0 .5rem 0\",\n display: \"flex\",\n alignItems: \"center\",\n \"& svg \": {\n marginRight: \".3rem\",\n height: 16,\n width: 16,\n },\n },\n credentialTitle: {\n padding: \".8rem 0 0 0\",\n fontWeight: 600,\n fontSize: \".9rem\",\n },\n buttonContainer: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n marginTop: \"1rem\",\n },\n credentialsPanel: {\n overflowY: \"auto\",\n maxHeight: 350,\n },\n promptTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n buttonSpacer: {\n marginRight: \".9rem\",\n },\n });\n\ninterface ICredentialsPromptProps {\n classes: any;\n newServiceAccount: NewServiceAccount | null;\n open: boolean;\n entity: string;\n closeModal: () => void;\n}\n\nconst download = (filename: string, text: string) => {\n let element = document.createElement(\"a\");\n element.setAttribute(\"href\", \"data:text/plain;charset=utf-8,\" + text);\n element.setAttribute(\"download\", filename);\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n document.body.removeChild(element);\n};\n\nconst CredentialsPrompt = ({\n classes,\n newServiceAccount,\n open,\n closeModal,\n entity,\n}: ICredentialsPromptProps) => {\n if (!newServiceAccount) {\n return null;\n }\n const consoleCreds = get(newServiceAccount, \"console\", null);\n const idp = get(newServiceAccount, \"idp\", false);\n\n const downloadImport = () => {\n let consoleExtras = {};\n\n if (consoleCreds) {\n if (!Array.isArray(consoleCreds)) {\n consoleExtras = {\n url: consoleCreds.url,\n accessKey: consoleCreds.accessKey,\n secretKey: consoleCreds.secretKey,\n api: \"s3v4\",\n path: \"auto\",\n };\n } else {\n const cCreds = consoleCreds.map((itemMap) => {\n return {\n url: itemMap.url,\n accessKey: itemMap.accessKey,\n secretKey: itemMap.secretKey,\n api: \"s3v4\",\n path: \"auto\",\n };\n });\n consoleExtras = cCreds[0];\n }\n } else {\n consoleExtras = {\n url: newServiceAccount.url,\n accessKey: newServiceAccount.accessKey,\n secretKey: newServiceAccount.secretKey,\n api: \"s3v4\",\n path: \"auto\",\n };\n }\n\n download(\n \"credentials.json\",\n JSON.stringify({\n ...consoleExtras,\n })\n );\n };\n\n const downloaddAllCredentials = () => {\n let allCredentials = {};\n if (\n consoleCreds &&\n Array.isArray(consoleCreds) &&\n consoleCreds.length > 1\n ) {\n const cCreds = consoleCreds.map((itemMap) => {\n return {\n accessKey: itemMap.accessKey,\n secretKey: itemMap.secretKey,\n };\n });\n allCredentials = cCreds;\n }\n download(\n \"all_credentials.json\",\n JSON.stringify({\n ...allCredentials,\n })\n );\n };\n\n return (\n {\n closeModal();\n }}\n title={\n
\n
New {entity} Created
\n
\n }\n titleIcon={}\n >\n \n \n A new {entity} has been created with the following details:\n {!idp && consoleCreds && (\n \n \n
\n Console Credentials\n
\n {Array.isArray(consoleCreds) &&\n consoleCreds.map((credentialsPair, index) => {\n return (\n <>\n \n \n \n );\n })}\n {!Array.isArray(consoleCreds) && (\n <>\n \n \n \n )}\n
\n
\n )}\n {(consoleCreds === null || consoleCreds === undefined) && (\n <>\n \n \n \n )}\n {idp ? (\n
\n Please Login via the configured external identity provider.\n
\n ) : (\n
\n \n \n Write these down, as this is the only time the secret will be\n displayed.\n \n
\n )}\n
\n \n {!idp && (\n <>\n \n }\n variant=\"callAction\"\n />\n \n\n {Array.isArray(consoleCreds) && consoleCreds.length > 1 && (\n \n }\n variant=\"callAction\"\n color=\"primary\"\n />\n \n )}\n \n )}\n \n
\n \n );\n};\n\nexport default withStyles(styles)(CredentialsPrompt);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport { fieldBasic } from \"../common/styleLibrary\";\nimport { CopyIcon } from \"../../../../../icons\";\nimport { Button } from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport CodeEditor from \"@uiw/react-textarea-code-editor\";\nimport TooltipWrapper from \"../../TooltipWrapper/TooltipWrapper\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n classes: any;\n onChange?: (editor: any, data: any, value: string) => any;\n onBeforeChange: (editor: any, data: any, value: string) => any;\n readOnly?: boolean;\n editorHeight?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n });\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n classes,\n onBeforeChange,\n readOnly = false,\n editorHeight = \"250px\",\n}: ICodeWrapper) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n\n \n {\n onBeforeChange(null, null, evn.target.value);\n }}\n id={\"code_wrapper\"}\n padding={15}\n style={{\n fontSize: 12,\n backgroundColor: \"#fefefe\",\n fontFamily:\n \"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace\",\n minHeight: editorHeight || \"initial\",\n color: \"#000000\",\n }}\n />\n \n \n \n \n \n }\n color={\"primary\"}\n variant={\"regular\"}\n />\n \n \n \n \n
\n );\n};\n\nexport default withStyles(styles)(CodeMirrorWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n noContentPadding?: boolean;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n noContentPadding,\n titleIcon = null,\n}: IModalProps) => {\n const dispatch = useAppDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nexport default withStyles(styles)(ModalWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButtonProps } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 0,\n margin: 0,\n fontSize: \".9rem\",\n },\n });\n\ninterface IPanelTitle extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst PanelTitle = ({ classes, children }: IPanelTitle) => {\n return

{children}

;\n};\n\nexport default withStyles(styles)(PanelTitle);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { cloneElement } from \"react\";\nimport { Tooltip } from \"@mui/material\";\n\ninterface ITooltipWrapperProps {\n tooltip: string;\n children: any;\n errorProps?: any;\n}\n\nconst TooltipWrapper = ({\n tooltip,\n children,\n errorProps = null,\n}: ITooltipWrapperProps) => {\n return (\n \n \n {errorProps ? cloneElement(children, { ...errorProps }) : children}\n \n \n );\n};\n\nexport default TooltipWrapper;\n","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}"],"names":["FeatureItem","icon","description","Box","sx","display","marginRight","height","width","marginBottom","style","fontSize","fontStyle","color","flex","border","borderRadius","flexFlow","padding","marginTop","xs","fontWeight","alignItems","paddingBottom","paddingTop","withStyles","theme","createStyles","bottomContainer","flexGrow","margin","justifyContent","formFieldStyles","modalStyleUtils","classes","dispatch","useAppDispatch","navigate","useNavigate","useState","addSending","setAddSending","getRandomString","accessKey","setAccessKey","secretKey","setSecretKey","isRestrictedByPolicy","setIsRestrictedByPolicy","newServiceAccount","setNewServiceAccount","showPassword","setShowPassword","policyJSON","setPolicyJSON","useEffect","api","policy","then","res","url","catch","err","setErrorSnackMessage","JSON","stringify","parse","Fragment","CredentialsPrompt","open","closeModal","IAM_PAGES","entity","Grid","item","PageHeader","label","BackLink","to","PageLayout","gap","gridTemplateColumns","md","SectionTitle","noValidate","autoComplete","onSubmit","e","preventDefault","addServiceAccount","container","spacing","className","stackedInputs","InputBoxWrapper","value","id","name","placeholder","onChange","target","type","overlayIcon","VisibilityOff","RemoveRedEye","overlayAction","FormSwitchWrapper","checked","event","tooltip","codeMirrorContainer","PanelTitle","formScrollable","CodeMirrorWrapper","onBeforeChange","editor","data","editorHeight","modalButtonBar","variant","onClick","inputWithCopy","background","inputLabel","fieldBasic","OutlinedInput","readOnly","endAdornment","InputAdornment","position","TooltipWrapper","text","onMouseDown","download","filename","element","document","createElement","setAttribute","body","appendChild","click","removeChild","warningBlock","credentialTitle","buttonContainer","credentialsPanel","overflowY","maxHeight","promptTitle","buttonSpacer","consoleCreds","get","idp","ModalWrapper","modalOpen","onClose","title","titleIcon","Array","isArray","map","credentialsPair","index","undefined","WarnIcon","consoleExtras","itemMap","path","length","allCredentials","mode","tooltipContainer","placement","overflow","language","evn","backgroundColor","fontFamily","minHeight","borderTop","paddingRight","marginLeft","deleteDialogStyles","content","customDialogSize","maxWidth","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","modalSnackMessage","useSelector","state","system","modalSnackBar","setModalSnackMessage","message","customSize","paper","fullWidth","detailedErrorMsg","scroll","reason","root","titleText","closeContainer","closeButton","disableRipple","size","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","errorProps","cloneElement","_getPrototypeOf","o","Object","setPrototypeOf","getPrototypeOf","bind","__proto__","_inherits","subClass","superClass","TypeError","prototype","create","constructor","writable","configurable","defineProperty","_possibleConstructorReturn","self","call"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1268.408b6da9.chunk.js b/portal-ui/build/static/js/1268.408b6da9.chunk.js new file mode 100644 index 000000000..37f3b8670 --- /dev/null +++ b/portal-ui/build/static/js/1268.408b6da9.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1268],{92217:function(e,n,t){var o=t(1413),r=t(72791),i=t(61889),a=t(30829),c=t(20068),s=t(64554),l=t(11135),u=t(25787),d=t(84570),f=t(23814),p=t(38588),x=t(75952),m=t(78029),h=t.n(m),y=t(90932),b=t(27454),j=t(80184);n.Z=(0,u.Z)((function(e){return(0,l.Z)((0,o.Z)({},f.YI))}))((function(e){var n=e.value,t=e.label,o=void 0===t?"":t,l=e.tooltip,u=void 0===l?"":l,f=e.mode,m=void 0===f?"json":f,Z=e.classes,g=e.onBeforeChange,v=(e.readOnly,e.editorHeight),C=void 0===v?"250px":v;return(0,j.jsxs)(r.Fragment,{children:[(0,j.jsx)(i.ZP,{item:!0,xs:12,sx:{marginBottom:"10px"},children:(0,j.jsxs)(a.Z,{className:Z.inputLabel,children:[(0,j.jsx)("span",{children:o}),""!==u&&(0,j.jsx)("div",{className:Z.tooltipContainer,children:(0,j.jsx)(c.Z,{title:u,placement:"top-start",children:(0,j.jsx)("div",{className:Z.tooltip,children:(0,j.jsx)(d.Z,{})})})})]})}),(0,j.jsx)(i.ZP,{item:!0,xs:12,style:{maxHeight:C,overflow:"auto",border:"1px solid #eaeaea"},children:(0,j.jsx)(y.Z,{value:n,language:m,onChange:function(e){g(null,null,e.target.value)},id:"code_wrapper",padding:15,style:{fontSize:12,backgroundColor:"#fefefe",fontFamily:"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace",minHeight:C||"initial",color:"#000000"}})}),(0,j.jsx)(i.ZP,{item:!0,xs:12,sx:{background:"#f7f7f7",border:"1px solid #eaeaea",borderTop:0},children:(0,j.jsx)(s.Z,{sx:{display:"flex",alignItems:"center",padding:"2px",paddingRight:"5px",justifyContent:"flex-end","& button":{height:"26px",width:"26px",padding:"2px"," .min-icon":{marginLeft:"0"}}},children:(0,j.jsx)(b.Z,{tooltip:"Copy to Clipboard",children:(0,j.jsx)(h(),{text:n,children:(0,j.jsx)(x.zx,{type:"button",id:"copy-code-mirror",icon:(0,j.jsx)(p.TIy,{}),color:"primary",variant:"regular"})})})})})]})}))},82859:function(e,n,t){t.r(n);var o=t(29439),r=t(1413),i=t(72791),a=t(60364),c=t(16871),s=t(40986),l=t(75952),u=t(61889),d=t(11135),f=t(25787),p=t(81207),x=t(23814),m=t(92217),h=t(87995),y=t(25469),b=t(82295),j=t(50896),Z=t(80184);n.default=(0,f.Z)((function(e){return(0,d.Z)((0,r.Z)((0,r.Z)({errorState:{color:"#b53b4b",fontSize:14,fontWeight:"bold"},codeMirrorContainer:{marginBottom:20,paddingLeft:15,"& label":{marginBottom:".5rem"},"& label + div":{display:"none"}}},x.ID),x.YI))}))((function(e){var n=e.classes,t=(0,y.TL)(),r=(0,c.s0)(),d=(0,a.v9)((function(e){return e.tenants.currentTenant})),f=(0,a.v9)((function(e){return e.tenants.currentNamespace})),x=(0,i.useState)(!1),g=(0,o.Z)(x,2),v=g[0],C=g[1],S=(0,i.useState)(!1),P=(0,o.Z)(S,2),w=P[0],T=P[1],k=(0,i.useState)(""),O=(0,o.Z)(k,2),_=O[0],z=O[1],L=(0,i.useState)(""),M=(0,o.Z)(L,2),B=M[0],E=M[1];(0,i.useEffect)((function(){p.Z.invoke("GET","/api/v1/namespaces/".concat(f,"/tenants/").concat(d,"/yaml")).then((function(e){T(!1),z(e.yaml)})).catch((function(e){T(!1),t((0,h.zb)(e))}))}),[d,f,t]),(0,i.useEffect)((function(){}),[]);var F=""!==_.trim();return(0,Z.jsxs)(i.Fragment,{children:[v||w&&(0,Z.jsx)(u.ZP,{item:!0,xs:12,children:(0,Z.jsx)(s.Z,{})}),""!==B&&(0,Z.jsx)("div",{className:n.errorState,children:B}),!w&&(0,Z.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),v||(C(!0),E(""),p.Z.invoke("PUT","/api/v1/namespaces/".concat(f,"/tenants/").concat(d,"/yaml"),{yaml:_}).then((function(e){C(!1),t((0,b.v)()),E(""),r("/namespaces/".concat(f,"/tenants/").concat(d,"/summary"))})).catch((function(e){C(!1),E(e.errorMessage)})))},children:(0,Z.jsxs)(u.ZP,{container:!0,children:[(0,Z.jsx)(u.ZP,{item:!0,xs:12,children:(0,Z.jsx)(j.Z,{children:"Tenant Specification"})}),(0,Z.jsx)(u.ZP,{item:!0,xs:12,children:(0,Z.jsx)(m.Z,{value:_,mode:"yaml",onBeforeChange:function(e,n,t){z(t)},editorHeight:"550px"})}),(0,Z.jsxs)(u.ZP,{item:!0,xs:12,style:{display:"flex",justifyContent:"flex-end",paddingTop:16},children:[(0,Z.jsx)(l.zx,{id:"cancel-tenant-yaml",type:"button",variant:"regular",disabled:v,onClick:function(){r("/namespaces/".concat(f,"/tenants/").concat(d,"/summary"))},label:"Cancel"}),(0,Z.jsx)(l.zx,{id:"save-tenant-yaml",type:"submit",variant:"callAction",disabled:v||!F,style:{marginLeft:8},label:"Save"})]})]})})]})}))},61120:function(e,n,t){function o(e){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},o(e)}t.d(n,{Z:function(){return o}})},60136:function(e,n,t){t.d(n,{Z:function(){return r}});var o=t(89611);function r(e,n){if("function"!==typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&(0,o.Z)(e,n)}},82963:function(e,n,t){t.d(n,{Z:function(){return i}});var o=t(71002),r=t(97326);function i(e,n){if(n&&("object"===(0,o.Z)(n)||"function"===typeof n))return n;if(void 0!==n)throw new TypeError("Derived constructors may only return object or undefined");return(0,r.Z)(e)}}}]); +//# sourceMappingURL=1268.408b6da9.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1268.819d9108.chunk.js.map b/portal-ui/build/static/js/1268.408b6da9.chunk.js.map similarity index 98% rename from portal-ui/build/static/js/1268.819d9108.chunk.js.map rename to portal-ui/build/static/js/1268.408b6da9.chunk.js.map index 40ba88cdc..daf9f3614 100644 --- a/portal-ui/build/static/js/1268.819d9108.chunk.js.map +++ b/portal-ui/build/static/js/1268.408b6da9.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/1268.819d9108.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Tenants/TenantDetails/TenantYAML.tsx","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport { fieldBasic } from \"../common/styleLibrary\";\nimport { CopyIcon } from \"../../../../../icons\";\nimport { Button } from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport CodeEditor from \"@uiw/react-textarea-code-editor\";\nimport TooltipWrapper from \"../../TooltipWrapper/TooltipWrapper\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n classes: any;\n onChange?: (editor: any, data: any, value: string) => any;\n onBeforeChange: (editor: any, data: any, value: string) => any;\n readOnly?: boolean;\n editorHeight?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n });\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n classes,\n onBeforeChange,\n readOnly = false,\n editorHeight = \"250px\",\n}: ICodeWrapper) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n\n \n {\n onBeforeChange(null, null, evn.target.value);\n }}\n id={\"code_wrapper\"}\n padding={15}\n style={{\n fontSize: 12,\n backgroundColor: \"#fefefe\",\n fontFamily:\n \"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace\",\n minHeight: editorHeight || \"initial\",\n color: \"#000000\",\n }}\n />\n \n \n \n \n \n }\n color={\"primary\"}\n variant={\"regular\"}\n />\n \n \n \n \n
\n );\n};\n\nexport default withStyles(styles)(CodeMirrorWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useNavigate } from \"react-router-dom\";\nimport { LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport api from \"../../../../common/api\";\nimport {\n fieldBasic,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport CodeMirrorWrapper from \"../../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport { setModalErrorSnackMessage } from \"../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport { getTenantAsync } from \"../thunks/tenantDetailsAsync\";\nimport SectionTitle from \"../../Common/SectionTitle\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n errorState: {\n color: \"#b53b4b\",\n fontSize: 14,\n fontWeight: \"bold\",\n },\n codeMirrorContainer: {\n marginBottom: 20,\n paddingLeft: 15,\n \"& label\": {\n marginBottom: \".5rem\",\n },\n \"& label + div\": {\n display: \"none\",\n },\n },\n ...modalStyleUtils,\n ...fieldBasic,\n });\n\ninterface ITenantYAML {\n yaml: string;\n}\n\ninterface ITenantYAMLProps {\n classes: any;\n}\n\nconst TenantYAML = ({ classes }: ITenantYAMLProps) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const tenant = useSelector((state: AppState) => state.tenants.currentTenant);\n const namespace = useSelector(\n (state: AppState) => state.tenants.currentNamespace\n );\n\n const [addLoading, setAddLoading] = useState(false);\n const [loading, setLoading] = useState(false);\n const [tenantYaml, setTenantYaml] = useState(\"\");\n const [errorMessage, setErrorMessage] = useState(\"\");\n\n const updateTenant = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n setErrorMessage(\"\");\n api\n .invoke(\"PUT\", `/api/v1/namespaces/${namespace}/tenants/${tenant}/yaml`, {\n yaml: tenantYaml,\n })\n .then((res) => {\n setAddLoading(false);\n dispatch(getTenantAsync());\n setErrorMessage(\"\");\n navigate(`/namespaces/${namespace}/tenants/${tenant}/summary`);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setErrorMessage(err.errorMessage);\n });\n };\n\n useEffect(() => {\n api\n .invoke(\"GET\", `/api/v1/namespaces/${namespace}/tenants/${tenant}/yaml`)\n .then((res: ITenantYAML) => {\n setLoading(false);\n setTenantYaml(res.yaml);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n }, [tenant, namespace, dispatch]);\n\n useEffect(() => {}, []);\n\n const validSave = tenantYaml.trim() !== \"\";\n\n return (\n \n {addLoading ||\n (loading && (\n \n \n \n ))}\n {errorMessage !== \"\" && (\n
{errorMessage}
\n )}\n\n {!loading && (\n ) => {\n updateTenant(e);\n }}\n >\n \n \n Tenant Specification\n \n \n {\n setTenantYaml(value);\n }}\n editorHeight={\"550px\"}\n />\n \n \n {\n navigate(\n `/namespaces/${namespace}/tenants/${tenant}/summary`\n );\n }}\n label={\"Cancel\"}\n />\n \n \n \n \n )}\n
\n );\n};\n\nexport default withStyles(styles)(TenantYAML);\n","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}"],"names":["withStyles","theme","createStyles","fieldBasic","value","label","tooltip","mode","classes","onBeforeChange","readOnly","editorHeight","item","xs","sx","marginBottom","className","inputLabel","tooltipContainer","title","placement","style","maxHeight","overflow","border","language","onChange","evn","target","id","padding","fontSize","backgroundColor","fontFamily","minHeight","color","background","borderTop","display","alignItems","paddingRight","justifyContent","height","width","marginLeft","text","type","icon","variant","errorState","fontWeight","codeMirrorContainer","paddingLeft","modalStyleUtils","dispatch","useAppDispatch","navigate","useNavigate","tenant","useSelector","state","tenants","currentTenant","namespace","currentNamespace","useState","addLoading","setAddLoading","loading","setLoading","tenantYaml","setTenantYaml","errorMessage","setErrorMessage","useEffect","api","then","res","yaml","catch","err","setModalErrorSnackMessage","validSave","trim","Fragment","noValidate","autoComplete","onSubmit","e","preventDefault","getTenantAsync","container","editor","data","paddingTop","disabled","onClick","_getPrototypeOf","o","Object","setPrototypeOf","getPrototypeOf","bind","__proto__","_inherits","subClass","superClass","TypeError","prototype","create","constructor","writable","configurable","defineProperty","_possibleConstructorReturn","self","call"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/1268.408b6da9.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Tenants/TenantDetails/TenantYAML.tsx","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport { fieldBasic } from \"../common/styleLibrary\";\nimport { CopyIcon } from \"../../../../../icons\";\nimport { Button } from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport CodeEditor from \"@uiw/react-textarea-code-editor\";\nimport TooltipWrapper from \"../../TooltipWrapper/TooltipWrapper\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n classes: any;\n onChange?: (editor: any, data: any, value: string) => any;\n onBeforeChange: (editor: any, data: any, value: string) => any;\n readOnly?: boolean;\n editorHeight?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n });\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n classes,\n onBeforeChange,\n readOnly = false,\n editorHeight = \"250px\",\n}: ICodeWrapper) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n\n \n {\n onBeforeChange(null, null, evn.target.value);\n }}\n id={\"code_wrapper\"}\n padding={15}\n style={{\n fontSize: 12,\n backgroundColor: \"#fefefe\",\n fontFamily:\n \"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace\",\n minHeight: editorHeight || \"initial\",\n color: \"#000000\",\n }}\n />\n \n \n \n \n \n }\n color={\"primary\"}\n variant={\"regular\"}\n />\n \n \n \n \n
\n );\n};\n\nexport default withStyles(styles)(CodeMirrorWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useNavigate } from \"react-router-dom\";\nimport { LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport api from \"../../../../common/api\";\nimport {\n fieldBasic,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport CodeMirrorWrapper from \"../../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport { setModalErrorSnackMessage } from \"../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport { getTenantAsync } from \"../thunks/tenantDetailsAsync\";\nimport SectionTitle from \"../../Common/SectionTitle\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n errorState: {\n color: \"#b53b4b\",\n fontSize: 14,\n fontWeight: \"bold\",\n },\n codeMirrorContainer: {\n marginBottom: 20,\n paddingLeft: 15,\n \"& label\": {\n marginBottom: \".5rem\",\n },\n \"& label + div\": {\n display: \"none\",\n },\n },\n ...modalStyleUtils,\n ...fieldBasic,\n });\n\ninterface ITenantYAML {\n yaml: string;\n}\n\ninterface ITenantYAMLProps {\n classes: any;\n}\n\nconst TenantYAML = ({ classes }: ITenantYAMLProps) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const tenant = useSelector((state: AppState) => state.tenants.currentTenant);\n const namespace = useSelector(\n (state: AppState) => state.tenants.currentNamespace\n );\n\n const [addLoading, setAddLoading] = useState(false);\n const [loading, setLoading] = useState(false);\n const [tenantYaml, setTenantYaml] = useState(\"\");\n const [errorMessage, setErrorMessage] = useState(\"\");\n\n const updateTenant = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n setErrorMessage(\"\");\n api\n .invoke(\"PUT\", `/api/v1/namespaces/${namespace}/tenants/${tenant}/yaml`, {\n yaml: tenantYaml,\n })\n .then((res) => {\n setAddLoading(false);\n dispatch(getTenantAsync());\n setErrorMessage(\"\");\n navigate(`/namespaces/${namespace}/tenants/${tenant}/summary`);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setErrorMessage(err.errorMessage);\n });\n };\n\n useEffect(() => {\n api\n .invoke(\"GET\", `/api/v1/namespaces/${namespace}/tenants/${tenant}/yaml`)\n .then((res: ITenantYAML) => {\n setLoading(false);\n setTenantYaml(res.yaml);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n }, [tenant, namespace, dispatch]);\n\n useEffect(() => {}, []);\n\n const validSave = tenantYaml.trim() !== \"\";\n\n return (\n \n {addLoading ||\n (loading && (\n \n \n \n ))}\n {errorMessage !== \"\" && (\n
{errorMessage}
\n )}\n\n {!loading && (\n ) => {\n updateTenant(e);\n }}\n >\n \n \n Tenant Specification\n \n \n {\n setTenantYaml(value);\n }}\n editorHeight={\"550px\"}\n />\n \n \n {\n navigate(\n `/namespaces/${namespace}/tenants/${tenant}/summary`\n );\n }}\n label={\"Cancel\"}\n />\n \n \n \n \n )}\n
\n );\n};\n\nexport default withStyles(styles)(TenantYAML);\n","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}"],"names":["withStyles","theme","createStyles","fieldBasic","value","label","tooltip","mode","classes","onBeforeChange","readOnly","editorHeight","item","xs","sx","marginBottom","className","inputLabel","tooltipContainer","title","placement","style","maxHeight","overflow","border","language","onChange","evn","target","id","padding","fontSize","backgroundColor","fontFamily","minHeight","color","background","borderTop","display","alignItems","paddingRight","justifyContent","height","width","marginLeft","text","type","icon","variant","errorState","fontWeight","codeMirrorContainer","paddingLeft","modalStyleUtils","dispatch","useAppDispatch","navigate","useNavigate","tenant","useSelector","state","tenants","currentTenant","namespace","currentNamespace","useState","addLoading","setAddLoading","loading","setLoading","tenantYaml","setTenantYaml","errorMessage","setErrorMessage","useEffect","api","then","res","yaml","catch","err","setModalErrorSnackMessage","validSave","trim","Fragment","noValidate","autoComplete","onSubmit","e","preventDefault","getTenantAsync","container","editor","data","paddingTop","disabled","onClick","_getPrototypeOf","o","Object","setPrototypeOf","getPrototypeOf","bind","__proto__","_inherits","subClass","superClass","TypeError","prototype","create","constructor","writable","configurable","defineProperty","_possibleConstructorReturn","self","call"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1268.819d9108.chunk.js b/portal-ui/build/static/js/1268.819d9108.chunk.js deleted file mode 100644 index 121b2179f..000000000 --- a/portal-ui/build/static/js/1268.819d9108.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1268],{92217:function(e,n,t){var o=t(1413),r=t(72791),i=t(61889),a=t(30829),c=t(20068),s=t(64554),l=t(11135),u=t(25787),d=t(84570),f=t(23814),p=t(38734),m=t(75952),x=t(78029),h=t.n(x),y=t(90932),b=t(27454),j=t(80184);n.Z=(0,u.Z)((function(e){return(0,l.Z)((0,o.Z)({},f.YI))}))((function(e){var n=e.value,t=e.label,o=void 0===t?"":t,l=e.tooltip,u=void 0===l?"":l,f=e.mode,x=void 0===f?"json":f,Z=e.classes,g=e.onBeforeChange,v=(e.readOnly,e.editorHeight),C=void 0===v?"250px":v;return(0,j.jsxs)(r.Fragment,{children:[(0,j.jsx)(i.ZP,{item:!0,xs:12,sx:{marginBottom:"10px"},children:(0,j.jsxs)(a.Z,{className:Z.inputLabel,children:[(0,j.jsx)("span",{children:o}),""!==u&&(0,j.jsx)("div",{className:Z.tooltipContainer,children:(0,j.jsx)(c.Z,{title:u,placement:"top-start",children:(0,j.jsx)("div",{className:Z.tooltip,children:(0,j.jsx)(d.Z,{})})})})]})}),(0,j.jsx)(i.ZP,{item:!0,xs:12,style:{maxHeight:C,overflow:"auto",border:"1px solid #eaeaea"},children:(0,j.jsx)(y.Z,{value:n,language:x,onChange:function(e){g(null,null,e.target.value)},id:"code_wrapper",padding:15,style:{fontSize:12,backgroundColor:"#fefefe",fontFamily:"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace",minHeight:C||"initial",color:"#000000"}})}),(0,j.jsx)(i.ZP,{item:!0,xs:12,sx:{background:"#f7f7f7",border:"1px solid #eaeaea",borderTop:0},children:(0,j.jsx)(s.Z,{sx:{display:"flex",alignItems:"center",padding:"2px",paddingRight:"5px",justifyContent:"flex-end","& button":{height:"26px",width:"26px",padding:"2px"," .min-icon":{marginLeft:"0"}}},children:(0,j.jsx)(b.Z,{tooltip:"Copy to Clipboard",children:(0,j.jsx)(h(),{text:n,children:(0,j.jsx)(m.z,{type:"button",id:"copy-code-mirror",icon:(0,j.jsx)(p.TIy,{}),color:"primary",variant:"regular"})})})})})]})}))},82859:function(e,n,t){t.r(n);var o=t(29439),r=t(1413),i=t(72791),a=t(60364),c=t(16871),s=t(40986),l=t(75952),u=t(61889),d=t(11135),f=t(25787),p=t(81207),m=t(23814),x=t(92217),h=t(87995),y=t(25469),b=t(82295),j=t(50896),Z=t(80184);n.default=(0,f.Z)((function(e){return(0,d.Z)((0,r.Z)((0,r.Z)({errorState:{color:"#b53b4b",fontSize:14,fontWeight:"bold"},codeMirrorContainer:{marginBottom:20,paddingLeft:15,"& label":{marginBottom:".5rem"},"& label + div":{display:"none"}}},m.ID),m.YI))}))((function(e){var n=e.classes,t=(0,y.TL)(),r=(0,c.s0)(),d=(0,a.v9)((function(e){return e.tenants.currentTenant})),f=(0,a.v9)((function(e){return e.tenants.currentNamespace})),m=(0,i.useState)(!1),g=(0,o.Z)(m,2),v=g[0],C=g[1],S=(0,i.useState)(!1),P=(0,o.Z)(S,2),w=P[0],T=P[1],k=(0,i.useState)(""),O=(0,o.Z)(k,2),_=O[0],z=O[1],L=(0,i.useState)(""),M=(0,o.Z)(L,2),B=M[0],E=M[1];(0,i.useEffect)((function(){p.Z.invoke("GET","/api/v1/namespaces/".concat(f,"/tenants/").concat(d,"/yaml")).then((function(e){T(!1),z(e.yaml)})).catch((function(e){T(!1),t((0,h.zb)(e))}))}),[d,f,t]),(0,i.useEffect)((function(){}),[]);var F=""!==_.trim();return(0,Z.jsxs)(i.Fragment,{children:[v||w&&(0,Z.jsx)(u.ZP,{item:!0,xs:12,children:(0,Z.jsx)(s.Z,{})}),""!==B&&(0,Z.jsx)("div",{className:n.errorState,children:B}),!w&&(0,Z.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),v||(C(!0),E(""),p.Z.invoke("PUT","/api/v1/namespaces/".concat(f,"/tenants/").concat(d,"/yaml"),{yaml:_}).then((function(e){C(!1),t((0,b.v)()),E(""),r("/namespaces/".concat(f,"/tenants/").concat(d,"/summary"))})).catch((function(e){C(!1),E(e.errorMessage)})))},children:(0,Z.jsxs)(u.ZP,{container:!0,children:[(0,Z.jsx)(u.ZP,{item:!0,xs:12,children:(0,Z.jsx)(j.Z,{children:"Tenant Specification"})}),(0,Z.jsx)(u.ZP,{item:!0,xs:12,children:(0,Z.jsx)(x.Z,{value:_,mode:"yaml",onBeforeChange:function(e,n,t){z(t)},editorHeight:"550px"})}),(0,Z.jsxs)(u.ZP,{item:!0,xs:12,style:{display:"flex",justifyContent:"flex-end",paddingTop:16},children:[(0,Z.jsx)(l.z,{id:"cancel-tenant-yaml",type:"button",variant:"regular",disabled:v,onClick:function(){r("/namespaces/".concat(f,"/tenants/").concat(d,"/summary"))},label:"Cancel"}),(0,Z.jsx)(l.z,{id:"save-tenant-yaml",type:"submit",variant:"callAction",disabled:v||!F,style:{marginLeft:8},label:"Save"})]})]})})]})}))},61120:function(e,n,t){function o(e){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},o(e)}t.d(n,{Z:function(){return o}})},60136:function(e,n,t){t.d(n,{Z:function(){return r}});var o=t(89611);function r(e,n){if("function"!==typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&(0,o.Z)(e,n)}},82963:function(e,n,t){t.d(n,{Z:function(){return i}});var o=t(71002),r=t(97326);function i(e,n){if(n&&("object"===(0,o.Z)(n)||"function"===typeof n))return n;if(void 0!==n)throw new TypeError("Derived constructors may only return object or undefined");return(0,r.Z)(e)}}}]); -//# sourceMappingURL=1268.819d9108.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1367.00454bc0.chunk.js b/portal-ui/build/static/js/1367.00454bc0.chunk.js new file mode 100644 index 000000000..d83d8e027 --- /dev/null +++ b/portal-ui/build/static/js/1367.00454bc0.chunk.js @@ -0,0 +1,2 @@ +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1367,2691],{92217:function(e,n,t){"use strict";var i=t(1413),r=t(72791),o=t(61889),a=t(30829),c=t(20068),s=t(64554),l=t(11135),d=t(25787),u=t(84570),p=t(23814),h=t(38588),f=t(75952),x=t(78029),m=t.n(x),v=t(90932),Z=t(27454),b=t(80184);n.Z=(0,d.Z)((function(e){return(0,l.Z)((0,i.Z)({},p.YI))}))((function(e){var n=e.value,t=e.label,i=void 0===t?"":t,l=e.tooltip,d=void 0===l?"":l,p=e.mode,x=void 0===p?"json":p,j=e.classes,g=e.onBeforeChange,C=(e.readOnly,e.editorHeight),y=void 0===C?"250px":C;return(0,b.jsxs)(r.Fragment,{children:[(0,b.jsx)(o.ZP,{item:!0,xs:12,sx:{marginBottom:"10px"},children:(0,b.jsxs)(a.Z,{className:j.inputLabel,children:[(0,b.jsx)("span",{children:i}),""!==d&&(0,b.jsx)("div",{className:j.tooltipContainer,children:(0,b.jsx)(c.Z,{title:d,placement:"top-start",children:(0,b.jsx)("div",{className:j.tooltip,children:(0,b.jsx)(u.Z,{})})})})]})}),(0,b.jsx)(o.ZP,{item:!0,xs:12,style:{maxHeight:y,overflow:"auto",border:"1px solid #eaeaea"},children:(0,b.jsx)(v.Z,{value:n,language:x,onChange:function(e){g(null,null,e.target.value)},id:"code_wrapper",padding:15,style:{fontSize:12,backgroundColor:"#fefefe",fontFamily:"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace",minHeight:y||"initial",color:"#000000"}})}),(0,b.jsx)(o.ZP,{item:!0,xs:12,sx:{background:"#f7f7f7",border:"1px solid #eaeaea",borderTop:0},children:(0,b.jsx)(s.Z,{sx:{display:"flex",alignItems:"center",padding:"2px",paddingRight:"5px",justifyContent:"flex-end","& button":{height:"26px",width:"26px",padding:"2px"," .min-icon":{marginLeft:"0"}}},children:(0,b.jsx)(Z.Z,{tooltip:"Copy to Clipboard",children:(0,b.jsx)(m(),{text:n,children:(0,b.jsx)(f.zx,{type:"button",id:"copy-code-mirror",icon:(0,b.jsx)(h.TIy,{}),color:"primary",variant:"regular"})})})})})]})}))},59114:function(e,n,t){"use strict";var i=t(4942),r=t(1413),o=(t(72791),t(63466)),a=t(74900),c=t(27391),s=t(25787),l=t(11135),d=t(23814),u=t(80184);n.Z=(0,s.Z)((function(e){return(0,l.Z)({searchField:(0,r.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,r=e.classes,s=e.onChange,l=e.adornmentPosition,d=void 0===l?"end":l,p=e.overrideClass,h=e.value,f=(0,i.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(o.Z,{position:d,className:r.adornment,children:(0,u.jsx)(a.Z,{})}));return(0,u.jsx)(c.Z,{placeholder:t,className:p||r.searchField,id:"search-resource",label:"",InputProps:f,onChange:function(e){s(e.target.value)},variant:"standard",value:h})}))},27454:function(e,n,t){"use strict";var i=t(1413),r=t(72791),o=t(20068),a=t(80184);n.Z=function(e){var n=e.tooltip,t=e.children,c=e.errorProps,s=void 0===c?null:c;return(0,a.jsx)(o.Z,{title:n,children:(0,a.jsx)("span",{children:s?(0,r.cloneElement)(t,(0,i.Z)({},s)):t})})}},50276:function(e,n,t){"use strict";var i=t(1413),r=t(29439),o=t(72791),a=t(64554),c=t(43896),s=t(83449),l=t(47283),d=t(82851),u=t(25787),p=t(13967),h=t(11135),f=t(95193),x=t(16871),m=t(80184),v={minHeight:60};n.Z=(0,u.Z)((function(e){return(0,h.Z)({tabsContainer:{display:"flex",height:"100%",width:"100%"},tabsHeaderContainer:{width:"300px",background:"#F8F8F8",borderRight:"1px solid #EAEAEA","& .MuiTabs-root":{"& .MuiTabs-indicator":{display:"none"},"& .MuiTab-root":{display:"flex",flexFlow:"row",alignItems:"center",justifyContent:"flex-start",borderBottom:"1px solid #EAEAEA","& .MuiSvgIcon-root":{marginRight:8,marginBottom:0},"&.Mui-selected":{background:"#E5E5E5",fontWeight:600}},"&. MuiTabs-scroller":{display:"none"}}},tabContentContainer:{width:"100%","& .MuiTabPanel-root":{height:"100%"}},tabPanel:{height:"100%"},"@media (max-width: 900px)":{tabsContainer:{flexFlow:"column",flexDirection:"column"},tabsHeaderContainer:{width:"100%",borderBottom:" 1px solid #EAEAEA","& .MuiTabs-root .MuiTabs-scroller .MuiButtonBase-root":{borderBottom:" 0px"}}}})}))((function(e){var n=e.children,t=e.classes,u=e.selectedTab,h=void 0===u?"0":u,Z=e.routes,b=e.isRouteTabs,j=(0,p.Z)(),g=(0,x.TH)().pathname,C=void 0===g?"":g,y=(0,f.Z)(j.breakpoints.down("md")),E=(0,o.useState)(h),P=(0,r.Z)(E,2),w=P[0],S=P[1],M=[],N=[];if((0,o.useEffect)((function(){if(b){var e=n.find((function(e){return e.tabConfig.to===C}));e&&S(e.tabConfig.value)}}),[b,n,C]),!n)return null;n.forEach((function(e){M.push(e.tabConfig),N.push(e.content)}));return(0,m.jsx)(s.ZP,{value:"".concat(w),children:(0,m.jsxs)(a.Z,{className:t.tabsContainer,children:[(0,m.jsx)(a.Z,{className:t.tabsHeaderContainer,children:(0,m.jsx)(l.Z,{onChange:function(e,n){S(n)},orientation:y?"horizontal":"vertical",variant:y?"scrollable":"standard",scrollButtons:"auto",className:t.tabList,children:M.map((function(e,n){return e?(0,m.jsx)(c.Z,(0,i.Z)((0,i.Z)({className:t.tabHeader,value:"".concat(n),style:v},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(n)):null}))})}),(0,m.jsxs)(a.Z,{className:t.tabContentContainer,children:[b?null:N.map((function(e,n){return(0,m.jsx)(d.Z,{classes:(0,i.Z)({},t.tabPanel),value:"".concat(n),children:e||null},"v-tab-p-".concat(n))})),b?(0,m.jsx)("div",{className:t.tabPanel,children:Z}):null]})]})})}))},879:function(e,n,t){"use strict";t.d(n,{D_:function(){return a},Et:function(){return r},GJ:function(){return o},yh:function(){return i}});var i={RED:"#C83B51",GREEN:"#4CCB92",YELLOW:"#E7A219"},r=function(e,n){return e<=n/2?i.RED:2!==n&&e===n/2+1?i.YELLOW:e===n?i.GREEN:void 0},o=function(e){switch(e){case"offline":return i.RED;case"online":return i.GREEN;default:return i.YELLOW}},a=function(e,n){return e<=n/2?i.RED:e===n/2+1?i.YELLOW:e===n?i.GREEN:void 0}},1191:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return W}});var i=t(29439),r=t(1413),o=t(72791),a=t(60364),c=t(16871),s=t(75952),l=t(11135),d=t(25787),u=t(23814),p=t(10703),h=t(61889),f=t(40986),x=t(92983),m=t(81207),v=t(32291),Z=t(92217),b=t(63466),j=t(27391),g=t(14917),C=t(64244),y=t(28789),E=t(74900),P=t(54599),w=t(74794),S=t(50276),M=t(84669),N=t(56087),R=t(38442),T=t(75578),F=t(64554),k=t(59114),A=t(38588),L=t(879),I=t(80184),z={display:"grid",gridTemplateColumns:"60px 1fr",gap:"15px"},O=function(e){var n=e.search,t=void 0===n?"":n,i=e.children,r=void 0===i?"":i,o=new RegExp("(".concat(function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}(t),")"),"i"),a=String(r).split(o);return t?a.map((function(e,n){return o.test(e)?(0,I.jsx)("mark",{children:e},n):e})):r},B=(0,d.Z)((function(e){return(0,l.Z)({searchField:(0,r.Z)((0,r.Z)({},u.qg.searchField),{},{maxWidth:380})})}))((function(e){var n=e.policyStatements,t=e.classes,r=void 0===t?{}:t,a=(0,o.useState)(""),c=(0,i.Z)(a,2),s=c[0],l=c[1];return(0,I.jsxs)(h.ZP,{container:!0,children:[(0,I.jsx)(h.ZP,{item:!0,xs:12,children:(0,I.jsxs)(F.Z,{sx:{display:"grid",gridTemplateColumns:{sm:"1fr 1fr",xs:"1fr"},alignItems:"center",justifyContent:"space-between",gap:"15px"},children:[(0,I.jsx)(F.Z,{children:"Statements"}),(0,I.jsx)(k.Z,{placeholder:"Search",onChange:l,overrideClass:r.searchField,value:s})]})}),(0,I.jsx)(h.ZP,{item:!0,xs:12,sx:{"& .policy-row":{borderBottom:"1px solid #eaeaea"},"& .policy-row:first-child":{borderTop:"1px solid #eaeaea"},"& .policy-row:last-child":{borderBottom:"0px"},paddingTop:"15px","& mark":{color:"#000000",fontWeight:500}},children:n.map((function(e,n){var t=e.Effect,i="Allow"===t;return(0,I.jsxs)(F.Z,{className:"policy-row",sx:{display:"grid",gridTemplateColumns:"1fr",gap:"15px",fontSize:"14px",padding:"10px 0 10px 0","& .label":{fontWeight:600}},children:[(0,I.jsxs)(F.Z,{sx:z,children:[(0,I.jsx)(F.Z,{className:"label",children:"Effect:"}),(0,I.jsxs)(F.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{marginRight:"5px",fill:i?L.yh.GREEN:L.yh.RED,height:"14px",width:"14px"}},children:[i?(0,I.jsx)(A.E31,{}):(0,I.jsx)(A.dRf,{}),t]})]}),(0,I.jsxs)(F.Z,{sx:{display:"grid",gridTemplateColumns:{sm:"1fr 1fr",xs:"1fr"},gap:"15px"},children:[(0,I.jsxs)(F.Z,{sx:z,children:[(0,I.jsx)(F.Z,{className:"label",children:"Actions:"}),(0,I.jsx)(F.Z,{children:e.Action&&e.Action.map((function(e,t){return(0,I.jsx)("div",{children:(0,I.jsx)(O,{search:s,children:e})},"".concat(n,"-r-").concat(t))}))})]}),(0,I.jsxs)(F.Z,{sx:z,children:[(0,I.jsx)(F.Z,{className:"label",children:"Resources:"}),(0,I.jsx)(F.Z,{children:e.Resource&&e.Resource.map((function(e,t){return(0,I.jsxs)("div",{children:[" ",(0,I.jsx)(O,{search:s,children:e})]},"".concat(n,"-r-").concat(t))}))})]})]})]},"".concat(n))}))})]})})),D=t(45248),H=t(87995),G=t(46078),U=t(25469),_=t(27454),V=(0,T.Z)(o.lazy((function(){return t.e(312).then(t.bind(t,312))}))),W=(0,d.Z)((function(e){return(0,l.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({buttonContainer:{display:"flex",justifyContent:"flex-end",paddingTop:16,"& button":{marginLeft:8}},pageContainer:{border:"1px solid #EAEAEA",height:"100%"},paperContainer:{padding:"15px 15px 15px 50px",minHeight:"450px"},statement:{border:"1px solid #DADADA",padding:8,marginBottom:8,borderRadius:4},labelCol:{fontWeight:"bold"}},u.OR),u.qg),u.oO),(0,u.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=(0,U.TL)(),r=(0,c.s0)(),l=(0,c.UO)(),d=(0,a.v9)(G.$4),u=(0,o.useState)(null),T=(0,i.Z)(u,2),F=T[0],k=T[1],A=(0,o.useState)([]),L=(0,i.Z)(A,2),z=L[0],O=L[1],W=(0,o.useState)([]),Y=(0,i.Z)(W,2),K=Y[0],q=Y[1],J=(0,o.useState)([]),Q=(0,i.Z)(J,2),$=Q[0],X=Q[1],ee=(0,o.useState)(!1),ne=(0,i.Z)(ee,2),te=ne[0],ie=ne[1],re=(0,D.IO)(l.policyName||""),oe=(0,o.useState)(""),ae=(0,i.Z)(oe,2),ce=ae[0],se=ae[1],le=(0,o.useState)(!0),de=(0,i.Z)(le,2),ue=de[0],pe=de[1],he=(0,o.useState)(""),fe=(0,i.Z)(he,2),xe=fe[0],me=fe[1],ve=(0,o.useState)(!0),Ze=(0,i.Z)(ve,2),be=Ze[0],je=Ze[1],ge=(0,o.useState)(""),Ce=(0,i.Z)(ge,2),ye=Ce[0],Ee=Ce[1],Pe=(0,o.useState)(!0),we=(0,i.Z)(Pe,2),Se=we[0],Me=we[1],Ne=(0,o.useState)(!1),Re=(0,i.Z)(Ne,2),Te=Re[0],Fe=Re[1],ke=d&&d.includes("ldap-idp")||!1,Ae=(0,R.F)(N.C3,N.K6,!0),Le=(0,R.F)(N.C3,N.k_,!0),Ie=(0,R.F)(N.C3,N.Rs,!0),ze=(0,R.F)(N.C3,N.iw,!0),Oe=(0,R.F)(N.C3,N.GD,!0),Be=(0,R.F)(N.C3,N.bE,!0),De=(0,R.F)(N.C3,N.XM,!0);(0,o.useEffect)((function(){ue&&(ue&&(Oe?m.Z.invoke("GET","/api/v1/policy/".concat((0,D.LL)(re))).then((function(e){if(e){k(e),se(e?JSON.stringify(JSON.parse(e.policy),null,4):"");var n=JSON.parse(e.policy);O(n.Statement)}pe(!1)})).catch((function(e){t((0,H.Ih)(e)),pe(!1)})):pe(!1)),be&&(Ie&&!ke?m.Z.invoke("GET","/api/v1/policies/".concat((0,D.LL)(re),"/users")).then((function(e){q(e),je(!1)})).catch((function(e){t((0,H.Ih)(e)),je(!1)})):je(!1)),Se&&(Ae&&!ke?m.Z.invoke("GET","/api/v1/policies/".concat((0,D.LL)(re),"/groups")).then((function(e){X(e),Me(!1)})).catch((function(e){t((0,H.Ih)(e)),Me(!1)})):Me(!1)))}),[re,ue,be,Se,q,X,se,k,je,Me,Ie,Ae,Oe,ke,t]);var He=""!==re.trim(),Ge=[{type:"view",onClick:function(e){r("".concat(N.gA.USERS,"/").concat((0,D.LL)(e)))},disableButtonFunction:function(){return!ze}}],Ue=K.filter((function(e){return e.includes(xe)})),_e=[{type:"view",onClick:function(e){r("".concat(N.gA.GROUPS,"/").concat((0,D.LL)(e)))},disableButtonFunction:function(){return!Le}}],Ve=$.filter((function(e){return e.includes(ye)})),We=function(){je(!0),Me(!0),pe(!0)};return(0,I.jsxs)(o.Fragment,{children:[Te&&(0,I.jsx)(V,{deleteOpen:Te,selectedPolicy:re,closeDeleteModalAndRefresh:function(e){Fe(!1),r(N.gA.POLICIES)}}),(0,I.jsx)(v.Z,{label:(0,I.jsx)(o.Fragment,{children:(0,I.jsx)(M.Z,{to:N.gA.POLICIES,label:"Policy"})})}),(0,I.jsxs)(w.Z,{className:n.pageContainer,children:[(0,I.jsx)(h.ZP,{item:!0,xs:12,children:(0,I.jsx)(g.Z,{icon:(0,I.jsx)(o.Fragment,{children:(0,I.jsx)(C.Z,{width:40})}),title:re,subTitle:(0,I.jsx)(o.Fragment,{children:"IAM Policy"}),actions:(0,I.jsxs)(o.Fragment,{children:[(0,I.jsx)(R.s,{scopes:[N.Ft.ADMIN_DELETE_POLICY],resource:N.C3,errorProps:{disabled:!0},children:(0,I.jsx)(_.Z,{tooltip:Be?"":(0,N.MK)(N.bE,"delete Policies"),children:(0,I.jsx)(s.zx,{id:"delete-policy",label:"Delete Policy",variant:"secondary",icon:(0,I.jsx)(P.Z,{}),onClick:function(){Fe(!0)},disabled:!Be})})}),(0,I.jsx)(_.Z,{tooltip:"Refresh",children:(0,I.jsx)(s.zx,{id:"refresh-policy",label:"Refresh",variant:"regular",icon:(0,I.jsx)(y.default,{}),onClick:function(){We()}})})]})})}),(0,I.jsxs)(S.Z,{children:[{tabConfig:{label:"Summary",disabled:!Oe},content:(0,I.jsxs)(o.Fragment,{children:[(0,I.jsx)("div",{className:n.sectionTitle,children:"Policy Summary"}),(0,I.jsx)(p.Z,{className:n.paperContainer,children:(0,I.jsx)(B,{policyStatements:z})})]})},{tabConfig:{label:"Users",disabled:!Ie||ke},content:(0,I.jsxs)(o.Fragment,{children:[(0,I.jsx)("div",{className:n.sectionTitle,children:"Users"}),(0,I.jsxs)(h.ZP,{container:!0,children:[K.length>0&&(0,I.jsx)(h.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,I.jsx)(j.Z,{placeholder:"Search Users",className:n.searchField,id:"search-resource",label:"",onChange:function(e){me(e.target.value)},InputProps:{disableUnderline:!0,startAdornment:(0,I.jsx)(b.Z,{position:"start",children:(0,I.jsx)(E.Z,{})})},variant:"standard"})}),(0,I.jsx)(x.Z,{itemActions:Ge,columns:[{label:"Name",elementKey:"name"}],isLoading:be,records:Ue,entityName:"Users with this Policy associated",idField:"name"})]})]})},{tabConfig:{label:"Groups",disabled:!Ae||ke},content:(0,I.jsxs)(o.Fragment,{children:[(0,I.jsx)("div",{className:n.sectionTitle,children:"Groups"}),(0,I.jsxs)(h.ZP,{container:!0,children:[$.length>0&&(0,I.jsx)(h.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,I.jsx)(j.Z,{placeholder:"Search Groups",className:n.searchField,id:"search-resource",label:"",onChange:function(e){Ee(e.target.value)},InputProps:{disableUnderline:!0,startAdornment:(0,I.jsx)(b.Z,{position:"start",children:(0,I.jsx)(E.Z,{})})},variant:"standard"})}),(0,I.jsx)(x.Z,{itemActions:_e,columns:[{label:"Name",elementKey:"name"}],isLoading:Se,records:Ve,entityName:"Groups with this Policy associated",idField:"name"})]})]})},{tabConfig:{label:"Raw Policy",disabled:!Oe},content:(0,I.jsxs)(o.Fragment,{children:[(0,I.jsx)("div",{className:n.sectionTitle,children:"Raw Policy"}),(0,I.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),te||(ie(!0),De?m.Z.invoke("POST","/api/v1/policies",{name:re,policy:ce}).then((function(e){ie(!1),t((0,H.y1)("Policy successfully updated")),We()})).catch((function(e){ie(!1),t((0,H.Ih)(e))})):ie(!1))},children:(0,I.jsxs)(h.ZP,{container:!0,children:[(0,I.jsx)(h.ZP,{item:!0,xs:12,children:(0,I.jsx)(Z.Z,{readOnly:!De,value:ce,onBeforeChange:function(e,n,t){se(t)},editorHeight:"350px"})}),(0,I.jsxs)(h.ZP,{item:!0,xs:12,className:n.buttonContainer,children:[!F&&(0,I.jsx)("button",{type:"button",color:"primary",className:n.clearButton,onClick:function(){se("{}")},children:"Clear"}),(0,I.jsx)(R.s,{scopes:[N.Ft.ADMIN_CREATE_POLICY],resource:N.C3,errorProps:{disabled:!0},children:(0,I.jsx)(_.Z,{tooltip:De?"":(0,N.MK)(N.XM,"edit a Policy"),children:(0,I.jsx)(s.zx,{id:"save",type:"submit",variant:"callAction",color:"primary",disabled:te||!He||!De,label:"Save"})})})]}),te&&(0,I.jsx)(h.ZP,{item:!0,xs:12,children:(0,I.jsx)(f.Z,{})})]})})]})}]})]})]})}))},26759:function(e,n,t){"use strict";var i=t(64836);n.Z=void 0;var r=i(t(45649)),o=t(80184),a=(0,r.default)((0,o.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");n.Z=a},70366:function(e,n,t){"use strict";var i=t(64836);n.Z=void 0;var r=i(t(45649)),o=t(80184),a=(0,r.default)((0,o.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");n.Z=a},97911:function(e,n,t){"use strict";var i=t(64836);n.Z=void 0;var r=i(t(45649)),o=t(80184),a=(0,r.default)((0,o.jsx)("path",{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}),"ViewColumn");n.Z=a},83449:function(e,n,t){"use strict";t.d(n,{ZP:function(){return c},_i:function(){return s},pQ:function(){return d},uU:function(){return l}});var i=t(29439),r=t(72791),o=t(80184),a=r.createContext(null);function c(e){var n=e.children,t=e.value,c=function(){var e=r.useState(null),n=(0,i.Z)(e,2),t=n[0],o=n[1];return r.useEffect((function(){o("mui-p-".concat(Math.round(1e5*Math.random())))}),[]),t}(),s=r.useMemo((function(){return{idPrefix:c,value:t}}),[c,t]);return(0,o.jsx)(a.Provider,{value:s,children:n})}function s(){return r.useContext(a)}function l(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-P-").concat(n)}function d(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-T-").concat(n)}},47283:function(e,n,t){"use strict";var i=t(87462),r=t(63366),o=t(72791),a=t(18073),c=t(83449),s=t(80184),l=["children"],d=o.forwardRef((function(e,n){var t=e.children,d=(0,r.Z)(e,l),u=(0,c._i)();if(null===u)throw new TypeError("No TabContext provided");var p=o.Children.map(t,(function(e){return o.isValidElement(e)?o.cloneElement(e,{"aria-controls":(0,c.uU)(u,e.props.value),id:(0,c.pQ)(u,e.props.value)}):null}));return(0,s.jsx)(a.Z,(0,i.Z)({},d,{ref:n,value:u.value,children:p}))}));n.Z=d},82851:function(e,n,t){"use strict";t.d(n,{Z:function(){return m}});var i=t(87462),r=t(63366),o=t(72791),a=t(28182),c=t(66934),s=t(31402),l=t(94419),d=t(21217);function u(e){return(0,d.Z)("MuiTabPanel",e)}(0,t(75878).Z)("MuiTabPanel",["root"]);var p=t(83449),h=t(80184),f=["children","className","value"],x=(0,c.ZP)("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:function(e,n){return n.root}})((function(e){return{padding:e.theme.spacing(3)}})),m=o.forwardRef((function(e,n){var t=(0,s.Z)({props:e,name:"MuiTabPanel"}),o=t.children,c=t.className,d=t.value,m=(0,r.Z)(t,f),v=(0,i.Z)({},t),Z=function(e){var n=e.classes;return(0,l.Z)({root:["root"]},u,n)}(v),b=(0,p._i)();if(null===b)throw new TypeError("No TabContext provided");var j=(0,p.uU)(b,d),g=(0,p.pQ)(b,d);return(0,h.jsx)(x,(0,i.Z)({"aria-labelledby":g,className:(0,a.Z)(Z.root,c),hidden:d!==b.value,id:j,ref:n,role:"tabpanel",ownerState:v},m,{children:d===b.value&&o}))}))},94454:function(e,n,t){"use strict";t.d(n,{Z:function(){return w}});var i=t(4942),r=t(63366),o=t(87462),a=t(72791),c=t(94419),s=t(12065),l=t(97278),d=t(76189),u=t(80184),p=(0,d.Z)((0,u.jsx)("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank"),h=(0,d.Z)((0,u.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox"),f=(0,d.Z)((0,u.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox"),x=t(14036),m=t(31402),v=t(66934),Z=t(21217);function b(e){return(0,Z.Z)("MuiCheckbox",e)}var j=(0,t(75878).Z)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary"]),g=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size"],C=(0,v.ZP)(l.Z,{shouldForwardProp:function(e){return(0,v.FO)(e)||"classes"===e},name:"MuiCheckbox",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,t.indeterminate&&n.indeterminate,"default"!==t.color&&n["color".concat((0,x.Z)(t.color))]]}})((function(e){var n,t=e.theme,r=e.ownerState;return(0,o.Z)({color:(t.vars||t).palette.text.secondary},!r.disableRipple&&{"&:hover":{backgroundColor:t.vars?"rgba(".concat("default"===r.color?t.vars.palette.action.activeChannel:t.vars.palette.primary.mainChannel," / ").concat(t.vars.palette.action.hoverOpacity,")"):(0,s.Fq)("default"===r.color?t.palette.action.active:t.palette[r.color].main,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==r.color&&(n={},(0,i.Z)(n,"&.".concat(j.checked,", &.").concat(j.indeterminate),{color:(t.vars||t).palette[r.color].main}),(0,i.Z)(n,"&.".concat(j.disabled),{color:(t.vars||t).palette.action.disabled}),n))})),y=(0,u.jsx)(h,{}),E=(0,u.jsx)(p,{}),P=(0,u.jsx)(f,{}),w=a.forwardRef((function(e,n){var t,i,s=(0,m.Z)({props:e,name:"MuiCheckbox"}),l=s.checkedIcon,d=void 0===l?y:l,p=s.color,h=void 0===p?"primary":p,f=s.icon,v=void 0===f?E:f,Z=s.indeterminate,j=void 0!==Z&&Z,w=s.indeterminateIcon,S=void 0===w?P:w,M=s.inputProps,N=s.size,R=void 0===N?"medium":N,T=(0,r.Z)(s,g),F=j?S:v,k=j?S:d,A=(0,o.Z)({},s,{color:h,indeterminate:j,size:R}),L=function(e){var n=e.classes,t=e.indeterminate,i=e.color,r={root:["root",t&&"indeterminate","color".concat((0,x.Z)(i))]},a=(0,c.Z)(r,b,n);return(0,o.Z)({},n,a)}(A);return(0,u.jsx)(C,(0,o.Z)({type:"checkbox",inputProps:(0,o.Z)({"data-indeterminate":j},M),icon:a.cloneElement(F,{fontSize:null!=(t=F.props.fontSize)?t:R}),checkedIcon:a.cloneElement(k,{fontSize:null!=(i=k.props.fontSize)?i:R}),ownerState:A,ref:n},T,{classes:L}))}))},95193:function(e,n,t){"use strict";var i;t.d(n,{Z:function(){return p}});var r=t(29439),o=t(72791),a=t(69120),c=t(33073),s=t(40162);function l(e,n,t,i,a){var c="undefined"!==typeof window&&"undefined"!==typeof window.matchMedia,l=o.useState((function(){return a&&c?t(e).matches:i?i(e).matches:n})),d=(0,r.Z)(l,2),u=d[0],p=d[1];return(0,s.Z)((function(){var n=!0;if(c){var i=t(e),r=function(){n&&p(i.matches)};return r(),i.addListener(r),function(){n=!1,i.removeListener(r)}}}),[e,t,c]),u}var d=(i||(i=t.t(o,2))).useSyncExternalStore;function u(e,n,t,i){var a=o.useCallback((function(){return n}),[n]),c=o.useMemo((function(){if(null!==i){var n=i(e).matches;return function(){return n}}return a}),[a,e,i]),s=o.useMemo((function(){if(null===t)return[a,function(){return function(){}}];var n=t(e);return[function(){return n.matches},function(e){return n.addListener(e),function(){n.removeListener(e)}}]}),[a,t,e]),l=(0,r.Z)(s,2),u=l[0],p=l[1];return d(p,u,c)}function p(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=(0,a.Z)(),i="undefined"!==typeof window&&"undefined"!==typeof window.matchMedia,r=(0,c.Z)({name:"MuiUseMediaQuery",props:n,theme:t}),o=r.defaultMatches,s=void 0!==o&&o,p=r.matchMedia,h=void 0===p?i?window.matchMedia:null:p,f=r.ssrMatchMedia,x=void 0===f?null:f,m=r.noSsr;var v="function"===typeof e?e(t):e;v=v.replace(/^@media( ?)/m,"");var Z=void 0!==d?u:l,b=Z(v,s,h,x,m);return b}},26769:function(e,n,t){var i=t(39066),r=t(93629),o=t(43141);e.exports=function(e){return"string"==typeof e||!r(e)&&o(e)&&"[object String]"==i(e)}}}]); +//# sourceMappingURL=1367.00454bc0.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1367.18b69587.chunk.js.map b/portal-ui/build/static/js/1367.00454bc0.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/1367.18b69587.chunk.js.map rename to portal-ui/build/static/js/1367.00454bc0.chunk.js.map index 95dff27e0..4254bfe85 100644 --- a/portal-ui/build/static/js/1367.18b69587.chunk.js.map +++ b/portal-ui/build/static/js/1367.00454bc0.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/1367.18b69587.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Common/TooltipWrapper/TooltipWrapper.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.tsx","screens/Console/Dashboard/BasicDashboard/Utils.tsx","screens/Console/Policies/PolicyView.tsx","screens/Console/Policies/PolicyDetails.tsx","../node_modules/@mui/icons-material/ArrowDropDown.js","../node_modules/@mui/icons-material/ArrowDropUp.js","../node_modules/@mui/icons-material/ViewColumn.js","../node_modules/@mui/lab/TabContext/TabContext.js","../node_modules/@mui/lab/TabList/TabList.js","../node_modules/@mui/lab/TabPanel/tabPanelClasses.js","../node_modules/@mui/lab/TabPanel/TabPanel.js","../node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@mui/material/Checkbox/checkboxClasses.js","../node_modules/@mui/material/Checkbox/Checkbox.js","../node_modules/@mui/material/useMediaQuery/useMediaQuery.js","../node_modules/lodash/isString.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport { fieldBasic } from \"../common/styleLibrary\";\nimport { CopyIcon } from \"../../../../../icons\";\nimport { Button } from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport CodeEditor from \"@uiw/react-textarea-code-editor\";\nimport TooltipWrapper from \"../../TooltipWrapper/TooltipWrapper\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n classes: any;\n onChange?: (editor: any, data: any, value: string) => any;\n onBeforeChange: (editor: any, data: any, value: string) => any;\n readOnly?: boolean;\n editorHeight?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n });\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n classes,\n onBeforeChange,\n readOnly = false,\n editorHeight = \"250px\",\n}: ICodeWrapper) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n\n \n {\n onBeforeChange(null, null, evn.target.value);\n }}\n id={\"code_wrapper\"}\n padding={15}\n style={{\n fontSize: 12,\n backgroundColor: \"#fefefe\",\n fontFamily:\n \"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace\",\n minHeight: editorHeight || \"initial\",\n color: \"#000000\",\n }}\n />\n \n \n \n \n \n }\n color={\"primary\"}\n variant={\"regular\"}\n />\n \n \n \n \n
\n );\n};\n\nexport default withStyles(styles)(CodeMirrorWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { cloneElement } from \"react\";\nimport { Tooltip } from \"@mui/material\";\n\ninterface ITooltipWrapperProps {\n tooltip: string;\n children: any;\n errorProps?: any;\n}\n\nconst TooltipWrapper = ({\n tooltip,\n children,\n errorProps = null,\n}: ITooltipWrapperProps) => {\n return (\n \n \n {errorProps ? cloneElement(children, { ...errorProps }) : children}\n \n \n );\n};\n\nexport default TooltipWrapper;\n","import React, { useState, useEffect } from \"react\";\nimport { Box, Tab, TabProps } from \"@mui/material\";\nimport { TabContext, TabList, TabPanel } from \"@mui/lab\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme, useTheme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\nimport { useLocation } from \"react-router-dom\";\n\nexport type TabItemProps = {\n tabConfig: TabProps | any;\n content?: JSX.Element | JSX.Element[];\n};\n\ntype VerticalTabsProps = {\n classes: any;\n children: TabItemProps[];\n selectedTab?: string;\n routes?: any;\n isRouteTabs?: boolean;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n tabsContainer: {\n display: \"flex\",\n height: \"100%\",\n width: \"100%\",\n },\n tabsHeaderContainer: {\n width: \"300px\",\n background: \"#F8F8F8\",\n borderRight: \"1px solid #EAEAEA\",\n \"& .MuiTabs-root\": {\n \"& .MuiTabs-indicator\": {\n display: \"none\",\n },\n \"& .MuiTab-root\": {\n display: \"flex\",\n flexFlow: \"row\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n borderBottom: \"1px solid #EAEAEA\",\n \"& .MuiSvgIcon-root\": {\n marginRight: 8,\n marginBottom: 0,\n },\n \"&.Mui-selected\": {\n background: \"#E5E5E5\",\n fontWeight: 600,\n },\n },\n\n \"&. MuiTabs-scroller\": {\n display: \"none\",\n },\n },\n },\n tabContentContainer: {\n width: \"100%\",\n \"& .MuiTabPanel-root\": {\n height: \"100%\",\n },\n },\n tabPanel: {\n height: \"100%\",\n },\n /*Below md breakpoint make it horizontal and style it for scrolling tabs*/\n \"@media (max-width: 900px)\": {\n tabsContainer: {\n flexFlow: \"column\",\n flexDirection: \"column\",\n },\n tabsHeaderContainer: {\n width: \"100%\",\n borderBottom: \" 1px solid #EAEAEA\",\n \"& .MuiTabs-root .MuiTabs-scroller .MuiButtonBase-root\": {\n borderBottom: \" 0px\",\n },\n },\n },\n });\n\nconst tabStripStyle = {\n minHeight: 60,\n};\n\nconst VerticalTabs = ({\n children,\n classes,\n selectedTab = \"0\",\n routes,\n isRouteTabs,\n}: VerticalTabsProps) => {\n const theme = useTheme();\n const { pathname = \"\" } = useLocation();\n\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const [value, setValue] = useState(selectedTab);\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n useEffect(() => {\n if (isRouteTabs) {\n const tabConfigElement = children.find(\n (item) => item.tabConfig.to === pathname\n );\n\n if (tabConfigElement) {\n setValue(tabConfigElement.tabConfig.value);\n }\n }\n }, [isRouteTabs, children, pathname]);\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\n });\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n return (\n \n \n \n \n {headerList.map((item, index) => {\n if (item) {\n return (\n \n );\n }\n return null;\n })}\n \n \n\n \n {!isRouteTabs\n ? contentList.map((item, index) => {\n return (\n \n {item ? item : null}\n \n );\n })\n : null}\n {isRouteTabs ? (\n
{routes}
\n ) : null}\n
\n
\n
\n );\n};\n\nexport default withStyles(styles)(VerticalTabs);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const STATUS_COLORS = {\n RED: \"#C83B51\",\n GREEN: \"#4CCB92\",\n YELLOW: \"#E7A219\",\n};\n\nexport const getDriveStatusColor = (\n activeDisks: number,\n totalDrives: number\n) => {\n if (activeDisks <= totalDrives / 2) {\n return STATUS_COLORS.RED;\n }\n if (totalDrives !== 2 && activeDisks === totalDrives / 2 + 1) {\n return STATUS_COLORS.YELLOW;\n }\n if (activeDisks === totalDrives) {\n return STATUS_COLORS.GREEN;\n }\n};\n\nexport const serverStatusColor = (health_status: string) => {\n switch (health_status) {\n case \"offline\":\n return STATUS_COLORS.RED;\n case \"online\":\n return STATUS_COLORS.GREEN;\n default:\n return STATUS_COLORS.YELLOW;\n }\n};\nexport const getNetworkStatusColor = (\n activeNetwork: number,\n networkTotal: number\n) => {\n if (activeNetwork <= networkTotal / 2) {\n return STATUS_COLORS.RED;\n }\n if (activeNetwork === networkTotal / 2 + 1) {\n return STATUS_COLORS.YELLOW;\n }\n if (activeNetwork === networkTotal) {\n return STATUS_COLORS.GREEN;\n }\n};\n","// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { IAMStatement } from \"./types\";\nimport { Box } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport SearchBox from \"../Common/SearchBox\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"../Common/FormComponents/common/styleLibrary\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { DisabledIcon, EnabledIcon } from \"../../../icons\";\nimport { STATUS_COLORS } from \"../Dashboard/BasicDashboard/Utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n maxWidth: 380,\n },\n });\n\nconst rowGridStyle = {\n display: \"grid\",\n gridTemplateColumns: \"60px 1fr\",\n gap: \"15px\",\n};\n\nconst escapeRegExp = (str = \"\") =>\n str.replace(/([.?*+^$[\\]\\\\(){}|-])/g, \"\\\\$1\");\n\nconst Highlight = ({ search = \"\", children = \"\" }): any => {\n const txtParts = new RegExp(`(${escapeRegExp(search)})`, \"i\");\n const parts = String(children).split(txtParts);\n\n if (search) {\n return parts.map((part, index) =>\n txtParts.test(part) ? {part} : part\n );\n } else {\n return children;\n }\n};\n\nconst PolicyView = ({\n policyStatements,\n classes = {},\n}: {\n policyStatements: IAMStatement[];\n classes?: any;\n}) => {\n const [filter, setFilter] = useState(\"\");\n\n return (\n \n \n \n Statements\n \n \n \n \n {policyStatements.map((stmt, i) => {\n const effect = stmt.Effect;\n const isAllow = effect === \"Allow\";\n return (\n \n \n Effect:\n \n {isAllow ? : }\n {effect}\n \n \n\n \n \n Actions:\n \n {stmt.Action &&\n stmt.Action.map((act, actIndex) => (\n
\n {act}\n
\n ))}\n
\n
\n \n Resources:\n \n {stmt.Resource &&\n stmt.Resource.map((res, resIndex) => (\n
\n {\" \"}\n {res}\n
\n ))}\n
\n
\n \n \n );\n })}\n
\n \n );\n};\n\nexport default withStyles(styles)(PolicyView);\n","// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { IAMPolicy, IAMStatement, Policy } from \"./types\";\nimport { useSelector } from \"react-redux\";\nimport { useNavigate, useParams } from \"react-router-dom\";\nimport { Button } from \"mds\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n actionsTray,\n containerForHeader,\n modalBasic,\n searchField,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport Paper from \"@mui/material/Paper\";\nimport Grid from \"@mui/material/Grid\";\nimport { LinearProgress } from \"@mui/material\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport api from \"../../../common/api\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\n\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport TextField from \"@mui/material/TextField\";\nimport ScreenTitle from \"../Common/ScreenTitle/ScreenTitle\";\nimport IAMPoliciesIcon from \"../../../icons/IAMPoliciesIcon\";\nimport RefreshIcon from \"../../../icons/RefreshIcon\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TrashIcon from \"../../../icons/TrashIcon\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport VerticalTabs from \"../Common/VerticalTabs/VerticalTabs\";\nimport BackLink from \"../../../common/BackLink\";\nimport {\n CONSOLE_UI_RESOURCE,\n createPolicyPermissions,\n deletePolicyPermissions,\n getGroupPermissions,\n IAM_PAGES,\n IAM_SCOPES,\n listGroupPermissions,\n listUsersPermissions,\n permissionTooltipHelper,\n viewPolicyPermissions,\n viewUserPermissions,\n} from \"../../../common/SecureComponent/permissions\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../common/SecureComponent\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\n\nimport PolicyView from \"./PolicyView\";\nimport { decodeURLString, encodeURLString } from \"../../../common/utils\";\nimport { setErrorSnackMessage, setSnackBarMessage } from \"../../../systemSlice\";\nimport { selFeatures } from \"../consoleSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport TooltipWrapper from \"../Common/TooltipWrapper/TooltipWrapper\";\n\nconst DeletePolicy = withSuspense(React.lazy(() => import(\"./DeletePolicy\")));\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n paddingTop: 16,\n \"& button\": {\n marginLeft: 8,\n },\n },\n pageContainer: {\n border: \"1px solid #EAEAEA\",\n height: \"100%\",\n },\n paperContainer: {\n padding: \"15px 15px 15px 50px\",\n minHeight: \"450px\",\n },\n statement: {\n border: \"1px solid #DADADA\",\n padding: 8,\n marginBottom: 8,\n borderRadius: 4,\n },\n labelCol: {\n fontWeight: \"bold\",\n },\n ...actionsTray,\n ...searchField,\n ...modalBasic,\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IPolicyDetailsProps {\n classes: any;\n}\n\nconst PolicyDetails = ({ classes }: IPolicyDetailsProps) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n const params = useParams();\n\n const features = useSelector(selFeatures);\n\n const [policy, setPolicy] = useState(null);\n const [policyStatements, setPolicyStatements] = useState([]);\n const [userList, setUserList] = useState([]);\n const [groupList, setGroupList] = useState([]);\n const [addLoading, setAddLoading] = useState(false);\n\n const policyName = decodeURLString(params.policyName || \"\");\n\n const [policyDefinition, setPolicyDefinition] = useState(\"\");\n const [loadingPolicy, setLoadingPolicy] = useState(true);\n const [filterUsers, setFilterUsers] = useState(\"\");\n const [loadingUsers, setLoadingUsers] = useState(true);\n const [filterGroups, setFilterGroups] = useState(\"\");\n const [loadingGroups, setLoadingGroups] = useState(true);\n const [deleteOpen, setDeleteOpen] = useState(false);\n\n const ldapIsEnabled = (features && features.includes(\"ldap-idp\")) || false;\n\n const displayGroups = hasPermission(\n CONSOLE_UI_RESOURCE,\n listGroupPermissions,\n true\n );\n\n const viewGroup = hasPermission(\n CONSOLE_UI_RESOURCE,\n getGroupPermissions,\n true\n );\n\n const displayUsers = hasPermission(\n CONSOLE_UI_RESOURCE,\n listUsersPermissions,\n true\n );\n\n const viewUser = hasPermission(\n CONSOLE_UI_RESOURCE,\n viewUserPermissions,\n true\n );\n\n const displayPolicy = hasPermission(\n CONSOLE_UI_RESOURCE,\n viewPolicyPermissions,\n true\n );\n\n const canDeletePolicy = hasPermission(\n CONSOLE_UI_RESOURCE,\n deletePolicyPermissions,\n true\n );\n\n const canEditPolicy = hasPermission(\n CONSOLE_UI_RESOURCE,\n createPolicyPermissions,\n true\n );\n\n const saveRecord = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n if (canEditPolicy) {\n api\n .invoke(\"POST\", \"/api/v1/policies\", {\n name: policyName,\n policy: policyDefinition,\n })\n .then((_) => {\n setAddLoading(false);\n dispatch(setSnackBarMessage(\"Policy successfully updated\"));\n refreshPolicyDetails();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n dispatch(setErrorSnackMessage(err));\n });\n } else {\n setAddLoading(false);\n }\n };\n\n useEffect(() => {\n const loadUsersForPolicy = () => {\n if (loadingUsers) {\n if (displayUsers && !ldapIsEnabled) {\n api\n .invoke(\n \"GET\",\n `/api/v1/policies/${encodeURLString(policyName)}/users`\n )\n .then((result: any) => {\n setUserList(result);\n setLoadingUsers(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoadingUsers(false);\n });\n } else {\n setLoadingUsers(false);\n }\n }\n };\n\n const loadGroupsForPolicy = () => {\n if (loadingGroups) {\n if (displayGroups && !ldapIsEnabled) {\n api\n .invoke(\n \"GET\",\n `/api/v1/policies/${encodeURLString(policyName)}/groups`\n )\n .then((result: any) => {\n setGroupList(result);\n setLoadingGroups(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoadingGroups(false);\n });\n } else {\n setLoadingGroups(false);\n }\n }\n };\n const loadPolicyDetails = () => {\n if (loadingPolicy) {\n if (displayPolicy) {\n api\n .invoke(\"GET\", `/api/v1/policy/${encodeURLString(policyName)}`)\n .then((result: any) => {\n if (result) {\n setPolicy(result);\n setPolicyDefinition(\n result\n ? JSON.stringify(JSON.parse(result.policy), null, 4)\n : \"\"\n );\n const pol: IAMPolicy = JSON.parse(result.policy);\n setPolicyStatements(pol.Statement);\n }\n setLoadingPolicy(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoadingPolicy(false);\n });\n } else {\n setLoadingPolicy(false);\n }\n }\n };\n\n if (loadingPolicy) {\n loadPolicyDetails();\n loadUsersForPolicy();\n loadGroupsForPolicy();\n }\n }, [\n policyName,\n loadingPolicy,\n loadingUsers,\n loadingGroups,\n setUserList,\n setGroupList,\n setPolicyDefinition,\n setPolicy,\n setLoadingUsers,\n setLoadingGroups,\n displayUsers,\n displayGroups,\n displayPolicy,\n ldapIsEnabled,\n dispatch,\n ]);\n\n const resetForm = () => {\n setPolicyDefinition(\"{}\");\n };\n\n const validSave = policyName.trim() !== \"\";\n\n const deletePolicy = () => {\n setDeleteOpen(true);\n };\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n navigate(IAM_PAGES.POLICIES);\n };\n\n const userViewAction = (user: any) => {\n navigate(`${IAM_PAGES.USERS}/${encodeURLString(user)}`);\n };\n const userTableActions = [\n {\n type: \"view\",\n onClick: userViewAction,\n disableButtonFunction: () => !viewUser,\n },\n ];\n\n const filteredUsers = userList.filter((elementItem) =>\n elementItem.includes(filterUsers)\n );\n\n const groupViewAction = (group: any) => {\n navigate(`${IAM_PAGES.GROUPS}/${encodeURLString(group)}`);\n };\n\n const groupTableActions = [\n {\n type: \"view\",\n onClick: groupViewAction,\n disableButtonFunction: () => !viewGroup,\n },\n ];\n\n const filteredGroups = groupList.filter((elementItem) =>\n elementItem.includes(filterGroups)\n );\n\n const refreshPolicyDetails = () => {\n setLoadingUsers(true);\n setLoadingGroups(true);\n setLoadingPolicy(true);\n };\n\n return (\n \n {deleteOpen && (\n \n )}\n \n \n \n }\n />\n\n \n \n \n \n \n }\n title={policyName}\n subTitle={IAM Policy}\n actions={\n \n \n \n }\n onClick={deletePolicy}\n disabled={!canDeletePolicy}\n />\n \n \n\n \n }\n onClick={() => {\n refreshPolicyDetails();\n }}\n />\n \n \n }\n />\n \n\n \n {{\n tabConfig: { label: \"Summary\", disabled: !displayPolicy },\n content: (\n \n
Policy Summary
\n \n \n \n
\n ),\n }}\n {{\n tabConfig: {\n label: \"Users\",\n disabled: !displayUsers || ldapIsEnabled,\n },\n content: (\n \n
Users
\n \n {userList.length > 0 && (\n \n {\n setFilterUsers(val.target.value);\n }}\n InputProps={{\n disableUnderline: true,\n startAdornment: (\n \n \n \n ),\n }}\n variant=\"standard\"\n />\n \n )}\n \n \n
\n ),\n }}\n {{\n tabConfig: {\n label: \"Groups\",\n disabled: !displayGroups || ldapIsEnabled,\n },\n content: (\n \n
Groups
\n \n {groupList.length > 0 && (\n \n {\n setFilterGroups(val.target.value);\n }}\n InputProps={{\n disableUnderline: true,\n startAdornment: (\n \n \n \n ),\n }}\n variant=\"standard\"\n />\n \n )}\n \n \n
\n ),\n }}\n {{\n tabConfig: { label: \"Raw Policy\", disabled: !displayPolicy },\n content: (\n \n
Raw Policy
\n ) => {\n saveRecord(e);\n }}\n >\n \n \n {\n setPolicyDefinition(value);\n }}\n editorHeight={\"350px\"}\n />\n \n \n {!policy && (\n {\n resetForm();\n }}\n >\n Clear\n \n )}\n \n \n \n \n \n \n {addLoading && (\n \n \n \n )}\n \n \n
\n ),\n }}\n
\n
\n \n );\n};\n\nexport default withStyles(styles)(PolicyDetails);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 10 5 5 5-5z\"\n}), 'ArrowDropDown');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 14 5-5 5 5z\"\n}), 'ArrowDropUp');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z\"\n}), 'ViewColumn');\n\nexports.default = _default;","import * as React from 'react';\nimport PropTypes from 'prop-types';\n/**\n * @type {React.Context<{ idPrefix: string; value: string } | null>}\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Context = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n Context.displayName = 'TabContext';\n}\n\nfunction useUniquePrefix() {\n const [id, setId] = React.useState(null);\n React.useEffect(() => {\n setId(`mui-p-${Math.round(Math.random() * 1e5)}`);\n }, []);\n return id;\n}\n\nexport default function TabContext(props) {\n const {\n children,\n value\n } = props;\n const idPrefix = useUniquePrefix();\n const context = React.useMemo(() => {\n return {\n idPrefix,\n value\n };\n }, [idPrefix, value]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: context,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? TabContext.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * The value of the currently selected `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\n/**\n * @returns {unknown}\n */\n\nexport function useTabContext() {\n return React.useContext(Context);\n}\nexport function getPanelId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-P-${value}`;\n}\nexport function getTabId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-T-${value}`;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@mui/material/Tabs';\nimport { useTabContext, getTabId, getPanelId } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabList = /*#__PURE__*/React.forwardRef(function TabList(props, ref) {\n const {\n children: childrenProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n\n return /*#__PURE__*/React.cloneElement(child, {\n // SOMEDAY: `Tabs` will set those themselves\n 'aria-controls': getPanelId(context, child.props.value),\n id: getTabId(context, child.props.value)\n });\n });\n return /*#__PURE__*/_jsx(Tabs, _extends({}, other, {\n ref: ref,\n value: context.value,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabList.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A list of `` elements.\n */\n children: PropTypes.node\n} : void 0;\nexport default TabList;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTabPanelUtilityClass(slot) {\n return generateUtilityClass('MuiTabPanel', slot);\n}\nconst tabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root']);\nexport default tabPanelClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { getTabPanelUtilityClass } from './tabPanelClasses';\nimport { getPanelId, getTabId, useTabContext } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTabPanelUtilityClass, classes);\n};\n\nconst TabPanelRoot = styled('div', {\n name: 'MuiTabPanel',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(3)\n}));\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabPanel'\n });\n\n const {\n children,\n className,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props);\n\n const classes = useUtilityClasses(ownerState);\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const id = getPanelId(context, value);\n const tabId = getTabId(context, value);\n return /*#__PURE__*/_jsx(TabPanelRoot, _extends({\n \"aria-labelledby\": tabId,\n className: clsx(classes.root, className),\n hidden: value !== context.value,\n id: id,\n ref: ref,\n role: \"tabpanel\",\n ownerState: ownerState\n }, other, {\n children: value === context.value && children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when\n * no `value` was passed to `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\nexport default TabPanel;","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"\n}), 'CheckBoxOutlineBlank');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckBox');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z\"\n}), 'IndeterminateCheckBox');","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getCheckboxUtilityClass(slot) {\n return generateUtilityClass('MuiCheckbox', slot);\n}\nconst checkboxClasses = generateUtilityClasses('MuiCheckbox', ['root', 'checked', 'disabled', 'indeterminate', 'colorPrimary', 'colorSecondary']);\nexport default checkboxClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"checkedIcon\", \"color\", \"icon\", \"indeterminate\", \"indeterminateIcon\", \"inputProps\", \"size\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport SwitchBase from '../internal/SwitchBase';\nimport CheckBoxOutlineBlankIcon from '../internal/svg-icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '../internal/svg-icons/CheckBox';\nimport IndeterminateCheckBoxIcon from '../internal/svg-icons/IndeterminateCheckBox';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport checkboxClasses, { getCheckboxUtilityClass } from './checkboxClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n indeterminate,\n color\n } = ownerState;\n const slots = {\n root: ['root', indeterminate && 'indeterminate', `color${capitalize(color)}`]\n };\n const composedClasses = composeClasses(slots, getCheckboxUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst CheckboxRoot = styled(SwitchBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiCheckbox',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.indeterminate && styles.indeterminate, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, !ownerState.disableRipple && {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${ownerState.color === 'default' ? theme.vars.palette.action.activeChannel : theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(ownerState.color === 'default' ? theme.palette.action.active : theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${checkboxClasses.checked}, &.${checkboxClasses.indeterminate}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${checkboxClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n }\n}));\n\nconst defaultCheckedIcon = /*#__PURE__*/_jsx(CheckBoxIcon, {});\n\nconst defaultIcon = /*#__PURE__*/_jsx(CheckBoxOutlineBlankIcon, {});\n\nconst defaultIndeterminateIcon = /*#__PURE__*/_jsx(IndeterminateCheckBoxIcon, {});\n\nconst Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(inProps, ref) {\n var _icon$props$fontSize, _indeterminateIcon$pr;\n\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCheckbox'\n });\n\n const {\n checkedIcon = defaultCheckedIcon,\n color = 'primary',\n icon: iconProp = defaultIcon,\n indeterminate = false,\n indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon,\n inputProps,\n size = 'medium'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const icon = indeterminate ? indeterminateIconProp : iconProp;\n const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;\n\n const ownerState = _extends({}, props, {\n color,\n indeterminate,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CheckboxRoot, _extends({\n type: \"checkbox\",\n inputProps: _extends({\n 'data-indeterminate': indeterminate\n }, inputProps),\n icon: /*#__PURE__*/React.cloneElement(icon, {\n fontSize: (_icon$props$fontSize = icon.props.fontSize) != null ? _icon$props$fontSize : size\n }),\n checkedIcon: /*#__PURE__*/React.cloneElement(indeterminateIcon, {\n fontSize: (_indeterminateIcon$pr = indeterminateIcon.props.fontSize) != null ? _indeterminateIcon$pr : size\n }),\n ownerState: ownerState,\n ref: ref\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Checkbox.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n * @default \n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * The icon to display when the component is unchecked.\n * @default \n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the component appears indeterminate.\n * This does not set the native input element to indeterminate due\n * to inconsistent behavior across browsers.\n * However, we set a `data-indeterminate` attribute on the `input`.\n * @default false\n */\n indeterminate: PropTypes.bool,\n\n /**\n * The icon to display when the component is indeterminate.\n * @default \n */\n indeterminateIcon: PropTypes.node,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense checkbox styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Checkbox;","import * as React from 'react';\nimport { getThemeProps, useThemeWithoutDefault as useTheme } from '@mui/system';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\n/**\n * @deprecated Not used internally. Use `MediaQueryListEvent` from lib.dom.d.ts instead.\n */\n\nfunction useMediaQueryOld(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr) {\n const supportMatchMedia = typeof window !== 'undefined' && typeof window.matchMedia !== 'undefined';\n const [match, setMatch] = React.useState(() => {\n if (noSsr && supportMatchMedia) {\n return matchMedia(query).matches;\n }\n\n if (ssrMatchMedia) {\n return ssrMatchMedia(query).matches;\n } // Once the component is mounted, we rely on the\n // event listeners to return the correct matches value.\n\n\n return defaultMatches;\n });\n useEnhancedEffect(() => {\n let active = true;\n\n if (!supportMatchMedia) {\n return undefined;\n }\n\n const queryList = matchMedia(query);\n\n const updateMatch = () => {\n // Workaround Safari wrong implementation of matchMedia\n // TODO can we remove it?\n // https://github.com/mui/material-ui/pull/17315#issuecomment-528286677\n if (active) {\n setMatch(queryList.matches);\n }\n };\n\n updateMatch(); // TODO: Use `addEventListener` once support for Safari < 14 is dropped\n\n queryList.addListener(updateMatch);\n return () => {\n active = false;\n queryList.removeListener(updateMatch);\n };\n }, [query, matchMedia, supportMatchMedia]);\n return match;\n} // eslint-disable-next-line no-useless-concat -- Workaround for https://github.com/webpack/webpack/issues/14814\n\n\nconst maybeReactUseSyncExternalStore = React['useSyncExternalStore' + ''];\n\nfunction useMediaQueryNew(query, defaultMatches, matchMedia, ssrMatchMedia) {\n const getDefaultSnapshot = React.useCallback(() => defaultMatches, [defaultMatches]);\n const getServerSnapshot = React.useMemo(() => {\n if (ssrMatchMedia !== null) {\n const {\n matches\n } = ssrMatchMedia(query);\n return () => matches;\n }\n\n return getDefaultSnapshot;\n }, [getDefaultSnapshot, query, ssrMatchMedia]);\n const [getSnapshot, subscribe] = React.useMemo(() => {\n if (matchMedia === null) {\n return [getDefaultSnapshot, () => () => {}];\n }\n\n const mediaQueryList = matchMedia(query);\n return [() => mediaQueryList.matches, notify => {\n // TODO: Use `addEventListener` once support for Safari < 14 is dropped\n mediaQueryList.addListener(notify);\n return () => {\n mediaQueryList.removeListener(notify);\n };\n }];\n }, [getDefaultSnapshot, matchMedia, query]);\n const match = maybeReactUseSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n return match;\n}\n\nexport default function useMediaQuery(queryInput, options = {}) {\n const theme = useTheme(); // Wait for jsdom to support the match media feature.\n // All the browsers MUI support have this built-in.\n // This defensive check is here for simplicity.\n // Most of the time, the match media logic isn't central to people tests.\n\n const supportMatchMedia = typeof window !== 'undefined' && typeof window.matchMedia !== 'undefined';\n const {\n defaultMatches = false,\n matchMedia = supportMatchMedia ? window.matchMedia : null,\n ssrMatchMedia = null,\n noSsr\n } = getThemeProps({\n name: 'MuiUseMediaQuery',\n props: options,\n theme\n });\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof queryInput === 'function' && theme === null) {\n console.error(['MUI: The `query` argument provided is invalid.', 'You are providing a function without a theme in the context.', 'One of the parent elements needs to use a ThemeProvider.'].join('\\n'));\n }\n }\n\n let query = typeof queryInput === 'function' ? queryInput(theme) : queryInput;\n query = query.replace(/^@media( ?)/m, ''); // TODO: Drop `useMediaQueryOld` and use `use-sync-external-store` shim in `useMediaQueryNew` once the package is stable\n\n const useMediaQueryImplementation = maybeReactUseSyncExternalStore !== undefined ? useMediaQueryNew : useMediaQueryOld;\n const match = useMediaQueryImplementation(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr);\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue({\n query,\n match\n });\n }\n\n return match;\n}","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n"],"names":["withStyles","theme","createStyles","fieldBasic","value","label","tooltip","mode","classes","onBeforeChange","readOnly","editorHeight","item","xs","sx","marginBottom","className","inputLabel","tooltipContainer","title","placement","style","maxHeight","overflow","border","language","onChange","evn","target","id","padding","fontSize","backgroundColor","fontFamily","minHeight","color","background","borderTop","display","alignItems","paddingRight","justifyContent","height","width","marginLeft","text","type","icon","variant","searchField","adornment","placeholder","adornmentPosition","overrideClass","inputProps","disableUnderline","position","InputProps","e","children","errorProps","cloneElement","tabStripStyle","tabsContainer","tabsHeaderContainer","borderRight","flexFlow","borderBottom","marginRight","fontWeight","tabContentContainer","tabPanel","flexDirection","selectedTab","routes","isRouteTabs","useTheme","useLocation","pathname","isSmallScreen","useMediaQuery","breakpoints","down","useState","setValue","headerList","contentList","useEffect","tabConfigElement","find","tabConfig","to","forEach","child","push","content","event","newValue","orientation","scrollButtons","tabList","map","index","tabHeader","disableRipple","disableTouchRipple","focusRipple","STATUS_COLORS","RED","GREEN","YELLOW","getDriveStatusColor","activeDisks","totalDrives","serverStatusColor","health_status","getNetworkStatusColor","activeNetwork","networkTotal","rowGridStyle","gridTemplateColumns","gap","Highlight","search","txtParts","RegExp","replace","escapeRegExp","parts","String","split","part","test","maxWidth","policyStatements","filter","setFilter","Grid","container","Box","sm","SearchBox","paddingTop","stmt","i","effect","Effect","isAllow","fill","Action","act","actIndex","Resource","res","resIndex","DeletePolicy","withSuspense","React","buttonContainer","pageContainer","paperContainer","statement","borderRadius","labelCol","actionsTray","modalBasic","containerForHeader","spacing","dispatch","useAppDispatch","navigate","useNavigate","params","useParams","features","useSelector","selFeatures","policy","setPolicy","setPolicyStatements","userList","setUserList","groupList","setGroupList","addLoading","setAddLoading","policyName","decodeURLString","policyDefinition","setPolicyDefinition","loadingPolicy","setLoadingPolicy","filterUsers","setFilterUsers","loadingUsers","setLoadingUsers","filterGroups","setFilterGroups","loadingGroups","setLoadingGroups","deleteOpen","setDeleteOpen","ldapIsEnabled","includes","displayGroups","hasPermission","CONSOLE_UI_RESOURCE","listGroupPermissions","viewGroup","getGroupPermissions","displayUsers","listUsersPermissions","viewUser","viewUserPermissions","displayPolicy","viewPolicyPermissions","canDeletePolicy","deletePolicyPermissions","canEditPolicy","createPolicyPermissions","api","encodeURLString","then","result","JSON","stringify","parse","pol","Statement","catch","err","setErrorSnackMessage","validSave","trim","userTableActions","onClick","user","IAM_PAGES","disableButtonFunction","filteredUsers","elementItem","groupTableActions","group","filteredGroups","refreshPolicyDetails","Fragment","selectedPolicy","closeDeleteModalAndRefresh","refresh","PageHeader","BackLink","PageLayout","ScreenTitle","IAMPoliciesIcon","subTitle","actions","SecureComponent","scopes","IAM_SCOPES","resource","disabled","TooltipWrapper","permissionTooltipHelper","TrashIcon","RefreshIcon","VerticalTabs","sectionTitle","Paper","length","TextField","val","startAdornment","InputAdornment","SearchIcon","TableWrapper","itemActions","columns","elementKey","isLoading","records","entityName","idField","noValidate","autoComplete","onSubmit","preventDefault","name","_","setSnackBarMessage","CodeMirrorWrapper","editor","data","clearButton","LinearProgress","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","Context","TabContext","props","idPrefix","setId","Math","round","random","useUniquePrefix","context","_jsx","Provider","useTabContext","getPanelId","getTabId","_excluded","TabList","ref","childrenProp","other","_objectWithoutPropertiesLoose","TypeError","Tabs","_extends","getTabPanelUtilityClass","slot","generateUtilityClass","generateUtilityClasses","TabPanelRoot","styled","overridesResolver","styles","root","inProps","useThemeProps","ownerState","composeClasses","useUtilityClasses","tabId","clsx","hidden","role","createSvgIcon","getCheckboxUtilityClass","CheckboxRoot","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","indeterminate","capitalize","vars","palette","secondary","action","activeChannel","primary","mainChannel","hoverOpacity","alpha","active","main","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","_icon$props$fontSize","_indeterminateIcon$pr","checkedIcon","iconProp","indeterminateIcon","indeterminateIconProp","size","slots","composedClasses","useMediaQueryOld","query","defaultMatches","matchMedia","ssrMatchMedia","noSsr","supportMatchMedia","window","matches","match","setMatch","useEnhancedEffect","queryList","updateMatch","addListener","removeListener","maybeReactUseSyncExternalStore","useMediaQueryNew","getDefaultSnapshot","getServerSnapshot","mediaQueryList","notify","getSnapshot","subscribe","queryInput","options","getThemeProps","useMediaQueryImplementation","undefined","baseGetTag","isArray","isObjectLike","module"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/1367.00454bc0.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Common/TooltipWrapper/TooltipWrapper.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.tsx","screens/Console/Dashboard/BasicDashboard/Utils.tsx","screens/Console/Policies/PolicyView.tsx","screens/Console/Policies/PolicyDetails.tsx","../node_modules/@mui/icons-material/ArrowDropDown.js","../node_modules/@mui/icons-material/ArrowDropUp.js","../node_modules/@mui/icons-material/ViewColumn.js","../node_modules/@mui/lab/TabContext/TabContext.js","../node_modules/@mui/lab/TabList/TabList.js","../node_modules/@mui/lab/TabPanel/tabPanelClasses.js","../node_modules/@mui/lab/TabPanel/TabPanel.js","../node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@mui/material/Checkbox/checkboxClasses.js","../node_modules/@mui/material/Checkbox/Checkbox.js","../node_modules/@mui/material/useMediaQuery/useMediaQuery.js","../node_modules/lodash/isString.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport { fieldBasic } from \"../common/styleLibrary\";\nimport { CopyIcon } from \"../../../../../icons\";\nimport { Button } from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport CodeEditor from \"@uiw/react-textarea-code-editor\";\nimport TooltipWrapper from \"../../TooltipWrapper/TooltipWrapper\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n classes: any;\n onChange?: (editor: any, data: any, value: string) => any;\n onBeforeChange: (editor: any, data: any, value: string) => any;\n readOnly?: boolean;\n editorHeight?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n });\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n classes,\n onBeforeChange,\n readOnly = false,\n editorHeight = \"250px\",\n}: ICodeWrapper) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n\n \n {\n onBeforeChange(null, null, evn.target.value);\n }}\n id={\"code_wrapper\"}\n padding={15}\n style={{\n fontSize: 12,\n backgroundColor: \"#fefefe\",\n fontFamily:\n \"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace\",\n minHeight: editorHeight || \"initial\",\n color: \"#000000\",\n }}\n />\n \n \n \n \n \n }\n color={\"primary\"}\n variant={\"regular\"}\n />\n \n \n \n \n
\n );\n};\n\nexport default withStyles(styles)(CodeMirrorWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { cloneElement } from \"react\";\nimport { Tooltip } from \"@mui/material\";\n\ninterface ITooltipWrapperProps {\n tooltip: string;\n children: any;\n errorProps?: any;\n}\n\nconst TooltipWrapper = ({\n tooltip,\n children,\n errorProps = null,\n}: ITooltipWrapperProps) => {\n return (\n \n \n {errorProps ? cloneElement(children, { ...errorProps }) : children}\n \n \n );\n};\n\nexport default TooltipWrapper;\n","import React, { useState, useEffect } from \"react\";\nimport { Box, Tab, TabProps } from \"@mui/material\";\nimport { TabContext, TabList, TabPanel } from \"@mui/lab\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme, useTheme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\nimport { useLocation } from \"react-router-dom\";\n\nexport type TabItemProps = {\n tabConfig: TabProps | any;\n content?: JSX.Element | JSX.Element[];\n};\n\ntype VerticalTabsProps = {\n classes: any;\n children: TabItemProps[];\n selectedTab?: string;\n routes?: any;\n isRouteTabs?: boolean;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n tabsContainer: {\n display: \"flex\",\n height: \"100%\",\n width: \"100%\",\n },\n tabsHeaderContainer: {\n width: \"300px\",\n background: \"#F8F8F8\",\n borderRight: \"1px solid #EAEAEA\",\n \"& .MuiTabs-root\": {\n \"& .MuiTabs-indicator\": {\n display: \"none\",\n },\n \"& .MuiTab-root\": {\n display: \"flex\",\n flexFlow: \"row\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n borderBottom: \"1px solid #EAEAEA\",\n \"& .MuiSvgIcon-root\": {\n marginRight: 8,\n marginBottom: 0,\n },\n \"&.Mui-selected\": {\n background: \"#E5E5E5\",\n fontWeight: 600,\n },\n },\n\n \"&. MuiTabs-scroller\": {\n display: \"none\",\n },\n },\n },\n tabContentContainer: {\n width: \"100%\",\n \"& .MuiTabPanel-root\": {\n height: \"100%\",\n },\n },\n tabPanel: {\n height: \"100%\",\n },\n /*Below md breakpoint make it horizontal and style it for scrolling tabs*/\n \"@media (max-width: 900px)\": {\n tabsContainer: {\n flexFlow: \"column\",\n flexDirection: \"column\",\n },\n tabsHeaderContainer: {\n width: \"100%\",\n borderBottom: \" 1px solid #EAEAEA\",\n \"& .MuiTabs-root .MuiTabs-scroller .MuiButtonBase-root\": {\n borderBottom: \" 0px\",\n },\n },\n },\n });\n\nconst tabStripStyle = {\n minHeight: 60,\n};\n\nconst VerticalTabs = ({\n children,\n classes,\n selectedTab = \"0\",\n routes,\n isRouteTabs,\n}: VerticalTabsProps) => {\n const theme = useTheme();\n const { pathname = \"\" } = useLocation();\n\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const [value, setValue] = useState(selectedTab);\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n useEffect(() => {\n if (isRouteTabs) {\n const tabConfigElement = children.find(\n (item) => item.tabConfig.to === pathname\n );\n\n if (tabConfigElement) {\n setValue(tabConfigElement.tabConfig.value);\n }\n }\n }, [isRouteTabs, children, pathname]);\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\n });\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n return (\n \n \n \n \n {headerList.map((item, index) => {\n if (item) {\n return (\n \n );\n }\n return null;\n })}\n \n \n\n \n {!isRouteTabs\n ? contentList.map((item, index) => {\n return (\n \n {item ? item : null}\n \n );\n })\n : null}\n {isRouteTabs ? (\n
{routes}
\n ) : null}\n
\n
\n
\n );\n};\n\nexport default withStyles(styles)(VerticalTabs);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const STATUS_COLORS = {\n RED: \"#C83B51\",\n GREEN: \"#4CCB92\",\n YELLOW: \"#E7A219\",\n};\n\nexport const getDriveStatusColor = (\n activeDisks: number,\n totalDrives: number\n) => {\n if (activeDisks <= totalDrives / 2) {\n return STATUS_COLORS.RED;\n }\n if (totalDrives !== 2 && activeDisks === totalDrives / 2 + 1) {\n return STATUS_COLORS.YELLOW;\n }\n if (activeDisks === totalDrives) {\n return STATUS_COLORS.GREEN;\n }\n};\n\nexport const serverStatusColor = (health_status: string) => {\n switch (health_status) {\n case \"offline\":\n return STATUS_COLORS.RED;\n case \"online\":\n return STATUS_COLORS.GREEN;\n default:\n return STATUS_COLORS.YELLOW;\n }\n};\nexport const getNetworkStatusColor = (\n activeNetwork: number,\n networkTotal: number\n) => {\n if (activeNetwork <= networkTotal / 2) {\n return STATUS_COLORS.RED;\n }\n if (activeNetwork === networkTotal / 2 + 1) {\n return STATUS_COLORS.YELLOW;\n }\n if (activeNetwork === networkTotal) {\n return STATUS_COLORS.GREEN;\n }\n};\n","// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { IAMStatement } from \"./types\";\nimport { Box } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport SearchBox from \"../Common/SearchBox\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"../Common/FormComponents/common/styleLibrary\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { DisabledIcon, EnabledIcon } from \"../../../icons\";\nimport { STATUS_COLORS } from \"../Dashboard/BasicDashboard/Utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n maxWidth: 380,\n },\n });\n\nconst rowGridStyle = {\n display: \"grid\",\n gridTemplateColumns: \"60px 1fr\",\n gap: \"15px\",\n};\n\nconst escapeRegExp = (str = \"\") =>\n str.replace(/([.?*+^$[\\]\\\\(){}|-])/g, \"\\\\$1\");\n\nconst Highlight = ({ search = \"\", children = \"\" }): any => {\n const txtParts = new RegExp(`(${escapeRegExp(search)})`, \"i\");\n const parts = String(children).split(txtParts);\n\n if (search) {\n return parts.map((part, index) =>\n txtParts.test(part) ? {part} : part\n );\n } else {\n return children;\n }\n};\n\nconst PolicyView = ({\n policyStatements,\n classes = {},\n}: {\n policyStatements: IAMStatement[];\n classes?: any;\n}) => {\n const [filter, setFilter] = useState(\"\");\n\n return (\n \n \n \n Statements\n \n \n \n \n {policyStatements.map((stmt, i) => {\n const effect = stmt.Effect;\n const isAllow = effect === \"Allow\";\n return (\n \n \n Effect:\n \n {isAllow ? : }\n {effect}\n \n \n\n \n \n Actions:\n \n {stmt.Action &&\n stmt.Action.map((act, actIndex) => (\n
\n {act}\n
\n ))}\n
\n
\n \n Resources:\n \n {stmt.Resource &&\n stmt.Resource.map((res, resIndex) => (\n
\n {\" \"}\n {res}\n
\n ))}\n
\n
\n \n \n );\n })}\n
\n \n );\n};\n\nexport default withStyles(styles)(PolicyView);\n","// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { IAMPolicy, IAMStatement, Policy } from \"./types\";\nimport { useSelector } from \"react-redux\";\nimport { useNavigate, useParams } from \"react-router-dom\";\nimport { Button } from \"mds\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n actionsTray,\n containerForHeader,\n modalBasic,\n searchField,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport Paper from \"@mui/material/Paper\";\nimport Grid from \"@mui/material/Grid\";\nimport { LinearProgress } from \"@mui/material\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport api from \"../../../common/api\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\n\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport TextField from \"@mui/material/TextField\";\nimport ScreenTitle from \"../Common/ScreenTitle/ScreenTitle\";\nimport IAMPoliciesIcon from \"../../../icons/IAMPoliciesIcon\";\nimport RefreshIcon from \"../../../icons/RefreshIcon\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TrashIcon from \"../../../icons/TrashIcon\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport VerticalTabs from \"../Common/VerticalTabs/VerticalTabs\";\nimport BackLink from \"../../../common/BackLink\";\nimport {\n CONSOLE_UI_RESOURCE,\n createPolicyPermissions,\n deletePolicyPermissions,\n getGroupPermissions,\n IAM_PAGES,\n IAM_SCOPES,\n listGroupPermissions,\n listUsersPermissions,\n permissionTooltipHelper,\n viewPolicyPermissions,\n viewUserPermissions,\n} from \"../../../common/SecureComponent/permissions\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../common/SecureComponent\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\n\nimport PolicyView from \"./PolicyView\";\nimport { decodeURLString, encodeURLString } from \"../../../common/utils\";\nimport { setErrorSnackMessage, setSnackBarMessage } from \"../../../systemSlice\";\nimport { selFeatures } from \"../consoleSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport TooltipWrapper from \"../Common/TooltipWrapper/TooltipWrapper\";\n\nconst DeletePolicy = withSuspense(React.lazy(() => import(\"./DeletePolicy\")));\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n paddingTop: 16,\n \"& button\": {\n marginLeft: 8,\n },\n },\n pageContainer: {\n border: \"1px solid #EAEAEA\",\n height: \"100%\",\n },\n paperContainer: {\n padding: \"15px 15px 15px 50px\",\n minHeight: \"450px\",\n },\n statement: {\n border: \"1px solid #DADADA\",\n padding: 8,\n marginBottom: 8,\n borderRadius: 4,\n },\n labelCol: {\n fontWeight: \"bold\",\n },\n ...actionsTray,\n ...searchField,\n ...modalBasic,\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IPolicyDetailsProps {\n classes: any;\n}\n\nconst PolicyDetails = ({ classes }: IPolicyDetailsProps) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n const params = useParams();\n\n const features = useSelector(selFeatures);\n\n const [policy, setPolicy] = useState(null);\n const [policyStatements, setPolicyStatements] = useState([]);\n const [userList, setUserList] = useState([]);\n const [groupList, setGroupList] = useState([]);\n const [addLoading, setAddLoading] = useState(false);\n\n const policyName = decodeURLString(params.policyName || \"\");\n\n const [policyDefinition, setPolicyDefinition] = useState(\"\");\n const [loadingPolicy, setLoadingPolicy] = useState(true);\n const [filterUsers, setFilterUsers] = useState(\"\");\n const [loadingUsers, setLoadingUsers] = useState(true);\n const [filterGroups, setFilterGroups] = useState(\"\");\n const [loadingGroups, setLoadingGroups] = useState(true);\n const [deleteOpen, setDeleteOpen] = useState(false);\n\n const ldapIsEnabled = (features && features.includes(\"ldap-idp\")) || false;\n\n const displayGroups = hasPermission(\n CONSOLE_UI_RESOURCE,\n listGroupPermissions,\n true\n );\n\n const viewGroup = hasPermission(\n CONSOLE_UI_RESOURCE,\n getGroupPermissions,\n true\n );\n\n const displayUsers = hasPermission(\n CONSOLE_UI_RESOURCE,\n listUsersPermissions,\n true\n );\n\n const viewUser = hasPermission(\n CONSOLE_UI_RESOURCE,\n viewUserPermissions,\n true\n );\n\n const displayPolicy = hasPermission(\n CONSOLE_UI_RESOURCE,\n viewPolicyPermissions,\n true\n );\n\n const canDeletePolicy = hasPermission(\n CONSOLE_UI_RESOURCE,\n deletePolicyPermissions,\n true\n );\n\n const canEditPolicy = hasPermission(\n CONSOLE_UI_RESOURCE,\n createPolicyPermissions,\n true\n );\n\n const saveRecord = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n if (canEditPolicy) {\n api\n .invoke(\"POST\", \"/api/v1/policies\", {\n name: policyName,\n policy: policyDefinition,\n })\n .then((_) => {\n setAddLoading(false);\n dispatch(setSnackBarMessage(\"Policy successfully updated\"));\n refreshPolicyDetails();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n dispatch(setErrorSnackMessage(err));\n });\n } else {\n setAddLoading(false);\n }\n };\n\n useEffect(() => {\n const loadUsersForPolicy = () => {\n if (loadingUsers) {\n if (displayUsers && !ldapIsEnabled) {\n api\n .invoke(\n \"GET\",\n `/api/v1/policies/${encodeURLString(policyName)}/users`\n )\n .then((result: any) => {\n setUserList(result);\n setLoadingUsers(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoadingUsers(false);\n });\n } else {\n setLoadingUsers(false);\n }\n }\n };\n\n const loadGroupsForPolicy = () => {\n if (loadingGroups) {\n if (displayGroups && !ldapIsEnabled) {\n api\n .invoke(\n \"GET\",\n `/api/v1/policies/${encodeURLString(policyName)}/groups`\n )\n .then((result: any) => {\n setGroupList(result);\n setLoadingGroups(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoadingGroups(false);\n });\n } else {\n setLoadingGroups(false);\n }\n }\n };\n const loadPolicyDetails = () => {\n if (loadingPolicy) {\n if (displayPolicy) {\n api\n .invoke(\"GET\", `/api/v1/policy/${encodeURLString(policyName)}`)\n .then((result: any) => {\n if (result) {\n setPolicy(result);\n setPolicyDefinition(\n result\n ? JSON.stringify(JSON.parse(result.policy), null, 4)\n : \"\"\n );\n const pol: IAMPolicy = JSON.parse(result.policy);\n setPolicyStatements(pol.Statement);\n }\n setLoadingPolicy(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoadingPolicy(false);\n });\n } else {\n setLoadingPolicy(false);\n }\n }\n };\n\n if (loadingPolicy) {\n loadPolicyDetails();\n loadUsersForPolicy();\n loadGroupsForPolicy();\n }\n }, [\n policyName,\n loadingPolicy,\n loadingUsers,\n loadingGroups,\n setUserList,\n setGroupList,\n setPolicyDefinition,\n setPolicy,\n setLoadingUsers,\n setLoadingGroups,\n displayUsers,\n displayGroups,\n displayPolicy,\n ldapIsEnabled,\n dispatch,\n ]);\n\n const resetForm = () => {\n setPolicyDefinition(\"{}\");\n };\n\n const validSave = policyName.trim() !== \"\";\n\n const deletePolicy = () => {\n setDeleteOpen(true);\n };\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n navigate(IAM_PAGES.POLICIES);\n };\n\n const userViewAction = (user: any) => {\n navigate(`${IAM_PAGES.USERS}/${encodeURLString(user)}`);\n };\n const userTableActions = [\n {\n type: \"view\",\n onClick: userViewAction,\n disableButtonFunction: () => !viewUser,\n },\n ];\n\n const filteredUsers = userList.filter((elementItem) =>\n elementItem.includes(filterUsers)\n );\n\n const groupViewAction = (group: any) => {\n navigate(`${IAM_PAGES.GROUPS}/${encodeURLString(group)}`);\n };\n\n const groupTableActions = [\n {\n type: \"view\",\n onClick: groupViewAction,\n disableButtonFunction: () => !viewGroup,\n },\n ];\n\n const filteredGroups = groupList.filter((elementItem) =>\n elementItem.includes(filterGroups)\n );\n\n const refreshPolicyDetails = () => {\n setLoadingUsers(true);\n setLoadingGroups(true);\n setLoadingPolicy(true);\n };\n\n return (\n \n {deleteOpen && (\n \n )}\n \n \n \n }\n />\n\n \n \n \n \n \n }\n title={policyName}\n subTitle={IAM Policy}\n actions={\n \n \n \n }\n onClick={deletePolicy}\n disabled={!canDeletePolicy}\n />\n \n \n\n \n }\n onClick={() => {\n refreshPolicyDetails();\n }}\n />\n \n \n }\n />\n \n\n \n {{\n tabConfig: { label: \"Summary\", disabled: !displayPolicy },\n content: (\n \n
Policy Summary
\n \n \n \n
\n ),\n }}\n {{\n tabConfig: {\n label: \"Users\",\n disabled: !displayUsers || ldapIsEnabled,\n },\n content: (\n \n
Users
\n \n {userList.length > 0 && (\n \n {\n setFilterUsers(val.target.value);\n }}\n InputProps={{\n disableUnderline: true,\n startAdornment: (\n \n \n \n ),\n }}\n variant=\"standard\"\n />\n \n )}\n \n \n
\n ),\n }}\n {{\n tabConfig: {\n label: \"Groups\",\n disabled: !displayGroups || ldapIsEnabled,\n },\n content: (\n \n
Groups
\n \n {groupList.length > 0 && (\n \n {\n setFilterGroups(val.target.value);\n }}\n InputProps={{\n disableUnderline: true,\n startAdornment: (\n \n \n \n ),\n }}\n variant=\"standard\"\n />\n \n )}\n \n \n
\n ),\n }}\n {{\n tabConfig: { label: \"Raw Policy\", disabled: !displayPolicy },\n content: (\n \n
Raw Policy
\n ) => {\n saveRecord(e);\n }}\n >\n \n \n {\n setPolicyDefinition(value);\n }}\n editorHeight={\"350px\"}\n />\n \n \n {!policy && (\n {\n resetForm();\n }}\n >\n Clear\n \n )}\n \n \n \n \n \n \n {addLoading && (\n \n \n \n )}\n \n \n
\n ),\n }}\n
\n
\n \n );\n};\n\nexport default withStyles(styles)(PolicyDetails);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 10 5 5 5-5z\"\n}), 'ArrowDropDown');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 14 5-5 5 5z\"\n}), 'ArrowDropUp');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z\"\n}), 'ViewColumn');\n\nexports.default = _default;","import * as React from 'react';\nimport PropTypes from 'prop-types';\n/**\n * @type {React.Context<{ idPrefix: string; value: string } | null>}\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Context = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n Context.displayName = 'TabContext';\n}\n\nfunction useUniquePrefix() {\n const [id, setId] = React.useState(null);\n React.useEffect(() => {\n setId(`mui-p-${Math.round(Math.random() * 1e5)}`);\n }, []);\n return id;\n}\n\nexport default function TabContext(props) {\n const {\n children,\n value\n } = props;\n const idPrefix = useUniquePrefix();\n const context = React.useMemo(() => {\n return {\n idPrefix,\n value\n };\n }, [idPrefix, value]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: context,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? TabContext.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * The value of the currently selected `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\n/**\n * @returns {unknown}\n */\n\nexport function useTabContext() {\n return React.useContext(Context);\n}\nexport function getPanelId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-P-${value}`;\n}\nexport function getTabId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-T-${value}`;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@mui/material/Tabs';\nimport { useTabContext, getTabId, getPanelId } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabList = /*#__PURE__*/React.forwardRef(function TabList(props, ref) {\n const {\n children: childrenProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n\n return /*#__PURE__*/React.cloneElement(child, {\n // SOMEDAY: `Tabs` will set those themselves\n 'aria-controls': getPanelId(context, child.props.value),\n id: getTabId(context, child.props.value)\n });\n });\n return /*#__PURE__*/_jsx(Tabs, _extends({}, other, {\n ref: ref,\n value: context.value,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabList.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A list of `` elements.\n */\n children: PropTypes.node\n} : void 0;\nexport default TabList;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTabPanelUtilityClass(slot) {\n return generateUtilityClass('MuiTabPanel', slot);\n}\nconst tabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root']);\nexport default tabPanelClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { getTabPanelUtilityClass } from './tabPanelClasses';\nimport { getPanelId, getTabId, useTabContext } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTabPanelUtilityClass, classes);\n};\n\nconst TabPanelRoot = styled('div', {\n name: 'MuiTabPanel',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(3)\n}));\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabPanel'\n });\n\n const {\n children,\n className,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props);\n\n const classes = useUtilityClasses(ownerState);\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const id = getPanelId(context, value);\n const tabId = getTabId(context, value);\n return /*#__PURE__*/_jsx(TabPanelRoot, _extends({\n \"aria-labelledby\": tabId,\n className: clsx(classes.root, className),\n hidden: value !== context.value,\n id: id,\n ref: ref,\n role: \"tabpanel\",\n ownerState: ownerState\n }, other, {\n children: value === context.value && children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when\n * no `value` was passed to `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\nexport default TabPanel;","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"\n}), 'CheckBoxOutlineBlank');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckBox');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z\"\n}), 'IndeterminateCheckBox');","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getCheckboxUtilityClass(slot) {\n return generateUtilityClass('MuiCheckbox', slot);\n}\nconst checkboxClasses = generateUtilityClasses('MuiCheckbox', ['root', 'checked', 'disabled', 'indeterminate', 'colorPrimary', 'colorSecondary']);\nexport default checkboxClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"checkedIcon\", \"color\", \"icon\", \"indeterminate\", \"indeterminateIcon\", \"inputProps\", \"size\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport SwitchBase from '../internal/SwitchBase';\nimport CheckBoxOutlineBlankIcon from '../internal/svg-icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '../internal/svg-icons/CheckBox';\nimport IndeterminateCheckBoxIcon from '../internal/svg-icons/IndeterminateCheckBox';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport checkboxClasses, { getCheckboxUtilityClass } from './checkboxClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n indeterminate,\n color\n } = ownerState;\n const slots = {\n root: ['root', indeterminate && 'indeterminate', `color${capitalize(color)}`]\n };\n const composedClasses = composeClasses(slots, getCheckboxUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst CheckboxRoot = styled(SwitchBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiCheckbox',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.indeterminate && styles.indeterminate, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, !ownerState.disableRipple && {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${ownerState.color === 'default' ? theme.vars.palette.action.activeChannel : theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(ownerState.color === 'default' ? theme.palette.action.active : theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${checkboxClasses.checked}, &.${checkboxClasses.indeterminate}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${checkboxClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n }\n}));\n\nconst defaultCheckedIcon = /*#__PURE__*/_jsx(CheckBoxIcon, {});\n\nconst defaultIcon = /*#__PURE__*/_jsx(CheckBoxOutlineBlankIcon, {});\n\nconst defaultIndeterminateIcon = /*#__PURE__*/_jsx(IndeterminateCheckBoxIcon, {});\n\nconst Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(inProps, ref) {\n var _icon$props$fontSize, _indeterminateIcon$pr;\n\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCheckbox'\n });\n\n const {\n checkedIcon = defaultCheckedIcon,\n color = 'primary',\n icon: iconProp = defaultIcon,\n indeterminate = false,\n indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon,\n inputProps,\n size = 'medium'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const icon = indeterminate ? indeterminateIconProp : iconProp;\n const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;\n\n const ownerState = _extends({}, props, {\n color,\n indeterminate,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CheckboxRoot, _extends({\n type: \"checkbox\",\n inputProps: _extends({\n 'data-indeterminate': indeterminate\n }, inputProps),\n icon: /*#__PURE__*/React.cloneElement(icon, {\n fontSize: (_icon$props$fontSize = icon.props.fontSize) != null ? _icon$props$fontSize : size\n }),\n checkedIcon: /*#__PURE__*/React.cloneElement(indeterminateIcon, {\n fontSize: (_indeterminateIcon$pr = indeterminateIcon.props.fontSize) != null ? _indeterminateIcon$pr : size\n }),\n ownerState: ownerState,\n ref: ref\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Checkbox.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n * @default \n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * The icon to display when the component is unchecked.\n * @default \n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the component appears indeterminate.\n * This does not set the native input element to indeterminate due\n * to inconsistent behavior across browsers.\n * However, we set a `data-indeterminate` attribute on the `input`.\n * @default false\n */\n indeterminate: PropTypes.bool,\n\n /**\n * The icon to display when the component is indeterminate.\n * @default \n */\n indeterminateIcon: PropTypes.node,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense checkbox styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Checkbox;","import * as React from 'react';\nimport { getThemeProps, useThemeWithoutDefault as useTheme } from '@mui/system';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\n/**\n * @deprecated Not used internally. Use `MediaQueryListEvent` from lib.dom.d.ts instead.\n */\n\nfunction useMediaQueryOld(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr) {\n const supportMatchMedia = typeof window !== 'undefined' && typeof window.matchMedia !== 'undefined';\n const [match, setMatch] = React.useState(() => {\n if (noSsr && supportMatchMedia) {\n return matchMedia(query).matches;\n }\n\n if (ssrMatchMedia) {\n return ssrMatchMedia(query).matches;\n } // Once the component is mounted, we rely on the\n // event listeners to return the correct matches value.\n\n\n return defaultMatches;\n });\n useEnhancedEffect(() => {\n let active = true;\n\n if (!supportMatchMedia) {\n return undefined;\n }\n\n const queryList = matchMedia(query);\n\n const updateMatch = () => {\n // Workaround Safari wrong implementation of matchMedia\n // TODO can we remove it?\n // https://github.com/mui/material-ui/pull/17315#issuecomment-528286677\n if (active) {\n setMatch(queryList.matches);\n }\n };\n\n updateMatch(); // TODO: Use `addEventListener` once support for Safari < 14 is dropped\n\n queryList.addListener(updateMatch);\n return () => {\n active = false;\n queryList.removeListener(updateMatch);\n };\n }, [query, matchMedia, supportMatchMedia]);\n return match;\n} // eslint-disable-next-line no-useless-concat -- Workaround for https://github.com/webpack/webpack/issues/14814\n\n\nconst maybeReactUseSyncExternalStore = React['useSyncExternalStore' + ''];\n\nfunction useMediaQueryNew(query, defaultMatches, matchMedia, ssrMatchMedia) {\n const getDefaultSnapshot = React.useCallback(() => defaultMatches, [defaultMatches]);\n const getServerSnapshot = React.useMemo(() => {\n if (ssrMatchMedia !== null) {\n const {\n matches\n } = ssrMatchMedia(query);\n return () => matches;\n }\n\n return getDefaultSnapshot;\n }, [getDefaultSnapshot, query, ssrMatchMedia]);\n const [getSnapshot, subscribe] = React.useMemo(() => {\n if (matchMedia === null) {\n return [getDefaultSnapshot, () => () => {}];\n }\n\n const mediaQueryList = matchMedia(query);\n return [() => mediaQueryList.matches, notify => {\n // TODO: Use `addEventListener` once support for Safari < 14 is dropped\n mediaQueryList.addListener(notify);\n return () => {\n mediaQueryList.removeListener(notify);\n };\n }];\n }, [getDefaultSnapshot, matchMedia, query]);\n const match = maybeReactUseSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n return match;\n}\n\nexport default function useMediaQuery(queryInput, options = {}) {\n const theme = useTheme(); // Wait for jsdom to support the match media feature.\n // All the browsers MUI support have this built-in.\n // This defensive check is here for simplicity.\n // Most of the time, the match media logic isn't central to people tests.\n\n const supportMatchMedia = typeof window !== 'undefined' && typeof window.matchMedia !== 'undefined';\n const {\n defaultMatches = false,\n matchMedia = supportMatchMedia ? window.matchMedia : null,\n ssrMatchMedia = null,\n noSsr\n } = getThemeProps({\n name: 'MuiUseMediaQuery',\n props: options,\n theme\n });\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof queryInput === 'function' && theme === null) {\n console.error(['MUI: The `query` argument provided is invalid.', 'You are providing a function without a theme in the context.', 'One of the parent elements needs to use a ThemeProvider.'].join('\\n'));\n }\n }\n\n let query = typeof queryInput === 'function' ? queryInput(theme) : queryInput;\n query = query.replace(/^@media( ?)/m, ''); // TODO: Drop `useMediaQueryOld` and use `use-sync-external-store` shim in `useMediaQueryNew` once the package is stable\n\n const useMediaQueryImplementation = maybeReactUseSyncExternalStore !== undefined ? useMediaQueryNew : useMediaQueryOld;\n const match = useMediaQueryImplementation(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr);\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue({\n query,\n match\n });\n }\n\n return match;\n}","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n"],"names":["withStyles","theme","createStyles","fieldBasic","value","label","tooltip","mode","classes","onBeforeChange","readOnly","editorHeight","item","xs","sx","marginBottom","className","inputLabel","tooltipContainer","title","placement","style","maxHeight","overflow","border","language","onChange","evn","target","id","padding","fontSize","backgroundColor","fontFamily","minHeight","color","background","borderTop","display","alignItems","paddingRight","justifyContent","height","width","marginLeft","text","type","icon","variant","searchField","adornment","placeholder","adornmentPosition","overrideClass","inputProps","disableUnderline","position","InputProps","e","children","errorProps","cloneElement","tabStripStyle","tabsContainer","tabsHeaderContainer","borderRight","flexFlow","borderBottom","marginRight","fontWeight","tabContentContainer","tabPanel","flexDirection","selectedTab","routes","isRouteTabs","useTheme","useLocation","pathname","isSmallScreen","useMediaQuery","breakpoints","down","useState","setValue","headerList","contentList","useEffect","tabConfigElement","find","tabConfig","to","forEach","child","push","content","event","newValue","orientation","scrollButtons","tabList","map","index","tabHeader","disableRipple","disableTouchRipple","focusRipple","STATUS_COLORS","RED","GREEN","YELLOW","getDriveStatusColor","activeDisks","totalDrives","serverStatusColor","health_status","getNetworkStatusColor","activeNetwork","networkTotal","rowGridStyle","gridTemplateColumns","gap","Highlight","search","txtParts","RegExp","replace","escapeRegExp","parts","String","split","part","test","maxWidth","policyStatements","filter","setFilter","Grid","container","Box","sm","SearchBox","paddingTop","stmt","i","effect","Effect","isAllow","fill","Action","act","actIndex","Resource","res","resIndex","DeletePolicy","withSuspense","React","buttonContainer","pageContainer","paperContainer","statement","borderRadius","labelCol","actionsTray","modalBasic","containerForHeader","spacing","dispatch","useAppDispatch","navigate","useNavigate","params","useParams","features","useSelector","selFeatures","policy","setPolicy","setPolicyStatements","userList","setUserList","groupList","setGroupList","addLoading","setAddLoading","policyName","decodeURLString","policyDefinition","setPolicyDefinition","loadingPolicy","setLoadingPolicy","filterUsers","setFilterUsers","loadingUsers","setLoadingUsers","filterGroups","setFilterGroups","loadingGroups","setLoadingGroups","deleteOpen","setDeleteOpen","ldapIsEnabled","includes","displayGroups","hasPermission","CONSOLE_UI_RESOURCE","listGroupPermissions","viewGroup","getGroupPermissions","displayUsers","listUsersPermissions","viewUser","viewUserPermissions","displayPolicy","viewPolicyPermissions","canDeletePolicy","deletePolicyPermissions","canEditPolicy","createPolicyPermissions","api","encodeURLString","then","result","JSON","stringify","parse","pol","Statement","catch","err","setErrorSnackMessage","validSave","trim","userTableActions","onClick","user","IAM_PAGES","disableButtonFunction","filteredUsers","elementItem","groupTableActions","group","filteredGroups","refreshPolicyDetails","Fragment","selectedPolicy","closeDeleteModalAndRefresh","refresh","PageHeader","BackLink","PageLayout","ScreenTitle","IAMPoliciesIcon","subTitle","actions","SecureComponent","scopes","IAM_SCOPES","resource","disabled","TooltipWrapper","permissionTooltipHelper","TrashIcon","RefreshIcon","VerticalTabs","sectionTitle","Paper","length","TextField","val","startAdornment","InputAdornment","SearchIcon","TableWrapper","itemActions","columns","elementKey","isLoading","records","entityName","idField","noValidate","autoComplete","onSubmit","preventDefault","name","_","setSnackBarMessage","CodeMirrorWrapper","editor","data","clearButton","LinearProgress","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","Context","TabContext","props","idPrefix","setId","Math","round","random","useUniquePrefix","context","_jsx","Provider","useTabContext","getPanelId","getTabId","_excluded","TabList","ref","childrenProp","other","_objectWithoutPropertiesLoose","TypeError","Tabs","_extends","getTabPanelUtilityClass","slot","generateUtilityClass","generateUtilityClasses","TabPanelRoot","styled","overridesResolver","styles","root","inProps","useThemeProps","ownerState","composeClasses","useUtilityClasses","tabId","clsx","hidden","role","createSvgIcon","getCheckboxUtilityClass","CheckboxRoot","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","indeterminate","capitalize","vars","palette","secondary","action","activeChannel","primary","mainChannel","hoverOpacity","alpha","active","main","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","_icon$props$fontSize","_indeterminateIcon$pr","checkedIcon","iconProp","indeterminateIcon","indeterminateIconProp","size","slots","composedClasses","useMediaQueryOld","query","defaultMatches","matchMedia","ssrMatchMedia","noSsr","supportMatchMedia","window","matches","match","setMatch","useEnhancedEffect","queryList","updateMatch","addListener","removeListener","maybeReactUseSyncExternalStore","useMediaQueryNew","getDefaultSnapshot","getServerSnapshot","mediaQueryList","notify","getSnapshot","subscribe","queryInput","options","getThemeProps","useMediaQueryImplementation","undefined","baseGetTag","isArray","isObjectLike","module"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1367.18b69587.chunk.js b/portal-ui/build/static/js/1367.18b69587.chunk.js deleted file mode 100644 index 463281438..000000000 --- a/portal-ui/build/static/js/1367.18b69587.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1367,2691],{92217:function(e,n,t){"use strict";var i=t(1413),r=t(72791),o=t(61889),a=t(30829),c=t(20068),s=t(64554),l=t(11135),d=t(25787),u=t(84570),p=t(23814),h=t(38734),f=t(75952),x=t(78029),m=t.n(x),v=t(90932),Z=t(27454),b=t(80184);n.Z=(0,d.Z)((function(e){return(0,l.Z)((0,i.Z)({},p.YI))}))((function(e){var n=e.value,t=e.label,i=void 0===t?"":t,l=e.tooltip,d=void 0===l?"":l,p=e.mode,x=void 0===p?"json":p,j=e.classes,g=e.onBeforeChange,C=(e.readOnly,e.editorHeight),y=void 0===C?"250px":C;return(0,b.jsxs)(r.Fragment,{children:[(0,b.jsx)(o.ZP,{item:!0,xs:12,sx:{marginBottom:"10px"},children:(0,b.jsxs)(a.Z,{className:j.inputLabel,children:[(0,b.jsx)("span",{children:i}),""!==d&&(0,b.jsx)("div",{className:j.tooltipContainer,children:(0,b.jsx)(c.Z,{title:d,placement:"top-start",children:(0,b.jsx)("div",{className:j.tooltip,children:(0,b.jsx)(u.Z,{})})})})]})}),(0,b.jsx)(o.ZP,{item:!0,xs:12,style:{maxHeight:y,overflow:"auto",border:"1px solid #eaeaea"},children:(0,b.jsx)(v.Z,{value:n,language:x,onChange:function(e){g(null,null,e.target.value)},id:"code_wrapper",padding:15,style:{fontSize:12,backgroundColor:"#fefefe",fontFamily:"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace",minHeight:y||"initial",color:"#000000"}})}),(0,b.jsx)(o.ZP,{item:!0,xs:12,sx:{background:"#f7f7f7",border:"1px solid #eaeaea",borderTop:0},children:(0,b.jsx)(s.Z,{sx:{display:"flex",alignItems:"center",padding:"2px",paddingRight:"5px",justifyContent:"flex-end","& button":{height:"26px",width:"26px",padding:"2px"," .min-icon":{marginLeft:"0"}}},children:(0,b.jsx)(Z.Z,{tooltip:"Copy to Clipboard",children:(0,b.jsx)(m(),{text:n,children:(0,b.jsx)(f.z,{type:"button",id:"copy-code-mirror",icon:(0,b.jsx)(h.TIy,{}),color:"primary",variant:"regular"})})})})})]})}))},59114:function(e,n,t){"use strict";var i=t(4942),r=t(1413),o=(t(72791),t(63466)),a=t(74900),c=t(27391),s=t(25787),l=t(11135),d=t(23814),u=t(80184);n.Z=(0,s.Z)((function(e){return(0,l.Z)({searchField:(0,r.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,r=e.classes,s=e.onChange,l=e.adornmentPosition,d=void 0===l?"end":l,p=e.overrideClass,h=e.value,f=(0,i.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(o.Z,{position:d,className:r.adornment,children:(0,u.jsx)(a.Z,{})}));return(0,u.jsx)(c.Z,{placeholder:t,className:p||r.searchField,id:"search-resource",label:"",InputProps:f,onChange:function(e){s(e.target.value)},variant:"standard",value:h})}))},27454:function(e,n,t){"use strict";var i=t(1413),r=t(72791),o=t(20068),a=t(80184);n.Z=function(e){var n=e.tooltip,t=e.children,c=e.errorProps,s=void 0===c?null:c;return(0,a.jsx)(o.Z,{title:n,children:(0,a.jsx)("span",{children:s?(0,r.cloneElement)(t,(0,i.Z)({},s)):t})})}},50276:function(e,n,t){"use strict";var i=t(1413),r=t(29439),o=t(72791),a=t(64554),c=t(43896),s=t(83449),l=t(47283),d=t(82851),u=t(25787),p=t(13967),h=t(11135),f=t(95193),x=t(16871),m=t(80184),v={minHeight:60};n.Z=(0,u.Z)((function(e){return(0,h.Z)({tabsContainer:{display:"flex",height:"100%",width:"100%"},tabsHeaderContainer:{width:"300px",background:"#F8F8F8",borderRight:"1px solid #EAEAEA","& .MuiTabs-root":{"& .MuiTabs-indicator":{display:"none"},"& .MuiTab-root":{display:"flex",flexFlow:"row",alignItems:"center",justifyContent:"flex-start",borderBottom:"1px solid #EAEAEA","& .MuiSvgIcon-root":{marginRight:8,marginBottom:0},"&.Mui-selected":{background:"#E5E5E5",fontWeight:600}},"&. MuiTabs-scroller":{display:"none"}}},tabContentContainer:{width:"100%","& .MuiTabPanel-root":{height:"100%"}},tabPanel:{height:"100%"},"@media (max-width: 900px)":{tabsContainer:{flexFlow:"column",flexDirection:"column"},tabsHeaderContainer:{width:"100%",borderBottom:" 1px solid #EAEAEA","& .MuiTabs-root .MuiTabs-scroller .MuiButtonBase-root":{borderBottom:" 0px"}}}})}))((function(e){var n=e.children,t=e.classes,u=e.selectedTab,h=void 0===u?"0":u,Z=e.routes,b=e.isRouteTabs,j=(0,p.Z)(),g=(0,x.TH)().pathname,C=void 0===g?"":g,y=(0,f.Z)(j.breakpoints.down("md")),E=(0,o.useState)(h),P=(0,r.Z)(E,2),w=P[0],S=P[1],M=[],N=[];if((0,o.useEffect)((function(){if(b){var e=n.find((function(e){return e.tabConfig.to===C}));e&&S(e.tabConfig.value)}}),[b,n,C]),!n)return null;n.forEach((function(e){M.push(e.tabConfig),N.push(e.content)}));return(0,m.jsx)(s.ZP,{value:"".concat(w),children:(0,m.jsxs)(a.Z,{className:t.tabsContainer,children:[(0,m.jsx)(a.Z,{className:t.tabsHeaderContainer,children:(0,m.jsx)(l.Z,{onChange:function(e,n){S(n)},orientation:y?"horizontal":"vertical",variant:y?"scrollable":"standard",scrollButtons:"auto",className:t.tabList,children:M.map((function(e,n){return e?(0,m.jsx)(c.Z,(0,i.Z)((0,i.Z)({className:t.tabHeader,value:"".concat(n),style:v},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(n)):null}))})}),(0,m.jsxs)(a.Z,{className:t.tabContentContainer,children:[b?null:N.map((function(e,n){return(0,m.jsx)(d.Z,{classes:(0,i.Z)({},t.tabPanel),value:"".concat(n),children:e||null},"v-tab-p-".concat(n))})),b?(0,m.jsx)("div",{className:t.tabPanel,children:Z}):null]})]})})}))},879:function(e,n,t){"use strict";t.d(n,{D_:function(){return a},Et:function(){return r},GJ:function(){return o},yh:function(){return i}});var i={RED:"#C83B51",GREEN:"#4CCB92",YELLOW:"#E7A219"},r=function(e,n){return e<=n/2?i.RED:2!==n&&e===n/2+1?i.YELLOW:e===n?i.GREEN:void 0},o=function(e){switch(e){case"offline":return i.RED;case"online":return i.GREEN;default:return i.YELLOW}},a=function(e,n){return e<=n/2?i.RED:e===n/2+1?i.YELLOW:e===n?i.GREEN:void 0}},1191:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return W}});var i=t(29439),r=t(1413),o=t(72791),a=t(60364),c=t(16871),s=t(75952),l=t(11135),d=t(25787),u=t(23814),p=t(10703),h=t(61889),f=t(40986),x=t(92983),m=t(81207),v=t(32291),Z=t(92217),b=t(63466),j=t(27391),g=t(14917),C=t(64244),y=t(28789),E=t(74900),P=t(54599),w=t(74794),S=t(50276),M=t(84669),N=t(56087),R=t(38442),T=t(75578),F=t(64554),k=t(59114),A=t(38734),L=t(879),I=t(80184),z={display:"grid",gridTemplateColumns:"60px 1fr",gap:"15px"},O=function(e){var n=e.search,t=void 0===n?"":n,i=e.children,r=void 0===i?"":i,o=new RegExp("(".concat(function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}(t),")"),"i"),a=String(r).split(o);return t?a.map((function(e,n){return o.test(e)?(0,I.jsx)("mark",{children:e},n):e})):r},B=(0,d.Z)((function(e){return(0,l.Z)({searchField:(0,r.Z)((0,r.Z)({},u.qg.searchField),{},{maxWidth:380})})}))((function(e){var n=e.policyStatements,t=e.classes,r=void 0===t?{}:t,a=(0,o.useState)(""),c=(0,i.Z)(a,2),s=c[0],l=c[1];return(0,I.jsxs)(h.ZP,{container:!0,children:[(0,I.jsx)(h.ZP,{item:!0,xs:12,children:(0,I.jsxs)(F.Z,{sx:{display:"grid",gridTemplateColumns:{sm:"1fr 1fr",xs:"1fr"},alignItems:"center",justifyContent:"space-between",gap:"15px"},children:[(0,I.jsx)(F.Z,{children:"Statements"}),(0,I.jsx)(k.Z,{placeholder:"Search",onChange:l,overrideClass:r.searchField,value:s})]})}),(0,I.jsx)(h.ZP,{item:!0,xs:12,sx:{"& .policy-row":{borderBottom:"1px solid #eaeaea"},"& .policy-row:first-child":{borderTop:"1px solid #eaeaea"},"& .policy-row:last-child":{borderBottom:"0px"},paddingTop:"15px","& mark":{color:"#000000",fontWeight:500}},children:n.map((function(e,n){var t=e.Effect,i="Allow"===t;return(0,I.jsxs)(F.Z,{className:"policy-row",sx:{display:"grid",gridTemplateColumns:"1fr",gap:"15px",fontSize:"14px",padding:"10px 0 10px 0","& .label":{fontWeight:600}},children:[(0,I.jsxs)(F.Z,{sx:z,children:[(0,I.jsx)(F.Z,{className:"label",children:"Effect:"}),(0,I.jsxs)(F.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{marginRight:"5px",fill:i?L.yh.GREEN:L.yh.RED,height:"14px",width:"14px"}},children:[i?(0,I.jsx)(A.E31,{}):(0,I.jsx)(A.dRf,{}),t]})]}),(0,I.jsxs)(F.Z,{sx:{display:"grid",gridTemplateColumns:{sm:"1fr 1fr",xs:"1fr"},gap:"15px"},children:[(0,I.jsxs)(F.Z,{sx:z,children:[(0,I.jsx)(F.Z,{className:"label",children:"Actions:"}),(0,I.jsx)(F.Z,{children:e.Action&&e.Action.map((function(e,t){return(0,I.jsx)("div",{children:(0,I.jsx)(O,{search:s,children:e})},"".concat(n,"-r-").concat(t))}))})]}),(0,I.jsxs)(F.Z,{sx:z,children:[(0,I.jsx)(F.Z,{className:"label",children:"Resources:"}),(0,I.jsx)(F.Z,{children:e.Resource&&e.Resource.map((function(e,t){return(0,I.jsxs)("div",{children:[" ",(0,I.jsx)(O,{search:s,children:e})]},"".concat(n,"-r-").concat(t))}))})]})]})]},"".concat(n))}))})]})})),D=t(45248),H=t(87995),G=t(46078),U=t(25469),_=t(27454),V=(0,T.Z)(o.lazy((function(){return t.e(312).then(t.bind(t,312))}))),W=(0,d.Z)((function(e){return(0,l.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({buttonContainer:{display:"flex",justifyContent:"flex-end",paddingTop:16,"& button":{marginLeft:8}},pageContainer:{border:"1px solid #EAEAEA",height:"100%"},paperContainer:{padding:"15px 15px 15px 50px",minHeight:"450px"},statement:{border:"1px solid #DADADA",padding:8,marginBottom:8,borderRadius:4},labelCol:{fontWeight:"bold"}},u.OR),u.qg),u.oO),(0,u.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=(0,U.TL)(),r=(0,c.s0)(),l=(0,c.UO)(),d=(0,a.v9)(G.$4),u=(0,o.useState)(null),T=(0,i.Z)(u,2),F=T[0],k=T[1],A=(0,o.useState)([]),L=(0,i.Z)(A,2),z=L[0],O=L[1],W=(0,o.useState)([]),Y=(0,i.Z)(W,2),K=Y[0],q=Y[1],J=(0,o.useState)([]),Q=(0,i.Z)(J,2),$=Q[0],X=Q[1],ee=(0,o.useState)(!1),ne=(0,i.Z)(ee,2),te=ne[0],ie=ne[1],re=(0,D.IO)(l.policyName||""),oe=(0,o.useState)(""),ae=(0,i.Z)(oe,2),ce=ae[0],se=ae[1],le=(0,o.useState)(!0),de=(0,i.Z)(le,2),ue=de[0],pe=de[1],he=(0,o.useState)(""),fe=(0,i.Z)(he,2),xe=fe[0],me=fe[1],ve=(0,o.useState)(!0),Ze=(0,i.Z)(ve,2),be=Ze[0],je=Ze[1],ge=(0,o.useState)(""),Ce=(0,i.Z)(ge,2),ye=Ce[0],Ee=Ce[1],Pe=(0,o.useState)(!0),we=(0,i.Z)(Pe,2),Se=we[0],Me=we[1],Ne=(0,o.useState)(!1),Re=(0,i.Z)(Ne,2),Te=Re[0],Fe=Re[1],ke=d&&d.includes("ldap-idp")||!1,Ae=(0,R.F)(N.C3,N.K6,!0),Le=(0,R.F)(N.C3,N.k_,!0),Ie=(0,R.F)(N.C3,N.Rs,!0),ze=(0,R.F)(N.C3,N.iw,!0),Oe=(0,R.F)(N.C3,N.GD,!0),Be=(0,R.F)(N.C3,N.bE,!0),De=(0,R.F)(N.C3,N.XM,!0);(0,o.useEffect)((function(){ue&&(ue&&(Oe?m.Z.invoke("GET","/api/v1/policy/".concat((0,D.LL)(re))).then((function(e){if(e){k(e),se(e?JSON.stringify(JSON.parse(e.policy),null,4):"");var n=JSON.parse(e.policy);O(n.Statement)}pe(!1)})).catch((function(e){t((0,H.Ih)(e)),pe(!1)})):pe(!1)),be&&(Ie&&!ke?m.Z.invoke("GET","/api/v1/policies/".concat((0,D.LL)(re),"/users")).then((function(e){q(e),je(!1)})).catch((function(e){t((0,H.Ih)(e)),je(!1)})):je(!1)),Se&&(Ae&&!ke?m.Z.invoke("GET","/api/v1/policies/".concat((0,D.LL)(re),"/groups")).then((function(e){X(e),Me(!1)})).catch((function(e){t((0,H.Ih)(e)),Me(!1)})):Me(!1)))}),[re,ue,be,Se,q,X,se,k,je,Me,Ie,Ae,Oe,ke,t]);var He=""!==re.trim(),Ge=[{type:"view",onClick:function(e){r("".concat(N.gA.USERS,"/").concat((0,D.LL)(e)))},disableButtonFunction:function(){return!ze}}],Ue=K.filter((function(e){return e.includes(xe)})),_e=[{type:"view",onClick:function(e){r("".concat(N.gA.GROUPS,"/").concat((0,D.LL)(e)))},disableButtonFunction:function(){return!Le}}],Ve=$.filter((function(e){return e.includes(ye)})),We=function(){je(!0),Me(!0),pe(!0)};return(0,I.jsxs)(o.Fragment,{children:[Te&&(0,I.jsx)(V,{deleteOpen:Te,selectedPolicy:re,closeDeleteModalAndRefresh:function(e){Fe(!1),r(N.gA.POLICIES)}}),(0,I.jsx)(v.Z,{label:(0,I.jsx)(o.Fragment,{children:(0,I.jsx)(M.Z,{to:N.gA.POLICIES,label:"Policy"})})}),(0,I.jsxs)(w.Z,{className:n.pageContainer,children:[(0,I.jsx)(h.ZP,{item:!0,xs:12,children:(0,I.jsx)(g.Z,{icon:(0,I.jsx)(o.Fragment,{children:(0,I.jsx)(C.Z,{width:40})}),title:re,subTitle:(0,I.jsx)(o.Fragment,{children:"IAM Policy"}),actions:(0,I.jsxs)(o.Fragment,{children:[(0,I.jsx)(R.s,{scopes:[N.Ft.ADMIN_DELETE_POLICY],resource:N.C3,errorProps:{disabled:!0},children:(0,I.jsx)(_.Z,{tooltip:Be?"":(0,N.MK)(N.bE,"delete Policies"),children:(0,I.jsx)(s.z,{id:"delete-policy",label:"Delete Policy",variant:"secondary",icon:(0,I.jsx)(P.Z,{}),onClick:function(){Fe(!0)},disabled:!Be})})}),(0,I.jsx)(_.Z,{tooltip:"Refresh",children:(0,I.jsx)(s.z,{id:"refresh-policy",label:"Refresh",variant:"regular",icon:(0,I.jsx)(y.default,{}),onClick:function(){We()}})})]})})}),(0,I.jsxs)(S.Z,{children:[{tabConfig:{label:"Summary",disabled:!Oe},content:(0,I.jsxs)(o.Fragment,{children:[(0,I.jsx)("div",{className:n.sectionTitle,children:"Policy Summary"}),(0,I.jsx)(p.Z,{className:n.paperContainer,children:(0,I.jsx)(B,{policyStatements:z})})]})},{tabConfig:{label:"Users",disabled:!Ie||ke},content:(0,I.jsxs)(o.Fragment,{children:[(0,I.jsx)("div",{className:n.sectionTitle,children:"Users"}),(0,I.jsxs)(h.ZP,{container:!0,children:[K.length>0&&(0,I.jsx)(h.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,I.jsx)(j.Z,{placeholder:"Search Users",className:n.searchField,id:"search-resource",label:"",onChange:function(e){me(e.target.value)},InputProps:{disableUnderline:!0,startAdornment:(0,I.jsx)(b.Z,{position:"start",children:(0,I.jsx)(E.Z,{})})},variant:"standard"})}),(0,I.jsx)(x.Z,{itemActions:Ge,columns:[{label:"Name",elementKey:"name"}],isLoading:be,records:Ue,entityName:"Users with this Policy associated",idField:"name"})]})]})},{tabConfig:{label:"Groups",disabled:!Ae||ke},content:(0,I.jsxs)(o.Fragment,{children:[(0,I.jsx)("div",{className:n.sectionTitle,children:"Groups"}),(0,I.jsxs)(h.ZP,{container:!0,children:[$.length>0&&(0,I.jsx)(h.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,I.jsx)(j.Z,{placeholder:"Search Groups",className:n.searchField,id:"search-resource",label:"",onChange:function(e){Ee(e.target.value)},InputProps:{disableUnderline:!0,startAdornment:(0,I.jsx)(b.Z,{position:"start",children:(0,I.jsx)(E.Z,{})})},variant:"standard"})}),(0,I.jsx)(x.Z,{itemActions:_e,columns:[{label:"Name",elementKey:"name"}],isLoading:Se,records:Ve,entityName:"Groups with this Policy associated",idField:"name"})]})]})},{tabConfig:{label:"Raw Policy",disabled:!Oe},content:(0,I.jsxs)(o.Fragment,{children:[(0,I.jsx)("div",{className:n.sectionTitle,children:"Raw Policy"}),(0,I.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),te||(ie(!0),De?m.Z.invoke("POST","/api/v1/policies",{name:re,policy:ce}).then((function(e){ie(!1),t((0,H.y1)("Policy successfully updated")),We()})).catch((function(e){ie(!1),t((0,H.Ih)(e))})):ie(!1))},children:(0,I.jsxs)(h.ZP,{container:!0,children:[(0,I.jsx)(h.ZP,{item:!0,xs:12,children:(0,I.jsx)(Z.Z,{readOnly:!De,value:ce,onBeforeChange:function(e,n,t){se(t)},editorHeight:"350px"})}),(0,I.jsxs)(h.ZP,{item:!0,xs:12,className:n.buttonContainer,children:[!F&&(0,I.jsx)("button",{type:"button",color:"primary",className:n.clearButton,onClick:function(){se("{}")},children:"Clear"}),(0,I.jsx)(R.s,{scopes:[N.Ft.ADMIN_CREATE_POLICY],resource:N.C3,errorProps:{disabled:!0},children:(0,I.jsx)(_.Z,{tooltip:De?"":(0,N.MK)(N.XM,"edit a Policy"),children:(0,I.jsx)(s.z,{id:"save",type:"submit",variant:"callAction",color:"primary",disabled:te||!He||!De,label:"Save"})})})]}),te&&(0,I.jsx)(h.ZP,{item:!0,xs:12,children:(0,I.jsx)(f.Z,{})})]})})]})}]})]})]})}))},26759:function(e,n,t){"use strict";var i=t(64836);n.Z=void 0;var r=i(t(45649)),o=t(80184),a=(0,r.default)((0,o.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");n.Z=a},70366:function(e,n,t){"use strict";var i=t(64836);n.Z=void 0;var r=i(t(45649)),o=t(80184),a=(0,r.default)((0,o.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");n.Z=a},97911:function(e,n,t){"use strict";var i=t(64836);n.Z=void 0;var r=i(t(45649)),o=t(80184),a=(0,r.default)((0,o.jsx)("path",{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}),"ViewColumn");n.Z=a},83449:function(e,n,t){"use strict";t.d(n,{ZP:function(){return c},_i:function(){return s},pQ:function(){return d},uU:function(){return l}});var i=t(29439),r=t(72791),o=t(80184),a=r.createContext(null);function c(e){var n=e.children,t=e.value,c=function(){var e=r.useState(null),n=(0,i.Z)(e,2),t=n[0],o=n[1];return r.useEffect((function(){o("mui-p-".concat(Math.round(1e5*Math.random())))}),[]),t}(),s=r.useMemo((function(){return{idPrefix:c,value:t}}),[c,t]);return(0,o.jsx)(a.Provider,{value:s,children:n})}function s(){return r.useContext(a)}function l(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-P-").concat(n)}function d(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-T-").concat(n)}},47283:function(e,n,t){"use strict";var i=t(87462),r=t(63366),o=t(72791),a=t(18073),c=t(83449),s=t(80184),l=["children"],d=o.forwardRef((function(e,n){var t=e.children,d=(0,r.Z)(e,l),u=(0,c._i)();if(null===u)throw new TypeError("No TabContext provided");var p=o.Children.map(t,(function(e){return o.isValidElement(e)?o.cloneElement(e,{"aria-controls":(0,c.uU)(u,e.props.value),id:(0,c.pQ)(u,e.props.value)}):null}));return(0,s.jsx)(a.Z,(0,i.Z)({},d,{ref:n,value:u.value,children:p}))}));n.Z=d},82851:function(e,n,t){"use strict";t.d(n,{Z:function(){return m}});var i=t(87462),r=t(63366),o=t(72791),a=t(28182),c=t(66934),s=t(31402),l=t(94419),d=t(21217);function u(e){return(0,d.Z)("MuiTabPanel",e)}(0,t(75878).Z)("MuiTabPanel",["root"]);var p=t(83449),h=t(80184),f=["children","className","value"],x=(0,c.ZP)("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:function(e,n){return n.root}})((function(e){return{padding:e.theme.spacing(3)}})),m=o.forwardRef((function(e,n){var t=(0,s.Z)({props:e,name:"MuiTabPanel"}),o=t.children,c=t.className,d=t.value,m=(0,r.Z)(t,f),v=(0,i.Z)({},t),Z=function(e){var n=e.classes;return(0,l.Z)({root:["root"]},u,n)}(v),b=(0,p._i)();if(null===b)throw new TypeError("No TabContext provided");var j=(0,p.uU)(b,d),g=(0,p.pQ)(b,d);return(0,h.jsx)(x,(0,i.Z)({"aria-labelledby":g,className:(0,a.Z)(Z.root,c),hidden:d!==b.value,id:j,ref:n,role:"tabpanel",ownerState:v},m,{children:d===b.value&&o}))}))},94454:function(e,n,t){"use strict";t.d(n,{Z:function(){return w}});var i=t(4942),r=t(63366),o=t(87462),a=t(72791),c=t(94419),s=t(12065),l=t(97278),d=t(76189),u=t(80184),p=(0,d.Z)((0,u.jsx)("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank"),h=(0,d.Z)((0,u.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox"),f=(0,d.Z)((0,u.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox"),x=t(14036),m=t(31402),v=t(66934),Z=t(21217);function b(e){return(0,Z.Z)("MuiCheckbox",e)}var j=(0,t(75878).Z)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary"]),g=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size"],C=(0,v.ZP)(l.Z,{shouldForwardProp:function(e){return(0,v.FO)(e)||"classes"===e},name:"MuiCheckbox",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,t.indeterminate&&n.indeterminate,"default"!==t.color&&n["color".concat((0,x.Z)(t.color))]]}})((function(e){var n,t=e.theme,r=e.ownerState;return(0,o.Z)({color:(t.vars||t).palette.text.secondary},!r.disableRipple&&{"&:hover":{backgroundColor:t.vars?"rgba(".concat("default"===r.color?t.vars.palette.action.activeChannel:t.vars.palette.primary.mainChannel," / ").concat(t.vars.palette.action.hoverOpacity,")"):(0,s.Fq)("default"===r.color?t.palette.action.active:t.palette[r.color].main,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==r.color&&(n={},(0,i.Z)(n,"&.".concat(j.checked,", &.").concat(j.indeterminate),{color:(t.vars||t).palette[r.color].main}),(0,i.Z)(n,"&.".concat(j.disabled),{color:(t.vars||t).palette.action.disabled}),n))})),y=(0,u.jsx)(h,{}),E=(0,u.jsx)(p,{}),P=(0,u.jsx)(f,{}),w=a.forwardRef((function(e,n){var t,i,s=(0,m.Z)({props:e,name:"MuiCheckbox"}),l=s.checkedIcon,d=void 0===l?y:l,p=s.color,h=void 0===p?"primary":p,f=s.icon,v=void 0===f?E:f,Z=s.indeterminate,j=void 0!==Z&&Z,w=s.indeterminateIcon,S=void 0===w?P:w,M=s.inputProps,N=s.size,R=void 0===N?"medium":N,T=(0,r.Z)(s,g),F=j?S:v,k=j?S:d,A=(0,o.Z)({},s,{color:h,indeterminate:j,size:R}),L=function(e){var n=e.classes,t=e.indeterminate,i=e.color,r={root:["root",t&&"indeterminate","color".concat((0,x.Z)(i))]},a=(0,c.Z)(r,b,n);return(0,o.Z)({},n,a)}(A);return(0,u.jsx)(C,(0,o.Z)({type:"checkbox",inputProps:(0,o.Z)({"data-indeterminate":j},M),icon:a.cloneElement(F,{fontSize:null!=(t=F.props.fontSize)?t:R}),checkedIcon:a.cloneElement(k,{fontSize:null!=(i=k.props.fontSize)?i:R}),ownerState:A,ref:n},T,{classes:L}))}))},95193:function(e,n,t){"use strict";var i;t.d(n,{Z:function(){return p}});var r=t(29439),o=t(72791),a=t(69120),c=t(33073),s=t(40162);function l(e,n,t,i,a){var c="undefined"!==typeof window&&"undefined"!==typeof window.matchMedia,l=o.useState((function(){return a&&c?t(e).matches:i?i(e).matches:n})),d=(0,r.Z)(l,2),u=d[0],p=d[1];return(0,s.Z)((function(){var n=!0;if(c){var i=t(e),r=function(){n&&p(i.matches)};return r(),i.addListener(r),function(){n=!1,i.removeListener(r)}}}),[e,t,c]),u}var d=(i||(i=t.t(o,2))).useSyncExternalStore;function u(e,n,t,i){var a=o.useCallback((function(){return n}),[n]),c=o.useMemo((function(){if(null!==i){var n=i(e).matches;return function(){return n}}return a}),[a,e,i]),s=o.useMemo((function(){if(null===t)return[a,function(){return function(){}}];var n=t(e);return[function(){return n.matches},function(e){return n.addListener(e),function(){n.removeListener(e)}}]}),[a,t,e]),l=(0,r.Z)(s,2),u=l[0],p=l[1];return d(p,u,c)}function p(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=(0,a.Z)(),i="undefined"!==typeof window&&"undefined"!==typeof window.matchMedia,r=(0,c.Z)({name:"MuiUseMediaQuery",props:n,theme:t}),o=r.defaultMatches,s=void 0!==o&&o,p=r.matchMedia,h=void 0===p?i?window.matchMedia:null:p,f=r.ssrMatchMedia,x=void 0===f?null:f,m=r.noSsr;var v="function"===typeof e?e(t):e;v=v.replace(/^@media( ?)/m,"");var Z=void 0!==d?u:l,b=Z(v,s,h,x,m);return b}},26769:function(e,n,t){var i=t(39066),r=t(93629),o=t(43141);e.exports=function(e){return"string"==typeof e||!r(e)&&o(e)&&"[object String]"==i(e)}}}]); -//# sourceMappingURL=1367.18b69587.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1379.24a75cea.chunk.js b/portal-ui/build/static/js/1379.24a75cea.chunk.js deleted file mode 100644 index 67bb1d7a2..000000000 --- a/portal-ui/build/static/js/1379.24a75cea.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1379],{41379:function(e,n,t){t.r(n),t.d(n,{default:function(){return Qn}});var i=t(1413),o=t(72791),a=t(60364),s=t(16871),r=t(11135),c=t(25787),l=t(61889),d=t(25469),u=t(23814),h=t(93433),m=t(29439),f=t(57831),p=t(75952),x=t(26181),v=t.n(x),b=t(81207),g=t(92983),j=t(45248),Z=t(20890),S=t(84697),_=t(78029),C=t.n(_),T=t(43504),w=t(13400),E=t(38734),y=t(38442),N=t(56087),I=t(75578),k=t(87995),F=t(54756),O=t(27454),P=t(80184),L=(0,I.Z)(o.lazy((function(){return t.e(2185).then(t.bind(t,62185))}))),D=(0,c.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)({},u.cx),{},{slashSpacingStyle:{margin:"0 5px"}}))}))((function(e){var n=e.classes,t=e.bucketName,i=e.internalPaths,r=e.existingFiles,c=e.hidePathButton,u=e.additionalOptions,f=(0,d.TL)(),x=(0,s.s0)(),v=(0,a.v9)((function(e){return e.objectBrowser.rewind.rewindEnabled})),b=(0,a.v9)((function(e){return e.objectBrowser.versionsMode})),g=(0,a.v9)((function(e){return e.objectBrowser.versionedFile})),Z=(0,o.useState)(!1),S=(0,m.Z)(Z,2),_=S[0],I=S[1],D=(0,y.F)(t,[N.Ft.S3_PUT_OBJECT]),B=i;""!==i&&(B="/".concat(i));var R=B.split("/").filter((function(e){return""!==e})),z=R.length-1,A=R.map((function(e,i){var a="".concat(R.slice(0,i+1).join("/"),"/"),s="/buckets/".concat(t,"/browse/").concat(a?"".concat((0,j.LL)(a)):"");return i===z&&e===g?null:(0,P.jsxs)(o.Fragment,{children:[(0,P.jsx)("span",{className:n.slashSpacingStyle,children:"/"}),i===z?(0,P.jsx)("span",{style:{cursor:"default"},children:e}):(0,P.jsx)(T.rU,{to:s,onClick:function(){f((0,F.db)({status:!1,objectName:""}))},children:e})]},"breadcrumbs-".concat(i.toString()))})),M=[];b&&(M=[(0,P.jsx)(o.Fragment,{children:(0,P.jsxs)("span",{children:[(0,P.jsx)("span",{className:n.slashSpacingStyle,children:"/"}),g," - Versions"]})},"breadcrumbs-versionedItem")]);var U=[(0,P.jsx)(o.Fragment,{children:(0,P.jsx)(T.rU,{to:"/buckets/".concat(t,"/browse"),onClick:function(){f((0,F.db)({status:!1,objectName:""}))},children:t})},"breadcrumbs-root-path")].concat((0,h.Z)(A),(0,h.Z)(M));return(0,P.jsxs)(o.Fragment,{children:[(0,P.jsxs)("div",{className:n.breadcrumbsMain,children:[_&&(0,P.jsx)(L,{modalOpen:_,bucketName:t,folderName:i,onClose:function(){I(!1)},existingFiles:r}),(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:"".concat(n.breadcrumbs),children:[(0,P.jsx)(w.Z,{onClick:function(){b?f((0,F.db)({status:!1,objectName:""})):x(-1)},sx:{border:"#EAEDEE 1px solid",backgroundColor:"#fff",borderLeft:0,borderRadius:0,width:38,height:38,marginRight:"10px"},children:(0,P.jsx)(E.ubh,{})}),(0,P.jsx)("div",{className:n.breadcrumbsList,dir:"rtl",children:U}),(0,P.jsx)(C(),{text:"".concat(t,"/").concat(R.join("/")),children:(0,P.jsx)(p.z,{id:"copy-path",icon:(0,P.jsx)(E.TIy,{style:{width:"12px",height:"12px",fill:"#969FA8",marginTop:-1}}),variant:"regular",onClick:function(){f((0,k.y1)("Path copied to clipboard"))},style:{width:"28px",height:"28px",color:"#969FA8",border:"#969FA8 1px solid",marginRight:5}})}),(0,P.jsx)("div",{className:n.additionalOptions,children:u})]}),!c&&(0,P.jsx)(O.Z,{tooltip:D?"Choose or create a new path":(0,N.MK)([N.Ft.S3_PUT_OBJECT],"create a new path"),children:(0,P.jsx)(p.z,{id:"new-path",onClick:function(){I(!0)},disabled:v||!D,icon:(0,P.jsx)(E.N$q,{style:{fill:"#969FA8"}}),style:{whiteSpace:"nowrap"},variant:"regular",label:"Create new path"})})]}),(0,P.jsx)("div",{className:n.breadcrumbsSecond,children:u})]})})),B=t(47922),R=t(14917),z=t(74794),A=t(71715),M=t(23786),U=t(49900),G=t(57064),K=(0,c.Z)((function(e){return(0,r.Z)({listUploadIcons:{height:20,"& .min-icon":{width:18,fill:"rgba(0,0,0,0.87)"}}})}))((function(e){var n=e.uploadPath,t=e.bucketName,i=e.forceDisable,a=void 0!==i&&i,s=e.uploadFileFunction,r=e.uploadFolderFunction,c=e.classes,l=o.useState(null),d=(0,m.Z)(l,2),u=d[0],h=d[1],f=Boolean(u),x=function(){h(null)},v=(0,y.F)(n,[N.Ft.S3_PUT_OBJECT,N.Ft.S3_STAR_OBJECT]),b=(0,y.F)(t,[N.Ft.S3_PUT_OBJECT,N.Ft.S3_STAR_OBJECT],!1,!0),g=v||b;return(0,P.jsxs)(o.Fragment,{children:[(0,P.jsx)(O.Z,{tooltip:g?"Upload Files":(0,N.MK)([N.Ft.S3_PUT_OBJECT],"upload files to this bucket"),children:(0,P.jsx)(p.z,{id:"upload-main","aria-controls":"upload-main-menu","aria-haspopup":"true","aria-expanded":f?"true":void 0,onClick:function(e){h(e.currentTarget)},label:"Upload",icon:(0,P.jsx)(E.rG2,{}),variant:"callAction",disabled:a||!g})}),(0,P.jsxs)(A.Z,{id:"upload-main-menu","aria-labelledby":"upload-main",anchorEl:u,open:f,onClose:function(){x()},anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:[(0,P.jsxs)(M.Z,{onClick:function(){s(x)},disabled:!v||a,children:[(0,P.jsx)(G.Z,{className:c.listUploadIcons,children:(0,P.jsx)(E.rG2,{})}),(0,P.jsx)(U.Z,{children:"Upload File"})]}),(0,P.jsxs)(M.Z,{onClick:function(){r(x)},disabled:!b||a,children:[(0,P.jsx)(G.Z,{className:c.listUploadIcons,children:(0,P.jsx)(E.oXh,{})}),(0,P.jsx)(U.Z,{children:"Upload Folder"})]})]})]})})),W=t(72455),J=(0,W.Z)((function(e){return(0,r.Z)({detailsList:{borderColor:"#EAEDEE",borderWidth:0,borderStyle:"solid",borderRadius:3,borderBottomLeftRadius:0,borderBottomRightRadius:0,width:0,transitionDuration:"0.3s",overflowX:"hidden",overflowY:"auto",position:"relative",opacity:0,marginLeft:-1,"&.open":{width:300,minWidth:300,borderLeftWidth:1,opacity:1},"@media (max-width: 799px)":{"&.open":{width:"100%",minWidth:"100%",borderLeftWidth:0}}},closePanel:{position:"absolute",right:0,top:8,"& .min-icon":{width:14}}})})),H=function(e){var n=e.open,t=e.closePanel,i=e.className,o=void 0===i?"":i,a=e.children,s=J();return(0,P.jsxs)(l.ZP,{item:!0,className:"".concat(s.detailsList," ").concat(n?"open":""," ").concat(o," detailsListPanel"),children:[(0,P.jsx)(w.Z,{onClick:t,className:s.closePanel,children:(0,P.jsx)(E.oto,{})}),a]})},V=t(64554),Y=t(25183),q=t(34433),X=[{value:"01",label:"January"},{value:"02",label:"February"},{value:"03",label:"March"},{value:"04",label:"April"},{value:"05",label:"May"},{value:"06",label:"June"},{value:"07",label:"July"},{value:"08",label:"August"},{value:"09",label:"September"},{value:"10",label:"October"},{value:"11",label:"November"},{value:"12",label:"December"}],$=Array.from(Array(31),(function(e,n){return n+1})),Q=(new Date).getFullYear(),ee=Array.from(Array(25),(function(e,n){return n+Q})),ne=t(56028),te=t(37516),ie=t(83679),oe=t(4942),ae=t(28182),se=t(30829),re=t(20068),ce=t(68096),le=t(58406),de=t(4834),ue=t(84570),he=(0,c.Z)((function(e){return(0,r.Z)({root:{"& .MuiSelect-icon":{color:"#000","&.Mui-disabled":{color:"#9c9c9c"}}},input:{borderBottom:0,fontSize:12}})}))(de.ZP),me=(0,o.forwardRef)((function(e,n){var t=e.classes,i=e.id,a=e.label,s=e.disableOptions,r=void 0!==s&&s,c=e.addSwitch,d=void 0!==c&&c,u=e.tooltip,h=void 0===u?"":u,f=e.borderBottom,p=void 0!==f&&f,x=e.onDateChange,v=e.value,b=void 0===v?"":v;(0,o.useImperativeHandle)(n,(function(){return{resetDate:D}}));var g=(0,o.useState)(!1),j=(0,m.Z)(g,2),Z=j[0],S=j[1],_=(0,o.useState)(""),C=(0,m.Z)(_,2),T=C[0],w=C[1],E=(0,o.useState)(""),y=(0,m.Z)(E,2),N=y[0],I=y[1],k=(0,o.useState)(""),F=(0,m.Z)(k,2),O=F[0],L=F[1];(0,o.useEffect)((function(){if(""!==b){var e=b.split("-");L(e[0]),w(e[1]),I("".concat(parseInt(e[2])))}}),[b]),(0,o.useEffect)((function(){var e=function(e,n,t){var i=Date.parse("".concat(e,"-").concat(n,"-").concat(t));if(isNaN(i))return[!1,""];var o=parseInt(n),a=parseInt(t),s=o<10?"0".concat(o):o,r=a<10?"0".concat(a):a,c=new Date(i).toISOString().split("T")[0],l="".concat(e,"-").concat(s,"-").concat(r);return[c===l,l]}(O,T,N),n=(0,m.Z)(e,2),t=n[0],i=n[1];x(i,t)}),[T,N,O,x]);var D=function(){w(""),I(""),L("")},B=function(){return r||!!d&&!Z};return(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:(0,ae.Z)(t.fieldContainer,(0,oe.Z)({},t.fieldContainerBorder,p)),children:[(0,P.jsx)("div",{className:t.labelContainer,children:(0,P.jsxs)(l.ZP,{container:!0,children:[(0,P.jsxs)(se.Z,{htmlFor:i,className:t.inputLabel,children:[(0,P.jsx)("span",{children:a}),""!==h&&(0,P.jsx)("div",{className:t.tooltipContainer,children:(0,P.jsx)(re.Z,{title:h,placement:"top-start",children:(0,P.jsx)("div",{className:t.tooltip,children:(0,P.jsx)(ue.Z,{})})})})]}),d&&(0,P.jsx)(te.Z,{indicatorLabels:["Specific Date","Default (7 Days)"],checked:Z,value:"date_enabled",id:"date-status",name:"date-status",onChange:function(e){S(e.target.checked),e.target.checked||x("",!0)},switchOnly:!0})]})}),(0,P.jsxs)("div",{children:[(0,P.jsx)(ce.Z,{disabled:B(),className:t.dateInput,children:(0,P.jsxs)(le.Z,{id:"".concat(i,"-month"),name:"".concat(i,"-month"),value:T,displayEmpty:!0,onChange:function(e){w(e.target.value)},input:(0,P.jsx)(he,{}),children:[(0,P.jsx)(M.Z,{value:"",disabled:!0,children:""}),X.map((function(e){return(0,P.jsx)(M.Z,{value:e.value,children:e.label},"select-".concat(i,"-monthOP-").concat(e.label))}))]})}),(0,P.jsx)(ce.Z,{disabled:B(),className:t.dateInput,children:(0,P.jsxs)(le.Z,{id:"".concat(i,"-day"),name:"".concat(i,"-day"),value:N,displayEmpty:!0,onChange:function(e){I(e.target.value)},input:(0,P.jsx)(he,{}),children:[(0,P.jsx)(M.Z,{value:"",disabled:!0,children:""}),$.map((function(e){return(0,P.jsx)(M.Z,{value:e,children:e},"select-".concat(i,"-dayOP-").concat(e))}))]})}),(0,P.jsx)(ce.Z,{disabled:B(),className:t.dateInput,children:(0,P.jsxs)(le.Z,{id:"".concat(i,"-year"),name:"".concat(i,"-year"),value:O,displayEmpty:!0,onChange:function(e){L(e.target.value)},input:(0,P.jsx)(he,{}),children:[(0,P.jsx)(M.Z,{value:"",disabled:!0,children:""}),ee.map((function(e){return(0,P.jsx)(M.Z,{value:e,children:e},"select-".concat(i,"-yearOP-").concat(e))}))]})})]})]})})),fe=(0,c.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)({dateInput:{"&:not(:last-child)":{marginRight:22}}},u.YI),u.Hr),{},{labelContainer:{flex:1},fieldContainer:(0,i.Z)((0,i.Z)({},u.YI.fieldContainer),{},{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:10,marginTop:11,marginBottom:6}),fieldContainerBorder:{borderBottom:"#9c9c9c 1px solid",marginBottom:20}}))}))(me),pe=(0,c.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},u.DF),u.ID),u.bK),{},{dateSelector:{"& div":{borderBottom:0,marginBottom:0,"& div:nth-child(2)":{border:"1px solid #EAEAEA",paddingLeft:5,"& div":{border:0}}}}}))}))((function(e){var n=e.classes,t=e.open,i=e.closeModalAndRefresh,a=e.objectName,s=e.objectInfo,r=e.bucketName,c=(0,d.TL)(),u=(0,o.useState)(!0),h=(0,m.Z)(u,2),f=h[0],x=h[1],v=(0,o.useState)(""),g=(0,m.Z)(v,2),Z=g[0],S=g[1],_=(0,o.useState)(""),C=(0,m.Z)(_,2),T=C[0],w=C[1],E=(0,o.useState)(!1),y=(0,m.Z)(E,2),N=y[0],I=y[1],F=(0,o.useState)(!1),O=(0,m.Z)(F,2),L=O[0],D=O[1],B=(0,o.useState)(!1),R=(0,m.Z)(B,2),z=R[0],A=R[1];(0,o.useEffect)((function(){if(s.retention_mode&&(S(s.retention_mode.toLowerCase()),A(!0)),s.retention_until_date){var e=new Date(s.retention_until_date);if("Invalid Date"!==e.toString()){var n=e.getFullYear(),t=(o=e.getMonth()+1)<10?"0".concat(o):"".concat(o),i=e.getDate();isNaN(i)||"NaN"===t||isNaN(n)||w("".concat(n,"-").concat(t,"-").concat(i))}A(!0)}var o}),[s]);var M=(0,o.useRef)(null),U=function(){x(!1),S(""),M.current&&M.current.resetDate()},G=z&&("governance"===Z||""===Z);return(0,P.jsxs)(ne.Z,{title:"Set Retention Policy",modalOpen:t,onClose:function(){U(),i(!1)},children:[(0,P.jsxs)("div",{className:n.spacerBottom,children:[(0,P.jsx)("strong",{children:"Selected Object"}),": ",a]}),(0,P.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault()}(e)},children:[G&&(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)(te.Z,{value:"status",id:"status",name:"status",checked:f,onChange:function(e){x(!f)},label:"Status",indicatorLabels:["Enabled","Disabled"]})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)(ie.Z,{currentSelection:Z,id:"type",name:"type",label:"Type",disableOptions:!f||z&&""!==Z,onChange:function(e){S(e.target.value)},selectorOptions:[{label:"Governance",value:"governance"},{label:"Compliance",value:"compliance"}]})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:"".concat(n.dateSelector," "),children:(0,P.jsx)(fe,{id:"date",label:"Date",disableOptions:!(f&&("governance"===Z||"compliance"===Z)),ref:M,value:T,borderBottom:!0,onDateChange:function(e,n){I(n),n&&w(e)}})}),(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,P.jsx)(p.z,{id:"reset",type:"button",variant:"regular",onClick:U,label:"Reset"}),(0,P.jsx)(p.z,{id:"save",type:"submit",variant:"callAction",disabled:f&&""===Z||f&&!N||L,onClick:function(){D(!0);var e=s.name,n=s.version_id,t=f||"governance"!==Z?"".concat(T,"T23:59:59Z"):"";f||"governance"!==Z?function(e,n,t){b.Z.invoke("PUT","/api/v1/buckets/".concat(r,"/objects/retention?prefix=").concat((0,j.LL)(e),"&version_id=").concat(n),{expires:t,mode:Z}).then((function(e){D(!1),i(!0)})).catch((function(e){c((0,k.zb)(e)),D(!1)}))}(e,n,t):function(e,n){b.Z.invoke("DELETE","/api/v1/buckets/".concat(r,"/objects/retention?prefix=").concat((0,j.LL)(e),"&version_id=").concat(n)).then((function(){D(!1),i(!0)})).catch((function(e){c((0,k.zb)(e)),D(!1)}))}(e,n)},label:"Save"})]})]})]})})),xe=t(51691),ve=t(23508),be=t(9505),ge=function(e){var n=e.closeDeleteModalAndRefresh,t=e.deleteOpen,i=e.selectedBucket,a=e.selectedObject,s=e.versioning,r=e.selectedVersion,c=void 0===r?"":r,l=(0,d.TL)(),u=(0,be.Z)((function(){return n(!0)}),(function(e){return l((0,k.Ih)(e))})),h=(0,m.Z)(u,2),f=h[0],p=h[1],x=(0,o.useState)(!1),v=(0,m.Z)(x,2),b=v[0],g=v[1];if(!a)return null;return(0,P.jsx)(ve.Z,{title:"Delete Object",confirmText:"Delete",isOpen:t,titleIcon:(0,P.jsx)(E.NvT,{}),isLoading:f,onConfirm:function(){var e=(0,j.IO)(a).endsWith("/");p("DELETE","/api/v1/buckets/".concat(i,"/objects?path=").concat(a).concat(""!==c?"&version_id=".concat(c):"&recursive=".concat(e,"&all_versions=").concat(b)))},onClose:function(){return n(!1)},confirmationContent:(0,P.jsxs)(xe.Z,{children:["Are you sure you want to delete: ",(0,P.jsx)("br",{}),(0,P.jsx)("b",{children:(0,j.IO)(a)})," ",""!==c?(0,P.jsxs)(o.Fragment,{children:[(0,P.jsx)("br",{}),(0,P.jsx)("br",{}),"Version ID:",(0,P.jsx)("br",{}),(0,P.jsx)("strong",{children:c})]}):"","? ",(0,P.jsx)("br",{}),(0,P.jsx)("br",{}),s&&""===c&&(0,P.jsx)(te.Z,{label:"Delete All Versions",indicatorLabels:["Yes","No"],checked:b,value:"delete_versions",id:"delete-versions",name:"delete-versions",onChange:function(e){g(!b)},description:""})]})})},je=(0,c.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},u.DF),u.ID),u.bK))}))((function(e){var n=e.classes,t=e.open,i=e.closeModalAndRefresh,a=e.objectName,s=e.bucketName,r=e.actualInfo,c=(0,d.TL)(),u=(0,o.useState)(!1),h=(0,m.Z)(u,2),f=h[0],x=h[1],g=(0,o.useState)(!1),Z=(0,m.Z)(g,2),S=Z[0],_=Z[1],C=r.version_id;(0,o.useEffect)((function(){var e=v()(r,"legal_hold_status","OFF");x("ON"===e)}),[r]);var T=function(){x(!1)};return(0,P.jsxs)(ne.Z,{title:"Set Legal Hold",modalOpen:t,onClose:function(){T(),i(!1)},children:[(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:n.spacerBottom,children:["Object: ",s]}),(0,P.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault(),_(!0),b.Z.invoke("PUT","/api/v1/buckets/".concat(s,"/objects/legalhold?prefix=").concat((0,j.LL)(a),"&version_id=").concat(C),{status:f?"enabled":"disabled"}).then((function(){_(!1),i(!0)})).catch((function(e){c((0,k.zb)(e)),_(!1)}))}(e)},children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)(te.Z,{value:"legalhold",id:"legalhold",name:"legalhold",checked:f,onChange:function(e){x(!f)},label:"Legal Hold Status",indicatorLabels:["Enabled","Disabled"],tooltip:"To enable this feature you need to enable versioning on the bucket before creation"})}),(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,P.jsx)(p.z,{id:"clear",type:"button",variant:"regular",onClick:T,label:"Clear"}),(0,P.jsx)(p.z,{id:"save",type:"submit",variant:"callAction",disabled:S,label:" Save"})]})]})]})})),Ze=t(78562),Se=t(79836),_e=t(53382),Ce=t(35855),Te=t(53994),we=(0,c.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)({propertiesIcon:{marginLeft:5,"& .min-icon":{height:12}},capitalizeFirst:{textTransform:"capitalize","& .min-icon":{width:16,height:16}},titleItem:{width:"35%"}},u.bK),u.$b))}))((function(e){var n=e.bucketName,t=e.internalPaths,i=e.classes,a=e.actualInfo,s=e.linear,r=void 0!==s&&s,c=(0,o.useState)({}),d=(0,m.Z)(c,2),u=d[0],h=d[1],f=(0,be.Z)((function(e){var n=v()(e,"objectMetadata",{});h(n)}),(function(e){return!1})),p=(0,m.Z)(f,2)[1],x=Object.keys(u),b=(0,o.useCallback)((function(){p("GET","/api/v1/buckets/".concat(n,"/objects/metadata?prefix=").concat(t))}),[n,t,a]);return(0,o.useEffect)((function(){a&&b()}),[a,b]),r?(0,P.jsx)(o.Fragment,{children:x.map((function(e,n){var t=Array.isArray(u[e])?u[e].map(decodeURIComponent).join(", "):decodeURIComponent(u[e]);return(0,P.jsxs)(V.Z,{className:i.metadataLinear,children:[(0,P.jsx)("strong",{children:e}),(0,P.jsx)("br",{}),t]},"box-meta-".concat(e,"-").concat(n.toString()))}))}):(0,P.jsxs)(l.ZP,{container:!0,children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,sx:{marginTop:"25px",marginBottom:"5px"},children:(0,P.jsx)("h3",{style:{marginTop:"0",marginBottom:"0"},children:"Object Metadata"})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(Se.Z,{className:i.table,"aria-label":"simple table",children:(0,P.jsx)(_e.Z,{children:x.map((function(e,n){var t=Array.isArray(u[e])?u[e].map(decodeURIComponent).join(", "):decodeURIComponent(u[e]);return(0,P.jsxs)(Ce.Z,{children:[(0,P.jsx)(Te.Z,{component:"th",scope:"row",className:i.titleItem,children:e}),(0,P.jsx)(Te.Z,{align:"right",children:t})]},"tRow-".concat(n.toString()))}))})})})]})})),Ee=t(45987),ye=t(36151),Ne=["disabled","onClick","icon","label","classes"],Ie=(0,c.Z)((function(e){return(0,r.Z)({root:{padding:"0 15px",height:22,margin:0,color:"#5E5E5E",fontWeight:"normal",fontSize:14,whiteSpace:"nowrap",width:"100%",justifyContent:"flex-start","&:hover":{backgroundColor:"transparent",color:"#000"},"& .min-icon":{width:11},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}}})}))((function(e){var n=e.disabled,t=e.onClick,o=e.icon,a=e.label,s=e.classes,r=(0,Ee.Z)(e,Ne);return(0,P.jsx)(ye.Z,(0,i.Z)((0,i.Z)({},r),{},{disabled:n,onClick:t,className:(0,ae.Z)(s.root,"noDefaultHeight"),startIcon:o,sx:{height:"initial"},children:(0,P.jsx)("span",{className:"buttonItem",children:a})}))})),ke=(0,c.Z)((function(){return(0,r.Z)((0,i.Z)({},u.$b))}))((function(e){var n=e.items,t=e.classes,i=e.title;return(0,P.jsxs)(o.Fragment,{children:[(0,P.jsx)("div",{className:t.titleLabel,children:i}),(0,P.jsxs)("ul",{className:t.objectActions,children:[(0,P.jsx)("li",{children:"Actions:"}),n.map((function(e,n){return(0,P.jsx)("li",{children:(0,P.jsx)(O.Z,{tooltip:e.tooltip||"",children:(0,P.jsx)(Ie,{label:e.label,icon:e.icon,onClick:e.action,disabled:e.disabled})})},"action-element-".concat(n.toString()))}))]})]})})),Fe=t(37762),Oe=t(71863),Pe=t(82314),Le=(0,c.Z)((function(e){return(0,r.Z)({fileName:{display:"flex",alignItems:"center","& .min-icon":{width:16,height:16,marginRight:4,minWidth:16,minHeight:16}},fileNameText:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}})}))((function(e){var n=e.classes,t=e.icon,i=e.strings;return(0,P.jsxs)("div",{className:n.fileName,children:[t,(0,P.jsx)("span",{className:n.fileNameText,children:i[i.length-1]})]})})),De=o.lazy((function(){return Promise.resolve().then(t.bind(t,76181))})),Be=o.lazy((function(){return Promise.resolve().then(t.bind(t,49563))})),Re=o.lazy((function(){return Promise.resolve().then(t.bind(t,21733))})),ze=o.lazy((function(){return Promise.resolve().then(t.bind(t,95232))})),Ae=o.lazy((function(){return Promise.resolve().then(t.bind(t,27529))})),Me=o.lazy((function(){return Promise.resolve().then(t.bind(t,60527))})),Ue=o.lazy((function(){return Promise.resolve().then(t.bind(t,69812))})),Ge=o.lazy((function(){return Promise.resolve().then(t.bind(t,46454))})),Ke=o.lazy((function(){return Promise.resolve().then(t.bind(t,84820))})),We=o.lazy((function(){return Promise.resolve().then(t.bind(t,40599))})),Je=o.lazy((function(){return Promise.resolve().then(t.bind(t,72995))})),He=o.lazy((function(){return Promise.resolve().then(t.bind(t,34171))})),Ve=o.lazy((function(){return Promise.resolve().then(t.bind(t,30745))})),Ye=o.lazy((function(){return Promise.resolve().then(t.bind(t,84033))})),qe=o.lazy((function(){return Promise.resolve().then(t.bind(t,52009))})),Xe=[{icon:(0,P.jsx)(Ve,{}),extensions:["mp4","mov","avi","mpeg","mpg"]},{icon:(0,P.jsx)(Ke,{}),extensions:["mp3","m4a","aac"]},{icon:(0,P.jsx)(We,{}),extensions:["pdf"]},{icon:(0,P.jsx)(Je,{}),extensions:["ppt","pptx"]},{icon:(0,P.jsx)(Ye,{}),extensions:["xls","xlsx"]},{icon:(0,P.jsx)(Ue,{}),extensions:["cer","crt","pem"]},{icon:(0,P.jsx)(Be,{}),extensions:["html","xml","css","py","go","php","cpp","h","java"]},{icon:(0,P.jsx)(Re,{}),extensions:["cfg","yaml"]},{icon:(0,P.jsx)(ze,{}),extensions:["sql"]},{icon:(0,P.jsx)(Ae,{}),extensions:["ttf","otf"]},{icon:(0,P.jsx)(He,{}),extensions:["txt"]},{icon:(0,P.jsx)(qe,{}),extensions:["zip","rar","tar","gz"]},{icon:(0,P.jsx)(De,{}),extensions:["epub","mobi","azw","azw3"]},{icon:(0,P.jsx)(Me,{}),extensions:["jpeg","jpg","gif","tiff","png","heic","dng"]}],$e=function(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=e,i=(0,P.jsx)(Oe.Z,{});e.endsWith("/")&&(i=(0,P.jsx)(Pe.Z,{}),t=e.slice(0,-1));var o,a=e.toLowerCase(),s=(0,Fe.Z)(Xe);try{for(s.s();!(o=s.n()).done;){var r,c=o.value,l=(0,Fe.Z)(c.extensions);try{for(l.s();!(r=l.n()).done;){var d=r.value;a.endsWith(".".concat(d))&&(i=c.icon)}}catch(h){l.e(h)}finally{l.f()}}}catch(h){s.e(h)}finally{s.f()}!e.endsWith("/")&&e.indexOf(".")<0&&(i=(0,P.jsx)(Ge,{}));var u=t.split("/");return n?i:(0,P.jsx)(Le,{icon:i,strings:u})},Qe=t(21435),en=t(81918),nn=t(29823),tn=(0,c.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)({newTileHeader:{fontSize:18,fontWeight:"bold",color:"#000",margin:"35px 0",paddingBottom:15,display:"flex",alignItems:"center","& > svg":{marginRight:10}},tagsForLabel:{fontSize:16,margin:"20px 0 30px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",width:"100%"},currentTagsContainer:{fontSize:14,fontWeight:"normal"},noTagsForObject:{color:"#858585"},deleteTag:{color:"#C83B51",marginLeft:5}},u.DF),u.ID),u.bK))}))((function(e){var n=e.modalOpen,t=e.onCloseAndUpdate,s=e.bucketName,r=e.actualInfo,c=e.classes,u=(0,d.TL)(),h=(0,a.v9)(k.N5),f=(0,o.useState)(""),x=(0,m.Z)(f,2),g=x[0],Z=x[1],S=(0,o.useState)(""),_=(0,m.Z)(S,2),C=_[0],T=_[1],w=(0,o.useState)(!1),I=(0,m.Z)(w,2),F=I[0],O=I[1],L=(0,o.useState)(!1),D=(0,m.Z)(L,2),B=D[0],R=D[1],z=(0,o.useState)(""),A=(0,m.Z)(z,2),M=A[0],U=A[1],G=(0,o.useState)(""),K=(0,m.Z)(G,2),W=K[0],J=K[1],H=(0,j.LL)(r.name),Y=r.tags,q=Object.keys(Y||{}),X=r.name.split("/").pop()||"",$=function(e){return(0,P.jsxs)("div",{className:c.tagsForLabel,children:["Tag",e?"s":""," for: ",(0,P.jsx)("strong",{children:X})]})};return(0,P.jsx)(o.Fragment,{children:(0,P.jsx)(ne.Z,{modalOpen:n,title:B?(0,P.jsx)("span",{style:{color:"#C83B51"},children:"Delete Tag"}):"Edit Tags",onClose:function(){t(!0)},titleIcon:B?(0,P.jsx)(E.dRf,{style:{fill:"#C83B51"}}):(0,P.jsx)(E.T0F,{}),children:B?(0,P.jsx)(o.Fragment,{children:(0,P.jsxs)(l.ZP,{container:!0,children:[$(!1),"Are you sure you want to delete the tag"," ",(0,P.jsxs)("b",{className:c.deleteTag,children:[M," : ",W]})," ","?",(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:c.modalButtonBar,children:[(0,P.jsx)(p.z,{id:"cancel",type:"button",variant:"regular",onClick:function(){U(""),J(""),R(!1)},label:"Cancel"}),(0,P.jsx)(p.z,{type:"submit",variant:"secondary",onClick:function(){var e=(0,i.Z)({},Y);delete e[M];var n=h?r.version_id:"null";b.Z.invoke("PUT","/api/v1/buckets/".concat(s,"/objects/tags?prefix=").concat(H,"&version_id=").concat(n),{tags:e}).then((function(e){t(!0),O(!1)})).catch((function(e){u((0,k.zb)(e)),O(!1)}))},id:"deleteTag",label:"Delete Tag"})]})]})}):(0,P.jsxs)(l.ZP,{container:!0,children:[(0,P.jsx)(y.s,{scopes:[N.Ft.S3_GET_OBJECT_TAGGING],resource:s,children:(0,P.jsxs)(V.Z,{sx:{display:"flex",flexFlow:"column",width:"100%"},children:[$(!0),(0,P.jsxs)("div",{className:c.currentTagsContainer,children:["Current Tags:",(0,P.jsx)("br",{}),0===q.length?(0,P.jsx)("span",{className:c.noTagsForObject,children:"There are no tags for this object"}):(0,P.jsx)(o.Fragment,{}),(0,P.jsx)(V.Z,{sx:{marginTop:"5px",marginBottom:"15px"},children:q.map((function(e,n){var t=v()(Y,"".concat(e),"");return""!==t?(0,P.jsx)(y.s,{scopes:[N.Ft.S3_DELETE_OBJECT_TAGGING],resource:s,matchAll:!0,errorProps:{deleteIcon:null,onDelete:null},children:(0,P.jsx)(en.Z,{style:{textTransform:"none",marginRight:"5px",marginBottom:"5px"},size:"small",label:"".concat(e," : ").concat(t),color:"primary",deleteIcon:(0,P.jsx)(nn.Z,{}),onDelete:function(){!function(e,n){U(e),J(n),R(!0)}(e,t)}})},"chip-".concat(n)):null}))})]})]})}),(0,P.jsx)(y.s,{scopes:[N.Ft.S3_PUT_OBJECT_TAGGING],resource:s,errorProps:{disabled:!0,onClick:null},children:(0,P.jsxs)(l.ZP,{container:!0,children:[(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:c.newTileHeader,children:[(0,P.jsx)(E.OCT,{})," Add New Tag"]}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:c.formFieldRow,children:(0,P.jsx)(Qe.Z,{value:g,label:"Tag Key",id:"newTagKey",name:"newTagKey",placeholder:"Enter Tag Key",onChange:function(e){Z(e.target.value)}})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:c.formFieldRow,children:(0,P.jsx)(Qe.Z,{value:C,label:"Tag Label",id:"newTagLabel",name:"newTagLabel",placeholder:"Enter Tag Label",onChange:function(e){T(e.target.value)}})}),(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:c.modalButtonBar,children:[(0,P.jsx)(p.z,{id:"clear",type:"button",variant:"regular",color:"primary",onClick:function(){T(""),Z("")},label:"Clear"}),(0,P.jsx)(p.z,{type:"submit",variant:"callAction",disabled:""===C.trim()||""===g.trim()||F,onClick:function(){O(!0);var e={};e[g]=C;var n=(0,i.Z)((0,i.Z)({},Y),e),o=h?r.version_id:"null";b.Z.invoke("PUT","/api/v1/buckets/".concat(s,"/objects/tags?prefix=").concat(H,"&version_id=").concat(o),{tags:n}).then((function(e){t(!0),O(!1)})).catch((function(e){u((0,k.zb)(e)),O(!1)}))},id:"saveTag",label:"Save"})]})]})})]})})})})),on=t(74165),an=t(15861),sn=t(73669),rn=(0,c.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},u.DF),u.ID),u.bK))}))((function(e){var n=e.classes,t=e.closeInspectModalAndRefresh,i=e.inspectOpen,a=e.inspectPath,s=e.volumeName,r=(0,d.TL)(),c=function(){return t(!1)},u=(0,o.useState)(!0),h=(0,m.Z)(u,2),f=h[0],x=h[1],v=(0,o.useState)(""),b=(0,m.Z)(v,2),g=b[0],Z=b[1],S=(0,o.useState)(""),_=(0,m.Z)(S,2),C=_[0],T=_[1];if(!a)return null;var w=function(){var e=(0,an.Z)((0,on.Z)().mark((function e(n){return(0,on.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch(n,{method:"GET"});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})));return function(n){return e.apply(this,arguments)}}(),y=function(){var e=(0,an.Z)((0,on.Z)().mark((function e(){var n,t,i;return(0,on.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=(0,j.LL)(a+"/xl.meta"),t=(0,j.LL)(s),i="/api/v1/admin/inspect?volume=".concat(t,"&file=").concat(n,"&encrypt=").concat(f),w(i).then(function(){var e=(0,an.Z)((0,on.Z)().mark((function e(n){var t,i,o,a;return(0,on.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n.ok){e.next=5;break}return e.next=3,n.json();case 3:t=e.sent,r((0,k.Ih)({errorMessage:t.message,detailedError:t.code}));case 5:return e.next=7,n.blob();case 7:if(i=e.sent,o=n.headers.get("content-disposition").split('"')[1],a=(0,j.Do)(o)||"",(0,j.zZ)(i,o),T(o),""!==a){e.next=15;break}return c(),e.abrupt("return");case 15:Z(a);case 16:case"end":return e.stop()}}),e)})));return function(n){return e.apply(this,arguments)}}()).catch((function(e){r((0,k.Ih)(e))}));case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return(0,P.jsxs)(o.Fragment,{children:[!g&&(0,P.jsx)(ne.Z,{modalOpen:i,titleIcon:(0,P.jsx)(Y.Gp,{}),title:"Inspect Object",onClose:c,children:(0,P.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault()}(e)},children:["Would you like to encrypt ",(0,P.jsx)("b",{children:(0,j.IO)(a)}),"?"," ",(0,P.jsx)("br",{}),(0,P.jsx)(te.Z,{label:"Encrypt",indicatorLabels:["Yes","No"],checked:f,value:"encrypt",id:"encrypt",name:"encrypt",onChange:function(e){x(!f)},description:""}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:(0,P.jsx)(p.z,{id:"inspect",type:"submit",variant:"callAction",color:"primary",onClick:y,label:"Inspect"})})]})}),g?(0,P.jsx)(ne.Z,{modalOpen:i,title:"Inspect Decryption Key",onClose:function(){(0,j.kT)(C),c(),Z("")},titleIcon:(0,P.jsx)(E.tvm,{}),children:(0,P.jsxs)(xe.Z,{children:[(0,P.jsxs)(V.Z,{children:["This will be displayed only once. It cannot be recovered.",(0,P.jsx)("br",{}),"Use secure medium to share this key."]}),(0,P.jsx)(V.Z,{children:(0,P.jsx)(sn.Z,{value:g})})]})}):null]})})),cn=t(72401),ln=t(76610),dn=(0,W.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},u.ID),u.DF),u.bK),(0,u.Bz)(e.spacing(4))))})),un=function(e){var n=e.open,t=e.closeModal,i=e.currentItem,a=e.internalPaths,s=e.actualInfo,r=e.bucketName,c=dn(),u=(0,d.TL)(),h=(0,o.useState)(i),f=(0,m.Z)(h,2),x=f[0],v=f[1],b=(0,o.useState)(!1),g=(0,m.Z)(b,2),Z=g[0],S=g[1];return(0,P.jsxs)(ne.Z,{title:"Rename Download",modalOpen:n,onClose:t,titleIcon:(0,P.jsx)(E.dY8,{}),children:[(0,P.jsxs)("div",{children:["The file you are trying to download has a long name.",(0,P.jsx)("br",{}),"This can cause issues on Windows Systems by trimming the file name after download.",(0,P.jsx)("br",{}),(0,P.jsx)("br",{})," We recommend to rename the file download"]}),(0,P.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault();var n=(0,j.LL)("".concat(r,"-").concat(s.name,"-").concat((new Date).getTime(),"-").concat(Math.random())),i=(0,ln.YO)(8),o=(0,B.LR)(r,a,s.version_id,parseInt(s.size||"0"),x,i,(function(e){u((0,F.RO)({instanceID:n,progress:e}))}),(function(){u((0,F.oK)(n))}),(function(e){u((0,F.qJ)({instanceID:n,msg:e}))}),(function(){u((0,F.Im)(n))}));(0,ln.EN)(i,o),u((0,F.Mc)({ID:i,bucketName:r,done:!1,instanceID:n,percentage:0,prefix:x,type:"download",waitingForFile:!0,failed:!1,cancelled:!1,errorMessage:""})),t()}(e)},children:(0,P.jsxs)(l.ZP,{container:!0,children:[(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:c.modalFormScrollable,children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,className:c.formFieldRow,children:(0,P.jsx)(Qe.Z,{id:"download-filename",name:"download-filename",onChange:function(e){v(e.target.value)},label:"",type:"text",value:x,error:x.length>200&&!Z?"Filename should be less than 200 characters long.":""})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:c.formFieldRow,children:(0,P.jsx)(te.Z,{value:"acceptLongName",id:"acceptLongName",name:"acceptLongName",checked:Z,onChange:function(e){S(e.target.checked),e.target.checked&&v(i)},label:"Use Original Name"})})]}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:c.modalButtonBar,children:(0,P.jsx)(p.z,{id:"download-file",type:"submit",variant:"callAction",color:"primary",disabled:x.length>200&&!Z,label:"Download File"})})]})})]})},hn={is_latest:!0,last_modified:"",legal_hold_status:"",name:"",retention_mode:"",retention_until_date:"",size:"0",tags:{},version_id:null},mn=(0,c.Z)((function(){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({ObjectDetailsTitle:{display:"flex",alignItems:"center","& .min-icon":{width:26,height:26,minWidth:26,minHeight:26}},objectNameContainer:{whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",alignItems:"center",marginLeft:10},headerForSection:{display:"flex",justifyContent:"space-between",alignItems:"center",paddingBottom:15,borderBottom:"#E2E2E2 2px solid",fontWeight:"bold",fontSize:18,color:"#000",margin:"20px 22px"},capitalizeFirst:{textTransform:"capitalize"}},u.Si),u.OR),u.bK),u.VI),u.$b))}))((function(e){var n=e.classes,t=e.internalPaths,i=e.bucketName,s=e.versioning,r=e.locking,c=e.onClosePanel,u=(0,d.TL)(),h=(0,a.v9)(k.N5),f=(0,a.v9)((function(e){return e.objectBrowser.versionsMode})),x=(0,a.v9)((function(e){return e.objectBrowser.selectedVersion})),g=(0,a.v9)((function(e){return e.objectBrowser.loadingObjectInfo})),Z=(0,o.useState)(!1),S=(0,m.Z)(Z,2),_=S[0],C=S[1],T=(0,o.useState)(!1),w=(0,m.Z)(T,2),I=w[0],L=w[1],D=(0,o.useState)(!1),R=(0,m.Z)(D,2),z=R[0],A=R[1],M=(0,o.useState)(!1),U=(0,m.Z)(M,2),G=U[0],K=U[1],W=(0,o.useState)(!1),J=(0,m.Z)(W,2),H=J[0],X=J[1],$=(0,o.useState)(null),Q=(0,m.Z)($,2),ee=Q[0],ne=Q[1],te=(0,o.useState)([]),ie=(0,m.Z)(te,2),oe=ie[0],ae=ie[1],se=(0,o.useState)(null),re=(0,m.Z)(se,2),ce=re[0],le=re[1],de=(0,o.useState)([]),ue=(0,m.Z)(de,2),he=ue[0],me=ue[1],fe=(0,o.useState)(!1),xe=(0,m.Z)(fe,2),ve=xe[0],be=xe[1],Se=(0,o.useState)(!1),_e=(0,m.Z)(Se,2),Ce=_e[0],Te=_e[1],Ee=(0,o.useState)(0),ye=(0,m.Z)(Ee,2),Ne=ye[0],Ie=ye[1],Fe=(0,o.useState)(!1),Oe=(0,m.Z)(Fe,2),Pe=Oe[0],Le=Oe[1],De=((0,j.IO)(t)||"").split("/").pop()||"",Be=[];ee&&(Be=ee.name.split("/")),(0,o.useEffect)((function(){if(h&&oe&&oe.length>=1){var e=oe.find((function(e){return e.is_latest}))||hn;""!==x&&(e=oe.find((function(e){return e.version_id===x}))||hn),ne(e)}}),[x,h,oe]),(0,o.useEffect)((function(){g&&""!==t&&b.Z.invoke("GET","/api/v1/buckets/".concat(i,"/objects?prefix=").concat(t).concat(h?"&with_versions=true":"")).then((function(e){var n=v()(e,"objects",[]);if(h){ae(n),me(n);var t=n.reduce((function(e,n){return null!==n&&void 0!==n&&n.size?e+n.size:e}),0);Ie(t)}else ne(n[0]),me([]);u((0,F.vH)(!1))})).catch((function(e){console.error("Error loading object details",e),u((0,F.vH)(!1))}))}),[g,i,t,u,h,x]);var Re=[];ee&&ee.tags&&(Re=Object.keys(ee.tags));var ze=(0,P.jsx)("div",{style:{textAlign:"center",marginTop:35},children:(0,P.jsx)(cn.Z,{})});if(!ee)return g?ze:null;var Ae=Be.length>0?Be[Be.length-1]:ee.name,Me=[i,De,[i,ee.name].join("/")],Ue=(0,y.F)(i,[N.Ft.S3_PUT_OBJECT_LEGAL_HOLD]),Ge=(0,y.F)(Me,[N.Ft.S3_PUT_OBJECT_TAGGING]),Ke=(0,y.F)(Me,[N.Ft.S3_GET_OBJECT_RETENTION,N.Ft.S3_PUT_OBJECT_RETENTION],!0),We=(0,y.F)(Me,[N.Ft.ADMIN_INSPECT_DATA]),Je=(0,y.F)(Me,[N.Ft.S3_GET_BUCKET_VERSIONING,N.Ft.S3_PUT_BUCKET_VERSIONING,N.Ft.S3_GET_OBJECT_VERSION]),He=(0,y.F)(Me,[N.Ft.S3_GET_OBJECT,N.Ft.S3_STAR_OBJECT]),Ve=(0,y.F)([i,De,[i,ee.name].join("/")],[N.Ft.S3_DELETE_OBJECT]),Ye=[{action:function(){!function(e){var n=(0,j.LL)("".concat(i,"-").concat(e.name,"-").concat((new Date).getTime(),"-").concat(Math.random()));if(e.name.length>200&&(0,j.mv)().toLowerCase().includes("win"))Le(!0);else{var o=(0,ln.YO)(8),a=(0,B.LR)(i,t,e.version_id,parseInt(e.size||"0"),null,o,(function(e){u((0,F.RO)({instanceID:n,progress:e}))}),(function(){u((0,F.oK)(n))}),(function(e){u((0,F.qJ)({instanceID:n,msg:e}))}),(function(){u((0,F.Im)(n))}));(0,ln.EN)(o,a),u((0,F.Mc)({ID:o,bucketName:i,done:!1,instanceID:n,percentage:0,prefix:e.name,type:"download",waitingForFile:!0,failed:!1,cancelled:!1,errorMessage:""}))}}(ee)},label:"Download",disabled:!!ee.is_delete_marker||!He,icon:(0,P.jsx)(E._8t,{}),tooltip:He?"Download this Object":(0,N.MK)([N.Ft.S3_GET_OBJECT],"download this object")},{action:function(){C(!0)},label:"Share",disabled:!!ee.is_delete_marker||!He,icon:(0,P.jsx)(E.aAc,{}),tooltip:He?"Share this File":(0,N.MK)([N.Ft.S3_GET_OBJECT],"share this object")},{action:function(){Te(!0)},label:"Preview",disabled:!!ee.is_delete_marker||"none"===(0,B.Bg)(De)||!He,icon:(0,P.jsx)(E.P99,{}),tooltip:He?"Preview this File":(0,N.MK)([N.Ft.S3_GET_OBJECT],"preview this object")},{action:function(){K(!0)},label:"Legal Hold",disabled:!r||!h||!!ee.is_delete_marker||!Ue||""!==x,icon:(0,P.jsx)(E.fNL,{}),tooltip:Ue?r?"Change Legal Hold rules for this File":"Object Locking must be enabled on this bucket in order to set Legal Hold":(0,N.MK)([N.Ft.S3_PUT_OBJECT_LEGAL_HOLD],"change legal hold settings for this object")},{action:function(){L(!0)},label:"Retention",disabled:!h||!!ee.is_delete_marker||!Ke||""!==x||!r,icon:(0,P.jsx)(E.E9d,{}),tooltip:Ke?r?"Change Retention rules for this File":"Object Locking must be enabled on this bucket in order to set Retention Rules":(0,N.MK)([N.Ft.S3_GET_OBJECT_RETENTION,N.Ft.S3_PUT_OBJECT_RETENTION],"change Retention Rules for this object")},{action:function(){A(!0)},label:"Tags",disabled:!!ee.is_delete_marker||""!==x||!Ge,icon:(0,P.jsx)(E.DgT,{}),tooltip:Ge?"Change Tags for this File":(0,N.MK)([N.Ft.S3_PUT_OBJECT_TAGGING,N.Ft.S3_GET_OBJECT_TAGGING],"set Tags on this object")},{action:function(){X(!0)},label:"Inspect",disabled:!h||!!ee.is_delete_marker||""!==x||!We,icon:(0,P.jsx)(Y.Gp,{}),tooltip:We?"Inspect this file":(0,N.MK)([N.Ft.ADMIN_INSPECT_DATA],"inspect this file")},{action:function(){u((0,F.db)({status:!f,objectName:Ae}))},label:f?"Hide Object Versions":"Display Object Versions",icon:(0,P.jsx)(E.cRd,{}),disabled:!h||!(ee.version_id&&"null"!==ee.version_id)||!Je,tooltip:Je?ee.version_id&&"null"!==ee.version_id?"Display Versions for this file":"":(0,N.MK)([N.Ft.S3_GET_BUCKET_VERSIONING,N.Ft.S3_PUT_BUCKET_VERSIONING,N.Ft.S3_GET_OBJECT_VERSION],"display all versions of this object")}];return(0,P.jsxs)(o.Fragment,{children:[_&&ee&&(0,P.jsx)(q.default,{open:_,closeModalAndRefresh:function(){le(null),C(!1)},bucketName:i,dataObject:ce||ee}),I&&ee&&(0,P.jsx)(pe,{open:I,closeModalAndRefresh:function(e){L(!1),e&&u((0,F.vH)(!0))},objectName:De,objectInfo:ee,bucketName:i}),ve&&(0,P.jsx)(ge,{deleteOpen:ve,selectedBucket:i,selectedObject:t,closeDeleteModalAndRefresh:function(e){be(!1),e&&""===x?c(!0):(u((0,F.Eq)(!0)),u((0,F.M3)("")),u((0,F.vH)(!0)))},versioning:h&&s,selectedVersion:x}),G&&ee&&(0,P.jsx)(je,{open:G,closeModalAndRefresh:function(e){K(!1),e&&u((0,F.vH)(!0))},objectName:ee.name,bucketName:i,actualInfo:ee}),Ce&&ee&&(0,P.jsx)(Ze.default,{open:Ce,bucketName:i,object:{name:ee.name,version_id:ee.version_id||"null",size:parseInt(ee.size||"0"),content_type:"",last_modified:new Date(ee.last_modified)},onClosePreview:function(){Te(!1)}}),z&&ee&&(0,P.jsx)(tn,{modalOpen:z,bucketName:i,actualInfo:ee,onCloseAndUpdate:function(e){A(!1),e&&u((0,F.vH)(!0))}}),H&&ee&&(0,P.jsx)(rn,{inspectOpen:H,volumeName:i,inspectPath:ee.name,closeInspectModalAndRefresh:function(e){X(!1),e&&u((0,F.vH)(!0))}}),Pe&&ee&&(0,P.jsx)(un,{open:Pe,closeModal:function(){Le(!1)},currentItem:De,bucketName:i,internalPaths:t,actualInfo:ee}),g?(0,P.jsx)(o.Fragment,{children:ze}):(0,P.jsxs)(o.Fragment,{children:[(0,P.jsx)(ke,{title:(0,P.jsxs)("div",{className:n.ObjectDetailsTitle,children:[$e(Ae,!0),(0,P.jsx)("span",{className:n.objectNameContainer,children:Ae})]}),items:Ye}),(0,P.jsx)(O.Z,{tooltip:Ve?"":(0,N.MK)([N.Ft.S3_DELETE_OBJECT],"delete this object"),children:(0,P.jsx)(l.ZP,{item:!0,xs:12,sx:{justifyContent:"center",display:"flex"},children:(0,P.jsx)(y.s,{resource:[i,De,[i,ee.name].join("/")],scopes:[N.Ft.S3_DELETE_OBJECT],errorProps:{disabled:!0},children:(0,P.jsx)(p.z,{id:"delete-element-click",icon:(0,P.jsx)(E.pJl,{}),iconLocation:"start",fullWidth:!0,variant:"secondary",onClick:function(){be(!0)},disabled:""===x&&ee.is_delete_marker,style:{width:"calc(100% - 44px)",margin:"8px 0"},label:"Delete".concat(""!==x?" version":"")})})})}),(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:n.headerForSection,children:[(0,P.jsx)("span",{children:"Object Info"}),(0,P.jsx)(E.Gvh,{})]}),(0,P.jsxs)(V.Z,{className:n.detailContainer,children:[(0,P.jsx)("strong",{children:"Name:"}),(0,P.jsx)("br",{}),(0,P.jsx)("div",{style:{overflowWrap:"break-word"},children:Ae})]}),""!==x&&(0,P.jsxs)(V.Z,{className:n.detailContainer,children:[(0,P.jsx)("strong",{children:"Version ID:"}),(0,P.jsx)("br",{}),x]}),(0,P.jsxs)(V.Z,{className:n.detailContainer,children:[(0,P.jsx)("strong",{children:"Size:"}),(0,P.jsx)("br",{}),(0,j.ae)(ee.size||"0")]}),ee.version_id&&"null"!==ee.version_id&&""===x&&(0,P.jsxs)(V.Z,{className:n.detailContainer,children:[(0,P.jsx)("strong",{children:"Versions:"}),(0,P.jsx)("br",{}),he.length," version",1!==he.length?"s":"",","," ",(0,j.l5)(Ne)]}),""===x&&(0,P.jsxs)(V.Z,{className:n.detailContainer,children:[(0,P.jsx)("strong",{children:"Last Modified:"}),(0,P.jsx)("br",{}),function(e){var n=new Date,t=new Date(e),i=n.getTime()-t.getTime(),o=(0,j.nF)(i,"ms");return""!==o.trim()?"".concat(o," ago"):"Just now"}(ee.last_modified)]}),(0,P.jsxs)(V.Z,{className:n.detailContainer,children:[(0,P.jsx)("strong",{children:"ETAG:"}),(0,P.jsx)("br",{}),ee.etag||"N/A"]}),(0,P.jsxs)(V.Z,{className:n.detailContainer,children:[(0,P.jsx)("strong",{children:"Tags:"}),(0,P.jsx)("br",{}),0===Re.length?"N/A":Re.map((function(e,n){return(0,P.jsxs)("span",{children:[e,":",v()(ee,"tags.".concat(e),""),n div":{borderBottomColor:"#F8F8F8"}},"@media (max-width: 799px)":{margin:0,"&:hover, &.selected":{backgroundColor:"transparent","& > div":{borderBottomColor:"#E2E2E2"}}}},versionContainer:{fontSize:16,fontWeight:"bold",display:"flex",alignItems:"center","& svg.min-icon":{width:18,height:18,minWidth:18,minHeight:18,marginRight:10},"@media (max-width: 799px)":{fontSize:14,"& svg.min-icon":{display:"none"}}},buttonContainer:{textAlign:"right","& button":{marginLeft:"1.5rem"},"@media (max-width: 600px)":{"& button":{marginLeft:"5px"}}},versionID:{fontSize:"12px",margin:"2px 0",whiteSpace:"nowrap",textOverflow:"ellipsis",maxWidth:"95%",overflow:"hidden"},versionData:{marginRight:"10px",fontSize:12,color:"#868686","@media (max-width: 799px)":{textOverflow:"ellipsis",maxWidth:"95%",overflow:"hidden",whiteSpace:"nowrap"}},ctrItem:{position:"relative","&::before":{content:"' '",display:"block",position:"absolute",width:"2px",height:"calc(100% + 2px)",backgroundColor:"#F8F8F8",left:"24px"},"@media (max-width: 799px)":{"&::before":{display:"none"}}},collapsableInfo:{"@media (max-width: 799px)":{display:"flex",flexDirection:"column"}},versionItem:{"@media (max-width: 799px)":{display:"none"}}})}))((function(e){var n=e.classes,t=e.fileName,i=e.versionInfo,o=e.isSelected,a=e.checkable,s=e.isChecked,r=e.onCheck,c=e.onShare,d=e.onDownload,u=e.onRestore,h=e.onPreview,m=e.globalClick,f=e.index,p=e.key,x=e.style,v=i.is_delete_marker,b=[{icon:(0,P.jsx)(E.P99,{}),action:h,tooltip:"Preview"},{icon:(0,P.jsx)(E._8t,{}),action:d,tooltip:"Download this version"},{icon:(0,P.jsx)(E.aAc,{}),action:c,tooltip:"Share this version"},{icon:(0,P.jsx)(E.D7Y,{}),action:u,tooltip:"Restore this version"}],g=null;return i.is_delete_marker?g="deleted":i.is_latest?g="current":"null"===i.version_id&&(g="null"),(0,P.jsx)(l.ZP,{container:!0,flex:1,className:n.ctrItem,onClick:function(){m(i)},style:x,children:(0,P.jsx)(l.ZP,{item:!0,xs:12,className:"".concat(n.intermediateLayer," ").concat(o?"selected":""),children:(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:"".concat(n.mainFileVersionItem," ").concat(i.is_delete_marker?"deleted":""),children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,justifyContent:"space-between",children:(0,P.jsxs)(l.ZP,{container:!0,children:[(0,P.jsxs)(l.ZP,{item:!0,xs:!0,md:4,className:n.versionContainer,children:[a&&(0,P.jsx)(Cn.Z,{checked:s,id:"select-".concat(i.version_id),label:"",name:"select-".concat(i.version_id),onChange:function(e){e.stopPropagation(),e.preventDefault(),r(i.version_id||"")},value:i.version_id||"",disabled:i.is_delete_marker,overrideCheckboxStyles:{paddingLeft:0,height:34,width:25},noTopMargin:!0}),$e(t,!0)," v",f.toString(),(0,P.jsx)("span",{className:n.versionItem,children:g&&(0,P.jsx)(_n,{type:g})})]}),(0,P.jsx)(l.ZP,{item:!0,xs:10,md:8,className:n.buttonContainer,children:b.map((function(e,t){return(0,P.jsx)(re.Z,{title:e.tooltip,children:(0,P.jsx)(w.Z,{size:"small",id:"version-action-".concat(e.tooltip,"-").concat(t.toString()),className:"".concat(n.spacing," ").concat(v?n.buttonDisabled:""),disabled:v,onClick:function(n){n.stopPropagation(),v?n.preventDefault():e.action(i)},sx:{backgroundColor:"#F8F8F8",borderRadius:"100%",width:"28px",height:"28px",padding:"5px","& .min-icon":{width:"14px",height:"14px"}},children:e.icon})},"version-action-".concat(e.tooltip,"-").concat(t.toString()))}))})]})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.versionID,children:"null"!==i.version_id?i.version_id:"-"}),(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:n.collapsableInfo,children:[(0,P.jsxs)("span",{className:n.versionData,children:[(0,P.jsx)("strong",{children:"Last modified:"})," ",(0,P.jsx)(pn(),{children:i.last_modified})]}),(0,P.jsxs)("span",{className:n.versionData,children:[(0,P.jsx)("strong",{children:"Size:"})," ",(0,j.ae)(i.size||"0")]})]})]})})},p)})),wn=t(90673),En=function(e){var n=e.closeDeleteModalAndRefresh,t=e.deleteOpen,i=e.selectedBucket,a=e.selectedObject,s=(0,d.TL)(),r=(0,o.useState)(!1),c=(0,m.Z)(r,2),u=c[0],h=c[1],f=(0,o.useState)(""),p=(0,m.Z)(f,2),x=p[0],v=p[1];if((0,o.useEffect)((function(){u&&b.Z.invoke("DELETE","/api/v1/buckets/".concat(i,"/objects?path=").concat(a,"&non_current_versions=true")).then((function(){n(!0)})).catch((function(e){s((0,k.Ih)(e)),h(!1)}))}),[u,n,s,a,i]),!a)return null;return(0,P.jsx)(ve.Z,{title:"Delete Non-Current versions",confirmText:"Delete",isOpen:t,titleIcon:(0,P.jsx)(E.NvT,{}),isLoading:u,onConfirm:function(){h(!0)},onClose:function(){return n(!1)},confirmButtonProps:{disabled:"YES, PROCEED"!==x||u},confirmationContent:(0,P.jsxs)(xe.Z,{children:["Are you sure you want to delete all the non-current versions for:"," ",(0,P.jsx)("b",{children:(0,j.IO)(a)}),"? ",(0,P.jsx)("br",{}),(0,P.jsx)("br",{}),"To continue please type ",(0,P.jsx)("b",{children:"YES, PROCEED"})," in the box.",(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(Qe.Z,{id:"type-confirm",name:"retype-tenant",onChange:function(e){v(e.target.value)},label:"",value:x})})]})})},yn=function(e){var n=e.closeDeleteModalAndRefresh,t=e.deleteOpen,i=e.selectedBucket,a=e.selectedVersions,s=e.selectedObject,r=(0,d.TL)(),c=(0,o.useState)(!1),l=(0,m.Z)(c,2),u=l[0],h=l[1];return(0,o.useEffect)((function(){if(u){var e=a.map((function(e){return{path:s,versionID:e,recursive:!1}}));e.length>0&&b.Z.invoke("POST","/api/v1/buckets/".concat(i,"/delete-objects?all_versions=false"),e).then((function(){h(!1),n(!0)})).catch((function(e){r((0,k.Ih)(e)),h(!1)}))}}),[u,n,i,s,a,r]),a?(0,P.jsx)(ve.Z,{title:"Delete Selected Versions",confirmText:"Delete",isOpen:t,titleIcon:(0,P.jsx)(E.NvT,{}),isLoading:u,onConfirm:function(){h(!0)},onClose:function(){return n(!1)},confirmationContent:(0,P.jsxs)(xe.Z,{children:["Are you sure you want to delete the selected ",a.length," ","versions for ",(0,P.jsx)("strong",{children:s}),"?"]})}):null},Nn=t(5171),In={is_latest:!0,last_modified:"",legal_hold_status:"",name:"",retention_mode:"",retention_until_date:"",size:"0",tags:{},version_id:null},kn=(0,c.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({versionsContainer:{padding:10,"@media (max-width: 799px)":{minHeight:800}},noBottomBorder:{borderBottom:0},versionsVirtualPanel:{flexGrow:1,height:"calc(100% - 120px)",overflow:"auto","@media (max-width: 799px)":{height:600}},screenTitleContainer:{position:"relative","&::before":{content:"' '",display:"block",position:"absolute",width:"2px",backgroundColor:"#F8F8F8",left:"24px",height:"40px",bottom:0},"@media (max-width: 799px)":{"&::before":{display:"none"}}},sortByLabel:{color:"#838383",fontWeight:"bold",whiteSpace:"nowrap",marginRight:12,fontSize:14,"@media (max-width: 600px)":{display:"none"}}},u.bp),u.Si),u.OR),u.VX),u.bK),u.VI),u.cx),u.C4),(0,u.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=e.internalPaths,i=e.bucketName,s=(0,d.TL)(),r=(0,a.v9)((function(e){return e.objectBrowser.searchVersions})),c=(0,a.v9)((function(e){return e.objectBrowser.loadingVersions})),u=(0,a.v9)((function(e){return e.objectBrowser.selectedVersion})),f=(0,a.v9)(k.N5),x=(0,o.useState)(!1),g=(0,m.Z)(x,2),Z=g[0],S=g[1],_=(0,o.useState)(null),C=(0,m.Z)(_,2),T=C[0],w=C[1],y=(0,o.useState)(null),N=(0,m.Z)(y,2),I=N[0],L=N[1],z=(0,o.useState)([]),A=(0,m.Z)(z,2),M=A[0],U=A[1],G=(0,o.useState)(!1),K=(0,m.Z)(G,2),W=K[0],J=K[1],H=(0,o.useState)(""),V=(0,m.Z)(H,2),Y=V[0],X=V[1],$=(0,o.useState)("date"),Q=(0,m.Z)($,2),ee=Q[0],ne=Q[1],te=(0,o.useState)(!1),ie=(0,m.Z)(te,2),oe=ie[0],ae=ie[1],se=(0,o.useState)(!1),re=(0,m.Z)(se,2),ce=re[0],le=re[1],de=(0,o.useState)(!1),ue=(0,m.Z)(de,2),he=ue[0],me=ue[1],fe=(0,o.useState)([]),pe=(0,m.Z)(fe,2),xe=pe[0],ve=pe[1],be=(0,o.useState)(!1),ge=(0,m.Z)(be,2),je=ge[0],Se=ge[1],_e=[];T&&(_e=T.name.split("/")),(0,o.useEffect)((function(){c||T||s((0,F.Eq)(!0))}),[c,T,s]),(0,o.useEffect)((function(){c&&""!==t&&b.Z.invoke("GET","/api/v1/buckets/".concat(i,"/objects?prefix=").concat(t).concat(f?"&with_versions=true":"")).then((function(e){var n=v()(e,"objects",[]),i=(0,j.IO)(t),o=n.filter((function(e){return e.name===i}));f?(w(o.find((function(e){return e.is_latest}))||In),U(o)):(w(o[0]),U([])),s((0,F.Eq)(!1))})).catch((function(e){s((0,k.Ih)(e)),s((0,F.Eq)(!1))}))}),[c,i,t,s,f]);var Ce=function(e){L(e),S(!0)},Te=function(e){L(e),ae(!0)},we=function(e){X(e.version_id||""),J(!0)},Ee=function(e){!function(e){var n=(0,j.LL)("".concat(i,"-").concat(e.name,"-").concat((new Date).getTime(),"-").concat(Math.random())),o=(0,ln.YO)(8),a=(0,B.LR)(i,t,e.version_id,parseInt(e.size||"0"),null,o,(function(e){s((0,F.RO)({instanceID:n,progress:e}))}),(function(){s((0,F.oK)(n))}),(function(e){s((0,F.qJ)({instanceID:n,msg:e}))}),(function(){s((0,F.Im)(n))}));(0,ln.EN)(o,a),s((0,F.Mc)({ID:o,bucketName:i,done:!1,instanceID:n,percentage:0,prefix:e.name,type:"download",waitingForFile:!0,failed:!1,cancelled:!1,errorMessage:""}))}(e)},ye=function(e){s((0,F.M3)(e.version_id||""))},Ne=M.filter((function(e){return!!e.version_id&&e.version_id.includes(r)})),Ie=M.reduce((function(e,n){return n.size?e+parseInt(n.size):e}),0);Ne.sort((function(e,n){if("size"===ee)return e.size&&n.size?e.sizen.size?1:0:0;var t=new Date(e.last_modified).getTime(),i=new Date(n.last_modified).getTime();return ti?-1:0}));var ke=function(e){if(xe.includes(e)){var n=xe.filter((function(n){return n!==e}));ve(n)}else{var t=(0,h.Z)(xe);t.push(e),ve(t)}};return(0,P.jsxs)(o.Fragment,{children:[Z&&T&&(0,P.jsx)(q.default,{open:Z,closeModalAndRefresh:function(){L(null),S(!1),ae(!1)},bucketName:i,dataObject:I||T}),W&&T&&(0,P.jsx)(Sn,{restoreOpen:W,bucketName:i,versionID:Y,objectPath:T.name,onCloseAndUpdate:function(e){J(!1),X(""),e&&(s((0,F.Eq)(!0)),s((0,F.vH)(!0)))}}),oe&&T&&(0,P.jsx)(Ze.default,{open:oe,bucketName:i,object:{name:T.name,version_id:I&&I.version_id?I.version_id:"null",size:parseInt(I&&I.size?I.size:"0"),content_type:"",last_modified:new Date(T.last_modified)},onClosePreview:function(){ae(!1)}}),ce&&(0,P.jsx)(En,{deleteOpen:ce,closeDeleteModalAndRefresh:function(e){le(!1),e&&(s((0,F.Eq)(!0)),s((0,F.M3)("")),s((0,F.vH)(!0)))},selectedBucket:i,selectedObject:t}),je&&(0,P.jsx)(yn,{selectedBucket:i,selectedObject:(0,j.IO)(t),deleteOpen:je,selectedVersions:xe,closeDeleteModalAndRefresh:function(e){Se(!1),e&&(s((0,F.Eq)(!0)),s((0,F.M3)("")),s((0,F.vH)(!0)),ve([]))}}),(0,P.jsxs)(l.ZP,{container:!0,className:n.versionsContainer,children:[!T&&(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(jn.Z,{})}),T&&(0,P.jsxs)(o.Fragment,{children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(D,{bucketName:i,internalPaths:(0,j.IO)(t),existingFiles:[],hidePathButton:!0})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.screenTitleContainer,children:(0,P.jsx)(R.Z,{icon:(0,P.jsx)("span",{className:n.listIcon,children:(0,P.jsx)(E.cRd,{})}),title:(0,P.jsxs)("span",{className:n.titleSpacer,children:[_e.length>0?_e[_e.length-1]:T.name," ","Versions"]}),subTitle:(0,P.jsx)(o.Fragment,{children:(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:n.bucketDetails,children:[(0,P.jsx)("span",{className:n.detailsSpacer,children:(0,P.jsxs)("strong",{children:[M.length," Version",1===M.length?"":"s","\xa0\xa0\xa0"]})}),(0,P.jsx)("span",{className:n.detailsSpacer,children:(0,P.jsx)("strong",{children:(0,j.l5)(Ie)})})]})}),actions:(0,P.jsxs)(o.Fragment,{children:[(0,P.jsx)(O.Z,{tooltip:"Select Multiple Versions",children:(0,P.jsx)(p.z,{id:"select-multiple-versions",onClick:function(){me(!he)},icon:(0,P.jsx)(E.amE,{}),variant:he?"callAction":"regular",style:{marginRight:8}})}),he&&(0,P.jsx)(O.Z,{tooltip:"Delete Selected Versions",children:(0,P.jsx)(p.z,{id:"delete-multiple-versions",onClick:function(){Se(!0)},icon:(0,P.jsx)(E.pJl,{}),variant:"secondary",style:{marginRight:8},disabled:0===xe.length})}),(0,P.jsx)(O.Z,{tooltip:"Delete Non Current Versions",children:(0,P.jsx)(p.z,{id:"delete-non-current",onClick:function(){le(!0)},icon:(0,P.jsx)(E.utM,{}),variant:"secondary",style:{marginRight:15},disabled:M.length<=1})}),(0,P.jsx)("span",{className:n.sortByLabel,children:"Sort by"}),(0,P.jsx)(wn.Z,{id:"sort-by",label:"",value:ee,onChange:function(e){ne(e.target.value)},name:"sort-by",options:[{label:"Date",value:"date"},{label:"Size",value:"size"}]})]}),className:n.noBottomBorder})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.versionsVirtualPanel,children:T.version_id&&"null"!==T.version_id&&(0,P.jsx)(Nn.aV,{style:{width:"100%"},containerStyle:{width:"100%",maxWidth:"100%"},width:1,height:800,rowCount:Ne.length,rowHeight:108,rowRenderer:function(e){var n=e.key,t=e.index,i=(e.isScrolling,e.isVisible,e.style),o=M.length-t;return(0,P.jsx)(Tn,{style:i,fileName:(null===T||void 0===T?void 0:T.name)||"",versionInfo:Ne[t],index:o,onDownload:Ee,onRestore:we,onShare:Ce,onPreview:Te,globalClick:ye,isSelected:u===Ne[t].version_id,checkable:he,onCheck:ke,isChecked:xe.includes(Ne[t].version_id||"")},n)}})})]})]})]})})),Fn=t(9859),On=t(46078),Pn=o.lazy((function(){return Promise.resolve().then(t.bind(t,13065))})),Ln=o.lazy((function(){return Promise.resolve().then(t.bind(t,28789))})),Dn=o.lazy((function(){return Promise.resolve().then(t.bind(t,74768))})),Bn=(0,I.Z)(o.lazy((function(){return t.e(711).then(t.bind(t,50711))}))),Rn=(0,I.Z)(o.lazy((function(){return Promise.resolve().then(t.bind(t,34433))}))),zn=(0,I.Z)(o.lazy((function(){return Promise.all([t.e(3691),t.e(2515),t.e(6901)]).then(t.bind(t,26901))}))),An=(0,I.Z)(o.lazy((function(){return Promise.resolve().then(t.bind(t,78562))}))),Mn=(0,W.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({browsePaper:{border:0,height:"calc(100vh - 210px)","&.isEmbedded":{height:"calc(100vh - 315px)"},"&.actionsPanelOpen":{minHeight:"100%"},"@media (max-width: 800px)":{width:800}},"@global":{".rowLine:hover .iconFileElm":{backgroundImage:"url(/images/ob_file_filled.svg)"},".rowLine:hover .iconFolderElm":{backgroundImage:"url(/images/ob_folder_filled.svg)"}},badgeOverlap:{"& .MuiBadge-badge":{top:10,right:1,width:5,height:5,minWidth:5}},screenTitle:{borderBottom:0,paddingTop:0,paddingLeft:0,paddingRight:0}},u.VX),u.OR),u.qg),{},{searchField:(0,i.Z)((0,i.Z)({},u.qg.searchField),{},{maxWidth:380}),screenTitleContainer:{border:"#EAEDEE 1px solid",padding:"0.8rem 15px 0"},labelStyle:{color:"#969FA8",fontSize:"12px"},breadcrumbsContainer:{padding:"12px 14px 5px"},parentWrapper:{"@media (max-width: 800px)":{overflowX:"auto"}},fullContainer:{"@media (max-width: 799px)":{width:0}},hideListOnSmall:{"@media (max-width: 799px)":{display:"none"}}},u.C4),u.cx),(0,u.Bz)(e.spacing(4))))})),Un={borderWidth:2,borderRadius:2,borderColor:"#eeeeee",outline:"none"},Gn={borderStyle:"dashed",backgroundColor:"#fafafa",borderColor:"#2196f3"},Kn={borderStyle:"dashed",backgroundColor:"#fafafa",borderColor:"#00e676"};var Wn=(0,P.jsx)(Z.Z,{component:"h3",children:"Loading..."}),Jn=function(){var e,n=Mn(),t=(0,d.TL)(),r=(0,s.UO)(),c=(0,s.s0)(),u=(0,s.TH)(),x=(0,a.v9)((function(e){return e.objectBrowser.rewind.rewindEnabled})),_=(0,a.v9)((function(e){return e.objectBrowser.rewind.dateToRewind})),C=(0,a.v9)((function(e){return e.objectBrowser.rewind.bucketToRewind})),T=(0,a.v9)((function(e){return e.objectBrowser.versionsMode})),w=(0,a.v9)((function(e){return e.objectBrowser.searchObjects})),I=(0,a.v9)((function(e){return e.objectBrowser.showDeleted})),L=(0,a.v9)((function(e){return e.objectBrowser.objectDetailsOpen})),A=(0,a.v9)((function(e){return e.objectBrowser.selectedInternalPaths})),M=(0,a.v9)((function(e){return e.objectBrowser.loadingObjects})),U=(0,a.v9)((function(e){return e.objectBrowser.simplePath})),G=(0,a.v9)(Fn.HQ),W=(0,a.v9)(Fn.G6),J=(0,a.v9)((function(e){return e.console.session.allowResources})),V=(0,a.v9)(On.$4),Y=!(null===V||void 0===V||!V.includes("object-browser-only")),q=(0,o.useState)([]),X=(0,m.Z)(q,2),$=X[0],Q=X[1],ee=(0,o.useState)(!1),ne=(0,m.Z)(ee,2),te=ne[0],ie=ne[1],oe=(0,o.useState)(0),ae=(0,m.Z)(oe,2),se=ae[0],re=ae[1],ce=(0,o.useState)(Wn),le=(0,m.Z)(ce,2),de=le[0],ue=le[1],he=(0,o.useState)(!0),me=(0,m.Z)(he,2),fe=me[0],pe=me[1],xe=(0,o.useState)(!1),ve=(0,m.Z)(xe,2),be=ve[0],ge=ve[1],je=(0,o.useState)(!0),Ze=(0,m.Z)(je,2),Se=Ze[0],_e=Ze[1],Ce=(0,o.useState)(!1),Te=(0,m.Z)(Ce,2),we=Te[0],Ee=Te[1],ye=(0,o.useState)(!1),Ne=(0,m.Z)(ye,2),Ie=Ne[0],Fe=Ne[1],Oe=(0,o.useState)([]),Pe=(0,m.Z)(Oe,2),Le=Pe[0],De=Pe[1],Be=(0,o.useState)(!1),Re=(0,m.Z)(Be,2),ze=Re[0],Ae=Re[1],Me=(0,o.useState)(null),Ue=(0,m.Z)(Me,2),Ge=Ue[0],Ke=Ue[1],We=(0,o.useState)(!1),Je=(0,m.Z)(We,2),He=Je[0],Ve=Je[1],Ye=(0,o.useState)("ASC"),qe=(0,m.Z)(Ye,2),Xe=qe[0],$e=qe[1],Qe=(0,o.useState)("name"),en=(0,m.Z)(Qe,2),nn=en[0],tn=en[1],on=(0,o.useState)(!1),an=(0,m.Z)(on,2),sn=an[0],rn=an[1],cn=(0,o.useState)(!1),dn=(0,m.Z)(cn,2),hn=dn[0],fn=dn[1],pn=(0,o.useState)(!1),xn=(0,m.Z)(pn,2),vn=xn[0],jn=xn[1],Zn=(0,o.useState)(null),Sn=(0,m.Z)(Zn,2),_n=Sn[0],Tn=Sn[1],wn=(0,o.useState)(null),En=(0,m.Z)(wn,2),yn=En[0],Nn=En[1],In=u.pathname.split("/browse/"),Jn=2===In.length?In[1]:"",Hn=r.bucketName||"",Vn=(0,o.useRef)(null),Yn=(0,o.useRef)(null);(0,o.useEffect)((function(){null!==Yn.current&&(Yn.current.setAttribute("directory",""),Yn.current.setAttribute("webkitdirectory",""))}),[Yn]),(0,o.useEffect)((function(){if(1===Le.length){var e=Le[0];"none"!==(0,B.Bg)(e)?jn(!0):jn(!1),e.endsWith("/")?fn(!1):fn(!0)}else fn(!1),jn(!1)}),[Le]),(0,o.useEffect)((function(){_n||b.Z.invoke("GET","/api/v1/buckets/".concat(Hn,"/quota")).then((function(e){var n=null;e.quota&&(n=e),Tn(n)})).catch((function(e){console.error("Error Getting Quota Status: ",e.detailedError),Tn(null)}))}),[_n,Hn]),(0,o.useEffect)((function(){Le.length>0?t((0,F.vb)(!0)):0===Le.length&&null===A&&t((0,F.vb)(!1))}),[Le,A,t]);var qn=(0,y.F)(Hn,[N.Ft.S3_DELETE_OBJECT]),Xn=(0,y.F)(Hn,[N.Ft.S3_LIST_BUCKET]);(0,o.useEffect)((function(){sn||(t((0,Fn.d5)(!0)),rn(!0))}),[sn,t,rn]),function(e,n){var t=(0,o.useRef)(null);(0,o.useEffect)((function(){t.current=e}),[e]),(0,o.useEffect)((function(){if(null!==n){var e=setInterval((function(){void 0!==t&&t.current&&t.current()}),n);return function(){return clearInterval(e)}}}),[n])}((function(){M&&function(){var e=Date.now()-se;e/1e3>=6?ue((0,P.jsx)(o.Fragment,{children:(0,P.jsxs)(Z.Z,{component:"h3",children:["This operation is taking longer than expected... (",Math.ceil(e/1e3),"s)"]})})):e/1e3>=3&&ue((0,P.jsx)(Z.Z,{component:"h3",children:"This operation is taking longer than expected..."}))}()}),1e3),(0,o.useEffect)((function(){fe&&(Xn?b.Z.invoke("GET","/api/v1/buckets/".concat(Hn,"/versioning")).then((function(e){ge(e.is_versioned),pe(!1)})).catch((function(e){console.error("Error Getting Object Versioning Status: ",e.detailedError),pe(!1)})):(pe(!1),Q([])))}),[Hn,fe,t,Xn]),(0,o.useEffect)((function(){Se&&(Xn?b.Z.invoke("GET","/api/v1/buckets/".concat(Hn,"/object-locking")).then((function(e){Ee(e.object_locking_enabled),_e(!1)})).catch((function(e){console.error("Error Getting Object Locking Status: ",e.detailedError),_e(!1)})):(Q([]),_e(!1)))}),[Hn,Se,t,Xn]),(0,o.useEffect)((function(){var e=(0,j.IO)(Jn);e.endsWith("/")||""===e?(t((0,F.vb)(!1)),t((0,F.EE)(null)),t((0,F.Su)(""===e?"/":e))):(t((0,F.vH)(!0)),t((0,F.vb)(!0)),t((0,F.Eq)(!0)),t((0,F.EE)("".concat(e?"".concat((0,j.LL)(e)):""))),t((0,F.Su)("".concat(e.split("/").slice(0,-1).join("/"),"/"))))}),[Jn,_,x,t]),(0,o.useEffect)((function(){t((0,F.G4)("")),t((0,F.MU)(!0)),De([])}),[U,t,De]),(0,o.useEffect)((function(){if(M)if(Xn){var e="";if(Jn){var n=(0,j.IO)(Jn);e=n.endsWith("/")?n:n+"/"}var i=Date.now();re(i),ue(Wn);var o="/api/v1/buckets/".concat(Hn,"/objects");if(x){if(C!==Hn)return void t((0,F._w)());if(_){var a=_.toISOString();o="/api/v1/buckets/".concat(Hn,"/rewind/").concat(a)}}else if(I){var s=(new Date).toISOString();o="/api/v1/buckets/".concat(Hn,"/rewind/").concat(s)}b.Z.invoke("GET","".concat(o).concat(e?"?prefix=".concat((0,j.LL)(e)):"")).then((function(n){var i=n.objects||[],a=[],s=[];i.forEach((function(e){e.name!==(0,j.IO)(Jn)&&(e.name.endsWith("/")?a.push(e):s.push(e))}));var r=[].concat(a,s);if(0===r.length&&""!==e){var c="/api/v1/buckets/".concat(Hn,"/objects").concat(Jn?"?prefix=".concat(Jn):"");if(x){var l=_.toISOString(),d="";if(Jn){var u=(0,j.IO)(Jn);d=u.endsWith("/")?u:u+"/"}c="/api/v1/buckets/".concat(Hn,"/rewind/").concat(l).concat(d?"?prefix=".concat((0,j.LL)(d)):"")}b.Z.invoke("GET",c).then((function(n){if(n.objects){for(var i=!1,a=e.slice(0,e.length-1),s=0;s1,_="An error occurred while uploading the file".concat(S?"s":"","."),C={413:"Error - File size too large"};Z.withCredentials=!1,Z.onload=function(e){if(Z.status>=200&&Z.status<300)t((0,F.oK)(g)),s({status:Z.status}),(0,ln.GM)(p);else{if(C[Z.status])_=C[Z.status];else if(Z.response)try{var n=JSON.parse(Z.response);_=n.detailedMessage}catch(i){_="something went wrong"}t((0,F.qJ)({instanceID:g,msg:_})),r({status:Z.status,message:_}),(0,ln.GM)(p)}},Z.upload.addEventListener("error",(function(e){r(_),t((0,F.qJ)({instanceID:g,msg:"A network error occurred."}))})),Z.upload.addEventListener("progress",(function(e){var n=Math.floor(100*e.loaded/e.total);t((0,F.RO)({instanceID:g,progress:n}))})),Z.onerror=function(){r(_),t((0,F.qJ)({instanceID:g,msg:"A network error occurred."}))},Z.onloadend=function(){0===e.length&&t((0,F.MU)(!0))},Z.onabort=function(){t((0,F.Im)(g))};var T=new FormData;void 0!==a.size&&(T.append(a.size.toString(),d,l),(0,ln.EN)(p,Z),t((0,F.Mc)({ID:p,bucketName:n,done:!1,instanceID:g,percentage:0,prefix:"".concat((0,j.IO)(u)).concat(l),type:"upload",waitingForFile:!1,failed:!1,cancelled:!1,errorMessage:""})),(0,ln.N5)(p,T),(0,ln.EN)(p,Z))}))},s=[];t((0,F.LD)());for(var r=0;r0){var i=s.length,o=s.length-n.length,a={errorMessage:"There were some errors during file upload",detailedError:"Uploaded files ".concat(o,"/").concat(i)};t((0,k.Ih)(a))}t((0,F.MU)(!0)),De([])}))}(e,Hn,i,n)}),[Hn,t,U]),et=(0,o.useCallback)((function(e){if(e&&e.length>0&&pt){var n=e[0].path;Qn(e,n)}pt||t((0,k.Ih)({errorMessage:"Upload not allowed",detailedError:(0,N.MK)([N.Ft.S3_PUT_OBJECT],"upload objects to this location")}))}),[Qn]),nt=(0,f.uI)({noClick:!0,onDrop:et}),tt=nt.getRootProps,it=nt.getInputProps,ot=nt.isDragActive,at=nt.isDragAccept,st=(0,o.useMemo)((function(){return(0,i.Z)((0,i.Z)((0,i.Z)({},Un),ot?Gn:{}),at?Kn:{})}),[ot,at]),rt=$.filter((function(e){return""===w||e.name.toLowerCase().indexOf(w.toLowerCase())>=0})),ct=(0,j.IO)(Jn),lt=ct.split("/").filter((function(e){return""!==e})),dt=rt.sort((0,B.P_)(nn)),ut=[];ut="ASC"===Xe?dt:dt.reverse();var ht=[Hn];lt.length>0&&(ht=ht.concat(lt));var mt=(0,y.F)(Hn,[N.Ft.S3_GET_OBJECT,N.Ft.S3_STAR_OBJECT]),ft=(0,y.F)(Hn,[N.Ft.S3_DELETE_OBJECT,N.Ft.S3_STAR_OBJECT]),pt=(0,y.F)(ht,[N.Ft.S3_PUT_OBJECT,N.Ft.S3_STAR_OBJECT]),xt=function(e){if(t((0,F.EE)(null)),t((0,F.db)({status:!1})),L&&null!==A){var n=(0,j.IO)(Jn).split("/");n.pop();var i="";n&&n.length>0&&(i="".concat(n.join("/"),"/")),c("/buckets/".concat(Hn,"/browse/").concat((0,j.LL)(i)))}t((0,F.vb)(!1)),De([]),e&&t((0,F.MU)(!0))},vt=[{type:"view",label:"View",onClick:function(e){De([]);var n="/buckets/".concat(Hn,"/browse").concat(e?"/".concat((0,j.LL)(e)):"");c(n),t((0,F.vb)(!0)),t((0,F.Eq)(!0)),t((0,F.EE)("".concat(e?"".concat((0,j.LL)(e)):"")))},sendOnlyId:!0}],bt=[{action:function(){if(0!==Le.length){var e=[];if(1===(e=rt.filter((function(e){return Le.includes(e.name)}))).length&&e[0].name.length>200&&(0,j.mv)().toLowerCase().includes("win"))return void Nn(e[0]);e.forEach((function(e){!function(e){var n=(0,j.LL)("".concat(Hn,"-").concat(e.name,"-").concat((new Date).getTime(),"-").concat(Math.random())),i=(0,ln.YO)(8),o=(0,B.LR)(Hn,(0,j.LL)(e.name),e.version_id,e.size,null,i,(function(e){t((0,F.RO)({instanceID:n,progress:e}))}),(function(){t((0,F.oK)(n))}),(function(e){t((0,F.qJ)({instanceID:n,msg:e}))}),(function(){t((0,F.Im)(n))}));(0,ln.EN)(i,o),t((0,F.Mc)({ID:i,bucketName:Hn,done:!1,instanceID:n,percentage:0,prefix:e.name,type:"download",waitingForFile:!0,failed:!1,cancelled:!1,errorMessage:""}))}(e)}))}},label:"Download",disabled:!mt||0===Le.length,icon:(0,P.jsx)(E._8t,{}),tooltip:mt?"Download Selected":(0,N.MK)([N.Ft.S3_GET_OBJECT],"download objects from this bucket")},{action:function(){if(1===Le.length){var e;(e=rt.find((function(e){return Le.includes(e.name)})))&&(Ke(e),Ve(!0))}},label:"Share",disabled:1!==Le.length||!hn,icon:(0,P.jsx)(E.aAc,{}),tooltip:hn?"Share Selected File":"Sharing unavailable"},{action:function(){if(1===Le.length){var e;(e=rt.find((function(e){return Le.includes(e.name)})))&&(Ke(e),Ae(!0))}},label:"Preview",disabled:1!==Le.length||!vn,icon:(0,P.jsx)(E.P99,{}),tooltip:vn?"Preview Selected File":"Preview unavailable"},{action:function(){ie(!0)},label:"Delete",icon:(0,P.jsx)(Dn,{}),disabled:!ft||0===Le.length||!qn,tooltip:ft?"Delete Selected Files":(0,N.MK)([N.Ft.S3_DELETE_OBJECT],"delete objects in this bucket")}];return(0,P.jsxs)(o.Fragment,{children:[He&&Ge&&(0,P.jsx)(Rn,{open:He,closeModalAndRefresh:function(){Ve(!1),Ke(null)},bucketName:Hn,dataObject:{name:Ge.name,last_modified:"",version_id:Ge.version_id}}),te&&(0,P.jsx)(Bn,{deleteOpen:te,selectedBucket:Hn,selectedObjects:Le,closeDeleteModalAndRefresh:function(e){ie(!1),e&&(t((0,k.y1)("Objects deleted successfully.")),De([]),t((0,F.MU)(!0)))},versioning:be}),Ie&&(0,P.jsx)(zn,{open:Ie,closeModalAndRefresh:function(){Fe(!1)},bucketName:Hn}),ze&&(0,P.jsx)(An,{open:ze,bucketName:Hn,object:Ge,onClosePreview:function(){Ae(!1),Ke(null)}}),!!yn&&(0,P.jsx)(un,{open:!!yn,closeModal:function(){Nn(null)},currentItem:(null===(e=yn.name.split("/"))||void 0===e?void 0:e.pop())||"",bucketName:Hn,internalPaths:Jn,actualInfo:{name:yn.name,last_modified:"",version_id:yn.version_id,size:yn.size.toString()}}),(0,P.jsxs)(z.Z,{variant:"full",children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.screenTitleContainer,children:(0,P.jsx)(R.Z,{className:n.screenTitle,icon:(0,P.jsx)("span",{className:n.listIcon,children:(0,P.jsx)(E.wNb,{})}),title:(0,P.jsx)("span",{className:n.titleSpacer,children:Hn}),subTitle:(0,P.jsx)(o.Fragment,{children:(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:n.bucketDetails,children:[(0,P.jsxs)("span",{className:n.detailsSpacer,children:["Created:\xa0\xa0\xa0",(0,P.jsx)("strong",{children:(null===W||void 0===W?void 0:W.creation_date)||""})]}),(0,P.jsxs)("span",{className:n.detailsSpacer,children:["Access:\xa0\xa0\xa0",(0,P.jsx)("strong",{children:(null===W||void 0===W?void 0:W.access)||""})]}),W&&(0,P.jsx)(o.Fragment,{children:(0,P.jsxs)("span",{className:n.detailsSpacer,children:[W.size&&(0,P.jsx)(o.Fragment,{children:(0,j.l5)(W.size)}),W.size&&_n&&(0,P.jsxs)(o.Fragment,{children:[" / ",(0,j.l5)(_n.quota)]}),W.size&&W.objects?" - ":"",W.objects&&(0,P.jsxs)(o.Fragment,{children:[W.objects,"\xa0Object",W.objects&&1!==W.objects?"s":""]})]})})]})}),actions:(0,P.jsx)(o.Fragment,{children:(0,P.jsxs)("div",{className:n.actionsSection,children:[(0,P.jsx)(O.Z,{tooltip:"Rewind Bucket",children:(0,P.jsx)(p.z,{id:"rewind-objects-list",label:"Rewind",icon:(0,P.jsx)(S.Z,{badgeContent:" ",color:"secondary",variant:"dot",invisible:!x,className:n.badgeOverlap,sx:{height:16},children:(0,P.jsx)(Pn,{style:{minWidth:16,minHeight:16,width:16,height:16,marginTop:-3}})}),variant:"regular",onClick:function(){Fe(!0)},disabled:!be||!(0,y.F)(Hn,[N.Ft.S3_GET_OBJECT])})}),(0,P.jsx)(O.Z,{tooltip:"Reload List",children:(0,P.jsx)(p.z,{id:"refresh-objects-list",label:"Refresh",icon:(0,P.jsx)(Ln,{}),variant:"regular",onClick:function(){t(T?(0,F.Eq)(!0):(0,F.MU)(!0))},disabled:!(0,y.F)(Hn,[N.Ft.S3_LIST_BUCKET])||x})}),(0,P.jsx)("input",{type:"file",multiple:!0,onChange:$n,style:{display:"none"},ref:Vn}),(0,P.jsx)("input",{type:"file",multiple:!0,onChange:$n,style:{display:"none"},ref:Yn}),(0,P.jsx)(K,{bucketName:Hn,uploadPath:ht.join("/"),uploadFileFunction:function(e){Vn&&Vn.current&&Vn.current.click(),e()},uploadFolderFunction:function(e){Yn&&Yn.current&&Yn.current.click(),e()}})]})})})}),(0,P.jsxs)("div",(0,i.Z)((0,i.Z)({id:"object-list-wrapper"},tt({style:(0,i.Z)({},st)})),{},{children:[(0,P.jsx)("input",(0,i.Z)({},it())),(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:n.tableBlock,sx:{border:"#EAEDEE 1px solid",borderTop:0},children:[T?(0,P.jsx)(o.Fragment,{children:null!==A&&(0,P.jsx)(kn,{internalPaths:A,bucketName:Hn})}):(0,P.jsx)(y.s,{scopes:[N.Ft.S3_LIST_BUCKET],resource:Hn,errorProps:{disabled:!0},children:(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:n.fullContainer,children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.breadcrumbsContainer,children:(0,P.jsx)(D,{bucketName:Hn,internalPaths:ct,existingFiles:$||[],additionalOptions:!be||x?null:(0,P.jsx)("div",{children:(0,P.jsx)(Cn.Z,{name:"deleted_objects",id:"showDeletedObjects",value:"deleted_on",label:"Show deleted objects",onChange:function(){t((0,F.mz)(!I)),xt(!0)},checked:I,overrideLabelClasses:n.labelStyle,className:n.overrideShowDeleted,noTopMargin:!0})}),hidePathButton:!1})}),(0,P.jsx)(g.Z,{itemActions:vt,columns:x?gn:bn,isLoading:M,loadingMessage:de,entityName:"Objects",idField:"name",records:ut,customPaperHeight:"".concat(n.browsePaper," ").concat(Y?"isEmbedded":""," ").concat(L?"actionsPanelOpen":""),selectedItems:Le,onSelect:function(e){var n=e.target,i=n.value,o=n.checked,a=(0,h.Z)(Le);return o?a.push(i):a=a.filter((function(e){return e!==i})),De(a),t((0,F.EE)(null)),a},customEmptyMessage:"This location is empty".concat(x?"":", please try uploading a new file"),sortConfig:{currentSort:nn,currentDirection:Xe,triggerSort:function(e){var n=v()(e,"sortDirection","DESC");tn(e.sortBy),$e(n),t((0,F.MU)(!0))}},onSelectAll:function(){if(t((0,F.EE)(null)),Le.length!==ut.length){var e=ut.map((function(e){return e.name}));De(e)}else De([])},rowStyle:function(e){var n,t=e.index;return null!==(n=ut[t])&&void 0!==n&&n.delete_flag?"deleted":""},parentClassName:n.parentWrapper})]})}),(0,P.jsx)(y.s,{scopes:[N.Ft.S3_LIST_BUCKET],resource:Hn,errorProps:{disabled:!0},children:(0,P.jsxs)(H,{open:L,closePanel:function(){xt(!1)},className:"".concat(T?n.hideListOnSmall:""),children:[Le.length>0&&(0,P.jsx)(ke,{items:bt,title:"Selected Objects:"}),null!==A&&(0,P.jsx)(mn,{internalPaths:A,bucketName:Hn,onClosePanel:xt,versioning:be,locking:we})]})})]})]}))]})]})},Hn=t(32291),Vn=t(95792),Yn=t(84669),qn=t(59114),Xn=t(73996),$n=t(49535),Qn=(0,c.Z)((function(e){return(0,r.Z)((0,i.Z)({},(0,u.Bz)(e.spacing(4))))}))((function(){var e=(0,d.TL)(),n=(0,s.s0)(),t=(0,s.UO)(),i=(0,s.TH)(),r=(0,a.v9)((function(e){return e.objectBrowser.versionsMode})),c=(0,a.v9)((function(e){return e.objectBrowser.searchObjects})),u=(0,a.v9)((function(e){return e.objectBrowser.versionedFile})),h=(0,a.v9)((function(e){return e.objectBrowser.searchVersions})),m=(0,a.v9)(On.$4),f=t.bucketName||"",x=i.pathname.split("/browse/"),v=2===x.length?x[1]:"",b=!(null===m||void 0===m||!m.includes("object-browser-only"));(0,o.useEffect)((function(){e((0,F.db)({status:!1}))}),[v,e]);var g=(0,$n.Z)(f,[N.Ft.S3_GET_BUCKET_POLICY,N.Ft.S3_PUT_BUCKET_POLICY,N.Ft.S3_GET_BUCKET_VERSIONING,N.Ft.S3_PUT_BUCKET_VERSIONING,N.Ft.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION,N.Ft.S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION,N.Ft.S3_DELETE_BUCKET,N.Ft.S3_GET_BUCKET_NOTIFICATIONS,N.Ft.S3_PUT_BUCKET_NOTIFICATIONS,N.Ft.S3_GET_REPLICATION_CONFIGURATION,N.Ft.S3_PUT_REPLICATION_CONFIGURATION,N.Ft.S3_GET_LIFECYCLE_CONFIGURATION,N.Ft.S3_PUT_LIFECYCLE_CONFIGURATION,N.Ft.ADMIN_GET_BUCKET_QUOTA,N.Ft.ADMIN_SET_BUCKET_QUOTA,N.Ft.S3_PUT_BUCKET_TAGGING,N.Ft.S3_GET_BUCKET_TAGGING,N.Ft.S3_LIST_BUCKET_VERSIONS,N.Ft.S3_GET_BUCKET_POLICY_STATUS,N.Ft.S3_DELETE_BUCKET_POLICY]),j=(0,P.jsx)(o.Fragment,{children:r?(0,P.jsx)(o.Fragment,{children:(0,P.jsx)(qn.Z,{placeholder:"Start typing to filter versions of ".concat(u),onChange:function(n){e((0,F.Pr)(n))},value:h})}):(0,P.jsx)(y.s,{scopes:[N.Ft.S3_LIST_BUCKET],resource:f,errorProps:{disabled:!0},children:(0,P.jsx)(qn.Z,{placeholder:"Start typing to filter objects in the bucket",onChange:function(n){e((0,F.G4)(n))},value:c})})});return(0,P.jsxs)(o.Fragment,{children:[b?(0,P.jsxs)(l.ZP,{container:!0,sx:{padding:"20px 32px 0"},children:[(0,P.jsx)(l.ZP,{children:(0,P.jsx)(Xn.Z,{marginRight:30,marginTop:10})}),(0,P.jsx)(l.ZP,{item:!0,xs:!0,children:j})]}):(0,P.jsx)(Hn.Z,{label:(0,P.jsx)(Yn.Z,{label:"Buckets",to:N.gA.BUCKETS}),actions:(0,P.jsx)(y.s,{scopes:N.D[N.EI.BUCKET_ADMIN],resource:f,errorProps:{disabled:!0},children:(0,P.jsx)(O.Z,{tooltip:g?"Configure Bucket":"You do not have the required permissions to configure this bucket. Please contact your MinIO administrator to request "+N.EI.BUCKET_ADMIN+" permisions.",children:(0,P.jsx)(p.z,{id:"configure-bucket-main",color:"primary","aria-label":"Configure Bucket",onClick:function(){n("/buckets/".concat(f,"/admin"))},icon:(0,P.jsx)(Vn.Z,{style:{width:20,height:20,marginTop:-3}}),style:{padding:"0 10px"}})})}),middleComponent:j}),(0,P.jsx)(l.ZP,{children:(0,P.jsx)(Jn,{})})]})}))},34433:function(e,n,t){t.r(n),t.d(n,{default:function(){return k}});var i=t(29439),o=t(1413),a=t(72791),s=t(26181),r=t.n(s),c=t(60364),l=t(75952),d=t(11135),u=t(25787),h=t(78029),m=t.n(h),f=t(61889),p=t(40986),x=t(23814),v=t(81207),b=t(56028),g=t(64163),j=t(30829),Z=t(72426),S=t.n(Z),_=t(21435),C=t(38734),T=t(80184),w=(0,u.Z)((function(e){return(0,d.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},x.YI),x.Hr),{},{labelContainer:{display:"flex",alignItems:"center",marginBottom:15},fieldContainer:(0,o.Z)((0,o.Z)({},x.YI.fieldContainer),{},{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:10,marginTop:11,marginBottom:6}),dateInputContainer:{margin:"0 10px"},durationInputs:{display:"flex",alignItems:"center",justifyContent:"flex-start"},validityIndicator:{display:"flex",alignItems:"center",justifyContent:"flex-start",marginTop:25,marginLeft:10},invalidDurationText:{marginTop:15,display:"flex",color:"red",fontSize:11},reverseInput:{flexFlow:"row-reverse","& > label":{fontWeight:400,marginLeft:15,marginRight:25}},validityText:{fontSize:14,marginTop:15,display:"flex",alignItems:"center",justifyContent:"center","@media (max-width: 900px)":{flexFlow:"column"},"& > .min-icon":{color:"#5E5E5E",width:15,height:15,marginRight:10}},validTill:{fontWeight:"bold",marginLeft:15}}))}))((function(e){var n=e.classes,t=e.id,o=e.initialDate,s=e.label,r=e.maxDays,c=e.entity,l=e.onChange,d=(0,a.useState)(7),u=(0,i.Z)(d,2),h=u[0],m=u[1],p=(0,a.useState)(0),x=(0,i.Z)(p,2),v=x[0],b=x[1],g=(0,a.useState)(0),Z=(0,i.Z)(g,2),w=Z[0],E=Z[1],y=(0,a.useState)(!0),N=(0,i.Z)(y,2),I=N[0],k=N[1],F=(0,a.useState)(S()()),O=(0,i.Z)(F,2),P=O[0],L=O[1];(0,a.useEffect)((function(){L(function(e,n,t,i){return S()(e).add(n,"days").add(t,"hours").add(i,"minutes")}(o,h,v,w))}),[o,h,v,w]),(0,a.useEffect)((function(){I?l(P.format("YYYY-MM-DDTHH:mm:ss"),!0):l("0000-00-00",!1)}),[P,l,I]),(0,a.useEffect)((function(){var e=!0;(h<0||r&&h>r||isNaN(h))&&(e=!1),(v<0||v>23||isNaN(v))&&(e=!1),(w<0||w>59||isNaN(w))&&(e=!1),!r||h!==r||0===v&&0===w||(e=!1),k(e)}),[P,r,l,h,v,w]);var D={style:{textAlign:"center",paddingRight:10,paddingLeft:10,width:25},className:"removeArrows"};return(0,T.jsx)(a.Fragment,{children:(0,T.jsxs)(f.ZP,{container:!0,className:n.fieldContainer,children:[(0,T.jsx)(f.ZP,{item:!0,xs:12,className:n.labelContainer,children:(0,T.jsx)(j.Z,{htmlFor:t,className:n.inputLabel,sx:{marginLeft:"10px"},children:(0,T.jsx)("span",{children:s})})}),(0,T.jsxs)(f.ZP,{item:!0,xs:12,className:n.durationInputs,children:[(0,T.jsx)(f.ZP,{item:!0,className:n.dateInputContainer,children:(0,T.jsx)(_.Z,{id:t,className:n.reverseInput,type:"number",min:"0",max:r?r.toString():"999",label:"Days",name:t,onChange:function(e){m(parseInt(e.target.value))},value:h.toString(),extraInputProps:D,noLabelMinWidth:!0})}),(0,T.jsx)(f.ZP,{item:!0,className:n.dateInputContainer,children:(0,T.jsx)(_.Z,{id:t,className:n.reverseInput,type:"number",min:"0",max:"23",label:"Hours",name:t,onChange:function(e){b(parseInt(e.target.value))},value:v.toString(),extraInputProps:D,noLabelMinWidth:!0})}),(0,T.jsx)(f.ZP,{item:!0,className:n.dateInputContainer,children:(0,T.jsx)(_.Z,{id:t,className:n.reverseInput,type:"number",min:"0",max:"59",label:"Minutes",name:t,onChange:function(e){E(parseInt(e.target.value))},value:w.toString(),extraInputProps:D,noLabelMinWidth:!0})})]}),(0,T.jsx)(f.ZP,{item:!0,xs:12,className:"".concat(n.validityIndicator," ").concat(n.formFieldRow),children:I?(0,T.jsxs)("div",{className:n.validityText,children:[(0,T.jsx)(C.xPt,{}),(0,T.jsxs)("div",{className:n.validityLabel,children:[c," will be available until:"]})," ",(0,T.jsx)("div",{className:n.validTill,children:P.format("MM/DD/YYYY HH:mm:ss")})]}):(0,T.jsx)("div",{className:n.invalidDurationText,children:"Please select a valid duration."})})]})})})),E=t(45248),y=t(87995),N=t(25469),I=a.lazy((function(){return Promise.resolve().then(t.bind(t,79880))})),k=(0,u.Z)((function(e){return(0,d.Z)((0,o.Z)((0,o.Z)({shareLinkInfo:{fontSize:14,fontWeight:400},copyShareLink:{display:"flex","@media (max-width: 900px)":{flexFlow:"column",alignItems:"center",justifyContent:"center"}},copyShareLinkInput:{"& div:first-child":{marginTop:0},"@media (max-width: 900px)":{minWidth:250}},copyShareLinkBtn:{display:"flex",alignItems:"center",justifyContent:"center","@media (max-width: 900px)":{marginTop:10}}},x.ID),x.DF))}))((function(e){var n=e.classes,t=e.open,o=e.closeModalAndRefresh,s=e.bucketName,d=e.dataObject,u=(0,N.TL)(),h=(0,c.v9)(y.N5),x=(0,a.useState)(""),j=(0,i.Z)(x,2),Z=j[0],S=j[1],_=(0,a.useState)(!0),k=(0,i.Z)(_,2),F=k[0],O=k[1],P=(0,a.useState)(!1),L=(0,i.Z)(P,2),D=L[0],B=L[1],R=(0,a.useState)(""),z=(0,i.Z)(R,2),A=z[0],M=z[1],U=(0,a.useState)(!0),G=(0,i.Z)(U,2),K=G[0],W=G[1],J=(0,a.useState)("null"),H=(0,i.Z)(J,2),V=H[0],Y=H[1],q=new Date;return(0,a.useEffect)((function(){if(void 0===d.version_id)return h?(v.Z.invoke("GET","/api/v1/buckets/".concat(s,"/objects?prefix=").concat((0,E.LL)(d.name)).concat(h?"&with_versions=true":"")).then((function(e){var n=r()(e,"objects",[]).find((function(e){return e.is_latest}));Y(n?n.version_id:"null")})).catch((function(e){u((0,y.zb)(e))})),void O(!1)):(Y("null"),void O(!1));Y(d.version_id||"null"),O(!1)}),[s,d,h,u]),(0,a.useEffect)((function(){if(K&&!F){B(!0),S("");var e=new Date("".concat(A)),n=new Date,t=Math.ceil((e.getTime()-n.getTime())/1e3);t>0&&v.Z.invoke("GET","/api/v1/buckets/".concat(s,"/objects/share?prefix=").concat((0,E.LL)(d.name),"&version_id=").concat(V).concat(""!==A?"&expires=".concat(t,"s"):"")).then((function(e){S(e),B(!1)})).catch((function(e){u((0,y.zb)(e)),S(""),B(!1)}))}}),[d,A,s,K,S,u,h,F,V]),(0,T.jsx)(a.Fragment,{children:(0,T.jsxs)(b.Z,{title:"Share File",titleIcon:(0,T.jsx)(C.aAc,{style:{fill:"#4CCB92"}}),modalOpen:t,onClose:function(){o()},children:[F&&(0,T.jsx)(f.ZP,{item:!0,xs:12,children:(0,T.jsx)(p.Z,{})}),!F&&(0,T.jsxs)(a.Fragment,{children:[(0,T.jsxs)(f.ZP,{item:!0,xs:12,className:n.shareLinkInfo,children:["This is a temporary URL with integrated access credentials for sharing objects valid for up to 7 days.",(0,T.jsx)("br",{}),(0,T.jsx)("br",{}),"The temporary URL expires after the configured time limit."]}),(0,T.jsx)("br",{}),(0,T.jsx)(f.ZP,{item:!0,xs:12,className:n.dateContainer,children:(0,T.jsx)(w,{initialDate:q,id:"date",label:"Active for",maxDays:7,onChange:function(e,n){W(n),n?M(e):(M(""),S(""))},entity:"Link"})}),(0,T.jsx)(f.ZP,{item:!0,xs:12,className:"".concat(n.copyShareLink," ").concat(n.formFieldRow," "),children:(0,T.jsx)(f.ZP,{item:!0,xs:12,className:n.copyShareLinkInput,children:(0,T.jsx)(g.Z,{content:Z,actionButton:(0,T.jsx)(m(),{text:Z,children:(0,T.jsx)(l.z,{id:"copy-path",variant:"regular",onClick:function(){u((0,y.MK)("Share URL Copied to clipboard"))},disabled:""===Z||D,style:{marginRight:"5px",width:"28px",height:"28px",padding:"0px"},icon:(0,T.jsx)(I,{})})})})})})]})]})})}))},78562:function(e,n,t){t.r(n),t.d(n,{default:function(){return v}});var i=t(72791),o=t(56028),a=t(4942),s=t(29439),r=t(11135),c=t(25787),l=t(61889),d=t(40986),u=t(47922),h=t(45248),m=t(28182),f=t(80184),p=(0,c.Z)((function(){return(0,r.Z)({iframeContainer:{border:"0px",flex:"1 1 auto",width:"100%",height:250,backgroundColor:"transparent",borderRadius:5,"&.image":{height:500},"&.text":{height:700},"&.audio":{height:150},"&.video":{height:350},"&.fullHeight":{height:"calc(100vh - 185px)"}},iframeBase:{backgroundColor:"#fff"},iframeHidden:{display:"none"}})}))((function(e){var n=e.bucketName,t=e.object,o=e.isFullscreen,r=void 0!==o&&o,c=e.classes,p=(0,i.useState)(!0),x=(0,s.Z)(p,2),v=x[0],b=x[1],g="";if(t){var j=(0,h.LL)(t.name),Z=document.baseURI.replace(window.location.origin,"");g="".concat(window.location.origin).concat(Z,"api/v1/buckets/").concat(n,"/objects/download?preview=true&prefix=").concat(j),t.version_id&&(g=g.concat("&version_id=".concat(t.version_id)))}var S=(0,u.Bg)((null===t||void 0===t?void 0:t.name)||""),_=function(){b(!1)};return(0,f.jsxs)(i.Fragment,{children:[v&&(0,f.jsx)(l.ZP,{item:!0,xs:12,children:(0,f.jsx)(d.Z,{})}),(0,f.jsxs)("div",{style:{textAlign:"center"},children:["video"===S&&(0,f.jsx)("video",{style:{width:"auto",height:"auto",maxWidth:"calc(100vw - 100px)",maxHeight:"calc(100vh - 200px)"},autoPlay:!0,controls:!0,muted:!1,playsInline:!0,onPlay:_,children:(0,f.jsx)("source",{src:g,type:"video/mp4"})}),"audio"===S&&(0,f.jsx)("audio",{style:{width:"100%",height:"auto"},autoPlay:!0,controls:!0,muted:!1,playsInline:!0,onPlay:_,children:(0,f.jsx)("source",{src:g,type:"audio/mpeg"})}),"image"===S&&(0,f.jsx)("img",{style:{width:"auto",height:"auto",maxWidth:"100vw",maxHeight:"100vh"},src:g,alt:"preview",onLoad:_}),"video"!==S&&"audio"!==S&&"image"!==S&&(0,f.jsx)("div",{className:(0,m.Z)(c.iframeBase,(0,a.Z)({},c.iframeHidden,v)),children:(0,f.jsx)("iframe",{src:g,title:"File Preview",allowTransparency:!0,className:"".concat(c.iframeContainer," ").concat(r?"fullHeight":S),onLoad:_,children:"File couldn't be loaded. Please try Download instead"})})]})]})})),x=t(38734),v=function(e){var n=e.open,t=e.bucketName,a=e.object,s=e.onClosePreview;return(0,f.jsx)(i.Fragment,{children:(0,f.jsx)(o.Z,{modalOpen:n,title:"Preview - ".concat(null===a||void 0===a?void 0:a.name),onClose:s,wideLimit:!1,titleIcon:(0,f.jsx)(x.$30,{}),children:(0,f.jsx)(p,{bucketName:t,object:a})})})}},47922:function(e,n,t){t.d(n,{Bg:function(){return s},LR:function(){return a},P_:function(){return r},kh:function(){return c}});var i=t(45248),o=t(76610),a=function(e,n,t,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,r=arguments.length>5?arguments[5]:void 0,c=arguments.length>6?arguments[6]:void 0,l=arguments.length>7?arguments[7]:void 0,d=arguments.length>8?arguments[8]:void 0,u=arguments.length>9?arguments[9]:void 0,h=document.createElement("a");document.body.appendChild(h);var m=document.baseURI.replace(window.location.origin,""),f="".concat(window.location.origin).concat(m,"api/v1/buckets/").concat(e,"/objects/download?prefix=").concat(n).concat(null!==s&&""!==s.trim()?"&override_file_name=".concat((0,i.LL)(s||"")):"");t&&(f=f.concat("&version_id=".concat(t)));var p=new XMLHttpRequest;return p.open("GET",f,!0),p.addEventListener("progress",(function(e){var n=Math.round(e.loaded/a*100);c&&c(n)}),!1),p.responseType="blob",p.onreadystatechange=function(){if(4===p.readyState)if(200===p.status){var e=p.getResponseHeader("Content-Disposition"),n="download";if(e)n=decodeURIComponent(e).split('"')[1];l&&l(),(0,o.GM)(r);var t=document.createElement("a");t.href=window.URL.createObjectURL(p.response),t.download=n,document.body.appendChild(t),t.click(),document.body.removeChild(t)}else{if("application/json"===p.getResponseHeader("Content-Type")){var i=JSON.parse(p.response);if(i.detailedMessage)return void d(i.detailedMessage)}d("Unexpected response status code (".concat(p.status,")."))}},p.onerror=function(){d&&d("A network error occurred.")},p.onabort=function(){u&&u()},p},s=function(e){var n=e.split(".").pop();return n?(n=n.toLowerCase(),["jif","jfif","apng","avif","svg","webp","bmp","ico","jpg","jpe","jpeg","gif","png","heic"].includes(n)?"image":["pdf","txt","json"].includes(n)?"text":["wav","mp3","alac","aiff","dsd","pcm"].includes(n)?"audio":["mp4","avi","mpg","webm","mov","flv","mkv","wmv","avchd","mpeg-4"].includes(n)?"video":"none"):"none"},r=function(e){switch(e){case"name":return function(e,n){return e.name.localeCompare(n.name)};case"last_modified":return function(e,n){return new Date(e.last_modified).getTime()-new Date(n.last_modified).getTime()};case"size":return function(e,n){return(e.size||-1)-(n.size||-1)}}},c=function(e,n,t){if(0===t.length)return null;var i=t.filter((function(n){return n.resource.endsWith(":".concat(e))||n.resource.includes(":".concat(e,"/"))}));if(0===i.length)return null;var o=[],a=n.split("/");return i.forEach((function(e){var n=(e.resource.split(":").pop()||"").split("/");n.length>1&&n.every((function(e,n){return"*"!==e&&((!a[n]||a[n]===e)&&(a[n]||o.push({name:"".concat(e,"/"),size:0,last_modified:new Date,version_id:""}),!0))})),"StringEquals"!==e.conditionOperator&&"StringLike"!==e.conditionOperator||e.prefixes.forEach((function(e){if(""!==e){var n=e.split("/"),t=[];n.every((function(e,n){return!e.includes("*")&&""!==e&&(e!==a[n]?(o.push({name:"".concat(t.join("/")).concat(t.length>0?"/":"").concat(e,"/"),size:0,last_modified:new Date,version_id:""}),!1):(""!==e&&t.push(e),!0))}))}}))})),o}},73996:function(e,n,t){t(72791);var i=t(38734),o=t(60364),a=t(80184);n.Z=function(e){var n=e.marginRight,s=e.marginTop,r=t(47045),c=(0,o.v9)((function(e){return e.system.overrideStyles})),l=r((null===c||void 0===c?void 0:c.backgroundColor)||"#fff").getBrightness()<=128;return(0,a.jsx)(i.BHR,{style:{width:105,marginRight:n,marginTop:s,fill:l?"#fff":"#081C42"}})}},75578:function(e,n,t){var i=t(1413),o=t(72791),a=t(80184);n.Z=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function t(t){return(0,a.jsx)(o.Suspense,{fallback:n,children:(0,a.jsx)(e,(0,i.Z)({},t))})}return t}},64163:function(e,n,t){var i=t(1413),o=t(72791),a=t(61889),s=t(11135),r=t(25787),c=t(23814),l=t(80184);n.Z=(0,r.Z)((function(e){return(0,s.Z)((0,i.Z)({},c.xx))}))((function(e){var n=e.classes,t=e.label,i=void 0===t?"":t,s=e.content,r=e.multiLine,c=void 0!==r&&r,d=e.actionButton;return(0,l.jsx)(o.Fragment,{children:(0,l.jsxs)(a.ZP,{className:n.prefinedContainer,children:[""!==i&&(0,l.jsx)(a.ZP,{item:!0,xs:12,className:n.predefinedTitle,children:i}),(0,l.jsxs)(a.ZP,{item:!0,xs:12,className:"".concat(n.predefinedList," ").concat(d?n.includesActionButton:""),children:[(0,l.jsx)(a.ZP,{item:!0,xs:12,className:c?n.innerContentMultiline:n.innerContent,children:s}),d&&(0,l.jsx)("div",{className:n.overlayShareOption,children:d})]})]})})}))},56028:function(e,n,t){var i=t(29439),o=t(1413),a=t(72791),s=t(60364),r=t(13400),c=t(55646),l=t(5574),d=t(65661),u=t(39157),h=t(11135),m=t(25787),f=t(23814),p=t(25469),x=t(29823),v=t(28057),b=t(87995),g=t(80184);n.Z=(0,m.Z)((function(e){return(0,h.Z)((0,o.Z)((0,o.Z)({},f.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},f.sN))}))((function(e){var n=e.onClose,t=e.modalOpen,h=e.title,m=e.children,f=e.classes,j=e.wideLimit,Z=void 0===j||j,S=e.noContentPadding,_=e.titleIcon,C=void 0===_?null:_,T=(0,p.TL)(),w=(0,a.useState)(!1),E=(0,i.Z)(w,2),y=E[0],N=E[1],I=(0,s.v9)((function(e){return e.system.modalSnackBar}));(0,a.useEffect)((function(){T((0,b.MK)(""))}),[T]),(0,a.useEffect)((function(){if(I){if(""===I.message)return void N(!1);"error"!==I.type&&N(!0)}}),[I]);var k=Z?{classes:{paper:f.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},F="";return I&&(F=I.detailedErrorMsg,(""===I.detailedErrorMsg||I.detailedErrorMsg.length<5)&&(F=I.message)),(0,g.jsxs)(l.Z,(0,o.Z)((0,o.Z)({open:t,classes:f},k),{},{scroll:"paper",onClose:function(e,t){"backdropClick"!==t&&n()},className:f.root,children:[(0,g.jsxs)(d.Z,{className:f.title,children:[(0,g.jsxs)("div",{className:f.titleText,children:[C," ",h]}),(0,g.jsx)("div",{className:f.closeContainer,children:(0,g.jsx)(r.Z,{"aria-label":"close",id:"close",className:f.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,g.jsx)(x.Z,{})})})]}),(0,g.jsx)(v.Z,{isModal:!0}),(0,g.jsx)(c.Z,{open:y,className:f.snackBarModal,onClose:function(){N(!1),T((0,b.MK)(""))},message:F,ContentProps:{className:"".concat(f.snackBar," ").concat(I&&"error"===I.type?f.errorSnackBar:"")},autoHideDuration:I&&"error"===I.type?1e4:5e3}),(0,g.jsx)(u.Z,{className:S?"":f.content,children:m})]}))}))},59114:function(e,n,t){var i=t(4942),o=t(1413),a=(t(72791),t(63466)),s=t(74900),r=t(27391),c=t(25787),l=t(11135),d=t(23814),u=t(80184);n.Z=(0,c.Z)((function(e){return(0,l.Z)({searchField:(0,o.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,o=e.classes,c=e.onChange,l=e.adornmentPosition,d=void 0===l?"end":l,h=e.overrideClass,m=e.value,f=(0,i.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(a.Z,{position:d,className:o.adornment,children:(0,u.jsx)(s.Z,{})}));return(0,u.jsx)(r.Z,{placeholder:t,className:h||o.searchField,id:"search-resource",label:"",InputProps:f,onChange:function(e){c(e.target.value)},variant:"standard",value:m})}))},27454:function(e,n,t){var i=t(1413),o=t(72791),a=t(20068),s=t(80184);n.Z=function(e){var n=e.tooltip,t=e.children,r=e.errorProps,c=void 0===r?null:r;return(0,s.jsx)(a.Z,{title:n,children:(0,s.jsx)("span",{children:c?(0,o.cloneElement)(t,(0,i.Z)({},c)):t})})}},73669:function(e,n,t){var i=t(29439),o=t(72791),a=t(64554),s=t(75952),r=t(21435),c=t(38734),l=t(80184);n.Z=function(e){var n=e.value,t=(0,o.useState)(!1),d=(0,i.Z)(t,2),u=d[0],h=d[1];return(0,l.jsxs)(a.Z,{sx:{display:"flex",alignItems:"center",flexFlow:{sm:"row",xs:"column"}},children:[(0,l.jsx)(r.Z,{id:"inspect-dec-key",name:"inspect-dec-key",placeholder:"",label:"",type:u?"text":"password",onChange:function(){},value:n,overlayIcon:(0,l.jsx)(c.TIy,{}),extraInputProps:{readOnly:!0},overlayAction:function(){return navigator.clipboard.writeText(n)}}),(0,l.jsx)(s.z,{id:"show-hide-key",style:{marginLeft:"10px"},variant:"callAction",onClick:function(){return h(!u)},label:"Show/Hide"})]})}}}]); -//# sourceMappingURL=1379.24a75cea.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1379.24a75cea.chunk.js.map b/portal-ui/build/static/js/1379.24a75cea.chunk.js.map deleted file mode 100644 index 4585449fc..000000000 --- a/portal-ui/build/static/js/1379.24a75cea.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/1379.24a75cea.chunk.js","mappings":"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","sources":["screens/Console/ObjectBrowser/BrowserBreadcrumbs.tsx","screens/Console/Buckets/ListBuckets/UploadFilesButton.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DetailsListPanel.tsx","screens/Console/Common/FormComponents/DateSelector/utils.ts","screens/Console/Common/FormComponents/DateSelector/DateSelector.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetRetention.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteObject.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetLegalHoldModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ObjectMetaData.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectActionButton.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ActionsListSection.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/IconWithLabel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/utils.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/TagsModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/InspectObject.tsx","screens/Console/ObjectBrowser/RenameLongFilename.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjectsHelpers.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/RestoreFileVersion.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SpecificVersionPill.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/FileVersionItem.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteNonCurrent.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/DeleteSelectedVersions.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjects.tsx","screens/Console/Buckets/BucketDetails/BrowserHandler.tsx","screens/Console/Common/FormComponents/DaysSelector/DaysSelector.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ShareFile.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileContent.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileModal.tsx","screens/Console/Buckets/ListBuckets/Objects/utils.ts","screens/Console/Common/Components/AutoColorIcon.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Common/TooltipWrapper/TooltipWrapper.tsx","screens/Console/Tools/KeyRevealer.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport Grid from \"@mui/material/Grid\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport { IconButton } from \"@mui/material\";\nimport { objectBrowserCommon } from \"../Common/FormComponents/common/styleLibrary\";\nimport { encodeURLString } from \"../../../common/utils\";\nimport { BackCaretIcon, CopyIcon, NewPathIcon } from \"../../../icons\";\nimport { hasPermission } from \"../../../common/SecureComponent\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../common/SecureComponent/permissions\";\nimport { BucketObjectItem } from \"../Buckets/ListBuckets/Objects/ListObjects/types\";\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport { setSnackBarMessage } from \"../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { setVersionsModeEnabled } from \"./objectBrowserSlice\";\nimport { Button } from \"mds\";\nimport TooltipWrapper from \"../Common/TooltipWrapper/TooltipWrapper\";\n\nconst CreatePathModal = withSuspense(\n React.lazy(\n () => import(\"../Buckets/ListBuckets/Objects/ListObjects/CreatePathModal\")\n )\n);\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...objectBrowserCommon,\n slashSpacingStyle: {\n margin: \"0 5px\",\n },\n });\n\ninterface IObjectBrowser {\n classes: any;\n bucketName: string;\n internalPaths: string;\n hidePathButton?: boolean;\n existingFiles: BucketObjectItem[];\n additionalOptions?: React.ReactNode;\n}\n\nconst BrowserBreadcrumbs = ({\n classes,\n bucketName,\n internalPaths,\n existingFiles,\n hidePathButton,\n additionalOptions,\n}: IObjectBrowser) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const rewindEnabled = useSelector(\n (state: AppState) => state.objectBrowser.rewind.rewindEnabled\n );\n const versionsMode = useSelector(\n (state: AppState) => state.objectBrowser.versionsMode\n );\n const versionedFile = useSelector(\n (state: AppState) => state.objectBrowser.versionedFile\n );\n\n const [createFolderOpen, setCreateFolderOpen] = useState(false);\n\n const canCreatePath = hasPermission(bucketName, [IAM_SCOPES.S3_PUT_OBJECT]);\n\n let paths = internalPaths;\n\n if (internalPaths !== \"\") {\n paths = `/${internalPaths}`;\n }\n\n const splitPaths = paths.split(\"/\").filter((path) => path !== \"\");\n const lastBreadcrumbsIndex = splitPaths.length - 1;\n\n let breadcrumbsMap = splitPaths.map((objectItem: string, index: number) => {\n const subSplit = `${splitPaths.slice(0, index + 1).join(\"/\")}/`;\n const route = `/buckets/${bucketName}/browse/${\n subSplit ? `${encodeURLString(subSplit)}` : ``\n }`;\n\n if (index === lastBreadcrumbsIndex && objectItem === versionedFile) {\n return null;\n }\n\n return (\n \n /\n {index === lastBreadcrumbsIndex ? (\n {objectItem}\n ) : (\n {\n dispatch(\n setVersionsModeEnabled({ status: false, objectName: \"\" })\n );\n }}\n >\n {objectItem}\n \n )}\n \n );\n });\n\n let versionsItem: any[] = [];\n\n if (versionsMode) {\n versionsItem = [\n \n \n /\n {versionedFile} - Versions\n \n ,\n ];\n }\n\n const listBreadcrumbs: any[] = [\n \n {\n dispatch(setVersionsModeEnabled({ status: false, objectName: \"\" }));\n }}\n >\n {bucketName}\n \n ,\n ...breadcrumbsMap,\n ...versionsItem,\n ];\n\n const closeAddFolderModal = () => {\n setCreateFolderOpen(false);\n };\n\n const goBackFunction = () => {\n if (versionsMode) {\n dispatch(setVersionsModeEnabled({ status: false, objectName: \"\" }));\n } else {\n navigate(-1);\n }\n };\n\n return (\n \n
\n {createFolderOpen && (\n \n )}\n \n \n \n \n
\n {listBreadcrumbs}\n
\n \n \n }\n variant={\"regular\"}\n onClick={() => {\n dispatch(setSnackBarMessage(\"Path copied to clipboard\"));\n }}\n style={{\n width: \"28px\",\n height: \"28px\",\n color: \"#969FA8\",\n border: \"#969FA8 1px solid\",\n marginRight: 5,\n }}\n />\n \n
{additionalOptions}
\n
\n {!hidePathButton && (\n \n {\n setCreateFolderOpen(true);\n }}\n disabled={rewindEnabled || !canCreatePath}\n icon={}\n style={{\n whiteSpace: \"nowrap\",\n }}\n variant={\"regular\"}\n label={\"Create new path\"}\n />\n \n )}\n
\n
{additionalOptions}
\n
\n );\n};\n\nexport default withStyles(styles)(BrowserBreadcrumbs);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Menu, MenuItem } from \"@mui/material\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport ListItemText from \"@mui/material/ListItemText\";\nimport ListItemIcon from \"@mui/material/ListItemIcon\";\nimport { UploadFolderIcon, UploadIcon } from \"../../../../icons\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../../common/SecureComponent/permissions\";\nimport { hasPermission } from \"../../../../common/SecureComponent\";\nimport { Button } from \"mds\";\nimport TooltipWrapper from \"../../Common/TooltipWrapper/TooltipWrapper\";\n\ninterface IUploadFilesButton {\n uploadPath: string;\n bucketName: string;\n forceDisable?: boolean;\n uploadFileFunction: (closeFunction: () => void) => void;\n uploadFolderFunction: (closeFunction: () => void) => void;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n listUploadIcons: {\n height: 20,\n \"& .min-icon\": {\n width: 18,\n fill: \"rgba(0,0,0,0.87)\",\n },\n },\n });\n\nconst UploadFilesButton = ({\n uploadPath,\n bucketName,\n forceDisable = false,\n uploadFileFunction,\n uploadFolderFunction,\n classes,\n}: IUploadFilesButton) => {\n const [anchorEl, setAnchorEl] = React.useState(null);\n const openUploadMenu = Boolean(anchorEl);\n const handleClick = (event: React.MouseEvent) => {\n setAnchorEl(event.currentTarget);\n };\n const handleCloseUpload = () => {\n setAnchorEl(null);\n };\n\n const uploadObjectAllowed = hasPermission(uploadPath, [\n IAM_SCOPES.S3_PUT_OBJECT,\n IAM_SCOPES.S3_STAR_OBJECT,\n ]);\n const uploadFolderAllowed = hasPermission(\n bucketName,\n [IAM_SCOPES.S3_PUT_OBJECT, IAM_SCOPES.S3_STAR_OBJECT],\n false,\n true\n );\n\n const uploadEnabled: boolean = uploadObjectAllowed || uploadFolderAllowed;\n\n return (\n \n \n }\n variant={\"callAction\"}\n disabled={forceDisable || !uploadEnabled}\n />\n \n {\n handleCloseUpload();\n }}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"center\",\n }}\n transformOrigin={{\n vertical: \"top\",\n horizontal: \"center\",\n }}\n >\n {\n uploadFileFunction(handleCloseUpload);\n }}\n disabled={!uploadObjectAllowed || forceDisable}\n >\n \n \n \n Upload File\n \n {\n uploadFolderFunction(handleCloseUpload);\n }}\n disabled={!uploadFolderAllowed || forceDisable}\n >\n \n \n \n Upload Folder\n \n \n \n );\n};\n\nexport default withStyles(styles)(UploadFilesButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { Grid, IconButton } from \"@mui/material\";\nimport { ClosePanelIcon } from \"../../../../../../icons\";\nimport makeStyles from \"@mui/styles/makeStyles\";\n\ninterface IDetailsListPanel {\n open: boolean;\n className?: string;\n closePanel: () => void;\n children: React.ReactNode;\n}\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n detailsList: {\n borderColor: \"#EAEDEE\",\n borderWidth: 0,\n borderStyle: \"solid\",\n borderRadius: 3,\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n width: 0,\n transitionDuration: \"0.3s\",\n overflowX: \"hidden\",\n overflowY: \"auto\",\n position: \"relative\",\n opacity: 0,\n marginLeft: -1,\n \"&.open\": {\n width: 300,\n minWidth: 300,\n borderLeftWidth: 1,\n opacity: 1,\n },\n \"@media (max-width: 799px)\": {\n \"&.open\": {\n width: \"100%\",\n minWidth: \"100%\",\n borderLeftWidth: 0,\n },\n },\n },\n closePanel: {\n position: \"absolute\",\n right: 0,\n top: 8,\n \"& .min-icon\": {\n width: 14,\n },\n },\n })\n);\n\nconst DetailsListPanel = ({\n open,\n closePanel,\n className = \"\",\n children,\n}: IDetailsListPanel) => {\n const classes = useStyles();\n\n return (\n \n \n \n \n {children}\n \n );\n};\n\nexport default DetailsListPanel;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const months = [\n { value: \"01\", label: \"January\" },\n { value: \"02\", label: \"February\" },\n { value: \"03\", label: \"March\" },\n { value: \"04\", label: \"April\" },\n { value: \"05\", label: \"May\" },\n { value: \"06\", label: \"June\" },\n { value: \"07\", label: \"July\" },\n { value: \"08\", label: \"August\" },\n { value: \"09\", label: \"September\" },\n { value: \"10\", label: \"October\" },\n { value: \"11\", label: \"November\" },\n { value: \"12\", label: \"December\" },\n];\n\nexport const days = Array.from(Array(31), (_, num) => num + 1);\n\nconst currentYear = new Date().getFullYear();\n\nexport const years = Array.from(\n Array(25),\n (_, numYear) => numYear + currentYear\n);\n\nexport const validDate = (year: string, month: string, day: string): any[] => {\n const currentDate = Date.parse(`${year}-${month}-${day}`);\n\n if (isNaN(currentDate)) {\n return [false, \"\"];\n }\n\n const parsedMonth = parseInt(month);\n const parsedDay = parseInt(day);\n\n const monthForString = parsedMonth < 10 ? `0${parsedMonth}` : parsedMonth;\n const dayForString = parsedDay < 10 ? `0${parsedDay}` : parsedDay;\n\n const parsedDate = new Date(currentDate).toISOString().split(\"T\")[0];\n const dateString = `${year}-${monthForString}-${dayForString}`;\n\n return [parsedDate === dateString, dateString];\n};\n\n// twoDigitDate gets a two digit string number used for months or days\n// returns \"NaN\" if number is NaN\nexport const twoDigitDate = (num: number): string => {\n return num < 10 ? `0${num}` : `${num}`;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useState,\n} from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport { SelectChangeEvent } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport InputLabel from \"@mui/material/InputLabel\";\nimport Tooltip from \"@mui/material/Tooltip\";\nimport FormControl from \"@mui/material/FormControl\";\nimport Select from \"@mui/material/Select\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport InputBase from \"@mui/material/InputBase\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport FormSwitchWrapper from \"../FormSwitchWrapper/FormSwitchWrapper\";\nimport { days, months, validDate, years } from \"./utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n dateInput: {\n \"&:not(:last-child)\": {\n marginRight: 22,\n },\n },\n ...fieldBasic,\n ...tooltipHelper,\n labelContainer: {\n flex: 1,\n },\n fieldContainer: {\n ...fieldBasic.fieldContainer,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n paddingBottom: 10,\n marginTop: 11,\n marginBottom: 6,\n },\n fieldContainerBorder: {\n borderBottom: \"#9c9c9c 1px solid\",\n marginBottom: 20,\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n \"& .MuiSelect-icon\": {\n color: \"#000\",\n \"&.Mui-disabled\": {\n color: \"#9c9c9c\",\n },\n },\n },\n input: {\n borderBottom: 0,\n fontSize: 12,\n },\n })\n)(InputBase);\n\ninterface IDateSelectorProps {\n classes: any;\n id: string;\n label: string;\n disableOptions?: boolean;\n addSwitch?: boolean;\n tooltip?: string;\n borderBottom?: boolean;\n value?: string;\n onDateChange: (date: string, isValid: boolean) => any;\n}\n\nconst DateSelector = forwardRef(\n (\n {\n classes,\n id,\n label,\n disableOptions = false,\n addSwitch = false,\n tooltip = \"\",\n borderBottom = false,\n onDateChange,\n value = \"\",\n }: IDateSelectorProps,\n ref: any\n ) => {\n useImperativeHandle(ref, () => ({ resetDate }));\n\n const [dateEnabled, setDateEnabled] = useState(false);\n const [month, setMonth] = useState(\"\");\n const [day, setDay] = useState(\"\");\n const [year, setYear] = useState(\"\");\n\n useEffect(() => {\n // verify if there is a current value\n // assume is in the format \"2021-12-30\"\n if (value !== \"\") {\n const valueSplit = value.split(\"-\");\n setYear(valueSplit[0]);\n setMonth(valueSplit[1]);\n // Turn to single digit to be displayed on dropdown buttons\n setDay(`${parseInt(valueSplit[2])}`);\n }\n }, [value]);\n\n useEffect(() => {\n const [isValid, dateString] = validDate(year, month, day);\n onDateChange(dateString, isValid);\n }, [month, day, year, onDateChange]);\n\n const resetDate = () => {\n setMonth(\"\");\n setDay(\"\");\n setYear(\"\");\n };\n\n const isDateDisabled = () => {\n if (disableOptions) {\n return disableOptions;\n } else if (addSwitch) {\n return !dateEnabled;\n } else {\n return false;\n }\n };\n\n const onMonthChange = (e: SelectChangeEvent) => {\n setMonth(e.target.value as string);\n };\n\n const onDayChange = (e: SelectChangeEvent) => {\n setDay(e.target.value as string);\n };\n\n const onYearChange = (e: SelectChangeEvent) => {\n setYear(e.target.value as string);\n };\n\n return (\n \n
\n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n {addSwitch && (\n {\n setDateEnabled(e.target.checked);\n if (!e.target.checked) {\n onDateChange(\"\", true);\n }\n }}\n switchOnly\n />\n )}\n
\n
\n
\n \n }\n >\n \n {\"\"}\n \n {months.map((option) => (\n \n {option.label}\n \n ))}\n \n \n \n }\n >\n \n {\"\"}\n \n {days.map((dayNumber) => (\n \n {dayNumber}\n \n ))}\n \n \n \n }\n >\n \n {\"\"}\n \n {years.map((year) => (\n \n {year}\n \n ))}\n \n \n
\n \n );\n }\n);\n\nexport default withStyles(styles)(DateSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useRef, useState } from \"react\";\n\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button } from \"mds\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { IFileInfo } from \"./types\";\n\nimport { twoDigitDate } from \"../../../../Common/FormComponents/DateSelector/utils\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport RadioGroupSelector from \"../../../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport DateSelector from \"../../../../Common/FormComponents/DateSelector/DateSelector\";\nimport api from \"../../../../../../common/api\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport { setModalErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n dateSelector: {\n \"& div\": {\n borderBottom: 0,\n marginBottom: 0,\n\n \"& div:nth-child(2)\": {\n border: \"1px solid #EAEAEA\",\n paddingLeft: 5,\n\n \"& div\": {\n border: 0,\n },\n },\n },\n },\n });\n\ninterface ISetRetentionProps {\n classes: any;\n open: boolean;\n closeModalAndRefresh: (updateInfo: boolean) => void;\n objectName: string;\n bucketName: string;\n objectInfo: IFileInfo;\n}\n\ninterface IRefObject {\n resetDate: () => void;\n}\n\nconst SetRetention = ({\n classes,\n open,\n closeModalAndRefresh,\n objectName,\n objectInfo,\n bucketName,\n}: ISetRetentionProps) => {\n const dispatch = useAppDispatch();\n const [statusEnabled, setStatusEnabled] = useState(true);\n const [type, setType] = useState(\"\");\n const [date, setDate] = useState(\"\");\n const [isDateValid, setIsDateValid] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const [alreadyConfigured, setAlreadyConfigured] = useState(false);\n\n useEffect(() => {\n if (objectInfo.retention_mode) {\n setType(objectInfo.retention_mode.toLowerCase());\n setAlreadyConfigured(true);\n }\n // get retention_until_date if defined\n if (objectInfo.retention_until_date) {\n const valueDate = new Date(objectInfo.retention_until_date);\n if (valueDate.toString() !== \"Invalid Date\") {\n const year = valueDate.getFullYear();\n const month = twoDigitDate(valueDate.getMonth() + 1);\n const day = valueDate.getDate();\n if (!isNaN(day) && month !== \"NaN\" && !isNaN(year)) {\n setDate(`${year}-${month}-${day}`);\n }\n }\n setAlreadyConfigured(true);\n }\n }, [objectInfo]);\n\n const dateElement = useRef(null);\n\n const dateFieldDisabled = () => {\n return !(statusEnabled && (type === \"governance\" || type === \"compliance\"));\n };\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n };\n\n const resetForm = () => {\n setStatusEnabled(false);\n setType(\"\");\n if (dateElement.current) {\n dateElement.current.resetDate();\n }\n };\n\n const addRetention = (\n selectedObject: string,\n versionId: string | null,\n expireDate: string\n ) => {\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/retention?prefix=${encodeURLString(\n selectedObject\n )}&version_id=${versionId}`,\n {\n expires: expireDate,\n mode: type,\n }\n )\n .then((res: any) => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setModalErrorSnackMessage(error));\n setIsSaving(false);\n });\n };\n\n const disableRetention = (\n selectedObject: string,\n versionId: string | null\n ) => {\n api\n .invoke(\n \"DELETE\",\n `/api/v1/buckets/${bucketName}/objects/retention?prefix=${encodeURLString(\n selectedObject\n )}&version_id=${versionId}`\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setModalErrorSnackMessage(error));\n setIsSaving(false);\n });\n };\n\n const saveNewRetentionPolicy = () => {\n setIsSaving(true);\n const selectedObject = objectInfo.name;\n const versionId = objectInfo.version_id;\n\n const expireDate =\n !statusEnabled && type === \"governance\" ? \"\" : `${date}T23:59:59Z`;\n\n if (!statusEnabled && type === \"governance\") {\n disableRetention(selectedObject, versionId);\n\n return;\n }\n\n addRetention(selectedObject, versionId, expireDate);\n };\n\n const showSwitcher =\n alreadyConfigured && (type === \"governance\" || type === \"\");\n\n return (\n {\n resetForm();\n closeModalAndRefresh(false);\n }}\n >\n
\n Selected Object: {objectName}\n
\n ) => {\n onSubmit(e);\n }}\n >\n {showSwitcher && (\n \n ) => {\n setStatusEnabled(!statusEnabled);\n }}\n label={\"Status\"}\n indicatorLabels={[\"Enabled\", \"Disabled\"]}\n />\n \n )}\n \n {\n setType(e.target.value);\n }}\n selectorOptions={[\n { label: \"Governance\", value: \"governance\" },\n { label: \"Compliance\", value: \"compliance\" },\n ]}\n />\n \n \n {\n setIsDateValid(isValid);\n if (isValid) {\n setDate(date);\n }\n }}\n />\n \n \n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(SetRetention);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { DialogContentText } from \"@mui/material\";\n\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { decodeURLString } from \"../../../../../../common/utils\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport useApi from \"../../../../Common/Hooks/useApi\";\nimport { ConfirmDeleteIcon } from \"../../../../../../icons\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\n\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\ninterface IDeleteObjectProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedObject: string;\n selectedBucket: string;\n\n versioning: boolean;\n selectedVersion?: string;\n}\n\nconst DeleteObject = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedObject,\n\n versioning,\n selectedVersion = \"\",\n}: IDeleteObjectProps) => {\n const dispatch = useAppDispatch();\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) =>\n dispatch(setErrorSnackMessage(err));\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n const [deleteVersions, setDeleteVersions] = useState(false);\n\n if (!selectedObject) {\n return null;\n }\n const onConfirmDelete = () => {\n const decodedSelectedObject = decodeURLString(selectedObject);\n const recursive = decodedSelectedObject.endsWith(\"/\");\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/buckets/${selectedBucket}/objects?path=${selectedObject}${\n selectedVersion !== \"\"\n ? `&version_id=${selectedVersion}`\n : `&recursive=${recursive}&all_versions=${deleteVersions}`\n }`\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete:
\n {decodeURLString(selectedObject)}{\" \"}\n {selectedVersion !== \"\" ? (\n \n
\n
\n Version ID:\n
\n {selectedVersion}\n
\n ) : (\n \"\"\n )}\n ?
\n
\n {versioning && selectedVersion === \"\" && (\n {\n setDeleteVersions(!deleteVersions);\n }}\n description=\"\"\n />\n )}\n
\n }\n />\n );\n};\n\nexport default DeleteObject;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button } from \"mds\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nimport { IFileInfo } from \"./types\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport api from \"../../../../../../common/api\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\n\nimport { setModalErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n });\n\ninterface ISetRetentionProps {\n classes: any;\n open: boolean;\n closeModalAndRefresh: (reload: boolean) => void;\n objectName: string;\n bucketName: string;\n actualInfo: IFileInfo;\n}\n\nconst SetLegalHoldModal = ({\n classes,\n open,\n closeModalAndRefresh,\n objectName,\n bucketName,\n actualInfo,\n}: ISetRetentionProps) => {\n const dispatch = useAppDispatch();\n const [legalHoldEnabled, setLegalHoldEnabled] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const versionId = actualInfo.version_id;\n\n useEffect(() => {\n const status = get(actualInfo, \"legal_hold_status\", \"OFF\");\n setLegalHoldEnabled(status === \"ON\");\n }, [actualInfo]);\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n setIsSaving(true);\n\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/legalhold?prefix=${encodeURLString(\n objectName\n )}&version_id=${versionId}`,\n { status: legalHoldEnabled ? \"enabled\" : \"disabled\" }\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setModalErrorSnackMessage(error));\n setIsSaving(false);\n });\n };\n\n const resetForm = () => {\n setLegalHoldEnabled(false);\n };\n\n return (\n {\n resetForm();\n closeModalAndRefresh(false);\n }}\n >\n \n Object: {bucketName}\n \n\n ) => {\n onSubmit(e);\n }}\n >\n \n ) => {\n setLegalHoldEnabled(!legalHoldEnabled);\n }}\n label={\"Legal Hold Status\"}\n indicatorLabels={[\"Enabled\", \"Disabled\"]}\n tooltip={\n \"To enable this feature you need to enable versioning on the bucket before creation\"\n }\n />\n \n \n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(SetLegalHoldModal);\n","import React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport useApi from \"../../../../Common/Hooks/useApi\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { MetadataResponse } from \"./types\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, Table, TableBody, TableCell, TableRow } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n detailsPanel,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { withStyles } from \"@mui/styles\";\n\ninterface IObjectMetadata {\n bucketName: string;\n internalPaths: string;\n classes?: any;\n actualInfo: any;\n linear?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n propertiesIcon: {\n marginLeft: 5,\n \"& .min-icon\": {\n height: 12,\n },\n },\n\n capitalizeFirst: {\n textTransform: \"capitalize\",\n \"& .min-icon\": {\n width: 16,\n height: 16,\n },\n },\n titleItem: {\n width: \"35%\",\n },\n ...spacingUtils,\n ...detailsPanel,\n });\n\nconst ObjectMetaData = ({\n bucketName,\n internalPaths,\n classes,\n actualInfo,\n linear = false,\n}: IObjectMetadata) => {\n const [metaData, setMetaData] = useState({});\n\n const onMetaDataSuccess = (res: MetadataResponse) => {\n let metadata = get(res, \"objectMetadata\", {});\n\n setMetaData(metadata);\n };\n const onMetaDataError = (err: ErrorResponseHandler) => false;\n\n const [, invokeMetaDataApi] = useApi(onMetaDataSuccess, onMetaDataError);\n\n const metaKeys = Object.keys(metaData);\n const loadMetaData = useCallback(() => {\n invokeMetaDataApi(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects/metadata?prefix=${internalPaths}`\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [bucketName, internalPaths, actualInfo]);\n\n useEffect(() => {\n if (actualInfo) {\n loadMetaData();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [actualInfo, loadMetaData]);\n\n if (linear) {\n return (\n \n {metaKeys.map((element: string, index: number) => {\n const renderItem = Array.isArray(metaData[element])\n ? metaData[element].map(decodeURIComponent).join(\", \")\n : decodeURIComponent(metaData[element]);\n\n return (\n \n {element}\n
\n {renderItem}\n \n );\n })}\n
\n );\n }\n\n return (\n \n \n \n Object Metadata\n \n \n\n \n \n \n {metaKeys.map((element: string, index: number) => {\n const renderItem = Array.isArray(metaData[element])\n ? metaData[element].map(decodeURIComponent).join(\", \")\n : decodeURIComponent(metaData[element]);\n\n return (\n \n \n {element}\n \n {renderItem}\n \n );\n })}\n \n
\n
\n \n );\n};\n\nexport default withStyles(styles)(ObjectMetaData);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Button } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport clsx from \"clsx\";\n\ntype ObjectActionButtonProps = {\n disabled?: boolean;\n onClick: () => void | any;\n icon: React.ReactNode;\n label: string;\n [x: string]: any;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: \"0 15px\",\n height: 22,\n margin: 0,\n color: \"#5E5E5E\",\n fontWeight: \"normal\",\n fontSize: 14,\n whiteSpace: \"nowrap\",\n width: \"100%\",\n justifyContent: \"flex-start\",\n \"&:hover\": {\n backgroundColor: \"transparent\",\n color: \"#000\",\n },\n \"& .min-icon\": {\n width: 11,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n });\n\n// TODO: Create an mds version of this.\nconst ObjectActionButton = ({\n disabled,\n onClick,\n icon,\n label,\n classes,\n ...restProps\n}: ObjectActionButtonProps) => {\n return (\n \n {label}\n \n );\n};\n\nexport default withStyles(styles)(ObjectActionButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport ObjectActionButton from \"./ObjectActionButton\";\nimport { withStyles } from \"@mui/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { detailsPanel } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport TooltipWrapper from \"../../../../Common/TooltipWrapper/TooltipWrapper\";\n\nconst styles = () =>\n createStyles({\n ...detailsPanel,\n });\n\nexport interface MultiSelectionItem {\n action: () => void;\n label: string;\n disabled: boolean;\n icon: React.ReactNode;\n tooltip: string;\n}\n\ninterface IActionsListSectionProps {\n items: MultiSelectionItem[];\n title: string | React.ReactNode;\n classes: any;\n}\n\nconst ActionsListSection = ({\n items,\n classes,\n title,\n}: IActionsListSectionProps) => {\n return (\n \n
{title}
\n
    \n
  • Actions:
  • \n {items.map((actionItem, index) => {\n return (\n
  • \n \n \n \n
  • \n );\n })}\n
\n
\n );\n};\n\nexport default withStyles(styles)(ActionsListSection);\n","import React from \"react\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ninterface IIconWithLabel {\n classes: any;\n icon: JSX.Element;\n strings: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n fileName: {\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n width: 16,\n height: 16,\n marginRight: 4,\n minWidth: 16,\n minHeight: 16,\n },\n },\n fileNameText: {\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n },\n });\n\nconst IconWithLabel = ({ classes, icon, strings }: IIconWithLabel) => {\n return (\n
\n {icon}\n \n {strings[strings.length - 1]}\n \n
\n );\n};\n\nexport default withStyles(styles)(IconWithLabel);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\n\nimport ObjectBrowserIcon from \"../../../../../../icons/ObjectBrowserIcon\";\nimport ObjectBrowserFolderIcon from \"../../../../../../icons/ObjectBrowserFolderIcon\";\nimport IconWithLabel from \"./IconWithLabel\";\n\nconst FileBookIcon = React.lazy(\n () => import(\"../../../../../../icons/FileBookIcon\")\n);\nconst FileCodeIcon = React.lazy(\n () => import(\"../../../../../../icons/FileCodeIcon\")\n);\nconst FileConfigIcon = React.lazy(\n () => import(\"../../../../../../icons/FileConfigIcon\")\n);\nconst FileDbIcon = React.lazy(\n () => import(\"../../../../../../icons/FileDbIcon\")\n);\nconst FileFontIcon = React.lazy(\n () => import(\"../../../../../../icons/FileFontIcon\")\n);\nconst FileImageIcon = React.lazy(\n () => import(\"../../../../../../icons/FileImageIcon\")\n);\nconst FileLockIcon = React.lazy(\n () => import(\"../../../../../../icons/FileLockIcon\")\n);\nconst FileMissingIcon = React.lazy(\n () => import(\"../../../../../../icons/FileMissingIcon\")\n);\nconst FileMusicIcon = React.lazy(\n () => import(\"../../../../../../icons/FileMusicIcon\")\n);\nconst FilePdfIcon = React.lazy(\n () => import(\"../../../../../../icons/FilePdfIcon\")\n);\nconst FilePptIcon = React.lazy(\n () => import(\"../../../../../../icons/FilePptIcon\")\n);\nconst FileTxtIcon = React.lazy(\n () => import(\"../../../../../../icons/FileTxtIcon\")\n);\nconst FileVideoIcon = React.lazy(\n () => import(\"../../../../../../icons/FileVideoIcon\")\n);\nconst FileXlsIcon = React.lazy(\n () => import(\"../../../../../../icons/FileXlsIcon\")\n);\nconst FileZipIcon = React.lazy(\n () => import(\"../../../../../../icons/FileZipIcon\")\n);\n\ninterface IExtToIcon {\n icon: any;\n extensions: string[];\n}\n\nexport const extensionToIcon: IExtToIcon[] = [\n {\n icon: ,\n extensions: [\"mp4\", \"mov\", \"avi\", \"mpeg\", \"mpg\"],\n },\n {\n icon: ,\n extensions: [\"mp3\", \"m4a\", \"aac\"],\n },\n {\n icon: ,\n extensions: [\"pdf\"],\n },\n {\n icon: ,\n extensions: [\"ppt\", \"pptx\"],\n },\n {\n icon: ,\n extensions: [\"xls\", \"xlsx\"],\n },\n {\n icon: ,\n extensions: [\"cer\", \"crt\", \"pem\"],\n },\n {\n icon: ,\n extensions: [\"html\", \"xml\", \"css\", \"py\", \"go\", \"php\", \"cpp\", \"h\", \"java\"],\n },\n {\n icon: ,\n extensions: [\"cfg\", \"yaml\"],\n },\n {\n icon: ,\n extensions: [\"sql\"],\n },\n {\n icon: ,\n extensions: [\"ttf\", \"otf\"],\n },\n {\n icon: ,\n extensions: [\"txt\"],\n },\n {\n icon: ,\n extensions: [\"zip\", \"rar\", \"tar\", \"gz\"],\n },\n {\n icon: ,\n extensions: [\"epub\", \"mobi\", \"azw\", \"azw3\"],\n },\n {\n icon: ,\n extensions: [\"jpeg\", \"jpg\", \"gif\", \"tiff\", \"png\", \"heic\", \"dng\"],\n },\n];\n\nexport const displayFileIconName = (\n element: string,\n returnOnlyIcon: boolean = false\n) => {\n let elementString = element;\n let icon = ;\n // Element is a folder\n if (element.endsWith(\"/\")) {\n icon = ;\n elementString = element.slice(0, -1);\n }\n\n const lowercaseElement = element.toLowerCase();\n for (const etc of extensionToIcon) {\n for (const ext of etc.extensions) {\n if (lowercaseElement.endsWith(`.${ext}`)) {\n icon = etc.icon;\n }\n }\n }\n\n if (!element.endsWith(\"/\") && element.indexOf(\".\") < 0) {\n icon = ;\n }\n\n const splitItem = elementString.split(\"/\");\n\n if (returnOnlyIcon) {\n return icon;\n }\n\n return ;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { useSelector } from \"react-redux\";\nimport { Box, Grid } from \"@mui/material\";\nimport { Button } from \"mds\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../../../../common/api\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport {\n AddNewTagIcon,\n DisabledIcon,\n EditTagIcon,\n} from \"../../../../../../icons\";\nimport { IFileInfo } from \"./types\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { SecureComponent } from \"../../../../../../common/SecureComponent\";\nimport Chip from \"@mui/material/Chip\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport {\n selDistSet,\n setModalErrorSnackMessage,\n} from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\ninterface ITagModal {\n modalOpen: boolean;\n bucketName: string;\n actualInfo: IFileInfo;\n onCloseAndUpdate: (refresh: boolean) => void;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n newTileHeader: {\n fontSize: 18,\n fontWeight: \"bold\",\n color: \"#000\",\n margin: \"35px 0\",\n paddingBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& > svg\": {\n marginRight: 10,\n },\n },\n tagsForLabel: {\n fontSize: 16,\n margin: \"20px 0 30px\",\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n width: \"100%\",\n },\n currentTagsContainer: {\n fontSize: 14,\n fontWeight: \"normal\",\n },\n noTagsForObject: {\n color: \"#858585\",\n },\n deleteTag: {\n color: \"#C83B51\",\n marginLeft: 5,\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n });\n\nconst AddTagModal = ({\n modalOpen,\n onCloseAndUpdate,\n bucketName,\n actualInfo,\n classes,\n}: ITagModal) => {\n const dispatch = useAppDispatch();\n const distributedSetup = useSelector(selDistSet);\n const [newKey, setNewKey] = useState(\"\");\n const [newLabel, setNewLabel] = useState(\"\");\n const [isSending, setIsSending] = useState(false);\n const [deleteEnabled, setDeleteEnabled] = useState(false);\n const [deleteKey, setDeleteKey] = useState(\"\");\n const [deleteLabel, setDeleteLabel] = useState(\"\");\n\n const selectedObject = encodeURLString(actualInfo.name);\n const currentTags = actualInfo.tags;\n const currTagKeys = Object.keys(currentTags || {});\n\n const allPathData = actualInfo.name.split(\"/\");\n const currentItem = allPathData.pop() || \"\";\n\n const resetForm = () => {\n setNewLabel(\"\");\n setNewKey(\"\");\n };\n\n const addTagProcess = () => {\n setIsSending(true);\n const newTag: any = {};\n\n newTag[newKey] = newLabel;\n const newTagList = { ...currentTags, ...newTag };\n\n const verID = distributedSetup ? actualInfo.version_id : \"null\";\n\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/tags?prefix=${selectedObject}&version_id=${verID}`,\n { tags: newTagList }\n )\n .then((res: any) => {\n onCloseAndUpdate(true);\n setIsSending(false);\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setModalErrorSnackMessage(error));\n setIsSending(false);\n });\n };\n\n const deleteTagProcess = () => {\n const cleanObject: any = { ...currentTags };\n delete cleanObject[deleteKey];\n\n const verID = distributedSetup ? actualInfo.version_id : \"null\";\n\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/tags?prefix=${selectedObject}&version_id=${verID}`,\n { tags: cleanObject }\n )\n .then((res: any) => {\n onCloseAndUpdate(true);\n setIsSending(false);\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setModalErrorSnackMessage(error));\n setIsSending(false);\n });\n };\n\n const onDeleteTag = (tagKey: string, tag: string) => {\n setDeleteKey(tagKey);\n setDeleteLabel(tag);\n setDeleteEnabled(true);\n };\n\n const cancelDelete = () => {\n setDeleteKey(\"\");\n setDeleteLabel(\"\");\n setDeleteEnabled(false);\n };\n\n const tagsFor = (plural: boolean) => (\n
\n Tag{plural ? \"s\" : \"\"} for: {currentItem}\n
\n );\n\n return (\n \n Delete Tag\n ) : (\n `Edit Tags`\n )\n }\n onClose={() => {\n onCloseAndUpdate(true);\n }}\n titleIcon={\n deleteEnabled ? (\n \n ) : (\n \n )\n }\n >\n {deleteEnabled ? (\n \n \n {tagsFor(false)}\n Are you sure you want to delete the tag{\" \"}\n \n {deleteKey} : {deleteLabel}\n {\" \"}\n ?\n \n \n \n \n \n \n ) : (\n \n \n \n {tagsFor(true)}\n
\n Current Tags:\n
\n {currTagKeys.length === 0 ? (\n \n There are no tags for this object\n \n ) : (\n \n )}\n \n {currTagKeys.map((tagKey: string, index: number) => {\n const tag = get(currentTags, `${tagKey}`, \"\");\n if (tag !== \"\") {\n return (\n \n }\n onDelete={() => {\n onDeleteTag(tagKey, tag);\n }}\n />\n \n );\n }\n return null;\n })}\n \n
\n \n \n \n \n \n Add New Tag\n \n \n {\n setNewKey(e.target.value);\n }}\n />\n \n \n {\n setNewLabel(e.target.value);\n }}\n />\n \n \n \n \n \n \n \n
\n )}\n \n
\n );\n};\n\nexport default withStyles(styles)(AddTagModal);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { Button } from \"mds\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n decodeURLString,\n deleteCookie,\n encodeURLString,\n getCookieValue,\n performDownload,\n} from \"../../../../../../common/utils\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport { InspectMenuIcon } from \"../../../../../../icons/SidebarMenus\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { PasswordKeyIcon } from \"../../../../../../icons\";\nimport { Box, DialogContentText } from \"@mui/material\";\nimport KeyRevealer from \"../../../../Tools/KeyRevealer\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n });\n\ninterface IInspectObjectProps {\n classes: any;\n closeInspectModalAndRefresh: (refresh: boolean) => void;\n inspectOpen: boolean;\n inspectPath: string;\n volumeName: string;\n}\n\nconst InspectObject = ({\n classes,\n closeInspectModalAndRefresh,\n inspectOpen,\n inspectPath,\n volumeName,\n}: IInspectObjectProps) => {\n const dispatch = useAppDispatch();\n const onClose = () => closeInspectModalAndRefresh(false);\n const [isEncrypt, setIsEncrypt] = useState(true);\n const [decryptionKey, setDecryptionKey] = useState(\"\");\n const [insFileName, setInsFileName] = useState(\"\");\n\n if (!inspectPath) {\n return null;\n }\n const makeRequest = async (url: string) => {\n return await fetch(url, { method: \"GET\" });\n };\n\n const performInspect = async () => {\n const file = encodeURLString(inspectPath + \"/xl.meta\");\n const volume = encodeURLString(volumeName);\n\n const urlOfInspectApi = `/api/v1/admin/inspect?volume=${volume}&file=${file}&encrypt=${isEncrypt}`;\n\n makeRequest(urlOfInspectApi)\n .then(async (res) => {\n if (!res.ok) {\n const resErr: any = await res.json();\n\n dispatch(\n setErrorSnackMessage({\n errorMessage: resErr.message,\n detailedError: resErr.code,\n })\n );\n }\n const blob: Blob = await res.blob();\n\n //@ts-ignore\n const filename = res.headers.get(\"content-disposition\").split('\"')[1];\n const decryptKey = getCookieValue(filename) || \"\";\n\n performDownload(blob, filename);\n setInsFileName(filename);\n if (decryptKey === \"\") {\n onClose();\n return;\n }\n setDecryptionKey(decryptKey);\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(err));\n });\n };\n\n const onCloseDecKeyModal = () => {\n deleteCookie(insFileName);\n onClose();\n setDecryptionKey(\"\");\n };\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n };\n\n return (\n \n {!decryptionKey && (\n }\n title={`Inspect Object`}\n onClose={onClose}\n >\n ) => {\n onSubmit(e);\n }}\n >\n Would you like to encrypt {decodeURLString(inspectPath)}?{\" \"}\n
\n {\n setIsEncrypt(!isEncrypt);\n }}\n description=\"\"\n />\n \n \n \n \n \n )}\n {decryptionKey ? (\n }\n >\n \n \n This will be displayed only once. It cannot be recovered.\n
\n Use secure medium to share this key.\n
\n \n \n \n
\n \n ) : null}\n
\n );\n};\n\nexport default withStyles(styles)(InspectObject);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { Button } from \"mds\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport { EditIcon } from \"../../../icons\";\nimport {\n containerForHeader,\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { IFileInfo } from \"../Buckets/ListBuckets/Objects/ObjectDetails/types\";\nimport { encodeURLString } from \"../../../common/utils\";\nimport { download } from \"../Buckets/ListBuckets/Objects/utils\";\nimport {\n cancelObjectInList,\n completeObject,\n failObject,\n setNewObject,\n updateProgress,\n} from \"./objectBrowserSlice\";\nimport { makeid, storeCallForObjectWithID } from \"./transferManager\";\nimport { useAppDispatch } from \"../../../store\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\n\ninterface IRenameLongFilename {\n open: boolean;\n bucketName: string;\n internalPaths: string;\n currentItem: string;\n actualInfo: IFileInfo;\n closeModal: () => void;\n}\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...modalStyleUtils,\n ...formFieldStyles,\n ...spacingUtils,\n ...containerForHeader(theme.spacing(4)),\n })\n);\n\nconst RenameLongFileName = ({\n open,\n closeModal,\n currentItem,\n internalPaths,\n actualInfo,\n bucketName,\n}: IRenameLongFilename) => {\n const classes = useStyles();\n const dispatch = useAppDispatch();\n\n const [newFileName, setNewFileName] = useState(currentItem);\n const [acceptLongName, setAcceptLongName] = useState(false);\n\n const doDownload = (e: React.FormEvent) => {\n e.preventDefault();\n\n const identityDownload = encodeURLString(\n `${bucketName}-${\n actualInfo.name\n }-${new Date().getTime()}-${Math.random()}`\n );\n\n const ID = makeid(8);\n\n const downloadCall = download(\n bucketName,\n internalPaths,\n actualInfo.version_id,\n parseInt(actualInfo.size || \"0\"),\n newFileName,\n ID,\n (progress) => {\n dispatch(\n updateProgress({\n instanceID: identityDownload,\n progress: progress,\n })\n );\n },\n () => {\n dispatch(completeObject(identityDownload));\n },\n (msg: string) => {\n dispatch(failObject({ instanceID: identityDownload, msg }));\n },\n () => {\n dispatch(cancelObjectInList(identityDownload));\n }\n );\n\n storeCallForObjectWithID(ID, downloadCall);\n dispatch(\n setNewObject({\n ID,\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: newFileName,\n type: \"download\",\n waitingForFile: true,\n failed: false,\n cancelled: false,\n errorMessage: \"\",\n })\n );\n closeModal();\n };\n\n return (\n }\n >\n
\n The file you are trying to download has a long name.\n
\n This can cause issues on Windows Systems by trimming the file name after\n download.\n
\n
We recommend to rename the file download\n
\n ) => {\n doDownload(e);\n }}\n >\n \n \n \n ) => {\n setNewFileName(event.target.value);\n }}\n label=\"\"\n type={\"text\"}\n value={newFileName}\n error={\n newFileName.length > 200 && !acceptLongName\n ? \"Filename should be less than 200 characters long.\"\n : \"\"\n }\n />\n \n \n ) => {\n setAcceptLongName(event.target.checked);\n if (event.target.checked) {\n setNewFileName(currentItem);\n }\n }}\n label={\"Use Original Name\"}\n />\n \n \n \n 200 && !acceptLongName}\n label={\"Download File\"}\n />\n \n \n \n \n );\n};\n\nexport default RenameLongFileName;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { Box } from \"@mui/material\";\nimport { withStyles } from \"@mui/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n actionsTray,\n buttonsStyles,\n detailsPanel,\n spacingUtils,\n textStyleUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { IFileInfo } from \"../ObjectDetails/types\";\nimport { download, extensionPreview } from \"../utils\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\n\nimport {\n decodeURLString,\n encodeURLString,\n getClientOS,\n niceBytes,\n niceBytesInt,\n niceDaysInt,\n} from \"../../../../../../common/utils\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../../../../common/SecureComponent/permissions\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport {\n DeleteIcon,\n DownloadIcon,\n LegalHoldIcon,\n MetadataIcon,\n ObjectInfoIcon,\n PreviewIcon,\n RetentionIcon,\n ShareIcon,\n TagsIcon,\n VersionsIcon,\n} from \"../../../../../../icons\";\nimport { InspectMenuIcon } from \"../../../../../../icons/SidebarMenus\";\nimport api from \"../../../../../../common/api\";\nimport ShareFile from \"../ObjectDetails/ShareFile\";\nimport SetRetention from \"../ObjectDetails/SetRetention\";\nimport DeleteObject from \"../ListObjects/DeleteObject\";\nimport SetLegalHoldModal from \"../ObjectDetails/SetLegalHoldModal\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../../../common/SecureComponent\";\nimport PreviewFileModal from \"../Preview/PreviewFileModal\";\nimport ObjectMetaData from \"../ObjectDetails/ObjectMetaData\";\nimport ActionsListSection from \"./ActionsListSection\";\nimport { displayFileIconName } from \"./utils\";\nimport TagsModal from \"../ObjectDetails/TagsModal\";\nimport InspectObject from \"./InspectObject\";\nimport Loader from \"../../../../Common/Loader/Loader\";\nimport { selDistSet } from \"../../../../../../systemSlice\";\nimport {\n makeid,\n storeCallForObjectWithID,\n} from \"../../../../ObjectBrowser/transferManager\";\nimport {\n cancelObjectInList,\n completeObject,\n failObject,\n setLoadingObjectInfo,\n setLoadingVersions,\n setNewObject,\n setSelectedVersion,\n setVersionsModeEnabled,\n updateProgress,\n} from \"../../../../ObjectBrowser/objectBrowserSlice\";\nimport RenameLongFileName from \"../../../../ObjectBrowser/RenameLongFilename\";\nimport TooltipWrapper from \"../../../../Common/TooltipWrapper/TooltipWrapper\";\n\nconst styles = () =>\n createStyles({\n ObjectDetailsTitle: {\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n width: 26,\n height: 26,\n minWidth: 26,\n minHeight: 26,\n },\n },\n objectNameContainer: {\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n alignItems: \"center\",\n marginLeft: 10,\n },\n headerForSection: {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n paddingBottom: 15,\n borderBottom: \"#E2E2E2 2px solid\",\n fontWeight: \"bold\",\n fontSize: 18,\n color: \"#000\",\n margin: \"20px 22px\",\n },\n capitalizeFirst: {\n textTransform: \"capitalize\",\n },\n ...buttonsStyles,\n ...actionsTray,\n ...spacingUtils,\n ...textStyleUtils,\n ...detailsPanel,\n });\n\nconst emptyFile: IFileInfo = {\n is_latest: true,\n last_modified: \"\",\n legal_hold_status: \"\",\n name: \"\",\n retention_mode: \"\",\n retention_until_date: \"\",\n size: \"0\",\n tags: {},\n version_id: null,\n};\n\ninterface IObjectDetailPanelProps {\n classes: any;\n internalPaths: string;\n bucketName: string;\n versioning: boolean;\n locking: boolean;\n onClosePanel: (hardRefresh: boolean) => void;\n}\n\nconst ObjectDetailPanel = ({\n classes,\n internalPaths,\n bucketName,\n versioning,\n locking,\n onClosePanel,\n}: IObjectDetailPanelProps) => {\n const dispatch = useAppDispatch();\n\n const distributedSetup = useSelector(selDistSet);\n const versionsMode = useSelector(\n (state: AppState) => state.objectBrowser.versionsMode\n );\n const selectedVersion = useSelector(\n (state: AppState) => state.objectBrowser.selectedVersion\n );\n const loadingObjectInfo = useSelector(\n (state: AppState) => state.objectBrowser.loadingObjectInfo\n );\n\n const [shareFileModalOpen, setShareFileModalOpen] = useState(false);\n const [retentionModalOpen, setRetentionModalOpen] = useState(false);\n const [tagModalOpen, setTagModalOpen] = useState(false);\n const [legalholdOpen, setLegalholdOpen] = useState(false);\n const [inspectModalOpen, setInspectModalOpen] = useState(false);\n const [actualInfo, setActualInfo] = useState(null);\n const [allInfoElements, setAllInfoElements] = useState([]);\n const [objectToShare, setObjectToShare] = useState(null);\n const [versions, setVersions] = useState([]);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [previewOpen, setPreviewOpen] = useState(false);\n const [totalVersionsSize, setTotalVersionsSize] = useState(0);\n const [longFileOpen, setLongFileOpen] = useState(false);\n\n const internalPathsDecoded = decodeURLString(internalPaths) || \"\";\n const allPathData = internalPathsDecoded.split(\"/\");\n const currentItem = allPathData.pop() || \"\";\n\n // calculate object name to display\n let objectNameArray: string[] = [];\n if (actualInfo) {\n objectNameArray = actualInfo.name.split(\"/\");\n }\n\n useEffect(() => {\n if (distributedSetup && allInfoElements && allInfoElements.length >= 1) {\n let infoElement =\n allInfoElements.find((el: IFileInfo) => el.is_latest) || emptyFile;\n\n if (selectedVersion !== \"\") {\n infoElement =\n allInfoElements.find(\n (el: IFileInfo) => el.version_id === selectedVersion\n ) || emptyFile;\n }\n\n setActualInfo(infoElement);\n }\n }, [selectedVersion, distributedSetup, allInfoElements]);\n\n useEffect(() => {\n if (loadingObjectInfo && internalPaths !== \"\") {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects?prefix=${internalPaths}${\n distributedSetup ? \"&with_versions=true\" : \"\"\n }`\n )\n .then((res: IFileInfo[]) => {\n const result = get(res, \"objects\", []);\n if (distributedSetup) {\n setAllInfoElements(result);\n setVersions(result);\n const tVersionSize = result.reduce(\n (acc: number, currValue: IFileInfo) => {\n if (currValue?.size) {\n return acc + currValue.size;\n }\n return acc;\n },\n 0\n );\n\n setTotalVersionsSize(tVersionSize);\n } else {\n setActualInfo(result[0]);\n setVersions([]);\n }\n\n dispatch(setLoadingObjectInfo(false));\n })\n .catch((error: ErrorResponseHandler) => {\n console.error(\"Error loading object details\", error);\n dispatch(setLoadingObjectInfo(false));\n });\n }\n }, [\n loadingObjectInfo,\n bucketName,\n internalPaths,\n dispatch,\n distributedSetup,\n selectedVersion,\n ]);\n\n let tagKeys: string[] = [];\n\n if (actualInfo && actualInfo.tags) {\n tagKeys = Object.keys(actualInfo.tags);\n }\n\n const openRetentionModal = () => {\n setRetentionModalOpen(true);\n };\n\n const closeRetentionModal = (updateInfo: boolean) => {\n setRetentionModalOpen(false);\n if (updateInfo) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const shareObject = () => {\n setShareFileModalOpen(true);\n };\n\n const closeShareModal = () => {\n setObjectToShare(null);\n setShareFileModalOpen(false);\n };\n\n const closeFileOpen = () => {\n setLongFileOpen(false);\n };\n\n const downloadObject = (object: IFileInfo) => {\n const identityDownload = encodeURLString(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`\n );\n\n if (\n object.name.length > 200 &&\n getClientOS().toLowerCase().includes(\"win\")\n ) {\n setLongFileOpen(true);\n return;\n }\n\n const ID = makeid(8);\n\n const downloadCall = download(\n bucketName,\n internalPaths,\n object.version_id,\n parseInt(object.size || \"0\"),\n null,\n ID,\n (progress) => {\n dispatch(\n updateProgress({\n instanceID: identityDownload,\n progress: progress,\n })\n );\n },\n () => {\n dispatch(completeObject(identityDownload));\n },\n (msg: string) => {\n dispatch(failObject({ instanceID: identityDownload, msg }));\n },\n () => {\n dispatch(cancelObjectInList(identityDownload));\n }\n );\n\n storeCallForObjectWithID(ID, downloadCall);\n dispatch(\n setNewObject({\n ID,\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name,\n type: \"download\",\n waitingForFile: true,\n failed: false,\n cancelled: false,\n errorMessage: \"\",\n })\n );\n };\n\n const closeDeleteModal = (closeAndReload: boolean) => {\n setDeleteOpen(false);\n\n if (closeAndReload && selectedVersion === \"\") {\n onClosePanel(true);\n } else {\n dispatch(setLoadingVersions(true));\n dispatch(setSelectedVersion(\"\"));\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeAddTagModal = (reloadObjectData: boolean) => {\n setTagModalOpen(false);\n if (reloadObjectData) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeInspectModal = (reloadObjectData: boolean) => {\n setInspectModalOpen(false);\n if (reloadObjectData) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeLegalholdModal = (reload: boolean) => {\n setLegalholdOpen(false);\n if (reload) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const loaderForContainer = (\n
\n \n
\n );\n\n if (!actualInfo) {\n if (loadingObjectInfo) {\n return loaderForContainer;\n }\n\n return null;\n }\n\n const objectName =\n objectNameArray.length > 0\n ? objectNameArray[objectNameArray.length - 1]\n : actualInfo.name;\n\n const objectResources = [\n bucketName,\n currentItem,\n [bucketName, actualInfo.name].join(\"/\"),\n ];\n const canSetLegalHold = hasPermission(bucketName, [\n IAM_SCOPES.S3_PUT_OBJECT_LEGAL_HOLD,\n ]);\n const canSetTags = hasPermission(objectResources, [\n IAM_SCOPES.S3_PUT_OBJECT_TAGGING,\n ]);\n\n const canChangeRetention = hasPermission(\n objectResources,\n [IAM_SCOPES.S3_GET_OBJECT_RETENTION, IAM_SCOPES.S3_PUT_OBJECT_RETENTION],\n true\n );\n const canInspect = hasPermission(objectResources, [\n IAM_SCOPES.ADMIN_INSPECT_DATA,\n ]);\n const canChangeVersioning = hasPermission(objectResources, [\n IAM_SCOPES.S3_GET_BUCKET_VERSIONING,\n IAM_SCOPES.S3_PUT_BUCKET_VERSIONING,\n IAM_SCOPES.S3_GET_OBJECT_VERSION,\n ]);\n const canGetObject = hasPermission(objectResources, [\n IAM_SCOPES.S3_GET_OBJECT,\n IAM_SCOPES.S3_STAR_OBJECT,\n ]);\n const canDelete = hasPermission(\n [bucketName, currentItem, [bucketName, actualInfo.name].join(\"/\")],\n [IAM_SCOPES.S3_DELETE_OBJECT]\n );\n\n const multiActionButtons = [\n {\n action: () => {\n downloadObject(actualInfo);\n },\n label: \"Download\",\n disabled: !!actualInfo.is_delete_marker || !canGetObject,\n icon: ,\n tooltip: canGetObject\n ? \"Download this Object\"\n : permissionTooltipHelper(\n [IAM_SCOPES.S3_GET_OBJECT],\n \"download this object\"\n ),\n },\n {\n action: () => {\n shareObject();\n },\n label: \"Share\",\n disabled: !!actualInfo.is_delete_marker || !canGetObject,\n icon: ,\n tooltip: canGetObject\n ? \"Share this File\"\n : permissionTooltipHelper(\n [IAM_SCOPES.S3_GET_OBJECT],\n \"share this object\"\n ),\n },\n {\n action: () => {\n setPreviewOpen(true);\n },\n label: \"Preview\",\n disabled:\n !!actualInfo.is_delete_marker ||\n extensionPreview(currentItem) === \"none\" ||\n !canGetObject,\n icon: ,\n tooltip: canGetObject\n ? \"Preview this File\"\n : permissionTooltipHelper(\n [IAM_SCOPES.S3_GET_OBJECT],\n \"preview this object\"\n ),\n },\n {\n action: () => {\n setLegalholdOpen(true);\n },\n label: \"Legal Hold\",\n disabled:\n !locking ||\n !distributedSetup ||\n !!actualInfo.is_delete_marker ||\n !canSetLegalHold ||\n selectedVersion !== \"\",\n icon: ,\n tooltip: canSetLegalHold\n ? locking\n ? \"Change Legal Hold rules for this File\"\n : \"Object Locking must be enabled on this bucket in order to set Legal Hold\"\n : permissionTooltipHelper(\n [IAM_SCOPES.S3_PUT_OBJECT_LEGAL_HOLD],\n \"change legal hold settings for this object\"\n ),\n },\n {\n action: openRetentionModal,\n label: \"Retention\",\n disabled:\n !distributedSetup ||\n !!actualInfo.is_delete_marker ||\n !canChangeRetention ||\n selectedVersion !== \"\" ||\n !locking,\n icon: ,\n tooltip: canChangeRetention\n ? locking\n ? \"Change Retention rules for this File\"\n : \"Object Locking must be enabled on this bucket in order to set Retention Rules\"\n : permissionTooltipHelper(\n [\n IAM_SCOPES.S3_GET_OBJECT_RETENTION,\n IAM_SCOPES.S3_PUT_OBJECT_RETENTION,\n ],\n \"change Retention Rules for this object\"\n ),\n },\n {\n action: () => {\n setTagModalOpen(true);\n },\n label: \"Tags\",\n disabled:\n !!actualInfo.is_delete_marker || selectedVersion !== \"\" || !canSetTags,\n icon: ,\n tooltip: canSetTags\n ? \"Change Tags for this File\"\n : permissionTooltipHelper(\n [\n IAM_SCOPES.S3_PUT_OBJECT_TAGGING,\n IAM_SCOPES.S3_GET_OBJECT_TAGGING,\n ],\n \"set Tags on this object\"\n ),\n },\n {\n action: () => {\n setInspectModalOpen(true);\n },\n label: \"Inspect\",\n disabled:\n !distributedSetup ||\n !!actualInfo.is_delete_marker ||\n selectedVersion !== \"\" ||\n !canInspect,\n icon: ,\n tooltip: canInspect\n ? \"Inspect this file\"\n : permissionTooltipHelper(\n [IAM_SCOPES.ADMIN_INSPECT_DATA],\n \"inspect this file\"\n ),\n },\n {\n action: () => {\n dispatch(\n setVersionsModeEnabled({\n status: !versionsMode,\n objectName: objectName,\n })\n );\n },\n label: versionsMode ? \"Hide Object Versions\" : \"Display Object Versions\",\n icon: ,\n disabled:\n !distributedSetup ||\n !(actualInfo.version_id && actualInfo.version_id !== \"null\") ||\n !canChangeVersioning,\n tooltip: canChangeVersioning\n ? actualInfo.version_id && actualInfo.version_id !== \"null\"\n ? \"Display Versions for this file\"\n : \"\"\n : permissionTooltipHelper(\n [\n IAM_SCOPES.S3_GET_BUCKET_VERSIONING,\n IAM_SCOPES.S3_PUT_BUCKET_VERSIONING,\n IAM_SCOPES.S3_GET_OBJECT_VERSION,\n ],\n \"display all versions of this object\"\n ),\n },\n ];\n\n const calculateLastModifyTime = (lastModified: string) => {\n const currentTime = new Date();\n const modifiedTime = new Date(lastModified);\n\n const difTime = currentTime.getTime() - modifiedTime.getTime();\n\n const formatTime = niceDaysInt(difTime, \"ms\");\n\n return formatTime.trim() !== \"\" ? `${formatTime} ago` : \"Just now\";\n };\n\n return (\n \n {shareFileModalOpen && actualInfo && (\n \n )}\n {retentionModalOpen && actualInfo && (\n \n )}\n {deleteOpen && (\n \n )}\n {legalholdOpen && actualInfo && (\n \n )}\n {previewOpen && actualInfo && (\n {\n setPreviewOpen(false);\n }}\n />\n )}\n {tagModalOpen && actualInfo && (\n \n )}\n {inspectModalOpen && actualInfo && (\n \n )}\n {longFileOpen && actualInfo && (\n \n )}\n\n {loadingObjectInfo ? (\n {loaderForContainer}\n ) : (\n \n \n {displayFileIconName(objectName, true)}\n \n {objectName}\n \n \n }\n items={multiActionButtons}\n />\n \n \n \n }\n iconLocation={\"start\"}\n fullWidth\n variant={\"secondary\"}\n onClick={() => {\n setDeleteOpen(true);\n }}\n disabled={\n selectedVersion === \"\" && actualInfo.is_delete_marker\n }\n style={{\n width: \"calc(100% - 44px)\",\n margin: \"8px 0\",\n }}\n label={`Delete${selectedVersion !== \"\" ? \" version\" : \"\"}`}\n />\n \n \n \n \n Object Info\n \n \n \n Name:\n
\n
{objectName}
\n
\n {selectedVersion !== \"\" && (\n \n Version ID:\n
\n {selectedVersion}\n
\n )}\n \n Size:\n
\n {niceBytes(actualInfo.size || \"0\")}\n
\n {actualInfo.version_id &&\n actualInfo.version_id !== \"null\" &&\n selectedVersion === \"\" && (\n \n Versions:\n
\n {versions.length} version{versions.length !== 1 ? \"s\" : \"\"},{\" \"}\n {niceBytesInt(totalVersionsSize)}\n
\n )}\n {selectedVersion === \"\" && (\n \n Last Modified:\n
\n {calculateLastModifyTime(actualInfo.last_modified)}\n
\n )}\n \n ETAG:\n
\n {actualInfo.etag || \"N/A\"}\n
\n \n Tags:\n
\n {tagKeys.length === 0\n ? \"N/A\"\n : tagKeys.map((tagKey, index) => {\n return (\n \n {tagKey}:{get(actualInfo, `tags.${tagKey}`, \"\")}\n {index < tagKeys.length - 1 ? \", \" : \"\"}\n \n );\n })}\n
\n \n \n \n Legal Hold:\n
\n {actualInfo.legal_hold_status ? \"On\" : \"Off\"}\n
\n \n
\n \n \n \n Retention Policy:\n
\n \n {actualInfo.version_id && actualInfo.version_id !== \"null\" ? (\n \n {actualInfo.retention_mode\n ? actualInfo.retention_mode.toLowerCase()\n : \"None\"}\n \n ) : (\n \n {actualInfo.retention_mode\n ? actualInfo.retention_mode.toLowerCase()\n : \"None\"}\n \n )}\n \n
\n \n
\n \n Metadata\n \n \n \n {actualInfo ? (\n \n ) : null}\n \n
\n )}\n
\n );\n};\n\nexport default withStyles(styles)(ObjectDetailPanel);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport * as reactMoment from \"react-moment\";\nimport { BucketObjectItem } from \"./types\";\nimport { niceBytes } from \"../../../../../../common/utils\";\nimport { displayFileIconName } from \"./utils\";\n\n// Functions\n\nexport const displayParsedDate = (object: BucketObjectItem) => {\n if (object.name.endsWith(\"/\")) {\n return \"\";\n }\n return {object.last_modified};\n};\n\nexport const displayNiceBytes = (object: BucketObjectItem) => {\n if (object.name.endsWith(\"/\") || !object.size) {\n return \"-\";\n }\n return niceBytes(String(object.size));\n};\n\nexport const displayDeleteFlag = (state: boolean) => {\n return state ? \"Yes\" : \"No\";\n};\n\n// Table Props\n\nexport const listModeColumns = [\n {\n label: \"Name\",\n elementKey: \"name\",\n renderFunction: displayFileIconName,\n enableSort: true,\n },\n {\n label: \"Last Modified\",\n elementKey: \"last_modified\",\n renderFunction: displayParsedDate,\n renderFullObject: true,\n enableSort: true,\n },\n {\n label: \"Size\",\n elementKey: \"size\",\n renderFunction: displayNiceBytes,\n renderFullObject: true,\n width: 100,\n contentTextAlign: \"center\",\n enableSort: true,\n },\n];\n\nexport const rewindModeColumns = [\n {\n label: \"Name\",\n elementKey: \"name\",\n renderFunction: displayFileIconName,\n enableSort: true,\n },\n {\n label: \"Object Date\",\n elementKey: \"last_modified\",\n renderFunction: displayParsedDate,\n renderFullObject: true,\n enableSort: true,\n },\n {\n label: \"Size\",\n elementKey: \"size\",\n renderFunction: displayNiceBytes,\n renderFullObject: true,\n width: 100,\n contentTextAlign: \"center\",\n enableSort: true,\n },\n {\n label: \"Deleted\",\n elementKey: \"delete_flag\",\n renderFunction: displayDeleteFlag,\n width: 60,\n contentTextAlign: \"center\",\n },\n];\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { DialogContentText } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { modalBasic } from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport api from \"../../../../../../common/api\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport RecoverIcon from \"../../../../../../icons/RecoverIcon\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\ninterface IRestoreFileVersion {\n classes: any;\n restoreOpen: boolean;\n bucketName: string;\n versionID: string;\n objectPath: string;\n onCloseAndUpdate: (refresh: boolean) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n });\n\nconst RestoreFileVersion = ({\n classes,\n versionID,\n bucketName,\n objectPath,\n restoreOpen,\n onCloseAndUpdate,\n}: IRestoreFileVersion) => {\n const dispatch = useAppDispatch();\n const [restoreLoading, setRestoreLoading] = useState(false);\n\n const restoreVersion = () => {\n setRestoreLoading(true);\n\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/restore?prefix=${encodeURLString(\n objectPath\n )}&version_id=${versionID}`\n )\n .then((res: any) => {\n setRestoreLoading(false);\n onCloseAndUpdate(true);\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(error));\n setRestoreLoading(false);\n });\n };\n\n return (\n }\n onConfirm={restoreVersion}\n confirmButtonProps={{\n variant: \"secondary\",\n disabled: restoreLoading,\n }}\n onClose={() => {\n onCloseAndUpdate(false);\n }}\n confirmationContent={\n \n Are you sure you want to restore
\n {objectPath}
with Version ID:\n
\n {versionID}?\n
\n }\n />\n );\n};\n\nexport default withStyles(styles)(RestoreFileVersion);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\n\ninterface ISpecificVersionPillProps {\n type: \"null\" | \"current\" | \"deleted\";\n}\n\nconst SpecificVersionPill = ({ type }: ISpecificVersionPillProps) => {\n let bgColor = \"#000\";\n let message = \"\";\n\n switch (type) {\n case \"null\":\n bgColor = \"#07193E\";\n message = \"NULL VERSION\";\n break;\n case \"deleted\":\n bgColor = \"#868686\";\n message = \"DELETED\";\n break;\n default:\n bgColor = \"#174551\";\n message = \"CURRENT VERSION\";\n }\n\n return (\n \n {message}\n \n );\n};\n\nexport default SpecificVersionPill;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport * as reactMoment from \"react-moment\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { withStyles } from \"@mui/styles\";\nimport { displayFileIconName } from \"../ListObjects/utils\";\nimport { IFileInfo } from \"./types\";\nimport { IconButton, Tooltip } from \"@mui/material\";\nimport {\n DownloadIcon,\n PreviewIcon,\n RecoverIcon,\n ShareIcon,\n} from \"../../../../../../icons\";\nimport { niceBytes } from \"../../../../../../common/utils\";\nimport SpecificVersionPill from \"./SpecificVersionPill\";\nimport CheckboxWrapper from \"../../../../Common/FormComponents/CheckboxWrapper/CheckboxWrapper\";\n\ninterface IFileVersionItem {\n fileName: string;\n versionInfo: IFileInfo;\n index: number;\n isSelected?: boolean;\n checkable: boolean;\n isChecked: boolean;\n onCheck: (versionID: string) => void;\n onShare: (versionInfo: IFileInfo) => void;\n onDownload: (versionInfo: IFileInfo) => void;\n onRestore: (versionInfo: IFileInfo) => void;\n onPreview: (versionInfo: IFileInfo) => void;\n globalClick: (versionInfo: IFileInfo) => void;\n classes: any;\n key: any;\n style: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n mainFileVersionItem: {\n borderBottom: \"#E2E2E2 1px solid\",\n padding: \"1rem 0\",\n margin: \"0 0.5rem 0 2.5rem\",\n cursor: \"pointer\",\n \"&.deleted\": {\n color: \"#868686\",\n },\n \"@media (max-width: 799px)\": {\n padding: \"5px 0px\",\n margin: 0,\n },\n },\n intermediateLayer: {\n margin: \"0 1.5rem 0 1.5rem\",\n \"&:hover, &.selected\": {\n backgroundColor: \"#F8F8F8\",\n \"& > div\": {\n borderBottomColor: \"#F8F8F8\",\n },\n },\n \"@media (max-width: 799px)\": {\n margin: 0,\n \"&:hover, &.selected\": {\n backgroundColor: \"transparent\",\n \"& > div\": {\n borderBottomColor: \"#E2E2E2\",\n },\n },\n },\n },\n versionContainer: {\n fontSize: 16,\n fontWeight: \"bold\",\n display: \"flex\",\n alignItems: \"center\",\n \"& svg.min-icon\": {\n width: 18,\n height: 18,\n minWidth: 18,\n minHeight: 18,\n marginRight: 10,\n },\n \"@media (max-width: 799px)\": {\n fontSize: 14,\n \"& svg.min-icon\": {\n display: \"none\",\n },\n },\n },\n buttonContainer: {\n textAlign: \"right\",\n \"& button\": {\n marginLeft: \"1.5rem\",\n },\n \"@media (max-width: 600px)\": {\n \"& button\": {\n marginLeft: \"5px\",\n },\n },\n },\n versionID: {\n fontSize: \"12px\",\n margin: \"2px 0\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n maxWidth: \"95%\",\n overflow: \"hidden\",\n },\n versionData: {\n marginRight: \"10px\",\n fontSize: 12,\n color: \"#868686\",\n \"@media (max-width: 799px)\": {\n textOverflow: \"ellipsis\",\n maxWidth: \"95%\",\n overflow: \"hidden\",\n whiteSpace: \"nowrap\",\n },\n },\n ctrItem: {\n position: \"relative\",\n \"&::before\": {\n content: \"' '\",\n display: \"block\",\n position: \"absolute\",\n width: \"2px\",\n height: \"calc(100% + 2px)\",\n backgroundColor: \"#F8F8F8\",\n left: \"24px\",\n },\n \"@media (max-width: 799px)\": {\n \"&::before\": {\n display: \"none\",\n },\n },\n },\n collapsableInfo: {\n \"@media (max-width: 799px)\": {\n display: \"flex\",\n flexDirection: \"column\",\n },\n },\n versionItem: {\n \"@media (max-width: 799px)\": {\n display: \"none\",\n },\n },\n });\n\nconst FileVersionItem = ({\n classes,\n fileName,\n versionInfo,\n isSelected,\n checkable,\n isChecked,\n onCheck,\n onShare,\n onDownload,\n onRestore,\n onPreview,\n globalClick,\n index,\n key,\n style,\n}: IFileVersionItem) => {\n const disableButtons = versionInfo.is_delete_marker;\n\n const versionItemButtons = [\n {\n icon: ,\n action: onPreview,\n tooltip: \"Preview\",\n },\n {\n icon: ,\n action: onDownload,\n tooltip: \"Download this version\",\n },\n {\n icon: ,\n action: onShare,\n tooltip: \"Share this version\",\n },\n {\n icon: ,\n action: onRestore,\n tooltip: \"Restore this version\",\n },\n ];\n\n let pill: \"deleted\" | \"current\" | \"null\" | null = null;\n\n if (versionInfo.is_delete_marker) {\n pill = \"deleted\";\n } else if (versionInfo.is_latest) {\n pill = \"current\";\n } else if (versionInfo.version_id === \"null\") {\n pill = \"null\";\n }\n\n return (\n {\n globalClick(versionInfo);\n }}\n key={key}\n style={style}\n >\n \n \n \n \n \n {checkable && (\n {\n e.stopPropagation();\n e.preventDefault();\n onCheck(versionInfo.version_id || \"\");\n }}\n value={versionInfo.version_id || \"\"}\n disabled={versionInfo.is_delete_marker}\n overrideCheckboxStyles={{\n paddingLeft: 0,\n height: 34,\n width: 25,\n }}\n noTopMargin\n />\n )}\n {displayFileIconName(fileName, true)} v{index.toString()}\n \n {pill && }\n \n \n \n {versionItemButtons.map((button, index) => {\n return (\n \n {\n e.stopPropagation();\n if (!disableButtons) {\n button.action(versionInfo);\n } else {\n e.preventDefault();\n }\n }}\n sx={{\n backgroundColor: \"#F8F8F8\",\n borderRadius: \"100%\",\n width: \"28px\",\n height: \"28px\",\n padding: \"5px\",\n \"& .min-icon\": {\n width: \"14px\",\n height: \"14px\",\n },\n }}\n >\n {button.icon}\n \n \n );\n })}\n \n \n \n \n {versionInfo.version_id !== \"null\" ? versionInfo.version_id : \"-\"}\n \n \n \n Last modified:{\" \"}\n \n {versionInfo.last_modified}\n \n \n \n Size: {niceBytes(versionInfo.size || \"0\")}\n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(FileVersionItem);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\n\nimport { DialogContentText } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { decodeURLString } from \"../../../../../../common/utils\";\nimport { ConfirmDeleteIcon } from \"../../../../../../icons\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport api from \"../../../../../../common/api\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\ninterface IDeleteNonCurrentProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedObject: string;\n selectedBucket: string;\n}\n\nconst DeleteNonCurrentVersions = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedObject,\n}: IDeleteNonCurrentProps) => {\n const dispatch = useAppDispatch();\n const [deleteLoading, setDeleteLoading] = useState(false);\n const [typeConfirm, setTypeConfirm] = useState(\"\");\n\n useEffect(() => {\n if (deleteLoading) {\n api\n .invoke(\n \"DELETE\",\n `/api/v1/buckets/${selectedBucket}/objects?path=${selectedObject}&non_current_versions=true`\n )\n .then(() => {\n closeDeleteModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(error));\n setDeleteLoading(false);\n });\n }\n }, [\n deleteLoading,\n closeDeleteModalAndRefresh,\n dispatch,\n selectedObject,\n selectedBucket,\n ]);\n\n if (!selectedObject) {\n return null;\n }\n const onConfirmDelete = () => {\n setDeleteLoading(true);\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={() => closeDeleteModalAndRefresh(false)}\n confirmButtonProps={{\n disabled: typeConfirm !== \"YES, PROCEED\" || deleteLoading,\n }}\n confirmationContent={\n \n Are you sure you want to delete all the non-current versions for:{\" \"}\n {decodeURLString(selectedObject)}?
\n
\n To continue please type YES, PROCEED in the box.\n \n ) => {\n setTypeConfirm(event.target.value);\n }}\n label=\"\"\n value={typeConfirm}\n />\n \n
\n }\n />\n );\n};\n\nexport default DeleteNonCurrentVersions;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\n\nimport { DialogContentText } from \"@mui/material\";\n\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../../../icons\";\nimport api from \"../../../../../../common/api\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\ninterface IDeleteSelectedVersionsProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedVersions: string[];\n selectedObject: string;\n selectedBucket: string;\n}\n\nconst DeleteObject = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedVersions,\n selectedObject,\n}: IDeleteSelectedVersionsProps) => {\n const dispatch = useAppDispatch();\n const [deleteLoading, setDeleteLoading] = useState(false);\n\n const onClose = () => closeDeleteModalAndRefresh(false);\n const onConfirmDelete = () => {\n setDeleteLoading(true);\n };\n\n useEffect(() => {\n if (deleteLoading) {\n const selectedObjectsRequest = selectedVersions.map((versionID) => {\n return {\n path: selectedObject,\n versionID: versionID,\n recursive: false,\n };\n });\n\n if (selectedObjectsRequest.length > 0) {\n api\n .invoke(\n \"POST\",\n `/api/v1/buckets/${selectedBucket}/delete-objects?all_versions=false`,\n selectedObjectsRequest\n )\n .then(() => {\n setDeleteLoading(false);\n closeDeleteModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(error));\n setDeleteLoading(false);\n });\n }\n }\n }, [\n deleteLoading,\n closeDeleteModalAndRefresh,\n selectedBucket,\n selectedObject,\n selectedVersions,\n dispatch,\n ]);\n\n if (!selectedVersions) {\n return null;\n }\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete the selected {selectedVersions.length}{\" \"}\n versions for {selectedObject}?\n \n }\n />\n );\n};\n\nexport default DeleteObject;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { useSelector } from \"react-redux\";\nimport { withStyles } from \"@mui/styles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { LinearProgress, SelectChangeEvent } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport ShareFile from \"./ShareFile\";\nimport {\n actionsTray,\n buttonsStyles,\n containerForHeader,\n hrClass,\n objectBrowserCommon,\n objectBrowserExtras,\n spacingUtils,\n tableStyles,\n textStyleUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { IFileInfo } from \"./types\";\nimport { download } from \"../utils\";\nimport api from \"../../../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\n\nimport {\n decodeURLString,\n encodeURLString,\n niceBytesInt,\n} from \"../../../../../../common/utils\";\nimport ScreenTitle from \"../../../../Common/ScreenTitle/ScreenTitle\";\nimport RestoreFileVersion from \"./RestoreFileVersion\";\n\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport {\n DeleteIcon,\n DeleteNonCurrentIcon,\n SelectMultipleIcon,\n VersionsIcon,\n} from \"../../../../../../icons\";\nimport FileVersionItem from \"./FileVersionItem\";\nimport SelectWrapper from \"../../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport PreviewFileModal from \"../Preview/PreviewFileModal\";\nimport DeleteNonCurrent from \"../ListObjects/DeleteNonCurrent\";\nimport BrowserBreadcrumbs from \"../../../../ObjectBrowser/BrowserBreadcrumbs\";\nimport DeleteSelectedVersions from \"./DeleteSelectedVersions\";\nimport {\n selDistSet,\n setErrorSnackMessage,\n} from \"../../../../../../systemSlice\";\nimport {\n makeid,\n storeCallForObjectWithID,\n} from \"../../../../ObjectBrowser/transferManager\";\nimport {\n cancelObjectInList,\n completeObject,\n failObject,\n setLoadingObjectInfo,\n setLoadingVersions,\n setNewObject,\n setSelectedVersion,\n updateProgress,\n} from \"../../../../ObjectBrowser/objectBrowserSlice\";\nimport { List, ListRowProps } from \"react-virtualized\";\nimport { Button } from \"mds\";\nimport TooltipWrapper from \"../../../../Common/TooltipWrapper/TooltipWrapper\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n versionsContainer: {\n padding: 10,\n \"@media (max-width: 799px)\": {\n minHeight: 800,\n },\n },\n noBottomBorder: {\n borderBottom: 0,\n },\n versionsVirtualPanel: {\n flexGrow: 1,\n height: \"calc(100% - 120px)\",\n overflow: \"auto\",\n \"@media (max-width: 799px)\": {\n height: 600,\n },\n },\n screenTitleContainer: {\n position: \"relative\",\n \"&::before\": {\n content: \"' '\",\n display: \"block\",\n position: \"absolute\",\n width: \"2px\",\n backgroundColor: \"#F8F8F8\",\n left: \"24px\",\n height: \"40px\",\n bottom: 0,\n },\n \"@media (max-width: 799px)\": {\n \"&::before\": {\n display: \"none\",\n },\n },\n },\n sortByLabel: {\n color: \"#838383\",\n fontWeight: \"bold\",\n whiteSpace: \"nowrap\",\n marginRight: 12,\n fontSize: 14,\n \"@media (max-width: 600px)\": {\n display: \"none\",\n },\n },\n ...hrClass,\n ...buttonsStyles,\n ...actionsTray,\n ...tableStyles,\n ...spacingUtils,\n ...textStyleUtils,\n ...objectBrowserCommon,\n ...objectBrowserExtras,\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IVersionsNavigatorProps {\n classes: any;\n internalPaths: string;\n bucketName: string;\n}\n\nconst emptyFile: IFileInfo = {\n is_latest: true,\n last_modified: \"\",\n legal_hold_status: \"\",\n name: \"\",\n retention_mode: \"\",\n retention_until_date: \"\",\n size: \"0\",\n tags: {},\n version_id: null,\n};\n\nconst VersionsNavigator = ({\n classes,\n internalPaths,\n bucketName,\n}: IVersionsNavigatorProps) => {\n const dispatch = useAppDispatch();\n\n const searchVersions = useSelector(\n (state: AppState) => state.objectBrowser.searchVersions\n );\n const loadingVersions = useSelector(\n (state: AppState) => state.objectBrowser.loadingVersions\n );\n const selectedVersion = useSelector(\n (state: AppState) => state.objectBrowser.selectedVersion\n );\n\n const distributedSetup = useSelector(selDistSet);\n const [shareFileModalOpen, setShareFileModalOpen] = useState(false);\n const [actualInfo, setActualInfo] = useState(null);\n const [objectToShare, setObjectToShare] = useState(null);\n const [versions, setVersions] = useState([]);\n const [restoreVersionOpen, setRestoreVersionOpen] = useState(false);\n const [restoreVersion, setRestoreVersion] = useState(\"\");\n const [sortValue, setSortValue] = useState(\"date\");\n const [previewOpen, setPreviewOpen] = useState(false);\n const [deleteNonCurrentOpen, setDeleteNonCurrentOpen] =\n useState(false);\n const [selectEnabled, setSelectEnabled] = useState(false);\n const [selectedItems, setSelectedItems] = useState([]);\n const [delSelectedVOpen, setDelSelectedVOpen] = useState(false);\n\n // calculate object name to display\n let objectNameArray: string[] = [];\n if (actualInfo) {\n objectNameArray = actualInfo.name.split(\"/\");\n }\n\n useEffect(() => {\n if (!loadingVersions && !actualInfo) {\n dispatch(setLoadingVersions(true));\n }\n }, [loadingVersions, actualInfo, dispatch]);\n\n useEffect(() => {\n if (loadingVersions && internalPaths !== \"\") {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects?prefix=${internalPaths}${\n distributedSetup ? \"&with_versions=true\" : \"\"\n }`\n )\n .then((res: IFileInfo[]) => {\n const result = get(res, \"objects\", []);\n\n const decodedInternalPaths = decodeURLString(internalPaths);\n\n // Filter the results prefixes as API can return more files than expected.\n const filteredPrefixes = result.filter(\n (item: IFileInfo) => item.name === decodedInternalPaths\n );\n\n if (distributedSetup) {\n setActualInfo(\n filteredPrefixes.find((el: IFileInfo) => el.is_latest) ||\n emptyFile\n );\n setVersions(filteredPrefixes);\n } else {\n setActualInfo(filteredPrefixes[0]);\n setVersions([]);\n }\n\n dispatch(setLoadingVersions(false));\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n dispatch(setLoadingVersions(false));\n });\n }\n }, [loadingVersions, bucketName, internalPaths, dispatch, distributedSetup]);\n\n const shareObject = () => {\n setShareFileModalOpen(true);\n };\n\n const closeShareModal = () => {\n setObjectToShare(null);\n setShareFileModalOpen(false);\n setPreviewOpen(false);\n };\n\n const downloadObject = (object: IFileInfo) => {\n const identityDownload = encodeURLString(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`\n );\n\n const ID = makeid(8);\n\n const downloadCall = download(\n bucketName,\n internalPaths,\n object.version_id,\n parseInt(object.size || \"0\"),\n null,\n ID,\n (progress) => {\n dispatch(\n updateProgress({\n instanceID: identityDownload,\n progress: progress,\n })\n );\n },\n () => {\n dispatch(completeObject(identityDownload));\n },\n (msg: string) => {\n dispatch(failObject({ instanceID: identityDownload, msg }));\n },\n () => {\n dispatch(cancelObjectInList(identityDownload));\n }\n );\n\n storeCallForObjectWithID(ID, downloadCall);\n dispatch(\n setNewObject({\n ID,\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name,\n type: \"download\",\n waitingForFile: true,\n failed: false,\n cancelled: false,\n errorMessage: \"\",\n })\n );\n };\n\n const onShareItem = (item: IFileInfo) => {\n setObjectToShare(item);\n shareObject();\n };\n\n const onPreviewItem = (item: IFileInfo) => {\n setObjectToShare(item);\n setPreviewOpen(true);\n };\n\n const onRestoreItem = (item: IFileInfo) => {\n setRestoreVersion(item.version_id || \"\");\n setRestoreVersionOpen(true);\n };\n\n const onDownloadItem = (item: IFileInfo) => {\n downloadObject(item);\n };\n\n const onGlobalClick = (item: IFileInfo) => {\n dispatch(setSelectedVersion(item.version_id || \"\"));\n };\n\n const filteredRecords = versions.filter((version) => {\n if (version.version_id) {\n return version.version_id.includes(searchVersions);\n }\n return false;\n });\n\n const closeRestoreModal = (reloadObjectData: boolean) => {\n setRestoreVersionOpen(false);\n setRestoreVersion(\"\");\n\n if (reloadObjectData) {\n dispatch(setLoadingVersions(true));\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeDeleteNonCurrent = (reloadAfterDelete: boolean) => {\n setDeleteNonCurrentOpen(false);\n\n if (reloadAfterDelete) {\n dispatch(setLoadingVersions(true));\n dispatch(setSelectedVersion(\"\"));\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeSelectedVersions = (reloadOnComplete: boolean) => {\n setDelSelectedVOpen(false);\n\n if (reloadOnComplete) {\n dispatch(setLoadingVersions(true));\n dispatch(setSelectedVersion(\"\"));\n dispatch(setLoadingObjectInfo(true));\n setSelectedItems([]);\n }\n };\n\n const totalSpace = versions.reduce((acc: number, currValue: IFileInfo) => {\n if (currValue.size) {\n return acc + parseInt(currValue.size);\n }\n return acc;\n }, 0);\n\n filteredRecords.sort((a, b) => {\n switch (sortValue) {\n case \"size\":\n if (a.size && b.size) {\n if (a.size < b.size) {\n return -1;\n }\n if (a.size > b.size) {\n return 1;\n }\n return 0;\n }\n return 0;\n default:\n const dateA = new Date(a.last_modified).getTime();\n const dateB = new Date(b.last_modified).getTime();\n\n if (dateA < dateB) {\n return 1;\n }\n if (dateA > dateB) {\n return -1;\n }\n return 0;\n }\n });\n\n const onCheckVersion = (selectedVersion: string) => {\n if (selectedItems.includes(selectedVersion)) {\n const filteredItems = selectedItems.filter(\n (element) => element !== selectedVersion\n );\n\n setSelectedItems(filteredItems);\n\n return;\n }\n\n const cloneState = [...selectedItems];\n cloneState.push(selectedVersion);\n\n setSelectedItems(cloneState);\n };\n\n const rowRenderer = ({\n key, // Unique key within array of rows\n index, // Index of row within collection\n isScrolling, // The List is currently being scrolled\n isVisible, // This row is visible within the List (eg it is not an overscanned row)\n style, // Style object to be applied to row (to position it)\n }: ListRowProps) => {\n const versOrd = versions.length - index;\n return (\n \n );\n };\n\n return (\n \n {shareFileModalOpen && actualInfo && (\n \n )}\n {restoreVersionOpen && actualInfo && (\n \n )}\n {previewOpen && actualInfo && (\n {\n setPreviewOpen(false);\n }}\n />\n )}\n {deleteNonCurrentOpen && (\n \n )}\n {delSelectedVOpen && (\n \n )}\n \n {!actualInfo && (\n \n \n \n )}\n\n {actualInfo && (\n \n \n \n \n \n \n \n \n }\n title={\n \n {objectNameArray.length > 0\n ? objectNameArray[objectNameArray.length - 1]\n : actualInfo.name}{\" \"}\n Versions\n \n }\n subTitle={\n \n \n \n \n {versions.length} Version\n {versions.length === 1 ? \"\" : \"s\"}   \n \n \n \n {niceBytesInt(totalSpace)}\n \n \n \n }\n actions={\n \n \n {\n setSelectEnabled(!selectEnabled);\n }}\n icon={}\n variant={selectEnabled ? \"callAction\" : \"regular\"}\n style={{ marginRight: 8 }}\n />\n \n {selectEnabled && (\n \n {\n setDelSelectedVOpen(true);\n }}\n icon={}\n variant={\"secondary\"}\n style={{ marginRight: 8 }}\n disabled={selectedItems.length === 0}\n />\n \n )}\n \n {\n setDeleteNonCurrentOpen(true);\n }}\n icon={}\n variant={\"secondary\"}\n style={{ marginRight: 15 }}\n disabled={versions.length <= 1}\n />\n \n Sort by\n ) => {\n setSortValue(e.target.value as string);\n }}\n name={\"sort-by\"}\n options={[\n { label: \"Date\", value: \"date\" },\n {\n label: \"Size\",\n value: \"size\",\n },\n ]}\n />\n \n }\n className={classes.noBottomBorder}\n />\n \n \n {actualInfo.version_id && actualInfo.version_id !== \"null\" && (\n // @ts-ignore\n \n )}\n \n \n )}\n \n \n );\n};\n\nexport default withStyles(styles)(VersionsNavigator);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, {\n Fragment,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useLocation, useNavigate, useParams } from \"react-router-dom\";\nimport { useDropzone } from \"react-dropzone\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport get from \"lodash/get\";\nimport { BucketObjectItem, BucketObjectItemsList } from \"./types\";\nimport api from \"../../../../../../common/api\";\nimport TableWrapper, {\n ItemActions,\n} from \"../../../../Common/TableWrapper/TableWrapper\";\nimport {\n decodeURLString,\n encodeURLString,\n getClientOS,\n niceBytesInt,\n} from \"../../../../../../common/utils\";\n\nimport {\n actionsTray,\n containerForHeader,\n objectBrowserCommon,\n objectBrowserExtras,\n searchField,\n tableStyles,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { Badge, Typography } from \"@mui/material\";\nimport BrowserBreadcrumbs from \"../../../../ObjectBrowser/BrowserBreadcrumbs\";\nimport {\n download,\n extensionPreview,\n permissionItems,\n sortListObjects,\n} from \"../utils\";\nimport {\n BucketInfo,\n BucketObjectLocking,\n BucketQuota,\n BucketVersioning,\n} from \"../../../types\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\n\nimport ScreenTitle from \"../../../../Common/ScreenTitle/ScreenTitle\";\n\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport PageLayout from \"../../../../Common/Layout/PageLayout\";\n\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../../../../common/SecureComponent/permissions\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../../../common/SecureComponent\";\n\nimport withSuspense from \"../../../../Common/Components/withSuspense\";\nimport {\n BucketsIcon,\n DownloadIcon,\n PreviewIcon,\n ShareIcon,\n} from \"../../../../../../icons\";\nimport UploadFilesButton from \"../../UploadFilesButton\";\nimport DetailsListPanel from \"./DetailsListPanel\";\nimport ObjectDetailPanel from \"./ObjectDetailPanel\";\nimport ActionsListSection from \"./ActionsListSection\";\nimport { listModeColumns, rewindModeColumns } from \"./ListObjectsHelpers\";\nimport VersionsNavigator from \"../ObjectDetails/VersionsNavigator\";\nimport CheckboxWrapper from \"../../../../Common/FormComponents/CheckboxWrapper/CheckboxWrapper\";\n\nimport {\n setErrorSnackMessage,\n setSnackBarMessage,\n} from \"../../../../../../systemSlice\";\n\nimport {\n makeid,\n removeTrace,\n storeCallForObjectWithID,\n storeFormDataWithID,\n} from \"../../../../ObjectBrowser/transferManager\";\nimport {\n cancelObjectInList,\n completeObject,\n failObject,\n openList,\n resetRewind,\n setLoadingObjectInfo,\n setLoadingObjectsList,\n setLoadingVersions,\n setNewObject,\n setObjectDetailsView,\n setSearchObjects,\n setSelectedObjectView,\n setShowDeletedObjects,\n setSimplePathHandler,\n setVersionsModeEnabled,\n updateProgress,\n} from \"../../../../ObjectBrowser/objectBrowserSlice\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport {\n selBucketDetailsInfo,\n selBucketDetailsLoading,\n setBucketDetailsLoad,\n setBucketInfo,\n} from \"../../../BucketDetails/bucketDetailsSlice\";\nimport RenameLongFileName from \"../../../../ObjectBrowser/RenameLongFilename\";\nimport { selFeatures } from \"../../../../consoleSlice\";\nimport TooltipWrapper from \"../../../../Common/TooltipWrapper/TooltipWrapper\";\n\nconst HistoryIcon = React.lazy(\n () => import(\"../../../../../../icons/HistoryIcon\")\n);\nconst RefreshIcon = React.lazy(\n () => import(\"../../../../../../icons/RefreshIcon\")\n);\n\nconst DeleteIcon = React.lazy(\n () => import(\"../../../../../../icons/DeleteIcon\")\n);\n\nconst DeleteMultipleObjects = withSuspense(\n React.lazy(() => import(\"./DeleteMultipleObjects\"))\n);\nconst ShareFile = withSuspense(\n React.lazy(() => import(\"../ObjectDetails/ShareFile\"))\n);\nconst RewindEnable = withSuspense(React.lazy(() => import(\"./RewindEnable\")));\nconst PreviewFileModal = withSuspense(\n React.lazy(() => import(\"../Preview/PreviewFileModal\"))\n);\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n browsePaper: {\n border: 0,\n height: \"calc(100vh - 210px)\",\n \"&.isEmbedded\": {\n height: \"calc(100vh - 315px)\",\n },\n \"&.actionsPanelOpen\": {\n minHeight: \"100%\",\n },\n \"@media (max-width: 800px)\": {\n width: 800,\n },\n },\n \"@global\": {\n \".rowLine:hover .iconFileElm\": {\n backgroundImage: \"url(/images/ob_file_filled.svg)\",\n },\n \".rowLine:hover .iconFolderElm\": {\n backgroundImage: \"url(/images/ob_folder_filled.svg)\",\n },\n },\n\n badgeOverlap: {\n \"& .MuiBadge-badge\": {\n top: 10,\n right: 1,\n width: 5,\n height: 5,\n minWidth: 5,\n },\n },\n screenTitle: {\n borderBottom: 0,\n paddingTop: 0,\n paddingLeft: 0,\n paddingRight: 0,\n },\n ...tableStyles,\n ...actionsTray,\n ...searchField,\n\n searchField: {\n ...searchField.searchField,\n maxWidth: 380,\n },\n screenTitleContainer: {\n border: \"#EAEDEE 1px solid\",\n padding: \"0.8rem 15px 0\",\n },\n labelStyle: {\n color: \"#969FA8\",\n fontSize: \"12px\",\n },\n breadcrumbsContainer: {\n padding: \"12px 14px 5px\",\n },\n parentWrapper: {\n \"@media (max-width: 800px)\": {\n overflowX: \"auto\",\n },\n },\n fullContainer: {\n \"@media (max-width: 799px)\": {\n width: 0,\n },\n },\n hideListOnSmall: {\n \"@media (max-width: 799px)\": {\n display: \"none\",\n },\n },\n ...objectBrowserExtras,\n ...objectBrowserCommon,\n ...containerForHeader(theme.spacing(4)),\n })\n);\n\nconst baseDnDStyle = {\n borderWidth: 2,\n borderRadius: 2,\n borderColor: \"#eeeeee\",\n outline: \"none\",\n};\n\nconst activeDnDStyle = {\n borderStyle: \"dashed\",\n backgroundColor: \"#fafafa\",\n borderColor: \"#2196f3\",\n};\n\nconst acceptDnDStyle = {\n borderStyle: \"dashed\",\n backgroundColor: \"#fafafa\",\n borderColor: \"#00e676\",\n};\n\nfunction useInterval(callback: any, delay: number) {\n const savedCallback = useRef(null);\n\n // Remember the latest callback.\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n // Set up the interval.\n useEffect(() => {\n function tick() {\n if (savedCallback !== undefined && savedCallback.current) {\n savedCallback.current();\n }\n }\n\n if (delay !== null) {\n let id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n}\n\nconst defLoading = Loading...;\n\nconst ListObjects = () => {\n const classes = useStyles();\n const dispatch = useAppDispatch();\n const params = useParams();\n const navigate = useNavigate();\n const location = useLocation();\n\n const rewindEnabled = useSelector(\n (state: AppState) => state.objectBrowser.rewind.rewindEnabled\n );\n const rewindDate = useSelector(\n (state: AppState) => state.objectBrowser.rewind.dateToRewind\n );\n const bucketToRewind = useSelector(\n (state: AppState) => state.objectBrowser.rewind.bucketToRewind\n );\n const versionsMode = useSelector(\n (state: AppState) => state.objectBrowser.versionsMode\n );\n\n const searchObjects = useSelector(\n (state: AppState) => state.objectBrowser.searchObjects\n );\n const showDeleted = useSelector(\n (state: AppState) => state.objectBrowser.showDeleted\n );\n const detailsOpen = useSelector(\n (state: AppState) => state.objectBrowser.objectDetailsOpen\n );\n const selectedInternalPaths = useSelector(\n (state: AppState) => state.objectBrowser.selectedInternalPaths\n );\n const loading = useSelector(\n (state: AppState) => state.objectBrowser.loadingObjects\n );\n const simplePath = useSelector(\n (state: AppState) => state.objectBrowser.simplePath\n );\n\n const loadingBucket = useSelector(selBucketDetailsLoading);\n const bucketInfo = useSelector(selBucketDetailsInfo);\n const allowResources = useSelector(\n (state: AppState) => state.console.session.allowResources\n );\n\n const features = useSelector(selFeatures);\n const obOnly = !!features?.includes(\"object-browser-only\");\n\n const [records, setRecords] = useState([]);\n const [deleteMultipleOpen, setDeleteMultipleOpen] = useState(false);\n const [loadingStartTime, setLoadingStartTime] = useState(0);\n const [loadingMessage, setLoadingMessage] =\n useState(defLoading);\n const [loadingVersioning, setLoadingVersioning] = useState(true);\n const [isVersioned, setIsVersioned] = useState(false);\n const [loadingLocking, setLoadingLocking] = useState(true);\n const [lockingEnabled, setLockingEnabled] = useState(false);\n const [rewindSelect, setRewindSelect] = useState(false);\n const [selectedObjects, setSelectedObjects] = useState([]);\n const [previewOpen, setPreviewOpen] = useState(false);\n const [selectedPreview, setSelectedPreview] =\n useState(null);\n const [shareFileModalOpen, setShareFileModalOpen] = useState(false);\n const [sortDirection, setSortDirection] = useState<\n \"ASC\" | \"DESC\" | undefined\n >(\"ASC\");\n const [currentSortField, setCurrentSortField] = useState(\"name\");\n const [iniLoad, setIniLoad] = useState(false);\n const [canShareFile, setCanShareFile] = useState(false);\n const [canPreviewFile, setCanPreviewFile] = useState(false);\n const [quota, setQuota] = useState(null);\n const [downloadRenameModal, setDownloadRenameModal] =\n useState(null);\n\n const pathSegment = location.pathname.split(\"/browse/\");\n\n const internalPaths = pathSegment.length === 2 ? pathSegment[1] : \"\";\n const bucketName = params.bucketName || \"\";\n\n const fileUpload = useRef(null);\n const folderUpload = useRef(null);\n\n useEffect(() => {\n if (folderUpload.current !== null) {\n folderUpload.current.setAttribute(\"directory\", \"\");\n folderUpload.current.setAttribute(\"webkitdirectory\", \"\");\n }\n }, [folderUpload]);\n\n useEffect(() => {\n if (selectedObjects.length === 1) {\n const objectName = selectedObjects[0];\n\n if (extensionPreview(objectName) !== \"none\") {\n setCanPreviewFile(true);\n } else {\n setCanPreviewFile(false);\n }\n\n if (objectName.endsWith(\"/\")) {\n setCanShareFile(false);\n } else {\n setCanShareFile(true);\n }\n } else {\n setCanShareFile(false);\n setCanPreviewFile(false);\n }\n }, [selectedObjects]);\n\n useEffect(() => {\n if (!quota) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/quota`)\n .then((res: BucketQuota) => {\n let quotaVals = null;\n\n if (res.quota) {\n quotaVals = res;\n }\n\n setQuota(quotaVals);\n })\n .catch((err) => {\n console.error(\"Error Getting Quota Status: \", err.detailedError);\n setQuota(null);\n });\n }\n }, [quota, bucketName]);\n\n useEffect(() => {\n if (selectedObjects.length > 0) {\n dispatch(setObjectDetailsView(true));\n return;\n }\n\n if (selectedObjects.length === 0 && selectedInternalPaths === null) {\n dispatch(setObjectDetailsView(false));\n }\n }, [selectedObjects, selectedInternalPaths, dispatch]);\n\n const displayDeleteObject = hasPermission(bucketName, [\n IAM_SCOPES.S3_DELETE_OBJECT,\n ]);\n\n const displayListObjects = hasPermission(bucketName, [\n IAM_SCOPES.S3_LIST_BUCKET,\n ]);\n\n const updateMessage = () => {\n let timeDelta = Date.now() - loadingStartTime;\n\n if (timeDelta / 1000 >= 6) {\n setLoadingMessage(\n \n \n This operation is taking longer than expected... (\n {Math.ceil(timeDelta / 1000)}s)\n \n \n );\n } else if (timeDelta / 1000 >= 3) {\n setLoadingMessage(\n \n This operation is taking longer than expected...\n \n );\n }\n };\n\n useEffect(() => {\n if (!iniLoad) {\n dispatch(setBucketDetailsLoad(true));\n setIniLoad(true);\n }\n }, [iniLoad, dispatch, setIniLoad]);\n\n useInterval(() => {\n // Your custom logic here\n if (loading) {\n updateMessage();\n }\n }, 1000);\n\n useEffect(() => {\n if (loadingVersioning) {\n if (displayListObjects) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/versioning`)\n .then((res: BucketVersioning) => {\n setIsVersioned(res.is_versioned);\n setLoadingVersioning(false);\n })\n .catch((err: ErrorResponseHandler) => {\n console.error(\n \"Error Getting Object Versioning Status: \",\n err.detailedError\n );\n setLoadingVersioning(false);\n });\n } else {\n setLoadingVersioning(false);\n setRecords([]);\n }\n }\n }, [bucketName, loadingVersioning, dispatch, displayListObjects]);\n\n useEffect(() => {\n if (loadingLocking) {\n if (displayListObjects) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/object-locking`)\n .then((res: BucketObjectLocking) => {\n setLockingEnabled(res.object_locking_enabled);\n setLoadingLocking(false);\n })\n .catch((err: ErrorResponseHandler) => {\n console.error(\n \"Error Getting Object Locking Status: \",\n err.detailedError\n );\n setLoadingLocking(false);\n });\n } else {\n setRecords([]);\n setLoadingLocking(false);\n }\n }\n }, [bucketName, loadingLocking, dispatch, displayListObjects]);\n\n useEffect(() => {\n const decodedIPaths = decodeURLString(internalPaths);\n\n if (decodedIPaths.endsWith(\"/\") || decodedIPaths === \"\") {\n dispatch(setObjectDetailsView(false));\n dispatch(setSelectedObjectView(null));\n dispatch(\n setSimplePathHandler(decodedIPaths === \"\" ? \"/\" : decodedIPaths)\n );\n } else {\n dispatch(setLoadingObjectInfo(true));\n dispatch(setObjectDetailsView(true));\n dispatch(setLoadingVersions(true));\n dispatch(\n setSelectedObjectView(\n `${decodedIPaths ? `${encodeURLString(decodedIPaths)}` : ``}`\n )\n );\n dispatch(\n setSimplePathHandler(\n `${decodedIPaths.split(\"/\").slice(0, -1).join(\"/\")}/`\n )\n );\n }\n }, [internalPaths, rewindDate, rewindEnabled, dispatch]);\n\n useEffect(() => {\n dispatch(setSearchObjects(\"\"));\n dispatch(setLoadingObjectsList(true));\n setSelectedObjects([]);\n }, [simplePath, dispatch, setSelectedObjects]);\n\n useEffect(() => {\n if (loading) {\n if (displayListObjects) {\n let pathPrefix = \"\";\n if (internalPaths) {\n const decodedPath = decodeURLString(internalPaths);\n pathPrefix = decodedPath.endsWith(\"/\")\n ? decodedPath\n : decodedPath + \"/\";\n }\n\n let currentTimestamp = Date.now();\n setLoadingStartTime(currentTimestamp);\n setLoadingMessage(defLoading);\n\n // We get URL to look into\n let urlTake = `/api/v1/buckets/${bucketName}/objects`;\n\n // Is rewind enabled?, we use Rewind API\n if (rewindEnabled) {\n if (bucketToRewind !== bucketName) {\n dispatch(resetRewind());\n return;\n }\n\n if (rewindDate) {\n const rewindParsed = rewindDate.toISOString();\n\n urlTake = `/api/v1/buckets/${bucketName}/rewind/${rewindParsed}`;\n }\n } else if (showDeleted) {\n // Do we want to display deleted items too?, we use rewind to current time to show everything\n const currDate = new Date();\n const currDateISO = currDate.toISOString();\n\n urlTake = `/api/v1/buckets/${bucketName}/rewind/${currDateISO}`;\n }\n\n api\n .invoke(\n \"GET\",\n `${urlTake}${\n pathPrefix ? `?prefix=${encodeURLString(pathPrefix)}` : ``\n }`\n )\n .then((res: BucketObjectItemsList) => {\n const records: BucketObjectItem[] = res.objects || [];\n const folders: BucketObjectItem[] = [];\n const files: BucketObjectItem[] = [];\n\n // We separate items between folders or files to display folders at the beginning always.\n records.forEach((record) => {\n // We omit files from the same path\n if (record.name !== decodeURLString(internalPaths)) {\n // this is a folder\n if (record.name.endsWith(\"/\")) {\n folders.push(record);\n } else {\n // this is a file\n files.push(record);\n }\n }\n });\n\n const recordsInElement = [...folders, ...files];\n\n if (recordsInElement.length === 0 && pathPrefix !== \"\") {\n let pathTest = `/api/v1/buckets/${bucketName}/objects${\n internalPaths ? `?prefix=${internalPaths}` : \"\"\n }`;\n\n if (rewindEnabled) {\n const rewindParsed = rewindDate.toISOString();\n\n let pathPrefix = \"\";\n if (internalPaths) {\n const decodedPath = decodeURLString(internalPaths);\n pathPrefix = decodedPath.endsWith(\"/\")\n ? decodedPath\n : decodedPath + \"/\";\n }\n\n pathTest = `/api/v1/buckets/${bucketName}/rewind/${rewindParsed}${\n pathPrefix ? `?prefix=${encodeURLString(pathPrefix)}` : ``\n }`;\n }\n\n api\n .invoke(\"GET\", pathTest)\n .then((res: BucketObjectItemsList) => {\n //It is a file since it has elements in the object, setting file flag and waiting for component mount\n if (!res.objects) {\n // It is a folder, we remove loader & set original results list\n dispatch(setLoadingObjectsList(false));\n setRecords(recordsInElement);\n } else {\n // This code prevents the program from opening a file when a substring of that file is entered as a new folder.\n // Previously, if there was a file test1.txt and the folder test was created with the same prefix, the program\n // would open test1.txt instead\n let found = false;\n let pathPrefixChopped = pathPrefix.slice(\n 0,\n pathPrefix.length - 1\n );\n for (let i = 0; i < res.objects.length; i++) {\n if (res.objects[i].name === pathPrefixChopped) {\n found = true;\n }\n }\n if (\n (res.objects.length === 1 &&\n res.objects[0].name.endsWith(\"/\")) ||\n !found\n ) {\n // This is a folder, we set the original results list\n setRecords(recordsInElement);\n } else {\n // This is a file. We change URL & Open file details view.\n dispatch(setObjectDetailsView(true));\n dispatch(setSelectedObjectView(internalPaths));\n\n // We split the selected object URL & remove the last item to fetch the files list for the parent folder\n const parentPath = `${decodeURLString(internalPaths)\n .split(\"/\")\n .slice(0, -1)\n .join(\"/\")}/`;\n\n api\n .invoke(\n \"GET\",\n `${urlTake}${\n pathPrefix\n ? `?prefix=${encodeURLString(parentPath)}`\n : ``\n }`\n )\n .then((res: BucketObjectItemsList) => {\n const records: BucketObjectItem[] = res.objects || [];\n\n setRecords(records);\n })\n .catch(() => {});\n }\n\n dispatch(setLoadingObjectsList(false));\n }\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setLoadingObjectsList(false));\n dispatch(setErrorSnackMessage(err));\n });\n } else {\n setRecords(recordsInElement);\n dispatch(setLoadingObjectsList(false));\n }\n })\n .catch((err: ErrorResponseHandler) => {\n const permitItems = permissionItems(\n bucketName,\n pathPrefix,\n allowResources || []\n );\n\n if (!permitItems || permitItems.length === 0) {\n dispatch(setErrorSnackMessage(err));\n } else {\n setRecords(permitItems);\n }\n\n dispatch(setLoadingObjectsList(false));\n });\n } else {\n dispatch(setLoadingObjectsList(false));\n }\n }\n }, [\n loading,\n dispatch,\n bucketName,\n rewindEnabled,\n rewindDate,\n internalPaths,\n bucketInfo,\n showDeleted,\n displayListObjects,\n bucketToRewind,\n allowResources,\n ]);\n\n // bucket info\n useEffect(() => {\n if (loadingBucket) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}`)\n .then((res: BucketInfo) => {\n dispatch(setBucketDetailsLoad(false));\n dispatch(setBucketInfo(res));\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setBucketDetailsLoad(false));\n dispatch(setErrorSnackMessage(err));\n });\n }\n }, [bucketName, loadingBucket, dispatch]);\n\n const closeDeleteMultipleModalAndRefresh = (refresh: boolean) => {\n setDeleteMultipleOpen(false);\n\n if (refresh) {\n dispatch(setSnackBarMessage(`Objects deleted successfully.`));\n setSelectedObjects([]);\n dispatch(setLoadingObjectsList(true));\n }\n };\n\n const handleUploadButton = (e: any) => {\n if (\n e === null ||\n e === undefined ||\n e.target.files === null ||\n e.target.files === undefined\n ) {\n return;\n }\n e.preventDefault();\n var newFiles: File[] = [];\n\n for (var i = 0; i < e.target.files.length; i++) {\n newFiles.push(e.target.files[i]);\n }\n uploadObject(newFiles, \"\");\n\n e.target.value = \"\";\n };\n\n const downloadObject = (object: BucketObjectItem) => {\n const identityDownload = encodeURLString(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`\n );\n\n const ID = makeid(8);\n\n const downloadCall = download(\n bucketName,\n encodeURLString(object.name),\n object.version_id,\n object.size,\n null,\n ID,\n (progress) => {\n dispatch(\n updateProgress({\n instanceID: identityDownload,\n progress: progress,\n })\n );\n },\n () => {\n dispatch(completeObject(identityDownload));\n },\n (msg: string) => {\n dispatch(failObject({ instanceID: identityDownload, msg }));\n },\n () => {\n dispatch(cancelObjectInList(identityDownload));\n }\n );\n storeCallForObjectWithID(ID, downloadCall);\n dispatch(\n setNewObject({\n ID,\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name,\n type: \"download\",\n waitingForFile: true,\n failed: false,\n cancelled: false,\n errorMessage: \"\",\n })\n );\n };\n\n const openPath = (idElement: string) => {\n setSelectedObjects([]);\n\n const newPath = `/buckets/${bucketName}/browse${\n idElement ? `/${encodeURLString(idElement)}` : ``\n }`;\n navigate(newPath);\n\n dispatch(setObjectDetailsView(true));\n dispatch(setLoadingVersions(true));\n dispatch(\n setSelectedObjectView(\n `${idElement ? `${encodeURLString(idElement)}` : ``}`\n )\n );\n };\n\n const uploadObject = useCallback(\n (files: File[], folderPath: string): void => {\n let pathPrefix = \"\";\n if (simplePath) {\n pathPrefix = simplePath.endsWith(\"/\") ? simplePath : simplePath + \"/\";\n }\n\n const upload = (\n files: File[],\n bucketName: string,\n path: string,\n folderPath: string\n ) => {\n let uploadPromise = (file: File) => {\n return new Promise((resolve, reject) => {\n let uploadUrl = `api/v1/buckets/${bucketName}/objects/upload`;\n const fileName = file.name;\n\n const blobFile = new Blob([file], { type: file.type });\n\n let encodedPath = \"\";\n\n const filePath = get(file, \"path\", \"\");\n const fileWebkitRelativePath = get(file, \"webkitRelativePath\", \"\");\n\n let relativeFolderPath = folderPath;\n const ID = makeid(8);\n\n // File was uploaded via drag & drop\n if (filePath !== \"\") {\n relativeFolderPath = filePath;\n } else if (fileWebkitRelativePath !== \"\") {\n // File was uploaded using upload button\n relativeFolderPath = fileWebkitRelativePath;\n }\n\n if (path !== \"\" || relativeFolderPath !== \"\") {\n const finalFolderPath = relativeFolderPath\n .split(\"/\")\n .slice(0, -1)\n .join(\"/\");\n\n const pathClean = path.endsWith(\"/\") ? path.slice(0, -1) : path;\n\n encodedPath = encodeURLString(\n `${pathClean}${\n !pathClean.endsWith(\"/\") &&\n finalFolderPath !== \"\" &&\n !finalFolderPath.startsWith(\"/\")\n ? \"/\"\n : \"\"\n }${finalFolderPath}${\n !finalFolderPath.endsWith(\"/\") ||\n (finalFolderPath.trim() === \"\" && !path.endsWith(\"/\"))\n ? \"/\"\n : \"\"\n }`\n );\n }\n\n if (encodedPath !== \"\") {\n uploadUrl = `${uploadUrl}?prefix=${encodedPath}`;\n }\n\n const identity = encodeURLString(\n `${bucketName}-${encodedPath}-${new Date().getTime()}-${Math.random()}`\n );\n\n let xhr = new XMLHttpRequest();\n xhr.open(\"POST\", uploadUrl, true);\n\n const areMultipleFiles = files.length > 1;\n let errorMessage = `An error occurred while uploading the file${\n areMultipleFiles ? \"s\" : \"\"\n }.`;\n\n const errorMessages: any = {\n 413: \"Error - File size too large\",\n };\n\n xhr.withCredentials = false;\n xhr.onload = function (event) {\n // resolve promise only when HTTP code is ok\n if (xhr.status >= 200 && xhr.status < 300) {\n dispatch(completeObject(identity));\n resolve({ status: xhr.status });\n\n removeTrace(ID);\n } else {\n // reject promise if there was a server error\n if (errorMessages[xhr.status]) {\n errorMessage = errorMessages[xhr.status];\n } else if (xhr.response) {\n try {\n const err = JSON.parse(xhr.response);\n errorMessage = err.detailedMessage;\n } catch (e) {\n errorMessage = \"something went wrong\";\n }\n }\n\n dispatch(\n failObject({\n instanceID: identity,\n msg: errorMessage,\n })\n );\n reject({ status: xhr.status, message: errorMessage });\n\n removeTrace(ID);\n }\n };\n\n xhr.upload.addEventListener(\"error\", (event) => {\n reject(errorMessage);\n dispatch(\n failObject({\n instanceID: identity,\n msg: \"A network error occurred.\",\n })\n );\n return;\n });\n\n xhr.upload.addEventListener(\"progress\", (event) => {\n const progress = Math.floor((event.loaded * 100) / event.total);\n\n dispatch(\n updateProgress({\n instanceID: identity,\n progress: progress,\n })\n );\n });\n\n xhr.onerror = () => {\n reject(errorMessage);\n dispatch(\n failObject({\n instanceID: identity,\n msg: \"A network error occurred.\",\n })\n );\n return;\n };\n xhr.onloadend = () => {\n if (files.length === 0) {\n dispatch(setLoadingObjectsList(true));\n }\n };\n xhr.onabort = () => {\n dispatch(cancelObjectInList(identity));\n };\n\n const formData = new FormData();\n if (file.size !== undefined) {\n formData.append(file.size.toString(), blobFile, fileName);\n storeCallForObjectWithID(ID, xhr);\n dispatch(\n setNewObject({\n ID,\n bucketName,\n done: false,\n instanceID: identity,\n percentage: 0,\n prefix: `${decodeURLString(encodedPath)}${fileName}`,\n type: \"upload\",\n waitingForFile: false,\n failed: false,\n cancelled: false,\n errorMessage: \"\",\n })\n );\n\n storeFormDataWithID(ID, formData);\n storeCallForObjectWithID(ID, xhr);\n }\n });\n };\n\n const uploadFilePromises: any = [];\n // open object manager\n dispatch(openList());\n for (let i = 0; i < files.length; i++) {\n const file = files[i];\n uploadFilePromises.push(uploadPromise(file));\n }\n Promise.allSettled(uploadFilePromises).then((results: Array) => {\n const errors = results.filter(\n (result) => result.status === \"rejected\"\n );\n if (errors.length > 0) {\n const totalFiles = uploadFilePromises.length;\n const successUploadedFiles =\n uploadFilePromises.length - errors.length;\n const err: ErrorResponseHandler = {\n errorMessage: \"There were some errors during file upload\",\n detailedError: `Uploaded files ${successUploadedFiles}/${totalFiles}`,\n };\n dispatch(setErrorSnackMessage(err));\n }\n // We force objects list reload after all promises were handled\n dispatch(setLoadingObjectsList(true));\n setSelectedObjects([]);\n });\n };\n\n upload(files, bucketName, pathPrefix, folderPath);\n },\n [bucketName, dispatch, simplePath]\n );\n\n const onDrop = useCallback(\n (acceptedFiles: any[]) => {\n if (acceptedFiles && acceptedFiles.length > 0 && canUpload) {\n let newFolderPath: string = acceptedFiles[0].path;\n uploadObject(acceptedFiles, newFolderPath);\n }\n if (!canUpload) {\n dispatch(\n setErrorSnackMessage({\n errorMessage: \"Upload not allowed\",\n detailedError: permissionTooltipHelper(\n [IAM_SCOPES.S3_PUT_OBJECT],\n \"upload objects to this location\"\n ),\n })\n );\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [uploadObject]\n );\n\n const { getRootProps, getInputProps, isDragActive, isDragAccept } =\n useDropzone({\n noClick: true,\n onDrop,\n });\n\n const dndStyles = useMemo(\n () => ({\n ...baseDnDStyle,\n ...(isDragActive ? activeDnDStyle : {}),\n ...(isDragAccept ? acceptDnDStyle : {}),\n }),\n [isDragActive, isDragAccept]\n );\n\n const openPreview = () => {\n if (selectedObjects.length === 1) {\n let fileObject: BucketObjectItem | undefined;\n\n const findFunction = (currValue: BucketObjectItem) =>\n selectedObjects.includes(currValue.name);\n\n fileObject = filteredRecords.find(findFunction);\n\n if (fileObject) {\n setSelectedPreview(fileObject);\n setPreviewOpen(true);\n }\n }\n };\n\n const openShare = () => {\n if (selectedObjects.length === 1) {\n let fileObject: BucketObjectItem | undefined;\n\n const findFunction = (currValue: BucketObjectItem) =>\n selectedObjects.includes(currValue.name);\n\n fileObject = filteredRecords.find(findFunction);\n\n if (fileObject) {\n setSelectedPreview(fileObject);\n setShareFileModalOpen(true);\n }\n }\n };\n\n const closeShareModal = () => {\n setShareFileModalOpen(false);\n setSelectedPreview(null);\n };\n\n const filteredRecords = records.filter((b: BucketObjectItem) => {\n if (searchObjects === \"\") {\n return true;\n } else {\n const objectName = b.name.toLowerCase();\n if (objectName.indexOf(searchObjects.toLowerCase()) >= 0) {\n return true;\n } else {\n return false;\n }\n }\n });\n\n const rewindCloseModal = () => {\n setRewindSelect(false);\n };\n\n const closePreviewWindow = () => {\n setPreviewOpen(false);\n setSelectedPreview(null);\n };\n\n const selectListObjects = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selectedObjects]; // We clone the selectedBuckets array\n\n if (checked) {\n // If the user has checked this field we need to push this to selectedBucketsList\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n setSelectedObjects(elements);\n dispatch(setSelectedObjectView(null));\n\n return elements;\n };\n\n const sortChange = (sortData: any) => {\n const newSortDirection = get(sortData, \"sortDirection\", \"DESC\");\n setCurrentSortField(sortData.sortBy);\n setSortDirection(newSortDirection);\n dispatch(setLoadingObjectsList(true));\n };\n\n const pageTitle = decodeURLString(internalPaths);\n const currentPath = pageTitle.split(\"/\").filter((i: string) => i !== \"\");\n\n const plSelect = filteredRecords;\n const sortASC = plSelect.sort(sortListObjects(currentSortField));\n\n let payload: BucketObjectItem[] = [];\n\n if (sortDirection === \"ASC\") {\n payload = sortASC;\n } else {\n payload = sortASC.reverse();\n }\n\n const selectAllItems = () => {\n dispatch(setSelectedObjectView(null));\n\n if (selectedObjects.length === payload.length) {\n setSelectedObjects([]);\n return;\n }\n\n const elements = payload.map((item) => item.name);\n setSelectedObjects(elements);\n };\n\n const downloadSelected = () => {\n if (selectedObjects.length !== 0) {\n let itemsToDownload: BucketObjectItem[] = [];\n\n const filterFunction = (currValue: BucketObjectItem) =>\n selectedObjects.includes(currValue.name);\n\n itemsToDownload = filteredRecords.filter(filterFunction);\n\n // I case just one element is selected, then we trigger download modal validation.\n // We are going to enforce zip download when multiple files are selected\n if (itemsToDownload.length === 1) {\n if (\n itemsToDownload[0].name.length > 200 &&\n getClientOS().toLowerCase().includes(\"win\")\n ) {\n setDownloadRenameModal(itemsToDownload[0]);\n return;\n }\n }\n\n itemsToDownload.forEach((filteredItem) => {\n downloadObject(filteredItem);\n });\n }\n };\n let uploadPath = [bucketName];\n if (currentPath.length > 0) {\n uploadPath = uploadPath.concat(currentPath);\n }\n\n const canDownload = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_OBJECT,\n IAM_SCOPES.S3_STAR_OBJECT,\n ]);\n const canDelete = hasPermission(bucketName, [\n IAM_SCOPES.S3_DELETE_OBJECT,\n IAM_SCOPES.S3_STAR_OBJECT,\n ]);\n const canUpload = hasPermission(uploadPath, [\n IAM_SCOPES.S3_PUT_OBJECT,\n IAM_SCOPES.S3_STAR_OBJECT,\n ]);\n\n const onClosePanel = (forceRefresh: boolean) => {\n dispatch(setSelectedObjectView(null));\n dispatch(setVersionsModeEnabled({ status: false }));\n if (detailsOpen && selectedInternalPaths !== null) {\n // We change URL to be the contained folder\n\n const decodedPath = decodeURLString(internalPaths);\n const splitURLS = decodedPath.split(\"/\");\n\n // We remove the last section of the URL as it should be a file\n splitURLS.pop();\n\n let URLItem = \"\";\n\n if (splitURLS && splitURLS.length > 0) {\n URLItem = `${splitURLS.join(\"/\")}/`;\n }\n\n navigate(`/buckets/${bucketName}/browse/${encodeURLString(URLItem)}`);\n }\n\n dispatch(setObjectDetailsView(false));\n setSelectedObjects([]);\n\n if (forceRefresh) {\n dispatch(setLoadingObjectsList(true));\n }\n };\n\n const setDeletedAction = () => {\n dispatch(setShowDeletedObjects(!showDeleted));\n onClosePanel(true);\n };\n\n const closeRenameModal = () => {\n setDownloadRenameModal(null);\n };\n\n const tableActions: ItemActions[] = [\n {\n type: \"view\",\n label: \"View\",\n onClick: openPath,\n sendOnlyId: true,\n },\n ];\n\n const multiActionButtons = [\n {\n action: downloadSelected,\n label: \"Download\",\n disabled: !canDownload || selectedObjects.length === 0,\n icon: ,\n tooltip: canDownload\n ? \"Download Selected\"\n : permissionTooltipHelper(\n [IAM_SCOPES.S3_GET_OBJECT],\n \"download objects from this bucket\"\n ),\n },\n {\n action: openShare,\n label: \"Share\",\n disabled: selectedObjects.length !== 1 || !canShareFile,\n icon: ,\n tooltip: canShareFile ? \"Share Selected File\" : \"Sharing unavailable\",\n },\n {\n action: openPreview,\n label: \"Preview\",\n disabled: selectedObjects.length !== 1 || !canPreviewFile,\n icon: ,\n tooltip: canPreviewFile ? \"Preview Selected File\" : \"Preview unavailable\",\n },\n {\n action: () => {\n setDeleteMultipleOpen(true);\n },\n label: \"Delete\",\n icon: ,\n disabled:\n !canDelete || selectedObjects.length === 0 || !displayDeleteObject,\n tooltip: canDelete\n ? \"Delete Selected Files\"\n : permissionTooltipHelper(\n [IAM_SCOPES.S3_DELETE_OBJECT],\n \"delete objects in this bucket\"\n ),\n },\n ];\n\n return (\n \n {shareFileModalOpen && selectedPreview && (\n \n )}\n {deleteMultipleOpen && (\n \n )}\n {rewindSelect && (\n \n )}\n {previewOpen && (\n \n )}\n {!!downloadRenameModal && (\n \n )}\n \n \n \n \n \n }\n title={{bucketName}}\n subTitle={\n \n \n \n Created:   \n {bucketInfo?.creation_date || \"\"}\n \n \n Access:   \n {bucketInfo?.access || \"\"}\n \n {bucketInfo && (\n \n \n {bucketInfo.size && (\n {niceBytesInt(bucketInfo.size)}\n )}\n {bucketInfo.size && quota && (\n / {niceBytesInt(quota.quota)}\n )}\n {bucketInfo.size && bucketInfo.objects ? \" - \" : \"\"}\n {bucketInfo.objects && (\n \n {bucketInfo.objects} Object\n {bucketInfo.objects && bucketInfo.objects !== 1\n ? \"s\"\n : \"\"}\n \n )}\n \n \n )}\n \n \n }\n actions={\n \n
\n \n \n \n \n }\n variant={\"regular\"}\n onClick={() => {\n setRewindSelect(true);\n }}\n disabled={\n !isVersioned ||\n !hasPermission(bucketName, [IAM_SCOPES.S3_GET_OBJECT])\n }\n />\n \n \n }\n variant={\"regular\"}\n onClick={() => {\n if (versionsMode) {\n dispatch(setLoadingVersions(true));\n } else {\n dispatch(setLoadingObjectsList(true));\n }\n }}\n disabled={\n !hasPermission(bucketName, [\n IAM_SCOPES.S3_LIST_BUCKET,\n ]) || rewindEnabled\n }\n />\n \n \n \n {\n if (fileUpload && fileUpload.current) {\n fileUpload.current.click();\n }\n closeMenu();\n }}\n uploadFolderFunction={(closeMenu) => {\n if (folderUpload && folderUpload.current) {\n folderUpload.current.click();\n }\n closeMenu();\n }}\n />\n
\n
\n }\n />\n
\n \n \n \n {versionsMode ? (\n \n {selectedInternalPaths !== null && (\n \n )}\n \n ) : (\n \n \n \n \n \n \n )\n }\n hidePathButton={false}\n />\n \n {\n if (payload[index]?.delete_flag) {\n return \"deleted\";\n }\n\n return \"\";\n }}\n parentClassName={classes.parentWrapper}\n />\n \n \n )}\n \n {\n onClosePanel(false);\n }}\n className={`${versionsMode ? classes.hideListOnSmall : \"\"}`}\n >\n {selectedObjects.length > 0 && (\n \n )}\n {selectedInternalPaths !== null && (\n \n )}\n \n \n \n \n
\n
\n );\n};\n\nexport default ListObjects;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useLocation, useNavigate, useParams } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid } from \"@mui/material\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport { containerForHeader } from \"../../Common/FormComponents/common/styleLibrary\";\n\nimport ListObjects from \"../ListBuckets/Objects/ListObjects/ListObjects\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport SettingsIcon from \"../../../../icons/SettingsIcon\";\n\nimport { SecureComponent } from \"../../../../common/SecureComponent\";\nimport {\n IAM_PAGES,\n IAM_PERMISSIONS,\n IAM_ROLES,\n IAM_SCOPES,\n} from \"../../../../common/SecureComponent/permissions\";\nimport BackLink from \"../../../../common/BackLink\";\nimport {\n setSearchObjects,\n setSearchVersions,\n setVersionsModeEnabled,\n} from \"../../ObjectBrowser/objectBrowserSlice\";\nimport SearchBox from \"../../Common/SearchBox\";\nimport { selFeatures } from \"../../consoleSlice\";\nimport AutoColorIcon from \"../../Common/Components/AutoColorIcon\";\nimport TooltipWrapper from \"../../Common/TooltipWrapper/TooltipWrapper\";\nimport { Button } from \"mds\";\nimport hasPermission from \"../../../../common/SecureComponent/accessControl\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst BrowserHandler = () => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n const params = useParams();\n const location = useLocation();\n\n const versionsMode = useSelector(\n (state: AppState) => state.objectBrowser.versionsMode\n );\n const searchObjects = useSelector(\n (state: AppState) => state.objectBrowser.searchObjects\n );\n const versionedFile = useSelector(\n (state: AppState) => state.objectBrowser.versionedFile\n );\n const searchVersions = useSelector(\n (state: AppState) => state.objectBrowser.searchVersions\n );\n\n const features = useSelector(selFeatures);\n\n const bucketName = params.bucketName || \"\";\n const pathSegment = location.pathname.split(\"/browse/\");\n\n const internalPaths = pathSegment.length === 2 ? pathSegment[1] : \"\";\n\n const obOnly = !!features?.includes(\"object-browser-only\");\n\n useEffect(() => {\n dispatch(setVersionsModeEnabled({ status: false }));\n }, [internalPaths, dispatch]);\n\n const openBucketConfiguration = () => {\n navigate(`/buckets/${bucketName}/admin`);\n };\n\n const configureBucketAllowed = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_POLICY,\n IAM_SCOPES.S3_PUT_BUCKET_POLICY,\n IAM_SCOPES.S3_GET_BUCKET_VERSIONING,\n IAM_SCOPES.S3_PUT_BUCKET_VERSIONING,\n IAM_SCOPES.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION,\n IAM_SCOPES.S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION,\n IAM_SCOPES.S3_DELETE_BUCKET,\n IAM_SCOPES.S3_GET_BUCKET_NOTIFICATIONS,\n IAM_SCOPES.S3_PUT_BUCKET_NOTIFICATIONS,\n IAM_SCOPES.S3_GET_REPLICATION_CONFIGURATION,\n IAM_SCOPES.S3_PUT_REPLICATION_CONFIGURATION,\n IAM_SCOPES.S3_GET_LIFECYCLE_CONFIGURATION,\n IAM_SCOPES.S3_PUT_LIFECYCLE_CONFIGURATION,\n IAM_SCOPES.ADMIN_GET_BUCKET_QUOTA,\n IAM_SCOPES.ADMIN_SET_BUCKET_QUOTA,\n IAM_SCOPES.S3_PUT_BUCKET_TAGGING,\n IAM_SCOPES.S3_GET_BUCKET_TAGGING,\n IAM_SCOPES.S3_LIST_BUCKET_VERSIONS,\n IAM_SCOPES.S3_GET_BUCKET_POLICY_STATUS,\n IAM_SCOPES.S3_DELETE_BUCKET_POLICY,\n ]);\n\n const searchBar = (\n \n {!versionsMode ? (\n \n {\n dispatch(setSearchObjects(value));\n }}\n value={searchObjects}\n />\n \n ) : (\n \n {\n dispatch(setSearchVersions(value));\n }}\n value={searchVersions}\n />\n \n )}\n \n );\n\n return (\n \n {!obOnly ? (\n }\n actions={\n \n \n \n }\n style={{\n padding: \"0 10px\",\n }}\n />\n \n \n }\n middleComponent={searchBar}\n />\n ) : (\n \n \n \n \n \n {searchBar}\n \n \n )}\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(BrowserHandler);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport InputLabel from \"@mui/material/InputLabel\";\nimport moment from \"moment/moment\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport InputBoxWrapper from \"../InputBoxWrapper/InputBoxWrapper\";\nimport { LinkIcon } from \"../../../../../icons\";\n\ninterface IDaysSelector {\n classes: any;\n id: string;\n initialDate: Date;\n maxDays?: number;\n label: string;\n entity: string;\n onChange: (newDate: string, isValid: boolean) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n labelContainer: {\n display: \"flex\",\n alignItems: \"center\",\n marginBottom: 15,\n },\n fieldContainer: {\n ...fieldBasic.fieldContainer,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n paddingBottom: 10,\n marginTop: 11,\n marginBottom: 6,\n },\n dateInputContainer: {\n margin: \"0 10px\",\n },\n durationInputs: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n },\n\n validityIndicator: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n marginTop: 25,\n marginLeft: 10,\n },\n invalidDurationText: {\n marginTop: 15,\n display: \"flex\",\n color: \"red\",\n fontSize: 11,\n },\n reverseInput: {\n flexFlow: \"row-reverse\",\n \"& > label\": {\n fontWeight: 400,\n marginLeft: 15,\n marginRight: 25,\n },\n },\n validityText: {\n fontSize: 14,\n marginTop: 15,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n \"& > .min-icon\": {\n color: \"#5E5E5E\",\n width: 15,\n height: 15,\n marginRight: 10,\n },\n },\n validTill: {\n fontWeight: \"bold\",\n marginLeft: 15,\n },\n });\n\nconst calculateNewTime = (\n initialDate: Date,\n days: number,\n hours: number,\n minutes: number\n) => {\n return moment(initialDate)\n .add(days, \"days\")\n .add(hours, \"hours\")\n .add(minutes, \"minutes\");\n};\n\nconst DaysSelector = ({\n classes,\n id,\n initialDate,\n label,\n maxDays,\n entity,\n onChange,\n}: IDaysSelector) => {\n const [selectedDays, setSelectedDays] = useState(7);\n const [selectedHours, setSelectedHours] = useState(0);\n const [selectedMinutes, setSelectedMinutes] = useState(0);\n const [validDate, setValidDate] = useState(true);\n const [dateSelected, setDateSelected] = useState(moment());\n\n useEffect(() => {\n setDateSelected(\n calculateNewTime(\n initialDate,\n selectedDays,\n selectedHours,\n selectedMinutes\n )\n );\n }, [initialDate, selectedDays, selectedHours, selectedMinutes]);\n\n useEffect(() => {\n if (validDate) {\n onChange(dateSelected.format(\"YYYY-MM-DDTHH:mm:ss\"), true);\n } else {\n onChange(\"0000-00-00\", false);\n }\n }, [dateSelected, onChange, validDate]);\n\n // Basic validation for inputs\n useEffect(() => {\n let valid = true;\n if (\n selectedDays < 0 ||\n (maxDays && selectedDays > maxDays) ||\n isNaN(selectedDays)\n ) {\n valid = false;\n }\n\n if (selectedHours < 0 || selectedHours > 23 || isNaN(selectedHours)) {\n valid = false;\n }\n\n if (selectedMinutes < 0 || selectedMinutes > 59 || isNaN(selectedMinutes)) {\n valid = false;\n }\n\n if (\n maxDays &&\n selectedDays === maxDays &&\n (selectedHours !== 0 || selectedMinutes !== 0)\n ) {\n valid = false;\n }\n\n setValidDate(valid);\n }, [\n dateSelected,\n maxDays,\n onChange,\n selectedDays,\n selectedHours,\n selectedMinutes,\n ]);\n\n const extraInputProps = {\n style: {\n textAlign: \"center\" as const,\n paddingRight: 10,\n paddingLeft: 10,\n width: 25,\n },\n className: \"removeArrows\" as const,\n };\n\n return (\n \n \n \n \n {label}\n \n \n \n \n {\n setSelectedDays(parseInt(e.target.value));\n }}\n value={selectedDays.toString()}\n extraInputProps={extraInputProps}\n noLabelMinWidth\n />\n \n \n {\n setSelectedHours(parseInt(e.target.value));\n }}\n value={selectedHours.toString()}\n extraInputProps={extraInputProps}\n noLabelMinWidth\n />\n \n \n {\n setSelectedMinutes(parseInt(e.target.value));\n }}\n value={selectedMinutes.toString()}\n extraInputProps={extraInputProps}\n noLabelMinWidth\n />\n \n \n \n {validDate ? (\n
\n \n
\n {entity} will be available until:\n
{\" \"}\n
\n {dateSelected.format(\"MM/DD/YYYY HH:mm:ss\")}\n
\n
\n ) : (\n
\n Please select a valid duration.\n
\n )}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(DaysSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport Grid from \"@mui/material/Grid\";\nimport LinearProgress from \"@mui/material/LinearProgress\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nimport { IFileInfo } from \"./types\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport api from \"../../../../../../common/api\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport PredefinedList from \"../../../../Common/FormComponents/PredefinedList/PredefinedList\";\nimport DaysSelector from \"../../../../Common/FormComponents/DaysSelector/DaysSelector\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport { ShareIcon } from \"../../../../../../icons\";\nimport {\n selDistSet,\n setModalErrorSnackMessage,\n setModalSnackMessage,\n} from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\nconst CopyIcon = React.lazy(() => import(\"../../../../../../icons/CopyIcon\"));\n\nconst styles = (theme: Theme) =>\n createStyles({\n shareLinkInfo: {\n fontSize: 14,\n fontWeight: 400,\n },\n copyShareLink: {\n display: \"flex\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n },\n copyShareLinkInput: {\n \"& div:first-child\": {\n marginTop: 0,\n },\n \"@media (max-width: 900px)\": {\n minWidth: 250,\n },\n },\n copyShareLinkBtn: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"@media (max-width: 900px)\": {\n marginTop: 10,\n },\n },\n ...modalStyleUtils,\n ...formFieldStyles,\n });\n\ninterface IShareFileProps {\n classes: any;\n open: boolean;\n bucketName: string;\n dataObject: IFileInfo;\n closeModalAndRefresh: () => void;\n}\n\nconst ShareFile = ({\n classes,\n open,\n closeModalAndRefresh,\n bucketName,\n dataObject,\n}: IShareFileProps) => {\n const dispatch = useAppDispatch();\n const distributedSetup = useSelector(selDistSet);\n const [shareURL, setShareURL] = useState(\"\");\n const [isLoadingVersion, setIsLoadingVersion] = useState(true);\n const [isLoadingFile, setIsLoadingFile] = useState(false);\n const [selectedDate, setSelectedDate] = useState(\"\");\n const [dateValid, setDateValid] = useState(true);\n const [versionID, setVersionID] = useState(\"null\");\n\n const initialDate = new Date();\n\n const dateChanged = (newDate: string, isValid: boolean) => {\n setDateValid(isValid);\n if (isValid) {\n setSelectedDate(newDate);\n return;\n }\n setSelectedDate(\"\");\n setShareURL(\"\");\n };\n\n useEffect(() => {\n // In case version is undefined, we get the latest version of the object\n if (dataObject.version_id === undefined) {\n // In case it is not distributed setup, then we default to \"null\";\n if (distributedSetup) {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects?prefix=${encodeURLString(\n dataObject.name\n )}${distributedSetup ? \"&with_versions=true\" : \"\"}`\n )\n .then((res: IFileInfo[]) => {\n const result = get(res, \"objects\", []);\n\n const latestVersion = result.find(\n (elem: IFileInfo) => elem.is_latest\n );\n\n if (latestVersion) {\n setVersionID(latestVersion.version_id);\n return;\n }\n\n // Version couldn't ve retrieved, we default\n setVersionID(\"null\");\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setModalErrorSnackMessage(error));\n });\n\n setIsLoadingVersion(false);\n return;\n }\n setVersionID(\"null\");\n setIsLoadingVersion(false);\n return;\n }\n setVersionID(dataObject.version_id || \"null\");\n setIsLoadingVersion(false);\n }, [bucketName, dataObject, distributedSetup, dispatch]);\n\n useEffect(() => {\n if (dateValid && !isLoadingVersion) {\n setIsLoadingFile(true);\n setShareURL(\"\");\n\n const slDate = new Date(`${selectedDate}`);\n const currDate = new Date();\n\n const diffDate = Math.ceil(\n (slDate.getTime() - currDate.getTime()) / 1000\n );\n\n if (diffDate > 0) {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects/share?prefix=${encodeURLString(\n dataObject.name\n )}&version_id=${versionID}${\n selectedDate !== \"\" ? `&expires=${diffDate}s` : \"\"\n }`\n )\n .then((res: string) => {\n setShareURL(res);\n setIsLoadingFile(false);\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setModalErrorSnackMessage(error));\n setShareURL(\"\");\n setIsLoadingFile(false);\n });\n }\n }\n }, [\n dataObject,\n selectedDate,\n bucketName,\n dateValid,\n setShareURL,\n dispatch,\n distributedSetup,\n isLoadingVersion,\n versionID,\n ]);\n\n return (\n \n }\n modalOpen={open}\n onClose={() => {\n closeModalAndRefresh();\n }}\n >\n {isLoadingVersion && (\n \n \n \n )}\n {!isLoadingVersion && (\n \n \n This is a temporary URL with integrated access credentials for\n sharing objects valid for up to 7 days.\n
\n
\n The temporary URL expires after the configured time limit.\n
\n
\n \n \n \n \n \n \n {\n dispatch(\n setModalSnackMessage(\n \"Share URL Copied to clipboard\"\n )\n );\n }}\n disabled={shareURL === \"\" || isLoadingFile}\n style={{\n marginRight: \"5px\",\n width: \"28px\",\n height: \"28px\",\n padding: \"0px\",\n }}\n icon={}\n />\n \n }\n />\n \n \n
\n )}\n \n
\n );\n};\n\nexport default withStyles(styles)(ShareFile);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, LinearProgress } from \"@mui/material\";\nimport { BucketObjectItem } from \"../ListObjects/types\";\nimport { extensionPreview } from \"../utils\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport clsx from \"clsx\";\n\nconst styles = () =>\n createStyles({\n iframeContainer: {\n border: \"0px\",\n flex: \"1 1 auto\",\n width: \"100%\",\n height: 250,\n backgroundColor: \"transparent\",\n borderRadius: 5,\n\n \"&.image\": {\n height: 500,\n },\n \"&.text\": {\n height: 700,\n },\n \"&.audio\": {\n height: 150,\n },\n \"&.video\": {\n height: 350,\n },\n \"&.fullHeight\": {\n height: \"calc(100vh - 185px)\",\n },\n },\n iframeBase: {\n backgroundColor: \"#fff\",\n },\n iframeHidden: {\n display: \"none\",\n },\n });\n\ninterface IPreviewFileProps {\n bucketName: string;\n object: BucketObjectItem | null;\n isFullscreen?: boolean;\n classes: any;\n}\n\nconst PreviewFile = ({\n bucketName,\n object,\n isFullscreen = false,\n classes,\n}: IPreviewFileProps) => {\n const [loading, setLoading] = useState(true);\n\n let path = \"\";\n\n if (object) {\n const encodedPath = encodeURLString(object.name);\n let basename = document.baseURI.replace(window.location.origin, \"\");\n path = `${window.location.origin}${basename}api/v1/buckets/${bucketName}/objects/download?preview=true&prefix=${encodedPath}`;\n if (object.version_id) {\n path = path.concat(`&version_id=${object.version_id}`);\n }\n }\n\n const objectType = extensionPreview(object?.name || \"\");\n\n const iframeLoaded = () => {\n setLoading(false);\n };\n\n return (\n \n {loading && (\n \n \n \n )}\n
\n {objectType === \"video\" && (\n \n \n \n )}\n {objectType === \"audio\" && (\n \n \n \n )}\n {objectType === \"image\" && (\n \n )}\n {objectType !== \"video\" &&\n objectType !== \"audio\" &&\n objectType !== \"image\" && (\n \n \n File couldn't be loaded. Please try Download instead\n \n
\n )}\n \n
\n );\n};\nexport default withStyles(styles)(PreviewFile);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport PreviewFileContent from \"./PreviewFileContent\";\nimport { BucketObjectItem } from \"../ListObjects/types\";\nimport { ObjectPreviewIcon } from \"../../../../../../icons\";\n\ninterface IPreviewFileProps {\n open: boolean;\n bucketName: string;\n object: BucketObjectItem | null;\n onClosePreview: () => void;\n}\n\nconst PreviewFileModal = ({\n open,\n bucketName,\n object,\n onClosePreview,\n}: IPreviewFileProps) => {\n return (\n \n }\n >\n \n \n \n );\n};\n\nexport default PreviewFileModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { BucketObjectItem } from \"./ListObjects/types\";\nimport { IAllowResources } from \"../../../types\";\nimport { encodeURLString } from \"../../../../../common/utils\";\nimport { removeTrace } from \"../../../ObjectBrowser/transferManager\";\n\nexport const download = (\n bucketName: string,\n objectPath: string,\n versionID: any,\n fileSize: number,\n overrideFileName: string | null = null,\n id: string,\n progressCallback: (progress: number) => void,\n completeCallback: () => void,\n errorCallback: (msg: string) => void,\n abortCallback: () => void\n) => {\n const anchor = document.createElement(\"a\");\n document.body.appendChild(anchor);\n let basename = document.baseURI.replace(window.location.origin, \"\");\n\n let path = `${\n window.location.origin\n }${basename}api/v1/buckets/${bucketName}/objects/download?prefix=${objectPath}${\n overrideFileName !== null && overrideFileName.trim() !== \"\"\n ? `&override_file_name=${encodeURLString(overrideFileName || \"\")}`\n : \"\"\n }`;\n if (versionID) {\n path = path.concat(`&version_id=${versionID}`);\n }\n\n var req = new XMLHttpRequest();\n req.open(\"GET\", path, true);\n req.addEventListener(\n \"progress\",\n function (evt) {\n let percentComplete = Math.round((evt.loaded / fileSize) * 100);\n\n if (progressCallback) {\n progressCallback(percentComplete);\n }\n },\n false\n );\n\n req.responseType = \"blob\";\n req.onreadystatechange = () => {\n if (req.readyState === 4) {\n if (req.status === 200) {\n const rspHeader = req.getResponseHeader(\"Content-Disposition\");\n\n let filename = \"download\";\n if (rspHeader) {\n let rspHeaderDecoded = decodeURIComponent(rspHeader);\n filename = rspHeaderDecoded.split('\"')[1];\n }\n\n if (completeCallback) {\n completeCallback();\n }\n\n removeTrace(id);\n\n var link = document.createElement(\"a\");\n link.href = window.URL.createObjectURL(req.response);\n link.download = filename;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n } else {\n if (req.getResponseHeader(\"Content-Type\") === \"application/json\") {\n const rspBody: { detailedMessage?: string } = JSON.parse(\n req.response\n );\n if (rspBody.detailedMessage) {\n errorCallback(rspBody.detailedMessage);\n return;\n }\n }\n errorCallback(`Unexpected response status code (${req.status}).`);\n }\n }\n };\n req.onerror = () => {\n if (errorCallback) {\n errorCallback(\"A network error occurred.\");\n }\n };\n req.onabort = () => {\n if (abortCallback) {\n abortCallback();\n }\n };\n\n return req;\n};\n\n// Review file extension by name & returns the type of preview browser that can be used\nexport const extensionPreview = (\n fileName: string\n): \"image\" | \"text\" | \"audio\" | \"video\" | \"none\" => {\n const imageExtensions = [\n \"jif\",\n \"jfif\",\n \"apng\",\n \"avif\",\n \"svg\",\n \"webp\",\n \"bmp\",\n \"ico\",\n \"jpg\",\n \"jpe\",\n \"jpeg\",\n \"gif\",\n \"png\",\n \"heic\",\n ];\n const textExtensions = [\"pdf\", \"txt\", \"json\"];\n const audioExtensions = [\"wav\", \"mp3\", \"alac\", \"aiff\", \"dsd\", \"pcm\"];\n const videoExtensions = [\n \"mp4\",\n \"avi\",\n \"mpg\",\n \"webm\",\n \"mov\",\n \"flv\",\n \"mkv\",\n \"wmv\",\n \"avchd\",\n \"mpeg-4\",\n ];\n\n let fileExtension = fileName.split(\".\").pop();\n\n if (!fileExtension) {\n return \"none\";\n }\n\n fileExtension = fileExtension.toLowerCase();\n\n if (imageExtensions.includes(fileExtension)) {\n return \"image\";\n }\n\n if (textExtensions.includes(fileExtension)) {\n return \"text\";\n }\n\n if (audioExtensions.includes(fileExtension)) {\n return \"audio\";\n }\n\n if (videoExtensions.includes(fileExtension)) {\n return \"video\";\n }\n\n return \"none\";\n};\n\nexport const sortListObjects = (fieldSort: string) => {\n switch (fieldSort) {\n case \"name\":\n return (a: BucketObjectItem, b: BucketObjectItem) =>\n a.name.localeCompare(b.name);\n case \"last_modified\":\n return (a: BucketObjectItem, b: BucketObjectItem) =>\n new Date(a.last_modified).getTime() -\n new Date(b.last_modified).getTime();\n case \"size\":\n return (a: BucketObjectItem, b: BucketObjectItem) =>\n (a.size || -1) - (b.size || -1);\n }\n};\n\nexport const permissionItems = (\n bucketName: string,\n currentPath: string,\n permissionsArray: IAllowResources[]\n): BucketObjectItem[] | null => {\n if (permissionsArray.length === 0) {\n return null;\n }\n\n // We get permissions applied to the current bucket\n const filteredPermissionsForBucket = permissionsArray.filter(\n (permissionItem) =>\n permissionItem.resource.endsWith(`:${bucketName}`) ||\n permissionItem.resource.includes(`:${bucketName}/`)\n );\n\n // No permissions for this bucket. we can throw the error message at this point\n if (filteredPermissionsForBucket.length === 0) {\n return null;\n }\n\n const returnElements: BucketObjectItem[] = [];\n\n // We split current path\n const splitCurrentPath = currentPath.split(\"/\");\n\n filteredPermissionsForBucket.forEach((permissionElement) => {\n // We review paths in resource address\n\n // We split ARN & get the last item to check the URL\n const splitARN = permissionElement.resource.split(\":\");\n const urlARN = splitARN.pop() || \"\";\n\n // We split the paths of the URL & compare against current location to see if there are more items to include. In case current level is a wildcard or is the last one, we omit this validation\n\n const splitURLARN = urlARN.split(\"/\");\n\n // splitURL has more items than bucket name, we can continue validating\n if (splitURLARN.length > 1) {\n splitURLARN.every((currentElementInPath, index) => {\n // It is a wildcard element. We can stor the verification as value should be included (?)\n if (currentElementInPath === \"*\") {\n return false;\n }\n\n // Element is not included in the path. The user is trying to browse something else.\n if (\n splitCurrentPath[index] &&\n splitCurrentPath[index] !== currentElementInPath\n ) {\n return false;\n }\n\n // This element is not included by index in the current paths list. We add it so user can browse into it\n if (!splitCurrentPath[index]) {\n returnElements.push({\n name: `${currentElementInPath}/`,\n size: 0,\n last_modified: new Date(),\n version_id: \"\",\n });\n }\n\n return true;\n });\n }\n\n // We review prefixes in allow resources for StringEquals variant only.\n if (\n permissionElement.conditionOperator === \"StringEquals\" ||\n permissionElement.conditionOperator === \"StringLike\"\n ) {\n permissionElement.prefixes.forEach((prefixItem) => {\n // Prefix Item is not empty?\n if (prefixItem !== \"\") {\n const splitItems = prefixItem.split(\"/\");\n\n let pathToRouteElements: string[] = [];\n\n splitItems.every((splitElement, index) => {\n if (!splitElement.includes(\"*\") && splitElement !== \"\") {\n if (splitElement !== splitCurrentPath[index]) {\n returnElements.push({\n name: `${pathToRouteElements.join(\"/\")}${\n pathToRouteElements.length > 0 ? \"/\" : \"\"\n }${splitElement}/`,\n size: 0,\n last_modified: new Date(),\n version_id: \"\",\n });\n return false;\n }\n if (splitElement !== \"\") {\n pathToRouteElements.push(splitElement);\n }\n\n return true;\n }\n return false;\n });\n }\n });\n }\n });\n\n return returnElements;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { LoginMinIOLogo } from \"../../../../icons\";\nimport { useSelector } from \"react-redux\";\nimport { AppState } from \"../../../../store\";\n\ninterface IAutoColorIcon {\n marginRight: number;\n marginTop: number;\n}\n\nconst AutoColorIcon = ({ marginRight, marginTop }: IAutoColorIcon) => {\n let tinycolor = require(\"tinycolor2\");\n\n const colorVariants = useSelector(\n (state: AppState) => state.system.overrideStyles\n );\n\n const isDark =\n tinycolor(colorVariants?.backgroundColor || \"#fff\").getBrightness() <= 128;\n\n return (\n \n );\n};\n\nexport default AutoColorIcon;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

(\n WrappedComponent: ComponentType

,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","import React, { Fragment } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { predefinedList } from \"../common/styleLibrary\";\n\ninterface IPredefinedList {\n classes: any;\n label?: string;\n content: any;\n multiLine?: boolean;\n actionButton?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...predefinedList,\n });\n\nconst PredefinedList = ({\n classes,\n label = \"\",\n content,\n multiLine = false,\n actionButton,\n}: IPredefinedList) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n \n )}\n \n \n {content}\n \n {actionButton && (\n

{actionButton}
\n )}\n \n \n \n );\n};\n\nexport default withStyles(styles)(PredefinedList);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n noContentPadding?: boolean;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n noContentPadding,\n titleIcon = null,\n}: IModalProps) => {\n const dispatch = useAppDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nexport default withStyles(styles)(ModalWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { cloneElement } from \"react\";\nimport { Tooltip } from \"@mui/material\";\n\ninterface ITooltipWrapperProps {\n tooltip: string;\n children: any;\n errorProps?: any;\n}\n\nconst TooltipWrapper = ({\n tooltip,\n children,\n errorProps = null,\n}: ITooltipWrapperProps) => {\n return (\n \n \n {errorProps ? cloneElement(children, { ...errorProps }) : children}\n \n \n );\n};\n\nexport default TooltipWrapper;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { Box } from \"@mui/material\";\nimport { Button } from \"mds\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { CopyIcon } from \"../../../icons\";\n\nconst KeyRevealer = ({ value }: { value: string }) => {\n const [shown, setShown] = useState(false);\n\n return (\n \n {}}\n value={value}\n overlayIcon={}\n extraInputProps={{\n readOnly: true,\n }}\n overlayAction={() => navigator.clipboard.writeText(value)}\n />\n\n setShown(!shown)}\n label={\"Show/Hide\"}\n />\n \n );\n};\n\nexport default KeyRevealer;\n"],"names":["CreatePathModal","withSuspense","React","withStyles","theme","createStyles","objectBrowserCommon","slashSpacingStyle","margin","classes","bucketName","internalPaths","existingFiles","hidePathButton","additionalOptions","dispatch","useAppDispatch","navigate","useNavigate","rewindEnabled","useSelector","state","objectBrowser","rewind","versionsMode","versionedFile","useState","createFolderOpen","setCreateFolderOpen","canCreatePath","hasPermission","IAM_SCOPES","paths","splitPaths","split","filter","path","lastBreadcrumbsIndex","length","breadcrumbsMap","map","objectItem","index","subSplit","slice","join","route","encodeURLString","Fragment","className","style","cursor","to","onClick","setVersionsModeEnabled","status","objectName","toString","versionsItem","listBreadcrumbs","breadcrumbsMain","modalOpen","folderName","onClose","Grid","item","xs","breadcrumbs","IconButton","sx","border","backgroundColor","borderLeft","borderRadius","width","height","marginRight","breadcrumbsList","dir","text","id","icon","fill","marginTop","variant","setSnackBarMessage","color","TooltipWrapper","tooltip","permissionTooltipHelper","disabled","whiteSpace","label","breadcrumbsSecond","listUploadIcons","uploadPath","forceDisable","uploadFileFunction","uploadFolderFunction","anchorEl","setAnchorEl","openUploadMenu","Boolean","handleCloseUpload","uploadObjectAllowed","uploadFolderAllowed","uploadEnabled","undefined","event","currentTarget","Menu","open","anchorOrigin","vertical","horizontal","transformOrigin","MenuItem","ListItemIcon","ListItemText","useStyles","makeStyles","detailsList","borderColor","borderWidth","borderStyle","borderBottomLeftRadius","borderBottomRightRadius","transitionDuration","overflowX","overflowY","position","opacity","marginLeft","minWidth","borderLeftWidth","closePanel","right","top","children","months","value","days","Array","from","_","num","currentYear","Date","getFullYear","years","numYear","SelectStyled","root","input","borderBottom","fontSize","InputBase","DateSelector","forwardRef","ref","disableOptions","addSwitch","onDateChange","useImperativeHandle","resetDate","dateEnabled","setDateEnabled","month","setMonth","day","setDay","year","setYear","useEffect","valueSplit","parseInt","currentDate","parse","isNaN","parsedMonth","parsedDay","monthForString","dayForString","parsedDate","toISOString","dateString","validDate","isValid","isDateDisabled","clsx","fieldContainer","fieldContainerBorder","labelContainer","container","InputLabel","htmlFor","inputLabel","tooltipContainer","Tooltip","title","placement","HelpIcon","FormSwitchWrapper","indicatorLabels","checked","name","onChange","e","target","switchOnly","FormControl","dateInput","Select","displayEmpty","option","dayNumber","fieldBasic","tooltipHelper","flex","display","alignItems","justifyContent","paddingBottom","marginBottom","formFieldStyles","modalStyleUtils","spacingUtils","dateSelector","paddingLeft","closeModalAndRefresh","objectInfo","statusEnabled","setStatusEnabled","type","setType","date","setDate","isDateValid","setIsDateValid","isSaving","setIsSaving","alreadyConfigured","setAlreadyConfigured","retention_mode","toLowerCase","retention_until_date","valueDate","getMonth","getDate","dateElement","useRef","resetForm","current","showSwitcher","ModalWrapper","spacerBottom","noValidate","autoComplete","onSubmit","preventDefault","formFieldRow","RadioGroupSelector","currentSelection","selectorOptions","modalButtonBar","selectedObject","versionId","version_id","expireDate","api","expires","mode","then","res","catch","error","setModalErrorSnackMessage","addRetention","disableRetention","closeDeleteModalAndRefresh","deleteOpen","selectedBucket","versioning","selectedVersion","useApi","err","setErrorSnackMessage","deleteLoading","invokeDeleteApi","deleteVersions","setDeleteVersions","ConfirmDialog","confirmText","isOpen","titleIcon","isLoading","onConfirm","recursive","decodeURLString","endsWith","confirmationContent","DialogContentText","description","actualInfo","legalHoldEnabled","setLegalHoldEnabled","get","propertiesIcon","capitalizeFirst","textTransform","titleItem","detailsPanel","linear","metaData","setMetaData","metadata","invokeMetaDataApi","metaKeys","Object","keys","loadMetaData","useCallback","element","renderItem","isArray","decodeURIComponent","Box","metadataLinear","Table","table","TableBody","TableRow","TableCell","component","scope","align","padding","fontWeight","restProps","Button","startIcon","items","titleLabel","objectActions","actionItem","action","fileName","minHeight","fileNameText","overflow","textOverflow","strings","FileBookIcon","FileCodeIcon","FileConfigIcon","FileDbIcon","FileFontIcon","FileImageIcon","FileLockIcon","FileMissingIcon","FileMusicIcon","FilePdfIcon","FilePptIcon","FileTxtIcon","FileVideoIcon","FileXlsIcon","FileZipIcon","extensionToIcon","extensions","displayFileIconName","returnOnlyIcon","elementString","ObjectBrowserIcon","ObjectBrowserFolderIcon","lowercaseElement","etc","ext","indexOf","splitItem","newTileHeader","tagsForLabel","currentTagsContainer","noTagsForObject","deleteTag","onCloseAndUpdate","distributedSetup","selDistSet","newKey","setNewKey","newLabel","setNewLabel","isSending","setIsSending","deleteEnabled","setDeleteEnabled","deleteKey","setDeleteKey","deleteLabel","setDeleteLabel","currentTags","tags","currTagKeys","currentItem","pop","tagsFor","plural","cleanObject","verID","SecureComponent","scopes","resource","flexFlow","tagKey","tag","matchAll","errorProps","deleteIcon","onDelete","Chip","size","Close","onDeleteTag","InputBoxWrapper","placeholder","trim","newTag","newTagList","closeInspectModalAndRefresh","inspectOpen","inspectPath","volumeName","isEncrypt","setIsEncrypt","decryptionKey","setDecryptionKey","insFileName","setInsFileName","makeRequest","url","fetch","method","performInspect","file","volume","urlOfInspectApi","ok","json","resErr","errorMessage","message","detailedError","code","blob","filename","headers","decryptKey","getCookieValue","performDownload","deleteCookie","KeyRevealer","containerForHeader","spacing","closeModal","newFileName","setNewFileName","acceptLongName","setAcceptLongName","identityDownload","getTime","Math","random","ID","makeid","downloadCall","download","progress","updateProgress","instanceID","completeObject","msg","failObject","cancelObjectInList","storeCallForObjectWithID","setNewObject","done","percentage","prefix","waitingForFile","failed","cancelled","doDownload","modalFormScrollable","emptyFile","is_latest","last_modified","legal_hold_status","ObjectDetailsTitle","objectNameContainer","headerForSection","buttonsStyles","actionsTray","textStyleUtils","locking","onClosePanel","loadingObjectInfo","shareFileModalOpen","setShareFileModalOpen","retentionModalOpen","setRetentionModalOpen","tagModalOpen","setTagModalOpen","legalholdOpen","setLegalholdOpen","inspectModalOpen","setInspectModalOpen","setActualInfo","allInfoElements","setAllInfoElements","objectToShare","setObjectToShare","versions","setVersions","setDeleteOpen","previewOpen","setPreviewOpen","totalVersionsSize","setTotalVersionsSize","longFileOpen","setLongFileOpen","objectNameArray","infoElement","find","el","result","tVersionSize","reduce","acc","currValue","setLoadingObjectInfo","console","tagKeys","loaderForContainer","textAlign","Loader","objectResources","canSetLegalHold","canSetTags","canChangeRetention","canInspect","canChangeVersioning","canGetObject","canDelete","multiActionButtons","object","getClientOS","includes","downloadObject","is_delete_marker","extensionPreview","ShareFile","dataObject","updateInfo","closeAndReload","setLoadingVersions","setSelectedVersion","reload","PreviewFileModal","content_type","onClosePreview","TagsModal","reloadObjectData","iconLocation","fullWidth","detailContainer","overflowWrap","niceBytes","niceBytesInt","lastModified","currentTime","modifiedTime","difTime","formatTime","niceDaysInt","calculateLastModifyTime","etag","displayParsedDate","displayNiceBytes","String","listModeColumns","elementKey","renderFunction","enableSort","renderFullObject","contentTextAlign","rewindModeColumns","modalBasic","versionID","objectPath","restoreOpen","restoreLoading","setRestoreLoading","RecoverIcon","confirmButtonProps","wrapText","bgColor","mainFileVersionItem","intermediateLayer","borderBottomColor","versionContainer","buttonContainer","maxWidth","versionData","ctrItem","content","left","collapsableInfo","flexDirection","versionItem","versionInfo","isSelected","checkable","isChecked","onCheck","onShare","onDownload","onRestore","onPreview","globalClick","key","disableButtons","versionItemButtons","pill","md","CheckboxWrapper","stopPropagation","overrideCheckboxStyles","noTopMargin","button","buttonDisabled","setDeleteLoading","typeConfirm","setTypeConfirm","selectedVersions","selectedObjectsRequest","versionsContainer","noBottomBorder","versionsVirtualPanel","flexGrow","screenTitleContainer","bottom","sortByLabel","hrClass","tableStyles","objectBrowserExtras","searchVersions","loadingVersions","restoreVersionOpen","setRestoreVersionOpen","restoreVersion","setRestoreVersion","sortValue","setSortValue","deleteNonCurrentOpen","setDeleteNonCurrentOpen","selectEnabled","setSelectEnabled","selectedItems","setSelectedItems","delSelectedVOpen","setDelSelectedVOpen","decodedInternalPaths","filteredPrefixes","onShareItem","onPreviewItem","onRestoreItem","onDownloadItem","onGlobalClick","filteredRecords","version","totalSpace","sort","a","b","dateA","dateB","onCheckVersion","filteredItems","cloneState","push","DeleteNonCurrent","reloadAfterDelete","DeleteSelectedVersions","reloadOnComplete","LinearProgress","ScreenTitle","listIcon","titleSpacer","subTitle","bucketDetails","detailsSpacer","actions","SelectWrapper","options","containerStyle","rowCount","rowHeight","rowRenderer","isScrolling","isVisible","versOrd","HistoryIcon","RefreshIcon","DeleteIcon","DeleteMultipleObjects","RewindEnable","browsePaper","backgroundImage","badgeOverlap","screenTitle","paddingTop","paddingRight","searchField","labelStyle","breadcrumbsContainer","parentWrapper","fullContainer","hideListOnSmall","baseDnDStyle","outline","activeDnDStyle","acceptDnDStyle","defLoading","Typography","params","useParams","location","useLocation","rewindDate","dateToRewind","bucketToRewind","searchObjects","showDeleted","detailsOpen","objectDetailsOpen","selectedInternalPaths","loading","loadingObjects","simplePath","loadingBucket","selBucketDetailsLoading","bucketInfo","selBucketDetailsInfo","allowResources","session","features","selFeatures","obOnly","records","setRecords","deleteMultipleOpen","setDeleteMultipleOpen","loadingStartTime","setLoadingStartTime","loadingMessage","setLoadingMessage","loadingVersioning","setLoadingVersioning","isVersioned","setIsVersioned","loadingLocking","setLoadingLocking","lockingEnabled","setLockingEnabled","rewindSelect","setRewindSelect","selectedObjects","setSelectedObjects","selectedPreview","setSelectedPreview","sortDirection","setSortDirection","currentSortField","setCurrentSortField","iniLoad","setIniLoad","canShareFile","setCanShareFile","canPreviewFile","setCanPreviewFile","quota","setQuota","downloadRenameModal","setDownloadRenameModal","pathSegment","pathname","fileUpload","folderUpload","setAttribute","quotaVals","setObjectDetailsView","displayDeleteObject","displayListObjects","setBucketDetailsLoad","callback","delay","savedCallback","setInterval","clearInterval","useInterval","timeDelta","now","ceil","updateMessage","is_versioned","object_locking_enabled","decodedIPaths","setSelectedObjectView","setSimplePathHandler","setSearchObjects","setLoadingObjectsList","pathPrefix","decodedPath","currentTimestamp","urlTake","resetRewind","rewindParsed","currDateISO","objects","folders","files","forEach","record","recordsInElement","pathTest","found","pathPrefixChopped","i","parentPath","permitItems","permissionItems","setBucketInfo","handleUploadButton","newFiles","uploadObject","folderPath","uploadPromise","Promise","resolve","reject","uploadUrl","blobFile","Blob","encodedPath","filePath","fileWebkitRelativePath","relativeFolderPath","finalFolderPath","pathClean","startsWith","identity","xhr","XMLHttpRequest","areMultipleFiles","errorMessages","withCredentials","onload","removeTrace","response","JSON","detailedMessage","upload","addEventListener","floor","loaded","total","onerror","onloadend","onabort","formData","FormData","append","storeFormDataWithID","uploadFilePromises","openList","allSettled","results","errors","totalFiles","successUploadedFiles","onDrop","acceptedFiles","canUpload","newFolderPath","useDropzone","noClick","getRootProps","getInputProps","isDragActive","isDragAccept","dndStyles","useMemo","pageTitle","currentPath","sortASC","sortListObjects","payload","reverse","concat","canDownload","forceRefresh","splitURLS","URLItem","tableActions","idElement","newPath","sendOnlyId","itemsToDownload","filteredItem","fileObject","refresh","PageLayout","creation_date","access","actionsSection","Badge","badgeContent","invisible","multiple","closeMenu","click","tableBlock","borderTop","setShowDeletedObjects","overrideLabelClasses","overrideShowDeleted","TableWrapper","itemActions","columns","entityName","idField","customPaperHeight","onSelect","targetD","elements","customEmptyMessage","sortConfig","currentSort","currentDirection","triggerSort","sortData","newSortDirection","sortBy","onSelectAll","rowStyle","delete_flag","parentClassName","configureBucketAllowed","searchBar","SearchBox","setSearchVersions","AutoColorIcon","PageHeader","BackLink","IAM_PAGES","IAM_PERMISSIONS","IAM_ROLES","SettingsIcon","middleComponent","dateInputContainer","durationInputs","validityIndicator","invalidDurationText","reverseInput","validityText","validTill","initialDate","maxDays","entity","selectedDays","setSelectedDays","selectedHours","setSelectedHours","selectedMinutes","setSelectedMinutes","setValidDate","moment","dateSelected","setDateSelected","hours","minutes","add","calculateNewTime","format","valid","extraInputProps","min","max","noLabelMinWidth","validityLabel","CopyIcon","shareLinkInfo","copyShareLink","copyShareLinkInput","copyShareLinkBtn","shareURL","setShareURL","isLoadingVersion","setIsLoadingVersion","isLoadingFile","setIsLoadingFile","selectedDate","setSelectedDate","dateValid","setDateValid","setVersionID","latestVersion","elem","slDate","currDate","diffDate","dateContainer","newDate","PredefinedList","actionButton","setModalSnackMessage","iframeContainer","iframeBase","iframeHidden","isFullscreen","setLoading","basename","document","baseURI","replace","window","origin","objectType","iframeLoaded","maxHeight","autoPlay","controls","muted","playsInline","onPlay","src","alt","onLoad","allowTransparency","wideLimit","PreviewFileContent","fileSize","overrideFileName","progressCallback","completeCallback","errorCallback","abortCallback","anchor","createElement","body","appendChild","req","evt","percentComplete","round","responseType","onreadystatechange","readyState","rspHeader","getResponseHeader","link","href","URL","createObjectURL","removeChild","rspBody","fileExtension","fieldSort","localeCompare","permissionsArray","filteredPermissionsForBucket","permissionItem","returnElements","splitCurrentPath","permissionElement","splitURLARN","every","currentElementInPath","conditionOperator","prefixes","prefixItem","splitItems","pathToRouteElements","splitElement","tinycolor","require","colorVariants","system","overrideStyles","isDark","getBrightness","WrappedComponent","fallback","ComponentWithSuspense","props","Suspense","predefinedList","multiLine","prefinedContainer","predefinedTitle","includesActionButton","innerContentMultiline","innerContent","overlayShareOption","deleteDialogStyles","customDialogSize","snackBarCommon","noContentPadding","openSnackbar","setOpenSnackbar","modalSnackMessage","modalSnackBar","customSize","paper","detailedErrorMsg","scroll","reason","titleText","closeContainer","closeButton","disableRipple","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","adornment","adornmentPosition","overrideClass","inputProps","disableUnderline","InputProps","cloneElement","shown","setShown","sm","overlayIcon","readOnly","overlayAction","navigator","clipboard","writeText"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1379.d515229f.chunk.js b/portal-ui/build/static/js/1379.d515229f.chunk.js new file mode 100644 index 000000000..066fde6a6 --- /dev/null +++ b/portal-ui/build/static/js/1379.d515229f.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1379],{41379:function(e,n,t){t.r(n),t.d(n,{default:function(){return Qn}});var i=t(1413),o=t(72791),a=t(60364),s=t(16871),r=t(11135),c=t(25787),l=t(61889),d=t(25469),u=t(23814),h=t(93433),m=t(29439),f=t(57831),p=t(75952),x=t(26181),v=t.n(x),b=t(81207),g=t(92983),j=t(45248),Z=t(20890),S=t(84697),w=t(78029),C=t.n(w),_=t(43504),E=t(13400),T=t(38588),y=t(38442),N=t(56087),I=t(75578),k=t(87995),F=t(54756),O=t(27454),P=t(80184),L=(0,I.Z)(o.lazy((function(){return t.e(2185).then(t.bind(t,62185))}))),D=(0,c.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)({},u.cx),{},{slashSpacingStyle:{margin:"0 5px"}}))}))((function(e){var n=e.classes,t=e.bucketName,i=e.internalPaths,r=e.existingFiles,c=e.hidePathButton,u=e.additionalOptions,f=(0,d.TL)(),x=(0,s.s0)(),v=(0,a.v9)((function(e){return e.objectBrowser.rewind.rewindEnabled})),b=(0,a.v9)((function(e){return e.objectBrowser.versionsMode})),g=(0,a.v9)((function(e){return e.objectBrowser.versionedFile})),Z=(0,o.useState)(!1),S=(0,m.Z)(Z,2),w=S[0],I=S[1],D=(0,y.F)(t,[N.Ft.S3_PUT_OBJECT]),B=i;""!==i&&(B="/".concat(i));var R=B.split("/").filter((function(e){return""!==e})),z=R.length-1,M=R.map((function(e,i){var a="".concat(R.slice(0,i+1).join("/"),"/"),s="/buckets/".concat(t,"/browse/").concat(a?"".concat((0,j.LL)(a)):"");return i===z&&e===g?null:(0,P.jsxs)(o.Fragment,{children:[(0,P.jsx)("span",{className:n.slashSpacingStyle,children:"/"}),i===z?(0,P.jsx)("span",{style:{cursor:"default"},children:e}):(0,P.jsx)(_.rU,{to:s,onClick:function(){f((0,F.db)({status:!1,objectName:""}))},children:e})]},"breadcrumbs-".concat(i.toString()))})),A=[];b&&(A=[(0,P.jsx)(o.Fragment,{children:(0,P.jsxs)("span",{children:[(0,P.jsx)("span",{className:n.slashSpacingStyle,children:"/"}),g," - Versions"]})},"breadcrumbs-versionedItem")]);var U=[(0,P.jsx)(o.Fragment,{children:(0,P.jsx)(_.rU,{to:"/buckets/".concat(t,"/browse"),onClick:function(){f((0,F.db)({status:!1,objectName:""}))},children:t})},"breadcrumbs-root-path")].concat((0,h.Z)(M),(0,h.Z)(A));return(0,P.jsxs)(o.Fragment,{children:[(0,P.jsxs)("div",{className:n.breadcrumbsMain,children:[w&&(0,P.jsx)(L,{modalOpen:w,bucketName:t,folderName:i,onClose:function(){I(!1)},existingFiles:r}),(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:"".concat(n.breadcrumbs),children:[(0,P.jsx)(E.Z,{onClick:function(){b?f((0,F.db)({status:!1,objectName:""})):x(-1)},sx:{border:"#EAEDEE 1px solid",backgroundColor:"#fff",borderLeft:0,borderRadius:0,width:38,height:38,marginRight:"10px"},children:(0,P.jsx)(T.ubh,{})}),(0,P.jsx)("div",{className:n.breadcrumbsList,dir:"rtl",children:U}),(0,P.jsx)(C(),{text:"".concat(t,"/").concat(R.join("/")),children:(0,P.jsx)(p.zx,{id:"copy-path",icon:(0,P.jsx)(T.TIy,{style:{width:"12px",height:"12px",fill:"#969FA8",marginTop:-1}}),variant:"regular",onClick:function(){f((0,k.y1)("Path copied to clipboard"))},style:{width:"28px",height:"28px",color:"#969FA8",border:"#969FA8 1px solid",marginRight:5}})}),(0,P.jsx)("div",{className:n.additionalOptions,children:u})]}),!c&&(0,P.jsx)(O.Z,{tooltip:D?"Choose or create a new path":(0,N.MK)([N.Ft.S3_PUT_OBJECT],"create a new path"),children:(0,P.jsx)(p.zx,{id:"new-path",onClick:function(){I(!0)},disabled:v||!D,icon:(0,P.jsx)(T.N$q,{style:{fill:"#969FA8"}}),style:{whiteSpace:"nowrap"},variant:"regular",label:"Create new path"})})]}),(0,P.jsx)("div",{className:n.breadcrumbsSecond,children:u})]})})),B=t(47922),R=t(14917),z=t(74794),M=t(71715),A=t(23786),U=t(49900),G=t(57064),K=(0,c.Z)((function(e){return(0,r.Z)({listUploadIcons:{height:20,"& .min-icon":{width:18,fill:"rgba(0,0,0,0.87)"}}})}))((function(e){var n=e.uploadPath,t=e.bucketName,i=e.forceDisable,a=void 0!==i&&i,s=e.uploadFileFunction,r=e.uploadFolderFunction,c=e.classes,l=o.useState(null),d=(0,m.Z)(l,2),u=d[0],h=d[1],f=Boolean(u),x=function(){h(null)},v=(0,y.F)(n,[N.Ft.S3_PUT_OBJECT]),b=(0,y.F)(t,[N.Ft.S3_PUT_OBJECT],!1,!0),g=v||b;return(0,P.jsxs)(o.Fragment,{children:[(0,P.jsx)(O.Z,{tooltip:g?"Upload Files":(0,N.MK)([N.Ft.S3_PUT_OBJECT],"upload files to this bucket"),children:(0,P.jsx)(p.zx,{id:"upload-main","aria-controls":"upload-main-menu","aria-haspopup":"true","aria-expanded":f?"true":void 0,onClick:function(e){h(e.currentTarget)},label:"Upload",icon:(0,P.jsx)(T.rG2,{}),variant:"callAction",disabled:a||!g})}),(0,P.jsxs)(M.Z,{id:"upload-main-menu","aria-labelledby":"upload-main",anchorEl:u,open:f,onClose:function(){x()},anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:[(0,P.jsxs)(A.Z,{onClick:function(){s(x)},disabled:!v||a,children:[(0,P.jsx)(G.Z,{className:c.listUploadIcons,children:(0,P.jsx)(T.rG2,{})}),(0,P.jsx)(U.Z,{children:"Upload File"})]}),(0,P.jsxs)(A.Z,{onClick:function(){r(x)},disabled:!b||a,children:[(0,P.jsx)(G.Z,{className:c.listUploadIcons,children:(0,P.jsx)(T.oXh,{})}),(0,P.jsx)(U.Z,{children:"Upload Folder"})]})]})]})})),W=t(72455),H=(0,W.Z)((function(e){return(0,r.Z)({detailsList:{borderColor:"#EAEDEE",borderWidth:0,borderStyle:"solid",borderRadius:3,borderBottomLeftRadius:0,borderBottomRightRadius:0,width:0,transitionDuration:"0.3s",overflowX:"hidden",overflowY:"auto",position:"relative",opacity:0,marginLeft:-1,"&.open":{width:300,minWidth:300,borderLeftWidth:1,opacity:1},"@media (max-width: 799px)":{"&.open":{width:"100%",minWidth:"100%",borderLeftWidth:0}}},closePanel:{position:"absolute",right:0,top:8,"& .min-icon":{width:14}}})})),V=function(e){var n=e.open,t=e.closePanel,i=e.className,o=void 0===i?"":i,a=e.children,s=H();return(0,P.jsxs)(l.ZP,{item:!0,className:"".concat(s.detailsList," ").concat(n?"open":""," ").concat(o," detailsListPanel"),children:[(0,P.jsx)(E.Z,{onClick:t,className:s.closePanel,children:(0,P.jsx)(T.oto,{})}),a]})},J=t(64554),Y=t(79976),q=t(34433),X=[{value:"01",label:"January"},{value:"02",label:"February"},{value:"03",label:"March"},{value:"04",label:"April"},{value:"05",label:"May"},{value:"06",label:"June"},{value:"07",label:"July"},{value:"08",label:"August"},{value:"09",label:"September"},{value:"10",label:"October"},{value:"11",label:"November"},{value:"12",label:"December"}],$=Array.from(Array(31),(function(e,n){return n+1})),Q=(new Date).getFullYear(),ee=Array.from(Array(25),(function(e,n){return n+Q})),ne=t(56028),te=t(37516),ie=t(83679),oe=t(4942),ae=t(28182),se=t(30829),re=t(20068),ce=t(68096),le=t(58406),de=t(4834),ue=t(84570),he=(0,c.Z)((function(e){return(0,r.Z)({root:{"& .MuiSelect-icon":{color:"#000","&.Mui-disabled":{color:"#9c9c9c"}}},input:{borderBottom:0,fontSize:12}})}))(de.ZP),me=(0,o.forwardRef)((function(e,n){var t=e.classes,i=e.id,a=e.label,s=e.disableOptions,r=void 0!==s&&s,c=e.addSwitch,d=void 0!==c&&c,u=e.tooltip,h=void 0===u?"":u,f=e.borderBottom,p=void 0!==f&&f,x=e.onDateChange,v=e.value,b=void 0===v?"":v;(0,o.useImperativeHandle)(n,(function(){return{resetDate:D}}));var g=(0,o.useState)(!1),j=(0,m.Z)(g,2),Z=j[0],S=j[1],w=(0,o.useState)(""),C=(0,m.Z)(w,2),_=C[0],E=C[1],T=(0,o.useState)(""),y=(0,m.Z)(T,2),N=y[0],I=y[1],k=(0,o.useState)(""),F=(0,m.Z)(k,2),O=F[0],L=F[1];(0,o.useEffect)((function(){if(""!==b){var e=b.split("-");L(e[0]),E(e[1]),I("".concat(parseInt(e[2])))}}),[b]),(0,o.useEffect)((function(){var e=function(e,n,t){var i=Date.parse("".concat(e,"-").concat(n,"-").concat(t));if(isNaN(i))return[!1,""];var o=parseInt(n),a=parseInt(t),s=o<10?"0".concat(o):o,r=a<10?"0".concat(a):a,c=new Date(i).toISOString().split("T")[0],l="".concat(e,"-").concat(s,"-").concat(r);return[c===l,l]}(O,_,N),n=(0,m.Z)(e,2),t=n[0],i=n[1];x(i,t)}),[_,N,O,x]);var D=function(){E(""),I(""),L("")},B=function(){return r||!!d&&!Z};return(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:(0,ae.Z)(t.fieldContainer,(0,oe.Z)({},t.fieldContainerBorder,p)),children:[(0,P.jsx)("div",{className:t.labelContainer,children:(0,P.jsxs)(l.ZP,{container:!0,children:[(0,P.jsxs)(se.Z,{htmlFor:i,className:t.inputLabel,children:[(0,P.jsx)("span",{children:a}),""!==h&&(0,P.jsx)("div",{className:t.tooltipContainer,children:(0,P.jsx)(re.Z,{title:h,placement:"top-start",children:(0,P.jsx)("div",{className:t.tooltip,children:(0,P.jsx)(ue.Z,{})})})})]}),d&&(0,P.jsx)(te.Z,{indicatorLabels:["Specific Date","Default (7 Days)"],checked:Z,value:"date_enabled",id:"date-status",name:"date-status",onChange:function(e){S(e.target.checked),e.target.checked||x("",!0)},switchOnly:!0})]})}),(0,P.jsxs)("div",{children:[(0,P.jsx)(ce.Z,{disabled:B(),className:t.dateInput,children:(0,P.jsxs)(le.Z,{id:"".concat(i,"-month"),name:"".concat(i,"-month"),value:_,displayEmpty:!0,onChange:function(e){E(e.target.value)},input:(0,P.jsx)(he,{}),children:[(0,P.jsx)(A.Z,{value:"",disabled:!0,children:""}),X.map((function(e){return(0,P.jsx)(A.Z,{value:e.value,children:e.label},"select-".concat(i,"-monthOP-").concat(e.label))}))]})}),(0,P.jsx)(ce.Z,{disabled:B(),className:t.dateInput,children:(0,P.jsxs)(le.Z,{id:"".concat(i,"-day"),name:"".concat(i,"-day"),value:N,displayEmpty:!0,onChange:function(e){I(e.target.value)},input:(0,P.jsx)(he,{}),children:[(0,P.jsx)(A.Z,{value:"",disabled:!0,children:""}),$.map((function(e){return(0,P.jsx)(A.Z,{value:e,children:e},"select-".concat(i,"-dayOP-").concat(e))}))]})}),(0,P.jsx)(ce.Z,{disabled:B(),className:t.dateInput,children:(0,P.jsxs)(le.Z,{id:"".concat(i,"-year"),name:"".concat(i,"-year"),value:O,displayEmpty:!0,onChange:function(e){L(e.target.value)},input:(0,P.jsx)(he,{}),children:[(0,P.jsx)(A.Z,{value:"",disabled:!0,children:""}),ee.map((function(e){return(0,P.jsx)(A.Z,{value:e,children:e},"select-".concat(i,"-yearOP-").concat(e))}))]})})]})]})})),fe=(0,c.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)({dateInput:{"&:not(:last-child)":{marginRight:22}}},u.YI),u.Hr),{},{labelContainer:{flex:1},fieldContainer:(0,i.Z)((0,i.Z)({},u.YI.fieldContainer),{},{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:10,marginTop:11,marginBottom:6}),fieldContainerBorder:{borderBottom:"#9c9c9c 1px solid",marginBottom:20}}))}))(me),pe=(0,c.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},u.DF),u.ID),u.bK),{},{dateSelector:{"& div":{borderBottom:0,marginBottom:0,"& div:nth-child(2)":{border:"1px solid #EAEAEA",paddingLeft:5,"& div":{border:0}}}}}))}))((function(e){var n=e.classes,t=e.open,i=e.closeModalAndRefresh,a=e.objectName,s=e.objectInfo,r=e.bucketName,c=(0,d.TL)(),u=(0,o.useState)(!0),h=(0,m.Z)(u,2),f=h[0],x=h[1],v=(0,o.useState)(""),g=(0,m.Z)(v,2),Z=g[0],S=g[1],w=(0,o.useState)(""),C=(0,m.Z)(w,2),_=C[0],E=C[1],T=(0,o.useState)(!1),y=(0,m.Z)(T,2),N=y[0],I=y[1],F=(0,o.useState)(!1),O=(0,m.Z)(F,2),L=O[0],D=O[1],B=(0,o.useState)(!1),R=(0,m.Z)(B,2),z=R[0],M=R[1];(0,o.useEffect)((function(){if(s.retention_mode&&(S(s.retention_mode.toLowerCase()),M(!0)),s.retention_until_date){var e=new Date(s.retention_until_date);if("Invalid Date"!==e.toString()){var n=e.getFullYear(),t=(o=e.getMonth()+1)<10?"0".concat(o):"".concat(o),i=e.getDate();isNaN(i)||"NaN"===t||isNaN(n)||E("".concat(n,"-").concat(t,"-").concat(i))}M(!0)}var o}),[s]);var A=(0,o.useRef)(null),U=function(){x(!1),S(""),A.current&&A.current.resetDate()},G=z&&("governance"===Z||""===Z);return(0,P.jsxs)(ne.Z,{title:"Set Retention Policy",modalOpen:t,onClose:function(){U(),i(!1)},children:[(0,P.jsxs)("div",{className:n.spacerBottom,children:[(0,P.jsx)("strong",{children:"Selected Object"}),": ",a]}),(0,P.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault()}(e)},children:[G&&(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)(te.Z,{value:"status",id:"status",name:"status",checked:f,onChange:function(e){x(!f)},label:"Status",indicatorLabels:["Enabled","Disabled"]})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)(ie.Z,{currentSelection:Z,id:"type",name:"type",label:"Type",disableOptions:!f||z&&""!==Z,onChange:function(e){S(e.target.value)},selectorOptions:[{label:"Governance",value:"governance"},{label:"Compliance",value:"compliance"}]})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:"".concat(n.dateSelector," "),children:(0,P.jsx)(fe,{id:"date",label:"Date",disableOptions:!(f&&("governance"===Z||"compliance"===Z)),ref:A,value:_,borderBottom:!0,onDateChange:function(e,n){I(n),n&&E(e)}})}),(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,P.jsx)(p.zx,{id:"reset",type:"button",variant:"regular",onClick:U,label:"Reset"}),(0,P.jsx)(p.zx,{id:"save",type:"submit",variant:"callAction",disabled:f&&""===Z||f&&!N||L,onClick:function(){D(!0);var e=s.name,n=s.version_id,t=f||"governance"!==Z?"".concat(_,"T23:59:59Z"):"";f||"governance"!==Z?function(e,n,t){b.Z.invoke("PUT","/api/v1/buckets/".concat(r,"/objects/retention?prefix=").concat((0,j.LL)(e),"&version_id=").concat(n),{expires:t,mode:Z}).then((function(e){D(!1),i(!0)})).catch((function(e){c((0,k.zb)(e)),D(!1)}))}(e,n,t):function(e,n){b.Z.invoke("DELETE","/api/v1/buckets/".concat(r,"/objects/retention?prefix=").concat((0,j.LL)(e),"&version_id=").concat(n)).then((function(){D(!1),i(!0)})).catch((function(e){c((0,k.zb)(e)),D(!1)}))}(e,n)},label:"Save"})]})]})]})})),xe=t(51691),ve=t(23508),be=t(9505),ge=function(e){var n=e.closeDeleteModalAndRefresh,t=e.deleteOpen,i=e.selectedBucket,a=e.selectedObject,s=e.versioning,r=e.selectedVersion,c=void 0===r?"":r,l=(0,d.TL)(),u=(0,be.Z)((function(){return n(!0)}),(function(e){return l((0,k.Ih)(e))})),h=(0,m.Z)(u,2),f=h[0],p=h[1],x=(0,o.useState)(!1),v=(0,m.Z)(x,2),b=v[0],g=v[1];if(!a)return null;return(0,P.jsx)(ve.Z,{title:"Delete Object",confirmText:"Delete",isOpen:t,titleIcon:(0,P.jsx)(T.NvT,{}),isLoading:f,onConfirm:function(){var e=(0,j.IO)(a).endsWith("/");p("DELETE","/api/v1/buckets/".concat(i,"/objects?path=").concat(a).concat(""!==c?"&version_id=".concat(c):"&recursive=".concat(e,"&all_versions=").concat(b)))},onClose:function(){return n(!1)},confirmationContent:(0,P.jsxs)(xe.Z,{children:["Are you sure you want to delete: ",(0,P.jsx)("br",{}),(0,P.jsx)("b",{children:(0,j.IO)(a)})," ",""!==c?(0,P.jsxs)(o.Fragment,{children:[(0,P.jsx)("br",{}),(0,P.jsx)("br",{}),"Version ID:",(0,P.jsx)("br",{}),(0,P.jsx)("strong",{children:c})]}):"","? ",(0,P.jsx)("br",{}),(0,P.jsx)("br",{}),s&&""===c&&(0,P.jsx)(te.Z,{label:"Delete All Versions",indicatorLabels:["Yes","No"],checked:b,value:"delete_versions",id:"delete-versions",name:"delete-versions",onChange:function(e){g(!b)},description:""})]})})},je=(0,c.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},u.DF),u.ID),u.bK))}))((function(e){var n=e.classes,t=e.open,i=e.closeModalAndRefresh,a=e.objectName,s=e.bucketName,r=e.actualInfo,c=(0,d.TL)(),u=(0,o.useState)(!1),h=(0,m.Z)(u,2),f=h[0],x=h[1],g=(0,o.useState)(!1),Z=(0,m.Z)(g,2),S=Z[0],w=Z[1],C=r.version_id;(0,o.useEffect)((function(){var e=v()(r,"legal_hold_status","OFF");x("ON"===e)}),[r]);var _=function(){x(!1)};return(0,P.jsxs)(ne.Z,{title:"Set Legal Hold",modalOpen:t,onClose:function(){_(),i(!1)},children:[(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:n.spacerBottom,children:["Object: ",s]}),(0,P.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault(),w(!0),b.Z.invoke("PUT","/api/v1/buckets/".concat(s,"/objects/legalhold?prefix=").concat((0,j.LL)(a),"&version_id=").concat(C),{status:f?"enabled":"disabled"}).then((function(){w(!1),i(!0)})).catch((function(e){c((0,k.zb)(e)),w(!1)}))}(e)},children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)(te.Z,{value:"legalhold",id:"legalhold",name:"legalhold",checked:f,onChange:function(e){x(!f)},label:"Legal Hold Status",indicatorLabels:["Enabled","Disabled"],tooltip:"To enable this feature you need to enable versioning on the bucket before creation"})}),(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,P.jsx)(p.zx,{id:"clear",type:"button",variant:"regular",onClick:_,label:"Clear"}),(0,P.jsx)(p.zx,{id:"save",type:"submit",variant:"callAction",disabled:S,label:" Save"})]})]})]})})),Ze=t(78562),Se=t(79836),we=t(53382),Ce=t(35855),_e=t(53994),Ee=(0,c.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)({propertiesIcon:{marginLeft:5,"& .min-icon":{height:12}},capitalizeFirst:{textTransform:"capitalize","& .min-icon":{width:16,height:16}},titleItem:{width:"35%"}},u.bK),u.$b))}))((function(e){var n=e.bucketName,t=e.internalPaths,i=e.classes,a=e.actualInfo,s=e.linear,r=void 0!==s&&s,c=(0,o.useState)({}),d=(0,m.Z)(c,2),u=d[0],h=d[1],f=(0,be.Z)((function(e){var n=v()(e,"objectMetadata",{});h(n)}),(function(e){return!1})),p=(0,m.Z)(f,2)[1],x=Object.keys(u),b=(0,o.useCallback)((function(){p("GET","/api/v1/buckets/".concat(n,"/objects/metadata?prefix=").concat(t))}),[n,t,a]);return(0,o.useEffect)((function(){a&&b()}),[a,b]),r?(0,P.jsx)(o.Fragment,{children:x.map((function(e,n){var t=Array.isArray(u[e])?u[e].map(decodeURIComponent).join(", "):decodeURIComponent(u[e]);return(0,P.jsxs)(J.Z,{className:i.metadataLinear,children:[(0,P.jsx)("strong",{children:e}),(0,P.jsx)("br",{}),t]},"box-meta-".concat(e,"-").concat(n.toString()))}))}):(0,P.jsxs)(l.ZP,{container:!0,children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,sx:{marginTop:"25px",marginBottom:"5px"},children:(0,P.jsx)("h3",{style:{marginTop:"0",marginBottom:"0"},children:"Object Metadata"})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(Se.Z,{className:i.table,"aria-label":"simple table",children:(0,P.jsx)(we.Z,{children:x.map((function(e,n){var t=Array.isArray(u[e])?u[e].map(decodeURIComponent).join(", "):decodeURIComponent(u[e]);return(0,P.jsxs)(Ce.Z,{children:[(0,P.jsx)(_e.Z,{component:"th",scope:"row",className:i.titleItem,children:e}),(0,P.jsx)(_e.Z,{align:"right",children:t})]},"tRow-".concat(n.toString()))}))})})})]})})),Te=t(45987),ye=t(36151),Ne=["disabled","onClick","icon","label","classes"],Ie=(0,c.Z)((function(e){return(0,r.Z)({root:{padding:"0 15px",height:22,margin:0,color:"#5E5E5E",fontWeight:"normal",fontSize:14,whiteSpace:"nowrap",width:"100%",justifyContent:"flex-start","&:hover":{backgroundColor:"transparent",color:"#000"},"& .min-icon":{width:11},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}}})}))((function(e){var n=e.disabled,t=e.onClick,o=e.icon,a=e.label,s=e.classes,r=(0,Te.Z)(e,Ne);return(0,P.jsx)(ye.Z,(0,i.Z)((0,i.Z)({},r),{},{disabled:n,onClick:t,className:(0,ae.Z)(s.root,"noDefaultHeight"),startIcon:o,sx:{height:"initial"},children:(0,P.jsx)("span",{className:"buttonItem",children:a})}))})),ke=(0,c.Z)((function(){return(0,r.Z)((0,i.Z)({},u.$b))}))((function(e){var n=e.items,t=e.classes,i=e.title;return(0,P.jsxs)(o.Fragment,{children:[(0,P.jsx)("div",{className:t.titleLabel,children:i}),(0,P.jsxs)("ul",{className:t.objectActions,children:[(0,P.jsx)("li",{children:"Actions:"}),n.map((function(e,n){return(0,P.jsx)("li",{children:(0,P.jsx)(O.Z,{tooltip:e.tooltip||"",children:(0,P.jsx)(Ie,{label:e.label,icon:e.icon,onClick:e.action,disabled:e.disabled})})},"action-element-".concat(n.toString()))}))]})]})})),Fe=t(37762),Oe=t(71863),Pe=t(82314),Le=(0,c.Z)((function(e){return(0,r.Z)({fileName:{display:"flex",alignItems:"center","& .min-icon":{width:16,height:16,marginRight:4,minWidth:16,minHeight:16}},fileNameText:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}})}))((function(e){var n=e.classes,t=e.icon,i=e.strings;return(0,P.jsxs)("div",{className:n.fileName,children:[t,(0,P.jsx)("span",{className:n.fileNameText,children:i[i.length-1]})]})})),De=o.lazy((function(){return Promise.resolve().then(t.bind(t,76181))})),Be=o.lazy((function(){return Promise.resolve().then(t.bind(t,49563))})),Re=o.lazy((function(){return Promise.resolve().then(t.bind(t,21733))})),ze=o.lazy((function(){return Promise.resolve().then(t.bind(t,95232))})),Me=o.lazy((function(){return Promise.resolve().then(t.bind(t,27529))})),Ae=o.lazy((function(){return Promise.resolve().then(t.bind(t,60527))})),Ue=o.lazy((function(){return Promise.resolve().then(t.bind(t,69812))})),Ge=o.lazy((function(){return Promise.resolve().then(t.bind(t,46454))})),Ke=o.lazy((function(){return Promise.resolve().then(t.bind(t,84820))})),We=o.lazy((function(){return Promise.resolve().then(t.bind(t,40599))})),He=o.lazy((function(){return Promise.resolve().then(t.bind(t,72995))})),Ve=o.lazy((function(){return Promise.resolve().then(t.bind(t,34171))})),Je=o.lazy((function(){return Promise.resolve().then(t.bind(t,30745))})),Ye=o.lazy((function(){return Promise.resolve().then(t.bind(t,84033))})),qe=o.lazy((function(){return Promise.resolve().then(t.bind(t,52009))})),Xe=[{icon:(0,P.jsx)(Je,{}),extensions:["mp4","mov","avi","mpeg","mpg"]},{icon:(0,P.jsx)(Ke,{}),extensions:["mp3","m4a","aac"]},{icon:(0,P.jsx)(We,{}),extensions:["pdf"]},{icon:(0,P.jsx)(He,{}),extensions:["ppt","pptx"]},{icon:(0,P.jsx)(Ye,{}),extensions:["xls","xlsx"]},{icon:(0,P.jsx)(Ue,{}),extensions:["cer","crt","pem"]},{icon:(0,P.jsx)(Be,{}),extensions:["html","xml","css","py","go","php","cpp","h","java"]},{icon:(0,P.jsx)(Re,{}),extensions:["cfg","yaml"]},{icon:(0,P.jsx)(ze,{}),extensions:["sql"]},{icon:(0,P.jsx)(Me,{}),extensions:["ttf","otf"]},{icon:(0,P.jsx)(Ve,{}),extensions:["txt"]},{icon:(0,P.jsx)(qe,{}),extensions:["zip","rar","tar","gz"]},{icon:(0,P.jsx)(De,{}),extensions:["epub","mobi","azw","azw3"]},{icon:(0,P.jsx)(Ae,{}),extensions:["jpeg","jpg","gif","tiff","png","heic","dng"]}],$e=function(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=e,i=(0,P.jsx)(Oe.Z,{});e.endsWith("/")&&(i=(0,P.jsx)(Pe.Z,{}),t=e.slice(0,-1));var o,a=e.toLowerCase(),s=(0,Fe.Z)(Xe);try{for(s.s();!(o=s.n()).done;){var r,c=o.value,l=(0,Fe.Z)(c.extensions);try{for(l.s();!(r=l.n()).done;){var d=r.value;a.endsWith(".".concat(d))&&(i=c.icon)}}catch(h){l.e(h)}finally{l.f()}}}catch(h){s.e(h)}finally{s.f()}!e.endsWith("/")&&e.indexOf(".")<0&&(i=(0,P.jsx)(Ge,{}));var u=t.split("/");return n?i:(0,P.jsx)(Le,{icon:i,strings:u})},Qe=t(21435),en=t(81918),nn=t(29823),tn=(0,c.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)({newTileHeader:{fontSize:18,fontWeight:"bold",color:"#000",margin:"35px 0",paddingBottom:15,display:"flex",alignItems:"center","& > svg":{marginRight:10}},tagsForLabel:{fontSize:16,margin:"20px 0 30px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",width:"100%"},currentTagsContainer:{fontSize:14,fontWeight:"normal"},noTagsForObject:{color:"#858585"},deleteTag:{color:"#C83B51",marginLeft:5}},u.DF),u.ID),u.bK))}))((function(e){var n=e.modalOpen,t=e.onCloseAndUpdate,s=e.bucketName,r=e.actualInfo,c=e.classes,u=(0,d.TL)(),h=(0,a.v9)(k.N5),f=(0,o.useState)(""),x=(0,m.Z)(f,2),g=x[0],Z=x[1],S=(0,o.useState)(""),w=(0,m.Z)(S,2),C=w[0],_=w[1],E=(0,o.useState)(!1),I=(0,m.Z)(E,2),F=I[0],O=I[1],L=(0,o.useState)(!1),D=(0,m.Z)(L,2),B=D[0],R=D[1],z=(0,o.useState)(""),M=(0,m.Z)(z,2),A=M[0],U=M[1],G=(0,o.useState)(""),K=(0,m.Z)(G,2),W=K[0],H=K[1],V=(0,j.LL)(r.name),Y=r.tags,q=Object.keys(Y||{}),X=r.name.split("/").pop()||"",$=function(e){return(0,P.jsxs)("div",{className:c.tagsForLabel,children:["Tag",e?"s":""," for: ",(0,P.jsx)("strong",{children:X})]})};return(0,P.jsx)(o.Fragment,{children:(0,P.jsx)(ne.Z,{modalOpen:n,title:B?(0,P.jsx)("span",{style:{color:"#C83B51"},children:"Delete Tag"}):"Edit Tags",onClose:function(){t(!0)},titleIcon:B?(0,P.jsx)(T.dRf,{style:{fill:"#C83B51"}}):(0,P.jsx)(T.T0F,{}),children:B?(0,P.jsx)(o.Fragment,{children:(0,P.jsxs)(l.ZP,{container:!0,children:[$(!1),"Are you sure you want to delete the tag"," ",(0,P.jsxs)("b",{className:c.deleteTag,children:[A," : ",W]})," ","?",(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:c.modalButtonBar,children:[(0,P.jsx)(p.zx,{id:"cancel",type:"button",variant:"regular",onClick:function(){U(""),H(""),R(!1)},label:"Cancel"}),(0,P.jsx)(p.zx,{type:"submit",variant:"secondary",onClick:function(){var e=(0,i.Z)({},Y);delete e[A];var n=h?r.version_id:"null";b.Z.invoke("PUT","/api/v1/buckets/".concat(s,"/objects/tags?prefix=").concat(V,"&version_id=").concat(n),{tags:e}).then((function(e){t(!0),O(!1)})).catch((function(e){u((0,k.zb)(e)),O(!1)}))},id:"deleteTag",label:"Delete Tag"})]})]})}):(0,P.jsxs)(l.ZP,{container:!0,children:[(0,P.jsx)(y.s,{scopes:[N.Ft.S3_GET_OBJECT_TAGGING],resource:s,children:(0,P.jsxs)(J.Z,{sx:{display:"flex",flexFlow:"column",width:"100%"},children:[$(!0),(0,P.jsxs)("div",{className:c.currentTagsContainer,children:["Current Tags:",(0,P.jsx)("br",{}),0===q.length?(0,P.jsx)("span",{className:c.noTagsForObject,children:"There are no tags for this object"}):(0,P.jsx)(o.Fragment,{}),(0,P.jsx)(J.Z,{sx:{marginTop:"5px",marginBottom:"15px"},children:q.map((function(e,n){var t=v()(Y,"".concat(e),"");return""!==t?(0,P.jsx)(y.s,{scopes:[N.Ft.S3_DELETE_OBJECT_TAGGING],resource:s,errorProps:{deleteIcon:null,onDelete:null},children:(0,P.jsx)(en.Z,{style:{textTransform:"none",marginRight:"5px",marginBottom:"5px"},size:"small",label:"".concat(e," : ").concat(t),color:"primary",deleteIcon:(0,P.jsx)(nn.Z,{}),onDelete:function(){!function(e,n){U(e),H(n),R(!0)}(e,t)}})},"chip-".concat(n)):null}))})]})]})}),(0,P.jsx)(y.s,{scopes:[N.Ft.S3_PUT_OBJECT_TAGGING],resource:s,errorProps:{disabled:!0,onClick:null},children:(0,P.jsxs)(l.ZP,{container:!0,children:[(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:c.newTileHeader,children:[(0,P.jsx)(T.OCT,{})," Add New Tag"]}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:c.formFieldRow,children:(0,P.jsx)(Qe.Z,{value:g,label:"Tag Key",id:"newTagKey",name:"newTagKey",placeholder:"Enter Tag Key",onChange:function(e){Z(e.target.value)}})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:c.formFieldRow,children:(0,P.jsx)(Qe.Z,{value:C,label:"Tag Label",id:"newTagLabel",name:"newTagLabel",placeholder:"Enter Tag Label",onChange:function(e){_(e.target.value)}})}),(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:c.modalButtonBar,children:[(0,P.jsx)(p.zx,{id:"clear",type:"button",variant:"regular",color:"primary",onClick:function(){_(""),Z("")},label:"Clear"}),(0,P.jsx)(p.zx,{type:"submit",variant:"callAction",disabled:""===C.trim()||""===g.trim()||F,onClick:function(){O(!0);var e={};e[g]=C;var n=(0,i.Z)((0,i.Z)({},Y),e),o=h?r.version_id:"null";b.Z.invoke("PUT","/api/v1/buckets/".concat(s,"/objects/tags?prefix=").concat(V,"&version_id=").concat(o),{tags:n}).then((function(e){t(!0),O(!1)})).catch((function(e){u((0,k.zb)(e)),O(!1)}))},id:"saveTag",label:"Save"})]})]})})]})})})})),on=t(74165),an=t(15861),sn=t(73669),rn=(0,c.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},u.DF),u.ID),u.bK))}))((function(e){var n=e.classes,t=e.closeInspectModalAndRefresh,i=e.inspectOpen,a=e.inspectPath,s=e.volumeName,r=(0,d.TL)(),c=function(){return t(!1)},u=(0,o.useState)(!0),h=(0,m.Z)(u,2),f=h[0],x=h[1],v=(0,o.useState)(""),b=(0,m.Z)(v,2),g=b[0],Z=b[1],S=(0,o.useState)(""),w=(0,m.Z)(S,2),C=w[0],_=w[1];if(!a)return null;var E=function(){var e=(0,an.Z)((0,on.Z)().mark((function e(n){return(0,on.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch(n,{method:"GET"});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})));return function(n){return e.apply(this,arguments)}}(),y=function(){var e=(0,an.Z)((0,on.Z)().mark((function e(){var n,t,i;return(0,on.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=(0,j.LL)(a+"/xl.meta"),t=(0,j.LL)(s),i="/api/v1/admin/inspect?volume=".concat(t,"&file=").concat(n,"&encrypt=").concat(f),E(i).then(function(){var e=(0,an.Z)((0,on.Z)().mark((function e(n){var t,i,o,a;return(0,on.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n.ok){e.next=5;break}return e.next=3,n.json();case 3:t=e.sent,r((0,k.Ih)({errorMessage:t.message,detailedError:t.code}));case 5:return e.next=7,n.blob();case 7:if(i=e.sent,o=n.headers.get("content-disposition").split('"')[1],a=(0,j.Do)(o)||"",(0,j.zZ)(i,o),_(o),""!==a){e.next=15;break}return c(),e.abrupt("return");case 15:Z(a);case 16:case"end":return e.stop()}}),e)})));return function(n){return e.apply(this,arguments)}}()).catch((function(e){r((0,k.Ih)(e))}));case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return(0,P.jsxs)(o.Fragment,{children:[!g&&(0,P.jsx)(ne.Z,{modalOpen:i,titleIcon:(0,P.jsx)(Y.Gp,{}),title:"Inspect Object",onClose:c,children:(0,P.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault()}(e)},children:["Would you like to encrypt ",(0,P.jsx)("b",{children:(0,j.IO)(a)}),"?"," ",(0,P.jsx)("br",{}),(0,P.jsx)(te.Z,{label:"Encrypt",indicatorLabels:["Yes","No"],checked:f,value:"encrypt",id:"encrypt",name:"encrypt",onChange:function(e){x(!f)},description:""}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:(0,P.jsx)(p.zx,{id:"inspect",type:"submit",variant:"callAction",color:"primary",onClick:y,label:"Inspect"})})]})}),g?(0,P.jsx)(ne.Z,{modalOpen:i,title:"Inspect Decryption Key",onClose:function(){(0,j.kT)(C),c(),Z("")},titleIcon:(0,P.jsx)(T.tvm,{}),children:(0,P.jsxs)(xe.Z,{children:[(0,P.jsxs)(J.Z,{children:["This will be displayed only once. It cannot be recovered.",(0,P.jsx)("br",{}),"Use secure medium to share this key."]}),(0,P.jsx)(J.Z,{children:(0,P.jsx)(sn.Z,{value:g})})]})}):null]})})),cn=t(72401),ln=t(76610),dn=(0,W.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},u.ID),u.DF),u.bK),(0,u.Bz)(e.spacing(4))))})),un=function(e){var n=e.open,t=e.closeModal,i=e.currentItem,a=e.internalPaths,s=e.actualInfo,r=e.bucketName,c=dn(),u=(0,d.TL)(),h=(0,o.useState)(i),f=(0,m.Z)(h,2),x=f[0],v=f[1],b=(0,o.useState)(!1),g=(0,m.Z)(b,2),Z=g[0],S=g[1];return(0,P.jsxs)(ne.Z,{title:"Rename Download",modalOpen:n,onClose:t,titleIcon:(0,P.jsx)(T.dY8,{}),children:[(0,P.jsxs)("div",{children:["The file you are trying to download has a long name.",(0,P.jsx)("br",{}),"This can cause issues on Windows Systems by trimming the file name after download.",(0,P.jsx)("br",{}),(0,P.jsx)("br",{})," We recommend to rename the file download"]}),(0,P.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault();var n=(0,j.LL)("".concat(r,"-").concat(s.name,"-").concat((new Date).getTime(),"-").concat(Math.random())),i=(0,ln.YO)(8),o=(0,B.LR)(r,a,s.version_id,parseInt(s.size||"0"),x,i,(function(e){u((0,F.RO)({instanceID:n,progress:e}))}),(function(){u((0,F.oK)(n))}),(function(e){u((0,F.qJ)({instanceID:n,msg:e}))}),(function(){u((0,F.Im)(n))}));(0,ln.EN)(i,o),u((0,F.Mc)({ID:i,bucketName:r,done:!1,instanceID:n,percentage:0,prefix:x,type:"download",waitingForFile:!0,failed:!1,cancelled:!1,errorMessage:""})),t()}(e)},children:(0,P.jsxs)(l.ZP,{container:!0,children:[(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:c.modalFormScrollable,children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,className:c.formFieldRow,children:(0,P.jsx)(Qe.Z,{id:"download-filename",name:"download-filename",onChange:function(e){v(e.target.value)},label:"",type:"text",value:x,error:x.length>200&&!Z?"Filename should be less than 200 characters long.":""})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:c.formFieldRow,children:(0,P.jsx)(te.Z,{value:"acceptLongName",id:"acceptLongName",name:"acceptLongName",checked:Z,onChange:function(e){S(e.target.checked),e.target.checked&&v(i)},label:"Use Original Name"})})]}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:c.modalButtonBar,children:(0,P.jsx)(p.zx,{id:"download-file",type:"submit",variant:"callAction",color:"primary",disabled:x.length>200&&!Z,label:"Download File"})})]})})]})},hn={is_latest:!0,last_modified:"",legal_hold_status:"",name:"",retention_mode:"",retention_until_date:"",size:"0",tags:{},version_id:null},mn=(0,c.Z)((function(){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({ObjectDetailsTitle:{display:"flex",alignItems:"center","& .min-icon":{width:26,height:26,minWidth:26,minHeight:26}},objectNameContainer:{whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",alignItems:"center",marginLeft:10},headerForSection:{display:"flex",justifyContent:"space-between",alignItems:"center",paddingBottom:15,borderBottom:"#E2E2E2 2px solid",fontWeight:"bold",fontSize:18,color:"#000",margin:"20px 22px"},capitalizeFirst:{textTransform:"capitalize"}},u.Si),u.OR),u.bK),u.VI),u.$b))}))((function(e){var n=e.classes,t=e.internalPaths,i=e.bucketName,s=e.versioning,r=e.locking,c=e.onClosePanel,u=(0,d.TL)(),h=(0,a.v9)(k.N5),f=(0,a.v9)((function(e){return e.objectBrowser.versionsMode})),x=(0,a.v9)((function(e){return e.objectBrowser.selectedVersion})),g=(0,a.v9)((function(e){return e.objectBrowser.loadingObjectInfo})),Z=(0,o.useState)(!1),S=(0,m.Z)(Z,2),w=S[0],C=S[1],_=(0,o.useState)(!1),E=(0,m.Z)(_,2),I=E[0],L=E[1],D=(0,o.useState)(!1),R=(0,m.Z)(D,2),z=R[0],M=R[1],A=(0,o.useState)(!1),U=(0,m.Z)(A,2),G=U[0],K=U[1],W=(0,o.useState)(!1),H=(0,m.Z)(W,2),V=H[0],X=H[1],$=(0,o.useState)(null),Q=(0,m.Z)($,2),ee=Q[0],ne=Q[1],te=(0,o.useState)([]),ie=(0,m.Z)(te,2),oe=ie[0],ae=ie[1],se=(0,o.useState)(null),re=(0,m.Z)(se,2),ce=re[0],le=re[1],de=(0,o.useState)([]),ue=(0,m.Z)(de,2),he=ue[0],me=ue[1],fe=(0,o.useState)(!1),xe=(0,m.Z)(fe,2),ve=xe[0],be=xe[1],Se=(0,o.useState)(!1),we=(0,m.Z)(Se,2),Ce=we[0],_e=we[1],Te=(0,o.useState)(0),ye=(0,m.Z)(Te,2),Ne=ye[0],Ie=ye[1],Fe=(0,o.useState)(!1),Oe=(0,m.Z)(Fe,2),Pe=Oe[0],Le=Oe[1],De=((0,j.IO)(t)||"").split("/").pop()||"",Be=[];ee&&(Be=ee.name.split("/")),(0,o.useEffect)((function(){if(h&&oe&&oe.length>=1){var e=oe.find((function(e){return e.is_latest}))||hn;""!==x&&(e=oe.find((function(e){return e.version_id===x}))||hn),ne(e)}}),[x,h,oe]),(0,o.useEffect)((function(){g&&""!==t&&b.Z.invoke("GET","/api/v1/buckets/".concat(i,"/objects?prefix=").concat(t).concat(h?"&with_versions=true":"")).then((function(e){var n=v()(e,"objects",[]);if(h){ae(n),me(n);var t=n.reduce((function(e,n){return null!==n&&void 0!==n&&n.size?e+n.size:e}),0);Ie(t)}else ne(n[0]),me([]);u((0,F.vH)(!1))})).catch((function(e){console.error("Error loading object details",e),u((0,F.vH)(!1))}))}),[g,i,t,u,h,x]);var Re=[];ee&&ee.tags&&(Re=Object.keys(ee.tags));var ze=(0,P.jsx)("div",{style:{textAlign:"center",marginTop:35},children:(0,P.jsx)(cn.Z,{})});if(!ee)return g?ze:null;var Me=Be.length>0?Be[Be.length-1]:ee.name,Ae=[i,De,[i,ee.name].join("/")],Ue=(0,y.F)(i,[N.Ft.S3_PUT_OBJECT_LEGAL_HOLD]),Ge=(0,y.F)(Ae,[N.Ft.S3_PUT_OBJECT_TAGGING]),Ke=(0,y.F)(Ae,[N.Ft.S3_GET_OBJECT_RETENTION,N.Ft.S3_PUT_OBJECT_RETENTION],!0),We=(0,y.F)(Ae,[N.Ft.ADMIN_INSPECT_DATA]),He=(0,y.F)(Ae,[N.Ft.S3_GET_BUCKET_VERSIONING,N.Ft.S3_PUT_BUCKET_VERSIONING,N.Ft.S3_GET_OBJECT_VERSION]),Ve=(0,y.F)(Ae,[N.Ft.S3_GET_OBJECT]),Je=(0,y.F)([i,De,[i,ee.name].join("/")],[N.Ft.S3_DELETE_OBJECT]),Ye=[{action:function(){!function(e){var n=(0,j.LL)("".concat(i,"-").concat(e.name,"-").concat((new Date).getTime(),"-").concat(Math.random()));if(e.name.length>200&&(0,j.mv)().toLowerCase().includes("win"))Le(!0);else{var o=(0,ln.YO)(8),a=(0,B.LR)(i,t,e.version_id,parseInt(e.size||"0"),null,o,(function(e){u((0,F.RO)({instanceID:n,progress:e}))}),(function(){u((0,F.oK)(n))}),(function(e){u((0,F.qJ)({instanceID:n,msg:e}))}),(function(){u((0,F.Im)(n))}));(0,ln.EN)(o,a),u((0,F.Mc)({ID:o,bucketName:i,done:!1,instanceID:n,percentage:0,prefix:e.name,type:"download",waitingForFile:!0,failed:!1,cancelled:!1,errorMessage:""}))}}(ee)},label:"Download",disabled:!!ee.is_delete_marker||!Ve,icon:(0,P.jsx)(T._8t,{}),tooltip:Ve?"Download this Object":(0,N.MK)([N.Ft.S3_GET_OBJECT],"download this object")},{action:function(){C(!0)},label:"Share",disabled:!!ee.is_delete_marker||!Ve,icon:(0,P.jsx)(T.aAc,{}),tooltip:Ve?"Share this File":(0,N.MK)([N.Ft.S3_GET_OBJECT],"share this object")},{action:function(){_e(!0)},label:"Preview",disabled:!!ee.is_delete_marker||"none"===(0,B.Bg)(De)||!Ve,icon:(0,P.jsx)(T.P99,{}),tooltip:Ve?"Preview this File":(0,N.MK)([N.Ft.S3_GET_OBJECT],"preview this object")},{action:function(){K(!0)},label:"Legal Hold",disabled:!r||!h||!!ee.is_delete_marker||!Ue||""!==x,icon:(0,P.jsx)(T.fNL,{}),tooltip:Ue?r?"Change Legal Hold rules for this File":"Object Locking must be enabled on this bucket in order to set Legal Hold":(0,N.MK)([N.Ft.S3_PUT_OBJECT_LEGAL_HOLD],"change legal hold settings for this object")},{action:function(){L(!0)},label:"Retention",disabled:!h||!!ee.is_delete_marker||!Ke||""!==x||!r,icon:(0,P.jsx)(T.E9d,{}),tooltip:Ke?r?"Change Retention rules for this File":"Object Locking must be enabled on this bucket in order to set Retention Rules":(0,N.MK)([N.Ft.S3_GET_OBJECT_RETENTION,N.Ft.S3_PUT_OBJECT_RETENTION],"change Retention Rules for this object")},{action:function(){M(!0)},label:"Tags",disabled:!!ee.is_delete_marker||""!==x||!Ge,icon:(0,P.jsx)(T.DgT,{}),tooltip:Ge?"Change Tags for this File":(0,N.MK)([N.Ft.S3_PUT_OBJECT_TAGGING,N.Ft.S3_GET_OBJECT_TAGGING],"set Tags on this object")},{action:function(){X(!0)},label:"Inspect",disabled:!h||!!ee.is_delete_marker||""!==x||!We,icon:(0,P.jsx)(Y.Gp,{}),tooltip:We?"Inspect this file":(0,N.MK)([N.Ft.ADMIN_INSPECT_DATA],"inspect this file")},{action:function(){u((0,F.db)({status:!f,objectName:Me}))},label:f?"Hide Object Versions":"Display Object Versions",icon:(0,P.jsx)(T.cRd,{}),disabled:!h||!(ee.version_id&&"null"!==ee.version_id)||!He,tooltip:He?ee.version_id&&"null"!==ee.version_id?"Display Versions for this file":"":(0,N.MK)([N.Ft.S3_GET_BUCKET_VERSIONING,N.Ft.S3_PUT_BUCKET_VERSIONING,N.Ft.S3_GET_OBJECT_VERSION],"display all versions of this object")}];return(0,P.jsxs)(o.Fragment,{children:[w&&ee&&(0,P.jsx)(q.default,{open:w,closeModalAndRefresh:function(){le(null),C(!1)},bucketName:i,dataObject:ce||ee}),I&&ee&&(0,P.jsx)(pe,{open:I,closeModalAndRefresh:function(e){L(!1),e&&u((0,F.vH)(!0))},objectName:De,objectInfo:ee,bucketName:i}),ve&&(0,P.jsx)(ge,{deleteOpen:ve,selectedBucket:i,selectedObject:t,closeDeleteModalAndRefresh:function(e){be(!1),e&&""===x?c(!0):(u((0,F.Eq)(!0)),u((0,F.M3)("")),u((0,F.vH)(!0)))},versioning:h&&s,selectedVersion:x}),G&&ee&&(0,P.jsx)(je,{open:G,closeModalAndRefresh:function(e){K(!1),e&&u((0,F.vH)(!0))},objectName:ee.name,bucketName:i,actualInfo:ee}),Ce&&ee&&(0,P.jsx)(Ze.default,{open:Ce,bucketName:i,object:{name:ee.name,version_id:ee.version_id||"null",size:parseInt(ee.size||"0"),content_type:"",last_modified:new Date(ee.last_modified)},onClosePreview:function(){_e(!1)}}),z&&ee&&(0,P.jsx)(tn,{modalOpen:z,bucketName:i,actualInfo:ee,onCloseAndUpdate:function(e){M(!1),e&&u((0,F.vH)(!0))}}),V&&ee&&(0,P.jsx)(rn,{inspectOpen:V,volumeName:i,inspectPath:ee.name,closeInspectModalAndRefresh:function(e){X(!1),e&&u((0,F.vH)(!0))}}),Pe&&ee&&(0,P.jsx)(un,{open:Pe,closeModal:function(){Le(!1)},currentItem:De,bucketName:i,internalPaths:t,actualInfo:ee}),g?(0,P.jsx)(o.Fragment,{children:ze}):(0,P.jsxs)(o.Fragment,{children:[(0,P.jsx)(ke,{title:(0,P.jsxs)("div",{className:n.ObjectDetailsTitle,children:[$e(Me,!0),(0,P.jsx)("span",{className:n.objectNameContainer,children:Me})]}),items:Ye}),(0,P.jsx)(O.Z,{tooltip:Je?"":(0,N.MK)([N.Ft.S3_DELETE_OBJECT],"delete this object"),children:(0,P.jsx)(l.ZP,{item:!0,xs:12,sx:{justifyContent:"center",display:"flex"},children:(0,P.jsx)(y.s,{resource:[i,De,[i,ee.name].join("/")],scopes:[N.Ft.S3_DELETE_OBJECT],errorProps:{disabled:!0},children:(0,P.jsx)(p.zx,{id:"delete-element-click",icon:(0,P.jsx)(T.pJl,{}),iconLocation:"start",fullWidth:!0,variant:"secondary",onClick:function(){be(!0)},disabled:""===x&&ee.is_delete_marker,style:{width:"calc(100% - 44px)",margin:"8px 0"},label:"Delete".concat(""!==x?" version":"")})})})}),(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:n.headerForSection,children:[(0,P.jsx)("span",{children:"Object Info"}),(0,P.jsx)(T.Gvh,{})]}),(0,P.jsxs)(J.Z,{className:n.detailContainer,children:[(0,P.jsx)("strong",{children:"Name:"}),(0,P.jsx)("br",{}),(0,P.jsx)("div",{style:{overflowWrap:"break-word"},children:Me})]}),""!==x&&(0,P.jsxs)(J.Z,{className:n.detailContainer,children:[(0,P.jsx)("strong",{children:"Version ID:"}),(0,P.jsx)("br",{}),x]}),(0,P.jsxs)(J.Z,{className:n.detailContainer,children:[(0,P.jsx)("strong",{children:"Size:"}),(0,P.jsx)("br",{}),(0,j.ae)(ee.size||"0")]}),ee.version_id&&"null"!==ee.version_id&&""===x&&(0,P.jsxs)(J.Z,{className:n.detailContainer,children:[(0,P.jsx)("strong",{children:"Versions:"}),(0,P.jsx)("br",{}),he.length," version",1!==he.length?"s":"",","," ",(0,j.l5)(Ne)]}),""===x&&(0,P.jsxs)(J.Z,{className:n.detailContainer,children:[(0,P.jsx)("strong",{children:"Last Modified:"}),(0,P.jsx)("br",{}),function(e){var n=new Date,t=new Date(e),i=n.getTime()-t.getTime(),o=(0,j.nF)(i,"ms");return""!==o.trim()?"".concat(o," ago"):"Just now"}(ee.last_modified)]}),(0,P.jsxs)(J.Z,{className:n.detailContainer,children:[(0,P.jsx)("strong",{children:"ETAG:"}),(0,P.jsx)("br",{}),ee.etag||"N/A"]}),(0,P.jsxs)(J.Z,{className:n.detailContainer,children:[(0,P.jsx)("strong",{children:"Tags:"}),(0,P.jsx)("br",{}),0===Re.length?"N/A":Re.map((function(e,n){return(0,P.jsxs)("span",{children:[e,":",v()(ee,"tags.".concat(e),""),n div":{borderBottomColor:"#F8F8F8"}},"@media (max-width: 799px)":{margin:0,"&:hover, &.selected":{backgroundColor:"transparent","& > div":{borderBottomColor:"#E2E2E2"}}}},versionContainer:{fontSize:16,fontWeight:"bold",display:"flex",alignItems:"center","& svg.min-icon":{width:18,height:18,minWidth:18,minHeight:18,marginRight:10},"@media (max-width: 799px)":{fontSize:14,"& svg.min-icon":{display:"none"}}},buttonContainer:{textAlign:"right","& button":{marginLeft:"1.5rem"},"@media (max-width: 600px)":{"& button":{marginLeft:"5px"}}},versionID:{fontSize:"12px",margin:"2px 0",whiteSpace:"nowrap",textOverflow:"ellipsis",maxWidth:"95%",overflow:"hidden"},versionData:{marginRight:"10px",fontSize:12,color:"#868686","@media (max-width: 799px)":{textOverflow:"ellipsis",maxWidth:"95%",overflow:"hidden",whiteSpace:"nowrap"}},ctrItem:{position:"relative","&::before":{content:"' '",display:"block",position:"absolute",width:"2px",height:"calc(100% + 2px)",backgroundColor:"#F8F8F8",left:"24px"},"@media (max-width: 799px)":{"&::before":{display:"none"}}},collapsableInfo:{"@media (max-width: 799px)":{display:"flex",flexDirection:"column"}},versionItem:{"@media (max-width: 799px)":{display:"none"}}})}))((function(e){var n=e.classes,t=e.fileName,i=e.versionInfo,o=e.isSelected,a=e.checkable,s=e.isChecked,r=e.onCheck,c=e.onShare,d=e.onDownload,u=e.onRestore,h=e.onPreview,m=e.globalClick,f=e.index,p=e.key,x=e.style,v=i.is_delete_marker,b=[{icon:(0,P.jsx)(T.P99,{}),action:h,tooltip:"Preview"},{icon:(0,P.jsx)(T._8t,{}),action:d,tooltip:"Download this version"},{icon:(0,P.jsx)(T.aAc,{}),action:c,tooltip:"Share this version"},{icon:(0,P.jsx)(T.D7Y,{}),action:u,tooltip:"Restore this version"}],g=null;return i.is_delete_marker?g="deleted":i.is_latest?g="current":"null"===i.version_id&&(g="null"),(0,P.jsx)(l.ZP,{container:!0,flex:1,className:n.ctrItem,onClick:function(){m(i)},style:x,children:(0,P.jsx)(l.ZP,{item:!0,xs:12,className:"".concat(n.intermediateLayer," ").concat(o?"selected":""),children:(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:"".concat(n.mainFileVersionItem," ").concat(i.is_delete_marker?"deleted":""),children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,justifyContent:"space-between",children:(0,P.jsxs)(l.ZP,{container:!0,children:[(0,P.jsxs)(l.ZP,{item:!0,xs:!0,md:4,className:n.versionContainer,children:[a&&(0,P.jsx)(Cn.Z,{checked:s,id:"select-".concat(i.version_id),label:"",name:"select-".concat(i.version_id),onChange:function(e){e.stopPropagation(),e.preventDefault(),r(i.version_id||"")},value:i.version_id||"",disabled:i.is_delete_marker,overrideCheckboxStyles:{paddingLeft:0,height:34,width:25},noTopMargin:!0}),$e(t,!0)," v",f.toString(),(0,P.jsx)("span",{className:n.versionItem,children:g&&(0,P.jsx)(wn,{type:g})})]}),(0,P.jsx)(l.ZP,{item:!0,xs:10,md:8,className:n.buttonContainer,children:b.map((function(e,t){return(0,P.jsx)(re.Z,{title:e.tooltip,children:(0,P.jsx)(E.Z,{size:"small",id:"version-action-".concat(e.tooltip,"-").concat(t.toString()),className:"".concat(n.spacing," ").concat(v?n.buttonDisabled:""),disabled:v,onClick:function(n){n.stopPropagation(),v?n.preventDefault():e.action(i)},sx:{backgroundColor:"#F8F8F8",borderRadius:"100%",width:"28px",height:"28px",padding:"5px","& .min-icon":{width:"14px",height:"14px"}},children:e.icon})},"version-action-".concat(e.tooltip,"-").concat(t.toString()))}))})]})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.versionID,children:"null"!==i.version_id?i.version_id:"-"}),(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:n.collapsableInfo,children:[(0,P.jsxs)("span",{className:n.versionData,children:[(0,P.jsx)("strong",{children:"Last modified:"})," ",(0,P.jsx)(pn(),{children:i.last_modified})]}),(0,P.jsxs)("span",{className:n.versionData,children:[(0,P.jsx)("strong",{children:"Size:"})," ",(0,j.ae)(i.size||"0")]})]})]})})},p)})),En=t(90673),Tn=function(e){var n=e.closeDeleteModalAndRefresh,t=e.deleteOpen,i=e.selectedBucket,a=e.selectedObject,s=(0,d.TL)(),r=(0,o.useState)(!1),c=(0,m.Z)(r,2),u=c[0],h=c[1],f=(0,o.useState)(""),p=(0,m.Z)(f,2),x=p[0],v=p[1];if((0,o.useEffect)((function(){u&&b.Z.invoke("DELETE","/api/v1/buckets/".concat(i,"/objects?path=").concat(a,"&non_current_versions=true")).then((function(){n(!0)})).catch((function(e){s((0,k.Ih)(e)),h(!1)}))}),[u,n,s,a,i]),!a)return null;return(0,P.jsx)(ve.Z,{title:"Delete Non-Current versions",confirmText:"Delete",isOpen:t,titleIcon:(0,P.jsx)(T.NvT,{}),isLoading:u,onConfirm:function(){h(!0)},onClose:function(){return n(!1)},confirmButtonProps:{disabled:"YES, PROCEED"!==x||u},confirmationContent:(0,P.jsxs)(xe.Z,{children:["Are you sure you want to delete all the non-current versions for:"," ",(0,P.jsx)("b",{children:(0,j.IO)(a)}),"? ",(0,P.jsx)("br",{}),(0,P.jsx)("br",{}),"To continue please type ",(0,P.jsx)("b",{children:"YES, PROCEED"})," in the box.",(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(Qe.Z,{id:"type-confirm",name:"retype-tenant",onChange:function(e){v(e.target.value)},label:"",value:x})})]})})},yn=function(e){var n=e.closeDeleteModalAndRefresh,t=e.deleteOpen,i=e.selectedBucket,a=e.selectedVersions,s=e.selectedObject,r=(0,d.TL)(),c=(0,o.useState)(!1),l=(0,m.Z)(c,2),u=l[0],h=l[1];return(0,o.useEffect)((function(){if(u){var e=a.map((function(e){return{path:s,versionID:e,recursive:!1}}));e.length>0&&b.Z.invoke("POST","/api/v1/buckets/".concat(i,"/delete-objects?all_versions=false"),e).then((function(){h(!1),n(!0)})).catch((function(e){r((0,k.Ih)(e)),h(!1)}))}}),[u,n,i,s,a,r]),a?(0,P.jsx)(ve.Z,{title:"Delete Selected Versions",confirmText:"Delete",isOpen:t,titleIcon:(0,P.jsx)(T.NvT,{}),isLoading:u,onConfirm:function(){h(!0)},onClose:function(){return n(!1)},confirmationContent:(0,P.jsxs)(xe.Z,{children:["Are you sure you want to delete the selected ",a.length," ","versions for ",(0,P.jsx)("strong",{children:s}),"?"]})}):null},Nn=t(5171),In={is_latest:!0,last_modified:"",legal_hold_status:"",name:"",retention_mode:"",retention_until_date:"",size:"0",tags:{},version_id:null},kn=(0,c.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({versionsContainer:{padding:10,"@media (max-width: 799px)":{minHeight:800}},noBottomBorder:{borderBottom:0},versionsVirtualPanel:{flexGrow:1,height:"calc(100% - 120px)",overflow:"auto","@media (max-width: 799px)":{height:600}},screenTitleContainer:{position:"relative","&::before":{content:"' '",display:"block",position:"absolute",width:"2px",backgroundColor:"#F8F8F8",left:"24px",height:"40px",bottom:0},"@media (max-width: 799px)":{"&::before":{display:"none"}}},sortByLabel:{color:"#838383",fontWeight:"bold",whiteSpace:"nowrap",marginRight:12,fontSize:14,"@media (max-width: 600px)":{display:"none"}}},u.bp),u.Si),u.OR),u.VX),u.bK),u.VI),u.cx),u.C4),(0,u.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=e.internalPaths,i=e.bucketName,s=(0,d.TL)(),r=(0,a.v9)((function(e){return e.objectBrowser.searchVersions})),c=(0,a.v9)((function(e){return e.objectBrowser.loadingVersions})),u=(0,a.v9)((function(e){return e.objectBrowser.selectedVersion})),f=(0,a.v9)(k.N5),x=(0,o.useState)(!1),g=(0,m.Z)(x,2),Z=g[0],S=g[1],w=(0,o.useState)(null),C=(0,m.Z)(w,2),_=C[0],E=C[1],y=(0,o.useState)(null),N=(0,m.Z)(y,2),I=N[0],L=N[1],z=(0,o.useState)([]),M=(0,m.Z)(z,2),A=M[0],U=M[1],G=(0,o.useState)(!1),K=(0,m.Z)(G,2),W=K[0],H=K[1],V=(0,o.useState)(""),J=(0,m.Z)(V,2),Y=J[0],X=J[1],$=(0,o.useState)("date"),Q=(0,m.Z)($,2),ee=Q[0],ne=Q[1],te=(0,o.useState)(!1),ie=(0,m.Z)(te,2),oe=ie[0],ae=ie[1],se=(0,o.useState)(!1),re=(0,m.Z)(se,2),ce=re[0],le=re[1],de=(0,o.useState)(!1),ue=(0,m.Z)(de,2),he=ue[0],me=ue[1],fe=(0,o.useState)([]),pe=(0,m.Z)(fe,2),xe=pe[0],ve=pe[1],be=(0,o.useState)(!1),ge=(0,m.Z)(be,2),je=ge[0],Se=ge[1],we=[];_&&(we=_.name.split("/")),(0,o.useEffect)((function(){c||_||s((0,F.Eq)(!0))}),[c,_,s]),(0,o.useEffect)((function(){c&&""!==t&&b.Z.invoke("GET","/api/v1/buckets/".concat(i,"/objects?prefix=").concat(t).concat(f?"&with_versions=true":"")).then((function(e){var n=v()(e,"objects",[]),i=(0,j.IO)(t),o=n.filter((function(e){return e.name===i}));f?(E(o.find((function(e){return e.is_latest}))||In),U(o)):(E(o[0]),U([])),s((0,F.Eq)(!1))})).catch((function(e){s((0,k.Ih)(e)),s((0,F.Eq)(!1))}))}),[c,i,t,s,f]);var Ce=function(e){L(e),S(!0)},_e=function(e){L(e),ae(!0)},Ee=function(e){X(e.version_id||""),H(!0)},Te=function(e){!function(e){var n=(0,j.LL)("".concat(i,"-").concat(e.name,"-").concat((new Date).getTime(),"-").concat(Math.random())),o=(0,ln.YO)(8),a=(0,B.LR)(i,t,e.version_id,parseInt(e.size||"0"),null,o,(function(e){s((0,F.RO)({instanceID:n,progress:e}))}),(function(){s((0,F.oK)(n))}),(function(e){s((0,F.qJ)({instanceID:n,msg:e}))}),(function(){s((0,F.Im)(n))}));(0,ln.EN)(o,a),s((0,F.Mc)({ID:o,bucketName:i,done:!1,instanceID:n,percentage:0,prefix:e.name,type:"download",waitingForFile:!0,failed:!1,cancelled:!1,errorMessage:""}))}(e)},ye=function(e){s((0,F.M3)(e.version_id||""))},Ne=A.filter((function(e){return!!e.version_id&&e.version_id.includes(r)})),Ie=A.reduce((function(e,n){return n.size?e+parseInt(n.size):e}),0);Ne.sort((function(e,n){if("size"===ee)return e.size&&n.size?e.sizen.size?1:0:0;var t=new Date(e.last_modified).getTime(),i=new Date(n.last_modified).getTime();return ti?-1:0}));var ke=function(e){if(xe.includes(e)){var n=xe.filter((function(n){return n!==e}));ve(n)}else{var t=(0,h.Z)(xe);t.push(e),ve(t)}};return(0,P.jsxs)(o.Fragment,{children:[Z&&_&&(0,P.jsx)(q.default,{open:Z,closeModalAndRefresh:function(){L(null),S(!1),ae(!1)},bucketName:i,dataObject:I||_}),W&&_&&(0,P.jsx)(Sn,{restoreOpen:W,bucketName:i,versionID:Y,objectPath:_.name,onCloseAndUpdate:function(e){H(!1),X(""),e&&(s((0,F.Eq)(!0)),s((0,F.vH)(!0)))}}),oe&&_&&(0,P.jsx)(Ze.default,{open:oe,bucketName:i,object:{name:_.name,version_id:I&&I.version_id?I.version_id:"null",size:parseInt(I&&I.size?I.size:"0"),content_type:"",last_modified:new Date(_.last_modified)},onClosePreview:function(){ae(!1)}}),ce&&(0,P.jsx)(Tn,{deleteOpen:ce,closeDeleteModalAndRefresh:function(e){le(!1),e&&(s((0,F.Eq)(!0)),s((0,F.M3)("")),s((0,F.vH)(!0)))},selectedBucket:i,selectedObject:t}),je&&(0,P.jsx)(yn,{selectedBucket:i,selectedObject:(0,j.IO)(t),deleteOpen:je,selectedVersions:xe,closeDeleteModalAndRefresh:function(e){Se(!1),e&&(s((0,F.Eq)(!0)),s((0,F.M3)("")),s((0,F.vH)(!0)),ve([]))}}),(0,P.jsxs)(l.ZP,{container:!0,className:n.versionsContainer,children:[!_&&(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(jn.Z,{})}),_&&(0,P.jsxs)(o.Fragment,{children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(D,{bucketName:i,internalPaths:(0,j.IO)(t),existingFiles:[],hidePathButton:!0})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.screenTitleContainer,children:(0,P.jsx)(R.Z,{icon:(0,P.jsx)("span",{className:n.listIcon,children:(0,P.jsx)(T.cRd,{})}),title:(0,P.jsxs)("span",{className:n.titleSpacer,children:[we.length>0?we[we.length-1]:_.name," ","Versions"]}),subTitle:(0,P.jsx)(o.Fragment,{children:(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:n.bucketDetails,children:[(0,P.jsx)("span",{className:n.detailsSpacer,children:(0,P.jsxs)("strong",{children:[A.length," Version",1===A.length?"":"s","\xa0\xa0\xa0"]})}),(0,P.jsx)("span",{className:n.detailsSpacer,children:(0,P.jsx)("strong",{children:(0,j.l5)(Ie)})})]})}),actions:(0,P.jsxs)(o.Fragment,{children:[(0,P.jsx)(O.Z,{tooltip:"Select Multiple Versions",children:(0,P.jsx)(p.zx,{id:"select-multiple-versions",onClick:function(){me(!he)},icon:(0,P.jsx)(T.amE,{}),variant:he?"callAction":"regular",style:{marginRight:8}})}),he&&(0,P.jsx)(O.Z,{tooltip:"Delete Selected Versions",children:(0,P.jsx)(p.zx,{id:"delete-multiple-versions",onClick:function(){Se(!0)},icon:(0,P.jsx)(T.pJl,{}),variant:"secondary",style:{marginRight:8},disabled:0===xe.length})}),(0,P.jsx)(O.Z,{tooltip:"Delete Non Current Versions",children:(0,P.jsx)(p.zx,{id:"delete-non-current",onClick:function(){le(!0)},icon:(0,P.jsx)(T.utM,{}),variant:"secondary",style:{marginRight:15},disabled:A.length<=1})}),(0,P.jsx)("span",{className:n.sortByLabel,children:"Sort by"}),(0,P.jsx)(En.Z,{id:"sort-by",label:"",value:ee,onChange:function(e){ne(e.target.value)},name:"sort-by",options:[{label:"Date",value:"date"},{label:"Size",value:"size"}]})]}),className:n.noBottomBorder})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.versionsVirtualPanel,children:_.version_id&&"null"!==_.version_id&&(0,P.jsx)(Nn.aV,{style:{width:"100%"},containerStyle:{width:"100%",maxWidth:"100%"},width:1,height:800,rowCount:Ne.length,rowHeight:108,rowRenderer:function(e){var n=e.key,t=e.index,i=(e.isScrolling,e.isVisible,e.style),o=A.length-t;return(0,P.jsx)(_n,{style:i,fileName:(null===_||void 0===_?void 0:_.name)||"",versionInfo:Ne[t],index:o,onDownload:Te,onRestore:Ee,onShare:Ce,onPreview:_e,globalClick:ye,isSelected:u===Ne[t].version_id,checkable:he,onCheck:ke,isChecked:xe.includes(Ne[t].version_id||"")},n)}})})]})]})]})})),Fn=t(9859),On=t(46078),Pn=o.lazy((function(){return Promise.resolve().then(t.bind(t,13065))})),Ln=o.lazy((function(){return Promise.resolve().then(t.bind(t,28789))})),Dn=o.lazy((function(){return Promise.resolve().then(t.bind(t,74768))})),Bn=(0,I.Z)(o.lazy((function(){return t.e(711).then(t.bind(t,50711))}))),Rn=(0,I.Z)(o.lazy((function(){return Promise.resolve().then(t.bind(t,34433))}))),zn=(0,I.Z)(o.lazy((function(){return Promise.all([t.e(3691),t.e(2515),t.e(6901)]).then(t.bind(t,26901))}))),Mn=(0,I.Z)(o.lazy((function(){return Promise.resolve().then(t.bind(t,78562))}))),An=(0,W.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({browsePaper:{border:0,height:"calc(100vh - 210px)","&.isEmbedded":{height:"calc(100vh - 315px)"},"&.actionsPanelOpen":{minHeight:"100%"},"@media (max-width: 800px)":{width:800}},"@global":{".rowLine:hover .iconFileElm":{backgroundImage:"url(/images/ob_file_filled.svg)"},".rowLine:hover .iconFolderElm":{backgroundImage:"url(/images/ob_folder_filled.svg)"}},badgeOverlap:{"& .MuiBadge-badge":{top:10,right:1,width:5,height:5,minWidth:5}},screenTitle:{borderBottom:0,paddingTop:0,paddingLeft:0,paddingRight:0}},u.VX),u.OR),u.qg),{},{searchField:(0,i.Z)((0,i.Z)({},u.qg.searchField),{},{maxWidth:380}),screenTitleContainer:{border:"#EAEDEE 1px solid",padding:"0.8rem 15px 0"},labelStyle:{color:"#969FA8",fontSize:"12px"},breadcrumbsContainer:{padding:"12px 14px 5px"},parentWrapper:{"@media (max-width: 800px)":{overflowX:"auto"}},fullContainer:{"@media (max-width: 799px)":{width:0}},hideListOnSmall:{"@media (max-width: 799px)":{display:"none"}}},u.C4),u.cx),(0,u.Bz)(e.spacing(4))))})),Un={borderWidth:2,borderRadius:2,borderColor:"#eeeeee",outline:"none"},Gn={borderStyle:"dashed",backgroundColor:"#fafafa",borderColor:"#2196f3"},Kn={borderStyle:"dashed",backgroundColor:"#fafafa",borderColor:"#00e676"};var Wn=(0,P.jsx)(Z.Z,{component:"h3",children:"Loading..."}),Hn=function(){var e,n=An(),t=(0,d.TL)(),r=(0,s.UO)(),c=(0,s.s0)(),u=(0,s.TH)(),x=(0,a.v9)((function(e){return e.objectBrowser.rewind.rewindEnabled})),w=(0,a.v9)((function(e){return e.objectBrowser.rewind.dateToRewind})),C=(0,a.v9)((function(e){return e.objectBrowser.rewind.bucketToRewind})),_=(0,a.v9)((function(e){return e.objectBrowser.versionsMode})),E=(0,a.v9)((function(e){return e.objectBrowser.searchObjects})),I=(0,a.v9)((function(e){return e.objectBrowser.showDeleted})),L=(0,a.v9)((function(e){return e.objectBrowser.objectDetailsOpen})),M=(0,a.v9)((function(e){return e.objectBrowser.selectedInternalPaths})),A=(0,a.v9)((function(e){return e.objectBrowser.loadingObjects})),U=(0,a.v9)((function(e){return e.objectBrowser.simplePath})),G=(0,a.v9)(Fn.HQ),W=(0,a.v9)(Fn.G6),H=(0,a.v9)((function(e){return e.console.session.allowResources})),J=(0,a.v9)(On.$4),Y=!(null===J||void 0===J||!J.includes("object-browser-only")),q=(0,o.useState)([]),X=(0,m.Z)(q,2),$=X[0],Q=X[1],ee=(0,o.useState)(!1),ne=(0,m.Z)(ee,2),te=ne[0],ie=ne[1],oe=(0,o.useState)(0),ae=(0,m.Z)(oe,2),se=ae[0],re=ae[1],ce=(0,o.useState)(Wn),le=(0,m.Z)(ce,2),de=le[0],ue=le[1],he=(0,o.useState)(!0),me=(0,m.Z)(he,2),fe=me[0],pe=me[1],xe=(0,o.useState)(!1),ve=(0,m.Z)(xe,2),be=ve[0],ge=ve[1],je=(0,o.useState)(!0),Ze=(0,m.Z)(je,2),Se=Ze[0],we=Ze[1],Ce=(0,o.useState)(!1),_e=(0,m.Z)(Ce,2),Ee=_e[0],Te=_e[1],ye=(0,o.useState)(!1),Ne=(0,m.Z)(ye,2),Ie=Ne[0],Fe=Ne[1],Oe=(0,o.useState)([]),Pe=(0,m.Z)(Oe,2),Le=Pe[0],De=Pe[1],Be=(0,o.useState)(!1),Re=(0,m.Z)(Be,2),ze=Re[0],Me=Re[1],Ae=(0,o.useState)(null),Ue=(0,m.Z)(Ae,2),Ge=Ue[0],Ke=Ue[1],We=(0,o.useState)(!1),He=(0,m.Z)(We,2),Ve=He[0],Je=He[1],Ye=(0,o.useState)("ASC"),qe=(0,m.Z)(Ye,2),Xe=qe[0],$e=qe[1],Qe=(0,o.useState)("name"),en=(0,m.Z)(Qe,2),nn=en[0],tn=en[1],on=(0,o.useState)(!1),an=(0,m.Z)(on,2),sn=an[0],rn=an[1],cn=(0,o.useState)(!1),dn=(0,m.Z)(cn,2),hn=dn[0],fn=dn[1],pn=(0,o.useState)(!1),xn=(0,m.Z)(pn,2),vn=xn[0],jn=xn[1],Zn=(0,o.useState)(null),Sn=(0,m.Z)(Zn,2),wn=Sn[0],_n=Sn[1],En=(0,o.useState)(null),Tn=(0,m.Z)(En,2),yn=Tn[0],Nn=Tn[1],In=u.pathname.split("/browse/"),Hn=2===In.length?In[1]:"",Vn=r.bucketName||"",Jn=(0,o.useRef)(null),Yn=(0,o.useRef)(null);(0,o.useEffect)((function(){null!==Yn.current&&(Yn.current.setAttribute("directory",""),Yn.current.setAttribute("webkitdirectory",""))}),[Yn]),(0,o.useEffect)((function(){if(1===Le.length){var e=Le[0];"none"!==(0,B.Bg)(e)?jn(!0):jn(!1),e.endsWith("/")?fn(!1):fn(!0)}else fn(!1),jn(!1)}),[Le]),(0,o.useEffect)((function(){wn||b.Z.invoke("GET","/api/v1/buckets/".concat(Vn,"/quota")).then((function(e){var n=null;e.quota&&(n=e),_n(n)})).catch((function(e){console.error("Error Getting Quota Status: ",e.detailedError),_n(null)}))}),[wn,Vn]),(0,o.useEffect)((function(){Le.length>0?t((0,F.vb)(!0)):0===Le.length&&null===M&&t((0,F.vb)(!1))}),[Le,M,t]);var qn=(0,y.F)(Vn,[N.Ft.S3_DELETE_OBJECT]),Xn=(0,y.F)(Vn,[N.Ft.S3_LIST_BUCKET]);(0,o.useEffect)((function(){sn||(t((0,Fn.d5)(!0)),rn(!0))}),[sn,t,rn]),function(e,n){var t=(0,o.useRef)(null);(0,o.useEffect)((function(){t.current=e}),[e]),(0,o.useEffect)((function(){if(null!==n){var e=setInterval((function(){void 0!==t&&t.current&&t.current()}),n);return function(){return clearInterval(e)}}}),[n])}((function(){A&&function(){var e=Date.now()-se;e/1e3>=6?ue((0,P.jsx)(o.Fragment,{children:(0,P.jsxs)(Z.Z,{component:"h3",children:["This operation is taking longer than expected... (",Math.ceil(e/1e3),"s)"]})})):e/1e3>=3&&ue((0,P.jsx)(Z.Z,{component:"h3",children:"This operation is taking longer than expected..."}))}()}),1e3),(0,o.useEffect)((function(){fe&&(Xn?b.Z.invoke("GET","/api/v1/buckets/".concat(Vn,"/versioning")).then((function(e){ge(e.is_versioned),pe(!1)})).catch((function(e){console.error("Error Getting Object Versioning Status: ",e.detailedError),pe(!1)})):(pe(!1),Q([])))}),[Vn,fe,t,Xn]),(0,o.useEffect)((function(){Se&&(Xn?b.Z.invoke("GET","/api/v1/buckets/".concat(Vn,"/object-locking")).then((function(e){Te(e.object_locking_enabled),we(!1)})).catch((function(e){console.error("Error Getting Object Locking Status: ",e.detailedError),we(!1)})):(Q([]),we(!1)))}),[Vn,Se,t,Xn]),(0,o.useEffect)((function(){var e=(0,j.IO)(Hn);e.endsWith("/")||""===e?(t((0,F.vb)(!1)),t((0,F.EE)(null)),t((0,F.Su)(""===e?"/":e))):(t((0,F.vH)(!0)),t((0,F.vb)(!0)),t((0,F.Eq)(!0)),t((0,F.EE)("".concat(e?"".concat((0,j.LL)(e)):""))),t((0,F.Su)("".concat(e.split("/").slice(0,-1).join("/"),"/"))))}),[Hn,w,x,t]),(0,o.useEffect)((function(){t((0,F.G4)("")),t((0,F.MU)(!0)),De([])}),[U,t,De]),(0,o.useEffect)((function(){if(A)if(Xn){var e="";if(Hn){var n=(0,j.IO)(Hn);e=n.endsWith("/")?n:n+"/"}var i=Date.now();re(i),ue(Wn);var o="/api/v1/buckets/".concat(Vn,"/objects");if(x){if(C!==Vn)return void t((0,F._w)());if(w){var a=w.toISOString();o="/api/v1/buckets/".concat(Vn,"/rewind/").concat(a)}}else if(I){var s=(new Date).toISOString();o="/api/v1/buckets/".concat(Vn,"/rewind/").concat(s)}b.Z.invoke("GET","".concat(o).concat(e?"?prefix=".concat((0,j.LL)(e)):"")).then((function(n){var i=n.objects||[],a=[],s=[];i.forEach((function(e){e.name!==(0,j.IO)(Hn)&&(e.name.endsWith("/")?a.push(e):s.push(e))}));var r=[].concat(a,s);if(0===r.length&&""!==e){var c="/api/v1/buckets/".concat(Vn,"/objects").concat(Hn?"?prefix=".concat(Hn):"");if(x){var l=w.toISOString(),d="";if(Hn){var u=(0,j.IO)(Hn);d=u.endsWith("/")?u:u+"/"}c="/api/v1/buckets/".concat(Vn,"/rewind/").concat(l).concat(d?"?prefix=".concat((0,j.LL)(d)):"")}b.Z.invoke("GET",c).then((function(n){if(n.objects){for(var i=!1,a=e.slice(0,e.length-1),s=0;s1,w="An error occurred while uploading the file".concat(S?"s":"","."),C={413:"Error - File size too large"};Z.withCredentials=!1,Z.onload=function(e){if(Z.status>=200&&Z.status<300)t((0,F.oK)(g)),s({status:Z.status}),(0,ln.GM)(p);else{if(C[Z.status])w=C[Z.status];else if(Z.response)try{var n=JSON.parse(Z.response);w=n.detailedMessage}catch(i){w="something went wrong"}t((0,F.qJ)({instanceID:g,msg:w})),r({status:Z.status,message:w}),(0,ln.GM)(p)}},Z.upload.addEventListener("error",(function(e){r(w),t((0,F.qJ)({instanceID:g,msg:"A network error occurred."}))})),Z.upload.addEventListener("progress",(function(e){var n=Math.floor(100*e.loaded/e.total);t((0,F.RO)({instanceID:g,progress:n}))})),Z.onerror=function(){r(w),t((0,F.qJ)({instanceID:g,msg:"A network error occurred."}))},Z.onloadend=function(){0===e.length&&t((0,F.MU)(!0))},Z.onabort=function(){t((0,F.Im)(g))};var _=new FormData;void 0!==a.size&&(_.append(a.size.toString(),d,l),(0,ln.EN)(p,Z),t((0,F.Mc)({ID:p,bucketName:n,done:!1,instanceID:g,percentage:0,prefix:"".concat((0,j.IO)(u)).concat(l),type:"upload",waitingForFile:!1,failed:!1,cancelled:!1,errorMessage:""})),(0,ln.N5)(p,_),(0,ln.EN)(p,Z))}))},s=[];t((0,F.LD)());for(var r=0;r0){var i=s.length,o=s.length-n.length,a={errorMessage:"There were some errors during file upload",detailedError:"Uploaded files ".concat(o,"/").concat(i)};t((0,k.Ih)(a))}t((0,F.MU)(!0)),De([])}))}(e,Vn,i,n)}),[Vn,t,U]),et=(0,o.useCallback)((function(e){if(e&&e.length>0&&pt){var n=e[0].path;Qn(e,n)}pt||t((0,k.Ih)({errorMessage:"Upload not allowed",detailedError:(0,N.MK)([N.Ft.S3_PUT_OBJECT],"upload objects to this location")}))}),[Qn]),nt=(0,f.uI)({noClick:!0,onDrop:et}),tt=nt.getRootProps,it=nt.getInputProps,ot=nt.isDragActive,at=nt.isDragAccept,st=(0,o.useMemo)((function(){return(0,i.Z)((0,i.Z)((0,i.Z)({},Un),ot?Gn:{}),at?Kn:{})}),[ot,at]),rt=$.filter((function(e){return""===E||e.name.toLowerCase().indexOf(E.toLowerCase())>=0})),ct=(0,j.IO)(Hn),lt=ct.split("/").filter((function(e){return""!==e})),dt=rt.sort((0,B.P_)(nn)),ut=[];ut="ASC"===Xe?dt:dt.reverse();var ht=[Vn];lt.length>0&&(ht=ht.concat(lt));var mt=(0,y.F)(Vn,[N.Ft.S3_GET_OBJECT]),ft=(0,y.F)(Vn,[N.Ft.S3_DELETE_OBJECT]),pt=(0,y.F)(ht,[N.Ft.S3_PUT_OBJECT]),xt=function(e){if(t((0,F.EE)(null)),t((0,F.db)({status:!1})),L&&null!==M){var n=(0,j.IO)(Hn).split("/");n.pop();var i="";n&&n.length>0&&(i="".concat(n.join("/"),"/")),c("/buckets/".concat(Vn,"/browse/").concat((0,j.LL)(i)))}t((0,F.vb)(!1)),De([]),e&&t((0,F.MU)(!0))},vt=[{type:"view",label:"View",onClick:function(e){De([]);var n="/buckets/".concat(Vn,"/browse").concat(e?"/".concat((0,j.LL)(e)):"");c(n),t((0,F.vb)(!0)),t((0,F.Eq)(!0)),t((0,F.EE)("".concat(e?"".concat((0,j.LL)(e)):"")))},sendOnlyId:!0}],bt=[{action:function(){if(0!==Le.length){var e=[];if(1===(e=rt.filter((function(e){return Le.includes(e.name)}))).length&&e[0].name.length>200&&(0,j.mv)().toLowerCase().includes("win"))return void Nn(e[0]);e.forEach((function(e){!function(e){var n=(0,j.LL)("".concat(Vn,"-").concat(e.name,"-").concat((new Date).getTime(),"-").concat(Math.random())),i=(0,ln.YO)(8),o=(0,B.LR)(Vn,(0,j.LL)(e.name),e.version_id,e.size,null,i,(function(e){t((0,F.RO)({instanceID:n,progress:e}))}),(function(){t((0,F.oK)(n))}),(function(e){t((0,F.qJ)({instanceID:n,msg:e}))}),(function(){t((0,F.Im)(n))}));(0,ln.EN)(i,o),t((0,F.Mc)({ID:i,bucketName:Vn,done:!1,instanceID:n,percentage:0,prefix:e.name,type:"download",waitingForFile:!0,failed:!1,cancelled:!1,errorMessage:""}))}(e)}))}},label:"Download",disabled:!mt||0===Le.length,icon:(0,P.jsx)(T._8t,{}),tooltip:mt?"Download Selected":(0,N.MK)([N.Ft.S3_GET_OBJECT],"download objects from this bucket")},{action:function(){if(1===Le.length){var e;(e=rt.find((function(e){return Le.includes(e.name)})))&&(Ke(e),Je(!0))}},label:"Share",disabled:1!==Le.length||!hn,icon:(0,P.jsx)(T.aAc,{}),tooltip:hn?"Share Selected File":"Sharing unavailable"},{action:function(){if(1===Le.length){var e;(e=rt.find((function(e){return Le.includes(e.name)})))&&(Ke(e),Me(!0))}},label:"Preview",disabled:1!==Le.length||!vn,icon:(0,P.jsx)(T.P99,{}),tooltip:vn?"Preview Selected File":"Preview unavailable"},{action:function(){ie(!0)},label:"Delete",icon:(0,P.jsx)(Dn,{}),disabled:!ft||0===Le.length||!qn,tooltip:ft?"Delete Selected Files":(0,N.MK)([N.Ft.S3_DELETE_OBJECT],"delete objects in this bucket")}];return(0,P.jsxs)(o.Fragment,{children:[Ve&&Ge&&(0,P.jsx)(Rn,{open:Ve,closeModalAndRefresh:function(){Je(!1),Ke(null)},bucketName:Vn,dataObject:{name:Ge.name,last_modified:"",version_id:Ge.version_id}}),te&&(0,P.jsx)(Bn,{deleteOpen:te,selectedBucket:Vn,selectedObjects:Le,closeDeleteModalAndRefresh:function(e){ie(!1),e&&(t((0,k.y1)("Objects deleted successfully.")),De([]),t((0,F.MU)(!0)))},versioning:be}),Ie&&(0,P.jsx)(zn,{open:Ie,closeModalAndRefresh:function(){Fe(!1)},bucketName:Vn}),ze&&(0,P.jsx)(Mn,{open:ze,bucketName:Vn,object:Ge,onClosePreview:function(){Me(!1),Ke(null)}}),!!yn&&(0,P.jsx)(un,{open:!!yn,closeModal:function(){Nn(null)},currentItem:(null===(e=yn.name.split("/"))||void 0===e?void 0:e.pop())||"",bucketName:Vn,internalPaths:Hn,actualInfo:{name:yn.name,last_modified:"",version_id:yn.version_id,size:yn.size.toString()}}),(0,P.jsxs)(z.Z,{variant:"full",children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.screenTitleContainer,children:(0,P.jsx)(R.Z,{className:n.screenTitle,icon:(0,P.jsx)("span",{className:n.listIcon,children:(0,P.jsx)(T.wNb,{})}),title:(0,P.jsx)("span",{className:n.titleSpacer,children:Vn}),subTitle:(0,P.jsx)(o.Fragment,{children:(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:n.bucketDetails,children:[(0,P.jsxs)("span",{className:n.detailsSpacer,children:["Created:\xa0\xa0\xa0",(0,P.jsx)("strong",{children:(null===W||void 0===W?void 0:W.creation_date)||""})]}),(0,P.jsxs)("span",{className:n.detailsSpacer,children:["Access:\xa0\xa0\xa0",(0,P.jsx)("strong",{children:(null===W||void 0===W?void 0:W.access)||""})]}),W&&(0,P.jsx)(o.Fragment,{children:(0,P.jsxs)("span",{className:n.detailsSpacer,children:[W.size&&(0,P.jsx)(o.Fragment,{children:(0,j.l5)(W.size)}),W.size&&wn&&(0,P.jsxs)(o.Fragment,{children:[" / ",(0,j.l5)(wn.quota)]}),W.size&&W.objects?" - ":"",W.objects&&(0,P.jsxs)(o.Fragment,{children:[W.objects,"\xa0Object",W.objects&&1!==W.objects?"s":""]})]})})]})}),actions:(0,P.jsx)(o.Fragment,{children:(0,P.jsxs)("div",{className:n.actionsSection,children:[(0,P.jsx)(O.Z,{tooltip:"Rewind Bucket",children:(0,P.jsx)(p.zx,{id:"rewind-objects-list",label:"Rewind",icon:(0,P.jsx)(S.Z,{badgeContent:" ",color:"secondary",variant:"dot",invisible:!x,className:n.badgeOverlap,sx:{height:16},children:(0,P.jsx)(Pn,{style:{minWidth:16,minHeight:16,width:16,height:16,marginTop:-3}})}),variant:"regular",onClick:function(){Fe(!0)},disabled:!be||!(0,y.F)(Vn,[N.Ft.S3_GET_OBJECT])})}),(0,P.jsx)(O.Z,{tooltip:"Reload List",children:(0,P.jsx)(p.zx,{id:"refresh-objects-list",label:"Refresh",icon:(0,P.jsx)(Ln,{}),variant:"regular",onClick:function(){t(_?(0,F.Eq)(!0):(0,F.MU)(!0))},disabled:!(0,y.F)(Vn,[N.Ft.S3_LIST_BUCKET])||x})}),(0,P.jsx)("input",{type:"file",multiple:!0,onChange:$n,style:{display:"none"},ref:Jn}),(0,P.jsx)("input",{type:"file",multiple:!0,onChange:$n,style:{display:"none"},ref:Yn}),(0,P.jsx)(K,{bucketName:Vn,uploadPath:ht.join("/"),uploadFileFunction:function(e){Jn&&Jn.current&&Jn.current.click(),e()},uploadFolderFunction:function(e){Yn&&Yn.current&&Yn.current.click(),e()}})]})})})}),(0,P.jsxs)("div",(0,i.Z)((0,i.Z)({id:"object-list-wrapper"},tt({style:(0,i.Z)({},st)})),{},{children:[(0,P.jsx)("input",(0,i.Z)({},it())),(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:n.tableBlock,sx:{border:"#EAEDEE 1px solid",borderTop:0},children:[_?(0,P.jsx)(o.Fragment,{children:null!==M&&(0,P.jsx)(kn,{internalPaths:M,bucketName:Vn})}):(0,P.jsx)(y.s,{scopes:[N.Ft.S3_LIST_BUCKET],resource:Vn,errorProps:{disabled:!0},children:(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:n.fullContainer,children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,className:n.breadcrumbsContainer,children:(0,P.jsx)(D,{bucketName:Vn,internalPaths:ct,existingFiles:$||[],additionalOptions:!be||x?null:(0,P.jsx)("div",{children:(0,P.jsx)(Cn.Z,{name:"deleted_objects",id:"showDeletedObjects",value:"deleted_on",label:"Show deleted objects",onChange:function(){t((0,F.mz)(!I)),xt(!0)},checked:I,overrideLabelClasses:n.labelStyle,className:n.overrideShowDeleted,noTopMargin:!0})}),hidePathButton:!1})}),(0,P.jsx)(g.Z,{itemActions:vt,columns:x?gn:bn,isLoading:A,loadingMessage:de,entityName:"Objects",idField:"name",records:ut,customPaperHeight:"".concat(n.browsePaper," ").concat(Y?"isEmbedded":""," ").concat(L?"actionsPanelOpen":""),selectedItems:Le,onSelect:function(e){var n=e.target,i=n.value,o=n.checked,a=(0,h.Z)(Le);return o?a.push(i):a=a.filter((function(e){return e!==i})),De(a),t((0,F.EE)(null)),a},customEmptyMessage:"This location is empty".concat(x?"":", please try uploading a new file"),sortConfig:{currentSort:nn,currentDirection:Xe,triggerSort:function(e){var n=v()(e,"sortDirection","DESC");tn(e.sortBy),$e(n),t((0,F.MU)(!0))}},onSelectAll:function(){if(t((0,F.EE)(null)),Le.length!==ut.length){var e=ut.map((function(e){return e.name}));De(e)}else De([])},rowStyle:function(e){var n,t=e.index;return null!==(n=ut[t])&&void 0!==n&&n.delete_flag?"deleted":""},parentClassName:n.parentWrapper})]})}),(0,P.jsx)(y.s,{scopes:[N.Ft.S3_LIST_BUCKET],resource:Vn,errorProps:{disabled:!0},children:(0,P.jsxs)(V,{open:L,closePanel:function(){xt(!1)},className:"".concat(_?n.hideListOnSmall:""),children:[Le.length>0&&(0,P.jsx)(ke,{items:bt,title:"Selected Objects:"}),null!==M&&(0,P.jsx)(mn,{internalPaths:M,bucketName:Vn,onClosePanel:xt,versioning:be,locking:Ee})]})})]})]}))]})]})},Vn=t(32291),Jn=t(95792),Yn=t(84669),qn=t(59114),Xn=t(73996),$n=t(49535),Qn=(0,c.Z)((function(e){return(0,r.Z)((0,i.Z)({},(0,u.Bz)(e.spacing(4))))}))((function(){var e=(0,d.TL)(),n=(0,s.s0)(),t=(0,s.UO)(),i=(0,s.TH)(),r=(0,a.v9)((function(e){return e.objectBrowser.versionsMode})),c=(0,a.v9)((function(e){return e.objectBrowser.searchObjects})),u=(0,a.v9)((function(e){return e.objectBrowser.versionedFile})),h=(0,a.v9)((function(e){return e.objectBrowser.searchVersions})),m=(0,a.v9)(On.$4),f=t.bucketName||"",x=i.pathname.split("/browse/"),v=2===x.length?x[1]:"",b=!(null===m||void 0===m||!m.includes("object-browser-only"));(0,o.useEffect)((function(){e((0,F.db)({status:!1}))}),[v,e]);var g=(0,$n.Z)(f,[N.Ft.S3_GET_BUCKET_POLICY,N.Ft.S3_PUT_BUCKET_POLICY,N.Ft.S3_GET_BUCKET_VERSIONING,N.Ft.S3_PUT_BUCKET_VERSIONING,N.Ft.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION,N.Ft.S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION,N.Ft.S3_DELETE_BUCKET,N.Ft.S3_GET_BUCKET_NOTIFICATIONS,N.Ft.S3_PUT_BUCKET_NOTIFICATIONS,N.Ft.S3_GET_REPLICATION_CONFIGURATION,N.Ft.S3_PUT_REPLICATION_CONFIGURATION,N.Ft.S3_GET_LIFECYCLE_CONFIGURATION,N.Ft.S3_PUT_LIFECYCLE_CONFIGURATION,N.Ft.ADMIN_GET_BUCKET_QUOTA,N.Ft.ADMIN_SET_BUCKET_QUOTA,N.Ft.S3_PUT_BUCKET_TAGGING,N.Ft.S3_GET_BUCKET_TAGGING,N.Ft.S3_LIST_BUCKET_VERSIONS,N.Ft.S3_GET_BUCKET_POLICY_STATUS,N.Ft.S3_DELETE_BUCKET_POLICY]),j=(0,P.jsx)(o.Fragment,{children:r?(0,P.jsx)(o.Fragment,{children:(0,P.jsx)(qn.Z,{placeholder:"Start typing to filter versions of ".concat(u),onChange:function(n){e((0,F.Pr)(n))},value:h})}):(0,P.jsx)(y.s,{scopes:[N.Ft.S3_LIST_BUCKET],resource:f,errorProps:{disabled:!0},children:(0,P.jsx)(qn.Z,{placeholder:"Start typing to filter objects in the bucket",onChange:function(n){e((0,F.G4)(n))},value:c})})});return(0,P.jsxs)(o.Fragment,{children:[b?(0,P.jsxs)(l.ZP,{container:!0,sx:{padding:"20px 32px 0"},children:[(0,P.jsx)(l.ZP,{children:(0,P.jsx)(Xn.Z,{marginRight:30,marginTop:10})}),(0,P.jsx)(l.ZP,{item:!0,xs:!0,children:j})]}):(0,P.jsx)(Vn.Z,{label:(0,P.jsx)(Yn.Z,{label:"Buckets",to:N.gA.BUCKETS}),actions:(0,P.jsx)(y.s,{scopes:N.D[N.EI.BUCKET_ADMIN],resource:f,errorProps:{disabled:!0},children:(0,P.jsx)(O.Z,{tooltip:g?"Configure Bucket":"You do not have the required permissions to configure this bucket. Please contact your MinIO administrator to request "+N.EI.BUCKET_ADMIN+" permisions.",children:(0,P.jsx)(p.zx,{id:"configure-bucket-main",color:"primary","aria-label":"Configure Bucket",onClick:function(){n("/buckets/".concat(f,"/admin"))},icon:(0,P.jsx)(Jn.Z,{style:{width:20,height:20,marginTop:-3}}),style:{padding:"0 10px"}})})}),middleComponent:j}),(0,P.jsx)(l.ZP,{children:(0,P.jsx)(Hn,{})})]})}))},34433:function(e,n,t){t.r(n),t.d(n,{default:function(){return k}});var i=t(29439),o=t(1413),a=t(72791),s=t(26181),r=t.n(s),c=t(60364),l=t(75952),d=t(11135),u=t(25787),h=t(78029),m=t.n(h),f=t(61889),p=t(40986),x=t(23814),v=t(81207),b=t(56028),g=t(64163),j=t(30829),Z=t(72426),S=t.n(Z),w=t(21435),C=t(38588),_=t(80184),E=(0,u.Z)((function(e){return(0,d.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},x.YI),x.Hr),{},{labelContainer:{display:"flex",alignItems:"center",marginBottom:15},fieldContainer:(0,o.Z)((0,o.Z)({},x.YI.fieldContainer),{},{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:10,marginTop:11,marginBottom:6}),dateInputContainer:{margin:"0 10px"},durationInputs:{display:"flex",alignItems:"center",justifyContent:"flex-start"},validityIndicator:{display:"flex",alignItems:"center",justifyContent:"flex-start",marginTop:25,marginLeft:10},invalidDurationText:{marginTop:15,display:"flex",color:"red",fontSize:11},reverseInput:{flexFlow:"row-reverse","& > label":{fontWeight:400,marginLeft:15,marginRight:25}},validityText:{fontSize:14,marginTop:15,display:"flex",alignItems:"center",justifyContent:"center","@media (max-width: 900px)":{flexFlow:"column"},"& > .min-icon":{color:"#5E5E5E",width:15,height:15,marginRight:10}},validTill:{fontWeight:"bold",marginLeft:15}}))}))((function(e){var n=e.classes,t=e.id,o=e.initialDate,s=e.label,r=e.maxDays,c=e.entity,l=e.onChange,d=(0,a.useState)(7),u=(0,i.Z)(d,2),h=u[0],m=u[1],p=(0,a.useState)(0),x=(0,i.Z)(p,2),v=x[0],b=x[1],g=(0,a.useState)(0),Z=(0,i.Z)(g,2),E=Z[0],T=Z[1],y=(0,a.useState)(!0),N=(0,i.Z)(y,2),I=N[0],k=N[1],F=(0,a.useState)(S()()),O=(0,i.Z)(F,2),P=O[0],L=O[1];(0,a.useEffect)((function(){L(function(e,n,t,i){return S()(e).add(n,"days").add(t,"hours").add(i,"minutes")}(o,h,v,E))}),[o,h,v,E]),(0,a.useEffect)((function(){I?l(P.format("YYYY-MM-DDTHH:mm:ss"),!0):l("0000-00-00",!1)}),[P,l,I]),(0,a.useEffect)((function(){var e=!0;(h<0||r&&h>r||isNaN(h))&&(e=!1),(v<0||v>23||isNaN(v))&&(e=!1),(E<0||E>59||isNaN(E))&&(e=!1),!r||h!==r||0===v&&0===E||(e=!1),k(e)}),[P,r,l,h,v,E]);var D={style:{textAlign:"center",paddingRight:10,paddingLeft:10,width:25},className:"removeArrows"};return(0,_.jsx)(a.Fragment,{children:(0,_.jsxs)(f.ZP,{container:!0,className:n.fieldContainer,children:[(0,_.jsx)(f.ZP,{item:!0,xs:12,className:n.labelContainer,children:(0,_.jsx)(j.Z,{htmlFor:t,className:n.inputLabel,sx:{marginLeft:"10px"},children:(0,_.jsx)("span",{children:s})})}),(0,_.jsxs)(f.ZP,{item:!0,xs:12,className:n.durationInputs,children:[(0,_.jsx)(f.ZP,{item:!0,className:n.dateInputContainer,children:(0,_.jsx)(w.Z,{id:t,className:n.reverseInput,type:"number",min:"0",max:r?r.toString():"999",label:"Days",name:t,onChange:function(e){m(parseInt(e.target.value))},value:h.toString(),extraInputProps:D,noLabelMinWidth:!0})}),(0,_.jsx)(f.ZP,{item:!0,className:n.dateInputContainer,children:(0,_.jsx)(w.Z,{id:t,className:n.reverseInput,type:"number",min:"0",max:"23",label:"Hours",name:t,onChange:function(e){b(parseInt(e.target.value))},value:v.toString(),extraInputProps:D,noLabelMinWidth:!0})}),(0,_.jsx)(f.ZP,{item:!0,className:n.dateInputContainer,children:(0,_.jsx)(w.Z,{id:t,className:n.reverseInput,type:"number",min:"0",max:"59",label:"Minutes",name:t,onChange:function(e){T(parseInt(e.target.value))},value:E.toString(),extraInputProps:D,noLabelMinWidth:!0})})]}),(0,_.jsx)(f.ZP,{item:!0,xs:12,className:"".concat(n.validityIndicator," ").concat(n.formFieldRow),children:I?(0,_.jsxs)("div",{className:n.validityText,children:[(0,_.jsx)(C.xPt,{}),(0,_.jsxs)("div",{className:n.validityLabel,children:[c," will be available until:"]})," ",(0,_.jsx)("div",{className:n.validTill,children:P.format("MM/DD/YYYY HH:mm:ss")})]}):(0,_.jsx)("div",{className:n.invalidDurationText,children:"Please select a valid duration."})})]})})})),T=t(45248),y=t(87995),N=t(25469),I=a.lazy((function(){return Promise.resolve().then(t.bind(t,79880))})),k=(0,u.Z)((function(e){return(0,d.Z)((0,o.Z)((0,o.Z)({shareLinkInfo:{fontSize:14,fontWeight:400},copyShareLink:{display:"flex","@media (max-width: 900px)":{flexFlow:"column",alignItems:"center",justifyContent:"center"}},copyShareLinkInput:{"& div:first-child":{marginTop:0},"@media (max-width: 900px)":{minWidth:250}},copyShareLinkBtn:{display:"flex",alignItems:"center",justifyContent:"center","@media (max-width: 900px)":{marginTop:10}}},x.ID),x.DF))}))((function(e){var n=e.classes,t=e.open,o=e.closeModalAndRefresh,s=e.bucketName,d=e.dataObject,u=(0,N.TL)(),h=(0,c.v9)(y.N5),x=(0,a.useState)(""),j=(0,i.Z)(x,2),Z=j[0],S=j[1],w=(0,a.useState)(!0),k=(0,i.Z)(w,2),F=k[0],O=k[1],P=(0,a.useState)(!1),L=(0,i.Z)(P,2),D=L[0],B=L[1],R=(0,a.useState)(""),z=(0,i.Z)(R,2),M=z[0],A=z[1],U=(0,a.useState)(!0),G=(0,i.Z)(U,2),K=G[0],W=G[1],H=(0,a.useState)("null"),V=(0,i.Z)(H,2),J=V[0],Y=V[1],q=new Date;return(0,a.useEffect)((function(){if(void 0===d.version_id)return h?(v.Z.invoke("GET","/api/v1/buckets/".concat(s,"/objects?prefix=").concat((0,T.LL)(d.name)).concat(h?"&with_versions=true":"")).then((function(e){var n=r()(e,"objects",[]).find((function(e){return e.is_latest}));Y(n?n.version_id:"null")})).catch((function(e){u((0,y.zb)(e))})),void O(!1)):(Y("null"),void O(!1));Y(d.version_id||"null"),O(!1)}),[s,d,h,u]),(0,a.useEffect)((function(){if(K&&!F){B(!0),S("");var e=new Date("".concat(M)),n=new Date,t=Math.ceil((e.getTime()-n.getTime())/1e3);t>0&&v.Z.invoke("GET","/api/v1/buckets/".concat(s,"/objects/share?prefix=").concat((0,T.LL)(d.name),"&version_id=").concat(J).concat(""!==M?"&expires=".concat(t,"s"):"")).then((function(e){S(e),B(!1)})).catch((function(e){u((0,y.zb)(e)),S(""),B(!1)}))}}),[d,M,s,K,S,u,h,F,J]),(0,_.jsx)(a.Fragment,{children:(0,_.jsxs)(b.Z,{title:"Share File",titleIcon:(0,_.jsx)(C.aAc,{style:{fill:"#4CCB92"}}),modalOpen:t,onClose:function(){o()},children:[F&&(0,_.jsx)(f.ZP,{item:!0,xs:12,children:(0,_.jsx)(p.Z,{})}),!F&&(0,_.jsxs)(a.Fragment,{children:[(0,_.jsxs)(f.ZP,{item:!0,xs:12,className:n.shareLinkInfo,children:["This is a temporary URL with integrated access credentials for sharing objects valid for up to 7 days.",(0,_.jsx)("br",{}),(0,_.jsx)("br",{}),"The temporary URL expires after the configured time limit."]}),(0,_.jsx)("br",{}),(0,_.jsx)(f.ZP,{item:!0,xs:12,className:n.dateContainer,children:(0,_.jsx)(E,{initialDate:q,id:"date",label:"Active for",maxDays:7,onChange:function(e,n){W(n),n?A(e):(A(""),S(""))},entity:"Link"})}),(0,_.jsx)(f.ZP,{item:!0,xs:12,className:"".concat(n.copyShareLink," ").concat(n.formFieldRow," "),children:(0,_.jsx)(f.ZP,{item:!0,xs:12,className:n.copyShareLinkInput,children:(0,_.jsx)(g.Z,{content:Z,actionButton:(0,_.jsx)(m(),{text:Z,children:(0,_.jsx)(l.zx,{id:"copy-path",variant:"regular",onClick:function(){u((0,y.MK)("Share URL Copied to clipboard"))},disabled:""===Z||D,style:{marginRight:"5px",width:"28px",height:"28px",padding:"0px"},icon:(0,_.jsx)(I,{})})})})})})]})]})})}))},78562:function(e,n,t){t.r(n),t.d(n,{default:function(){return v}});var i=t(72791),o=t(56028),a=t(4942),s=t(29439),r=t(11135),c=t(25787),l=t(61889),d=t(40986),u=t(47922),h=t(45248),m=t(28182),f=t(80184),p=(0,c.Z)((function(){return(0,r.Z)({iframeContainer:{border:"0px",flex:"1 1 auto",width:"100%",height:250,backgroundColor:"transparent",borderRadius:5,"&.image":{height:500},"&.text":{height:700},"&.audio":{height:150},"&.video":{height:350},"&.fullHeight":{height:"calc(100vh - 185px)"}},iframeBase:{backgroundColor:"#fff"},iframeHidden:{display:"none"}})}))((function(e){var n=e.bucketName,t=e.object,o=e.isFullscreen,r=void 0!==o&&o,c=e.classes,p=(0,i.useState)(!0),x=(0,s.Z)(p,2),v=x[0],b=x[1],g="";if(t){var j=(0,h.LL)(t.name),Z=document.baseURI.replace(window.location.origin,"");g="".concat(window.location.origin).concat(Z,"api/v1/buckets/").concat(n,"/objects/download?preview=true&prefix=").concat(j),t.version_id&&(g=g.concat("&version_id=".concat(t.version_id)))}var S=(0,u.Bg)((null===t||void 0===t?void 0:t.name)||""),w=function(){b(!1)};return(0,f.jsxs)(i.Fragment,{children:[v&&(0,f.jsx)(l.ZP,{item:!0,xs:12,children:(0,f.jsx)(d.Z,{})}),(0,f.jsxs)("div",{style:{textAlign:"center"},children:["video"===S&&(0,f.jsx)("video",{style:{width:"auto",height:"auto",maxWidth:"calc(100vw - 100px)",maxHeight:"calc(100vh - 200px)"},autoPlay:!0,controls:!0,muted:!1,playsInline:!0,onPlay:w,children:(0,f.jsx)("source",{src:g,type:"video/mp4"})}),"audio"===S&&(0,f.jsx)("audio",{style:{width:"100%",height:"auto"},autoPlay:!0,controls:!0,muted:!1,playsInline:!0,onPlay:w,children:(0,f.jsx)("source",{src:g,type:"audio/mpeg"})}),"image"===S&&(0,f.jsx)("img",{style:{width:"auto",height:"auto",maxWidth:"100vw",maxHeight:"100vh"},src:g,alt:"preview",onLoad:w}),"video"!==S&&"audio"!==S&&"image"!==S&&(0,f.jsx)("div",{className:(0,m.Z)(c.iframeBase,(0,a.Z)({},c.iframeHidden,v)),children:(0,f.jsx)("iframe",{src:g,title:"File Preview",allowTransparency:!0,className:"".concat(c.iframeContainer," ").concat(r?"fullHeight":S),onLoad:w,children:"File couldn't be loaded. Please try Download instead"})})]})]})})),x=t(38588),v=function(e){var n=e.open,t=e.bucketName,a=e.object,s=e.onClosePreview;return(0,f.jsx)(i.Fragment,{children:(0,f.jsx)(o.Z,{modalOpen:n,title:"Preview - ".concat(null===a||void 0===a?void 0:a.name),onClose:s,wideLimit:!1,titleIcon:(0,f.jsx)(x.$30,{}),children:(0,f.jsx)(p,{bucketName:t,object:a})})})}},47922:function(e,n,t){t.d(n,{Bg:function(){return s},LR:function(){return a},P_:function(){return r},kh:function(){return c}});var i=t(45248),o=t(76610),a=function(e,n,t,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,r=arguments.length>5?arguments[5]:void 0,c=arguments.length>6?arguments[6]:void 0,l=arguments.length>7?arguments[7]:void 0,d=arguments.length>8?arguments[8]:void 0,u=arguments.length>9?arguments[9]:void 0,h=document.createElement("a");document.body.appendChild(h);var m=document.baseURI.replace(window.location.origin,""),f="".concat(window.location.origin).concat(m,"api/v1/buckets/").concat(e,"/objects/download?prefix=").concat(n).concat(null!==s&&""!==s.trim()?"&override_file_name=".concat((0,i.LL)(s||"")):"");t&&(f=f.concat("&version_id=".concat(t)));var p=new XMLHttpRequest;return p.open("GET",f,!0),p.addEventListener("progress",(function(e){var n=Math.round(e.loaded/a*100);c&&c(n)}),!1),p.responseType="blob",p.onreadystatechange=function(){if(4===p.readyState)if(200===p.status){var e=p.getResponseHeader("Content-Disposition"),n="download";if(e)n=decodeURIComponent(e).split('"')[1];l&&l(),(0,o.GM)(r);var t=document.createElement("a");t.href=window.URL.createObjectURL(p.response),t.download=n,document.body.appendChild(t),t.click(),document.body.removeChild(t)}else{if("application/json"===p.getResponseHeader("Content-Type")){var i=JSON.parse(p.response);if(i.detailedMessage)return void d(i.detailedMessage)}d("Unexpected response status code (".concat(p.status,")."))}},p.onerror=function(){d&&d("A network error occurred.")},p.onabort=function(){u&&u()},p},s=function(e){var n=e.split(".").pop();return n?(n=n.toLowerCase(),["jif","jfif","apng","avif","svg","webp","bmp","ico","jpg","jpe","jpeg","gif","png","heic"].includes(n)?"image":["pdf","txt","json"].includes(n)?"text":["wav","mp3","alac","aiff","dsd","pcm"].includes(n)?"audio":["mp4","avi","mpg","webm","mov","flv","mkv","wmv","avchd","mpeg-4"].includes(n)?"video":"none"):"none"},r=function(e){switch(e){case"name":return function(e,n){return e.name.localeCompare(n.name)};case"last_modified":return function(e,n){return new Date(e.last_modified).getTime()-new Date(n.last_modified).getTime()};case"size":return function(e,n){return(e.size||-1)-(n.size||-1)}}},c=function(e,n,t){if(0===t.length)return null;var i=t.filter((function(n){return n.resource.endsWith(":".concat(e))||n.resource.includes(":".concat(e,"/"))}));if(0===i.length)return null;var o=[],a=n.split("/");return i.forEach((function(e){var n=(e.resource.split(":").pop()||"").split("/");n.length>1&&n.every((function(e,n){return"*"!==e&&((!a[n]||a[n]===e)&&(a[n]||o.push({name:"".concat(e,"/"),size:0,last_modified:new Date,version_id:""}),!0))})),"StringEquals"!==e.conditionOperator&&"StringLike"!==e.conditionOperator||e.prefixes.forEach((function(e){if(""!==e){var n=e.split("/"),t=[];n.every((function(e,n){return!e.includes("*")&&""!==e&&(e!==a[n]?(o.push({name:"".concat(t.join("/")).concat(t.length>0?"/":"").concat(e,"/"),size:0,last_modified:new Date,version_id:""}),!1):(""!==e&&t.push(e),!0))}))}}))})),o}},73996:function(e,n,t){t(72791);var i=t(38588),o=t(60364),a=t(80184);n.Z=function(e){var n=e.marginRight,s=e.marginTop,r=t(47045),c=(0,o.v9)((function(e){return e.system.overrideStyles})),l=r((null===c||void 0===c?void 0:c.backgroundColor)||"#fff").getBrightness()<=128;return(0,a.jsx)(i.BHR,{style:{width:105,marginRight:n,marginTop:s,fill:l?"#fff":"#081C42"}})}},75578:function(e,n,t){var i=t(1413),o=t(72791),a=t(80184);n.Z=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function t(t){return(0,a.jsx)(o.Suspense,{fallback:n,children:(0,a.jsx)(e,(0,i.Z)({},t))})}return t}},64163:function(e,n,t){var i=t(1413),o=t(72791),a=t(61889),s=t(11135),r=t(25787),c=t(23814),l=t(80184);n.Z=(0,r.Z)((function(e){return(0,s.Z)((0,i.Z)({},c.xx))}))((function(e){var n=e.classes,t=e.label,i=void 0===t?"":t,s=e.content,r=e.multiLine,c=void 0!==r&&r,d=e.actionButton;return(0,l.jsx)(o.Fragment,{children:(0,l.jsxs)(a.ZP,{className:n.prefinedContainer,children:[""!==i&&(0,l.jsx)(a.ZP,{item:!0,xs:12,className:n.predefinedTitle,children:i}),(0,l.jsxs)(a.ZP,{item:!0,xs:12,className:"".concat(n.predefinedList," ").concat(d?n.includesActionButton:""),children:[(0,l.jsx)(a.ZP,{item:!0,xs:12,className:c?n.innerContentMultiline:n.innerContent,children:s}),d&&(0,l.jsx)("div",{className:n.overlayShareOption,children:d})]})]})})}))},56028:function(e,n,t){var i=t(29439),o=t(1413),a=t(72791),s=t(60364),r=t(13400),c=t(55646),l=t(5574),d=t(65661),u=t(39157),h=t(11135),m=t(25787),f=t(23814),p=t(25469),x=t(29823),v=t(28057),b=t(87995),g=t(80184);n.Z=(0,m.Z)((function(e){return(0,h.Z)((0,o.Z)((0,o.Z)({},f.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},f.sN))}))((function(e){var n=e.onClose,t=e.modalOpen,h=e.title,m=e.children,f=e.classes,j=e.wideLimit,Z=void 0===j||j,S=e.noContentPadding,w=e.titleIcon,C=void 0===w?null:w,_=(0,p.TL)(),E=(0,a.useState)(!1),T=(0,i.Z)(E,2),y=T[0],N=T[1],I=(0,s.v9)((function(e){return e.system.modalSnackBar}));(0,a.useEffect)((function(){_((0,b.MK)(""))}),[_]),(0,a.useEffect)((function(){if(I){if(""===I.message)return void N(!1);"error"!==I.type&&N(!0)}}),[I]);var k=Z?{classes:{paper:f.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},F="";return I&&(F=I.detailedErrorMsg,(""===I.detailedErrorMsg||I.detailedErrorMsg.length<5)&&(F=I.message)),(0,g.jsxs)(l.Z,(0,o.Z)((0,o.Z)({open:t,classes:f},k),{},{scroll:"paper",onClose:function(e,t){"backdropClick"!==t&&n()},className:f.root,children:[(0,g.jsxs)(d.Z,{className:f.title,children:[(0,g.jsxs)("div",{className:f.titleText,children:[C," ",h]}),(0,g.jsx)("div",{className:f.closeContainer,children:(0,g.jsx)(r.Z,{"aria-label":"close",id:"close",className:f.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,g.jsx)(x.Z,{})})})]}),(0,g.jsx)(v.Z,{isModal:!0}),(0,g.jsx)(c.Z,{open:y,className:f.snackBarModal,onClose:function(){N(!1),_((0,b.MK)(""))},message:F,ContentProps:{className:"".concat(f.snackBar," ").concat(I&&"error"===I.type?f.errorSnackBar:"")},autoHideDuration:I&&"error"===I.type?1e4:5e3}),(0,g.jsx)(u.Z,{className:S?"":f.content,children:m})]}))}))},59114:function(e,n,t){var i=t(4942),o=t(1413),a=(t(72791),t(63466)),s=t(74900),r=t(27391),c=t(25787),l=t(11135),d=t(23814),u=t(80184);n.Z=(0,c.Z)((function(e){return(0,l.Z)({searchField:(0,o.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,o=e.classes,c=e.onChange,l=e.adornmentPosition,d=void 0===l?"end":l,h=e.overrideClass,m=e.value,f=(0,i.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(a.Z,{position:d,className:o.adornment,children:(0,u.jsx)(s.Z,{})}));return(0,u.jsx)(r.Z,{placeholder:t,className:h||o.searchField,id:"search-resource",label:"",InputProps:f,onChange:function(e){c(e.target.value)},variant:"standard",value:m})}))},27454:function(e,n,t){var i=t(1413),o=t(72791),a=t(20068),s=t(80184);n.Z=function(e){var n=e.tooltip,t=e.children,r=e.errorProps,c=void 0===r?null:r;return(0,s.jsx)(a.Z,{title:n,children:(0,s.jsx)("span",{children:c?(0,o.cloneElement)(t,(0,i.Z)({},c)):t})})}},73669:function(e,n,t){var i=t(29439),o=t(72791),a=t(64554),s=t(75952),r=t(21435),c=t(38588),l=t(80184);n.Z=function(e){var n=e.value,t=(0,o.useState)(!1),d=(0,i.Z)(t,2),u=d[0],h=d[1];return(0,l.jsxs)(a.Z,{sx:{display:"flex",alignItems:"center",flexFlow:{sm:"row",xs:"column"}},children:[(0,l.jsx)(r.Z,{id:"inspect-dec-key",name:"inspect-dec-key",placeholder:"",label:"",type:u?"text":"password",onChange:function(){},value:n,overlayIcon:(0,l.jsx)(c.TIy,{}),extraInputProps:{readOnly:!0},overlayAction:function(){return navigator.clipboard.writeText(n)}}),(0,l.jsx)(s.zx,{id:"show-hide-key",style:{marginLeft:"10px"},variant:"callAction",onClick:function(){return h(!u)},label:"Show/Hide"})]})}}}]); +//# sourceMappingURL=1379.d515229f.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1379.d515229f.chunk.js.map b/portal-ui/build/static/js/1379.d515229f.chunk.js.map new file mode 100644 index 000000000..09390eb45 --- /dev/null +++ b/portal-ui/build/static/js/1379.d515229f.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1379.d515229f.chunk.js","mappings":"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","sources":["screens/Console/ObjectBrowser/BrowserBreadcrumbs.tsx","screens/Console/Buckets/ListBuckets/UploadFilesButton.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DetailsListPanel.tsx","screens/Console/Common/FormComponents/DateSelector/utils.ts","screens/Console/Common/FormComponents/DateSelector/DateSelector.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetRetention.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteObject.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetLegalHoldModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ObjectMetaData.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectActionButton.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ActionsListSection.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/IconWithLabel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/utils.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/TagsModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/InspectObject.tsx","screens/Console/ObjectBrowser/RenameLongFilename.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjectsHelpers.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/RestoreFileVersion.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SpecificVersionPill.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/FileVersionItem.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteNonCurrent.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/DeleteSelectedVersions.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjects.tsx","screens/Console/Buckets/BucketDetails/BrowserHandler.tsx","screens/Console/Common/FormComponents/DaysSelector/DaysSelector.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ShareFile.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileContent.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileModal.tsx","screens/Console/Buckets/ListBuckets/Objects/utils.ts","screens/Console/Common/Components/AutoColorIcon.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Common/TooltipWrapper/TooltipWrapper.tsx","screens/Console/Tools/KeyRevealer.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport Grid from \"@mui/material/Grid\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport { IconButton } from \"@mui/material\";\nimport { objectBrowserCommon } from \"../Common/FormComponents/common/styleLibrary\";\nimport { encodeURLString } from \"../../../common/utils\";\nimport { BackCaretIcon, CopyIcon, NewPathIcon } from \"../../../icons\";\nimport { hasPermission } from \"../../../common/SecureComponent\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../common/SecureComponent/permissions\";\nimport { BucketObjectItem } from \"../Buckets/ListBuckets/Objects/ListObjects/types\";\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport { setSnackBarMessage } from \"../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { setVersionsModeEnabled } from \"./objectBrowserSlice\";\nimport { Button } from \"mds\";\nimport TooltipWrapper from \"../Common/TooltipWrapper/TooltipWrapper\";\n\nconst CreatePathModal = withSuspense(\n React.lazy(\n () => import(\"../Buckets/ListBuckets/Objects/ListObjects/CreatePathModal\")\n )\n);\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...objectBrowserCommon,\n slashSpacingStyle: {\n margin: \"0 5px\",\n },\n });\n\ninterface IObjectBrowser {\n classes: any;\n bucketName: string;\n internalPaths: string;\n hidePathButton?: boolean;\n existingFiles: BucketObjectItem[];\n additionalOptions?: React.ReactNode;\n}\n\nconst BrowserBreadcrumbs = ({\n classes,\n bucketName,\n internalPaths,\n existingFiles,\n hidePathButton,\n additionalOptions,\n}: IObjectBrowser) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const rewindEnabled = useSelector(\n (state: AppState) => state.objectBrowser.rewind.rewindEnabled\n );\n const versionsMode = useSelector(\n (state: AppState) => state.objectBrowser.versionsMode\n );\n const versionedFile = useSelector(\n (state: AppState) => state.objectBrowser.versionedFile\n );\n\n const [createFolderOpen, setCreateFolderOpen] = useState(false);\n\n const canCreatePath = hasPermission(bucketName, [IAM_SCOPES.S3_PUT_OBJECT]);\n\n let paths = internalPaths;\n\n if (internalPaths !== \"\") {\n paths = `/${internalPaths}`;\n }\n\n const splitPaths = paths.split(\"/\").filter((path) => path !== \"\");\n const lastBreadcrumbsIndex = splitPaths.length - 1;\n\n let breadcrumbsMap = splitPaths.map((objectItem: string, index: number) => {\n const subSplit = `${splitPaths.slice(0, index + 1).join(\"/\")}/`;\n const route = `/buckets/${bucketName}/browse/${\n subSplit ? `${encodeURLString(subSplit)}` : ``\n }`;\n\n if (index === lastBreadcrumbsIndex && objectItem === versionedFile) {\n return null;\n }\n\n return (\n \n /\n {index === lastBreadcrumbsIndex ? (\n {objectItem}\n ) : (\n {\n dispatch(\n setVersionsModeEnabled({ status: false, objectName: \"\" })\n );\n }}\n >\n {objectItem}\n \n )}\n \n );\n });\n\n let versionsItem: any[] = [];\n\n if (versionsMode) {\n versionsItem = [\n \n \n /\n {versionedFile} - Versions\n \n ,\n ];\n }\n\n const listBreadcrumbs: any[] = [\n \n {\n dispatch(setVersionsModeEnabled({ status: false, objectName: \"\" }));\n }}\n >\n {bucketName}\n \n ,\n ...breadcrumbsMap,\n ...versionsItem,\n ];\n\n const closeAddFolderModal = () => {\n setCreateFolderOpen(false);\n };\n\n const goBackFunction = () => {\n if (versionsMode) {\n dispatch(setVersionsModeEnabled({ status: false, objectName: \"\" }));\n } else {\n navigate(-1);\n }\n };\n\n return (\n \n
\n {createFolderOpen && (\n \n )}\n \n \n \n \n
\n {listBreadcrumbs}\n
\n \n \n }\n variant={\"regular\"}\n onClick={() => {\n dispatch(setSnackBarMessage(\"Path copied to clipboard\"));\n }}\n style={{\n width: \"28px\",\n height: \"28px\",\n color: \"#969FA8\",\n border: \"#969FA8 1px solid\",\n marginRight: 5,\n }}\n />\n \n
{additionalOptions}
\n
\n {!hidePathButton && (\n \n {\n setCreateFolderOpen(true);\n }}\n disabled={rewindEnabled || !canCreatePath}\n icon={}\n style={{\n whiteSpace: \"nowrap\",\n }}\n variant={\"regular\"}\n label={\"Create new path\"}\n />\n \n )}\n
\n
{additionalOptions}
\n
\n );\n};\n\nexport default withStyles(styles)(BrowserBreadcrumbs);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Menu, MenuItem } from \"@mui/material\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport ListItemText from \"@mui/material/ListItemText\";\nimport ListItemIcon from \"@mui/material/ListItemIcon\";\nimport { UploadFolderIcon, UploadIcon } from \"../../../../icons\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../../common/SecureComponent/permissions\";\nimport { hasPermission } from \"../../../../common/SecureComponent\";\nimport { Button } from \"mds\";\nimport TooltipWrapper from \"../../Common/TooltipWrapper/TooltipWrapper\";\n\ninterface IUploadFilesButton {\n uploadPath: string;\n bucketName: string;\n forceDisable?: boolean;\n uploadFileFunction: (closeFunction: () => void) => void;\n uploadFolderFunction: (closeFunction: () => void) => void;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n listUploadIcons: {\n height: 20,\n \"& .min-icon\": {\n width: 18,\n fill: \"rgba(0,0,0,0.87)\",\n },\n },\n });\n\nconst UploadFilesButton = ({\n uploadPath,\n bucketName,\n forceDisable = false,\n uploadFileFunction,\n uploadFolderFunction,\n classes,\n}: IUploadFilesButton) => {\n const [anchorEl, setAnchorEl] = React.useState(null);\n const openUploadMenu = Boolean(anchorEl);\n const handleClick = (event: React.MouseEvent) => {\n setAnchorEl(event.currentTarget);\n };\n const handleCloseUpload = () => {\n setAnchorEl(null);\n };\n\n const uploadObjectAllowed = hasPermission(uploadPath, [\n IAM_SCOPES.S3_PUT_OBJECT,\n ]);\n const uploadFolderAllowed = hasPermission(\n bucketName,\n [IAM_SCOPES.S3_PUT_OBJECT],\n false,\n true\n );\n\n const uploadEnabled: boolean = uploadObjectAllowed || uploadFolderAllowed;\n\n return (\n \n \n }\n variant={\"callAction\"}\n disabled={forceDisable || !uploadEnabled}\n />\n \n {\n handleCloseUpload();\n }}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"center\",\n }}\n transformOrigin={{\n vertical: \"top\",\n horizontal: \"center\",\n }}\n >\n {\n uploadFileFunction(handleCloseUpload);\n }}\n disabled={!uploadObjectAllowed || forceDisable}\n >\n \n \n \n Upload File\n \n {\n uploadFolderFunction(handleCloseUpload);\n }}\n disabled={!uploadFolderAllowed || forceDisable}\n >\n \n \n \n Upload Folder\n \n \n \n );\n};\n\nexport default withStyles(styles)(UploadFilesButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { Grid, IconButton } from \"@mui/material\";\nimport { ClosePanelIcon } from \"../../../../../../icons\";\nimport makeStyles from \"@mui/styles/makeStyles\";\n\ninterface IDetailsListPanel {\n open: boolean;\n className?: string;\n closePanel: () => void;\n children: React.ReactNode;\n}\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n detailsList: {\n borderColor: \"#EAEDEE\",\n borderWidth: 0,\n borderStyle: \"solid\",\n borderRadius: 3,\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n width: 0,\n transitionDuration: \"0.3s\",\n overflowX: \"hidden\",\n overflowY: \"auto\",\n position: \"relative\",\n opacity: 0,\n marginLeft: -1,\n \"&.open\": {\n width: 300,\n minWidth: 300,\n borderLeftWidth: 1,\n opacity: 1,\n },\n \"@media (max-width: 799px)\": {\n \"&.open\": {\n width: \"100%\",\n minWidth: \"100%\",\n borderLeftWidth: 0,\n },\n },\n },\n closePanel: {\n position: \"absolute\",\n right: 0,\n top: 8,\n \"& .min-icon\": {\n width: 14,\n },\n },\n })\n);\n\nconst DetailsListPanel = ({\n open,\n closePanel,\n className = \"\",\n children,\n}: IDetailsListPanel) => {\n const classes = useStyles();\n\n return (\n \n \n \n \n {children}\n \n );\n};\n\nexport default DetailsListPanel;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const months = [\n { value: \"01\", label: \"January\" },\n { value: \"02\", label: \"February\" },\n { value: \"03\", label: \"March\" },\n { value: \"04\", label: \"April\" },\n { value: \"05\", label: \"May\" },\n { value: \"06\", label: \"June\" },\n { value: \"07\", label: \"July\" },\n { value: \"08\", label: \"August\" },\n { value: \"09\", label: \"September\" },\n { value: \"10\", label: \"October\" },\n { value: \"11\", label: \"November\" },\n { value: \"12\", label: \"December\" },\n];\n\nexport const days = Array.from(Array(31), (_, num) => num + 1);\n\nconst currentYear = new Date().getFullYear();\n\nexport const years = Array.from(\n Array(25),\n (_, numYear) => numYear + currentYear\n);\n\nexport const validDate = (year: string, month: string, day: string): any[] => {\n const currentDate = Date.parse(`${year}-${month}-${day}`);\n\n if (isNaN(currentDate)) {\n return [false, \"\"];\n }\n\n const parsedMonth = parseInt(month);\n const parsedDay = parseInt(day);\n\n const monthForString = parsedMonth < 10 ? `0${parsedMonth}` : parsedMonth;\n const dayForString = parsedDay < 10 ? `0${parsedDay}` : parsedDay;\n\n const parsedDate = new Date(currentDate).toISOString().split(\"T\")[0];\n const dateString = `${year}-${monthForString}-${dayForString}`;\n\n return [parsedDate === dateString, dateString];\n};\n\n// twoDigitDate gets a two digit string number used for months or days\n// returns \"NaN\" if number is NaN\nexport const twoDigitDate = (num: number): string => {\n return num < 10 ? `0${num}` : `${num}`;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useState,\n} from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport { SelectChangeEvent } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport InputLabel from \"@mui/material/InputLabel\";\nimport Tooltip from \"@mui/material/Tooltip\";\nimport FormControl from \"@mui/material/FormControl\";\nimport Select from \"@mui/material/Select\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport InputBase from \"@mui/material/InputBase\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport FormSwitchWrapper from \"../FormSwitchWrapper/FormSwitchWrapper\";\nimport { days, months, validDate, years } from \"./utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n dateInput: {\n \"&:not(:last-child)\": {\n marginRight: 22,\n },\n },\n ...fieldBasic,\n ...tooltipHelper,\n labelContainer: {\n flex: 1,\n },\n fieldContainer: {\n ...fieldBasic.fieldContainer,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n paddingBottom: 10,\n marginTop: 11,\n marginBottom: 6,\n },\n fieldContainerBorder: {\n borderBottom: \"#9c9c9c 1px solid\",\n marginBottom: 20,\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n \"& .MuiSelect-icon\": {\n color: \"#000\",\n \"&.Mui-disabled\": {\n color: \"#9c9c9c\",\n },\n },\n },\n input: {\n borderBottom: 0,\n fontSize: 12,\n },\n })\n)(InputBase);\n\ninterface IDateSelectorProps {\n classes: any;\n id: string;\n label: string;\n disableOptions?: boolean;\n addSwitch?: boolean;\n tooltip?: string;\n borderBottom?: boolean;\n value?: string;\n onDateChange: (date: string, isValid: boolean) => any;\n}\n\nconst DateSelector = forwardRef(\n (\n {\n classes,\n id,\n label,\n disableOptions = false,\n addSwitch = false,\n tooltip = \"\",\n borderBottom = false,\n onDateChange,\n value = \"\",\n }: IDateSelectorProps,\n ref: any\n ) => {\n useImperativeHandle(ref, () => ({ resetDate }));\n\n const [dateEnabled, setDateEnabled] = useState(false);\n const [month, setMonth] = useState(\"\");\n const [day, setDay] = useState(\"\");\n const [year, setYear] = useState(\"\");\n\n useEffect(() => {\n // verify if there is a current value\n // assume is in the format \"2021-12-30\"\n if (value !== \"\") {\n const valueSplit = value.split(\"-\");\n setYear(valueSplit[0]);\n setMonth(valueSplit[1]);\n // Turn to single digit to be displayed on dropdown buttons\n setDay(`${parseInt(valueSplit[2])}`);\n }\n }, [value]);\n\n useEffect(() => {\n const [isValid, dateString] = validDate(year, month, day);\n onDateChange(dateString, isValid);\n }, [month, day, year, onDateChange]);\n\n const resetDate = () => {\n setMonth(\"\");\n setDay(\"\");\n setYear(\"\");\n };\n\n const isDateDisabled = () => {\n if (disableOptions) {\n return disableOptions;\n } else if (addSwitch) {\n return !dateEnabled;\n } else {\n return false;\n }\n };\n\n const onMonthChange = (e: SelectChangeEvent) => {\n setMonth(e.target.value as string);\n };\n\n const onDayChange = (e: SelectChangeEvent) => {\n setDay(e.target.value as string);\n };\n\n const onYearChange = (e: SelectChangeEvent) => {\n setYear(e.target.value as string);\n };\n\n return (\n \n
\n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n {addSwitch && (\n {\n setDateEnabled(e.target.checked);\n if (!e.target.checked) {\n onDateChange(\"\", true);\n }\n }}\n switchOnly\n />\n )}\n
\n
\n
\n \n }\n >\n \n {\"\"}\n \n {months.map((option) => (\n \n {option.label}\n \n ))}\n \n \n \n }\n >\n \n {\"\"}\n \n {days.map((dayNumber) => (\n \n {dayNumber}\n \n ))}\n \n \n \n }\n >\n \n {\"\"}\n \n {years.map((year) => (\n \n {year}\n \n ))}\n \n \n
\n \n );\n }\n);\n\nexport default withStyles(styles)(DateSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useRef, useState } from \"react\";\n\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button } from \"mds\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { IFileInfo } from \"./types\";\n\nimport { twoDigitDate } from \"../../../../Common/FormComponents/DateSelector/utils\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport RadioGroupSelector from \"../../../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport DateSelector from \"../../../../Common/FormComponents/DateSelector/DateSelector\";\nimport api from \"../../../../../../common/api\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport { setModalErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n dateSelector: {\n \"& div\": {\n borderBottom: 0,\n marginBottom: 0,\n\n \"& div:nth-child(2)\": {\n border: \"1px solid #EAEAEA\",\n paddingLeft: 5,\n\n \"& div\": {\n border: 0,\n },\n },\n },\n },\n });\n\ninterface ISetRetentionProps {\n classes: any;\n open: boolean;\n closeModalAndRefresh: (updateInfo: boolean) => void;\n objectName: string;\n bucketName: string;\n objectInfo: IFileInfo;\n}\n\ninterface IRefObject {\n resetDate: () => void;\n}\n\nconst SetRetention = ({\n classes,\n open,\n closeModalAndRefresh,\n objectName,\n objectInfo,\n bucketName,\n}: ISetRetentionProps) => {\n const dispatch = useAppDispatch();\n const [statusEnabled, setStatusEnabled] = useState(true);\n const [type, setType] = useState(\"\");\n const [date, setDate] = useState(\"\");\n const [isDateValid, setIsDateValid] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const [alreadyConfigured, setAlreadyConfigured] = useState(false);\n\n useEffect(() => {\n if (objectInfo.retention_mode) {\n setType(objectInfo.retention_mode.toLowerCase());\n setAlreadyConfigured(true);\n }\n // get retention_until_date if defined\n if (objectInfo.retention_until_date) {\n const valueDate = new Date(objectInfo.retention_until_date);\n if (valueDate.toString() !== \"Invalid Date\") {\n const year = valueDate.getFullYear();\n const month = twoDigitDate(valueDate.getMonth() + 1);\n const day = valueDate.getDate();\n if (!isNaN(day) && month !== \"NaN\" && !isNaN(year)) {\n setDate(`${year}-${month}-${day}`);\n }\n }\n setAlreadyConfigured(true);\n }\n }, [objectInfo]);\n\n const dateElement = useRef(null);\n\n const dateFieldDisabled = () => {\n return !(statusEnabled && (type === \"governance\" || type === \"compliance\"));\n };\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n };\n\n const resetForm = () => {\n setStatusEnabled(false);\n setType(\"\");\n if (dateElement.current) {\n dateElement.current.resetDate();\n }\n };\n\n const addRetention = (\n selectedObject: string,\n versionId: string | null,\n expireDate: string\n ) => {\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/retention?prefix=${encodeURLString(\n selectedObject\n )}&version_id=${versionId}`,\n {\n expires: expireDate,\n mode: type,\n }\n )\n .then((res: any) => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setModalErrorSnackMessage(error));\n setIsSaving(false);\n });\n };\n\n const disableRetention = (\n selectedObject: string,\n versionId: string | null\n ) => {\n api\n .invoke(\n \"DELETE\",\n `/api/v1/buckets/${bucketName}/objects/retention?prefix=${encodeURLString(\n selectedObject\n )}&version_id=${versionId}`\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setModalErrorSnackMessage(error));\n setIsSaving(false);\n });\n };\n\n const saveNewRetentionPolicy = () => {\n setIsSaving(true);\n const selectedObject = objectInfo.name;\n const versionId = objectInfo.version_id;\n\n const expireDate =\n !statusEnabled && type === \"governance\" ? \"\" : `${date}T23:59:59Z`;\n\n if (!statusEnabled && type === \"governance\") {\n disableRetention(selectedObject, versionId);\n\n return;\n }\n\n addRetention(selectedObject, versionId, expireDate);\n };\n\n const showSwitcher =\n alreadyConfigured && (type === \"governance\" || type === \"\");\n\n return (\n {\n resetForm();\n closeModalAndRefresh(false);\n }}\n >\n
\n Selected Object: {objectName}\n
\n ) => {\n onSubmit(e);\n }}\n >\n {showSwitcher && (\n \n ) => {\n setStatusEnabled(!statusEnabled);\n }}\n label={\"Status\"}\n indicatorLabels={[\"Enabled\", \"Disabled\"]}\n />\n \n )}\n \n {\n setType(e.target.value);\n }}\n selectorOptions={[\n { label: \"Governance\", value: \"governance\" },\n { label: \"Compliance\", value: \"compliance\" },\n ]}\n />\n \n \n {\n setIsDateValid(isValid);\n if (isValid) {\n setDate(date);\n }\n }}\n />\n \n \n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(SetRetention);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { DialogContentText } from \"@mui/material\";\n\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { decodeURLString } from \"../../../../../../common/utils\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport useApi from \"../../../../Common/Hooks/useApi\";\nimport { ConfirmDeleteIcon } from \"../../../../../../icons\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\n\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\ninterface IDeleteObjectProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedObject: string;\n selectedBucket: string;\n\n versioning: boolean;\n selectedVersion?: string;\n}\n\nconst DeleteObject = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedObject,\n\n versioning,\n selectedVersion = \"\",\n}: IDeleteObjectProps) => {\n const dispatch = useAppDispatch();\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) =>\n dispatch(setErrorSnackMessage(err));\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n const [deleteVersions, setDeleteVersions] = useState(false);\n\n if (!selectedObject) {\n return null;\n }\n const onConfirmDelete = () => {\n const decodedSelectedObject = decodeURLString(selectedObject);\n const recursive = decodedSelectedObject.endsWith(\"/\");\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/buckets/${selectedBucket}/objects?path=${selectedObject}${\n selectedVersion !== \"\"\n ? `&version_id=${selectedVersion}`\n : `&recursive=${recursive}&all_versions=${deleteVersions}`\n }`\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete:
\n {decodeURLString(selectedObject)}{\" \"}\n {selectedVersion !== \"\" ? (\n \n
\n
\n Version ID:\n
\n {selectedVersion}\n
\n ) : (\n \"\"\n )}\n ?
\n
\n {versioning && selectedVersion === \"\" && (\n {\n setDeleteVersions(!deleteVersions);\n }}\n description=\"\"\n />\n )}\n
\n }\n />\n );\n};\n\nexport default DeleteObject;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button } from \"mds\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nimport { IFileInfo } from \"./types\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport api from \"../../../../../../common/api\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\n\nimport { setModalErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n });\n\ninterface ISetRetentionProps {\n classes: any;\n open: boolean;\n closeModalAndRefresh: (reload: boolean) => void;\n objectName: string;\n bucketName: string;\n actualInfo: IFileInfo;\n}\n\nconst SetLegalHoldModal = ({\n classes,\n open,\n closeModalAndRefresh,\n objectName,\n bucketName,\n actualInfo,\n}: ISetRetentionProps) => {\n const dispatch = useAppDispatch();\n const [legalHoldEnabled, setLegalHoldEnabled] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const versionId = actualInfo.version_id;\n\n useEffect(() => {\n const status = get(actualInfo, \"legal_hold_status\", \"OFF\");\n setLegalHoldEnabled(status === \"ON\");\n }, [actualInfo]);\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n setIsSaving(true);\n\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/legalhold?prefix=${encodeURLString(\n objectName\n )}&version_id=${versionId}`,\n { status: legalHoldEnabled ? \"enabled\" : \"disabled\" }\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setModalErrorSnackMessage(error));\n setIsSaving(false);\n });\n };\n\n const resetForm = () => {\n setLegalHoldEnabled(false);\n };\n\n return (\n {\n resetForm();\n closeModalAndRefresh(false);\n }}\n >\n \n Object: {bucketName}\n \n\n ) => {\n onSubmit(e);\n }}\n >\n \n ) => {\n setLegalHoldEnabled(!legalHoldEnabled);\n }}\n label={\"Legal Hold Status\"}\n indicatorLabels={[\"Enabled\", \"Disabled\"]}\n tooltip={\n \"To enable this feature you need to enable versioning on the bucket before creation\"\n }\n />\n \n \n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(SetLegalHoldModal);\n","import React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport useApi from \"../../../../Common/Hooks/useApi\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { MetadataResponse } from \"./types\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, Table, TableBody, TableCell, TableRow } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n detailsPanel,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { withStyles } from \"@mui/styles\";\n\ninterface IObjectMetadata {\n bucketName: string;\n internalPaths: string;\n classes?: any;\n actualInfo: any;\n linear?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n propertiesIcon: {\n marginLeft: 5,\n \"& .min-icon\": {\n height: 12,\n },\n },\n\n capitalizeFirst: {\n textTransform: \"capitalize\",\n \"& .min-icon\": {\n width: 16,\n height: 16,\n },\n },\n titleItem: {\n width: \"35%\",\n },\n ...spacingUtils,\n ...detailsPanel,\n });\n\nconst ObjectMetaData = ({\n bucketName,\n internalPaths,\n classes,\n actualInfo,\n linear = false,\n}: IObjectMetadata) => {\n const [metaData, setMetaData] = useState({});\n\n const onMetaDataSuccess = (res: MetadataResponse) => {\n let metadata = get(res, \"objectMetadata\", {});\n\n setMetaData(metadata);\n };\n const onMetaDataError = (err: ErrorResponseHandler) => false;\n\n const [, invokeMetaDataApi] = useApi(onMetaDataSuccess, onMetaDataError);\n\n const metaKeys = Object.keys(metaData);\n const loadMetaData = useCallback(() => {\n invokeMetaDataApi(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects/metadata?prefix=${internalPaths}`\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [bucketName, internalPaths, actualInfo]);\n\n useEffect(() => {\n if (actualInfo) {\n loadMetaData();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [actualInfo, loadMetaData]);\n\n if (linear) {\n return (\n \n {metaKeys.map((element: string, index: number) => {\n const renderItem = Array.isArray(metaData[element])\n ? metaData[element].map(decodeURIComponent).join(\", \")\n : decodeURIComponent(metaData[element]);\n\n return (\n \n {element}\n
\n {renderItem}\n \n );\n })}\n
\n );\n }\n\n return (\n \n \n \n Object Metadata\n \n \n\n \n \n \n {metaKeys.map((element: string, index: number) => {\n const renderItem = Array.isArray(metaData[element])\n ? metaData[element].map(decodeURIComponent).join(\", \")\n : decodeURIComponent(metaData[element]);\n\n return (\n \n \n {element}\n \n {renderItem}\n \n );\n })}\n \n
\n
\n \n );\n};\n\nexport default withStyles(styles)(ObjectMetaData);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Button } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport clsx from \"clsx\";\n\ntype ObjectActionButtonProps = {\n disabled?: boolean;\n onClick: () => void | any;\n icon: React.ReactNode;\n label: string;\n [x: string]: any;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: \"0 15px\",\n height: 22,\n margin: 0,\n color: \"#5E5E5E\",\n fontWeight: \"normal\",\n fontSize: 14,\n whiteSpace: \"nowrap\",\n width: \"100%\",\n justifyContent: \"flex-start\",\n \"&:hover\": {\n backgroundColor: \"transparent\",\n color: \"#000\",\n },\n \"& .min-icon\": {\n width: 11,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n });\n\n// TODO: Create an mds version of this.\nconst ObjectActionButton = ({\n disabled,\n onClick,\n icon,\n label,\n classes,\n ...restProps\n}: ObjectActionButtonProps) => {\n return (\n \n {label}\n \n );\n};\n\nexport default withStyles(styles)(ObjectActionButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport ObjectActionButton from \"./ObjectActionButton\";\nimport { withStyles } from \"@mui/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { detailsPanel } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport TooltipWrapper from \"../../../../Common/TooltipWrapper/TooltipWrapper\";\n\nconst styles = () =>\n createStyles({\n ...detailsPanel,\n });\n\nexport interface MultiSelectionItem {\n action: () => void;\n label: string;\n disabled: boolean;\n icon: React.ReactNode;\n tooltip: string;\n}\n\ninterface IActionsListSectionProps {\n items: MultiSelectionItem[];\n title: string | React.ReactNode;\n classes: any;\n}\n\nconst ActionsListSection = ({\n items,\n classes,\n title,\n}: IActionsListSectionProps) => {\n return (\n \n
{title}
\n
    \n
  • Actions:
  • \n {items.map((actionItem, index) => {\n return (\n
  • \n \n \n \n
  • \n );\n })}\n
\n
\n );\n};\n\nexport default withStyles(styles)(ActionsListSection);\n","import React from \"react\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ninterface IIconWithLabel {\n classes: any;\n icon: JSX.Element;\n strings: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n fileName: {\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n width: 16,\n height: 16,\n marginRight: 4,\n minWidth: 16,\n minHeight: 16,\n },\n },\n fileNameText: {\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n },\n });\n\nconst IconWithLabel = ({ classes, icon, strings }: IIconWithLabel) => {\n return (\n
\n {icon}\n \n {strings[strings.length - 1]}\n \n
\n );\n};\n\nexport default withStyles(styles)(IconWithLabel);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\n\nimport ObjectBrowserIcon from \"../../../../../../icons/ObjectBrowserIcon\";\nimport ObjectBrowserFolderIcon from \"../../../../../../icons/ObjectBrowserFolderIcon\";\nimport IconWithLabel from \"./IconWithLabel\";\n\nconst FileBookIcon = React.lazy(\n () => import(\"../../../../../../icons/FileBookIcon\")\n);\nconst FileCodeIcon = React.lazy(\n () => import(\"../../../../../../icons/FileCodeIcon\")\n);\nconst FileConfigIcon = React.lazy(\n () => import(\"../../../../../../icons/FileConfigIcon\")\n);\nconst FileDbIcon = React.lazy(\n () => import(\"../../../../../../icons/FileDbIcon\")\n);\nconst FileFontIcon = React.lazy(\n () => import(\"../../../../../../icons/FileFontIcon\")\n);\nconst FileImageIcon = React.lazy(\n () => import(\"../../../../../../icons/FileImageIcon\")\n);\nconst FileLockIcon = React.lazy(\n () => import(\"../../../../../../icons/FileLockIcon\")\n);\nconst FileMissingIcon = React.lazy(\n () => import(\"../../../../../../icons/FileMissingIcon\")\n);\nconst FileMusicIcon = React.lazy(\n () => import(\"../../../../../../icons/FileMusicIcon\")\n);\nconst FilePdfIcon = React.lazy(\n () => import(\"../../../../../../icons/FilePdfIcon\")\n);\nconst FilePptIcon = React.lazy(\n () => import(\"../../../../../../icons/FilePptIcon\")\n);\nconst FileTxtIcon = React.lazy(\n () => import(\"../../../../../../icons/FileTxtIcon\")\n);\nconst FileVideoIcon = React.lazy(\n () => import(\"../../../../../../icons/FileVideoIcon\")\n);\nconst FileXlsIcon = React.lazy(\n () => import(\"../../../../../../icons/FileXlsIcon\")\n);\nconst FileZipIcon = React.lazy(\n () => import(\"../../../../../../icons/FileZipIcon\")\n);\n\ninterface IExtToIcon {\n icon: any;\n extensions: string[];\n}\n\nexport const extensionToIcon: IExtToIcon[] = [\n {\n icon: ,\n extensions: [\"mp4\", \"mov\", \"avi\", \"mpeg\", \"mpg\"],\n },\n {\n icon: ,\n extensions: [\"mp3\", \"m4a\", \"aac\"],\n },\n {\n icon: ,\n extensions: [\"pdf\"],\n },\n {\n icon: ,\n extensions: [\"ppt\", \"pptx\"],\n },\n {\n icon: ,\n extensions: [\"xls\", \"xlsx\"],\n },\n {\n icon: ,\n extensions: [\"cer\", \"crt\", \"pem\"],\n },\n {\n icon: ,\n extensions: [\"html\", \"xml\", \"css\", \"py\", \"go\", \"php\", \"cpp\", \"h\", \"java\"],\n },\n {\n icon: ,\n extensions: [\"cfg\", \"yaml\"],\n },\n {\n icon: ,\n extensions: [\"sql\"],\n },\n {\n icon: ,\n extensions: [\"ttf\", \"otf\"],\n },\n {\n icon: ,\n extensions: [\"txt\"],\n },\n {\n icon: ,\n extensions: [\"zip\", \"rar\", \"tar\", \"gz\"],\n },\n {\n icon: ,\n extensions: [\"epub\", \"mobi\", \"azw\", \"azw3\"],\n },\n {\n icon: ,\n extensions: [\"jpeg\", \"jpg\", \"gif\", \"tiff\", \"png\", \"heic\", \"dng\"],\n },\n];\n\nexport const displayFileIconName = (\n element: string,\n returnOnlyIcon: boolean = false\n) => {\n let elementString = element;\n let icon = ;\n // Element is a folder\n if (element.endsWith(\"/\")) {\n icon = ;\n elementString = element.slice(0, -1);\n }\n\n const lowercaseElement = element.toLowerCase();\n for (const etc of extensionToIcon) {\n for (const ext of etc.extensions) {\n if (lowercaseElement.endsWith(`.${ext}`)) {\n icon = etc.icon;\n }\n }\n }\n\n if (!element.endsWith(\"/\") && element.indexOf(\".\") < 0) {\n icon = ;\n }\n\n const splitItem = elementString.split(\"/\");\n\n if (returnOnlyIcon) {\n return icon;\n }\n\n return ;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { useSelector } from \"react-redux\";\nimport { Box, Grid } from \"@mui/material\";\nimport { Button } from \"mds\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../../../../common/api\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport {\n AddNewTagIcon,\n DisabledIcon,\n EditTagIcon,\n} from \"../../../../../../icons\";\nimport { IFileInfo } from \"./types\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { SecureComponent } from \"../../../../../../common/SecureComponent\";\nimport Chip from \"@mui/material/Chip\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport {\n selDistSet,\n setModalErrorSnackMessage,\n} from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\ninterface ITagModal {\n modalOpen: boolean;\n bucketName: string;\n actualInfo: IFileInfo;\n onCloseAndUpdate: (refresh: boolean) => void;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n newTileHeader: {\n fontSize: 18,\n fontWeight: \"bold\",\n color: \"#000\",\n margin: \"35px 0\",\n paddingBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& > svg\": {\n marginRight: 10,\n },\n },\n tagsForLabel: {\n fontSize: 16,\n margin: \"20px 0 30px\",\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n width: \"100%\",\n },\n currentTagsContainer: {\n fontSize: 14,\n fontWeight: \"normal\",\n },\n noTagsForObject: {\n color: \"#858585\",\n },\n deleteTag: {\n color: \"#C83B51\",\n marginLeft: 5,\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n });\n\nconst AddTagModal = ({\n modalOpen,\n onCloseAndUpdate,\n bucketName,\n actualInfo,\n classes,\n}: ITagModal) => {\n const dispatch = useAppDispatch();\n const distributedSetup = useSelector(selDistSet);\n const [newKey, setNewKey] = useState(\"\");\n const [newLabel, setNewLabel] = useState(\"\");\n const [isSending, setIsSending] = useState(false);\n const [deleteEnabled, setDeleteEnabled] = useState(false);\n const [deleteKey, setDeleteKey] = useState(\"\");\n const [deleteLabel, setDeleteLabel] = useState(\"\");\n\n const selectedObject = encodeURLString(actualInfo.name);\n const currentTags = actualInfo.tags;\n const currTagKeys = Object.keys(currentTags || {});\n\n const allPathData = actualInfo.name.split(\"/\");\n const currentItem = allPathData.pop() || \"\";\n\n const resetForm = () => {\n setNewLabel(\"\");\n setNewKey(\"\");\n };\n\n const addTagProcess = () => {\n setIsSending(true);\n const newTag: any = {};\n\n newTag[newKey] = newLabel;\n const newTagList = { ...currentTags, ...newTag };\n\n const verID = distributedSetup ? actualInfo.version_id : \"null\";\n\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/tags?prefix=${selectedObject}&version_id=${verID}`,\n { tags: newTagList }\n )\n .then((res: any) => {\n onCloseAndUpdate(true);\n setIsSending(false);\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setModalErrorSnackMessage(error));\n setIsSending(false);\n });\n };\n\n const deleteTagProcess = () => {\n const cleanObject: any = { ...currentTags };\n delete cleanObject[deleteKey];\n\n const verID = distributedSetup ? actualInfo.version_id : \"null\";\n\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/tags?prefix=${selectedObject}&version_id=${verID}`,\n { tags: cleanObject }\n )\n .then((res: any) => {\n onCloseAndUpdate(true);\n setIsSending(false);\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setModalErrorSnackMessage(error));\n setIsSending(false);\n });\n };\n\n const onDeleteTag = (tagKey: string, tag: string) => {\n setDeleteKey(tagKey);\n setDeleteLabel(tag);\n setDeleteEnabled(true);\n };\n\n const cancelDelete = () => {\n setDeleteKey(\"\");\n setDeleteLabel(\"\");\n setDeleteEnabled(false);\n };\n\n const tagsFor = (plural: boolean) => (\n
\n Tag{plural ? \"s\" : \"\"} for: {currentItem}\n
\n );\n\n return (\n \n Delete Tag\n ) : (\n `Edit Tags`\n )\n }\n onClose={() => {\n onCloseAndUpdate(true);\n }}\n titleIcon={\n deleteEnabled ? (\n \n ) : (\n \n )\n }\n >\n {deleteEnabled ? (\n \n \n {tagsFor(false)}\n Are you sure you want to delete the tag{\" \"}\n \n {deleteKey} : {deleteLabel}\n {\" \"}\n ?\n \n \n \n \n \n \n ) : (\n \n \n \n {tagsFor(true)}\n
\n Current Tags:\n
\n {currTagKeys.length === 0 ? (\n \n There are no tags for this object\n \n ) : (\n \n )}\n \n {currTagKeys.map((tagKey: string, index: number) => {\n const tag = get(currentTags, `${tagKey}`, \"\");\n if (tag !== \"\") {\n return (\n \n }\n onDelete={() => {\n onDeleteTag(tagKey, tag);\n }}\n />\n \n );\n }\n return null;\n })}\n \n
\n \n \n \n \n \n Add New Tag\n \n \n {\n setNewKey(e.target.value);\n }}\n />\n \n \n {\n setNewLabel(e.target.value);\n }}\n />\n \n \n \n \n \n \n \n
\n )}\n \n
\n );\n};\n\nexport default withStyles(styles)(AddTagModal);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { Button } from \"mds\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n decodeURLString,\n deleteCookie,\n encodeURLString,\n getCookieValue,\n performDownload,\n} from \"../../../../../../common/utils\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport { InspectMenuIcon } from \"../../../../../../icons/SidebarMenus\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { PasswordKeyIcon } from \"../../../../../../icons\";\nimport { Box, DialogContentText } from \"@mui/material\";\nimport KeyRevealer from \"../../../../Tools/KeyRevealer\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n });\n\ninterface IInspectObjectProps {\n classes: any;\n closeInspectModalAndRefresh: (refresh: boolean) => void;\n inspectOpen: boolean;\n inspectPath: string;\n volumeName: string;\n}\n\nconst InspectObject = ({\n classes,\n closeInspectModalAndRefresh,\n inspectOpen,\n inspectPath,\n volumeName,\n}: IInspectObjectProps) => {\n const dispatch = useAppDispatch();\n const onClose = () => closeInspectModalAndRefresh(false);\n const [isEncrypt, setIsEncrypt] = useState(true);\n const [decryptionKey, setDecryptionKey] = useState(\"\");\n const [insFileName, setInsFileName] = useState(\"\");\n\n if (!inspectPath) {\n return null;\n }\n const makeRequest = async (url: string) => {\n return await fetch(url, { method: \"GET\" });\n };\n\n const performInspect = async () => {\n const file = encodeURLString(inspectPath + \"/xl.meta\");\n const volume = encodeURLString(volumeName);\n\n const urlOfInspectApi = `/api/v1/admin/inspect?volume=${volume}&file=${file}&encrypt=${isEncrypt}`;\n\n makeRequest(urlOfInspectApi)\n .then(async (res) => {\n if (!res.ok) {\n const resErr: any = await res.json();\n\n dispatch(\n setErrorSnackMessage({\n errorMessage: resErr.message,\n detailedError: resErr.code,\n })\n );\n }\n const blob: Blob = await res.blob();\n\n //@ts-ignore\n const filename = res.headers.get(\"content-disposition\").split('\"')[1];\n const decryptKey = getCookieValue(filename) || \"\";\n\n performDownload(blob, filename);\n setInsFileName(filename);\n if (decryptKey === \"\") {\n onClose();\n return;\n }\n setDecryptionKey(decryptKey);\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(err));\n });\n };\n\n const onCloseDecKeyModal = () => {\n deleteCookie(insFileName);\n onClose();\n setDecryptionKey(\"\");\n };\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n };\n\n return (\n \n {!decryptionKey && (\n }\n title={`Inspect Object`}\n onClose={onClose}\n >\n ) => {\n onSubmit(e);\n }}\n >\n Would you like to encrypt {decodeURLString(inspectPath)}?{\" \"}\n
\n {\n setIsEncrypt(!isEncrypt);\n }}\n description=\"\"\n />\n \n \n \n \n \n )}\n {decryptionKey ? (\n }\n >\n \n \n This will be displayed only once. It cannot be recovered.\n
\n Use secure medium to share this key.\n
\n \n \n \n
\n \n ) : null}\n
\n );\n};\n\nexport default withStyles(styles)(InspectObject);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { Button } from \"mds\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport { EditIcon } from \"../../../icons\";\nimport {\n containerForHeader,\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { IFileInfo } from \"../Buckets/ListBuckets/Objects/ObjectDetails/types\";\nimport { encodeURLString } from \"../../../common/utils\";\nimport { download } from \"../Buckets/ListBuckets/Objects/utils\";\nimport {\n cancelObjectInList,\n completeObject,\n failObject,\n setNewObject,\n updateProgress,\n} from \"./objectBrowserSlice\";\nimport { makeid, storeCallForObjectWithID } from \"./transferManager\";\nimport { useAppDispatch } from \"../../../store\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\n\ninterface IRenameLongFilename {\n open: boolean;\n bucketName: string;\n internalPaths: string;\n currentItem: string;\n actualInfo: IFileInfo;\n closeModal: () => void;\n}\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...modalStyleUtils,\n ...formFieldStyles,\n ...spacingUtils,\n ...containerForHeader(theme.spacing(4)),\n })\n);\n\nconst RenameLongFileName = ({\n open,\n closeModal,\n currentItem,\n internalPaths,\n actualInfo,\n bucketName,\n}: IRenameLongFilename) => {\n const classes = useStyles();\n const dispatch = useAppDispatch();\n\n const [newFileName, setNewFileName] = useState(currentItem);\n const [acceptLongName, setAcceptLongName] = useState(false);\n\n const doDownload = (e: React.FormEvent) => {\n e.preventDefault();\n\n const identityDownload = encodeURLString(\n `${bucketName}-${\n actualInfo.name\n }-${new Date().getTime()}-${Math.random()}`\n );\n\n const ID = makeid(8);\n\n const downloadCall = download(\n bucketName,\n internalPaths,\n actualInfo.version_id,\n parseInt(actualInfo.size || \"0\"),\n newFileName,\n ID,\n (progress) => {\n dispatch(\n updateProgress({\n instanceID: identityDownload,\n progress: progress,\n })\n );\n },\n () => {\n dispatch(completeObject(identityDownload));\n },\n (msg: string) => {\n dispatch(failObject({ instanceID: identityDownload, msg }));\n },\n () => {\n dispatch(cancelObjectInList(identityDownload));\n }\n );\n\n storeCallForObjectWithID(ID, downloadCall);\n dispatch(\n setNewObject({\n ID,\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: newFileName,\n type: \"download\",\n waitingForFile: true,\n failed: false,\n cancelled: false,\n errorMessage: \"\",\n })\n );\n closeModal();\n };\n\n return (\n }\n >\n
\n The file you are trying to download has a long name.\n
\n This can cause issues on Windows Systems by trimming the file name after\n download.\n
\n
We recommend to rename the file download\n
\n ) => {\n doDownload(e);\n }}\n >\n \n \n \n ) => {\n setNewFileName(event.target.value);\n }}\n label=\"\"\n type={\"text\"}\n value={newFileName}\n error={\n newFileName.length > 200 && !acceptLongName\n ? \"Filename should be less than 200 characters long.\"\n : \"\"\n }\n />\n \n \n ) => {\n setAcceptLongName(event.target.checked);\n if (event.target.checked) {\n setNewFileName(currentItem);\n }\n }}\n label={\"Use Original Name\"}\n />\n \n \n \n 200 && !acceptLongName}\n label={\"Download File\"}\n />\n \n \n \n \n );\n};\n\nexport default RenameLongFileName;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { Box } from \"@mui/material\";\nimport { withStyles } from \"@mui/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n actionsTray,\n buttonsStyles,\n detailsPanel,\n spacingUtils,\n textStyleUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { IFileInfo } from \"../ObjectDetails/types\";\nimport { download, extensionPreview } from \"../utils\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\n\nimport {\n decodeURLString,\n encodeURLString,\n getClientOS,\n niceBytes,\n niceBytesInt,\n niceDaysInt,\n} from \"../../../../../../common/utils\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../../../../common/SecureComponent/permissions\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport {\n DeleteIcon,\n DownloadIcon,\n LegalHoldIcon,\n MetadataIcon,\n ObjectInfoIcon,\n PreviewIcon,\n RetentionIcon,\n ShareIcon,\n TagsIcon,\n VersionsIcon,\n} from \"../../../../../../icons\";\nimport { InspectMenuIcon } from \"../../../../../../icons/SidebarMenus\";\nimport api from \"../../../../../../common/api\";\nimport ShareFile from \"../ObjectDetails/ShareFile\";\nimport SetRetention from \"../ObjectDetails/SetRetention\";\nimport DeleteObject from \"../ListObjects/DeleteObject\";\nimport SetLegalHoldModal from \"../ObjectDetails/SetLegalHoldModal\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../../../common/SecureComponent\";\nimport PreviewFileModal from \"../Preview/PreviewFileModal\";\nimport ObjectMetaData from \"../ObjectDetails/ObjectMetaData\";\nimport ActionsListSection from \"./ActionsListSection\";\nimport { displayFileIconName } from \"./utils\";\nimport TagsModal from \"../ObjectDetails/TagsModal\";\nimport InspectObject from \"./InspectObject\";\nimport Loader from \"../../../../Common/Loader/Loader\";\nimport { selDistSet } from \"../../../../../../systemSlice\";\nimport {\n makeid,\n storeCallForObjectWithID,\n} from \"../../../../ObjectBrowser/transferManager\";\nimport {\n cancelObjectInList,\n completeObject,\n failObject,\n setLoadingObjectInfo,\n setLoadingVersions,\n setNewObject,\n setSelectedVersion,\n setVersionsModeEnabled,\n updateProgress,\n} from \"../../../../ObjectBrowser/objectBrowserSlice\";\nimport RenameLongFileName from \"../../../../ObjectBrowser/RenameLongFilename\";\nimport TooltipWrapper from \"../../../../Common/TooltipWrapper/TooltipWrapper\";\n\nconst styles = () =>\n createStyles({\n ObjectDetailsTitle: {\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n width: 26,\n height: 26,\n minWidth: 26,\n minHeight: 26,\n },\n },\n objectNameContainer: {\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n alignItems: \"center\",\n marginLeft: 10,\n },\n headerForSection: {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n paddingBottom: 15,\n borderBottom: \"#E2E2E2 2px solid\",\n fontWeight: \"bold\",\n fontSize: 18,\n color: \"#000\",\n margin: \"20px 22px\",\n },\n capitalizeFirst: {\n textTransform: \"capitalize\",\n },\n ...buttonsStyles,\n ...actionsTray,\n ...spacingUtils,\n ...textStyleUtils,\n ...detailsPanel,\n });\n\nconst emptyFile: IFileInfo = {\n is_latest: true,\n last_modified: \"\",\n legal_hold_status: \"\",\n name: \"\",\n retention_mode: \"\",\n retention_until_date: \"\",\n size: \"0\",\n tags: {},\n version_id: null,\n};\n\ninterface IObjectDetailPanelProps {\n classes: any;\n internalPaths: string;\n bucketName: string;\n versioning: boolean;\n locking: boolean;\n onClosePanel: (hardRefresh: boolean) => void;\n}\n\nconst ObjectDetailPanel = ({\n classes,\n internalPaths,\n bucketName,\n versioning,\n locking,\n onClosePanel,\n}: IObjectDetailPanelProps) => {\n const dispatch = useAppDispatch();\n\n const distributedSetup = useSelector(selDistSet);\n const versionsMode = useSelector(\n (state: AppState) => state.objectBrowser.versionsMode\n );\n const selectedVersion = useSelector(\n (state: AppState) => state.objectBrowser.selectedVersion\n );\n const loadingObjectInfo = useSelector(\n (state: AppState) => state.objectBrowser.loadingObjectInfo\n );\n\n const [shareFileModalOpen, setShareFileModalOpen] = useState(false);\n const [retentionModalOpen, setRetentionModalOpen] = useState(false);\n const [tagModalOpen, setTagModalOpen] = useState(false);\n const [legalholdOpen, setLegalholdOpen] = useState(false);\n const [inspectModalOpen, setInspectModalOpen] = useState(false);\n const [actualInfo, setActualInfo] = useState(null);\n const [allInfoElements, setAllInfoElements] = useState([]);\n const [objectToShare, setObjectToShare] = useState(null);\n const [versions, setVersions] = useState([]);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [previewOpen, setPreviewOpen] = useState(false);\n const [totalVersionsSize, setTotalVersionsSize] = useState(0);\n const [longFileOpen, setLongFileOpen] = useState(false);\n\n const internalPathsDecoded = decodeURLString(internalPaths) || \"\";\n const allPathData = internalPathsDecoded.split(\"/\");\n const currentItem = allPathData.pop() || \"\";\n\n // calculate object name to display\n let objectNameArray: string[] = [];\n if (actualInfo) {\n objectNameArray = actualInfo.name.split(\"/\");\n }\n\n useEffect(() => {\n if (distributedSetup && allInfoElements && allInfoElements.length >= 1) {\n let infoElement =\n allInfoElements.find((el: IFileInfo) => el.is_latest) || emptyFile;\n\n if (selectedVersion !== \"\") {\n infoElement =\n allInfoElements.find(\n (el: IFileInfo) => el.version_id === selectedVersion\n ) || emptyFile;\n }\n\n setActualInfo(infoElement);\n }\n }, [selectedVersion, distributedSetup, allInfoElements]);\n\n useEffect(() => {\n if (loadingObjectInfo && internalPaths !== \"\") {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects?prefix=${internalPaths}${\n distributedSetup ? \"&with_versions=true\" : \"\"\n }`\n )\n .then((res: IFileInfo[]) => {\n const result = get(res, \"objects\", []);\n if (distributedSetup) {\n setAllInfoElements(result);\n setVersions(result);\n const tVersionSize = result.reduce(\n (acc: number, currValue: IFileInfo) => {\n if (currValue?.size) {\n return acc + currValue.size;\n }\n return acc;\n },\n 0\n );\n\n setTotalVersionsSize(tVersionSize);\n } else {\n setActualInfo(result[0]);\n setVersions([]);\n }\n\n dispatch(setLoadingObjectInfo(false));\n })\n .catch((error: ErrorResponseHandler) => {\n console.error(\"Error loading object details\", error);\n dispatch(setLoadingObjectInfo(false));\n });\n }\n }, [\n loadingObjectInfo,\n bucketName,\n internalPaths,\n dispatch,\n distributedSetup,\n selectedVersion,\n ]);\n\n let tagKeys: string[] = [];\n\n if (actualInfo && actualInfo.tags) {\n tagKeys = Object.keys(actualInfo.tags);\n }\n\n const openRetentionModal = () => {\n setRetentionModalOpen(true);\n };\n\n const closeRetentionModal = (updateInfo: boolean) => {\n setRetentionModalOpen(false);\n if (updateInfo) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const shareObject = () => {\n setShareFileModalOpen(true);\n };\n\n const closeShareModal = () => {\n setObjectToShare(null);\n setShareFileModalOpen(false);\n };\n\n const closeFileOpen = () => {\n setLongFileOpen(false);\n };\n\n const downloadObject = (object: IFileInfo) => {\n const identityDownload = encodeURLString(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`\n );\n\n if (\n object.name.length > 200 &&\n getClientOS().toLowerCase().includes(\"win\")\n ) {\n setLongFileOpen(true);\n return;\n }\n\n const ID = makeid(8);\n\n const downloadCall = download(\n bucketName,\n internalPaths,\n object.version_id,\n parseInt(object.size || \"0\"),\n null,\n ID,\n (progress) => {\n dispatch(\n updateProgress({\n instanceID: identityDownload,\n progress: progress,\n })\n );\n },\n () => {\n dispatch(completeObject(identityDownload));\n },\n (msg: string) => {\n dispatch(failObject({ instanceID: identityDownload, msg }));\n },\n () => {\n dispatch(cancelObjectInList(identityDownload));\n }\n );\n\n storeCallForObjectWithID(ID, downloadCall);\n dispatch(\n setNewObject({\n ID,\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name,\n type: \"download\",\n waitingForFile: true,\n failed: false,\n cancelled: false,\n errorMessage: \"\",\n })\n );\n };\n\n const closeDeleteModal = (closeAndReload: boolean) => {\n setDeleteOpen(false);\n\n if (closeAndReload && selectedVersion === \"\") {\n onClosePanel(true);\n } else {\n dispatch(setLoadingVersions(true));\n dispatch(setSelectedVersion(\"\"));\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeAddTagModal = (reloadObjectData: boolean) => {\n setTagModalOpen(false);\n if (reloadObjectData) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeInspectModal = (reloadObjectData: boolean) => {\n setInspectModalOpen(false);\n if (reloadObjectData) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeLegalholdModal = (reload: boolean) => {\n setLegalholdOpen(false);\n if (reload) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const loaderForContainer = (\n
\n \n
\n );\n\n if (!actualInfo) {\n if (loadingObjectInfo) {\n return loaderForContainer;\n }\n\n return null;\n }\n\n const objectName =\n objectNameArray.length > 0\n ? objectNameArray[objectNameArray.length - 1]\n : actualInfo.name;\n\n const objectResources = [\n bucketName,\n currentItem,\n [bucketName, actualInfo.name].join(\"/\"),\n ];\n const canSetLegalHold = hasPermission(bucketName, [\n IAM_SCOPES.S3_PUT_OBJECT_LEGAL_HOLD,\n ]);\n const canSetTags = hasPermission(objectResources, [\n IAM_SCOPES.S3_PUT_OBJECT_TAGGING,\n ]);\n\n const canChangeRetention = hasPermission(\n objectResources,\n [IAM_SCOPES.S3_GET_OBJECT_RETENTION, IAM_SCOPES.S3_PUT_OBJECT_RETENTION],\n true\n );\n const canInspect = hasPermission(objectResources, [\n IAM_SCOPES.ADMIN_INSPECT_DATA,\n ]);\n const canChangeVersioning = hasPermission(objectResources, [\n IAM_SCOPES.S3_GET_BUCKET_VERSIONING,\n IAM_SCOPES.S3_PUT_BUCKET_VERSIONING,\n IAM_SCOPES.S3_GET_OBJECT_VERSION,\n ]);\n const canGetObject = hasPermission(objectResources, [\n IAM_SCOPES.S3_GET_OBJECT,\n ]);\n const canDelete = hasPermission(\n [bucketName, currentItem, [bucketName, actualInfo.name].join(\"/\")],\n [IAM_SCOPES.S3_DELETE_OBJECT]\n );\n\n const multiActionButtons = [\n {\n action: () => {\n downloadObject(actualInfo);\n },\n label: \"Download\",\n disabled: !!actualInfo.is_delete_marker || !canGetObject,\n icon: ,\n tooltip: canGetObject\n ? \"Download this Object\"\n : permissionTooltipHelper(\n [IAM_SCOPES.S3_GET_OBJECT],\n \"download this object\"\n ),\n },\n {\n action: () => {\n shareObject();\n },\n label: \"Share\",\n disabled: !!actualInfo.is_delete_marker || !canGetObject,\n icon: ,\n tooltip: canGetObject\n ? \"Share this File\"\n : permissionTooltipHelper(\n [IAM_SCOPES.S3_GET_OBJECT],\n \"share this object\"\n ),\n },\n {\n action: () => {\n setPreviewOpen(true);\n },\n label: \"Preview\",\n disabled:\n !!actualInfo.is_delete_marker ||\n extensionPreview(currentItem) === \"none\" ||\n !canGetObject,\n icon: ,\n tooltip: canGetObject\n ? \"Preview this File\"\n : permissionTooltipHelper(\n [IAM_SCOPES.S3_GET_OBJECT],\n \"preview this object\"\n ),\n },\n {\n action: () => {\n setLegalholdOpen(true);\n },\n label: \"Legal Hold\",\n disabled:\n !locking ||\n !distributedSetup ||\n !!actualInfo.is_delete_marker ||\n !canSetLegalHold ||\n selectedVersion !== \"\",\n icon: ,\n tooltip: canSetLegalHold\n ? locking\n ? \"Change Legal Hold rules for this File\"\n : \"Object Locking must be enabled on this bucket in order to set Legal Hold\"\n : permissionTooltipHelper(\n [IAM_SCOPES.S3_PUT_OBJECT_LEGAL_HOLD],\n \"change legal hold settings for this object\"\n ),\n },\n {\n action: openRetentionModal,\n label: \"Retention\",\n disabled:\n !distributedSetup ||\n !!actualInfo.is_delete_marker ||\n !canChangeRetention ||\n selectedVersion !== \"\" ||\n !locking,\n icon: ,\n tooltip: canChangeRetention\n ? locking\n ? \"Change Retention rules for this File\"\n : \"Object Locking must be enabled on this bucket in order to set Retention Rules\"\n : permissionTooltipHelper(\n [\n IAM_SCOPES.S3_GET_OBJECT_RETENTION,\n IAM_SCOPES.S3_PUT_OBJECT_RETENTION,\n ],\n \"change Retention Rules for this object\"\n ),\n },\n {\n action: () => {\n setTagModalOpen(true);\n },\n label: \"Tags\",\n disabled:\n !!actualInfo.is_delete_marker || selectedVersion !== \"\" || !canSetTags,\n icon: ,\n tooltip: canSetTags\n ? \"Change Tags for this File\"\n : permissionTooltipHelper(\n [\n IAM_SCOPES.S3_PUT_OBJECT_TAGGING,\n IAM_SCOPES.S3_GET_OBJECT_TAGGING,\n ],\n \"set Tags on this object\"\n ),\n },\n {\n action: () => {\n setInspectModalOpen(true);\n },\n label: \"Inspect\",\n disabled:\n !distributedSetup ||\n !!actualInfo.is_delete_marker ||\n selectedVersion !== \"\" ||\n !canInspect,\n icon: ,\n tooltip: canInspect\n ? \"Inspect this file\"\n : permissionTooltipHelper(\n [IAM_SCOPES.ADMIN_INSPECT_DATA],\n \"inspect this file\"\n ),\n },\n {\n action: () => {\n dispatch(\n setVersionsModeEnabled({\n status: !versionsMode,\n objectName: objectName,\n })\n );\n },\n label: versionsMode ? \"Hide Object Versions\" : \"Display Object Versions\",\n icon: ,\n disabled:\n !distributedSetup ||\n !(actualInfo.version_id && actualInfo.version_id !== \"null\") ||\n !canChangeVersioning,\n tooltip: canChangeVersioning\n ? actualInfo.version_id && actualInfo.version_id !== \"null\"\n ? \"Display Versions for this file\"\n : \"\"\n : permissionTooltipHelper(\n [\n IAM_SCOPES.S3_GET_BUCKET_VERSIONING,\n IAM_SCOPES.S3_PUT_BUCKET_VERSIONING,\n IAM_SCOPES.S3_GET_OBJECT_VERSION,\n ],\n \"display all versions of this object\"\n ),\n },\n ];\n\n const calculateLastModifyTime = (lastModified: string) => {\n const currentTime = new Date();\n const modifiedTime = new Date(lastModified);\n\n const difTime = currentTime.getTime() - modifiedTime.getTime();\n\n const formatTime = niceDaysInt(difTime, \"ms\");\n\n return formatTime.trim() !== \"\" ? `${formatTime} ago` : \"Just now\";\n };\n\n return (\n \n {shareFileModalOpen && actualInfo && (\n \n )}\n {retentionModalOpen && actualInfo && (\n \n )}\n {deleteOpen && (\n \n )}\n {legalholdOpen && actualInfo && (\n \n )}\n {previewOpen && actualInfo && (\n {\n setPreviewOpen(false);\n }}\n />\n )}\n {tagModalOpen && actualInfo && (\n \n )}\n {inspectModalOpen && actualInfo && (\n \n )}\n {longFileOpen && actualInfo && (\n \n )}\n\n {loadingObjectInfo ? (\n {loaderForContainer}\n ) : (\n \n \n {displayFileIconName(objectName, true)}\n \n {objectName}\n \n \n }\n items={multiActionButtons}\n />\n \n \n \n }\n iconLocation={\"start\"}\n fullWidth\n variant={\"secondary\"}\n onClick={() => {\n setDeleteOpen(true);\n }}\n disabled={\n selectedVersion === \"\" && actualInfo.is_delete_marker\n }\n style={{\n width: \"calc(100% - 44px)\",\n margin: \"8px 0\",\n }}\n label={`Delete${selectedVersion !== \"\" ? \" version\" : \"\"}`}\n />\n \n \n \n \n Object Info\n \n \n \n Name:\n
\n
{objectName}
\n
\n {selectedVersion !== \"\" && (\n \n Version ID:\n
\n {selectedVersion}\n
\n )}\n \n Size:\n
\n {niceBytes(actualInfo.size || \"0\")}\n
\n {actualInfo.version_id &&\n actualInfo.version_id !== \"null\" &&\n selectedVersion === \"\" && (\n \n Versions:\n
\n {versions.length} version{versions.length !== 1 ? \"s\" : \"\"},{\" \"}\n {niceBytesInt(totalVersionsSize)}\n
\n )}\n {selectedVersion === \"\" && (\n \n Last Modified:\n
\n {calculateLastModifyTime(actualInfo.last_modified)}\n
\n )}\n \n ETAG:\n
\n {actualInfo.etag || \"N/A\"}\n
\n \n Tags:\n
\n {tagKeys.length === 0\n ? \"N/A\"\n : tagKeys.map((tagKey, index) => {\n return (\n \n {tagKey}:{get(actualInfo, `tags.${tagKey}`, \"\")}\n {index < tagKeys.length - 1 ? \", \" : \"\"}\n \n );\n })}\n
\n \n \n \n Legal Hold:\n
\n {actualInfo.legal_hold_status ? \"On\" : \"Off\"}\n
\n \n
\n \n \n \n Retention Policy:\n
\n \n {actualInfo.version_id && actualInfo.version_id !== \"null\" ? (\n \n {actualInfo.retention_mode\n ? actualInfo.retention_mode.toLowerCase()\n : \"None\"}\n \n ) : (\n \n {actualInfo.retention_mode\n ? actualInfo.retention_mode.toLowerCase()\n : \"None\"}\n \n )}\n \n
\n \n
\n \n Metadata\n \n \n \n {actualInfo ? (\n \n ) : null}\n \n
\n )}\n
\n );\n};\n\nexport default withStyles(styles)(ObjectDetailPanel);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport * as reactMoment from \"react-moment\";\nimport { BucketObjectItem } from \"./types\";\nimport { niceBytes } from \"../../../../../../common/utils\";\nimport { displayFileIconName } from \"./utils\";\n\n// Functions\n\nexport const displayParsedDate = (object: BucketObjectItem) => {\n if (object.name.endsWith(\"/\")) {\n return \"\";\n }\n return {object.last_modified};\n};\n\nexport const displayNiceBytes = (object: BucketObjectItem) => {\n if (object.name.endsWith(\"/\") || !object.size) {\n return \"-\";\n }\n return niceBytes(String(object.size));\n};\n\nexport const displayDeleteFlag = (state: boolean) => {\n return state ? \"Yes\" : \"No\";\n};\n\n// Table Props\n\nexport const listModeColumns = [\n {\n label: \"Name\",\n elementKey: \"name\",\n renderFunction: displayFileIconName,\n enableSort: true,\n },\n {\n label: \"Last Modified\",\n elementKey: \"last_modified\",\n renderFunction: displayParsedDate,\n renderFullObject: true,\n enableSort: true,\n },\n {\n label: \"Size\",\n elementKey: \"size\",\n renderFunction: displayNiceBytes,\n renderFullObject: true,\n width: 100,\n enableSort: true,\n },\n];\n\nexport const rewindModeColumns = [\n {\n label: \"Name\",\n elementKey: \"name\",\n renderFunction: displayFileIconName,\n enableSort: true,\n },\n {\n label: \"Object Date\",\n elementKey: \"last_modified\",\n renderFunction: displayParsedDate,\n renderFullObject: true,\n enableSort: true,\n },\n {\n label: \"Size\",\n elementKey: \"size\",\n renderFunction: displayNiceBytes,\n renderFullObject: true,\n width: 100,\n enableSort: true,\n },\n {\n label: \"Deleted\",\n elementKey: \"delete_flag\",\n renderFunction: displayDeleteFlag,\n width: 60,\n },\n];\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { DialogContentText } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { modalBasic } from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport api from \"../../../../../../common/api\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport RecoverIcon from \"../../../../../../icons/RecoverIcon\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\ninterface IRestoreFileVersion {\n classes: any;\n restoreOpen: boolean;\n bucketName: string;\n versionID: string;\n objectPath: string;\n onCloseAndUpdate: (refresh: boolean) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n });\n\nconst RestoreFileVersion = ({\n classes,\n versionID,\n bucketName,\n objectPath,\n restoreOpen,\n onCloseAndUpdate,\n}: IRestoreFileVersion) => {\n const dispatch = useAppDispatch();\n const [restoreLoading, setRestoreLoading] = useState(false);\n\n const restoreVersion = () => {\n setRestoreLoading(true);\n\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/restore?prefix=${encodeURLString(\n objectPath\n )}&version_id=${versionID}`\n )\n .then((res: any) => {\n setRestoreLoading(false);\n onCloseAndUpdate(true);\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(error));\n setRestoreLoading(false);\n });\n };\n\n return (\n }\n onConfirm={restoreVersion}\n confirmButtonProps={{\n variant: \"secondary\",\n disabled: restoreLoading,\n }}\n onClose={() => {\n onCloseAndUpdate(false);\n }}\n confirmationContent={\n \n Are you sure you want to restore
\n {objectPath}
with Version ID:\n
\n {versionID}?\n
\n }\n />\n );\n};\n\nexport default withStyles(styles)(RestoreFileVersion);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\n\ninterface ISpecificVersionPillProps {\n type: \"null\" | \"current\" | \"deleted\";\n}\n\nconst SpecificVersionPill = ({ type }: ISpecificVersionPillProps) => {\n let bgColor = \"#000\";\n let message = \"\";\n\n switch (type) {\n case \"null\":\n bgColor = \"#07193E\";\n message = \"NULL VERSION\";\n break;\n case \"deleted\":\n bgColor = \"#868686\";\n message = \"DELETED\";\n break;\n default:\n bgColor = \"#174551\";\n message = \"CURRENT VERSION\";\n }\n\n return (\n \n {message}\n \n );\n};\n\nexport default SpecificVersionPill;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport * as reactMoment from \"react-moment\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { withStyles } from \"@mui/styles\";\nimport { displayFileIconName } from \"../ListObjects/utils\";\nimport { IFileInfo } from \"./types\";\nimport { IconButton, Tooltip } from \"@mui/material\";\nimport {\n DownloadIcon,\n PreviewIcon,\n RecoverIcon,\n ShareIcon,\n} from \"../../../../../../icons\";\nimport { niceBytes } from \"../../../../../../common/utils\";\nimport SpecificVersionPill from \"./SpecificVersionPill\";\nimport CheckboxWrapper from \"../../../../Common/FormComponents/CheckboxWrapper/CheckboxWrapper\";\n\ninterface IFileVersionItem {\n fileName: string;\n versionInfo: IFileInfo;\n index: number;\n isSelected?: boolean;\n checkable: boolean;\n isChecked: boolean;\n onCheck: (versionID: string) => void;\n onShare: (versionInfo: IFileInfo) => void;\n onDownload: (versionInfo: IFileInfo) => void;\n onRestore: (versionInfo: IFileInfo) => void;\n onPreview: (versionInfo: IFileInfo) => void;\n globalClick: (versionInfo: IFileInfo) => void;\n classes: any;\n key: any;\n style: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n mainFileVersionItem: {\n borderBottom: \"#E2E2E2 1px solid\",\n padding: \"1rem 0\",\n margin: \"0 0.5rem 0 2.5rem\",\n cursor: \"pointer\",\n \"&.deleted\": {\n color: \"#868686\",\n },\n \"@media (max-width: 799px)\": {\n padding: \"5px 0px\",\n margin: 0,\n },\n },\n intermediateLayer: {\n margin: \"0 1.5rem 0 1.5rem\",\n \"&:hover, &.selected\": {\n backgroundColor: \"#F8F8F8\",\n \"& > div\": {\n borderBottomColor: \"#F8F8F8\",\n },\n },\n \"@media (max-width: 799px)\": {\n margin: 0,\n \"&:hover, &.selected\": {\n backgroundColor: \"transparent\",\n \"& > div\": {\n borderBottomColor: \"#E2E2E2\",\n },\n },\n },\n },\n versionContainer: {\n fontSize: 16,\n fontWeight: \"bold\",\n display: \"flex\",\n alignItems: \"center\",\n \"& svg.min-icon\": {\n width: 18,\n height: 18,\n minWidth: 18,\n minHeight: 18,\n marginRight: 10,\n },\n \"@media (max-width: 799px)\": {\n fontSize: 14,\n \"& svg.min-icon\": {\n display: \"none\",\n },\n },\n },\n buttonContainer: {\n textAlign: \"right\",\n \"& button\": {\n marginLeft: \"1.5rem\",\n },\n \"@media (max-width: 600px)\": {\n \"& button\": {\n marginLeft: \"5px\",\n },\n },\n },\n versionID: {\n fontSize: \"12px\",\n margin: \"2px 0\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n maxWidth: \"95%\",\n overflow: \"hidden\",\n },\n versionData: {\n marginRight: \"10px\",\n fontSize: 12,\n color: \"#868686\",\n \"@media (max-width: 799px)\": {\n textOverflow: \"ellipsis\",\n maxWidth: \"95%\",\n overflow: \"hidden\",\n whiteSpace: \"nowrap\",\n },\n },\n ctrItem: {\n position: \"relative\",\n \"&::before\": {\n content: \"' '\",\n display: \"block\",\n position: \"absolute\",\n width: \"2px\",\n height: \"calc(100% + 2px)\",\n backgroundColor: \"#F8F8F8\",\n left: \"24px\",\n },\n \"@media (max-width: 799px)\": {\n \"&::before\": {\n display: \"none\",\n },\n },\n },\n collapsableInfo: {\n \"@media (max-width: 799px)\": {\n display: \"flex\",\n flexDirection: \"column\",\n },\n },\n versionItem: {\n \"@media (max-width: 799px)\": {\n display: \"none\",\n },\n },\n });\n\nconst FileVersionItem = ({\n classes,\n fileName,\n versionInfo,\n isSelected,\n checkable,\n isChecked,\n onCheck,\n onShare,\n onDownload,\n onRestore,\n onPreview,\n globalClick,\n index,\n key,\n style,\n}: IFileVersionItem) => {\n const disableButtons = versionInfo.is_delete_marker;\n\n const versionItemButtons = [\n {\n icon: ,\n action: onPreview,\n tooltip: \"Preview\",\n },\n {\n icon: ,\n action: onDownload,\n tooltip: \"Download this version\",\n },\n {\n icon: ,\n action: onShare,\n tooltip: \"Share this version\",\n },\n {\n icon: ,\n action: onRestore,\n tooltip: \"Restore this version\",\n },\n ];\n\n let pill: \"deleted\" | \"current\" | \"null\" | null = null;\n\n if (versionInfo.is_delete_marker) {\n pill = \"deleted\";\n } else if (versionInfo.is_latest) {\n pill = \"current\";\n } else if (versionInfo.version_id === \"null\") {\n pill = \"null\";\n }\n\n return (\n {\n globalClick(versionInfo);\n }}\n key={key}\n style={style}\n >\n \n \n \n \n \n {checkable && (\n {\n e.stopPropagation();\n e.preventDefault();\n onCheck(versionInfo.version_id || \"\");\n }}\n value={versionInfo.version_id || \"\"}\n disabled={versionInfo.is_delete_marker}\n overrideCheckboxStyles={{\n paddingLeft: 0,\n height: 34,\n width: 25,\n }}\n noTopMargin\n />\n )}\n {displayFileIconName(fileName, true)} v{index.toString()}\n \n {pill && }\n \n \n \n {versionItemButtons.map((button, index) => {\n return (\n \n {\n e.stopPropagation();\n if (!disableButtons) {\n button.action(versionInfo);\n } else {\n e.preventDefault();\n }\n }}\n sx={{\n backgroundColor: \"#F8F8F8\",\n borderRadius: \"100%\",\n width: \"28px\",\n height: \"28px\",\n padding: \"5px\",\n \"& .min-icon\": {\n width: \"14px\",\n height: \"14px\",\n },\n }}\n >\n {button.icon}\n \n \n );\n })}\n \n \n \n \n {versionInfo.version_id !== \"null\" ? versionInfo.version_id : \"-\"}\n \n \n \n Last modified:{\" \"}\n \n {versionInfo.last_modified}\n \n \n \n Size: {niceBytes(versionInfo.size || \"0\")}\n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(FileVersionItem);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\n\nimport { DialogContentText } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { decodeURLString } from \"../../../../../../common/utils\";\nimport { ConfirmDeleteIcon } from \"../../../../../../icons\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport api from \"../../../../../../common/api\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\ninterface IDeleteNonCurrentProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedObject: string;\n selectedBucket: string;\n}\n\nconst DeleteNonCurrentVersions = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedObject,\n}: IDeleteNonCurrentProps) => {\n const dispatch = useAppDispatch();\n const [deleteLoading, setDeleteLoading] = useState(false);\n const [typeConfirm, setTypeConfirm] = useState(\"\");\n\n useEffect(() => {\n if (deleteLoading) {\n api\n .invoke(\n \"DELETE\",\n `/api/v1/buckets/${selectedBucket}/objects?path=${selectedObject}&non_current_versions=true`\n )\n .then(() => {\n closeDeleteModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(error));\n setDeleteLoading(false);\n });\n }\n }, [\n deleteLoading,\n closeDeleteModalAndRefresh,\n dispatch,\n selectedObject,\n selectedBucket,\n ]);\n\n if (!selectedObject) {\n return null;\n }\n const onConfirmDelete = () => {\n setDeleteLoading(true);\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={() => closeDeleteModalAndRefresh(false)}\n confirmButtonProps={{\n disabled: typeConfirm !== \"YES, PROCEED\" || deleteLoading,\n }}\n confirmationContent={\n \n Are you sure you want to delete all the non-current versions for:{\" \"}\n {decodeURLString(selectedObject)}?
\n
\n To continue please type YES, PROCEED in the box.\n \n ) => {\n setTypeConfirm(event.target.value);\n }}\n label=\"\"\n value={typeConfirm}\n />\n \n
\n }\n />\n );\n};\n\nexport default DeleteNonCurrentVersions;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\n\nimport { DialogContentText } from \"@mui/material\";\n\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../../../icons\";\nimport api from \"../../../../../../common/api\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\ninterface IDeleteSelectedVersionsProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedVersions: string[];\n selectedObject: string;\n selectedBucket: string;\n}\n\nconst DeleteObject = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedVersions,\n selectedObject,\n}: IDeleteSelectedVersionsProps) => {\n const dispatch = useAppDispatch();\n const [deleteLoading, setDeleteLoading] = useState(false);\n\n const onClose = () => closeDeleteModalAndRefresh(false);\n const onConfirmDelete = () => {\n setDeleteLoading(true);\n };\n\n useEffect(() => {\n if (deleteLoading) {\n const selectedObjectsRequest = selectedVersions.map((versionID) => {\n return {\n path: selectedObject,\n versionID: versionID,\n recursive: false,\n };\n });\n\n if (selectedObjectsRequest.length > 0) {\n api\n .invoke(\n \"POST\",\n `/api/v1/buckets/${selectedBucket}/delete-objects?all_versions=false`,\n selectedObjectsRequest\n )\n .then(() => {\n setDeleteLoading(false);\n closeDeleteModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(error));\n setDeleteLoading(false);\n });\n }\n }\n }, [\n deleteLoading,\n closeDeleteModalAndRefresh,\n selectedBucket,\n selectedObject,\n selectedVersions,\n dispatch,\n ]);\n\n if (!selectedVersions) {\n return null;\n }\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete the selected {selectedVersions.length}{\" \"}\n versions for {selectedObject}?\n \n }\n />\n );\n};\n\nexport default DeleteObject;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { useSelector } from \"react-redux\";\nimport { withStyles } from \"@mui/styles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { LinearProgress, SelectChangeEvent } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport ShareFile from \"./ShareFile\";\nimport {\n actionsTray,\n buttonsStyles,\n containerForHeader,\n hrClass,\n objectBrowserCommon,\n objectBrowserExtras,\n spacingUtils,\n tableStyles,\n textStyleUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { IFileInfo } from \"./types\";\nimport { download } from \"../utils\";\nimport api from \"../../../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\n\nimport {\n decodeURLString,\n encodeURLString,\n niceBytesInt,\n} from \"../../../../../../common/utils\";\nimport ScreenTitle from \"../../../../Common/ScreenTitle/ScreenTitle\";\nimport RestoreFileVersion from \"./RestoreFileVersion\";\n\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport {\n DeleteIcon,\n DeleteNonCurrentIcon,\n SelectMultipleIcon,\n VersionsIcon,\n} from \"../../../../../../icons\";\nimport FileVersionItem from \"./FileVersionItem\";\nimport SelectWrapper from \"../../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport PreviewFileModal from \"../Preview/PreviewFileModal\";\nimport DeleteNonCurrent from \"../ListObjects/DeleteNonCurrent\";\nimport BrowserBreadcrumbs from \"../../../../ObjectBrowser/BrowserBreadcrumbs\";\nimport DeleteSelectedVersions from \"./DeleteSelectedVersions\";\nimport {\n selDistSet,\n setErrorSnackMessage,\n} from \"../../../../../../systemSlice\";\nimport {\n makeid,\n storeCallForObjectWithID,\n} from \"../../../../ObjectBrowser/transferManager\";\nimport {\n cancelObjectInList,\n completeObject,\n failObject,\n setLoadingObjectInfo,\n setLoadingVersions,\n setNewObject,\n setSelectedVersion,\n updateProgress,\n} from \"../../../../ObjectBrowser/objectBrowserSlice\";\nimport { List, ListRowProps } from \"react-virtualized\";\nimport { Button } from \"mds\";\nimport TooltipWrapper from \"../../../../Common/TooltipWrapper/TooltipWrapper\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n versionsContainer: {\n padding: 10,\n \"@media (max-width: 799px)\": {\n minHeight: 800,\n },\n },\n noBottomBorder: {\n borderBottom: 0,\n },\n versionsVirtualPanel: {\n flexGrow: 1,\n height: \"calc(100% - 120px)\",\n overflow: \"auto\",\n \"@media (max-width: 799px)\": {\n height: 600,\n },\n },\n screenTitleContainer: {\n position: \"relative\",\n \"&::before\": {\n content: \"' '\",\n display: \"block\",\n position: \"absolute\",\n width: \"2px\",\n backgroundColor: \"#F8F8F8\",\n left: \"24px\",\n height: \"40px\",\n bottom: 0,\n },\n \"@media (max-width: 799px)\": {\n \"&::before\": {\n display: \"none\",\n },\n },\n },\n sortByLabel: {\n color: \"#838383\",\n fontWeight: \"bold\",\n whiteSpace: \"nowrap\",\n marginRight: 12,\n fontSize: 14,\n \"@media (max-width: 600px)\": {\n display: \"none\",\n },\n },\n ...hrClass,\n ...buttonsStyles,\n ...actionsTray,\n ...tableStyles,\n ...spacingUtils,\n ...textStyleUtils,\n ...objectBrowserCommon,\n ...objectBrowserExtras,\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IVersionsNavigatorProps {\n classes: any;\n internalPaths: string;\n bucketName: string;\n}\n\nconst emptyFile: IFileInfo = {\n is_latest: true,\n last_modified: \"\",\n legal_hold_status: \"\",\n name: \"\",\n retention_mode: \"\",\n retention_until_date: \"\",\n size: \"0\",\n tags: {},\n version_id: null,\n};\n\nconst VersionsNavigator = ({\n classes,\n internalPaths,\n bucketName,\n}: IVersionsNavigatorProps) => {\n const dispatch = useAppDispatch();\n\n const searchVersions = useSelector(\n (state: AppState) => state.objectBrowser.searchVersions\n );\n const loadingVersions = useSelector(\n (state: AppState) => state.objectBrowser.loadingVersions\n );\n const selectedVersion = useSelector(\n (state: AppState) => state.objectBrowser.selectedVersion\n );\n\n const distributedSetup = useSelector(selDistSet);\n const [shareFileModalOpen, setShareFileModalOpen] = useState(false);\n const [actualInfo, setActualInfo] = useState(null);\n const [objectToShare, setObjectToShare] = useState(null);\n const [versions, setVersions] = useState([]);\n const [restoreVersionOpen, setRestoreVersionOpen] = useState(false);\n const [restoreVersion, setRestoreVersion] = useState(\"\");\n const [sortValue, setSortValue] = useState(\"date\");\n const [previewOpen, setPreviewOpen] = useState(false);\n const [deleteNonCurrentOpen, setDeleteNonCurrentOpen] =\n useState(false);\n const [selectEnabled, setSelectEnabled] = useState(false);\n const [selectedItems, setSelectedItems] = useState([]);\n const [delSelectedVOpen, setDelSelectedVOpen] = useState(false);\n\n // calculate object name to display\n let objectNameArray: string[] = [];\n if (actualInfo) {\n objectNameArray = actualInfo.name.split(\"/\");\n }\n\n useEffect(() => {\n if (!loadingVersions && !actualInfo) {\n dispatch(setLoadingVersions(true));\n }\n }, [loadingVersions, actualInfo, dispatch]);\n\n useEffect(() => {\n if (loadingVersions && internalPaths !== \"\") {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects?prefix=${internalPaths}${\n distributedSetup ? \"&with_versions=true\" : \"\"\n }`\n )\n .then((res: IFileInfo[]) => {\n const result = get(res, \"objects\", []);\n\n const decodedInternalPaths = decodeURLString(internalPaths);\n\n // Filter the results prefixes as API can return more files than expected.\n const filteredPrefixes = result.filter(\n (item: IFileInfo) => item.name === decodedInternalPaths\n );\n\n if (distributedSetup) {\n setActualInfo(\n filteredPrefixes.find((el: IFileInfo) => el.is_latest) ||\n emptyFile\n );\n setVersions(filteredPrefixes);\n } else {\n setActualInfo(filteredPrefixes[0]);\n setVersions([]);\n }\n\n dispatch(setLoadingVersions(false));\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n dispatch(setLoadingVersions(false));\n });\n }\n }, [loadingVersions, bucketName, internalPaths, dispatch, distributedSetup]);\n\n const shareObject = () => {\n setShareFileModalOpen(true);\n };\n\n const closeShareModal = () => {\n setObjectToShare(null);\n setShareFileModalOpen(false);\n setPreviewOpen(false);\n };\n\n const downloadObject = (object: IFileInfo) => {\n const identityDownload = encodeURLString(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`\n );\n\n const ID = makeid(8);\n\n const downloadCall = download(\n bucketName,\n internalPaths,\n object.version_id,\n parseInt(object.size || \"0\"),\n null,\n ID,\n (progress) => {\n dispatch(\n updateProgress({\n instanceID: identityDownload,\n progress: progress,\n })\n );\n },\n () => {\n dispatch(completeObject(identityDownload));\n },\n (msg: string) => {\n dispatch(failObject({ instanceID: identityDownload, msg }));\n },\n () => {\n dispatch(cancelObjectInList(identityDownload));\n }\n );\n\n storeCallForObjectWithID(ID, downloadCall);\n dispatch(\n setNewObject({\n ID,\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name,\n type: \"download\",\n waitingForFile: true,\n failed: false,\n cancelled: false,\n errorMessage: \"\",\n })\n );\n };\n\n const onShareItem = (item: IFileInfo) => {\n setObjectToShare(item);\n shareObject();\n };\n\n const onPreviewItem = (item: IFileInfo) => {\n setObjectToShare(item);\n setPreviewOpen(true);\n };\n\n const onRestoreItem = (item: IFileInfo) => {\n setRestoreVersion(item.version_id || \"\");\n setRestoreVersionOpen(true);\n };\n\n const onDownloadItem = (item: IFileInfo) => {\n downloadObject(item);\n };\n\n const onGlobalClick = (item: IFileInfo) => {\n dispatch(setSelectedVersion(item.version_id || \"\"));\n };\n\n const filteredRecords = versions.filter((version) => {\n if (version.version_id) {\n return version.version_id.includes(searchVersions);\n }\n return false;\n });\n\n const closeRestoreModal = (reloadObjectData: boolean) => {\n setRestoreVersionOpen(false);\n setRestoreVersion(\"\");\n\n if (reloadObjectData) {\n dispatch(setLoadingVersions(true));\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeDeleteNonCurrent = (reloadAfterDelete: boolean) => {\n setDeleteNonCurrentOpen(false);\n\n if (reloadAfterDelete) {\n dispatch(setLoadingVersions(true));\n dispatch(setSelectedVersion(\"\"));\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeSelectedVersions = (reloadOnComplete: boolean) => {\n setDelSelectedVOpen(false);\n\n if (reloadOnComplete) {\n dispatch(setLoadingVersions(true));\n dispatch(setSelectedVersion(\"\"));\n dispatch(setLoadingObjectInfo(true));\n setSelectedItems([]);\n }\n };\n\n const totalSpace = versions.reduce((acc: number, currValue: IFileInfo) => {\n if (currValue.size) {\n return acc + parseInt(currValue.size);\n }\n return acc;\n }, 0);\n\n filteredRecords.sort((a, b) => {\n switch (sortValue) {\n case \"size\":\n if (a.size && b.size) {\n if (a.size < b.size) {\n return -1;\n }\n if (a.size > b.size) {\n return 1;\n }\n return 0;\n }\n return 0;\n default:\n const dateA = new Date(a.last_modified).getTime();\n const dateB = new Date(b.last_modified).getTime();\n\n if (dateA < dateB) {\n return 1;\n }\n if (dateA > dateB) {\n return -1;\n }\n return 0;\n }\n });\n\n const onCheckVersion = (selectedVersion: string) => {\n if (selectedItems.includes(selectedVersion)) {\n const filteredItems = selectedItems.filter(\n (element) => element !== selectedVersion\n );\n\n setSelectedItems(filteredItems);\n\n return;\n }\n\n const cloneState = [...selectedItems];\n cloneState.push(selectedVersion);\n\n setSelectedItems(cloneState);\n };\n\n const rowRenderer = ({\n key, // Unique key within array of rows\n index, // Index of row within collection\n isScrolling, // The List is currently being scrolled\n isVisible, // This row is visible within the List (eg it is not an overscanned row)\n style, // Style object to be applied to row (to position it)\n }: ListRowProps) => {\n const versOrd = versions.length - index;\n return (\n \n );\n };\n\n return (\n \n {shareFileModalOpen && actualInfo && (\n \n )}\n {restoreVersionOpen && actualInfo && (\n \n )}\n {previewOpen && actualInfo && (\n {\n setPreviewOpen(false);\n }}\n />\n )}\n {deleteNonCurrentOpen && (\n \n )}\n {delSelectedVOpen && (\n \n )}\n \n {!actualInfo && (\n \n \n \n )}\n\n {actualInfo && (\n \n \n \n \n \n \n \n \n }\n title={\n \n {objectNameArray.length > 0\n ? objectNameArray[objectNameArray.length - 1]\n : actualInfo.name}{\" \"}\n Versions\n \n }\n subTitle={\n \n \n \n \n {versions.length} Version\n {versions.length === 1 ? \"\" : \"s\"}   \n \n \n \n {niceBytesInt(totalSpace)}\n \n \n \n }\n actions={\n \n \n {\n setSelectEnabled(!selectEnabled);\n }}\n icon={}\n variant={selectEnabled ? \"callAction\" : \"regular\"}\n style={{ marginRight: 8 }}\n />\n \n {selectEnabled && (\n \n {\n setDelSelectedVOpen(true);\n }}\n icon={}\n variant={\"secondary\"}\n style={{ marginRight: 8 }}\n disabled={selectedItems.length === 0}\n />\n \n )}\n \n {\n setDeleteNonCurrentOpen(true);\n }}\n icon={}\n variant={\"secondary\"}\n style={{ marginRight: 15 }}\n disabled={versions.length <= 1}\n />\n \n Sort by\n ) => {\n setSortValue(e.target.value as string);\n }}\n name={\"sort-by\"}\n options={[\n { label: \"Date\", value: \"date\" },\n {\n label: \"Size\",\n value: \"size\",\n },\n ]}\n />\n \n }\n className={classes.noBottomBorder}\n />\n \n \n {actualInfo.version_id && actualInfo.version_id !== \"null\" && (\n // @ts-ignore\n \n )}\n \n \n )}\n \n \n );\n};\n\nexport default withStyles(styles)(VersionsNavigator);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, {\n Fragment,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useLocation, useNavigate, useParams } from \"react-router-dom\";\nimport { useDropzone } from \"react-dropzone\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport get from \"lodash/get\";\nimport { BucketObjectItem, BucketObjectItemsList } from \"./types\";\nimport api from \"../../../../../../common/api\";\nimport TableWrapper, {\n ItemActions,\n} from \"../../../../Common/TableWrapper/TableWrapper\";\nimport {\n decodeURLString,\n encodeURLString,\n getClientOS,\n niceBytesInt,\n} from \"../../../../../../common/utils\";\n\nimport {\n actionsTray,\n containerForHeader,\n objectBrowserCommon,\n objectBrowserExtras,\n searchField,\n tableStyles,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { Badge, Typography } from \"@mui/material\";\nimport BrowserBreadcrumbs from \"../../../../ObjectBrowser/BrowserBreadcrumbs\";\nimport {\n download,\n extensionPreview,\n permissionItems,\n sortListObjects,\n} from \"../utils\";\nimport {\n BucketInfo,\n BucketObjectLocking,\n BucketQuota,\n BucketVersioning,\n} from \"../../../types\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\n\nimport ScreenTitle from \"../../../../Common/ScreenTitle/ScreenTitle\";\n\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport PageLayout from \"../../../../Common/Layout/PageLayout\";\n\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../../../../common/SecureComponent/permissions\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../../../common/SecureComponent\";\n\nimport withSuspense from \"../../../../Common/Components/withSuspense\";\nimport {\n BucketsIcon,\n DownloadIcon,\n PreviewIcon,\n ShareIcon,\n} from \"../../../../../../icons\";\nimport UploadFilesButton from \"../../UploadFilesButton\";\nimport DetailsListPanel from \"./DetailsListPanel\";\nimport ObjectDetailPanel from \"./ObjectDetailPanel\";\nimport ActionsListSection from \"./ActionsListSection\";\nimport { listModeColumns, rewindModeColumns } from \"./ListObjectsHelpers\";\nimport VersionsNavigator from \"../ObjectDetails/VersionsNavigator\";\nimport CheckboxWrapper from \"../../../../Common/FormComponents/CheckboxWrapper/CheckboxWrapper\";\n\nimport {\n setErrorSnackMessage,\n setSnackBarMessage,\n} from \"../../../../../../systemSlice\";\n\nimport {\n makeid,\n removeTrace,\n storeCallForObjectWithID,\n storeFormDataWithID,\n} from \"../../../../ObjectBrowser/transferManager\";\nimport {\n cancelObjectInList,\n completeObject,\n failObject,\n openList,\n resetRewind,\n setLoadingObjectInfo,\n setLoadingObjectsList,\n setLoadingVersions,\n setNewObject,\n setObjectDetailsView,\n setSearchObjects,\n setSelectedObjectView,\n setShowDeletedObjects,\n setSimplePathHandler,\n setVersionsModeEnabled,\n updateProgress,\n} from \"../../../../ObjectBrowser/objectBrowserSlice\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport {\n selBucketDetailsInfo,\n selBucketDetailsLoading,\n setBucketDetailsLoad,\n setBucketInfo,\n} from \"../../../BucketDetails/bucketDetailsSlice\";\nimport RenameLongFileName from \"../../../../ObjectBrowser/RenameLongFilename\";\nimport { selFeatures } from \"../../../../consoleSlice\";\nimport TooltipWrapper from \"../../../../Common/TooltipWrapper/TooltipWrapper\";\n\nconst HistoryIcon = React.lazy(\n () => import(\"../../../../../../icons/HistoryIcon\")\n);\nconst RefreshIcon = React.lazy(\n () => import(\"../../../../../../icons/RefreshIcon\")\n);\n\nconst DeleteIcon = React.lazy(\n () => import(\"../../../../../../icons/DeleteIcon\")\n);\n\nconst DeleteMultipleObjects = withSuspense(\n React.lazy(() => import(\"./DeleteMultipleObjects\"))\n);\nconst ShareFile = withSuspense(\n React.lazy(() => import(\"../ObjectDetails/ShareFile\"))\n);\nconst RewindEnable = withSuspense(React.lazy(() => import(\"./RewindEnable\")));\nconst PreviewFileModal = withSuspense(\n React.lazy(() => import(\"../Preview/PreviewFileModal\"))\n);\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n browsePaper: {\n border: 0,\n height: \"calc(100vh - 210px)\",\n \"&.isEmbedded\": {\n height: \"calc(100vh - 315px)\",\n },\n \"&.actionsPanelOpen\": {\n minHeight: \"100%\",\n },\n \"@media (max-width: 800px)\": {\n width: 800,\n },\n },\n \"@global\": {\n \".rowLine:hover .iconFileElm\": {\n backgroundImage: \"url(/images/ob_file_filled.svg)\",\n },\n \".rowLine:hover .iconFolderElm\": {\n backgroundImage: \"url(/images/ob_folder_filled.svg)\",\n },\n },\n\n badgeOverlap: {\n \"& .MuiBadge-badge\": {\n top: 10,\n right: 1,\n width: 5,\n height: 5,\n minWidth: 5,\n },\n },\n screenTitle: {\n borderBottom: 0,\n paddingTop: 0,\n paddingLeft: 0,\n paddingRight: 0,\n },\n ...tableStyles,\n ...actionsTray,\n ...searchField,\n\n searchField: {\n ...searchField.searchField,\n maxWidth: 380,\n },\n screenTitleContainer: {\n border: \"#EAEDEE 1px solid\",\n padding: \"0.8rem 15px 0\",\n },\n labelStyle: {\n color: \"#969FA8\",\n fontSize: \"12px\",\n },\n breadcrumbsContainer: {\n padding: \"12px 14px 5px\",\n },\n parentWrapper: {\n \"@media (max-width: 800px)\": {\n overflowX: \"auto\",\n },\n },\n fullContainer: {\n \"@media (max-width: 799px)\": {\n width: 0,\n },\n },\n hideListOnSmall: {\n \"@media (max-width: 799px)\": {\n display: \"none\",\n },\n },\n ...objectBrowserExtras,\n ...objectBrowserCommon,\n ...containerForHeader(theme.spacing(4)),\n })\n);\n\nconst baseDnDStyle = {\n borderWidth: 2,\n borderRadius: 2,\n borderColor: \"#eeeeee\",\n outline: \"none\",\n};\n\nconst activeDnDStyle = {\n borderStyle: \"dashed\",\n backgroundColor: \"#fafafa\",\n borderColor: \"#2196f3\",\n};\n\nconst acceptDnDStyle = {\n borderStyle: \"dashed\",\n backgroundColor: \"#fafafa\",\n borderColor: \"#00e676\",\n};\n\nfunction useInterval(callback: any, delay: number) {\n const savedCallback = useRef(null);\n\n // Remember the latest callback.\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n // Set up the interval.\n useEffect(() => {\n function tick() {\n if (savedCallback !== undefined && savedCallback.current) {\n savedCallback.current();\n }\n }\n\n if (delay !== null) {\n let id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n}\n\nconst defLoading = Loading...;\n\nconst ListObjects = () => {\n const classes = useStyles();\n const dispatch = useAppDispatch();\n const params = useParams();\n const navigate = useNavigate();\n const location = useLocation();\n\n const rewindEnabled = useSelector(\n (state: AppState) => state.objectBrowser.rewind.rewindEnabled\n );\n const rewindDate = useSelector(\n (state: AppState) => state.objectBrowser.rewind.dateToRewind\n );\n const bucketToRewind = useSelector(\n (state: AppState) => state.objectBrowser.rewind.bucketToRewind\n );\n const versionsMode = useSelector(\n (state: AppState) => state.objectBrowser.versionsMode\n );\n\n const searchObjects = useSelector(\n (state: AppState) => state.objectBrowser.searchObjects\n );\n const showDeleted = useSelector(\n (state: AppState) => state.objectBrowser.showDeleted\n );\n const detailsOpen = useSelector(\n (state: AppState) => state.objectBrowser.objectDetailsOpen\n );\n const selectedInternalPaths = useSelector(\n (state: AppState) => state.objectBrowser.selectedInternalPaths\n );\n const loading = useSelector(\n (state: AppState) => state.objectBrowser.loadingObjects\n );\n const simplePath = useSelector(\n (state: AppState) => state.objectBrowser.simplePath\n );\n\n const loadingBucket = useSelector(selBucketDetailsLoading);\n const bucketInfo = useSelector(selBucketDetailsInfo);\n const allowResources = useSelector(\n (state: AppState) => state.console.session.allowResources\n );\n\n const features = useSelector(selFeatures);\n const obOnly = !!features?.includes(\"object-browser-only\");\n\n const [records, setRecords] = useState([]);\n const [deleteMultipleOpen, setDeleteMultipleOpen] = useState(false);\n const [loadingStartTime, setLoadingStartTime] = useState(0);\n const [loadingMessage, setLoadingMessage] =\n useState(defLoading);\n const [loadingVersioning, setLoadingVersioning] = useState(true);\n const [isVersioned, setIsVersioned] = useState(false);\n const [loadingLocking, setLoadingLocking] = useState(true);\n const [lockingEnabled, setLockingEnabled] = useState(false);\n const [rewindSelect, setRewindSelect] = useState(false);\n const [selectedObjects, setSelectedObjects] = useState([]);\n const [previewOpen, setPreviewOpen] = useState(false);\n const [selectedPreview, setSelectedPreview] =\n useState(null);\n const [shareFileModalOpen, setShareFileModalOpen] = useState(false);\n const [sortDirection, setSortDirection] = useState<\n \"ASC\" | \"DESC\" | undefined\n >(\"ASC\");\n const [currentSortField, setCurrentSortField] = useState(\"name\");\n const [iniLoad, setIniLoad] = useState(false);\n const [canShareFile, setCanShareFile] = useState(false);\n const [canPreviewFile, setCanPreviewFile] = useState(false);\n const [quota, setQuota] = useState(null);\n const [downloadRenameModal, setDownloadRenameModal] =\n useState(null);\n\n const pathSegment = location.pathname.split(\"/browse/\");\n\n const internalPaths = pathSegment.length === 2 ? pathSegment[1] : \"\";\n const bucketName = params.bucketName || \"\";\n\n const fileUpload = useRef(null);\n const folderUpload = useRef(null);\n\n useEffect(() => {\n if (folderUpload.current !== null) {\n folderUpload.current.setAttribute(\"directory\", \"\");\n folderUpload.current.setAttribute(\"webkitdirectory\", \"\");\n }\n }, [folderUpload]);\n\n useEffect(() => {\n if (selectedObjects.length === 1) {\n const objectName = selectedObjects[0];\n\n if (extensionPreview(objectName) !== \"none\") {\n setCanPreviewFile(true);\n } else {\n setCanPreviewFile(false);\n }\n\n if (objectName.endsWith(\"/\")) {\n setCanShareFile(false);\n } else {\n setCanShareFile(true);\n }\n } else {\n setCanShareFile(false);\n setCanPreviewFile(false);\n }\n }, [selectedObjects]);\n\n useEffect(() => {\n if (!quota) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/quota`)\n .then((res: BucketQuota) => {\n let quotaVals = null;\n\n if (res.quota) {\n quotaVals = res;\n }\n\n setQuota(quotaVals);\n })\n .catch((err) => {\n console.error(\"Error Getting Quota Status: \", err.detailedError);\n setQuota(null);\n });\n }\n }, [quota, bucketName]);\n\n useEffect(() => {\n if (selectedObjects.length > 0) {\n dispatch(setObjectDetailsView(true));\n return;\n }\n\n if (selectedObjects.length === 0 && selectedInternalPaths === null) {\n dispatch(setObjectDetailsView(false));\n }\n }, [selectedObjects, selectedInternalPaths, dispatch]);\n\n const displayDeleteObject = hasPermission(bucketName, [\n IAM_SCOPES.S3_DELETE_OBJECT,\n ]);\n\n const displayListObjects = hasPermission(bucketName, [\n IAM_SCOPES.S3_LIST_BUCKET,\n ]);\n\n const updateMessage = () => {\n let timeDelta = Date.now() - loadingStartTime;\n\n if (timeDelta / 1000 >= 6) {\n setLoadingMessage(\n \n \n This operation is taking longer than expected... (\n {Math.ceil(timeDelta / 1000)}s)\n \n \n );\n } else if (timeDelta / 1000 >= 3) {\n setLoadingMessage(\n \n This operation is taking longer than expected...\n \n );\n }\n };\n\n useEffect(() => {\n if (!iniLoad) {\n dispatch(setBucketDetailsLoad(true));\n setIniLoad(true);\n }\n }, [iniLoad, dispatch, setIniLoad]);\n\n useInterval(() => {\n // Your custom logic here\n if (loading) {\n updateMessage();\n }\n }, 1000);\n\n useEffect(() => {\n if (loadingVersioning) {\n if (displayListObjects) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/versioning`)\n .then((res: BucketVersioning) => {\n setIsVersioned(res.is_versioned);\n setLoadingVersioning(false);\n })\n .catch((err: ErrorResponseHandler) => {\n console.error(\n \"Error Getting Object Versioning Status: \",\n err.detailedError\n );\n setLoadingVersioning(false);\n });\n } else {\n setLoadingVersioning(false);\n setRecords([]);\n }\n }\n }, [bucketName, loadingVersioning, dispatch, displayListObjects]);\n\n useEffect(() => {\n if (loadingLocking) {\n if (displayListObjects) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/object-locking`)\n .then((res: BucketObjectLocking) => {\n setLockingEnabled(res.object_locking_enabled);\n setLoadingLocking(false);\n })\n .catch((err: ErrorResponseHandler) => {\n console.error(\n \"Error Getting Object Locking Status: \",\n err.detailedError\n );\n setLoadingLocking(false);\n });\n } else {\n setRecords([]);\n setLoadingLocking(false);\n }\n }\n }, [bucketName, loadingLocking, dispatch, displayListObjects]);\n\n useEffect(() => {\n const decodedIPaths = decodeURLString(internalPaths);\n\n if (decodedIPaths.endsWith(\"/\") || decodedIPaths === \"\") {\n dispatch(setObjectDetailsView(false));\n dispatch(setSelectedObjectView(null));\n dispatch(\n setSimplePathHandler(decodedIPaths === \"\" ? \"/\" : decodedIPaths)\n );\n } else {\n dispatch(setLoadingObjectInfo(true));\n dispatch(setObjectDetailsView(true));\n dispatch(setLoadingVersions(true));\n dispatch(\n setSelectedObjectView(\n `${decodedIPaths ? `${encodeURLString(decodedIPaths)}` : ``}`\n )\n );\n dispatch(\n setSimplePathHandler(\n `${decodedIPaths.split(\"/\").slice(0, -1).join(\"/\")}/`\n )\n );\n }\n }, [internalPaths, rewindDate, rewindEnabled, dispatch]);\n\n useEffect(() => {\n dispatch(setSearchObjects(\"\"));\n dispatch(setLoadingObjectsList(true));\n setSelectedObjects([]);\n }, [simplePath, dispatch, setSelectedObjects]);\n\n useEffect(() => {\n if (loading) {\n if (displayListObjects) {\n let pathPrefix = \"\";\n if (internalPaths) {\n const decodedPath = decodeURLString(internalPaths);\n pathPrefix = decodedPath.endsWith(\"/\")\n ? decodedPath\n : decodedPath + \"/\";\n }\n\n let currentTimestamp = Date.now();\n setLoadingStartTime(currentTimestamp);\n setLoadingMessage(defLoading);\n\n // We get URL to look into\n let urlTake = `/api/v1/buckets/${bucketName}/objects`;\n\n // Is rewind enabled?, we use Rewind API\n if (rewindEnabled) {\n if (bucketToRewind !== bucketName) {\n dispatch(resetRewind());\n return;\n }\n\n if (rewindDate) {\n const rewindParsed = rewindDate.toISOString();\n\n urlTake = `/api/v1/buckets/${bucketName}/rewind/${rewindParsed}`;\n }\n } else if (showDeleted) {\n // Do we want to display deleted items too?, we use rewind to current time to show everything\n const currDate = new Date();\n const currDateISO = currDate.toISOString();\n\n urlTake = `/api/v1/buckets/${bucketName}/rewind/${currDateISO}`;\n }\n\n api\n .invoke(\n \"GET\",\n `${urlTake}${\n pathPrefix ? `?prefix=${encodeURLString(pathPrefix)}` : ``\n }`\n )\n .then((res: BucketObjectItemsList) => {\n const records: BucketObjectItem[] = res.objects || [];\n const folders: BucketObjectItem[] = [];\n const files: BucketObjectItem[] = [];\n\n // We separate items between folders or files to display folders at the beginning always.\n records.forEach((record) => {\n // We omit files from the same path\n if (record.name !== decodeURLString(internalPaths)) {\n // this is a folder\n if (record.name.endsWith(\"/\")) {\n folders.push(record);\n } else {\n // this is a file\n files.push(record);\n }\n }\n });\n\n const recordsInElement = [...folders, ...files];\n\n if (recordsInElement.length === 0 && pathPrefix !== \"\") {\n let pathTest = `/api/v1/buckets/${bucketName}/objects${\n internalPaths ? `?prefix=${internalPaths}` : \"\"\n }`;\n\n if (rewindEnabled) {\n const rewindParsed = rewindDate.toISOString();\n\n let pathPrefix = \"\";\n if (internalPaths) {\n const decodedPath = decodeURLString(internalPaths);\n pathPrefix = decodedPath.endsWith(\"/\")\n ? decodedPath\n : decodedPath + \"/\";\n }\n\n pathTest = `/api/v1/buckets/${bucketName}/rewind/${rewindParsed}${\n pathPrefix ? `?prefix=${encodeURLString(pathPrefix)}` : ``\n }`;\n }\n\n api\n .invoke(\"GET\", pathTest)\n .then((res: BucketObjectItemsList) => {\n //It is a file since it has elements in the object, setting file flag and waiting for component mount\n if (!res.objects) {\n // It is a folder, we remove loader & set original results list\n dispatch(setLoadingObjectsList(false));\n setRecords(recordsInElement);\n } else {\n // This code prevents the program from opening a file when a substring of that file is entered as a new folder.\n // Previously, if there was a file test1.txt and the folder test was created with the same prefix, the program\n // would open test1.txt instead\n let found = false;\n let pathPrefixChopped = pathPrefix.slice(\n 0,\n pathPrefix.length - 1\n );\n for (let i = 0; i < res.objects.length; i++) {\n if (res.objects[i].name === pathPrefixChopped) {\n found = true;\n }\n }\n if (\n (res.objects.length === 1 &&\n res.objects[0].name.endsWith(\"/\")) ||\n !found\n ) {\n // This is a folder, we set the original results list\n setRecords(recordsInElement);\n } else {\n // This is a file. We change URL & Open file details view.\n dispatch(setObjectDetailsView(true));\n dispatch(setSelectedObjectView(internalPaths));\n\n // We split the selected object URL & remove the last item to fetch the files list for the parent folder\n const parentPath = `${decodeURLString(internalPaths)\n .split(\"/\")\n .slice(0, -1)\n .join(\"/\")}/`;\n\n api\n .invoke(\n \"GET\",\n `${urlTake}${\n pathPrefix\n ? `?prefix=${encodeURLString(parentPath)}`\n : ``\n }`\n )\n .then((res: BucketObjectItemsList) => {\n const records: BucketObjectItem[] = res.objects || [];\n\n setRecords(records);\n })\n .catch(() => {});\n }\n\n dispatch(setLoadingObjectsList(false));\n }\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setLoadingObjectsList(false));\n dispatch(setErrorSnackMessage(err));\n });\n } else {\n setRecords(recordsInElement);\n dispatch(setLoadingObjectsList(false));\n }\n })\n .catch((err: ErrorResponseHandler) => {\n const permitItems = permissionItems(\n bucketName,\n pathPrefix,\n allowResources || []\n );\n\n if (!permitItems || permitItems.length === 0) {\n dispatch(setErrorSnackMessage(err));\n } else {\n setRecords(permitItems);\n }\n\n dispatch(setLoadingObjectsList(false));\n });\n } else {\n dispatch(setLoadingObjectsList(false));\n }\n }\n }, [\n loading,\n dispatch,\n bucketName,\n rewindEnabled,\n rewindDate,\n internalPaths,\n bucketInfo,\n showDeleted,\n displayListObjects,\n bucketToRewind,\n allowResources,\n ]);\n\n // bucket info\n useEffect(() => {\n if (loadingBucket) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}`)\n .then((res: BucketInfo) => {\n dispatch(setBucketDetailsLoad(false));\n dispatch(setBucketInfo(res));\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setBucketDetailsLoad(false));\n dispatch(setErrorSnackMessage(err));\n });\n }\n }, [bucketName, loadingBucket, dispatch]);\n\n const closeDeleteMultipleModalAndRefresh = (refresh: boolean) => {\n setDeleteMultipleOpen(false);\n\n if (refresh) {\n dispatch(setSnackBarMessage(`Objects deleted successfully.`));\n setSelectedObjects([]);\n dispatch(setLoadingObjectsList(true));\n }\n };\n\n const handleUploadButton = (e: any) => {\n if (\n e === null ||\n e === undefined ||\n e.target.files === null ||\n e.target.files === undefined\n ) {\n return;\n }\n e.preventDefault();\n var newFiles: File[] = [];\n\n for (var i = 0; i < e.target.files.length; i++) {\n newFiles.push(e.target.files[i]);\n }\n uploadObject(newFiles, \"\");\n\n e.target.value = \"\";\n };\n\n const downloadObject = (object: BucketObjectItem) => {\n const identityDownload = encodeURLString(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`\n );\n\n const ID = makeid(8);\n\n const downloadCall = download(\n bucketName,\n encodeURLString(object.name),\n object.version_id,\n object.size,\n null,\n ID,\n (progress) => {\n dispatch(\n updateProgress({\n instanceID: identityDownload,\n progress: progress,\n })\n );\n },\n () => {\n dispatch(completeObject(identityDownload));\n },\n (msg: string) => {\n dispatch(failObject({ instanceID: identityDownload, msg }));\n },\n () => {\n dispatch(cancelObjectInList(identityDownload));\n }\n );\n storeCallForObjectWithID(ID, downloadCall);\n dispatch(\n setNewObject({\n ID,\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name,\n type: \"download\",\n waitingForFile: true,\n failed: false,\n cancelled: false,\n errorMessage: \"\",\n })\n );\n };\n\n const openPath = (idElement: string) => {\n setSelectedObjects([]);\n\n const newPath = `/buckets/${bucketName}/browse${\n idElement ? `/${encodeURLString(idElement)}` : ``\n }`;\n navigate(newPath);\n\n dispatch(setObjectDetailsView(true));\n dispatch(setLoadingVersions(true));\n dispatch(\n setSelectedObjectView(\n `${idElement ? `${encodeURLString(idElement)}` : ``}`\n )\n );\n };\n\n const uploadObject = useCallback(\n (files: File[], folderPath: string): void => {\n let pathPrefix = \"\";\n if (simplePath) {\n pathPrefix = simplePath.endsWith(\"/\") ? simplePath : simplePath + \"/\";\n }\n\n const upload = (\n files: File[],\n bucketName: string,\n path: string,\n folderPath: string\n ) => {\n let uploadPromise = (file: File) => {\n return new Promise((resolve, reject) => {\n let uploadUrl = `api/v1/buckets/${bucketName}/objects/upload`;\n const fileName = file.name;\n\n const blobFile = new Blob([file], { type: file.type });\n\n let encodedPath = \"\";\n\n const filePath = get(file, \"path\", \"\");\n const fileWebkitRelativePath = get(file, \"webkitRelativePath\", \"\");\n\n let relativeFolderPath = folderPath;\n const ID = makeid(8);\n\n // File was uploaded via drag & drop\n if (filePath !== \"\") {\n relativeFolderPath = filePath;\n } else if (fileWebkitRelativePath !== \"\") {\n // File was uploaded using upload button\n relativeFolderPath = fileWebkitRelativePath;\n }\n\n if (path !== \"\" || relativeFolderPath !== \"\") {\n const finalFolderPath = relativeFolderPath\n .split(\"/\")\n .slice(0, -1)\n .join(\"/\");\n\n const pathClean = path.endsWith(\"/\") ? path.slice(0, -1) : path;\n\n encodedPath = encodeURLString(\n `${pathClean}${\n !pathClean.endsWith(\"/\") &&\n finalFolderPath !== \"\" &&\n !finalFolderPath.startsWith(\"/\")\n ? \"/\"\n : \"\"\n }${finalFolderPath}${\n !finalFolderPath.endsWith(\"/\") ||\n (finalFolderPath.trim() === \"\" && !path.endsWith(\"/\"))\n ? \"/\"\n : \"\"\n }`\n );\n }\n\n if (encodedPath !== \"\") {\n uploadUrl = `${uploadUrl}?prefix=${encodedPath}`;\n }\n\n const identity = encodeURLString(\n `${bucketName}-${encodedPath}-${new Date().getTime()}-${Math.random()}`\n );\n\n let xhr = new XMLHttpRequest();\n xhr.open(\"POST\", uploadUrl, true);\n\n const areMultipleFiles = files.length > 1;\n let errorMessage = `An error occurred while uploading the file${\n areMultipleFiles ? \"s\" : \"\"\n }.`;\n\n const errorMessages: any = {\n 413: \"Error - File size too large\",\n };\n\n xhr.withCredentials = false;\n xhr.onload = function (event) {\n // resolve promise only when HTTP code is ok\n if (xhr.status >= 200 && xhr.status < 300) {\n dispatch(completeObject(identity));\n resolve({ status: xhr.status });\n\n removeTrace(ID);\n } else {\n // reject promise if there was a server error\n if (errorMessages[xhr.status]) {\n errorMessage = errorMessages[xhr.status];\n } else if (xhr.response) {\n try {\n const err = JSON.parse(xhr.response);\n errorMessage = err.detailedMessage;\n } catch (e) {\n errorMessage = \"something went wrong\";\n }\n }\n\n dispatch(\n failObject({\n instanceID: identity,\n msg: errorMessage,\n })\n );\n reject({ status: xhr.status, message: errorMessage });\n\n removeTrace(ID);\n }\n };\n\n xhr.upload.addEventListener(\"error\", (event) => {\n reject(errorMessage);\n dispatch(\n failObject({\n instanceID: identity,\n msg: \"A network error occurred.\",\n })\n );\n return;\n });\n\n xhr.upload.addEventListener(\"progress\", (event) => {\n const progress = Math.floor((event.loaded * 100) / event.total);\n\n dispatch(\n updateProgress({\n instanceID: identity,\n progress: progress,\n })\n );\n });\n\n xhr.onerror = () => {\n reject(errorMessage);\n dispatch(\n failObject({\n instanceID: identity,\n msg: \"A network error occurred.\",\n })\n );\n return;\n };\n xhr.onloadend = () => {\n if (files.length === 0) {\n dispatch(setLoadingObjectsList(true));\n }\n };\n xhr.onabort = () => {\n dispatch(cancelObjectInList(identity));\n };\n\n const formData = new FormData();\n if (file.size !== undefined) {\n formData.append(file.size.toString(), blobFile, fileName);\n storeCallForObjectWithID(ID, xhr);\n dispatch(\n setNewObject({\n ID,\n bucketName,\n done: false,\n instanceID: identity,\n percentage: 0,\n prefix: `${decodeURLString(encodedPath)}${fileName}`,\n type: \"upload\",\n waitingForFile: false,\n failed: false,\n cancelled: false,\n errorMessage: \"\",\n })\n );\n\n storeFormDataWithID(ID, formData);\n storeCallForObjectWithID(ID, xhr);\n }\n });\n };\n\n const uploadFilePromises: any = [];\n // open object manager\n dispatch(openList());\n for (let i = 0; i < files.length; i++) {\n const file = files[i];\n uploadFilePromises.push(uploadPromise(file));\n }\n Promise.allSettled(uploadFilePromises).then((results: Array) => {\n const errors = results.filter(\n (result) => result.status === \"rejected\"\n );\n if (errors.length > 0) {\n const totalFiles = uploadFilePromises.length;\n const successUploadedFiles =\n uploadFilePromises.length - errors.length;\n const err: ErrorResponseHandler = {\n errorMessage: \"There were some errors during file upload\",\n detailedError: `Uploaded files ${successUploadedFiles}/${totalFiles}`,\n };\n dispatch(setErrorSnackMessage(err));\n }\n // We force objects list reload after all promises were handled\n dispatch(setLoadingObjectsList(true));\n setSelectedObjects([]);\n });\n };\n\n upload(files, bucketName, pathPrefix, folderPath);\n },\n [bucketName, dispatch, simplePath]\n );\n\n const onDrop = useCallback(\n (acceptedFiles: any[]) => {\n if (acceptedFiles && acceptedFiles.length > 0 && canUpload) {\n let newFolderPath: string = acceptedFiles[0].path;\n uploadObject(acceptedFiles, newFolderPath);\n }\n if (!canUpload) {\n dispatch(\n setErrorSnackMessage({\n errorMessage: \"Upload not allowed\",\n detailedError: permissionTooltipHelper(\n [IAM_SCOPES.S3_PUT_OBJECT],\n \"upload objects to this location\"\n ),\n })\n );\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [uploadObject]\n );\n\n const { getRootProps, getInputProps, isDragActive, isDragAccept } =\n useDropzone({\n noClick: true,\n onDrop,\n });\n\n const dndStyles = useMemo(\n () => ({\n ...baseDnDStyle,\n ...(isDragActive ? activeDnDStyle : {}),\n ...(isDragAccept ? acceptDnDStyle : {}),\n }),\n [isDragActive, isDragAccept]\n );\n\n const openPreview = () => {\n if (selectedObjects.length === 1) {\n let fileObject: BucketObjectItem | undefined;\n\n const findFunction = (currValue: BucketObjectItem) =>\n selectedObjects.includes(currValue.name);\n\n fileObject = filteredRecords.find(findFunction);\n\n if (fileObject) {\n setSelectedPreview(fileObject);\n setPreviewOpen(true);\n }\n }\n };\n\n const openShare = () => {\n if (selectedObjects.length === 1) {\n let fileObject: BucketObjectItem | undefined;\n\n const findFunction = (currValue: BucketObjectItem) =>\n selectedObjects.includes(currValue.name);\n\n fileObject = filteredRecords.find(findFunction);\n\n if (fileObject) {\n setSelectedPreview(fileObject);\n setShareFileModalOpen(true);\n }\n }\n };\n\n const closeShareModal = () => {\n setShareFileModalOpen(false);\n setSelectedPreview(null);\n };\n\n const filteredRecords = records.filter((b: BucketObjectItem) => {\n if (searchObjects === \"\") {\n return true;\n } else {\n const objectName = b.name.toLowerCase();\n if (objectName.indexOf(searchObjects.toLowerCase()) >= 0) {\n return true;\n } else {\n return false;\n }\n }\n });\n\n const rewindCloseModal = () => {\n setRewindSelect(false);\n };\n\n const closePreviewWindow = () => {\n setPreviewOpen(false);\n setSelectedPreview(null);\n };\n\n const selectListObjects = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selectedObjects]; // We clone the selectedBuckets array\n\n if (checked) {\n // If the user has checked this field we need to push this to selectedBucketsList\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n setSelectedObjects(elements);\n dispatch(setSelectedObjectView(null));\n\n return elements;\n };\n\n const sortChange = (sortData: any) => {\n const newSortDirection = get(sortData, \"sortDirection\", \"DESC\");\n setCurrentSortField(sortData.sortBy);\n setSortDirection(newSortDirection);\n dispatch(setLoadingObjectsList(true));\n };\n\n const pageTitle = decodeURLString(internalPaths);\n const currentPath = pageTitle.split(\"/\").filter((i: string) => i !== \"\");\n\n const plSelect = filteredRecords;\n const sortASC = plSelect.sort(sortListObjects(currentSortField));\n\n let payload: BucketObjectItem[] = [];\n\n if (sortDirection === \"ASC\") {\n payload = sortASC;\n } else {\n payload = sortASC.reverse();\n }\n\n const selectAllItems = () => {\n dispatch(setSelectedObjectView(null));\n\n if (selectedObjects.length === payload.length) {\n setSelectedObjects([]);\n return;\n }\n\n const elements = payload.map((item) => item.name);\n setSelectedObjects(elements);\n };\n\n const downloadSelected = () => {\n if (selectedObjects.length !== 0) {\n let itemsToDownload: BucketObjectItem[] = [];\n\n const filterFunction = (currValue: BucketObjectItem) =>\n selectedObjects.includes(currValue.name);\n\n itemsToDownload = filteredRecords.filter(filterFunction);\n\n // I case just one element is selected, then we trigger download modal validation.\n // We are going to enforce zip download when multiple files are selected\n if (itemsToDownload.length === 1) {\n if (\n itemsToDownload[0].name.length > 200 &&\n getClientOS().toLowerCase().includes(\"win\")\n ) {\n setDownloadRenameModal(itemsToDownload[0]);\n return;\n }\n }\n\n itemsToDownload.forEach((filteredItem) => {\n downloadObject(filteredItem);\n });\n }\n };\n let uploadPath = [bucketName];\n if (currentPath.length > 0) {\n uploadPath = uploadPath.concat(currentPath);\n }\n\n const canDownload = hasPermission(bucketName, [IAM_SCOPES.S3_GET_OBJECT]);\n const canDelete = hasPermission(bucketName, [IAM_SCOPES.S3_DELETE_OBJECT]);\n const canUpload = hasPermission(uploadPath, [IAM_SCOPES.S3_PUT_OBJECT]);\n\n const onClosePanel = (forceRefresh: boolean) => {\n dispatch(setSelectedObjectView(null));\n dispatch(setVersionsModeEnabled({ status: false }));\n if (detailsOpen && selectedInternalPaths !== null) {\n // We change URL to be the contained folder\n\n const decodedPath = decodeURLString(internalPaths);\n const splitURLS = decodedPath.split(\"/\");\n\n // We remove the last section of the URL as it should be a file\n splitURLS.pop();\n\n let URLItem = \"\";\n\n if (splitURLS && splitURLS.length > 0) {\n URLItem = `${splitURLS.join(\"/\")}/`;\n }\n\n navigate(`/buckets/${bucketName}/browse/${encodeURLString(URLItem)}`);\n }\n\n dispatch(setObjectDetailsView(false));\n setSelectedObjects([]);\n\n if (forceRefresh) {\n dispatch(setLoadingObjectsList(true));\n }\n };\n\n const setDeletedAction = () => {\n dispatch(setShowDeletedObjects(!showDeleted));\n onClosePanel(true);\n };\n\n const closeRenameModal = () => {\n setDownloadRenameModal(null);\n };\n\n const tableActions: ItemActions[] = [\n {\n type: \"view\",\n label: \"View\",\n onClick: openPath,\n sendOnlyId: true,\n },\n ];\n\n const multiActionButtons = [\n {\n action: downloadSelected,\n label: \"Download\",\n disabled: !canDownload || selectedObjects.length === 0,\n icon: ,\n tooltip: canDownload\n ? \"Download Selected\"\n : permissionTooltipHelper(\n [IAM_SCOPES.S3_GET_OBJECT],\n \"download objects from this bucket\"\n ),\n },\n {\n action: openShare,\n label: \"Share\",\n disabled: selectedObjects.length !== 1 || !canShareFile,\n icon: ,\n tooltip: canShareFile ? \"Share Selected File\" : \"Sharing unavailable\",\n },\n {\n action: openPreview,\n label: \"Preview\",\n disabled: selectedObjects.length !== 1 || !canPreviewFile,\n icon: ,\n tooltip: canPreviewFile ? \"Preview Selected File\" : \"Preview unavailable\",\n },\n {\n action: () => {\n setDeleteMultipleOpen(true);\n },\n label: \"Delete\",\n icon: ,\n disabled:\n !canDelete || selectedObjects.length === 0 || !displayDeleteObject,\n tooltip: canDelete\n ? \"Delete Selected Files\"\n : permissionTooltipHelper(\n [IAM_SCOPES.S3_DELETE_OBJECT],\n \"delete objects in this bucket\"\n ),\n },\n ];\n\n return (\n \n {shareFileModalOpen && selectedPreview && (\n \n )}\n {deleteMultipleOpen && (\n \n )}\n {rewindSelect && (\n \n )}\n {previewOpen && (\n \n )}\n {!!downloadRenameModal && (\n \n )}\n \n \n \n \n \n }\n title={{bucketName}}\n subTitle={\n \n \n \n Created:   \n {bucketInfo?.creation_date || \"\"}\n \n \n Access:   \n {bucketInfo?.access || \"\"}\n \n {bucketInfo && (\n \n \n {bucketInfo.size && (\n {niceBytesInt(bucketInfo.size)}\n )}\n {bucketInfo.size && quota && (\n / {niceBytesInt(quota.quota)}\n )}\n {bucketInfo.size && bucketInfo.objects ? \" - \" : \"\"}\n {bucketInfo.objects && (\n \n {bucketInfo.objects} Object\n {bucketInfo.objects && bucketInfo.objects !== 1\n ? \"s\"\n : \"\"}\n \n )}\n \n \n )}\n \n \n }\n actions={\n \n
\n \n \n \n \n }\n variant={\"regular\"}\n onClick={() => {\n setRewindSelect(true);\n }}\n disabled={\n !isVersioned ||\n !hasPermission(bucketName, [IAM_SCOPES.S3_GET_OBJECT])\n }\n />\n \n \n }\n variant={\"regular\"}\n onClick={() => {\n if (versionsMode) {\n dispatch(setLoadingVersions(true));\n } else {\n dispatch(setLoadingObjectsList(true));\n }\n }}\n disabled={\n !hasPermission(bucketName, [\n IAM_SCOPES.S3_LIST_BUCKET,\n ]) || rewindEnabled\n }\n />\n \n \n \n {\n if (fileUpload && fileUpload.current) {\n fileUpload.current.click();\n }\n closeMenu();\n }}\n uploadFolderFunction={(closeMenu) => {\n if (folderUpload && folderUpload.current) {\n folderUpload.current.click();\n }\n closeMenu();\n }}\n />\n
\n
\n }\n />\n
\n \n \n \n {versionsMode ? (\n \n {selectedInternalPaths !== null && (\n \n )}\n \n ) : (\n \n \n \n \n \n \n )\n }\n hidePathButton={false}\n />\n \n {\n if (payload[index]?.delete_flag) {\n return \"deleted\";\n }\n\n return \"\";\n }}\n parentClassName={classes.parentWrapper}\n />\n \n \n )}\n \n {\n onClosePanel(false);\n }}\n className={`${versionsMode ? classes.hideListOnSmall : \"\"}`}\n >\n {selectedObjects.length > 0 && (\n \n )}\n {selectedInternalPaths !== null && (\n \n )}\n \n \n \n \n
\n
\n );\n};\n\nexport default ListObjects;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useLocation, useNavigate, useParams } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid } from \"@mui/material\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport { containerForHeader } from \"../../Common/FormComponents/common/styleLibrary\";\n\nimport ListObjects from \"../ListBuckets/Objects/ListObjects/ListObjects\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport SettingsIcon from \"../../../../icons/SettingsIcon\";\n\nimport { SecureComponent } from \"../../../../common/SecureComponent\";\nimport {\n IAM_PAGES,\n IAM_PERMISSIONS,\n IAM_ROLES,\n IAM_SCOPES,\n} from \"../../../../common/SecureComponent/permissions\";\nimport BackLink from \"../../../../common/BackLink\";\nimport {\n setSearchObjects,\n setSearchVersions,\n setVersionsModeEnabled,\n} from \"../../ObjectBrowser/objectBrowserSlice\";\nimport SearchBox from \"../../Common/SearchBox\";\nimport { selFeatures } from \"../../consoleSlice\";\nimport AutoColorIcon from \"../../Common/Components/AutoColorIcon\";\nimport TooltipWrapper from \"../../Common/TooltipWrapper/TooltipWrapper\";\nimport { Button } from \"mds\";\nimport hasPermission from \"../../../../common/SecureComponent/accessControl\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst BrowserHandler = () => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n const params = useParams();\n const location = useLocation();\n\n const versionsMode = useSelector(\n (state: AppState) => state.objectBrowser.versionsMode\n );\n const searchObjects = useSelector(\n (state: AppState) => state.objectBrowser.searchObjects\n );\n const versionedFile = useSelector(\n (state: AppState) => state.objectBrowser.versionedFile\n );\n const searchVersions = useSelector(\n (state: AppState) => state.objectBrowser.searchVersions\n );\n\n const features = useSelector(selFeatures);\n\n const bucketName = params.bucketName || \"\";\n const pathSegment = location.pathname.split(\"/browse/\");\n\n const internalPaths = pathSegment.length === 2 ? pathSegment[1] : \"\";\n\n const obOnly = !!features?.includes(\"object-browser-only\");\n\n useEffect(() => {\n dispatch(setVersionsModeEnabled({ status: false }));\n }, [internalPaths, dispatch]);\n\n const openBucketConfiguration = () => {\n navigate(`/buckets/${bucketName}/admin`);\n };\n\n const configureBucketAllowed = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_POLICY,\n IAM_SCOPES.S3_PUT_BUCKET_POLICY,\n IAM_SCOPES.S3_GET_BUCKET_VERSIONING,\n IAM_SCOPES.S3_PUT_BUCKET_VERSIONING,\n IAM_SCOPES.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION,\n IAM_SCOPES.S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION,\n IAM_SCOPES.S3_DELETE_BUCKET,\n IAM_SCOPES.S3_GET_BUCKET_NOTIFICATIONS,\n IAM_SCOPES.S3_PUT_BUCKET_NOTIFICATIONS,\n IAM_SCOPES.S3_GET_REPLICATION_CONFIGURATION,\n IAM_SCOPES.S3_PUT_REPLICATION_CONFIGURATION,\n IAM_SCOPES.S3_GET_LIFECYCLE_CONFIGURATION,\n IAM_SCOPES.S3_PUT_LIFECYCLE_CONFIGURATION,\n IAM_SCOPES.ADMIN_GET_BUCKET_QUOTA,\n IAM_SCOPES.ADMIN_SET_BUCKET_QUOTA,\n IAM_SCOPES.S3_PUT_BUCKET_TAGGING,\n IAM_SCOPES.S3_GET_BUCKET_TAGGING,\n IAM_SCOPES.S3_LIST_BUCKET_VERSIONS,\n IAM_SCOPES.S3_GET_BUCKET_POLICY_STATUS,\n IAM_SCOPES.S3_DELETE_BUCKET_POLICY,\n ]);\n\n const searchBar = (\n \n {!versionsMode ? (\n \n {\n dispatch(setSearchObjects(value));\n }}\n value={searchObjects}\n />\n \n ) : (\n \n {\n dispatch(setSearchVersions(value));\n }}\n value={searchVersions}\n />\n \n )}\n \n );\n\n return (\n \n {!obOnly ? (\n }\n actions={\n \n \n \n }\n style={{\n padding: \"0 10px\",\n }}\n />\n \n \n }\n middleComponent={searchBar}\n />\n ) : (\n \n \n \n \n \n {searchBar}\n \n \n )}\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(BrowserHandler);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport InputLabel from \"@mui/material/InputLabel\";\nimport moment from \"moment/moment\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport InputBoxWrapper from \"../InputBoxWrapper/InputBoxWrapper\";\nimport { LinkIcon } from \"../../../../../icons\";\n\ninterface IDaysSelector {\n classes: any;\n id: string;\n initialDate: Date;\n maxDays?: number;\n label: string;\n entity: string;\n onChange: (newDate: string, isValid: boolean) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n labelContainer: {\n display: \"flex\",\n alignItems: \"center\",\n marginBottom: 15,\n },\n fieldContainer: {\n ...fieldBasic.fieldContainer,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n paddingBottom: 10,\n marginTop: 11,\n marginBottom: 6,\n },\n dateInputContainer: {\n margin: \"0 10px\",\n },\n durationInputs: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n },\n\n validityIndicator: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n marginTop: 25,\n marginLeft: 10,\n },\n invalidDurationText: {\n marginTop: 15,\n display: \"flex\",\n color: \"red\",\n fontSize: 11,\n },\n reverseInput: {\n flexFlow: \"row-reverse\",\n \"& > label\": {\n fontWeight: 400,\n marginLeft: 15,\n marginRight: 25,\n },\n },\n validityText: {\n fontSize: 14,\n marginTop: 15,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n \"& > .min-icon\": {\n color: \"#5E5E5E\",\n width: 15,\n height: 15,\n marginRight: 10,\n },\n },\n validTill: {\n fontWeight: \"bold\",\n marginLeft: 15,\n },\n });\n\nconst calculateNewTime = (\n initialDate: Date,\n days: number,\n hours: number,\n minutes: number\n) => {\n return moment(initialDate)\n .add(days, \"days\")\n .add(hours, \"hours\")\n .add(minutes, \"minutes\");\n};\n\nconst DaysSelector = ({\n classes,\n id,\n initialDate,\n label,\n maxDays,\n entity,\n onChange,\n}: IDaysSelector) => {\n const [selectedDays, setSelectedDays] = useState(7);\n const [selectedHours, setSelectedHours] = useState(0);\n const [selectedMinutes, setSelectedMinutes] = useState(0);\n const [validDate, setValidDate] = useState(true);\n const [dateSelected, setDateSelected] = useState(moment());\n\n useEffect(() => {\n setDateSelected(\n calculateNewTime(\n initialDate,\n selectedDays,\n selectedHours,\n selectedMinutes\n )\n );\n }, [initialDate, selectedDays, selectedHours, selectedMinutes]);\n\n useEffect(() => {\n if (validDate) {\n onChange(dateSelected.format(\"YYYY-MM-DDTHH:mm:ss\"), true);\n } else {\n onChange(\"0000-00-00\", false);\n }\n }, [dateSelected, onChange, validDate]);\n\n // Basic validation for inputs\n useEffect(() => {\n let valid = true;\n if (\n selectedDays < 0 ||\n (maxDays && selectedDays > maxDays) ||\n isNaN(selectedDays)\n ) {\n valid = false;\n }\n\n if (selectedHours < 0 || selectedHours > 23 || isNaN(selectedHours)) {\n valid = false;\n }\n\n if (selectedMinutes < 0 || selectedMinutes > 59 || isNaN(selectedMinutes)) {\n valid = false;\n }\n\n if (\n maxDays &&\n selectedDays === maxDays &&\n (selectedHours !== 0 || selectedMinutes !== 0)\n ) {\n valid = false;\n }\n\n setValidDate(valid);\n }, [\n dateSelected,\n maxDays,\n onChange,\n selectedDays,\n selectedHours,\n selectedMinutes,\n ]);\n\n const extraInputProps = {\n style: {\n textAlign: \"center\" as const,\n paddingRight: 10,\n paddingLeft: 10,\n width: 25,\n },\n className: \"removeArrows\" as const,\n };\n\n return (\n \n \n \n \n {label}\n \n \n \n \n {\n setSelectedDays(parseInt(e.target.value));\n }}\n value={selectedDays.toString()}\n extraInputProps={extraInputProps}\n noLabelMinWidth\n />\n \n \n {\n setSelectedHours(parseInt(e.target.value));\n }}\n value={selectedHours.toString()}\n extraInputProps={extraInputProps}\n noLabelMinWidth\n />\n \n \n {\n setSelectedMinutes(parseInt(e.target.value));\n }}\n value={selectedMinutes.toString()}\n extraInputProps={extraInputProps}\n noLabelMinWidth\n />\n \n \n \n {validDate ? (\n
\n \n
\n {entity} will be available until:\n
{\" \"}\n
\n {dateSelected.format(\"MM/DD/YYYY HH:mm:ss\")}\n
\n
\n ) : (\n
\n Please select a valid duration.\n
\n )}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(DaysSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport Grid from \"@mui/material/Grid\";\nimport LinearProgress from \"@mui/material/LinearProgress\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nimport { IFileInfo } from \"./types\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport api from \"../../../../../../common/api\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport PredefinedList from \"../../../../Common/FormComponents/PredefinedList/PredefinedList\";\nimport DaysSelector from \"../../../../Common/FormComponents/DaysSelector/DaysSelector\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport { ShareIcon } from \"../../../../../../icons\";\nimport {\n selDistSet,\n setModalErrorSnackMessage,\n setModalSnackMessage,\n} from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\nconst CopyIcon = React.lazy(() => import(\"../../../../../../icons/CopyIcon\"));\n\nconst styles = (theme: Theme) =>\n createStyles({\n shareLinkInfo: {\n fontSize: 14,\n fontWeight: 400,\n },\n copyShareLink: {\n display: \"flex\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n },\n copyShareLinkInput: {\n \"& div:first-child\": {\n marginTop: 0,\n },\n \"@media (max-width: 900px)\": {\n minWidth: 250,\n },\n },\n copyShareLinkBtn: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"@media (max-width: 900px)\": {\n marginTop: 10,\n },\n },\n ...modalStyleUtils,\n ...formFieldStyles,\n });\n\ninterface IShareFileProps {\n classes: any;\n open: boolean;\n bucketName: string;\n dataObject: IFileInfo;\n closeModalAndRefresh: () => void;\n}\n\nconst ShareFile = ({\n classes,\n open,\n closeModalAndRefresh,\n bucketName,\n dataObject,\n}: IShareFileProps) => {\n const dispatch = useAppDispatch();\n const distributedSetup = useSelector(selDistSet);\n const [shareURL, setShareURL] = useState(\"\");\n const [isLoadingVersion, setIsLoadingVersion] = useState(true);\n const [isLoadingFile, setIsLoadingFile] = useState(false);\n const [selectedDate, setSelectedDate] = useState(\"\");\n const [dateValid, setDateValid] = useState(true);\n const [versionID, setVersionID] = useState(\"null\");\n\n const initialDate = new Date();\n\n const dateChanged = (newDate: string, isValid: boolean) => {\n setDateValid(isValid);\n if (isValid) {\n setSelectedDate(newDate);\n return;\n }\n setSelectedDate(\"\");\n setShareURL(\"\");\n };\n\n useEffect(() => {\n // In case version is undefined, we get the latest version of the object\n if (dataObject.version_id === undefined) {\n // In case it is not distributed setup, then we default to \"null\";\n if (distributedSetup) {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects?prefix=${encodeURLString(\n dataObject.name\n )}${distributedSetup ? \"&with_versions=true\" : \"\"}`\n )\n .then((res: IFileInfo[]) => {\n const result = get(res, \"objects\", []);\n\n const latestVersion = result.find(\n (elem: IFileInfo) => elem.is_latest\n );\n\n if (latestVersion) {\n setVersionID(latestVersion.version_id);\n return;\n }\n\n // Version couldn't ve retrieved, we default\n setVersionID(\"null\");\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setModalErrorSnackMessage(error));\n });\n\n setIsLoadingVersion(false);\n return;\n }\n setVersionID(\"null\");\n setIsLoadingVersion(false);\n return;\n }\n setVersionID(dataObject.version_id || \"null\");\n setIsLoadingVersion(false);\n }, [bucketName, dataObject, distributedSetup, dispatch]);\n\n useEffect(() => {\n if (dateValid && !isLoadingVersion) {\n setIsLoadingFile(true);\n setShareURL(\"\");\n\n const slDate = new Date(`${selectedDate}`);\n const currDate = new Date();\n\n const diffDate = Math.ceil(\n (slDate.getTime() - currDate.getTime()) / 1000\n );\n\n if (diffDate > 0) {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects/share?prefix=${encodeURLString(\n dataObject.name\n )}&version_id=${versionID}${\n selectedDate !== \"\" ? `&expires=${diffDate}s` : \"\"\n }`\n )\n .then((res: string) => {\n setShareURL(res);\n setIsLoadingFile(false);\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setModalErrorSnackMessage(error));\n setShareURL(\"\");\n setIsLoadingFile(false);\n });\n }\n }\n }, [\n dataObject,\n selectedDate,\n bucketName,\n dateValid,\n setShareURL,\n dispatch,\n distributedSetup,\n isLoadingVersion,\n versionID,\n ]);\n\n return (\n \n }\n modalOpen={open}\n onClose={() => {\n closeModalAndRefresh();\n }}\n >\n {isLoadingVersion && (\n \n \n \n )}\n {!isLoadingVersion && (\n \n \n This is a temporary URL with integrated access credentials for\n sharing objects valid for up to 7 days.\n
\n
\n The temporary URL expires after the configured time limit.\n
\n
\n \n \n \n \n \n \n {\n dispatch(\n setModalSnackMessage(\n \"Share URL Copied to clipboard\"\n )\n );\n }}\n disabled={shareURL === \"\" || isLoadingFile}\n style={{\n marginRight: \"5px\",\n width: \"28px\",\n height: \"28px\",\n padding: \"0px\",\n }}\n icon={}\n />\n \n }\n />\n \n \n
\n )}\n \n
\n );\n};\n\nexport default withStyles(styles)(ShareFile);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, LinearProgress } from \"@mui/material\";\nimport { BucketObjectItem } from \"../ListObjects/types\";\nimport { extensionPreview } from \"../utils\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport clsx from \"clsx\";\n\nconst styles = () =>\n createStyles({\n iframeContainer: {\n border: \"0px\",\n flex: \"1 1 auto\",\n width: \"100%\",\n height: 250,\n backgroundColor: \"transparent\",\n borderRadius: 5,\n\n \"&.image\": {\n height: 500,\n },\n \"&.text\": {\n height: 700,\n },\n \"&.audio\": {\n height: 150,\n },\n \"&.video\": {\n height: 350,\n },\n \"&.fullHeight\": {\n height: \"calc(100vh - 185px)\",\n },\n },\n iframeBase: {\n backgroundColor: \"#fff\",\n },\n iframeHidden: {\n display: \"none\",\n },\n });\n\ninterface IPreviewFileProps {\n bucketName: string;\n object: BucketObjectItem | null;\n isFullscreen?: boolean;\n classes: any;\n}\n\nconst PreviewFile = ({\n bucketName,\n object,\n isFullscreen = false,\n classes,\n}: IPreviewFileProps) => {\n const [loading, setLoading] = useState(true);\n\n let path = \"\";\n\n if (object) {\n const encodedPath = encodeURLString(object.name);\n let basename = document.baseURI.replace(window.location.origin, \"\");\n path = `${window.location.origin}${basename}api/v1/buckets/${bucketName}/objects/download?preview=true&prefix=${encodedPath}`;\n if (object.version_id) {\n path = path.concat(`&version_id=${object.version_id}`);\n }\n }\n\n const objectType = extensionPreview(object?.name || \"\");\n\n const iframeLoaded = () => {\n setLoading(false);\n };\n\n return (\n \n {loading && (\n \n \n \n )}\n
\n {objectType === \"video\" && (\n \n \n \n )}\n {objectType === \"audio\" && (\n \n \n \n )}\n {objectType === \"image\" && (\n \n )}\n {objectType !== \"video\" &&\n objectType !== \"audio\" &&\n objectType !== \"image\" && (\n \n \n File couldn't be loaded. Please try Download instead\n \n
\n )}\n \n
\n );\n};\nexport default withStyles(styles)(PreviewFile);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport PreviewFileContent from \"./PreviewFileContent\";\nimport { BucketObjectItem } from \"../ListObjects/types\";\nimport { ObjectPreviewIcon } from \"../../../../../../icons\";\n\ninterface IPreviewFileProps {\n open: boolean;\n bucketName: string;\n object: BucketObjectItem | null;\n onClosePreview: () => void;\n}\n\nconst PreviewFileModal = ({\n open,\n bucketName,\n object,\n onClosePreview,\n}: IPreviewFileProps) => {\n return (\n \n }\n >\n \n \n \n );\n};\n\nexport default PreviewFileModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { BucketObjectItem } from \"./ListObjects/types\";\nimport { IAllowResources } from \"../../../types\";\nimport { encodeURLString } from \"../../../../../common/utils\";\nimport { removeTrace } from \"../../../ObjectBrowser/transferManager\";\n\nexport const download = (\n bucketName: string,\n objectPath: string,\n versionID: any,\n fileSize: number,\n overrideFileName: string | null = null,\n id: string,\n progressCallback: (progress: number) => void,\n completeCallback: () => void,\n errorCallback: (msg: string) => void,\n abortCallback: () => void\n) => {\n const anchor = document.createElement(\"a\");\n document.body.appendChild(anchor);\n let basename = document.baseURI.replace(window.location.origin, \"\");\n\n let path = `${\n window.location.origin\n }${basename}api/v1/buckets/${bucketName}/objects/download?prefix=${objectPath}${\n overrideFileName !== null && overrideFileName.trim() !== \"\"\n ? `&override_file_name=${encodeURLString(overrideFileName || \"\")}`\n : \"\"\n }`;\n if (versionID) {\n path = path.concat(`&version_id=${versionID}`);\n }\n\n var req = new XMLHttpRequest();\n req.open(\"GET\", path, true);\n req.addEventListener(\n \"progress\",\n function (evt) {\n let percentComplete = Math.round((evt.loaded / fileSize) * 100);\n\n if (progressCallback) {\n progressCallback(percentComplete);\n }\n },\n false\n );\n\n req.responseType = \"blob\";\n req.onreadystatechange = () => {\n if (req.readyState === 4) {\n if (req.status === 200) {\n const rspHeader = req.getResponseHeader(\"Content-Disposition\");\n\n let filename = \"download\";\n if (rspHeader) {\n let rspHeaderDecoded = decodeURIComponent(rspHeader);\n filename = rspHeaderDecoded.split('\"')[1];\n }\n\n if (completeCallback) {\n completeCallback();\n }\n\n removeTrace(id);\n\n var link = document.createElement(\"a\");\n link.href = window.URL.createObjectURL(req.response);\n link.download = filename;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n } else {\n if (req.getResponseHeader(\"Content-Type\") === \"application/json\") {\n const rspBody: { detailedMessage?: string } = JSON.parse(\n req.response\n );\n if (rspBody.detailedMessage) {\n errorCallback(rspBody.detailedMessage);\n return;\n }\n }\n errorCallback(`Unexpected response status code (${req.status}).`);\n }\n }\n };\n req.onerror = () => {\n if (errorCallback) {\n errorCallback(\"A network error occurred.\");\n }\n };\n req.onabort = () => {\n if (abortCallback) {\n abortCallback();\n }\n };\n\n return req;\n};\n\n// Review file extension by name & returns the type of preview browser that can be used\nexport const extensionPreview = (\n fileName: string\n): \"image\" | \"text\" | \"audio\" | \"video\" | \"none\" => {\n const imageExtensions = [\n \"jif\",\n \"jfif\",\n \"apng\",\n \"avif\",\n \"svg\",\n \"webp\",\n \"bmp\",\n \"ico\",\n \"jpg\",\n \"jpe\",\n \"jpeg\",\n \"gif\",\n \"png\",\n \"heic\",\n ];\n const textExtensions = [\"pdf\", \"txt\", \"json\"];\n const audioExtensions = [\"wav\", \"mp3\", \"alac\", \"aiff\", \"dsd\", \"pcm\"];\n const videoExtensions = [\n \"mp4\",\n \"avi\",\n \"mpg\",\n \"webm\",\n \"mov\",\n \"flv\",\n \"mkv\",\n \"wmv\",\n \"avchd\",\n \"mpeg-4\",\n ];\n\n let fileExtension = fileName.split(\".\").pop();\n\n if (!fileExtension) {\n return \"none\";\n }\n\n fileExtension = fileExtension.toLowerCase();\n\n if (imageExtensions.includes(fileExtension)) {\n return \"image\";\n }\n\n if (textExtensions.includes(fileExtension)) {\n return \"text\";\n }\n\n if (audioExtensions.includes(fileExtension)) {\n return \"audio\";\n }\n\n if (videoExtensions.includes(fileExtension)) {\n return \"video\";\n }\n\n return \"none\";\n};\n\nexport const sortListObjects = (fieldSort: string) => {\n switch (fieldSort) {\n case \"name\":\n return (a: BucketObjectItem, b: BucketObjectItem) =>\n a.name.localeCompare(b.name);\n case \"last_modified\":\n return (a: BucketObjectItem, b: BucketObjectItem) =>\n new Date(a.last_modified).getTime() -\n new Date(b.last_modified).getTime();\n case \"size\":\n return (a: BucketObjectItem, b: BucketObjectItem) =>\n (a.size || -1) - (b.size || -1);\n }\n};\n\nexport const permissionItems = (\n bucketName: string,\n currentPath: string,\n permissionsArray: IAllowResources[]\n): BucketObjectItem[] | null => {\n if (permissionsArray.length === 0) {\n return null;\n }\n\n // We get permissions applied to the current bucket\n const filteredPermissionsForBucket = permissionsArray.filter(\n (permissionItem) =>\n permissionItem.resource.endsWith(`:${bucketName}`) ||\n permissionItem.resource.includes(`:${bucketName}/`)\n );\n\n // No permissions for this bucket. we can throw the error message at this point\n if (filteredPermissionsForBucket.length === 0) {\n return null;\n }\n\n const returnElements: BucketObjectItem[] = [];\n\n // We split current path\n const splitCurrentPath = currentPath.split(\"/\");\n\n filteredPermissionsForBucket.forEach((permissionElement) => {\n // We review paths in resource address\n\n // We split ARN & get the last item to check the URL\n const splitARN = permissionElement.resource.split(\":\");\n const urlARN = splitARN.pop() || \"\";\n\n // We split the paths of the URL & compare against current location to see if there are more items to include. In case current level is a wildcard or is the last one, we omit this validation\n\n const splitURLARN = urlARN.split(\"/\");\n\n // splitURL has more items than bucket name, we can continue validating\n if (splitURLARN.length > 1) {\n splitURLARN.every((currentElementInPath, index) => {\n // It is a wildcard element. We can stor the verification as value should be included (?)\n if (currentElementInPath === \"*\") {\n return false;\n }\n\n // Element is not included in the path. The user is trying to browse something else.\n if (\n splitCurrentPath[index] &&\n splitCurrentPath[index] !== currentElementInPath\n ) {\n return false;\n }\n\n // This element is not included by index in the current paths list. We add it so user can browse into it\n if (!splitCurrentPath[index]) {\n returnElements.push({\n name: `${currentElementInPath}/`,\n size: 0,\n last_modified: new Date(),\n version_id: \"\",\n });\n }\n\n return true;\n });\n }\n\n // We review prefixes in allow resources for StringEquals variant only.\n if (\n permissionElement.conditionOperator === \"StringEquals\" ||\n permissionElement.conditionOperator === \"StringLike\"\n ) {\n permissionElement.prefixes.forEach((prefixItem) => {\n // Prefix Item is not empty?\n if (prefixItem !== \"\") {\n const splitItems = prefixItem.split(\"/\");\n\n let pathToRouteElements: string[] = [];\n\n splitItems.every((splitElement, index) => {\n if (!splitElement.includes(\"*\") && splitElement !== \"\") {\n if (splitElement !== splitCurrentPath[index]) {\n returnElements.push({\n name: `${pathToRouteElements.join(\"/\")}${\n pathToRouteElements.length > 0 ? \"/\" : \"\"\n }${splitElement}/`,\n size: 0,\n last_modified: new Date(),\n version_id: \"\",\n });\n return false;\n }\n if (splitElement !== \"\") {\n pathToRouteElements.push(splitElement);\n }\n\n return true;\n }\n return false;\n });\n }\n });\n }\n });\n\n return returnElements;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { LoginMinIOLogo } from \"../../../../icons\";\nimport { useSelector } from \"react-redux\";\nimport { AppState } from \"../../../../store\";\n\ninterface IAutoColorIcon {\n marginRight: number;\n marginTop: number;\n}\n\nconst AutoColorIcon = ({ marginRight, marginTop }: IAutoColorIcon) => {\n let tinycolor = require(\"tinycolor2\");\n\n const colorVariants = useSelector(\n (state: AppState) => state.system.overrideStyles\n );\n\n const isDark =\n tinycolor(colorVariants?.backgroundColor || \"#fff\").getBrightness() <= 128;\n\n return (\n \n );\n};\n\nexport default AutoColorIcon;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

(\n WrappedComponent: ComponentType

,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","import React, { Fragment } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { predefinedList } from \"../common/styleLibrary\";\n\ninterface IPredefinedList {\n classes: any;\n label?: string;\n content: any;\n multiLine?: boolean;\n actionButton?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...predefinedList,\n });\n\nconst PredefinedList = ({\n classes,\n label = \"\",\n content,\n multiLine = false,\n actionButton,\n}: IPredefinedList) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n \n )}\n \n \n {content}\n \n {actionButton && (\n

{actionButton}
\n )}\n \n \n \n );\n};\n\nexport default withStyles(styles)(PredefinedList);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n noContentPadding?: boolean;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n noContentPadding,\n titleIcon = null,\n}: IModalProps) => {\n const dispatch = useAppDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nexport default withStyles(styles)(ModalWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { cloneElement } from \"react\";\nimport { Tooltip } from \"@mui/material\";\n\ninterface ITooltipWrapperProps {\n tooltip: string;\n children: any;\n errorProps?: any;\n}\n\nconst TooltipWrapper = ({\n tooltip,\n children,\n errorProps = null,\n}: ITooltipWrapperProps) => {\n return (\n \n \n {errorProps ? cloneElement(children, { ...errorProps }) : children}\n \n \n );\n};\n\nexport default TooltipWrapper;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { Box } from \"@mui/material\";\nimport { Button } from \"mds\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { CopyIcon } from \"../../../icons\";\n\nconst KeyRevealer = ({ value }: { value: string }) => {\n const [shown, setShown] = useState(false);\n\n return (\n \n {}}\n value={value}\n overlayIcon={}\n extraInputProps={{\n readOnly: true,\n }}\n overlayAction={() => navigator.clipboard.writeText(value)}\n />\n\n setShown(!shown)}\n label={\"Show/Hide\"}\n />\n \n );\n};\n\nexport default KeyRevealer;\n"],"names":["CreatePathModal","withSuspense","React","withStyles","theme","createStyles","objectBrowserCommon","slashSpacingStyle","margin","classes","bucketName","internalPaths","existingFiles","hidePathButton","additionalOptions","dispatch","useAppDispatch","navigate","useNavigate","rewindEnabled","useSelector","state","objectBrowser","rewind","versionsMode","versionedFile","useState","createFolderOpen","setCreateFolderOpen","canCreatePath","hasPermission","IAM_SCOPES","paths","splitPaths","split","filter","path","lastBreadcrumbsIndex","length","breadcrumbsMap","map","objectItem","index","subSplit","slice","join","route","encodeURLString","Fragment","className","style","cursor","to","onClick","setVersionsModeEnabled","status","objectName","toString","versionsItem","listBreadcrumbs","breadcrumbsMain","modalOpen","folderName","onClose","Grid","item","xs","breadcrumbs","IconButton","sx","border","backgroundColor","borderLeft","borderRadius","width","height","marginRight","breadcrumbsList","dir","text","id","icon","fill","marginTop","variant","setSnackBarMessage","color","TooltipWrapper","tooltip","permissionTooltipHelper","disabled","whiteSpace","label","breadcrumbsSecond","listUploadIcons","uploadPath","forceDisable","uploadFileFunction","uploadFolderFunction","anchorEl","setAnchorEl","openUploadMenu","Boolean","handleCloseUpload","uploadObjectAllowed","uploadFolderAllowed","uploadEnabled","undefined","event","currentTarget","Menu","open","anchorOrigin","vertical","horizontal","transformOrigin","MenuItem","ListItemIcon","ListItemText","useStyles","makeStyles","detailsList","borderColor","borderWidth","borderStyle","borderBottomLeftRadius","borderBottomRightRadius","transitionDuration","overflowX","overflowY","position","opacity","marginLeft","minWidth","borderLeftWidth","closePanel","right","top","children","months","value","days","Array","from","_","num","currentYear","Date","getFullYear","years","numYear","SelectStyled","root","input","borderBottom","fontSize","InputBase","DateSelector","forwardRef","ref","disableOptions","addSwitch","onDateChange","useImperativeHandle","resetDate","dateEnabled","setDateEnabled","month","setMonth","day","setDay","year","setYear","useEffect","valueSplit","parseInt","currentDate","parse","isNaN","parsedMonth","parsedDay","monthForString","dayForString","parsedDate","toISOString","dateString","validDate","isValid","isDateDisabled","clsx","fieldContainer","fieldContainerBorder","labelContainer","container","InputLabel","htmlFor","inputLabel","tooltipContainer","Tooltip","title","placement","HelpIcon","FormSwitchWrapper","indicatorLabels","checked","name","onChange","e","target","switchOnly","FormControl","dateInput","Select","displayEmpty","option","dayNumber","fieldBasic","tooltipHelper","flex","display","alignItems","justifyContent","paddingBottom","marginBottom","formFieldStyles","modalStyleUtils","spacingUtils","dateSelector","paddingLeft","closeModalAndRefresh","objectInfo","statusEnabled","setStatusEnabled","type","setType","date","setDate","isDateValid","setIsDateValid","isSaving","setIsSaving","alreadyConfigured","setAlreadyConfigured","retention_mode","toLowerCase","retention_until_date","valueDate","getMonth","getDate","dateElement","useRef","resetForm","current","showSwitcher","ModalWrapper","spacerBottom","noValidate","autoComplete","onSubmit","preventDefault","formFieldRow","RadioGroupSelector","currentSelection","selectorOptions","modalButtonBar","selectedObject","versionId","version_id","expireDate","api","expires","mode","then","res","catch","error","setModalErrorSnackMessage","addRetention","disableRetention","closeDeleteModalAndRefresh","deleteOpen","selectedBucket","versioning","selectedVersion","useApi","err","setErrorSnackMessage","deleteLoading","invokeDeleteApi","deleteVersions","setDeleteVersions","ConfirmDialog","confirmText","isOpen","titleIcon","isLoading","onConfirm","recursive","decodeURLString","endsWith","confirmationContent","DialogContentText","description","actualInfo","legalHoldEnabled","setLegalHoldEnabled","get","propertiesIcon","capitalizeFirst","textTransform","titleItem","detailsPanel","linear","metaData","setMetaData","metadata","invokeMetaDataApi","metaKeys","Object","keys","loadMetaData","useCallback","element","renderItem","isArray","decodeURIComponent","Box","metadataLinear","Table","table","TableBody","TableRow","TableCell","component","scope","align","padding","fontWeight","restProps","Button","startIcon","items","titleLabel","objectActions","actionItem","action","fileName","minHeight","fileNameText","overflow","textOverflow","strings","FileBookIcon","FileCodeIcon","FileConfigIcon","FileDbIcon","FileFontIcon","FileImageIcon","FileLockIcon","FileMissingIcon","FileMusicIcon","FilePdfIcon","FilePptIcon","FileTxtIcon","FileVideoIcon","FileXlsIcon","FileZipIcon","extensionToIcon","extensions","displayFileIconName","returnOnlyIcon","elementString","ObjectBrowserIcon","ObjectBrowserFolderIcon","lowercaseElement","etc","ext","indexOf","splitItem","newTileHeader","tagsForLabel","currentTagsContainer","noTagsForObject","deleteTag","onCloseAndUpdate","distributedSetup","selDistSet","newKey","setNewKey","newLabel","setNewLabel","isSending","setIsSending","deleteEnabled","setDeleteEnabled","deleteKey","setDeleteKey","deleteLabel","setDeleteLabel","currentTags","tags","currTagKeys","currentItem","pop","tagsFor","plural","cleanObject","verID","SecureComponent","scopes","resource","flexFlow","tagKey","tag","errorProps","deleteIcon","onDelete","Chip","size","Close","onDeleteTag","InputBoxWrapper","placeholder","trim","newTag","newTagList","closeInspectModalAndRefresh","inspectOpen","inspectPath","volumeName","isEncrypt","setIsEncrypt","decryptionKey","setDecryptionKey","insFileName","setInsFileName","makeRequest","url","fetch","method","performInspect","file","volume","urlOfInspectApi","ok","json","resErr","errorMessage","message","detailedError","code","blob","filename","headers","decryptKey","getCookieValue","performDownload","deleteCookie","KeyRevealer","containerForHeader","spacing","closeModal","newFileName","setNewFileName","acceptLongName","setAcceptLongName","identityDownload","getTime","Math","random","ID","makeid","downloadCall","download","progress","updateProgress","instanceID","completeObject","msg","failObject","cancelObjectInList","storeCallForObjectWithID","setNewObject","done","percentage","prefix","waitingForFile","failed","cancelled","doDownload","modalFormScrollable","emptyFile","is_latest","last_modified","legal_hold_status","ObjectDetailsTitle","objectNameContainer","headerForSection","buttonsStyles","actionsTray","textStyleUtils","locking","onClosePanel","loadingObjectInfo","shareFileModalOpen","setShareFileModalOpen","retentionModalOpen","setRetentionModalOpen","tagModalOpen","setTagModalOpen","legalholdOpen","setLegalholdOpen","inspectModalOpen","setInspectModalOpen","setActualInfo","allInfoElements","setAllInfoElements","objectToShare","setObjectToShare","versions","setVersions","setDeleteOpen","previewOpen","setPreviewOpen","totalVersionsSize","setTotalVersionsSize","longFileOpen","setLongFileOpen","objectNameArray","infoElement","find","el","result","tVersionSize","reduce","acc","currValue","setLoadingObjectInfo","console","tagKeys","loaderForContainer","textAlign","Loader","objectResources","canSetLegalHold","canSetTags","canChangeRetention","canInspect","canChangeVersioning","canGetObject","canDelete","multiActionButtons","object","getClientOS","includes","downloadObject","is_delete_marker","extensionPreview","ShareFile","dataObject","updateInfo","closeAndReload","setLoadingVersions","setSelectedVersion","reload","PreviewFileModal","content_type","onClosePreview","TagsModal","reloadObjectData","iconLocation","fullWidth","detailContainer","overflowWrap","niceBytes","niceBytesInt","lastModified","currentTime","modifiedTime","difTime","formatTime","niceDaysInt","calculateLastModifyTime","etag","displayParsedDate","displayNiceBytes","String","listModeColumns","elementKey","renderFunction","enableSort","renderFullObject","rewindModeColumns","modalBasic","versionID","objectPath","restoreOpen","restoreLoading","setRestoreLoading","RecoverIcon","confirmButtonProps","wrapText","bgColor","mainFileVersionItem","intermediateLayer","borderBottomColor","versionContainer","buttonContainer","maxWidth","versionData","ctrItem","content","left","collapsableInfo","flexDirection","versionItem","versionInfo","isSelected","checkable","isChecked","onCheck","onShare","onDownload","onRestore","onPreview","globalClick","key","disableButtons","versionItemButtons","pill","md","CheckboxWrapper","stopPropagation","overrideCheckboxStyles","noTopMargin","button","buttonDisabled","setDeleteLoading","typeConfirm","setTypeConfirm","selectedVersions","selectedObjectsRequest","versionsContainer","noBottomBorder","versionsVirtualPanel","flexGrow","screenTitleContainer","bottom","sortByLabel","hrClass","tableStyles","objectBrowserExtras","searchVersions","loadingVersions","restoreVersionOpen","setRestoreVersionOpen","restoreVersion","setRestoreVersion","sortValue","setSortValue","deleteNonCurrentOpen","setDeleteNonCurrentOpen","selectEnabled","setSelectEnabled","selectedItems","setSelectedItems","delSelectedVOpen","setDelSelectedVOpen","decodedInternalPaths","filteredPrefixes","onShareItem","onPreviewItem","onRestoreItem","onDownloadItem","onGlobalClick","filteredRecords","version","totalSpace","sort","a","b","dateA","dateB","onCheckVersion","filteredItems","cloneState","push","DeleteNonCurrent","reloadAfterDelete","DeleteSelectedVersions","reloadOnComplete","LinearProgress","ScreenTitle","listIcon","titleSpacer","subTitle","bucketDetails","detailsSpacer","actions","SelectWrapper","options","containerStyle","rowCount","rowHeight","rowRenderer","isScrolling","isVisible","versOrd","HistoryIcon","RefreshIcon","DeleteIcon","DeleteMultipleObjects","RewindEnable","browsePaper","backgroundImage","badgeOverlap","screenTitle","paddingTop","paddingRight","searchField","labelStyle","breadcrumbsContainer","parentWrapper","fullContainer","hideListOnSmall","baseDnDStyle","outline","activeDnDStyle","acceptDnDStyle","defLoading","Typography","params","useParams","location","useLocation","rewindDate","dateToRewind","bucketToRewind","searchObjects","showDeleted","detailsOpen","objectDetailsOpen","selectedInternalPaths","loading","loadingObjects","simplePath","loadingBucket","selBucketDetailsLoading","bucketInfo","selBucketDetailsInfo","allowResources","session","features","selFeatures","obOnly","records","setRecords","deleteMultipleOpen","setDeleteMultipleOpen","loadingStartTime","setLoadingStartTime","loadingMessage","setLoadingMessage","loadingVersioning","setLoadingVersioning","isVersioned","setIsVersioned","loadingLocking","setLoadingLocking","lockingEnabled","setLockingEnabled","rewindSelect","setRewindSelect","selectedObjects","setSelectedObjects","selectedPreview","setSelectedPreview","sortDirection","setSortDirection","currentSortField","setCurrentSortField","iniLoad","setIniLoad","canShareFile","setCanShareFile","canPreviewFile","setCanPreviewFile","quota","setQuota","downloadRenameModal","setDownloadRenameModal","pathSegment","pathname","fileUpload","folderUpload","setAttribute","quotaVals","setObjectDetailsView","displayDeleteObject","displayListObjects","setBucketDetailsLoad","callback","delay","savedCallback","setInterval","clearInterval","useInterval","timeDelta","now","ceil","updateMessage","is_versioned","object_locking_enabled","decodedIPaths","setSelectedObjectView","setSimplePathHandler","setSearchObjects","setLoadingObjectsList","pathPrefix","decodedPath","currentTimestamp","urlTake","resetRewind","rewindParsed","currDateISO","objects","folders","files","forEach","record","recordsInElement","pathTest","found","pathPrefixChopped","i","parentPath","permitItems","permissionItems","setBucketInfo","handleUploadButton","newFiles","uploadObject","folderPath","uploadPromise","Promise","resolve","reject","uploadUrl","blobFile","Blob","encodedPath","filePath","fileWebkitRelativePath","relativeFolderPath","finalFolderPath","pathClean","startsWith","identity","xhr","XMLHttpRequest","areMultipleFiles","errorMessages","withCredentials","onload","removeTrace","response","JSON","detailedMessage","upload","addEventListener","floor","loaded","total","onerror","onloadend","onabort","formData","FormData","append","storeFormDataWithID","uploadFilePromises","openList","allSettled","results","errors","totalFiles","successUploadedFiles","onDrop","acceptedFiles","canUpload","newFolderPath","useDropzone","noClick","getRootProps","getInputProps","isDragActive","isDragAccept","dndStyles","useMemo","pageTitle","currentPath","sortASC","sortListObjects","payload","reverse","concat","canDownload","forceRefresh","splitURLS","URLItem","tableActions","idElement","newPath","sendOnlyId","itemsToDownload","filteredItem","fileObject","refresh","PageLayout","creation_date","access","actionsSection","Badge","badgeContent","invisible","multiple","closeMenu","click","tableBlock","borderTop","setShowDeletedObjects","overrideLabelClasses","overrideShowDeleted","TableWrapper","itemActions","columns","entityName","idField","customPaperHeight","onSelect","targetD","elements","customEmptyMessage","sortConfig","currentSort","currentDirection","triggerSort","sortData","newSortDirection","sortBy","onSelectAll","rowStyle","delete_flag","parentClassName","configureBucketAllowed","searchBar","SearchBox","setSearchVersions","AutoColorIcon","PageHeader","BackLink","IAM_PAGES","IAM_PERMISSIONS","IAM_ROLES","SettingsIcon","middleComponent","dateInputContainer","durationInputs","validityIndicator","invalidDurationText","reverseInput","validityText","validTill","initialDate","maxDays","entity","selectedDays","setSelectedDays","selectedHours","setSelectedHours","selectedMinutes","setSelectedMinutes","setValidDate","moment","dateSelected","setDateSelected","hours","minutes","add","calculateNewTime","format","valid","extraInputProps","min","max","noLabelMinWidth","validityLabel","CopyIcon","shareLinkInfo","copyShareLink","copyShareLinkInput","copyShareLinkBtn","shareURL","setShareURL","isLoadingVersion","setIsLoadingVersion","isLoadingFile","setIsLoadingFile","selectedDate","setSelectedDate","dateValid","setDateValid","setVersionID","latestVersion","elem","slDate","currDate","diffDate","dateContainer","newDate","PredefinedList","actionButton","setModalSnackMessage","iframeContainer","iframeBase","iframeHidden","isFullscreen","setLoading","basename","document","baseURI","replace","window","origin","objectType","iframeLoaded","maxHeight","autoPlay","controls","muted","playsInline","onPlay","src","alt","onLoad","allowTransparency","wideLimit","PreviewFileContent","fileSize","overrideFileName","progressCallback","completeCallback","errorCallback","abortCallback","anchor","createElement","body","appendChild","req","evt","percentComplete","round","responseType","onreadystatechange","readyState","rspHeader","getResponseHeader","link","href","URL","createObjectURL","removeChild","rspBody","fileExtension","fieldSort","localeCompare","permissionsArray","filteredPermissionsForBucket","permissionItem","returnElements","splitCurrentPath","permissionElement","splitURLARN","every","currentElementInPath","conditionOperator","prefixes","prefixItem","splitItems","pathToRouteElements","splitElement","tinycolor","require","colorVariants","system","overrideStyles","isDark","getBrightness","WrappedComponent","fallback","ComponentWithSuspense","props","Suspense","predefinedList","multiLine","prefinedContainer","predefinedTitle","includesActionButton","innerContentMultiline","innerContent","overlayShareOption","deleteDialogStyles","customDialogSize","snackBarCommon","noContentPadding","openSnackbar","setOpenSnackbar","modalSnackMessage","modalSnackBar","customSize","paper","detailedErrorMsg","scroll","reason","titleText","closeContainer","closeButton","disableRipple","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","adornment","adornmentPosition","overrideClass","inputProps","disableUnderline","InputProps","cloneElement","shown","setShown","sm","overlayIcon","readOnly","overlayAction","navigator","clipboard","writeText"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1440.2f369689.chunk.js b/portal-ui/build/static/js/1440.2f369689.chunk.js deleted file mode 100644 index c31d46acd..000000000 --- a/portal-ui/build/static/js/1440.2f369689.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1440],{23804:function(e,t,n){"use strict";n(72791);var o=n(11135),i=n(25787),r=n(61889),c=n(80184);t.Z=(0,i.Z)((function(e){return(0,o.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var t=e.classes,n=e.iconComponent,o=e.title,i=e.help;return(0,c.jsx)("div",{className:t.root,children:(0,c.jsxs)(r.ZP,{container:!0,children:[(0,c.jsxs)(r.ZP,{item:!0,xs:12,className:t.leftItems,children:[n,o]}),(0,c.jsx)(r.ZP,{item:!0,xs:12,className:t.helpText,children:i})]})})}))},25702:function(e,t,n){"use strict";n.r(t);var o=n(29439),i=n(1413),r=n(72791),c=n(60364),a=n(16871),s=n(75952),l=n(11135),d=n(25787),u=n(26181),h=n.n(u),m=n(61889),f=n(47919),p=n(86856),v=n(23814),x=n(92983),Z=n(81207),b=n(23804),j=n(60680),k=n(38442),S=n(56087),g=n(75578),C=n(87995),z=n(9859),I=n(25469),E=n(27454),F=n(80184),y=(0,g.Z)(r.lazy((function(){return n.e(455).then(n.bind(n,80455))}))),P=(0,g.Z)(r.lazy((function(){return Promise.all([n.e(3801),n.e(1918),n.e(6172),n.e(2661)]).then(n.bind(n,82661))})));t.default=(0,d.Z)((function(e){return(0,l.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},v.qg),v.OR),{},{twHeight:{minHeight:400}}))}))((function(e){var t=e.classes,n=(0,I.TL)(),i=(0,a.UO)(),l=(0,c.v9)(z.HQ),d=(0,r.useState)(!1),u=(0,o.Z)(d,2),v=u[0],g=u[1],T=(0,r.useState)(!0),N=(0,o.Z)(T,2),O=N[0],w=N[1],A=(0,r.useState)([]),_=(0,o.Z)(A,2),H=_[0],M=_[1],B=(0,r.useState)(!1),R=(0,o.Z)(B,2),V=R[0],K=R[1],L=(0,r.useState)(null),U=(0,o.Z)(L,2),D=U[0],G=U[1],q=i.bucketName||"",Q=(0,k.F)(q,[S.Ft.S3_GET_BUCKET_NOTIFICATIONS]);(0,r.useEffect)((function(){l&&w(!0)}),[l,w]),(0,r.useEffect)((function(){O&&(Q?Z.Z.invoke("GET","/api/v1/buckets/".concat(q,"/events")).then((function(e){var t=h()(e,"events",[]);w(!1),M(t||[])})).catch((function(e){w(!1),n((0,C.Ih)(e))})):w(!1))}),[O,n,q,Q]);var W=[{type:"delete",onClick:function(e){K(!0),G(e)}}];return(0,F.jsxs)(r.Fragment,{children:[V&&(0,F.jsx)(y,{deleteOpen:V,selectedBucket:q,bucketEvent:D,closeDeleteModalAndRefresh:function(e){K(!1),e&&w(!0)}}),v&&(0,F.jsx)(P,{open:v,selectedBucket:q,closeModalAndRefresh:function(){g(!1),w(!0)}}),(0,F.jsxs)(m.ZP,{container:!0,children:[(0,F.jsxs)(m.ZP,{item:!0,xs:12,className:t.actionsTray,children:[(0,F.jsx)(j.Z,{children:"Events"}),(0,F.jsx)(k.s,{scopes:[S.Ft.S3_PUT_BUCKET_NOTIFICATIONS,S.Ft.ADMIN_SERVER_INFO],resource:q,matchAll:!0,errorProps:{disabled:!0},children:(0,F.jsx)(E.Z,{tooltip:"Subscribe to Event",children:(0,F.jsx)(s.z,{id:"Subscribe-bucket-event",onClick:function(){g(!0)},label:"Subscribe to Event",icon:(0,F.jsx)(f.Z,{}),variant:"callAction"})})})]}),(0,F.jsx)(m.ZP,{item:!0,xs:12,children:(0,F.jsx)(k.s,{scopes:[S.Ft.S3_GET_BUCKET_NOTIFICATIONS],resource:q,errorProps:{disabled:!0},children:(0,F.jsx)(x.Z,{itemActions:W,columns:[{label:"SQS",elementKey:"arn"},{label:"Events",elementKey:"events",renderFunction:function(e){return(0,F.jsx)(r.Fragment,{children:e.join(", ")})}},{label:"Prefix",elementKey:"prefix"},{label:"Suffix",elementKey:"suffix"}],isLoading:O,records:H,entityName:"Events",idField:"id",customPaperHeight:t.twHeight})})}),!O&&(0,F.jsxs)(m.ZP,{item:!0,xs:12,children:[(0,F.jsx)("br",{}),(0,F.jsx)(b.Z,{title:"Lambda Notifications",iconComponent:(0,F.jsx)(p.Z,{}),help:(0,F.jsxs)(r.Fragment,{children:["MinIO bucket notifications allow administrators to send notifications to supported external services on certain object or bucket events. MinIO supports bucket and object-level S3 events similar to the Amazon S3 Event Notifications.",(0,F.jsx)("br",{}),(0,F.jsx)("br",{}),"You can learn more at our"," ",(0,F.jsx)("a",{href:"https://min.io/docs/minio/linux/administration/monitoring/bucket-notifications.html?ref=con",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})]})]})]})}))},60680:function(e,t,n){"use strict";n(72791);var o=n(11135),i=n(25787),r=n(80184);t.Z=(0,i.Z)((function(e){return(0,o.Z)({root:{padding:0,margin:0,fontSize:".9rem"}})}))((function(e){var t=e.classes,n=e.children;return(0,r.jsx)("h1",{className:t.root,children:n})}))},26759:function(e,t,n){"use strict";var o=n(64836);t.Z=void 0;var i=o(n(45649)),r=n(80184),c=(0,i.default)((0,r.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");t.Z=c},70366:function(e,t,n){"use strict";var o=n(64836);t.Z=void 0;var i=o(n(45649)),r=n(80184),c=(0,i.default)((0,r.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");t.Z=c},97911:function(e,t,n){"use strict";var o=n(64836);t.Z=void 0;var i=o(n(45649)),r=n(80184),c=(0,i.default)((0,r.jsx)("path",{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}),"ViewColumn");t.Z=c},94454:function(e,t,n){"use strict";n.d(t,{Z:function(){return I}});var o=n(4942),i=n(63366),r=n(87462),c=n(72791),a=n(94419),s=n(12065),l=n(97278),d=n(76189),u=n(80184),h=(0,d.Z)((0,u.jsx)("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank"),m=(0,d.Z)((0,u.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox"),f=(0,d.Z)((0,u.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox"),p=n(14036),v=n(31402),x=n(66934),Z=n(21217);function b(e){return(0,Z.Z)("MuiCheckbox",e)}var j=(0,n(75878).Z)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary"]),k=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size"],S=(0,x.ZP)(l.Z,{shouldForwardProp:function(e){return(0,x.FO)(e)||"classes"===e},name:"MuiCheckbox",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.indeterminate&&t.indeterminate,"default"!==n.color&&t["color".concat((0,p.Z)(n.color))]]}})((function(e){var t,n=e.theme,i=e.ownerState;return(0,r.Z)({color:(n.vars||n).palette.text.secondary},!i.disableRipple&&{"&:hover":{backgroundColor:n.vars?"rgba(".concat("default"===i.color?n.vars.palette.action.activeChannel:n.vars.palette.primary.mainChannel," / ").concat(n.vars.palette.action.hoverOpacity,")"):(0,s.Fq)("default"===i.color?n.palette.action.active:n.palette[i.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==i.color&&(t={},(0,o.Z)(t,"&.".concat(j.checked,", &.").concat(j.indeterminate),{color:(n.vars||n).palette[i.color].main}),(0,o.Z)(t,"&.".concat(j.disabled),{color:(n.vars||n).palette.action.disabled}),t))})),g=(0,u.jsx)(m,{}),C=(0,u.jsx)(h,{}),z=(0,u.jsx)(f,{}),I=c.forwardRef((function(e,t){var n,o,s=(0,v.Z)({props:e,name:"MuiCheckbox"}),l=s.checkedIcon,d=void 0===l?g:l,h=s.color,m=void 0===h?"primary":h,f=s.icon,x=void 0===f?C:f,Z=s.indeterminate,j=void 0!==Z&&Z,I=s.indeterminateIcon,E=void 0===I?z:I,F=s.inputProps,y=s.size,P=void 0===y?"medium":y,T=(0,i.Z)(s,k),N=j?E:x,O=j?E:d,w=(0,r.Z)({},s,{color:m,indeterminate:j,size:P}),A=function(e){var t=e.classes,n=e.indeterminate,o=e.color,i={root:["root",n&&"indeterminate","color".concat((0,p.Z)(o))]},c=(0,a.Z)(i,b,t);return(0,r.Z)({},t,c)}(w);return(0,u.jsx)(S,(0,r.Z)({type:"checkbox",inputProps:(0,r.Z)({"data-indeterminate":j},F),icon:c.cloneElement(N,{fontSize:null!=(n=N.props.fontSize)?n:P}),checkedIcon:c.cloneElement(O,{fontSize:null!=(o=O.props.fontSize)?o:P}),ownerState:w,ref:t},T,{classes:A}))}))},26769:function(e,t,n){var o=n(39066),i=n(93629),r=n(43141);e.exports=function(e){return"string"==typeof e||!i(e)&&r(e)&&"[object String]"==o(e)}}}]); -//# sourceMappingURL=1440.2f369689.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1440.2f369689.chunk.js.map b/portal-ui/build/static/js/1440.2f369689.chunk.js.map deleted file mode 100644 index c31e63035..000000000 --- a/portal-ui/build/static/js/1440.2f369689.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/1440.2f369689.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Buckets/BucketDetails/BucketEventsPanel.tsx","screens/Console/Common/PanelTitle/PanelTitle.tsx","../node_modules/@mui/icons-material/ArrowDropDown.js","../node_modules/@mui/icons-material/ArrowDropUp.js","../node_modules/@mui/icons-material/ViewColumn.js","../node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@mui/material/Checkbox/checkboxClasses.js","../node_modules/@mui/material/Checkbox/Checkbox.js","../node_modules/lodash/isString.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useParams } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport AddIcon from \"../../../../icons/AddIcon\";\nimport LambdaIcon from \"../../../../icons/LambdaIcon\";\nimport { BucketEvent, BucketEventList } from \"../types\";\nimport {\n actionsTray,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport api from \"../../../../common/api\";\n\nimport HelpBox from \"../../../../common/HelpBox\";\nimport PanelTitle from \"../../Common/PanelTitle/PanelTitle\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { selBucketDetailsLoading } from \"./bucketDetailsSlice\";\nimport { useAppDispatch } from \"../../../../store\";\nimport TooltipWrapper from \"../../Common/TooltipWrapper/TooltipWrapper\";\n\nconst DeleteEvent = withSuspense(React.lazy(() => import(\"./DeleteEvent\")));\nconst AddEvent = withSuspense(React.lazy(() => import(\"./AddEvent\")));\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...searchField,\n ...actionsTray,\n twHeight: {\n minHeight: 400,\n },\n });\n\ninterface IBucketEventsProps {\n classes: any;\n}\n\nconst BucketEventsPanel = ({ classes }: IBucketEventsProps) => {\n const dispatch = useAppDispatch();\n const params = useParams();\n\n const loadingBucket = useSelector(selBucketDetailsLoading);\n\n const [addEventScreenOpen, setAddEventScreenOpen] = useState(false);\n const [loadingEvents, setLoadingEvents] = useState(true);\n const [records, setRecords] = useState([]);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedEvent, setSelectedEvent] = useState(null);\n\n const bucketName = params.bucketName || \"\";\n\n const displayEvents = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_NOTIFICATIONS,\n ]);\n\n useEffect(() => {\n if (loadingBucket) {\n setLoadingEvents(true);\n }\n }, [loadingBucket, setLoadingEvents]);\n\n useEffect(() => {\n if (loadingEvents) {\n if (displayEvents) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/events`)\n .then((res: BucketEventList) => {\n const events = get(res, \"events\", []);\n setLoadingEvents(false);\n setRecords(events || []);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingEvents(false);\n dispatch(setErrorSnackMessage(err));\n });\n } else {\n setLoadingEvents(false);\n }\n }\n }, [loadingEvents, dispatch, bucketName, displayEvents]);\n\n const eventsDisplay = (events: string[]) => {\n return {events.join(\", \")};\n };\n\n const confirmDeleteEvent = (evnt: BucketEvent) => {\n setDeleteOpen(true);\n setSelectedEvent(evnt);\n };\n\n const closeAddEventAndRefresh = () => {\n setAddEventScreenOpen(false);\n setLoadingEvents(true);\n };\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n if (refresh) {\n setLoadingEvents(true);\n }\n };\n\n const tableActions = [{ type: \"delete\", onClick: confirmDeleteEvent }];\n\n return (\n \n {deleteOpen && (\n \n )}\n {addEventScreenOpen && (\n \n )}\n\n \n \n Events\n \n \n {\n setAddEventScreenOpen(true);\n }}\n label={\"Subscribe to Event\"}\n icon={}\n variant={\"callAction\"}\n />\n \n \n \n \n \n \n \n \n {!loadingEvents && (\n \n
\n }\n help={\n \n MinIO bucket notifications allow administrators to send\n notifications to supported external services on certain object\n or bucket events. MinIO supports bucket and object-level S3\n events similar to the Amazon S3 Event Notifications.\n
\n
\n You can learn more at our{\" \"}\n \n documentation\n \n .\n
\n }\n />\n
\n )}\n
\n
\n );\n};\n\nexport default withStyles(styles)(BucketEventsPanel);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButtonProps } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 0,\n margin: 0,\n fontSize: \".9rem\",\n },\n });\n\ninterface IPanelTitle extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst PanelTitle = ({ classes, children }: IPanelTitle) => {\n return

{children}

;\n};\n\nexport default withStyles(styles)(PanelTitle);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 10 5 5 5-5z\"\n}), 'ArrowDropDown');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 14 5-5 5 5z\"\n}), 'ArrowDropUp');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z\"\n}), 'ViewColumn');\n\nexports.default = _default;","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"\n}), 'CheckBoxOutlineBlank');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckBox');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z\"\n}), 'IndeterminateCheckBox');","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getCheckboxUtilityClass(slot) {\n return generateUtilityClass('MuiCheckbox', slot);\n}\nconst checkboxClasses = generateUtilityClasses('MuiCheckbox', ['root', 'checked', 'disabled', 'indeterminate', 'colorPrimary', 'colorSecondary']);\nexport default checkboxClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"checkedIcon\", \"color\", \"icon\", \"indeterminate\", \"indeterminateIcon\", \"inputProps\", \"size\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport SwitchBase from '../internal/SwitchBase';\nimport CheckBoxOutlineBlankIcon from '../internal/svg-icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '../internal/svg-icons/CheckBox';\nimport IndeterminateCheckBoxIcon from '../internal/svg-icons/IndeterminateCheckBox';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport checkboxClasses, { getCheckboxUtilityClass } from './checkboxClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n indeterminate,\n color\n } = ownerState;\n const slots = {\n root: ['root', indeterminate && 'indeterminate', `color${capitalize(color)}`]\n };\n const composedClasses = composeClasses(slots, getCheckboxUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst CheckboxRoot = styled(SwitchBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiCheckbox',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.indeterminate && styles.indeterminate, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, !ownerState.disableRipple && {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${ownerState.color === 'default' ? theme.vars.palette.action.activeChannel : theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(ownerState.color === 'default' ? theme.palette.action.active : theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${checkboxClasses.checked}, &.${checkboxClasses.indeterminate}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${checkboxClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n }\n}));\n\nconst defaultCheckedIcon = /*#__PURE__*/_jsx(CheckBoxIcon, {});\n\nconst defaultIcon = /*#__PURE__*/_jsx(CheckBoxOutlineBlankIcon, {});\n\nconst defaultIndeterminateIcon = /*#__PURE__*/_jsx(IndeterminateCheckBoxIcon, {});\n\nconst Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(inProps, ref) {\n var _icon$props$fontSize, _indeterminateIcon$pr;\n\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCheckbox'\n });\n\n const {\n checkedIcon = defaultCheckedIcon,\n color = 'primary',\n icon: iconProp = defaultIcon,\n indeterminate = false,\n indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon,\n inputProps,\n size = 'medium'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const icon = indeterminate ? indeterminateIconProp : iconProp;\n const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;\n\n const ownerState = _extends({}, props, {\n color,\n indeterminate,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CheckboxRoot, _extends({\n type: \"checkbox\",\n inputProps: _extends({\n 'data-indeterminate': indeterminate\n }, inputProps),\n icon: /*#__PURE__*/React.cloneElement(icon, {\n fontSize: (_icon$props$fontSize = icon.props.fontSize) != null ? _icon$props$fontSize : size\n }),\n checkedIcon: /*#__PURE__*/React.cloneElement(indeterminateIcon, {\n fontSize: (_indeterminateIcon$pr = indeterminateIcon.props.fontSize) != null ? _indeterminateIcon$pr : size\n }),\n ownerState: ownerState,\n ref: ref\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Checkbox.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n * @default \n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * The icon to display when the component is unchecked.\n * @default \n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the component appears indeterminate.\n * This does not set the native input element to indeterminate due\n * to inconsistent behavior across browsers.\n * However, we set a `data-indeterminate` attribute on the `input`.\n * @default false\n */\n indeterminate: PropTypes.bool,\n\n /**\n * The icon to display when the component is indeterminate.\n * @default \n */\n indeterminateIcon: PropTypes.node,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense checkbox styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Checkbox;","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","DeleteEvent","withSuspense","React","AddEvent","searchField","actionsTray","twHeight","minHeight","dispatch","useAppDispatch","params","useParams","loadingBucket","useSelector","selBucketDetailsLoading","useState","addEventScreenOpen","setAddEventScreenOpen","loadingEvents","setLoadingEvents","records","setRecords","deleteOpen","setDeleteOpen","selectedEvent","setSelectedEvent","bucketName","displayEvents","hasPermission","IAM_SCOPES","useEffect","api","then","res","events","get","catch","err","setErrorSnackMessage","tableActions","type","onClick","evnt","Fragment","selectedBucket","bucketEvent","closeDeleteModalAndRefresh","refresh","open","closeModalAndRefresh","scopes","resource","matchAll","errorProps","disabled","tooltip","id","label","icon","variant","itemActions","columns","elementKey","renderFunction","join","isLoading","entityName","idField","customPaperHeight","href","target","rel","padding","margin","children","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","createSvgIcon","_jsx","getCheckboxUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","CheckboxRoot","styled","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","ownerState","indeterminate","color","capitalize","_extends","vars","palette","text","secondary","disableRipple","action","activeChannel","primary","mainChannel","hoverOpacity","alpha","active","main","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","inProps","ref","_icon$props$fontSize","_indeterminateIcon$pr","useThemeProps","checkedIcon","iconProp","indeterminateIcon","indeterminateIconProp","inputProps","size","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","baseGetTag","isArray","isObjectLike","module","value"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1440.d3fd88ff.chunk.js b/portal-ui/build/static/js/1440.d3fd88ff.chunk.js new file mode 100644 index 000000000..d5c5f8920 --- /dev/null +++ b/portal-ui/build/static/js/1440.d3fd88ff.chunk.js @@ -0,0 +1,2 @@ +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1440],{23804:function(e,t,n){"use strict";n(72791);var o=n(11135),i=n(25787),r=n(61889),c=n(80184);t.Z=(0,i.Z)((function(e){return(0,o.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var t=e.classes,n=e.iconComponent,o=e.title,i=e.help;return(0,c.jsx)("div",{className:t.root,children:(0,c.jsxs)(r.ZP,{container:!0,children:[(0,c.jsxs)(r.ZP,{item:!0,xs:12,className:t.leftItems,children:[n,o]}),(0,c.jsx)(r.ZP,{item:!0,xs:12,className:t.helpText,children:i})]})})}))},25702:function(e,t,n){"use strict";n.r(t);var o=n(29439),i=n(1413),r=n(72791),c=n(60364),a=n(16871),s=n(75952),l=n(11135),d=n(25787),u=n(26181),h=n.n(u),m=n(61889),f=n(47919),p=n(86856),v=n(23814),x=n(92983),Z=n(81207),b=n(23804),j=n(60680),k=n(38442),S=n(56087),g=n(75578),C=n(87995),z=n(9859),I=n(25469),E=n(27454),F=n(80184),y=(0,g.Z)(r.lazy((function(){return n.e(455).then(n.bind(n,80455))}))),P=(0,g.Z)(r.lazy((function(){return Promise.all([n.e(3801),n.e(1918),n.e(6172),n.e(2661)]).then(n.bind(n,82661))})));t.default=(0,d.Z)((function(e){return(0,l.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},v.qg),v.OR),{},{twHeight:{minHeight:400}}))}))((function(e){var t=e.classes,n=(0,I.TL)(),i=(0,a.UO)(),l=(0,c.v9)(z.HQ),d=(0,r.useState)(!1),u=(0,o.Z)(d,2),v=u[0],g=u[1],T=(0,r.useState)(!0),N=(0,o.Z)(T,2),O=N[0],w=N[1],A=(0,r.useState)([]),_=(0,o.Z)(A,2),H=_[0],M=_[1],B=(0,r.useState)(!1),R=(0,o.Z)(B,2),V=R[0],K=R[1],L=(0,r.useState)(null),U=(0,o.Z)(L,2),D=U[0],G=U[1],q=i.bucketName||"",Q=(0,k.F)(q,[S.Ft.S3_GET_BUCKET_NOTIFICATIONS]);(0,r.useEffect)((function(){l&&w(!0)}),[l,w]),(0,r.useEffect)((function(){O&&(Q?Z.Z.invoke("GET","/api/v1/buckets/".concat(q,"/events")).then((function(e){var t=h()(e,"events",[]);w(!1),M(t||[])})).catch((function(e){w(!1),n((0,C.Ih)(e))})):w(!1))}),[O,n,q,Q]);var W=[{type:"delete",onClick:function(e){K(!0),G(e)}}];return(0,F.jsxs)(r.Fragment,{children:[V&&(0,F.jsx)(y,{deleteOpen:V,selectedBucket:q,bucketEvent:D,closeDeleteModalAndRefresh:function(e){K(!1),e&&w(!0)}}),v&&(0,F.jsx)(P,{open:v,selectedBucket:q,closeModalAndRefresh:function(){g(!1),w(!0)}}),(0,F.jsxs)(m.ZP,{container:!0,children:[(0,F.jsxs)(m.ZP,{item:!0,xs:12,className:t.actionsTray,children:[(0,F.jsx)(j.Z,{children:"Events"}),(0,F.jsx)(k.s,{scopes:[S.Ft.S3_PUT_BUCKET_NOTIFICATIONS,S.Ft.ADMIN_SERVER_INFO],resource:q,matchAll:!0,errorProps:{disabled:!0},children:(0,F.jsx)(E.Z,{tooltip:"Subscribe to Event",children:(0,F.jsx)(s.zx,{id:"Subscribe-bucket-event",onClick:function(){g(!0)},label:"Subscribe to Event",icon:(0,F.jsx)(f.Z,{}),variant:"callAction"})})})]}),(0,F.jsx)(m.ZP,{item:!0,xs:12,children:(0,F.jsx)(k.s,{scopes:[S.Ft.S3_GET_BUCKET_NOTIFICATIONS],resource:q,errorProps:{disabled:!0},children:(0,F.jsx)(x.Z,{itemActions:W,columns:[{label:"SQS",elementKey:"arn"},{label:"Events",elementKey:"events",renderFunction:function(e){return(0,F.jsx)(r.Fragment,{children:e.join(", ")})}},{label:"Prefix",elementKey:"prefix"},{label:"Suffix",elementKey:"suffix"}],isLoading:O,records:H,entityName:"Events",idField:"id",customPaperHeight:t.twHeight})})}),!O&&(0,F.jsxs)(m.ZP,{item:!0,xs:12,children:[(0,F.jsx)("br",{}),(0,F.jsx)(b.Z,{title:"Lambda Notifications",iconComponent:(0,F.jsx)(p.Z,{}),help:(0,F.jsxs)(r.Fragment,{children:["MinIO bucket notifications allow administrators to send notifications to supported external services on certain object or bucket events. MinIO supports bucket and object-level S3 events similar to the Amazon S3 Event Notifications.",(0,F.jsx)("br",{}),(0,F.jsx)("br",{}),"You can learn more at our"," ",(0,F.jsx)("a",{href:"https://min.io/docs/minio/linux/administration/monitoring/bucket-notifications.html?ref=con",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})]})]})]})}))},60680:function(e,t,n){"use strict";n(72791);var o=n(11135),i=n(25787),r=n(80184);t.Z=(0,i.Z)((function(e){return(0,o.Z)({root:{padding:0,margin:0,fontSize:".9rem"}})}))((function(e){var t=e.classes,n=e.children;return(0,r.jsx)("h1",{className:t.root,children:n})}))},26759:function(e,t,n){"use strict";var o=n(64836);t.Z=void 0;var i=o(n(45649)),r=n(80184),c=(0,i.default)((0,r.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");t.Z=c},70366:function(e,t,n){"use strict";var o=n(64836);t.Z=void 0;var i=o(n(45649)),r=n(80184),c=(0,i.default)((0,r.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");t.Z=c},97911:function(e,t,n){"use strict";var o=n(64836);t.Z=void 0;var i=o(n(45649)),r=n(80184),c=(0,i.default)((0,r.jsx)("path",{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}),"ViewColumn");t.Z=c},94454:function(e,t,n){"use strict";n.d(t,{Z:function(){return I}});var o=n(4942),i=n(63366),r=n(87462),c=n(72791),a=n(94419),s=n(12065),l=n(97278),d=n(76189),u=n(80184),h=(0,d.Z)((0,u.jsx)("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank"),m=(0,d.Z)((0,u.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox"),f=(0,d.Z)((0,u.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox"),p=n(14036),v=n(31402),x=n(66934),Z=n(21217);function b(e){return(0,Z.Z)("MuiCheckbox",e)}var j=(0,n(75878).Z)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary"]),k=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size"],S=(0,x.ZP)(l.Z,{shouldForwardProp:function(e){return(0,x.FO)(e)||"classes"===e},name:"MuiCheckbox",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.indeterminate&&t.indeterminate,"default"!==n.color&&t["color".concat((0,p.Z)(n.color))]]}})((function(e){var t,n=e.theme,i=e.ownerState;return(0,r.Z)({color:(n.vars||n).palette.text.secondary},!i.disableRipple&&{"&:hover":{backgroundColor:n.vars?"rgba(".concat("default"===i.color?n.vars.palette.action.activeChannel:n.vars.palette.primary.mainChannel," / ").concat(n.vars.palette.action.hoverOpacity,")"):(0,s.Fq)("default"===i.color?n.palette.action.active:n.palette[i.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==i.color&&(t={},(0,o.Z)(t,"&.".concat(j.checked,", &.").concat(j.indeterminate),{color:(n.vars||n).palette[i.color].main}),(0,o.Z)(t,"&.".concat(j.disabled),{color:(n.vars||n).palette.action.disabled}),t))})),g=(0,u.jsx)(m,{}),C=(0,u.jsx)(h,{}),z=(0,u.jsx)(f,{}),I=c.forwardRef((function(e,t){var n,o,s=(0,v.Z)({props:e,name:"MuiCheckbox"}),l=s.checkedIcon,d=void 0===l?g:l,h=s.color,m=void 0===h?"primary":h,f=s.icon,x=void 0===f?C:f,Z=s.indeterminate,j=void 0!==Z&&Z,I=s.indeterminateIcon,E=void 0===I?z:I,F=s.inputProps,y=s.size,P=void 0===y?"medium":y,T=(0,i.Z)(s,k),N=j?E:x,O=j?E:d,w=(0,r.Z)({},s,{color:m,indeterminate:j,size:P}),A=function(e){var t=e.classes,n=e.indeterminate,o=e.color,i={root:["root",n&&"indeterminate","color".concat((0,p.Z)(o))]},c=(0,a.Z)(i,b,t);return(0,r.Z)({},t,c)}(w);return(0,u.jsx)(S,(0,r.Z)({type:"checkbox",inputProps:(0,r.Z)({"data-indeterminate":j},F),icon:c.cloneElement(N,{fontSize:null!=(n=N.props.fontSize)?n:P}),checkedIcon:c.cloneElement(O,{fontSize:null!=(o=O.props.fontSize)?o:P}),ownerState:w,ref:t},T,{classes:A}))}))},26769:function(e,t,n){var o=n(39066),i=n(93629),r=n(43141);e.exports=function(e){return"string"==typeof e||!i(e)&&r(e)&&"[object String]"==o(e)}}}]); +//# sourceMappingURL=1440.d3fd88ff.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1440.d3fd88ff.chunk.js.map b/portal-ui/build/static/js/1440.d3fd88ff.chunk.js.map new file mode 100644 index 000000000..6a44a17df --- /dev/null +++ b/portal-ui/build/static/js/1440.d3fd88ff.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1440.d3fd88ff.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Buckets/BucketDetails/BucketEventsPanel.tsx","screens/Console/Common/PanelTitle/PanelTitle.tsx","../node_modules/@mui/icons-material/ArrowDropDown.js","../node_modules/@mui/icons-material/ArrowDropUp.js","../node_modules/@mui/icons-material/ViewColumn.js","../node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@mui/material/Checkbox/checkboxClasses.js","../node_modules/@mui/material/Checkbox/Checkbox.js","../node_modules/lodash/isString.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string | React.ReactNode;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useParams } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport AddIcon from \"../../../../icons/AddIcon\";\nimport LambdaIcon from \"../../../../icons/LambdaIcon\";\nimport { BucketEvent, BucketEventList } from \"../types\";\nimport {\n actionsTray,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport api from \"../../../../common/api\";\n\nimport HelpBox from \"../../../../common/HelpBox\";\nimport PanelTitle from \"../../Common/PanelTitle/PanelTitle\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { selBucketDetailsLoading } from \"./bucketDetailsSlice\";\nimport { useAppDispatch } from \"../../../../store\";\nimport TooltipWrapper from \"../../Common/TooltipWrapper/TooltipWrapper\";\n\nconst DeleteEvent = withSuspense(React.lazy(() => import(\"./DeleteEvent\")));\nconst AddEvent = withSuspense(React.lazy(() => import(\"./AddEvent\")));\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...searchField,\n ...actionsTray,\n twHeight: {\n minHeight: 400,\n },\n });\n\ninterface IBucketEventsProps {\n classes: any;\n}\n\nconst BucketEventsPanel = ({ classes }: IBucketEventsProps) => {\n const dispatch = useAppDispatch();\n const params = useParams();\n\n const loadingBucket = useSelector(selBucketDetailsLoading);\n\n const [addEventScreenOpen, setAddEventScreenOpen] = useState(false);\n const [loadingEvents, setLoadingEvents] = useState(true);\n const [records, setRecords] = useState([]);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedEvent, setSelectedEvent] = useState(null);\n\n const bucketName = params.bucketName || \"\";\n\n const displayEvents = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_NOTIFICATIONS,\n ]);\n\n useEffect(() => {\n if (loadingBucket) {\n setLoadingEvents(true);\n }\n }, [loadingBucket, setLoadingEvents]);\n\n useEffect(() => {\n if (loadingEvents) {\n if (displayEvents) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/events`)\n .then((res: BucketEventList) => {\n const events = get(res, \"events\", []);\n setLoadingEvents(false);\n setRecords(events || []);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingEvents(false);\n dispatch(setErrorSnackMessage(err));\n });\n } else {\n setLoadingEvents(false);\n }\n }\n }, [loadingEvents, dispatch, bucketName, displayEvents]);\n\n const eventsDisplay = (events: string[]) => {\n return {events.join(\", \")};\n };\n\n const confirmDeleteEvent = (evnt: BucketEvent) => {\n setDeleteOpen(true);\n setSelectedEvent(evnt);\n };\n\n const closeAddEventAndRefresh = () => {\n setAddEventScreenOpen(false);\n setLoadingEvents(true);\n };\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n if (refresh) {\n setLoadingEvents(true);\n }\n };\n\n const tableActions = [{ type: \"delete\", onClick: confirmDeleteEvent }];\n\n return (\n \n {deleteOpen && (\n \n )}\n {addEventScreenOpen && (\n \n )}\n\n \n \n Events\n \n \n {\n setAddEventScreenOpen(true);\n }}\n label={\"Subscribe to Event\"}\n icon={}\n variant={\"callAction\"}\n />\n \n \n \n \n \n \n \n \n {!loadingEvents && (\n \n
\n }\n help={\n \n MinIO bucket notifications allow administrators to send\n notifications to supported external services on certain object\n or bucket events. MinIO supports bucket and object-level S3\n events similar to the Amazon S3 Event Notifications.\n
\n
\n You can learn more at our{\" \"}\n \n documentation\n \n .\n
\n }\n />\n
\n )}\n
\n
\n );\n};\n\nexport default withStyles(styles)(BucketEventsPanel);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButtonProps } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 0,\n margin: 0,\n fontSize: \".9rem\",\n },\n });\n\ninterface IPanelTitle extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst PanelTitle = ({ classes, children }: IPanelTitle) => {\n return

{children}

;\n};\n\nexport default withStyles(styles)(PanelTitle);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 10 5 5 5-5z\"\n}), 'ArrowDropDown');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 14 5-5 5 5z\"\n}), 'ArrowDropUp');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z\"\n}), 'ViewColumn');\n\nexports.default = _default;","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"\n}), 'CheckBoxOutlineBlank');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckBox');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z\"\n}), 'IndeterminateCheckBox');","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getCheckboxUtilityClass(slot) {\n return generateUtilityClass('MuiCheckbox', slot);\n}\nconst checkboxClasses = generateUtilityClasses('MuiCheckbox', ['root', 'checked', 'disabled', 'indeterminate', 'colorPrimary', 'colorSecondary']);\nexport default checkboxClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"checkedIcon\", \"color\", \"icon\", \"indeterminate\", \"indeterminateIcon\", \"inputProps\", \"size\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport SwitchBase from '../internal/SwitchBase';\nimport CheckBoxOutlineBlankIcon from '../internal/svg-icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '../internal/svg-icons/CheckBox';\nimport IndeterminateCheckBoxIcon from '../internal/svg-icons/IndeterminateCheckBox';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport checkboxClasses, { getCheckboxUtilityClass } from './checkboxClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n indeterminate,\n color\n } = ownerState;\n const slots = {\n root: ['root', indeterminate && 'indeterminate', `color${capitalize(color)}`]\n };\n const composedClasses = composeClasses(slots, getCheckboxUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst CheckboxRoot = styled(SwitchBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiCheckbox',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.indeterminate && styles.indeterminate, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, !ownerState.disableRipple && {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${ownerState.color === 'default' ? theme.vars.palette.action.activeChannel : theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(ownerState.color === 'default' ? theme.palette.action.active : theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${checkboxClasses.checked}, &.${checkboxClasses.indeterminate}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${checkboxClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n }\n}));\n\nconst defaultCheckedIcon = /*#__PURE__*/_jsx(CheckBoxIcon, {});\n\nconst defaultIcon = /*#__PURE__*/_jsx(CheckBoxOutlineBlankIcon, {});\n\nconst defaultIndeterminateIcon = /*#__PURE__*/_jsx(IndeterminateCheckBoxIcon, {});\n\nconst Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(inProps, ref) {\n var _icon$props$fontSize, _indeterminateIcon$pr;\n\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCheckbox'\n });\n\n const {\n checkedIcon = defaultCheckedIcon,\n color = 'primary',\n icon: iconProp = defaultIcon,\n indeterminate = false,\n indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon,\n inputProps,\n size = 'medium'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const icon = indeterminate ? indeterminateIconProp : iconProp;\n const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;\n\n const ownerState = _extends({}, props, {\n color,\n indeterminate,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CheckboxRoot, _extends({\n type: \"checkbox\",\n inputProps: _extends({\n 'data-indeterminate': indeterminate\n }, inputProps),\n icon: /*#__PURE__*/React.cloneElement(icon, {\n fontSize: (_icon$props$fontSize = icon.props.fontSize) != null ? _icon$props$fontSize : size\n }),\n checkedIcon: /*#__PURE__*/React.cloneElement(indeterminateIcon, {\n fontSize: (_indeterminateIcon$pr = indeterminateIcon.props.fontSize) != null ? _indeterminateIcon$pr : size\n }),\n ownerState: ownerState,\n ref: ref\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Checkbox.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n * @default \n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * The icon to display when the component is unchecked.\n * @default \n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the component appears indeterminate.\n * This does not set the native input element to indeterminate due\n * to inconsistent behavior across browsers.\n * However, we set a `data-indeterminate` attribute on the `input`.\n * @default false\n */\n indeterminate: PropTypes.bool,\n\n /**\n * The icon to display when the component is indeterminate.\n * @default \n */\n indeterminateIcon: PropTypes.node,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense checkbox styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Checkbox;","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","DeleteEvent","withSuspense","React","AddEvent","searchField","actionsTray","twHeight","minHeight","dispatch","useAppDispatch","params","useParams","loadingBucket","useSelector","selBucketDetailsLoading","useState","addEventScreenOpen","setAddEventScreenOpen","loadingEvents","setLoadingEvents","records","setRecords","deleteOpen","setDeleteOpen","selectedEvent","setSelectedEvent","bucketName","displayEvents","hasPermission","IAM_SCOPES","useEffect","api","then","res","events","get","catch","err","setErrorSnackMessage","tableActions","type","onClick","evnt","Fragment","selectedBucket","bucketEvent","closeDeleteModalAndRefresh","refresh","open","closeModalAndRefresh","scopes","resource","matchAll","errorProps","disabled","tooltip","id","label","icon","variant","itemActions","columns","elementKey","renderFunction","join","isLoading","entityName","idField","customPaperHeight","href","target","rel","padding","margin","children","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","createSvgIcon","_jsx","getCheckboxUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","CheckboxRoot","styled","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","ownerState","indeterminate","color","capitalize","_extends","vars","palette","text","secondary","disableRipple","action","activeChannel","primary","mainChannel","hoverOpacity","alpha","active","main","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","inProps","ref","_icon$props$fontSize","_indeterminateIcon$pr","useThemeProps","checkedIcon","iconProp","indeterminateIcon","indeterminateIconProp","inputProps","size","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","baseGetTag","isArray","isObjectLike","module","value"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1465.4525f636.chunk.js b/portal-ui/build/static/js/1465.4525f636.chunk.js new file mode 100644 index 000000000..258cef09e --- /dev/null +++ b/portal-ui/build/static/js/1465.4525f636.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1465],{36151:function(e,t,n){n.d(t,{Z:function(){return j}});var r=n(4942),o=n(63366),i=n(87462),a=n(72791),c=n(28182),l=n(35735),s=n(94419),u=n(12065),p=n(66934),f=n(31402),d=n(95080),h=n(14036),y=n(21217);function v(e){return(0,y.Z)("MuiButton",e)}var m=(0,n(75878).Z)("MuiButton",["root","text","textInherit","textPrimary","textSecondary","textSuccess","textError","textInfo","textWarning","outlined","outlinedInherit","outlinedPrimary","outlinedSecondary","outlinedSuccess","outlinedError","outlinedInfo","outlinedWarning","contained","containedInherit","containedPrimary","containedSecondary","containedSuccess","containedError","containedInfo","containedWarning","disableElevation","focusVisible","disabled","colorInherit","textSizeSmall","textSizeMedium","textSizeLarge","outlinedSizeSmall","outlinedSizeMedium","outlinedSizeLarge","containedSizeSmall","containedSizeMedium","containedSizeLarge","sizeMedium","sizeSmall","sizeLarge","fullWidth","startIcon","endIcon","iconSizeSmall","iconSizeMedium","iconSizeLarge"]);var b=a.createContext({}),g=n(80184),x=["children","color","component","className","disabled","disableElevation","disableFocusRipple","endIcon","focusVisibleClassName","fullWidth","size","startIcon","type","variant"],w=["root"],O=function(e){return(0,i.Z)({},"small"===e.size&&{"& > *:nth-of-type(1)":{fontSize:18}},"medium"===e.size&&{"& > *:nth-of-type(1)":{fontSize:20}},"large"===e.size&&{"& > *:nth-of-type(1)":{fontSize:22}})},S=(0,p.ZP)(d.Z,{shouldForwardProp:function(e){return(0,p.FO)(e)||"classes"===e},name:"MuiButton",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t[n.variant],t["".concat(n.variant).concat((0,h.Z)(n.color))],t["size".concat((0,h.Z)(n.size))],t["".concat(n.variant,"Size").concat((0,h.Z)(n.size))],"inherit"===n.color&&t.colorInherit,n.disableElevation&&t.disableElevation,n.fullWidth&&t.fullWidth]}})((function(e){var t,n,o,a=e.theme,c=e.ownerState;return(0,i.Z)({},a.typography.button,(t={minWidth:64,padding:"6px 16px",borderRadius:(a.vars||a).shape.borderRadius,transition:a.transitions.create(["background-color","box-shadow","border-color","color"],{duration:a.transitions.duration.short}),"&:hover":(0,i.Z)({textDecoration:"none",backgroundColor:a.vars?"rgba(".concat(a.vars.palette.text.primaryChannel," / ").concat(a.vars.palette.action.hoverOpacity,")"):(0,u.Fq)(a.palette.text.primary,a.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"text"===c.variant&&"inherit"!==c.color&&{backgroundColor:a.vars?"rgba(".concat(a.vars.palette[c.color].mainChannel," / ").concat(a.vars.palette.action.hoverOpacity,")"):(0,u.Fq)(a.palette[c.color].main,a.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"outlined"===c.variant&&"inherit"!==c.color&&{border:"1px solid ".concat((a.vars||a).palette[c.color].main),backgroundColor:a.vars?"rgba(".concat(a.vars.palette[c.color].mainChannel," / ").concat(a.vars.palette.action.hoverOpacity,")"):(0,u.Fq)(a.palette[c.color].main,a.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"contained"===c.variant&&{backgroundColor:(a.vars||a).palette.grey.A100,boxShadow:(a.vars||a).shadows[4],"@media (hover: none)":{boxShadow:(a.vars||a).shadows[2],backgroundColor:(a.vars||a).palette.grey[300]}},"contained"===c.variant&&"inherit"!==c.color&&{backgroundColor:(a.vars||a).palette[c.color].dark,"@media (hover: none)":{backgroundColor:(a.vars||a).palette[c.color].main}}),"&:active":(0,i.Z)({},"contained"===c.variant&&{boxShadow:(a.vars||a).shadows[8]})},(0,r.Z)(t,"&.".concat(m.focusVisible),(0,i.Z)({},"contained"===c.variant&&{boxShadow:(a.vars||a).shadows[6]})),(0,r.Z)(t,"&.".concat(m.disabled),(0,i.Z)({color:(a.vars||a).palette.action.disabled},"outlined"===c.variant&&{border:"1px solid ".concat((a.vars||a).palette.action.disabledBackground)},"outlined"===c.variant&&"secondary"===c.color&&{border:"1px solid ".concat((a.vars||a).palette.action.disabled)},"contained"===c.variant&&{color:(a.vars||a).palette.action.disabled,boxShadow:(a.vars||a).shadows[0],backgroundColor:(a.vars||a).palette.action.disabledBackground})),t),"text"===c.variant&&{padding:"6px 8px"},"text"===c.variant&&"inherit"!==c.color&&{color:(a.vars||a).palette[c.color].main},"outlined"===c.variant&&{padding:"5px 15px",border:"1px solid currentColor"},"outlined"===c.variant&&"inherit"!==c.color&&{color:(a.vars||a).palette[c.color].main,border:a.vars?"1px solid rgba(".concat(a.vars.palette[c.color].mainChannel," / 0.5)"):"1px solid ".concat((0,u.Fq)(a.palette[c.color].main,.5))},"contained"===c.variant&&{color:a.vars?a.vars.palette.text.primary:null==(n=(o=a.palette).getContrastText)?void 0:n.call(o,a.palette.grey[300]),backgroundColor:(a.vars||a).palette.grey[300],boxShadow:(a.vars||a).shadows[2]},"contained"===c.variant&&"inherit"!==c.color&&{color:(a.vars||a).palette[c.color].contrastText,backgroundColor:(a.vars||a).palette[c.color].main},"inherit"===c.color&&{color:"inherit",borderColor:"currentColor"},"small"===c.size&&"text"===c.variant&&{padding:"4px 5px",fontSize:a.typography.pxToRem(13)},"large"===c.size&&"text"===c.variant&&{padding:"8px 11px",fontSize:a.typography.pxToRem(15)},"small"===c.size&&"outlined"===c.variant&&{padding:"3px 9px",fontSize:a.typography.pxToRem(13)},"large"===c.size&&"outlined"===c.variant&&{padding:"7px 21px",fontSize:a.typography.pxToRem(15)},"small"===c.size&&"contained"===c.variant&&{padding:"4px 10px",fontSize:a.typography.pxToRem(13)},"large"===c.size&&"contained"===c.variant&&{padding:"8px 22px",fontSize:a.typography.pxToRem(15)},c.fullWidth&&{width:"100%"})}),(function(e){var t;return e.ownerState.disableElevation&&(t={boxShadow:"none","&:hover":{boxShadow:"none"}},(0,r.Z)(t,"&.".concat(m.focusVisible),{boxShadow:"none"}),(0,r.Z)(t,"&:active",{boxShadow:"none"}),(0,r.Z)(t,"&.".concat(m.disabled),{boxShadow:"none"}),t)})),E=(0,p.ZP)("span",{name:"MuiButton",slot:"StartIcon",overridesResolver:function(e,t){var n=e.ownerState;return[t.startIcon,t["iconSize".concat((0,h.Z)(n.size))]]}})((function(e){var t=e.ownerState;return(0,i.Z)({display:"inherit",marginRight:8,marginLeft:-4},"small"===t.size&&{marginLeft:-2},O(t))})),P=(0,p.ZP)("span",{name:"MuiButton",slot:"EndIcon",overridesResolver:function(e,t){var n=e.ownerState;return[t.endIcon,t["iconSize".concat((0,h.Z)(n.size))]]}})((function(e){var t=e.ownerState;return(0,i.Z)({display:"inherit",marginRight:-4,marginLeft:8},"small"===t.size&&{marginRight:-2},O(t))})),j=a.forwardRef((function(e,t){var n=a.useContext(b),r=(0,l.Z)(n,e),u=(0,f.Z)({props:r,name:"MuiButton"}),p=u.children,d=u.color,y=void 0===d?"primary":d,m=u.component,O=void 0===m?"button":m,j=u.className,z=u.disabled,k=void 0!==z&&z,A=u.disableElevation,R=void 0!==A&&A,C=u.disableFocusRipple,I=void 0!==C&&C,W=u.endIcon,N=u.focusVisibleClassName,Z=u.fullWidth,_=void 0!==Z&&Z,M=u.size,D=void 0===M?"medium":M,T=u.startIcon,F=u.type,H=u.variant,L=void 0===H?"text":H,B=(0,o.Z)(u,x),U=(0,i.Z)({},u,{color:y,component:O,disabled:k,disableElevation:R,disableFocusRipple:I,fullWidth:_,size:D,type:F,variant:L}),V=function(e){var t=e.color,n=e.disableElevation,r=e.fullWidth,o=e.size,a=e.variant,c=e.classes,l={root:["root",a,"".concat(a).concat((0,h.Z)(t)),"size".concat((0,h.Z)(o)),"".concat(a,"Size").concat((0,h.Z)(o)),"inherit"===t&&"colorInherit",n&&"disableElevation",r&&"fullWidth"],label:["label"],startIcon:["startIcon","iconSize".concat((0,h.Z)(o))],endIcon:["endIcon","iconSize".concat((0,h.Z)(o))]},u=(0,s.Z)(l,v,c);return(0,i.Z)({},c,u)}(U),q=V.root,K=(0,o.Z)(V,w),$=T&&(0,g.jsx)(E,{className:K.startIcon,ownerState:U,children:T}),G=W&&(0,g.jsx)(P,{className:K.endIcon,ownerState:U,children:W});return(0,g.jsxs)(S,(0,i.Z)({ownerState:U,className:(0,c.Z)(n.className,q,j),component:O,disabled:k,focusRipple:!I,focusVisibleClassName:(0,c.Z)(K.focusVisible,N),ref:t,type:F},B,{classes:K,children:[$,p,G]}))}))},23688:function(e,t,n){function r(){var e=this.constructor.getDerivedStateFromProps(this.props,this.state);null!==e&&void 0!==e&&this.setState(e)}function o(e){this.setState(function(t){var n=this.constructor.getDerivedStateFromProps(e,t);return null!==n&&void 0!==n?n:null}.bind(this))}function i(e,t){try{var n=this.props,r=this.state;this.props=e,this.state=t,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(n,r)}finally{this.props=n,this.state=r}}function a(e){var t=e.prototype;if(!t||!t.isReactComponent)throw new Error("Can only polyfill class components");if("function"!==typeof e.getDerivedStateFromProps&&"function"!==typeof t.getSnapshotBeforeUpdate)return e;var n=null,a=null,c=null;if("function"===typeof t.componentWillMount?n="componentWillMount":"function"===typeof t.UNSAFE_componentWillMount&&(n="UNSAFE_componentWillMount"),"function"===typeof t.componentWillReceiveProps?a="componentWillReceiveProps":"function"===typeof t.UNSAFE_componentWillReceiveProps&&(a="UNSAFE_componentWillReceiveProps"),"function"===typeof t.componentWillUpdate?c="componentWillUpdate":"function"===typeof t.UNSAFE_componentWillUpdate&&(c="UNSAFE_componentWillUpdate"),null!==n||null!==a||null!==c){var l=e.displayName||e.name,s="function"===typeof e.getDerivedStateFromProps?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error("Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n"+l+" uses "+s+" but also contains the following legacy lifecycles:"+(null!==n?"\n "+n:"")+(null!==a?"\n "+a:"")+(null!==c?"\n "+c:"")+"\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://fb.me/react-async-component-lifecycle-hooks")}if("function"===typeof e.getDerivedStateFromProps&&(t.componentWillMount=r,t.componentWillReceiveProps=o),"function"===typeof t.getSnapshotBeforeUpdate){if("function"!==typeof t.componentDidUpdate)throw new Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");t.componentWillUpdate=i;var u=t.componentDidUpdate;t.componentDidUpdate=function(e,t,n){var r=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:n;u.call(this,e,t,r)}}return e}n.r(t),n.d(t,{polyfill:function(){return a}}),r.__suppressDeprecationWarning=!0,o.__suppressDeprecationWarning=!0,i.__suppressDeprecationWarning=!0},18602:function(e,t,n){n.d(t,{u:function(){return H}});var r=n(18111),o=n.n(r),i=n(82066),a=n.n(i),c=n(29627),l=n.n(c),s=n(74786),u=n.n(s),p=n(26181),f=n.n(p),d=n(42854),h=n.n(d),y=n(93629),v=n.n(y),m=n(72791),b=n(81694),g=n.n(b),x=n(35195),w=n(24664),O=n(39718),S=n(46044),E=n(87970),P=n(36768),j=n(70587),z=n(76185),k=n(57241);function A(e){return A="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},A(e)}function R(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=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function C(){return C=Object.assign||function(e){for(var t=1;t0||!o()(l,r)||!o()(s,i))?this.renderAreaWithAnimation(e,t):this.renderAreaStatically(r,i,e,t)}},{key:"render",value:function(){var e=this.props,t=e.hide,n=e.dot,r=e.points,o=e.className,i=e.top,a=e.left,c=e.xAxis,l=e.yAxis,s=e.width,u=e.height,p=e.isAnimationActive,f=e.id;if(t||!r||!r.length)return null;var d=this.state.isAnimationFinished,y=1===r.length,v=g()("recharts-area",o),b=c&&c.allowDataOverflow||l&&l.allowDataOverflow,x=h()(f)?this.id:f;return m.createElement(S.m,{className:v},b?m.createElement("defs",null,m.createElement("clipPath",{id:"clipPath-".concat(x)},m.createElement("rect",{x:a,y:i,width:s,height:Math.floor(u)}))):null,y?null:this.renderArea(b,x),(n||y)&&this.renderDots(b,x),(!p||d)&&E.e.renderCallByParent(this.props,r))}}])&&_(t.prototype,n),r&&_(t,r),c}(m.PureComponent);H.displayName="Area",H.defaultProps={stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!P.x.isSsr,animationBegin:0,animationDuration:1500,animationEasing:"ease"},H.getBaseValue=function(e,t,n){var r=e.layout,o=e.baseValue;if((0,j.hj)(o)&&"number"===typeof o)return o;var i="horizontal"===r?n:t,a=i.scale.domain();if("number"===i.type){var c=Math.max(a[0],a[1]),l=Math.min(a[0],a[1]);return"dataMin"===o?l:"dataMax"===o||c<0?c:Math.max(Math.min(a[0],a[1]),0)}return"dataMin"===o?a[0]:"dataMax"===o?a[1]:a[0]},H.getComposedData=function(e){var t,n=e.props,r=e.xAxis,o=e.yAxis,i=e.xAxisTicks,a=e.yAxisTicks,c=e.bandSize,l=e.dataKey,s=e.stackedData,u=e.dataStartIndex,p=e.displayedData,d=e.offset,y=n.layout,m=s&&s.length,b=H.getBaseValue(n,r,o),g=!1,x=p.map((function(e,t){var n,p=(0,z.F$)(e,l);m?n=s[u+t]:(n=p,v()(n)?g=!0:n=[b,n]);var f=h()(n[1])||m&&h()(p);return"horizontal"===y?{x:(0,z.Hv)({axis:r,ticks:i,bandSize:c,entry:e,index:t}),y:f?null:o.scale(n[1]),value:n,payload:e}:{x:f?null:r.scale(n[1]),y:(0,z.Hv)({axis:o,ticks:a,bandSize:c,entry:e,index:t}),value:n,payload:e}}));return t=m||g?x.map((function(e){return"horizontal"===y?{x:e.x,y:h()(f()(e,"value[0]"))||h()(f()(e,"y"))?null:o.scale(f()(e,"value[0]"))}:{x:h()(f()(e,"value[0]"))?null:r.scale(f()(e,"value[0]")),y:e.y}})):"horizontal"===y?o.scale(b):r.scale(b),W({points:x,baseLine:t,layout:y,isRange:g},d)},H.renderDotItem=function(e,t){return m.isValidElement(e)?m.cloneElement(e,t):u()(e)?e(t):m.createElement(O.o,C({},t,{className:"recharts-area-dot"}))}},82839:function(e,t,n){n.d(t,{q:function(){return x}});var r=n(74786),o=n.n(r),i=n(72791),a=n(70587),c=n(57241);function l(e){return l="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},l(e)}function s(){return s=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function p(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 f(e){for(var t=1;t=t||n<0||p&&e-s>=i}function v(){var e=U();if(y(e))return m(e);c=setTimeout(v,function(e){var n=t-(e-l);return p?K(n,i-(e-s)):n}(e))}function m(e){return c=void 0,f&&r?d(e):(r=o=void 0,a)}function b(){var e=U(),n=y(e);if(r=arguments,o=this,l=e,n){if(void 0===c)return h(l);if(p)return clearTimeout(c),c=setTimeout(v,t),d(l)}return void 0===c&&(c=setTimeout(v,t)),a}return t=V(t)||0,B(n)&&(u=!!n.leading,i=(p="maxWait"in n)?q(V(n.maxWait)||0,t):i,f="trailing"in n?!!n.trailing:f),b.cancel=function(){void 0!==c&&clearTimeout(c),s=0,r=l=o=c=void 0},b.flush=function(){return void 0===c?a:m(U())},b},G=$,X=d;var Y=function(e,t,n){var r=!0,o=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return X(n)&&(r="leading"in n?!!n.leading:r,o="trailing"in n?!!n.trailing:o),G(e,t,{leading:r,maxWait:t,trailing:o})},J=function(e,t,n,r){switch(t){case"debounce":return $(e,n,r);case"throttle":return Y(e,n,r);default:return e}},Q=function(e){return"function"===typeof e},ee=function(){return"undefined"===typeof window},te=function(e){return e instanceof Element||e instanceof HTMLDocument},ne=function(e,t,n,r){return function(o){var i=o.width,a=o.height;t((function(t){return t.width===i&&t.height===a||t.width===i&&!r||t.height===a&&!n?t:(e&&Q(e)&&e(i,a),{width:i,height:a})}))}},re=function(e){function t(t){var n=e.call(this,t)||this;n.cancelHandler=function(){n.resizeHandler&&n.resizeHandler.cancel&&(n.resizeHandler.cancel(),n.resizeHandler=null)},n.attachObserver=function(){var e=n.props,t=e.targetRef,r=e.observerOptions;if(!ee()){t&&t.current&&(n.targetRef.current=t.current);var o=n.getElement();o&&(n.observableElement&&n.observableElement===o||(n.observableElement=o,n.resizeObserver.observe(o,r)))}},n.getElement=function(){var e=n.props,t=e.querySelector,r=e.targetDomEl;if(ee())return null;if(t)return document.querySelector(t);if(r&&te(r))return r;if(n.targetRef&&te(n.targetRef.current))return n.targetRef.current;var o=(0,l.findDOMNode)(n);if(!o)return null;switch(n.getRenderType()){case"renderProp":case"childFunction":case"child":case"childArray":return o;default:return o.parentElement}},n.createResizeHandler=function(e){var t=n.props,r=t.handleWidth,o=void 0===r||r,i=t.handleHeight,a=void 0===i||i,c=t.onResize;if(o||a){var l=ne(c,n.setState.bind(n),o,a);e.forEach((function(e){var t=e&&e.contentRect||{},r=t.width,o=t.height;!n.skipOnMount&&!ee()&&l({width:r,height:o}),n.skipOnMount=!1}))}},n.getRenderType=function(){var e=n.props,t=e.render,r=e.children;return Q(t)?"renderProp":Q(r)?"childFunction":(0,c.isValidElement)(r)?"child":Array.isArray(r)?"childArray":"parent"};var r=t.skipOnMount,o=t.refreshMode,i=t.refreshRate,a=void 0===i?1e3:i,s=t.refreshOptions;return n.state={width:void 0,height:void 0},n.skipOnMount=r,n.targetRef=(0,c.createRef)(),n.observableElement=null,ee()||(n.resizeHandler=J(n.createResizeHandler,o,a,s),n.resizeObserver=new window.ResizeObserver(n.resizeHandler)),n}return u(t,e),t.prototype.componentDidMount=function(){this.attachObserver()},t.prototype.componentDidUpdate=function(){this.attachObserver()},t.prototype.componentWillUnmount=function(){ee()||(this.observableElement=null,this.resizeObserver.disconnect(),this.cancelHandler())},t.prototype.render=function(){var e,t=this.props,n=t.render,r=t.children,o=t.nodeType,i=void 0===o?"div":o,a=this.state,l={width:a.width,height:a.height,targetRef:this.targetRef};switch(this.getRenderType()){case"renderProp":return n&&n(l);case"childFunction":return(e=r)(l);case"child":if((e=r).type&&"string"===typeof e.type){var s=p(l,["targetRef"]);return(0,c.cloneElement)(e,s)}return(0,c.cloneElement)(e,l);case"childArray":return(e=r).map((function(e){return!!e&&(0,c.cloneElement)(e,l)}));default:return c.createElement(i,null)}},t}(c.PureComponent);ee()?c.useEffect:c.useLayoutEffect;var oe=n(70587),ie=n(15303);function ae(){return ae=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0?o()(j,y):j;(0,c.useEffect)((function(){if(S){var e=P();e&&x(e)}}),[S]),(0,c.useEffect)((function(){E(!0)}),[]);var k={width:i,height:s,minWidth:u,minHeight:p,maxHeight:f};return c.createElement(re,{handleWidth:!0,handleHeight:!0,onResize:z,targetRef:w},c.createElement("div",ae({},null!=v?{id:"".concat(v)}:{},{className:a()("recharts-responsive-container",m),style:k,ref:w}),function(){var e=g.containerWidth,t=g.containerHeight;if(e<0||t<0)return null;(0,ie.Z)((0,oe.hU)(i)||(0,oe.hU)(s),"The width(%s) and height(%s) are both fixed numbers,\n maybe you don't need to use a ResponsiveContainer.",i,s),(0,ie.Z)(!n||n>0,"The aspect(%s) must be greater than zero.",n);var r=(0,oe.hU)(i)?e:i,o=(0,oe.hU)(s)?t:s;return n&&n>0&&(r?o=r/n:o&&(r=o*n),f&&o>f&&(o=f)),(0,ie.Z)(r>0||o>0,"The width(%s) and height(%s) of chart should be greater than 0,\n please check the style of container, or the props width(%s) and height(%s),\n or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the\n height and width.",r,o,i,s,u,p,n),(0,c.cloneElement)(d,{width:r,height:o})}()))}))},61120:function(e,t,n){function r(e){return r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},r(e)}n.d(t,{Z:function(){return r}})},60136:function(e,t,n){n.d(t,{Z:function(){return o}});var r=n(89611);function o(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}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&(0,r.Z)(e,t)}},82963:function(e,t,n){n.d(t,{Z:function(){return i}});var r=n(71002),o=n(97326);function i(e,t){if(t&&("object"===(0,r.Z)(t)||"function"===typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return(0,o.Z)(e)}}}]); +//# sourceMappingURL=1465.4525f636.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1465.4525f636.chunk.js.map b/portal-ui/build/static/js/1465.4525f636.chunk.js.map new file mode 100644 index 000000000..6ea3542c1 --- /dev/null +++ b/portal-ui/build/static/js/1465.4525f636.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1465.4525f636.chunk.js","mappings":"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","sources":["../node_modules/@mui/material/Button/buttonClasses.js","../node_modules/@mui/material/ButtonGroup/ButtonGroupContext.js","../node_modules/@mui/material/Button/Button.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/recharts/es6/cartesian/Area.js","../node_modules/recharts/es6/cartesian/CartesianGrid.js","../node_modules/recharts/es6/cartesian/XAxis.js","../node_modules/recharts/es6/cartesian/YAxis.js","../node_modules/recharts/es6/chart/AreaChart.js","../node_modules/react-resize-detector/node_modules/tslib/tslib.es6.js","../node_modules/react-resize-detector/node_modules/lodash/isObject.js","../node_modules/react-resize-detector/node_modules/lodash/_root.js","../node_modules/react-resize-detector/node_modules/lodash/_freeGlobal.js","../node_modules/react-resize-detector/node_modules/lodash/now.js","../node_modules/react-resize-detector/node_modules/lodash/_trimmedEndIndex.js","../node_modules/react-resize-detector/node_modules/lodash/_baseTrim.js","../node_modules/react-resize-detector/node_modules/lodash/_Symbol.js","../node_modules/react-resize-detector/node_modules/lodash/_getRawTag.js","../node_modules/react-resize-detector/node_modules/lodash/_objectToString.js","../node_modules/react-resize-detector/node_modules/lodash/_baseGetTag.js","../node_modules/react-resize-detector/node_modules/lodash/isObjectLike.js","../node_modules/react-resize-detector/node_modules/lodash/isSymbol.js","../node_modules/react-resize-detector/node_modules/lodash/toNumber.js","../node_modules/react-resize-detector/node_modules/lodash/debounce.js","../node_modules/react-resize-detector/node_modules/lodash/throttle.js","../node_modules/react-resize-detector/src/utils.ts","../node_modules/react-resize-detector/src/ResizeDetector.tsx","../node_modules/react-resize-detector/src/useResizeDetector.ts","../node_modules/recharts/es6/component/ResponsiveContainer.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js"],"sourcesContent":["import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getButtonUtilityClass(slot) {\n return generateUtilityClass('MuiButton', slot);\n}\nconst buttonClasses = generateUtilityClasses('MuiButton', ['root', 'text', 'textInherit', 'textPrimary', 'textSecondary', 'textSuccess', 'textError', 'textInfo', 'textWarning', 'outlined', 'outlinedInherit', 'outlinedPrimary', 'outlinedSecondary', 'outlinedSuccess', 'outlinedError', 'outlinedInfo', 'outlinedWarning', 'contained', 'containedInherit', 'containedPrimary', 'containedSecondary', 'containedSuccess', 'containedError', 'containedInfo', 'containedWarning', 'disableElevation', 'focusVisible', 'disabled', 'colorInherit', 'textSizeSmall', 'textSizeMedium', 'textSizeLarge', 'outlinedSizeSmall', 'outlinedSizeMedium', 'outlinedSizeLarge', 'containedSizeSmall', 'containedSizeMedium', 'containedSizeLarge', 'sizeMedium', 'sizeSmall', 'sizeLarge', 'fullWidth', 'startIcon', 'endIcon', 'iconSizeSmall', 'iconSizeMedium', 'iconSizeLarge']);\nexport default buttonClasses;","import * as React from 'react';\n\n/**\n * @ignore - internal component.\n */\nconst ButtonGroupContext = /*#__PURE__*/React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ButtonGroupContext.displayName = 'ButtonGroupContext';\n}\n\nexport default ButtonGroupContext;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"color\", \"component\", \"className\", \"disabled\", \"disableElevation\", \"disableFocusRipple\", \"endIcon\", \"focusVisibleClassName\", \"fullWidth\", \"size\", \"startIcon\", \"type\", \"variant\"],\n _excluded2 = [\"root\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { internal_resolveProps as resolveProps } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ButtonBase from '../ButtonBase';\nimport capitalize from '../utils/capitalize';\nimport buttonClasses, { getButtonUtilityClass } from './buttonClasses';\nimport ButtonGroupContext from '../ButtonGroup/ButtonGroupContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n color,\n disableElevation,\n fullWidth,\n size,\n variant,\n classes\n } = ownerState;\n const slots = {\n root: ['root', variant, `${variant}${capitalize(color)}`, `size${capitalize(size)}`, `${variant}Size${capitalize(size)}`, color === 'inherit' && 'colorInherit', disableElevation && 'disableElevation', fullWidth && 'fullWidth'],\n label: ['label'],\n startIcon: ['startIcon', `iconSize${capitalize(size)}`],\n endIcon: ['endIcon', `iconSize${capitalize(size)}`]\n };\n const composedClasses = composeClasses(slots, getButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst commonIconStyles = ownerState => _extends({}, ownerState.size === 'small' && {\n '& > *:nth-of-type(1)': {\n fontSize: 18\n }\n}, ownerState.size === 'medium' && {\n '& > *:nth-of-type(1)': {\n fontSize: 20\n }\n}, ownerState.size === 'large' && {\n '& > *:nth-of-type(1)': {\n fontSize: 22\n }\n});\n\nconst ButtonRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`${ownerState.variant}${capitalize(ownerState.color)}`], styles[`size${capitalize(ownerState.size)}`], styles[`${ownerState.variant}Size${capitalize(ownerState.size)}`], ownerState.color === 'inherit' && styles.colorInherit, ownerState.disableElevation && styles.disableElevation, ownerState.fullWidth && styles.fullWidth];\n }\n})(({\n theme,\n ownerState\n}) => {\n var _theme$palette$getCon, _theme$palette;\n\n return _extends({}, theme.typography.button, {\n minWidth: 64,\n padding: '6px 16px',\n borderRadius: (theme.vars || theme).shape.borderRadius,\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color', 'color'], {\n duration: theme.transitions.duration.short\n }),\n '&:hover': _extends({\n textDecoration: 'none',\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.text.primaryChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.text.primary, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }, ownerState.variant === 'text' && ownerState.color !== 'inherit' && {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }, ownerState.variant === 'outlined' && ownerState.color !== 'inherit' && {\n border: `1px solid ${(theme.vars || theme).palette[ownerState.color].main}`,\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }, ownerState.variant === 'contained' && {\n backgroundColor: (theme.vars || theme).palette.grey.A100,\n boxShadow: (theme.vars || theme).shadows[4],\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n boxShadow: (theme.vars || theme).shadows[2],\n backgroundColor: (theme.vars || theme).palette.grey[300]\n }\n }, ownerState.variant === 'contained' && ownerState.color !== 'inherit' && {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].dark,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].main\n }\n }),\n '&:active': _extends({}, ownerState.variant === 'contained' && {\n boxShadow: (theme.vars || theme).shadows[8]\n }),\n [`&.${buttonClasses.focusVisible}`]: _extends({}, ownerState.variant === 'contained' && {\n boxShadow: (theme.vars || theme).shadows[6]\n }),\n [`&.${buttonClasses.disabled}`]: _extends({\n color: (theme.vars || theme).palette.action.disabled\n }, ownerState.variant === 'outlined' && {\n border: `1px solid ${(theme.vars || theme).palette.action.disabledBackground}`\n }, ownerState.variant === 'outlined' && ownerState.color === 'secondary' && {\n border: `1px solid ${(theme.vars || theme).palette.action.disabled}`\n }, ownerState.variant === 'contained' && {\n color: (theme.vars || theme).palette.action.disabled,\n boxShadow: (theme.vars || theme).shadows[0],\n backgroundColor: (theme.vars || theme).palette.action.disabledBackground\n })\n }, ownerState.variant === 'text' && {\n padding: '6px 8px'\n }, ownerState.variant === 'text' && ownerState.color !== 'inherit' && {\n color: (theme.vars || theme).palette[ownerState.color].main\n }, ownerState.variant === 'outlined' && {\n padding: '5px 15px',\n border: '1px solid currentColor'\n }, ownerState.variant === 'outlined' && ownerState.color !== 'inherit' && {\n color: (theme.vars || theme).palette[ownerState.color].main,\n border: theme.vars ? `1px solid rgba(${theme.vars.palette[ownerState.color].mainChannel} / 0.5)` : `1px solid ${alpha(theme.palette[ownerState.color].main, 0.5)}`\n }, ownerState.variant === 'contained' && {\n color: theme.vars ? // this is safe because grey does not change between default light/dark mode\n theme.vars.palette.text.primary : (_theme$palette$getCon = (_theme$palette = theme.palette).getContrastText) == null ? void 0 : _theme$palette$getCon.call(_theme$palette, theme.palette.grey[300]),\n backgroundColor: (theme.vars || theme).palette.grey[300],\n boxShadow: (theme.vars || theme).shadows[2]\n }, ownerState.variant === 'contained' && ownerState.color !== 'inherit' && {\n color: (theme.vars || theme).palette[ownerState.color].contrastText,\n backgroundColor: (theme.vars || theme).palette[ownerState.color].main\n }, ownerState.color === 'inherit' && {\n color: 'inherit',\n borderColor: 'currentColor'\n }, ownerState.size === 'small' && ownerState.variant === 'text' && {\n padding: '4px 5px',\n fontSize: theme.typography.pxToRem(13)\n }, ownerState.size === 'large' && ownerState.variant === 'text' && {\n padding: '8px 11px',\n fontSize: theme.typography.pxToRem(15)\n }, ownerState.size === 'small' && ownerState.variant === 'outlined' && {\n padding: '3px 9px',\n fontSize: theme.typography.pxToRem(13)\n }, ownerState.size === 'large' && ownerState.variant === 'outlined' && {\n padding: '7px 21px',\n fontSize: theme.typography.pxToRem(15)\n }, ownerState.size === 'small' && ownerState.variant === 'contained' && {\n padding: '4px 10px',\n fontSize: theme.typography.pxToRem(13)\n }, ownerState.size === 'large' && ownerState.variant === 'contained' && {\n padding: '8px 22px',\n fontSize: theme.typography.pxToRem(15)\n }, ownerState.fullWidth && {\n width: '100%'\n });\n}, ({\n ownerState\n}) => ownerState.disableElevation && {\n boxShadow: 'none',\n '&:hover': {\n boxShadow: 'none'\n },\n [`&.${buttonClasses.focusVisible}`]: {\n boxShadow: 'none'\n },\n '&:active': {\n boxShadow: 'none'\n },\n [`&.${buttonClasses.disabled}`]: {\n boxShadow: 'none'\n }\n});\nconst ButtonStartIcon = styled('span', {\n name: 'MuiButton',\n slot: 'StartIcon',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.startIcon, styles[`iconSize${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inherit',\n marginRight: 8,\n marginLeft: -4\n}, ownerState.size === 'small' && {\n marginLeft: -2\n}, commonIconStyles(ownerState)));\nconst ButtonEndIcon = styled('span', {\n name: 'MuiButton',\n slot: 'EndIcon',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.endIcon, styles[`iconSize${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inherit',\n marginRight: -4,\n marginLeft: 8\n}, ownerState.size === 'small' && {\n marginRight: -2\n}, commonIconStyles(ownerState)));\nconst Button = /*#__PURE__*/React.forwardRef(function Button(inProps, ref) {\n // props priority: `inProps` > `contextProps` > `themeDefaultProps`\n const contextProps = React.useContext(ButtonGroupContext);\n const resolvedProps = resolveProps(contextProps, inProps);\n const props = useThemeProps({\n props: resolvedProps,\n name: 'MuiButton'\n });\n\n const {\n children,\n color = 'primary',\n component = 'button',\n className,\n disabled = false,\n disableElevation = false,\n disableFocusRipple = false,\n endIcon: endIconProp,\n focusVisibleClassName,\n fullWidth = false,\n size = 'medium',\n startIcon: startIconProp,\n type,\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n color,\n component,\n disabled,\n disableElevation,\n disableFocusRipple,\n fullWidth,\n size,\n type,\n variant\n });\n\n const _useUtilityClasses = useUtilityClasses(ownerState),\n {\n root: classesRoot\n } = _useUtilityClasses,\n classes = _objectWithoutPropertiesLoose(_useUtilityClasses, _excluded2);\n\n const startIcon = startIconProp && /*#__PURE__*/_jsx(ButtonStartIcon, {\n className: classes.startIcon,\n ownerState: ownerState,\n children: startIconProp\n });\n\n const endIcon = endIconProp && /*#__PURE__*/_jsx(ButtonEndIcon, {\n className: classes.endIcon,\n ownerState: ownerState,\n children: endIconProp\n });\n\n return /*#__PURE__*/_jsxs(ButtonRoot, _extends({\n ownerState: ownerState,\n className: clsx(contextProps.className, classesRoot, className),\n component: component,\n disabled: disabled,\n focusRipple: !disableFocusRipple,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),\n ref: ref,\n type: type\n }, other, {\n classes: classes,\n children: [startIcon, children, endIcon]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Button.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['inherit', 'primary', 'secondary', 'success', 'error', 'info', 'warning']), PropTypes.string]),\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, no elevation is used.\n * @default false\n */\n disableElevation: PropTypes.bool,\n\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n *\n * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.\n * @default false\n */\n disableRipple: PropTypes.bool,\n\n /**\n * Element placed after the children.\n */\n endIcon: PropTypes.node,\n\n /**\n * @ignore\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * If `true`, the button will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n\n /**\n * The URL to link to when the button is clicked.\n * If defined, an `a` element will be used as the root node.\n */\n href: PropTypes.string,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense button styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['small', 'medium', 'large']), PropTypes.string]),\n\n /**\n * Element placed before the children.\n */\n startIcon: PropTypes.node,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * @ignore\n */\n type: PropTypes.oneOfType([PropTypes.oneOf(['button', 'reset', 'submit']), PropTypes.string]),\n\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['contained', 'outlined', 'text']), PropTypes.string])\n} : void 0;\nexport default Button;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport _isEqual from \"lodash/isEqual\";\nimport _isNaN from \"lodash/isNaN\";\nimport _max from \"lodash/max\";\nimport _isFunction from \"lodash/isFunction\";\nimport _get from \"lodash/get\";\nimport _isNil from \"lodash/isNil\";\nimport _isArray from \"lodash/isArray\";\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/**\n * @fileOverview Area\n */\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport Animate from 'react-smooth';\nimport { Curve } from '../shape/Curve';\nimport { Dot } from '../shape/Dot';\nimport { Layer } from '../container/Layer';\nimport { LabelList } from '../component/LabelList';\nimport { Global } from '../util/Global';\nimport { isNumber, uniqueId, interpolateNumber } from '../util/DataUtils';\nimport { getCateCoordinateOfLine, getValueByDataKey } from '../util/ChartUtils';\nimport { filterProps } from '../util/types';\nexport var Area = /*#__PURE__*/function (_PureComponent) {\n _inherits(Area, _PureComponent);\n\n var _super = _createSuper(Area);\n\n function Area() {\n var _this;\n\n _classCallCheck(this, Area);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n isAnimationFinished: true\n };\n _this.id = uniqueId('recharts-area-');\n\n _this.handleAnimationEnd = function () {\n var onAnimationEnd = _this.props.onAnimationEnd;\n\n _this.setState({\n isAnimationFinished: true\n });\n\n if (_isFunction(onAnimationEnd)) {\n onAnimationEnd();\n }\n };\n\n _this.handleAnimationStart = function () {\n var onAnimationStart = _this.props.onAnimationStart;\n\n _this.setState({\n isAnimationFinished: false\n });\n\n if (_isFunction(onAnimationStart)) {\n onAnimationStart();\n }\n };\n\n return _this;\n }\n\n _createClass(Area, [{\n key: \"renderDots\",\n value: function renderDots(needClip, clipPathId) {\n var isAnimationActive = this.props.isAnimationActive;\n var isAnimationFinished = this.state.isAnimationFinished;\n\n if (isAnimationActive && !isAnimationFinished) {\n return null;\n }\n\n var _this$props = this.props,\n dot = _this$props.dot,\n points = _this$props.points,\n dataKey = _this$props.dataKey;\n var areaProps = filterProps(this.props);\n var customDotProps = filterProps(dot, true);\n var dots = points.map(function (entry, i) {\n var dotProps = _objectSpread(_objectSpread(_objectSpread({\n key: \"dot-\".concat(i),\n r: 3\n }, areaProps), customDotProps), {}, {\n dataKey: dataKey,\n cx: entry.x,\n cy: entry.y,\n index: i,\n value: entry.value,\n payload: entry.payload\n });\n\n return Area.renderDotItem(dot, dotProps);\n });\n var dotsProps = {\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : null\n };\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: \"recharts-area-dots\"\n }, dotsProps), dots);\n }\n }, {\n key: \"renderHorizontalRect\",\n value: function renderHorizontalRect(alpha) {\n var _this$props2 = this.props,\n baseLine = _this$props2.baseLine,\n points = _this$props2.points,\n strokeWidth = _this$props2.strokeWidth;\n var startX = points[0].x;\n var endX = points[points.length - 1].x;\n var width = alpha * Math.abs(startX - endX);\n\n var maxY = _max(points.map(function (entry) {\n return entry.y || 0;\n }));\n\n if (isNumber(baseLine) && typeof baseLine === 'number') {\n maxY = Math.max(baseLine, maxY);\n } else if (baseLine && _isArray(baseLine) && baseLine.length) {\n maxY = Math.max(_max(baseLine.map(function (entry) {\n return entry.y || 0;\n })), maxY);\n }\n\n if (isNumber(maxY)) {\n return /*#__PURE__*/React.createElement(\"rect\", {\n x: startX < endX ? startX : startX - width,\n y: 0,\n width: width,\n height: Math.floor(maxY + (strokeWidth ? parseInt(\"\".concat(strokeWidth), 10) : 1))\n });\n }\n\n return null;\n }\n }, {\n key: \"renderVerticalRect\",\n value: function renderVerticalRect(alpha) {\n var _this$props3 = this.props,\n baseLine = _this$props3.baseLine,\n points = _this$props3.points,\n strokeWidth = _this$props3.strokeWidth;\n var startY = points[0].y;\n var endY = points[points.length - 1].y;\n var height = alpha * Math.abs(startY - endY);\n\n var maxX = _max(points.map(function (entry) {\n return entry.x || 0;\n }));\n\n if (isNumber(baseLine) && typeof baseLine === 'number') {\n maxX = Math.max(baseLine, maxX);\n } else if (baseLine && _isArray(baseLine) && baseLine.length) {\n maxX = Math.max(_max(baseLine.map(function (entry) {\n return entry.x || 0;\n })), maxX);\n }\n\n if (isNumber(maxX)) {\n return /*#__PURE__*/React.createElement(\"rect\", {\n x: 0,\n y: startY < endY ? startY : startY - height,\n width: maxX + (strokeWidth ? parseInt(\"\".concat(strokeWidth), 10) : 1),\n height: Math.floor(height)\n });\n }\n\n return null;\n }\n }, {\n key: \"renderClipRect\",\n value: function renderClipRect(alpha) {\n var layout = this.props.layout;\n\n if (layout === 'vertical') {\n return this.renderVerticalRect(alpha);\n }\n\n return this.renderHorizontalRect(alpha);\n }\n }, {\n key: \"renderAreaStatically\",\n value: function renderAreaStatically(points, baseLine, needClip, clipPathId) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n var _this$props4 = this.props,\n layout = _this$props4.layout,\n type = _this$props4.type,\n stroke = _this$props4.stroke,\n connectNulls = _this$props4.connectNulls,\n isRange = _this$props4.isRange,\n ref = _this$props4.ref,\n others = _objectWithoutProperties(_this$props4, [\"layout\", \"type\", \"stroke\", \"connectNulls\", \"isRange\", \"ref\"]);\n\n return /*#__PURE__*/React.createElement(Layer, {\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : null\n }, /*#__PURE__*/React.createElement(Curve, _extends({}, filterProps(others, true), {\n points: points,\n connectNulls: connectNulls,\n type: type,\n baseLine: baseLine,\n layout: layout,\n stroke: \"none\",\n className: \"recharts-area-area\"\n })), stroke !== 'none' && /*#__PURE__*/React.createElement(Curve, _extends({}, filterProps(this.props), {\n className: \"recharts-area-curve\",\n layout: layout,\n type: type,\n connectNulls: connectNulls,\n fill: \"none\",\n points: points\n })), stroke !== 'none' && isRange && /*#__PURE__*/React.createElement(Curve, _extends({}, filterProps(this.props), {\n className: \"recharts-area-curve\",\n layout: layout,\n type: type,\n connectNulls: connectNulls,\n fill: \"none\",\n points: baseLine\n })));\n }\n }, {\n key: \"renderAreaWithAnimation\",\n value: function renderAreaWithAnimation(needClip, clipPathId) {\n var _this2 = this;\n\n var _this$props5 = this.props,\n points = _this$props5.points,\n baseLine = _this$props5.baseLine,\n isAnimationActive = _this$props5.isAnimationActive,\n animationBegin = _this$props5.animationBegin,\n animationDuration = _this$props5.animationDuration,\n animationEasing = _this$props5.animationEasing,\n animationId = _this$props5.animationId;\n var _this$state = this.state,\n prevPoints = _this$state.prevPoints,\n prevBaseLine = _this$state.prevBaseLine; // const clipPathId = _.isNil(id) ? this.id : id;\n\n return /*#__PURE__*/React.createElement(Animate, {\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n from: {\n t: 0\n },\n to: {\n t: 1\n },\n key: \"area-\".concat(animationId),\n onAnimationEnd: this.handleAnimationEnd,\n onAnimationStart: this.handleAnimationStart\n }, function (_ref) {\n var t = _ref.t;\n\n if (prevPoints) {\n var prevPointsDiffFactor = prevPoints.length / points.length; // update animtaion\n\n var stepPoints = points.map(function (entry, index) {\n var prevPointIndex = Math.floor(index * prevPointsDiffFactor);\n\n if (prevPoints[prevPointIndex]) {\n var prev = prevPoints[prevPointIndex];\n var interpolatorX = interpolateNumber(prev.x, entry.x);\n var interpolatorY = interpolateNumber(prev.y, entry.y);\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: interpolatorX(t),\n y: interpolatorY(t)\n });\n }\n\n return entry;\n });\n var stepBaseLine;\n\n if (isNumber(baseLine) && typeof baseLine === 'number') {\n var interpolator = interpolateNumber(prevBaseLine, baseLine);\n stepBaseLine = interpolator(t);\n } else if (_isNil(baseLine) || _isNaN(baseLine)) {\n var _interpolator = interpolateNumber(prevBaseLine, 0);\n\n stepBaseLine = _interpolator(t);\n } else {\n stepBaseLine = baseLine.map(function (entry, index) {\n var prevPointIndex = Math.floor(index * prevPointsDiffFactor);\n\n if (prevBaseLine[prevPointIndex]) {\n var prev = prevBaseLine[prevPointIndex];\n var interpolatorX = interpolateNumber(prev.x, entry.x);\n var interpolatorY = interpolateNumber(prev.y, entry.y);\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: interpolatorX(t),\n y: interpolatorY(t)\n });\n }\n\n return entry;\n });\n }\n\n return _this2.renderAreaStatically(stepPoints, stepBaseLine, needClip, clipPathId);\n }\n\n return /*#__PURE__*/React.createElement(Layer, null, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"animationClipPath-\".concat(clipPathId)\n }, _this2.renderClipRect(t))), /*#__PURE__*/React.createElement(Layer, {\n clipPath: \"url(#animationClipPath-\".concat(clipPathId, \")\")\n }, _this2.renderAreaStatically(points, baseLine, needClip, clipPathId)));\n });\n }\n }, {\n key: \"renderArea\",\n value: function renderArea(needClip, clipPathId) {\n var _this$props6 = this.props,\n points = _this$props6.points,\n baseLine = _this$props6.baseLine,\n isAnimationActive = _this$props6.isAnimationActive;\n var _this$state2 = this.state,\n prevPoints = _this$state2.prevPoints,\n prevBaseLine = _this$state2.prevBaseLine,\n totalLength = _this$state2.totalLength;\n\n if (isAnimationActive && points && points.length && (!prevPoints && totalLength > 0 || !_isEqual(prevPoints, points) || !_isEqual(prevBaseLine, baseLine))) {\n return this.renderAreaWithAnimation(needClip, clipPathId);\n }\n\n return this.renderAreaStatically(points, baseLine, needClip, clipPathId);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props7 = this.props,\n hide = _this$props7.hide,\n dot = _this$props7.dot,\n points = _this$props7.points,\n className = _this$props7.className,\n top = _this$props7.top,\n left = _this$props7.left,\n xAxis = _this$props7.xAxis,\n yAxis = _this$props7.yAxis,\n width = _this$props7.width,\n height = _this$props7.height,\n isAnimationActive = _this$props7.isAnimationActive,\n id = _this$props7.id;\n\n if (hide || !points || !points.length) {\n return null;\n }\n\n var isAnimationFinished = this.state.isAnimationFinished;\n var hasSinglePoint = points.length === 1;\n var layerClass = classNames('recharts-area', className);\n var needClip = xAxis && xAxis.allowDataOverflow || yAxis && yAxis.allowDataOverflow;\n var clipPathId = _isNil(id) ? this.id : id;\n return /*#__PURE__*/React.createElement(Layer, {\n className: layerClass\n }, needClip ? /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clipPath-\".concat(clipPathId)\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: left,\n y: top,\n width: width,\n height: Math.floor(height)\n }))) : null, !hasSinglePoint ? this.renderArea(needClip, clipPathId) : null, (dot || hasSinglePoint) && this.renderDots(needClip, clipPathId), (!isAnimationActive || isAnimationFinished) && LabelList.renderCallByParent(this.props, points));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.animationId !== prevState.prevAnimationId) {\n return {\n prevAnimationId: nextProps.animationId,\n curPoints: nextProps.points,\n curBaseLine: nextProps.baseLine,\n prevPoints: prevState.curPoints,\n prevBaseLine: prevState.curBaseLine\n };\n }\n\n if (nextProps.points !== prevState.curPoints || nextProps.baseLine !== prevState.curBaseLine) {\n return {\n curPoints: nextProps.points,\n curBaseLine: nextProps.baseLine\n };\n }\n\n return null;\n }\n }]);\n\n return Area;\n}(PureComponent);\nArea.displayName = 'Area';\nArea.defaultProps = {\n stroke: '#3182bd',\n fill: '#3182bd',\n fillOpacity: 0.6,\n xAxisId: 0,\n yAxisId: 0,\n legendType: 'line',\n connectNulls: false,\n // points of area\n points: [],\n dot: false,\n activeDot: true,\n hide: false,\n isAnimationActive: !Global.isSsr,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: 'ease'\n};\n\nArea.getBaseValue = function (props, xAxis, yAxis) {\n var layout = props.layout,\n baseValue = props.baseValue;\n\n if (isNumber(baseValue) && typeof baseValue === 'number') {\n return baseValue;\n }\n\n var numericAxis = layout === 'horizontal' ? yAxis : xAxis;\n var domain = numericAxis.scale.domain();\n\n if (numericAxis.type === 'number') {\n var max = Math.max(domain[0], domain[1]);\n var min = Math.min(domain[0], domain[1]);\n\n if (baseValue === 'dataMin') {\n return min;\n }\n\n if (baseValue === 'dataMax') {\n return max;\n }\n\n return max < 0 ? max : Math.max(Math.min(domain[0], domain[1]), 0);\n }\n\n if (baseValue === 'dataMin') {\n return domain[0];\n }\n\n if (baseValue === 'dataMax') {\n return domain[1];\n }\n\n return domain[0];\n};\n\nArea.getComposedData = function (_ref2) {\n var props = _ref2.props,\n xAxis = _ref2.xAxis,\n yAxis = _ref2.yAxis,\n xAxisTicks = _ref2.xAxisTicks,\n yAxisTicks = _ref2.yAxisTicks,\n bandSize = _ref2.bandSize,\n dataKey = _ref2.dataKey,\n stackedData = _ref2.stackedData,\n dataStartIndex = _ref2.dataStartIndex,\n displayedData = _ref2.displayedData,\n offset = _ref2.offset;\n var layout = props.layout;\n var hasStack = stackedData && stackedData.length;\n var baseValue = Area.getBaseValue(props, xAxis, yAxis);\n var isRange = false;\n var points = displayedData.map(function (entry, index) {\n var originalValue = getValueByDataKey(entry, dataKey);\n var value;\n\n if (hasStack) {\n value = stackedData[dataStartIndex + index];\n } else {\n value = originalValue;\n\n if (!_isArray(value)) {\n value = [baseValue, value];\n } else {\n isRange = true;\n }\n }\n\n var isBreakPoint = _isNil(value[1]) || hasStack && _isNil(originalValue);\n\n if (layout === 'horizontal') {\n return {\n x: getCateCoordinateOfLine({\n axis: xAxis,\n ticks: xAxisTicks,\n bandSize: bandSize,\n entry: entry,\n index: index\n }),\n y: isBreakPoint ? null : yAxis.scale(value[1]),\n value: value,\n payload: entry\n };\n }\n\n return {\n x: isBreakPoint ? null : xAxis.scale(value[1]),\n y: getCateCoordinateOfLine({\n axis: yAxis,\n ticks: yAxisTicks,\n bandSize: bandSize,\n entry: entry,\n index: index\n }),\n value: value,\n payload: entry\n };\n });\n var baseLine;\n\n if (hasStack || isRange) {\n baseLine = points.map(function (entry) {\n if (layout === 'horizontal') {\n return {\n x: entry.x,\n y: !_isNil(_get(entry, 'value[0]')) && !_isNil(_get(entry, 'y')) ? yAxis.scale(_get(entry, 'value[0]')) : null\n };\n }\n\n return {\n x: !_isNil(_get(entry, 'value[0]')) ? xAxis.scale(_get(entry, 'value[0]')) : null,\n y: entry.y\n };\n });\n } else if (layout === 'horizontal') {\n baseLine = yAxis.scale(baseValue);\n } else {\n baseLine = xAxis.scale(baseValue);\n }\n\n return _objectSpread({\n points: points,\n baseLine: baseLine,\n layout: layout,\n isRange: isRange\n }, offset);\n};\n\nArea.renderDotItem = function (option, props) {\n var dotItem;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n dotItem = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n dotItem = option(props);\n } else {\n dotItem = /*#__PURE__*/React.createElement(Dot, _extends({}, props, {\n className: \"recharts-area-dot\"\n }));\n }\n\n return dotItem;\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport _isFunction from \"lodash/isFunction\";\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/**\n * @fileOverview Cartesian Grid\n */\nimport React, { PureComponent } from 'react';\nimport { isNumber } from '../util/DataUtils';\nimport { filterProps } from '../util/types';\nexport var CartesianGrid = /*#__PURE__*/function (_PureComponent) {\n _inherits(CartesianGrid, _PureComponent);\n\n var _super = _createSuper(CartesianGrid);\n\n function CartesianGrid() {\n _classCallCheck(this, CartesianGrid);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(CartesianGrid, [{\n key: \"renderHorizontal\",\n value:\n /**\n * Draw the horizontal grid lines\n * @param {Array} horizontalPoints either passed in as props or generated from function\n * @return {Group} Horizontal lines\n */\n function renderHorizontal(horizontalPoints) {\n var _this = this;\n\n var _this$props = this.props,\n x = _this$props.x,\n width = _this$props.width,\n horizontal = _this$props.horizontal;\n\n if (!horizontalPoints || !horizontalPoints.length) {\n return null;\n }\n\n var items = horizontalPoints.map(function (entry, i) {\n var props = _objectSpread(_objectSpread({}, _this.props), {}, {\n x1: x,\n y1: entry,\n x2: x + width,\n y2: entry,\n key: \"line-\".concat(i),\n index: i\n });\n\n return CartesianGrid.renderLineItem(horizontal, props);\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-grid-horizontal\"\n }, items);\n }\n /**\n * Draw vertical grid lines\n * @param {Array} verticalPoints either passed in as props or generated from function\n * @return {Group} Vertical lines\n */\n\n }, {\n key: \"renderVertical\",\n value: function renderVertical(verticalPoints) {\n var _this2 = this;\n\n var _this$props2 = this.props,\n y = _this$props2.y,\n height = _this$props2.height,\n vertical = _this$props2.vertical;\n\n if (!verticalPoints || !verticalPoints.length) {\n return null;\n }\n\n var items = verticalPoints.map(function (entry, i) {\n var props = _objectSpread(_objectSpread({}, _this2.props), {}, {\n x1: entry,\n y1: y,\n x2: entry,\n y2: y + height,\n key: \"line-\".concat(i),\n index: i\n });\n\n return CartesianGrid.renderLineItem(vertical, props);\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-grid-vertical\"\n }, items);\n }\n /**\n * Draw vertical grid stripes filled by colors\n * @param {Array} verticalPoints either passed in as props or generated from function\n * @return {Group} Vertical stripes\n */\n\n }, {\n key: \"renderVerticalStripes\",\n value: function renderVerticalStripes(verticalPoints) {\n var verticalFill = this.props.verticalFill;\n\n if (!verticalFill || !verticalFill.length) {\n return null;\n }\n\n var _this$props3 = this.props,\n fillOpacity = _this$props3.fillOpacity,\n x = _this$props3.x,\n y = _this$props3.y,\n width = _this$props3.width,\n height = _this$props3.height;\n var verticalPointsUpdated = verticalPoints.slice().sort(function (a, b) {\n return a - b;\n });\n\n if (x !== verticalPointsUpdated[0]) {\n verticalPointsUpdated.unshift(0);\n }\n\n var items = verticalPointsUpdated.map(function (entry, i) {\n var lineWidth = verticalPointsUpdated[i + 1] ? verticalPointsUpdated[i + 1] - entry : x + width - entry;\n\n if (lineWidth <= 0) {\n return null;\n }\n\n var colorIndex = i % verticalFill.length;\n return /*#__PURE__*/React.createElement(\"rect\", {\n key: \"react-\".concat(i) // eslint-disable-line react/no-array-index-key\n ,\n x: Math.round(entry + x - x),\n y: y,\n width: lineWidth,\n height: height,\n stroke: \"none\",\n fill: verticalFill[colorIndex],\n fillOpacity: fillOpacity,\n className: \"recharts-cartesian-grid-bg\"\n });\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-gridstripes-vertical\"\n }, items);\n }\n /**\n * Draw horizontal grid stripes filled by colors\n * @param {Array} horizontalPoints either passed in as props or generated from function\n * @return {Group} Horizontal stripes\n */\n\n }, {\n key: \"renderHorizontalStripes\",\n value: function renderHorizontalStripes(horizontalPoints) {\n var horizontalFill = this.props.horizontalFill;\n\n if (!horizontalFill || !horizontalFill.length) {\n return null;\n }\n\n var _this$props4 = this.props,\n fillOpacity = _this$props4.fillOpacity,\n x = _this$props4.x,\n y = _this$props4.y,\n width = _this$props4.width,\n height = _this$props4.height;\n var horizontalPointsUpdated = horizontalPoints.slice().sort(function (a, b) {\n return a - b;\n });\n\n if (y !== horizontalPointsUpdated[0]) {\n horizontalPointsUpdated.unshift(0);\n }\n\n var items = horizontalPointsUpdated.map(function (entry, i) {\n var lineHeight = horizontalPointsUpdated[i + 1] ? horizontalPointsUpdated[i + 1] - entry : y + height - entry;\n\n if (lineHeight <= 0) {\n return null;\n }\n\n var colorIndex = i % horizontalFill.length;\n return /*#__PURE__*/React.createElement(\"rect\", {\n key: \"react-\".concat(i) // eslint-disable-line react/no-array-index-key\n ,\n y: Math.round(entry + y - y),\n x: x,\n height: lineHeight,\n width: width,\n stroke: \"none\",\n fill: horizontalFill[colorIndex],\n fillOpacity: fillOpacity,\n className: \"recharts-cartesian-grid-bg\"\n });\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-gridstripes-horizontal\"\n }, items);\n }\n }, {\n key: \"renderBackground\",\n value: function renderBackground() {\n var fill = this.props.fill;\n\n if (!fill || fill === 'none') {\n return null;\n }\n\n var _this$props5 = this.props,\n fillOpacity = _this$props5.fillOpacity,\n x = _this$props5.x,\n y = _this$props5.y,\n width = _this$props5.width,\n height = _this$props5.height;\n return /*#__PURE__*/React.createElement(\"rect\", {\n x: x,\n y: y,\n width: width,\n height: height,\n stroke: \"none\",\n fill: fill,\n fillOpacity: fillOpacity,\n className: \"recharts-cartesian-grid-bg\"\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props6 = this.props,\n x = _this$props6.x,\n y = _this$props6.y,\n width = _this$props6.width,\n height = _this$props6.height,\n horizontal = _this$props6.horizontal,\n vertical = _this$props6.vertical,\n horizontalCoordinatesGenerator = _this$props6.horizontalCoordinatesGenerator,\n verticalCoordinatesGenerator = _this$props6.verticalCoordinatesGenerator,\n xAxis = _this$props6.xAxis,\n yAxis = _this$props6.yAxis,\n offset = _this$props6.offset,\n chartWidth = _this$props6.chartWidth,\n chartHeight = _this$props6.chartHeight;\n\n if (!isNumber(width) || width <= 0 || !isNumber(height) || height <= 0 || !isNumber(x) || x !== +x || !isNumber(y) || y !== +y) {\n return null;\n }\n\n var _this$props7 = this.props,\n horizontalPoints = _this$props7.horizontalPoints,\n verticalPoints = _this$props7.verticalPoints; // No horizontal points are specified\n\n if ((!horizontalPoints || !horizontalPoints.length) && _isFunction(horizontalCoordinatesGenerator)) {\n horizontalPoints = horizontalCoordinatesGenerator({\n yAxis: yAxis,\n width: chartWidth,\n height: chartHeight,\n offset: offset\n });\n } // No vertical points are specified\n\n\n if ((!verticalPoints || !verticalPoints.length) && _isFunction(verticalCoordinatesGenerator)) {\n verticalPoints = verticalCoordinatesGenerator({\n xAxis: xAxis,\n width: chartWidth,\n height: chartHeight,\n offset: offset\n });\n }\n\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-grid\"\n }, this.renderBackground(), horizontal && this.renderHorizontal(horizontalPoints), vertical && this.renderVertical(verticalPoints), horizontal && this.renderHorizontalStripes(horizontalPoints), vertical && this.renderVerticalStripes(verticalPoints));\n }\n }], [{\n key: \"renderLineItem\",\n value: function renderLineItem(option, props) {\n var lineItem;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n lineItem = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n lineItem = option(props);\n } else {\n var x1 = props.x1,\n y1 = props.y1,\n x2 = props.x2,\n y2 = props.y2,\n key = props.key,\n others = _objectWithoutProperties(props, [\"x1\", \"y1\", \"x2\", \"y2\", \"key\"]);\n\n lineItem = /*#__PURE__*/React.createElement(\"line\", _extends({}, filterProps(others), {\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2,\n fill: \"none\",\n key: key\n }));\n }\n\n return lineItem;\n }\n }]);\n\n return CartesianGrid;\n}(PureComponent);\nCartesianGrid.displayName = 'CartesianGrid';\nCartesianGrid.defaultProps = {\n horizontal: true,\n vertical: true,\n // The ordinates of horizontal grid lines\n horizontalPoints: [],\n // The abscissas of vertical grid lines\n verticalPoints: [],\n stroke: '#ccc',\n fill: 'none',\n // The fill of colors of grid lines\n verticalFill: [],\n horizontalFill: []\n};","/**\n * @fileOverview X Axis\n */\n\n/** Define of XAxis props */\nexport var XAxis = function XAxis() {\n return null;\n};\nXAxis.displayName = 'XAxis';\nXAxis.defaultProps = {\n allowDecimals: true,\n hide: false,\n orientation: 'bottom',\n width: 0,\n height: 30,\n mirror: false,\n xAxisId: 0,\n tickCount: 5,\n type: 'category',\n domain: [0, 'auto'],\n padding: {\n left: 0,\n right: 0\n },\n allowDataOverflow: false,\n scale: 'auto',\n reversed: false,\n allowDuplicatedCategory: true\n};","/**\n * @fileOverview Y Axis\n */\nexport var YAxis = function YAxis() {\n return null;\n};\nYAxis.displayName = 'YAxis';\nYAxis.defaultProps = {\n allowDuplicatedCategory: true,\n allowDecimals: true,\n hide: false,\n orientation: 'left',\n width: 60,\n height: 0,\n mirror: false,\n yAxisId: 0,\n tickCount: 5,\n type: 'number',\n domain: [0, 'auto'],\n padding: {\n top: 0,\n bottom: 0\n },\n allowDataOverflow: false,\n scale: 'auto',\n reversed: false\n};","/**\n * @fileOverview Area Chart\n */\nimport { generateCategoricalChart } from './generateCategoricalChart';\nimport { Area } from '../cartesian/Area';\nimport { XAxis } from '../cartesian/XAxis';\nimport { YAxis } from '../cartesian/YAxis';\nimport { formatAxisMap } from '../util/CartesianUtils';\nexport var AreaChart = generateCategoricalChart({\n chartName: 'AreaChart',\n GraphicalChild: Area,\n axisComponents: [{\n axisType: 'xAxis',\n AxisComp: XAxis\n }, {\n axisType: 'yAxis',\n AxisComp: YAxis\n }],\n formatAxisMap: formatAxisMap\n});","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n","import debounce from 'lodash/debounce';\nimport throttle from 'lodash/throttle';\n\nimport { Props, ReactResizeDetectorDimensions } from './ResizeDetector';\n\nexport type patchResizeHandlerType = ReturnType | ReturnType | ResizeObserverCallback;\n\nexport const patchResizeHandler = (\n resizeCallback: ResizeObserverCallback,\n refreshMode: Props['refreshMode'],\n refreshRate: Props['refreshRate'],\n refreshOptions: Props['refreshOptions']\n): patchResizeHandlerType => {\n switch (refreshMode) {\n case 'debounce':\n return debounce(resizeCallback, refreshRate, refreshOptions);\n case 'throttle':\n return throttle(resizeCallback, refreshRate, refreshOptions);\n default:\n return resizeCallback;\n }\n};\n\nexport const isFunction = (fn: any): boolean => typeof fn === 'function';\n\nexport const isSSR = (): boolean => typeof window === 'undefined';\n\nexport const isDOMElement = (element: any): boolean => element instanceof Element || element instanceof HTMLDocument;\n\nexport const createNotifier =\n (\n onResize: Props['onResize'],\n setSize: React.Dispatch>,\n handleWidth: boolean,\n handleHeight: boolean\n ) =>\n ({ width, height }: ReactResizeDetectorDimensions): void => {\n setSize(prev => {\n if (prev.width === width && prev.height === height) {\n // skip if dimensions haven't changed\n return prev;\n }\n\n if ((prev.width === width && !handleHeight) || (prev.height === height && !handleWidth)) {\n // process `handleHeight/handleWidth` props\n return prev;\n }\n\n if (onResize && isFunction(onResize)) {\n onResize(width, height);\n }\n\n return { width, height };\n });\n };\n","import * as React from 'react';\nimport { PureComponent, isValidElement, cloneElement, createRef, ReactNode, ReactElement, RefObject } from 'react';\nimport { findDOMNode } from 'react-dom';\n\nimport { patchResizeHandler, isFunction, isSSR, isDOMElement, createNotifier } from './utils';\n\nexport interface ReactResizeDetectorDimensions {\n height?: number;\n width?: number;\n}\n\ninterface ChildFunctionProps extends ReactResizeDetectorDimensions {\n targetRef?: RefObject;\n}\n\nexport interface Props {\n /**\n * Function that will be invoked with observable element's width and height.\n * Default: undefined\n */\n onResize?: (width?: number, height?: number) => void;\n /**\n * Trigger update on height change.\n * Default: true\n */\n handleHeight?: boolean;\n /**\n * Trigger onResize on width change.\n * Default: true\n */\n handleWidth?: boolean;\n /**\n * Do not trigger update when a component mounts.\n * Default: false\n */\n skipOnMount?: boolean;\n /**\n * Changes the update strategy. Possible values: \"throttle\" and \"debounce\".\n * See `lodash` docs for more information https://lodash.com/docs/\n * undefined - callback will be fired for every frame.\n * Default: undefined\n */\n refreshMode?: 'throttle' | 'debounce';\n /**\n * Set the timeout/interval for `refreshMode` strategy\n * Default: undefined\n */\n refreshRate?: number;\n /**\n * Pass additional params to `refreshMode` according to lodash docs\n * Default: undefined\n */\n refreshOptions?: { leading?: boolean; trailing?: boolean };\n /**\n * These options will be used as a second parameter of `resizeObserver.observe` method\n * @see https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver/observe\n * Default: undefined\n */\n observerOptions?: ResizeObserverOptions;\n}\n\nexport interface ComponentsProps extends Props {\n /**\n * A selector of an element to observe.\n * You can use this property to attach resize-observer to any DOM element.\n * Please refer to the querySelector docs.\n * Default: undefined\n * @deprecated since version 5.0.0. It will be removed in version 7.0.0.\n * Use targetRef instead\n */\n querySelector?: string;\n /**\n * Valid only for a callback-pattern.\n * Ignored for other render types.\n * Set resize-detector's node type.\n * You can pass any valid React node: string with node's name or element.\n * Can be useful when you need to handle table's or paragraph's resizes.\n * Default: \"div\"\n * @deprecated since version 5.0.0. It will be removed in version 7.0.0.\n * Use targetRef instead\n */\n nodeType?: keyof JSX.IntrinsicElements; // will be passed to React.createElement()\n /**\n * A DOM element to observe.\n * By default it's a parent element in relation to the ReactResizeDetector component.\n * But you can pass any DOM element to observe.\n * This property is omitted when you pass querySelector.\n * Default: undefined\n * @deprecated since version 5.0.0. It will be removed in version 6.0.0.\n * Use targetRef instead\n */\n targetDomEl?: ElementT;\n /**\n * A React reference of the element to observe.\n * Pass a reference to the element you want to attach resize handlers to.\n * It must be an instance of React.useRef or React.createRef functions\n * Default: undefined\n */\n targetRef?: RefObject;\n\n render?: (props: ReactResizeDetectorDimensions) => ReactNode;\n\n children?: ReactNode | ((props: ChildFunctionProps) => ReactNode);\n}\n\nclass ResizeDetector extends PureComponent<\n ComponentsProps,\n ReactResizeDetectorDimensions\n> {\n skipOnMount: boolean | undefined;\n targetRef;\n observableElement;\n resizeHandler;\n resizeObserver;\n constructor(props: ComponentsProps) {\n super(props);\n\n const { skipOnMount, refreshMode, refreshRate = 1000, refreshOptions } = props;\n\n this.state = {\n width: undefined,\n height: undefined\n };\n\n this.skipOnMount = skipOnMount;\n this.targetRef = createRef();\n this.observableElement = null;\n\n if (isSSR()) {\n return;\n }\n\n this.resizeHandler = patchResizeHandler(this.createResizeHandler, refreshMode, refreshRate, refreshOptions);\n this.resizeObserver = new window.ResizeObserver(this.resizeHandler);\n }\n\n componentDidMount(): void {\n this.attachObserver();\n }\n\n componentDidUpdate(): void {\n this.attachObserver();\n }\n\n componentWillUnmount(): void {\n if (isSSR()) {\n return;\n }\n this.observableElement = null;\n this.resizeObserver.disconnect();\n this.cancelHandler();\n }\n\n cancelHandler = (): void => {\n if (this.resizeHandler && this.resizeHandler.cancel) {\n // cancel debounced handler\n this.resizeHandler.cancel();\n this.resizeHandler = null;\n }\n };\n\n attachObserver = (): void => {\n const { targetRef, observerOptions } = this.props;\n\n if (isSSR()) {\n return;\n }\n\n if (targetRef && targetRef.current) {\n this.targetRef.current = targetRef.current;\n }\n\n const element = this.getElement();\n if (!element) {\n // can't find element to observe\n return;\n }\n\n if (this.observableElement && this.observableElement === element) {\n // element is already observed\n return;\n }\n\n this.observableElement = element;\n this.resizeObserver.observe(element, observerOptions);\n };\n\n getElement = (): Element | Text | null => {\n const { querySelector, targetDomEl } = this.props;\n\n if (isSSR()) return null;\n\n // in case we pass a querySelector\n if (querySelector) return document.querySelector(querySelector);\n // in case we pass a DOM element\n if (targetDomEl && isDOMElement(targetDomEl)) return targetDomEl;\n // in case we pass a React ref using React.createRef()\n if (this.targetRef && isDOMElement(this.targetRef.current)) return this.targetRef.current;\n\n // the worse case when we don't receive any information from the parent and the library doesn't add any wrappers\n // we have to use a deprecated `findDOMNode` method in order to find a DOM element to attach to\n const currentElement = findDOMNode(this);\n\n if (!currentElement) return null;\n\n const renderType = this.getRenderType();\n switch (renderType) {\n case 'renderProp':\n return currentElement;\n case 'childFunction':\n return currentElement;\n case 'child':\n return currentElement;\n case 'childArray':\n return currentElement;\n default:\n return currentElement.parentElement;\n }\n };\n\n createResizeHandler: ResizeObserverCallback = (entries): void => {\n const { handleWidth = true, handleHeight = true, onResize } = this.props;\n\n if (!handleWidth && !handleHeight) return;\n\n const notifyResize = createNotifier(onResize, this.setState.bind(this), handleWidth, handleHeight);\n\n entries.forEach(entry => {\n const { width, height } = (entry && entry.contentRect) || {};\n\n const shouldSetSize = !this.skipOnMount && !isSSR();\n if (shouldSetSize) {\n notifyResize({ width, height });\n }\n\n this.skipOnMount = false;\n });\n };\n\n getRenderType = (): string => {\n const { render, children } = this.props;\n if (isFunction(render)) {\n // DEPRECATED. Use `Child Function Pattern` instead\n return 'renderProp';\n }\n\n if (isFunction(children)) {\n return 'childFunction';\n }\n\n if (isValidElement(children)) {\n return 'child';\n }\n\n if (Array.isArray(children)) {\n // DEPRECATED. Wrap children with a single parent\n return 'childArray';\n }\n\n // DEPRECATED. Use `Child Function Pattern` instead\n return 'parent';\n };\n\n render() {\n const { render, children, nodeType: WrapperTag = 'div' } = this.props;\n const { width, height } = this.state;\n\n const childProps = { width, height, targetRef: this.targetRef };\n const renderType = this.getRenderType();\n\n let typedChildren: any;\n\n switch (renderType) {\n case 'renderProp':\n return render && render(childProps);\n case 'childFunction':\n typedChildren = children as (props: ChildFunctionProps) => ReactNode;\n return typedChildren(childProps);\n case 'child':\n // @TODO bug prone logic\n typedChildren = children as ReactElement;\n if (typedChildren.type && typeof typedChildren.type === 'string') {\n // child is a native DOM elements such as div, span etc\n const { targetRef, ...nativeProps } = childProps;\n return cloneElement(typedChildren, nativeProps);\n }\n // class or functional component otherwise\n return cloneElement(typedChildren, childProps);\n case 'childArray':\n typedChildren = children as [ReactElement];\n return typedChildren.map((el: ReactElement) => !!el && cloneElement(el, childProps));\n default:\n return ;\n }\n }\n}\n\nexport default ResizeDetector;\n","import { useLayoutEffect, useEffect, useState, useRef, MutableRefObject } from 'react';\n\nimport { patchResizeHandler, createNotifier, isSSR } from './utils';\n\nimport { Props, ReactResizeDetectorDimensions } from './ResizeDetector';\n\nconst useEnhancedEffect = isSSR() ? useEffect : useLayoutEffect;\n\ninterface FunctionProps extends Props {\n targetRef?: ReturnType;\n}\n\nfunction useResizeDetector(props: FunctionProps = {}): UseResizeDetectorReturn {\n const {\n skipOnMount = false,\n refreshMode,\n refreshRate = 1000,\n refreshOptions,\n handleWidth = true,\n handleHeight = true,\n targetRef,\n observerOptions,\n onResize\n } = props;\n\n const skipResize: MutableRefObject = useRef(skipOnMount);\n const localRef = useRef(null);\n const ref = (targetRef ?? localRef) as MutableRefObject;\n const resizeHandler = useRef();\n\n const [size, setSize] = useState({\n width: undefined,\n height: undefined\n });\n\n useEnhancedEffect(() => {\n if (isSSR()) {\n return;\n }\n\n const notifyResize = createNotifier(onResize, setSize, handleWidth, handleHeight);\n\n const resizeCallback: ResizeObserverCallback = entries => {\n if (!handleWidth && !handleHeight) return;\n\n entries.forEach(entry => {\n const { width, height } = (entry && entry.contentRect) || {};\n\n const shouldSetSize = !skipResize.current && !isSSR();\n if (shouldSetSize) {\n notifyResize({ width, height });\n }\n\n skipResize.current = false;\n });\n };\n\n resizeHandler.current = patchResizeHandler(resizeCallback, refreshMode, refreshRate, refreshOptions);\n\n const resizeObserver = new window.ResizeObserver(resizeHandler.current as ResizeObserverCallback);\n\n if (ref.current) {\n // Something wrong with typings here...\n resizeObserver.observe(ref.current as any, observerOptions);\n }\n\n return () => {\n resizeObserver.disconnect();\n const patchedResizeHandler = resizeHandler.current as any;\n if (patchedResizeHandler && patchedResizeHandler.cancel) {\n patchedResizeHandler.cancel();\n }\n };\n }, [refreshMode, refreshRate, refreshOptions, handleWidth, handleHeight, onResize, observerOptions, ref.current]);\n\n return { ref, ...size };\n}\n\nexport default useResizeDetector;\n\nexport interface UseResizeDetectorReturn extends ReactResizeDetectorDimensions {\n ref: MutableRefObject;\n}\n","import _debounce from \"lodash/debounce\";\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n/**\n * @fileOverview Wrapper component to make charts adapt to the size of parent * DOM\n */\nimport classNames from 'classnames';\nimport React, { forwardRef, cloneElement, useState, useImperativeHandle, useRef, useEffect } from 'react';\nimport ReactResizeDetector from 'react-resize-detector';\nimport { isPercent } from '../util/DataUtils';\nimport { warn } from '../util/LogUtils';\nexport var ResponsiveContainer = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var aspect = _ref.aspect,\n _ref$width = _ref.width,\n width = _ref$width === void 0 ? '100%' : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === void 0 ? '100%' : _ref$height,\n minWidth = _ref.minWidth,\n minHeight = _ref.minHeight,\n maxHeight = _ref.maxHeight,\n children = _ref.children,\n _ref$debounce = _ref.debounce,\n debounce = _ref$debounce === void 0 ? 0 : _ref$debounce,\n id = _ref.id,\n className = _ref.className;\n\n var _useState = useState({\n containerWidth: -1,\n containerHeight: -1\n }),\n _useState2 = _slicedToArray(_useState, 2),\n sizes = _useState2[0],\n setSizes = _useState2[1];\n\n var containerRef = useRef(null);\n useImperativeHandle(ref, function () {\n return containerRef;\n }, [containerRef]);\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n mounted = _useState4[0],\n setMounted = _useState4[1];\n\n var getContainerSize = function getContainerSize() {\n if (!containerRef.current) {\n return null;\n }\n\n return {\n containerWidth: containerRef.current.clientWidth,\n containerHeight: containerRef.current.clientHeight\n };\n };\n\n var updateDimensionsImmediate = function updateDimensionsImmediate() {\n if (!mounted) {\n return;\n }\n\n var newSize = getContainerSize();\n\n if (newSize) {\n var oldWidth = sizes.containerWidth,\n oldHeight = sizes.containerHeight;\n var containerWidth = newSize.containerWidth,\n containerHeight = newSize.containerHeight;\n\n if (containerWidth !== oldWidth || containerHeight !== oldHeight) {\n setSizes({\n containerWidth: containerWidth,\n containerHeight: containerHeight\n });\n }\n }\n };\n\n var handleResize = debounce > 0 ? _debounce(updateDimensionsImmediate, debounce) : updateDimensionsImmediate;\n\n var renderChart = function renderChart() {\n var containerWidth = sizes.containerWidth,\n containerHeight = sizes.containerHeight;\n\n if (containerWidth < 0 || containerHeight < 0) {\n return null;\n }\n\n warn(isPercent(width) || isPercent(height), \"The width(%s) and height(%s) are both fixed numbers,\\n maybe you don't need to use a ResponsiveContainer.\", width, height);\n warn(!aspect || aspect > 0, 'The aspect(%s) must be greater than zero.', aspect);\n var calculatedWidth = isPercent(width) ? containerWidth : width;\n var calculatedHeight = isPercent(height) ? containerHeight : height;\n\n if (aspect && aspect > 0) {\n // Preserve the desired aspect ratio\n if (calculatedWidth) {\n // Will default to using width for aspect ratio\n calculatedHeight = calculatedWidth / aspect;\n } else if (calculatedHeight) {\n // But we should also take height into consideration\n calculatedWidth = calculatedHeight * aspect;\n } // if maxHeight is set, overwrite if calculatedHeight is greater than maxHeight\n\n\n if (maxHeight && calculatedHeight > maxHeight) {\n calculatedHeight = maxHeight;\n }\n }\n\n warn(calculatedWidth > 0 || calculatedHeight > 0, \"The width(%s) and height(%s) of chart should be greater than 0,\\n please check the style of container, or the props width(%s) and height(%s),\\n or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the\\n height and width.\", calculatedWidth, calculatedHeight, width, height, minWidth, minHeight, aspect);\n return /*#__PURE__*/cloneElement(children, {\n width: calculatedWidth,\n height: calculatedHeight\n });\n };\n\n useEffect(function () {\n if (mounted) {\n var size = getContainerSize();\n\n if (size) {\n setSizes(size);\n }\n }\n }, [mounted]);\n useEffect(function () {\n setMounted(true);\n }, []);\n var style = {\n width: width,\n height: height,\n minWidth: minWidth,\n minHeight: minHeight,\n maxHeight: maxHeight\n };\n return /*#__PURE__*/React.createElement(ReactResizeDetector, {\n handleWidth: true,\n handleHeight: true,\n onResize: handleResize,\n targetRef: containerRef\n }, /*#__PURE__*/React.createElement(\"div\", _extends({}, id != null ? {\n id: \"\".concat(id)\n } : {}, {\n className: classNames('recharts-responsive-container', className),\n style: style,\n ref: containerRef\n }), renderChart()));\n});","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}"],"names":["getButtonUtilityClass","slot","generateUtilityClass","generateUtilityClasses","React","_excluded","_excluded2","commonIconStyles","ownerState","_extends","size","fontSize","ButtonRoot","styled","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","root","variant","capitalize","color","colorInherit","disableElevation","fullWidth","_theme$palette$getCon","_theme$palette","theme","typography","button","minWidth","padding","borderRadius","vars","shape","transition","transitions","create","duration","short","textDecoration","backgroundColor","palette","text","primaryChannel","action","hoverOpacity","alpha","primary","mainChannel","main","border","grey","A100","boxShadow","shadows","dark","buttonClasses","disabled","disabledBackground","getContrastText","call","contrastText","borderColor","pxToRem","width","ButtonStartIcon","startIcon","display","marginRight","marginLeft","ButtonEndIcon","endIcon","inProps","ref","contextProps","ButtonGroupContext","resolvedProps","resolveProps","useThemeProps","children","component","className","disableFocusRipple","endIconProp","focusVisibleClassName","startIconProp","type","other","_objectWithoutPropertiesLoose","_useUtilityClasses","classes","slots","label","composedClasses","composeClasses","useUtilityClasses","classesRoot","_jsx","_jsxs","clsx","focusRipple","focusVisible","componentWillMount","state","this","constructor","getDerivedStateFromProps","undefined","setState","componentWillReceiveProps","nextProps","prevState","bind","componentWillUpdate","nextState","prevProps","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","polyfill","Component","prototype","isReactComponent","Error","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","componentName","displayName","newApiName","componentDidUpdate","maybeSnapshot","snapshot","__suppressDeprecationWarning","_typeof","obj","Symbol","iterator","_objectWithoutProperties","source","excluded","key","i","target","sourceKeys","Object","keys","length","indexOf","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","assign","arguments","hasOwnProperty","apply","ownKeys","object","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","configurable","writable","_classCallCheck","instance","Constructor","TypeError","_defineProperties","descriptor","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","e","_isNativeReflectConstruct","result","Super","_getPrototypeOf","NewTarget","_possibleConstructorReturn","self","ReferenceError","_assertThisInitialized","getPrototypeOf","Area","_PureComponent","subClass","superClass","_inherits","protoProps","staticProps","_super","_this","_len","args","Array","_key","concat","isAnimationFinished","id","uniqueId","handleAnimationEnd","onAnimationEnd","_isFunction","handleAnimationStart","onAnimationStart","animationId","prevAnimationId","curPoints","points","curBaseLine","baseLine","prevPoints","prevBaseLine","needClip","clipPathId","isAnimationActive","_this$props","dot","dataKey","areaProps","filterProps","customDotProps","dots","map","entry","dotProps","r","cx","x","cy","y","index","payload","renderDotItem","dotsProps","clipPath","Layer","_this$props2","strokeWidth","startX","endX","Math","abs","maxY","_max","isNumber","max","_isArray","height","floor","parseInt","_this$props3","startY","endY","maxX","layout","renderVerticalRect","renderHorizontalRect","_this$props4","stroke","connectNulls","isRange","others","Curve","fill","_this2","_this$props5","animationBegin","animationDuration","animationEasing","_this$state","Animate","begin","isActive","easing","from","t","to","_ref","stepBaseLine","prevPointsDiffFactor","stepPoints","prevPointIndex","prev","interpolatorX","interpolateNumber","interpolatorY","interpolator","_isNil","_isNaN","_interpolator","renderAreaStatically","renderClipRect","_this$props6","_this$state2","totalLength","_isEqual","renderAreaWithAnimation","_this$props7","hide","top","left","xAxis","yAxis","hasSinglePoint","layerClass","classNames","allowDataOverflow","renderArea","renderDots","LabelList","PureComponent","defaultProps","fillOpacity","xAxisId","yAxisId","legendType","activeDot","Global","getBaseValue","baseValue","numericAxis","domain","scale","min","getComposedData","_ref2","xAxisTicks","yAxisTicks","bandSize","stackedData","dataStartIndex","displayedData","offset","hasStack","originalValue","getValueByDataKey","isBreakPoint","getCateCoordinateOfLine","axis","ticks","_get","option","Dot","CartesianGrid","lineItem","x1","y1","x2","y2","horizontalPoints","horizontal","items","renderLineItem","verticalPoints","vertical","verticalFill","verticalPointsUpdated","slice","sort","a","b","unshift","lineWidth","colorIndex","round","horizontalFill","horizontalPointsUpdated","lineHeight","horizontalCoordinatesGenerator","verticalCoordinatesGenerator","chartWidth","chartHeight","renderBackground","renderHorizontal","renderVertical","renderHorizontalStripes","renderVerticalStripes","XAxis","allowDecimals","orientation","mirror","tickCount","right","reversed","allowDuplicatedCategory","YAxis","bottom","AreaChart","generateCategoricalChart","chartName","GraphicalChild","axisComponents","axisType","AxisComp","formatAxisMap","extendStatics","d","__extends","String","__","__rest","s","freeGlobal","global","freeSelf","Function","Date","now","reWhitespace","trimmedEndIndex","string","test","charAt","reTrimStart","replace","require$$0","objectProto","nativeObjectToString","toString","symToStringTag","toStringTag","isOwn","tag","unmasked","getRawTag","require$$1","objectToString","baseGetTag","isObjectLike","baseTrim","isObject","isSymbol","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","toNumber","isBinary","nativeMax","nativeMin","func","wait","options","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","thisArg","leadingEdge","setTimeout","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","timeWaiting","remainingWait","debounced","isInvoking","clearTimeout","cancel","flush","debounce","patchResizeHandler","resizeCallback","refreshMode","refreshRate","refreshOptions","throttle","isFunction","fn","isSSR","window","isDOMElement","element","Element","HTMLDocument","createNotifier","onResize","setSize","handleWidth","handleHeight","_a","resizeHandler","targetRef","observerOptions","current","getElement","observableElement","resizeObserver","observe","querySelector","targetDomEl","document","currentElement","findDOMNode","getRenderType","parentElement","entries","_b","_c","notifyResize","contentRect","skipOnMount","render","isValidElement","isArray","createRef","createResizeHandler","ResizeObserver","ResizeDetector","attachObserver","disconnect","cancelHandler","typedChildren","WrapperTag","childProps","nativeProps","cloneElement","el","useEffect","useLayoutEffect","_slicedToArray","arr","_arrayWithHoles","_arr","_n","_d","_e","_s","_i","next","done","err","_iterableToArrayLimit","minLen","_arrayLikeToArray","n","_unsupportedIterableToArray","_nonIterableRest","len","arr2","ResponsiveContainer","forwardRef","aspect","_ref$width","_ref$height","minHeight","maxHeight","_ref$debounce","_useState2","useState","containerWidth","containerHeight","sizes","setSizes","containerRef","useRef","useImperativeHandle","_useState4","mounted","setMounted","getContainerSize","clientWidth","clientHeight","updateDimensionsImmediate","newSize","oldWidth","oldHeight","handleResize","_debounce","style","ReactResizeDetector","warn","isPercent","calculatedWidth","calculatedHeight","renderChart"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1501.5f62a612.chunk.js b/portal-ui/build/static/js/1501.45b91938.chunk.js similarity index 98% rename from portal-ui/build/static/js/1501.5f62a612.chunk.js rename to portal-ui/build/static/js/1501.45b91938.chunk.js index 9becaee38..21d624182 100644 --- a/portal-ui/build/static/js/1501.5f62a612.chunk.js +++ b/portal-ui/build/static/js/1501.45b91938.chunk.js @@ -1,2 +1,2 @@ -(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1501],{27331:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return S}});var o=n(29439),a=n(1413),r=n(72791),c=n(60364),i=n(16871),s=n(11135),l=n(25787),d=n(23814),u=n(45248),m=n(81207),p=n(92983),f=n(25469),h=n(51691),v=n(21435),Z=n(61889),x=n(9505),b=n(23508),j=n(38734),k=n(87995),C=n(80184),y=function(e){var t=e.deleteOpen,n=e.selectedPod,a=e.closeDeleteModalAndRefresh,c=(0,f.TL)(),i=(0,r.useState)(""),s=(0,o.Z)(i,2),l=s[0],d=s[1],u=(0,x.Z)((function(){return a(!0)}),(function(e){return c((0,k.Ih)(e))})),m=(0,o.Z)(u,2),p=m[0],y=m[1];return(0,C.jsx)(b.Z,{title:"Delete Pod",confirmText:"Delete",isOpen:t,titleIcon:(0,C.jsx)(j.NvT,{}),isLoading:p,onConfirm:function(){l===n.name?y("DELETE","/api/v1/namespaces/".concat(n.namespace,"/tenants/").concat(n.tenant,"/pods/").concat(n.name)):(0,k.Ih)({errorMessage:"Tenant name is incorrect",detailedError:""})},onClose:function(){return a(!1)},confirmButtonProps:{disabled:l!==n.name||p},confirmationContent:(0,C.jsxs)(h.Z,{children:["To continue please type ",(0,C.jsx)("b",{children:n.name})," in the box.",(0,C.jsx)(Z.ZP,{item:!0,xs:12,children:(0,C.jsx)(v.Z,{id:"retype-pod",name:"retype-pod",onChange:function(e){d(e.target.value)},label:"",value:l})})]})})},g=n(27391),P=n(63466),z=n(74900),S=(0,l.Z)((function(e){return(0,s.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},d.oZ),d.VX),(0,d.Bz)(e.spacing(4))))}))((function(e){var t=e.classes,n=(0,f.TL)(),a=(0,i.s0)(),s=(0,i.UO)(),l=s.tenantName,d=s.tenantNamespace,h=(0,c.v9)((function(e){return e.tenants.loadingTenant})),v=(0,r.useState)([]),x=(0,o.Z)(v,2),b=x[0],j=x[1],S=(0,r.useState)(!0),w=(0,o.Z)(S,2),I=w[0],E=w[1],M=(0,r.useState)(!1),T=(0,o.Z)(M,2),N=T[0],D=T[1],L=(0,r.useState)(null),V=(0,o.Z)(L,2),H=V[0],O=V[1],A=(0,r.useState)(""),B=(0,o.Z)(A,2),F=B[0],R=B[1],K=b.filter((function(e){return e.name.toLowerCase().includes(F.toLowerCase())})),U=[{type:"view",onClick:function(e){a("/namespaces/".concat(d||"","/tenants/").concat(l||"","/pods/").concat(e.name))}},{type:"delete",onClick:function(e){e.tenant=l,e.namespace=d,O(e),D(!0)}}];return(0,r.useEffect)((function(){h&&E(!0)}),[h]),(0,r.useEffect)((function(){I&&m.Z.invoke("GET","/api/v1/namespaces/".concat(d||"","/tenants/").concat(l||"","/pods")).then((function(e){for(var t=0;t.\n\nimport React, { useState } from \"react\";\nimport { DialogContentText } from \"@mui/material\";\nimport { IPodListElement } from \"../ListTenants/types\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Grid from \"@mui/material/Grid\";\n\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IDeletePod {\n deleteOpen: boolean;\n selectedPod: IPodListElement;\n closeDeleteModalAndRefresh: (refreshList: boolean) => any;\n}\n\nconst DeletePod = ({\n deleteOpen,\n selectedPod,\n closeDeleteModalAndRefresh,\n}: IDeletePod) => {\n const dispatch = useAppDispatch();\n const [retypePod, setRetypePod] = useState(\"\");\n\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) =>\n dispatch(setErrorSnackMessage(err));\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n const onConfirmDelete = () => {\n if (retypePod !== selectedPod.name) {\n setErrorSnackMessage({\n errorMessage: \"Tenant name is incorrect\",\n detailedError: \"\",\n });\n return;\n }\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/namespaces/${selectedPod.namespace}/tenants/${selectedPod.tenant}/pods/${selectedPod.name}`\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmButtonProps={{\n disabled: retypePod !== selectedPod.name || deleteLoading,\n }}\n confirmationContent={\n \n To continue please type {selectedPod.name} in the box.\n \n ) => {\n setRetypePod(event.target.value);\n }}\n label=\"\"\n value={retypePod}\n />\n \n \n }\n />\n );\n};\n\nexport default DeletePod;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useNavigate, useParams } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n containerForHeader,\n tableStyles,\n tenantDetailsStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { niceDays } from \"../../../../common/utils\";\nimport { IPodListElement } from \"../ListTenants/types\";\n\nimport api from \"../../../../common/api\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport DeletePod from \"./DeletePod\";\nimport { Grid, InputAdornment, TextField } from \"@mui/material\";\nimport SearchIcon from \"../../../../icons/SearchIcon\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\n\ninterface IPodsSummary {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n ...tableStyles,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst PodsSummary = ({ classes }: IPodsSummary) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n const { tenantName, tenantNamespace } = useParams();\n\n const loadingTenant = useSelector(\n (state: AppState) => state.tenants.loadingTenant\n );\n\n const [pods, setPods] = useState([]);\n const [loadingPods, setLoadingPods] = useState(true);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedPod, setSelectedPod] = useState(null);\n const [filter, setFilter] = useState(\"\");\n\n const podViewAction = (pod: IPodListElement) => {\n navigate(\n `/namespaces/${tenantNamespace || \"\"}/tenants/${tenantName || \"\"}/pods/${\n pod.name\n }`\n );\n return;\n };\n\n const closeDeleteModalAndRefresh = (reloadData: boolean) => {\n setDeleteOpen(false);\n setLoadingPods(true);\n };\n\n const confirmDeletePod = (pod: IPodListElement) => {\n pod.tenant = tenantName;\n pod.namespace = tenantNamespace;\n setSelectedPod(pod);\n setDeleteOpen(true);\n };\n\n const filteredRecords: IPodListElement[] = pods.filter((elementItem) =>\n elementItem.name.toLowerCase().includes(filter.toLowerCase())\n );\n\n const podTableActions = [\n { type: \"view\", onClick: podViewAction },\n { type: \"delete\", onClick: confirmDeletePod },\n ];\n\n useEffect(() => {\n if (loadingTenant) {\n setLoadingPods(true);\n }\n }, [loadingTenant]);\n\n useEffect(() => {\n if (loadingPods) {\n api\n .invoke(\n \"GET\",\n `/api/v1/namespaces/${tenantNamespace || \"\"}/tenants/${\n tenantName || \"\"\n }/pods`\n )\n .then((result: IPodListElement[]) => {\n for (let i = 0; i < result.length; i++) {\n let currentTime = (Date.now() / 1000) | 0;\n result[i].time = niceDays(\n (currentTime - parseInt(result[i].timeCreated)).toString()\n );\n }\n setPods(result);\n setLoadingPods(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(\n setErrorSnackMessage({\n errorMessage: \"Error loading pods\",\n detailedError: err.detailedError,\n })\n );\n });\n }\n }, [loadingPods, tenantName, tenantNamespace, dispatch]);\n\n return (\n \n {deleteOpen && (\n \n )}\n

Pods

\n \n \n \n \n ),\n }}\n onChange={(e) => {\n setFilter(e.target.value);\n }}\n variant=\"standard\"\n />\n \n \n {\n return input !== null ? input : 0;\n },\n },\n { label: \"Node\", elementKey: \"node\" },\n ]}\n isLoading={loadingPods}\n records={filteredRecords}\n itemActions={podTableActions}\n entityName=\"Pods\"\n idField=\"name\"\n />\n \n
\n );\n};\n\nexport default withStyles(styles)(PodsSummary);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 10 5 5 5-5z\"\n}), 'ArrowDropDown');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 14 5-5 5 5z\"\n}), 'ArrowDropUp');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z\"\n}), 'ViewColumn');\n\nexports.default = _default;","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"\n}), 'CheckBoxOutlineBlank');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckBox');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z\"\n}), 'IndeterminateCheckBox');","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getCheckboxUtilityClass(slot) {\n return generateUtilityClass('MuiCheckbox', slot);\n}\nconst checkboxClasses = generateUtilityClasses('MuiCheckbox', ['root', 'checked', 'disabled', 'indeterminate', 'colorPrimary', 'colorSecondary']);\nexport default checkboxClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"checkedIcon\", \"color\", \"icon\", \"indeterminate\", \"indeterminateIcon\", \"inputProps\", \"size\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport SwitchBase from '../internal/SwitchBase';\nimport CheckBoxOutlineBlankIcon from '../internal/svg-icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '../internal/svg-icons/CheckBox';\nimport IndeterminateCheckBoxIcon from '../internal/svg-icons/IndeterminateCheckBox';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport checkboxClasses, { getCheckboxUtilityClass } from './checkboxClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n indeterminate,\n color\n } = ownerState;\n const slots = {\n root: ['root', indeterminate && 'indeterminate', `color${capitalize(color)}`]\n };\n const composedClasses = composeClasses(slots, getCheckboxUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst CheckboxRoot = styled(SwitchBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiCheckbox',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.indeterminate && styles.indeterminate, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, !ownerState.disableRipple && {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${ownerState.color === 'default' ? theme.vars.palette.action.activeChannel : theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(ownerState.color === 'default' ? theme.palette.action.active : theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${checkboxClasses.checked}, &.${checkboxClasses.indeterminate}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${checkboxClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n }\n}));\n\nconst defaultCheckedIcon = /*#__PURE__*/_jsx(CheckBoxIcon, {});\n\nconst defaultIcon = /*#__PURE__*/_jsx(CheckBoxOutlineBlankIcon, {});\n\nconst defaultIndeterminateIcon = /*#__PURE__*/_jsx(IndeterminateCheckBoxIcon, {});\n\nconst Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(inProps, ref) {\n var _icon$props$fontSize, _indeterminateIcon$pr;\n\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCheckbox'\n });\n\n const {\n checkedIcon = defaultCheckedIcon,\n color = 'primary',\n icon: iconProp = defaultIcon,\n indeterminate = false,\n indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon,\n inputProps,\n size = 'medium'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const icon = indeterminate ? indeterminateIconProp : iconProp;\n const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;\n\n const ownerState = _extends({}, props, {\n color,\n indeterminate,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CheckboxRoot, _extends({\n type: \"checkbox\",\n inputProps: _extends({\n 'data-indeterminate': indeterminate\n }, inputProps),\n icon: /*#__PURE__*/React.cloneElement(icon, {\n fontSize: (_icon$props$fontSize = icon.props.fontSize) != null ? _icon$props$fontSize : size\n }),\n checkedIcon: /*#__PURE__*/React.cloneElement(indeterminateIcon, {\n fontSize: (_indeterminateIcon$pr = indeterminateIcon.props.fontSize) != null ? _indeterminateIcon$pr : size\n }),\n ownerState: ownerState,\n ref: ref\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Checkbox.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n * @default \n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * The icon to display when the component is unchecked.\n * @default \n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the component appears indeterminate.\n * This does not set the native input element to indeterminate due\n * to inconsistent behavior across browsers.\n * However, we set a `data-indeterminate` attribute on the `input`.\n * @default false\n */\n indeterminate: PropTypes.bool,\n\n /**\n * The icon to display when the component is indeterminate.\n * @default \n */\n indeterminateIcon: PropTypes.node,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense checkbox styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Checkbox;","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n"],"names":["deleteOpen","selectedPod","closeDeleteModalAndRefresh","dispatch","useAppDispatch","useState","retypePod","setRetypePod","useApi","err","setErrorSnackMessage","deleteLoading","invokeDeleteApi","ConfirmDialog","title","confirmText","isOpen","titleIcon","isLoading","onConfirm","name","namespace","tenant","errorMessage","detailedError","onClose","confirmButtonProps","disabled","confirmationContent","DialogContentText","Grid","item","xs","InputBoxWrapper","id","onChange","event","target","value","label","withStyles","theme","createStyles","tenantDetailsStyles","tableStyles","containerForHeader","spacing","classes","navigate","useNavigate","useParams","tenantName","tenantNamespace","loadingTenant","useSelector","state","tenants","pods","setPods","loadingPods","setLoadingPods","setDeleteOpen","setSelectedPod","filter","setFilter","filteredRecords","elementItem","toLowerCase","includes","podTableActions","type","onClick","pod","useEffect","api","then","result","i","length","currentTime","Date","now","time","niceDays","parseInt","timeCreated","toString","catch","Fragment","reloadData","className","sectionTitle","actionsTray","TextField","placeholder","searchField","InputProps","disableUnderline","startAdornment","InputAdornment","position","SearchIcon","e","variant","tableBlock","TableWrapper","columns","elementKey","width","renderFunction","input","records","itemActions","entityName","idField","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","createSvgIcon","_jsx","getCheckboxUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","CheckboxRoot","styled","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","props","styles","ownerState","root","indeterminate","color","capitalize","_extends","vars","palette","text","secondary","disableRipple","backgroundColor","action","activeChannel","primary","mainChannel","hoverOpacity","alpha","active","main","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","React","inProps","ref","_icon$props$fontSize","_indeterminateIcon$pr","useThemeProps","checkedIcon","icon","iconProp","indeterminateIcon","indeterminateIconProp","inputProps","size","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","fontSize","baseGetTag","isArray","isObjectLike","module"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/1501.45b91938.chunk.js","mappings":"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","sources":["screens/Console/Tenants/TenantDetails/DeletePod.tsx","screens/Console/Tenants/TenantDetails/PodsSummary.tsx","../node_modules/@mui/icons-material/ArrowDropDown.js","../node_modules/@mui/icons-material/ArrowDropUp.js","../node_modules/@mui/icons-material/ViewColumn.js","../node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@mui/material/Checkbox/checkboxClasses.js","../node_modules/@mui/material/Checkbox/Checkbox.js","../node_modules/lodash/isString.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { DialogContentText } from \"@mui/material\";\nimport { IPodListElement } from \"../ListTenants/types\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Grid from \"@mui/material/Grid\";\n\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IDeletePod {\n deleteOpen: boolean;\n selectedPod: IPodListElement;\n closeDeleteModalAndRefresh: (refreshList: boolean) => any;\n}\n\nconst DeletePod = ({\n deleteOpen,\n selectedPod,\n closeDeleteModalAndRefresh,\n}: IDeletePod) => {\n const dispatch = useAppDispatch();\n const [retypePod, setRetypePod] = useState(\"\");\n\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) =>\n dispatch(setErrorSnackMessage(err));\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n const onConfirmDelete = () => {\n if (retypePod !== selectedPod.name) {\n setErrorSnackMessage({\n errorMessage: \"Tenant name is incorrect\",\n detailedError: \"\",\n });\n return;\n }\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/namespaces/${selectedPod.namespace}/tenants/${selectedPod.tenant}/pods/${selectedPod.name}`\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmButtonProps={{\n disabled: retypePod !== selectedPod.name || deleteLoading,\n }}\n confirmationContent={\n \n To continue please type {selectedPod.name} in the box.\n \n ) => {\n setRetypePod(event.target.value);\n }}\n label=\"\"\n value={retypePod}\n />\n \n \n }\n />\n );\n};\n\nexport default DeletePod;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useNavigate, useParams } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n containerForHeader,\n tableStyles,\n tenantDetailsStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { niceDays } from \"../../../../common/utils\";\nimport { IPodListElement } from \"../ListTenants/types\";\n\nimport api from \"../../../../common/api\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport DeletePod from \"./DeletePod\";\nimport { Grid, InputAdornment, TextField } from \"@mui/material\";\nimport SearchIcon from \"../../../../icons/SearchIcon\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\n\ninterface IPodsSummary {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n ...tableStyles,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst PodsSummary = ({ classes }: IPodsSummary) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n const { tenantName, tenantNamespace } = useParams();\n\n const loadingTenant = useSelector(\n (state: AppState) => state.tenants.loadingTenant\n );\n\n const [pods, setPods] = useState([]);\n const [loadingPods, setLoadingPods] = useState(true);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedPod, setSelectedPod] = useState(null);\n const [filter, setFilter] = useState(\"\");\n\n const podViewAction = (pod: IPodListElement) => {\n navigate(\n `/namespaces/${tenantNamespace || \"\"}/tenants/${tenantName || \"\"}/pods/${\n pod.name\n }`\n );\n return;\n };\n\n const closeDeleteModalAndRefresh = (reloadData: boolean) => {\n setDeleteOpen(false);\n setLoadingPods(true);\n };\n\n const confirmDeletePod = (pod: IPodListElement) => {\n pod.tenant = tenantName;\n pod.namespace = tenantNamespace;\n setSelectedPod(pod);\n setDeleteOpen(true);\n };\n\n const filteredRecords: IPodListElement[] = pods.filter((elementItem) =>\n elementItem.name.toLowerCase().includes(filter.toLowerCase())\n );\n\n const podTableActions = [\n { type: \"view\", onClick: podViewAction },\n { type: \"delete\", onClick: confirmDeletePod },\n ];\n\n useEffect(() => {\n if (loadingTenant) {\n setLoadingPods(true);\n }\n }, [loadingTenant]);\n\n useEffect(() => {\n if (loadingPods) {\n api\n .invoke(\n \"GET\",\n `/api/v1/namespaces/${tenantNamespace || \"\"}/tenants/${\n tenantName || \"\"\n }/pods`\n )\n .then((result: IPodListElement[]) => {\n for (let i = 0; i < result.length; i++) {\n let currentTime = (Date.now() / 1000) | 0;\n result[i].time = niceDays(\n (currentTime - parseInt(result[i].timeCreated)).toString()\n );\n }\n setPods(result);\n setLoadingPods(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(\n setErrorSnackMessage({\n errorMessage: \"Error loading pods\",\n detailedError: err.detailedError,\n })\n );\n });\n }\n }, [loadingPods, tenantName, tenantNamespace, dispatch]);\n\n return (\n \n {deleteOpen && (\n \n )}\n

Pods

\n \n \n \n \n ),\n }}\n onChange={(e) => {\n setFilter(e.target.value);\n }}\n variant=\"standard\"\n />\n \n \n {\n return input !== null ? input : 0;\n },\n },\n { label: \"Node\", elementKey: \"node\" },\n ]}\n isLoading={loadingPods}\n records={filteredRecords}\n itemActions={podTableActions}\n entityName=\"Pods\"\n idField=\"name\"\n />\n \n
\n );\n};\n\nexport default withStyles(styles)(PodsSummary);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 10 5 5 5-5z\"\n}), 'ArrowDropDown');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 14 5-5 5 5z\"\n}), 'ArrowDropUp');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z\"\n}), 'ViewColumn');\n\nexports.default = _default;","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"\n}), 'CheckBoxOutlineBlank');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckBox');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z\"\n}), 'IndeterminateCheckBox');","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getCheckboxUtilityClass(slot) {\n return generateUtilityClass('MuiCheckbox', slot);\n}\nconst checkboxClasses = generateUtilityClasses('MuiCheckbox', ['root', 'checked', 'disabled', 'indeterminate', 'colorPrimary', 'colorSecondary']);\nexport default checkboxClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"checkedIcon\", \"color\", \"icon\", \"indeterminate\", \"indeterminateIcon\", \"inputProps\", \"size\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport SwitchBase from '../internal/SwitchBase';\nimport CheckBoxOutlineBlankIcon from '../internal/svg-icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '../internal/svg-icons/CheckBox';\nimport IndeterminateCheckBoxIcon from '../internal/svg-icons/IndeterminateCheckBox';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport checkboxClasses, { getCheckboxUtilityClass } from './checkboxClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n indeterminate,\n color\n } = ownerState;\n const slots = {\n root: ['root', indeterminate && 'indeterminate', `color${capitalize(color)}`]\n };\n const composedClasses = composeClasses(slots, getCheckboxUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst CheckboxRoot = styled(SwitchBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiCheckbox',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.indeterminate && styles.indeterminate, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, !ownerState.disableRipple && {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${ownerState.color === 'default' ? theme.vars.palette.action.activeChannel : theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(ownerState.color === 'default' ? theme.palette.action.active : theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${checkboxClasses.checked}, &.${checkboxClasses.indeterminate}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${checkboxClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n }\n}));\n\nconst defaultCheckedIcon = /*#__PURE__*/_jsx(CheckBoxIcon, {});\n\nconst defaultIcon = /*#__PURE__*/_jsx(CheckBoxOutlineBlankIcon, {});\n\nconst defaultIndeterminateIcon = /*#__PURE__*/_jsx(IndeterminateCheckBoxIcon, {});\n\nconst Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(inProps, ref) {\n var _icon$props$fontSize, _indeterminateIcon$pr;\n\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCheckbox'\n });\n\n const {\n checkedIcon = defaultCheckedIcon,\n color = 'primary',\n icon: iconProp = defaultIcon,\n indeterminate = false,\n indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon,\n inputProps,\n size = 'medium'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const icon = indeterminate ? indeterminateIconProp : iconProp;\n const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;\n\n const ownerState = _extends({}, props, {\n color,\n indeterminate,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CheckboxRoot, _extends({\n type: \"checkbox\",\n inputProps: _extends({\n 'data-indeterminate': indeterminate\n }, inputProps),\n icon: /*#__PURE__*/React.cloneElement(icon, {\n fontSize: (_icon$props$fontSize = icon.props.fontSize) != null ? _icon$props$fontSize : size\n }),\n checkedIcon: /*#__PURE__*/React.cloneElement(indeterminateIcon, {\n fontSize: (_indeterminateIcon$pr = indeterminateIcon.props.fontSize) != null ? _indeterminateIcon$pr : size\n }),\n ownerState: ownerState,\n ref: ref\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Checkbox.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n * @default \n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * The icon to display when the component is unchecked.\n * @default \n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the component appears indeterminate.\n * This does not set the native input element to indeterminate due\n * to inconsistent behavior across browsers.\n * However, we set a `data-indeterminate` attribute on the `input`.\n * @default false\n */\n indeterminate: PropTypes.bool,\n\n /**\n * The icon to display when the component is indeterminate.\n * @default \n */\n indeterminateIcon: PropTypes.node,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense checkbox styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Checkbox;","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n"],"names":["deleteOpen","selectedPod","closeDeleteModalAndRefresh","dispatch","useAppDispatch","useState","retypePod","setRetypePod","useApi","err","setErrorSnackMessage","deleteLoading","invokeDeleteApi","ConfirmDialog","title","confirmText","isOpen","titleIcon","isLoading","onConfirm","name","namespace","tenant","errorMessage","detailedError","onClose","confirmButtonProps","disabled","confirmationContent","DialogContentText","Grid","item","xs","InputBoxWrapper","id","onChange","event","target","value","label","withStyles","theme","createStyles","tenantDetailsStyles","tableStyles","containerForHeader","spacing","classes","navigate","useNavigate","useParams","tenantName","tenantNamespace","loadingTenant","useSelector","state","tenants","pods","setPods","loadingPods","setLoadingPods","setDeleteOpen","setSelectedPod","filter","setFilter","filteredRecords","elementItem","toLowerCase","includes","podTableActions","type","onClick","pod","useEffect","api","then","result","i","length","currentTime","Date","now","time","niceDays","parseInt","timeCreated","toString","catch","Fragment","reloadData","className","sectionTitle","actionsTray","TextField","placeholder","searchField","InputProps","disableUnderline","startAdornment","InputAdornment","position","SearchIcon","e","variant","tableBlock","TableWrapper","columns","elementKey","width","renderFunction","input","records","itemActions","entityName","idField","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","createSvgIcon","_jsx","getCheckboxUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","CheckboxRoot","styled","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","props","styles","ownerState","root","indeterminate","color","capitalize","_extends","vars","palette","text","secondary","disableRipple","backgroundColor","action","activeChannel","primary","mainChannel","hoverOpacity","alpha","active","main","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","React","inProps","ref","_icon$props$fontSize","_indeterminateIcon$pr","useThemeProps","checkedIcon","icon","iconProp","indeterminateIcon","indeterminateIconProp","inputProps","size","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","fontSize","baseGetTag","isArray","isObjectLike","module"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1581.3b60face.chunk.js b/portal-ui/build/static/js/1581.3b60face.chunk.js new file mode 100644 index 000000000..94729b033 --- /dev/null +++ b/portal-ui/build/static/js/1581.3b60face.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1581],{1581:function(e,t,a){a.r(t);var n=a(29439),s=a(1413),i=a(72791),l=a(40986),o=a(75952),c=a(11135),r=a(25787),u=a(61889),d=a(45248),f=a(23814),m=a(37516),x=a(21435),Z=a(56028),h=a(81207),p=a(38588),j=a(56578),v=a(87995),b=a(25469),g=a(80184);t.default=(0,r.Z)((function(e){return(0,c.Z)((0,s.Z)((0,s.Z)({},f.DF),f.ID))}))((function(e){var t=e.classes,a=e.open,s=e.enabled,c=e.cfg,r=e.selectedBucket,f=e.closeModalAndRefresh,k=(0,b.TL)(),C=(0,i.useState)(!1),S=(0,n.Z)(C,2),N=S[0],P=S[1],q=(0,i.useState)(!1),B=(0,n.Z)(q,2),w=B[0],y=B[1],z=(0,i.useState)("1"),E=(0,n.Z)(z,2),_=E[0],M=E[1],D=(0,i.useState)("Ti"),T=(0,n.Z)(D,2),F=T[0],I=T[1],L=(0,i.useState)(!1),Q=(0,n.Z)(L,2),R=Q[0],W=Q[1];(0,i.useEffect)((function(){if(s&&(y(!0),c)){var e=(0,d.Am)(c.quota,!0,!1,!0);M(e.total.toString()),I(e.unit),W(!0)}}),[s,c]),(0,i.useEffect)((function(){W(!w||/^\d*(?:\.\d{1,2})?$/.test(_))}),[w,_]);return(0,g.jsx)(Z.Z,{modalOpen:a,onClose:function(){f()},title:"Enable Bucket Quota",titleIcon:(0,g.jsx)(p.Wqw,{}),children:(0,g.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),function(){if(!N&&R){var e={enabled:w,amount:parseInt((0,d.Pw)(_,F,!0)),quota_type:"hard"};h.Z.invoke("PUT","/api/v1/buckets/".concat(r,"/quota"),e).then((function(){P(!1),f()})).catch((function(e){P(!1),k((0,v.zb)(e))}))}}()},children:(0,g.jsxs)(u.ZP,{container:!0,children:[(0,g.jsxs)(u.ZP,{item:!0,xs:12,className:t.formScrollable,children:[(0,g.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,g.jsx)(m.Z,{value:"bucket_quota",id:"bucket_quota",name:"bucket_quota",checked:w,onChange:function(e){y(e.target.checked)},label:"Enabled"})}),w&&(0,g.jsx)(i.Fragment,{children:(0,g.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,g.jsx)(u.ZP,{container:!0,children:(0,g.jsx)(u.ZP,{item:!0,xs:12,children:(0,g.jsx)(x.Z,{id:"quota_size",name:"quota_size",onChange:function(e){M(e.target.value),e.target.validity.valid?W(!0):W(!1)},label:"Quota",value:_,required:!0,min:"1",overlayObject:(0,g.jsx)(j.Z,{id:"quota_unit",onUnitChange:function(e){I(e)},unitSelected:F,unitsList:(0,d.zQ)(["Ki"]),disabled:!1}),error:R?"":"Please enter a valid quota"})})})})})]}),(0,g.jsxs)(u.ZP,{item:!0,xs:12,className:t.modalButtonBar,children:[(0,g.jsx)(o.zx,{id:"cancel",type:"button",variant:"regular",disabled:N,onClick:function(){f()},label:"Cancel"}),(0,g.jsx)(o.zx,{id:"save",type:"submit",variant:"callAction",disabled:N||!R,label:"Save"})]}),N&&(0,g.jsx)(u.ZP,{item:!0,xs:12,children:(0,g.jsx)(l.Z,{})})]})})})}))},56028:function(e,t,a){var n=a(29439),s=a(1413),i=a(72791),l=a(60364),o=a(13400),c=a(55646),r=a(5574),u=a(65661),d=a(39157),f=a(11135),m=a(25787),x=a(23814),Z=a(25469),h=a(29823),p=a(28057),j=a(87995),v=a(80184);t.Z=(0,m.Z)((function(e){return(0,f.Z)((0,s.Z)((0,s.Z)({},x.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},x.sN))}))((function(e){var t=e.onClose,a=e.modalOpen,f=e.title,m=e.children,x=e.classes,b=e.wideLimit,g=void 0===b||b,k=e.noContentPadding,C=e.titleIcon,S=void 0===C?null:C,N=(0,Z.TL)(),P=(0,i.useState)(!1),q=(0,n.Z)(P,2),B=q[0],w=q[1],y=(0,l.v9)((function(e){return e.system.modalSnackBar}));(0,i.useEffect)((function(){N((0,j.MK)(""))}),[N]),(0,i.useEffect)((function(){if(y){if(""===y.message)return void w(!1);"error"!==y.type&&w(!0)}}),[y]);var z=g?{classes:{paper:x.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},E="";return y&&(E=y.detailedErrorMsg,(""===y.detailedErrorMsg||y.detailedErrorMsg.length<5)&&(E=y.message)),(0,v.jsxs)(r.Z,(0,s.Z)((0,s.Z)({open:a,classes:x},z),{},{scroll:"paper",onClose:function(e,a){"backdropClick"!==a&&t()},className:x.root,children:[(0,v.jsxs)(u.Z,{className:x.title,children:[(0,v.jsxs)("div",{className:x.titleText,children:[S," ",f]}),(0,v.jsx)("div",{className:x.closeContainer,children:(0,v.jsx)(o.Z,{"aria-label":"close",id:"close",className:x.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,v.jsx)(h.Z,{})})})]}),(0,v.jsx)(p.Z,{isModal:!0}),(0,v.jsx)(c.Z,{open:B,className:x.snackBarModal,onClose:function(){w(!1),N((0,j.MK)(""))},message:E,ContentProps:{className:"".concat(x.snackBar," ").concat(y&&"error"===y.type?x.errorSnackBar:"")},autoHideDuration:y&&"error"===y.type?1e4:5e3}),(0,v.jsx)(d.Z,{className:k?"":x.content,children:m})]}))}))}}]); +//# sourceMappingURL=1581.3b60face.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1581.5d8bdb2a.chunk.js.map b/portal-ui/build/static/js/1581.3b60face.chunk.js.map similarity index 98% rename from portal-ui/build/static/js/1581.5d8bdb2a.chunk.js.map rename to portal-ui/build/static/js/1581.3b60face.chunk.js.map index 5692f0dac..5da2736f2 100644 --- a/portal-ui/build/static/js/1581.5d8bdb2a.chunk.js.map +++ b/portal-ui/build/static/js/1581.3b60face.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/1581.5d8bdb2a.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/EnableQuota.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n calculateBytes,\n getBytes,\n k8sScalarUnitsExcluding,\n} from \"../../../../common/utils\";\nimport { BucketQuota } from \"../types\";\n\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../../common/api\";\nimport { BucketQuotaIcon } from \"../../../../icons\";\nimport InputUnitMenu from \"../../Common/FormComponents/InputUnitMenu/InputUnitMenu\";\n\nimport { setModalErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\ninterface IEnableQuotaProps {\n classes: any;\n open: boolean;\n enabled: boolean;\n cfg: BucketQuota | null;\n selectedBucket: string;\n closeModalAndRefresh: () => void;\n}\n\nconst EnableQuota = ({\n classes,\n open,\n enabled,\n cfg,\n selectedBucket,\n closeModalAndRefresh,\n}: IEnableQuotaProps) => {\n const dispatch = useAppDispatch();\n const [loading, setLoading] = useState(false);\n const [quotaEnabled, setQuotaEnabled] = useState(false);\n const [quotaSize, setQuotaSize] = useState(\"1\");\n const [quotaUnit, setQuotaUnit] = useState(\"Ti\");\n const [validInput, setValidInput] = useState(false);\n\n useEffect(() => {\n if (enabled) {\n setQuotaEnabled(true);\n if (cfg) {\n const unitCalc = calculateBytes(cfg.quota, true, false, true);\n\n setQuotaSize(unitCalc.total.toString());\n setQuotaUnit(unitCalc.unit);\n setValidInput(true);\n }\n }\n }, [enabled, cfg]);\n\n useEffect(() => {\n const valRegExp = /^\\d*(?:\\.\\d{1,2})?$/;\n\n if (!quotaEnabled) {\n setValidInput(true);\n return;\n }\n\n setValidInput(valRegExp.test(quotaSize));\n }, [quotaEnabled, quotaSize]);\n\n const enableBucketEncryption = () => {\n if (loading || !validInput) {\n return;\n }\n let req = {\n enabled: quotaEnabled,\n amount: parseInt(getBytes(quotaSize, quotaUnit, true)),\n quota_type: \"hard\",\n };\n\n api\n .invoke(\"PUT\", `/api/v1/buckets/${selectedBucket}/quota`, req)\n .then(() => {\n setLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n };\n\n return (\n {\n closeModalAndRefresh();\n }}\n title=\"Enable Bucket Quota\"\n titleIcon={}\n >\n ) => {\n e.preventDefault();\n enableBucketEncryption();\n }}\n >\n \n \n \n ) => {\n setQuotaEnabled(event.target.checked);\n }}\n label={\"Enabled\"}\n />\n \n {quotaEnabled && (\n \n \n \n \n ) => {\n setQuotaSize(e.target.value);\n if (!e.target.validity.valid) {\n setValidInput(false);\n } else {\n setValidInput(true);\n }\n }}\n label=\"Quota\"\n value={quotaSize}\n required\n min=\"1\"\n overlayObject={\n {\n setQuotaUnit(newValue);\n }}\n unitSelected={quotaUnit}\n unitsList={k8sScalarUnitsExcluding([\"Ki\"])}\n disabled={false}\n />\n }\n error={!validInput ? \"Please enter a valid quota\" : \"\"}\n />\n \n \n \n \n )}\n \n \n {\n closeModalAndRefresh();\n }}\n label={\"Cancel\"}\n />\n\n \n \n {loading && (\n \n \n \n )}\n \n \n \n );\n};\n\nexport default withStyles(styles)(EnableQuota);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n noContentPadding?: boolean;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n noContentPadding,\n titleIcon = null,\n}: IModalProps) => {\n const dispatch = useAppDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nexport default withStyles(styles)(ModalWrapper);\n"],"names":["withStyles","theme","createStyles","formFieldStyles","modalStyleUtils","classes","open","enabled","cfg","selectedBucket","closeModalAndRefresh","dispatch","useAppDispatch","useState","loading","setLoading","quotaEnabled","setQuotaEnabled","quotaSize","setQuotaSize","quotaUnit","setQuotaUnit","validInput","setValidInput","useEffect","unitCalc","calculateBytes","quota","total","toString","unit","test","modalOpen","onClose","title","titleIcon","noValidate","autoComplete","onSubmit","e","preventDefault","req","amount","parseInt","getBytes","quota_type","api","then","catch","err","setModalErrorSnackMessage","enableBucketEncryption","container","item","xs","className","formScrollable","formFieldRow","value","id","name","checked","onChange","event","target","label","validity","valid","required","min","overlayObject","onUnitChange","newValue","unitSelected","unitsList","k8sScalarUnitsExcluding","disabled","error","modalButtonBar","type","variant","onClick","deleteDialogStyles","content","padding","paddingBottom","customDialogSize","width","maxWidth","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","modalSnackMessage","useSelector","state","system","modalSnackBar","setModalSnackMessage","message","customSize","paper","fullWidth","detailedErrorMsg","length","scroll","reason","root","titleText","closeContainer","closeButton","disableRipple","size","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/1581.3b60face.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/EnableQuota.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n calculateBytes,\n getBytes,\n k8sScalarUnitsExcluding,\n} from \"../../../../common/utils\";\nimport { BucketQuota } from \"../types\";\n\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../../common/api\";\nimport { BucketQuotaIcon } from \"../../../../icons\";\nimport InputUnitMenu from \"../../Common/FormComponents/InputUnitMenu/InputUnitMenu\";\n\nimport { setModalErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\ninterface IEnableQuotaProps {\n classes: any;\n open: boolean;\n enabled: boolean;\n cfg: BucketQuota | null;\n selectedBucket: string;\n closeModalAndRefresh: () => void;\n}\n\nconst EnableQuota = ({\n classes,\n open,\n enabled,\n cfg,\n selectedBucket,\n closeModalAndRefresh,\n}: IEnableQuotaProps) => {\n const dispatch = useAppDispatch();\n const [loading, setLoading] = useState(false);\n const [quotaEnabled, setQuotaEnabled] = useState(false);\n const [quotaSize, setQuotaSize] = useState(\"1\");\n const [quotaUnit, setQuotaUnit] = useState(\"Ti\");\n const [validInput, setValidInput] = useState(false);\n\n useEffect(() => {\n if (enabled) {\n setQuotaEnabled(true);\n if (cfg) {\n const unitCalc = calculateBytes(cfg.quota, true, false, true);\n\n setQuotaSize(unitCalc.total.toString());\n setQuotaUnit(unitCalc.unit);\n setValidInput(true);\n }\n }\n }, [enabled, cfg]);\n\n useEffect(() => {\n const valRegExp = /^\\d*(?:\\.\\d{1,2})?$/;\n\n if (!quotaEnabled) {\n setValidInput(true);\n return;\n }\n\n setValidInput(valRegExp.test(quotaSize));\n }, [quotaEnabled, quotaSize]);\n\n const enableBucketEncryption = () => {\n if (loading || !validInput) {\n return;\n }\n let req = {\n enabled: quotaEnabled,\n amount: parseInt(getBytes(quotaSize, quotaUnit, true)),\n quota_type: \"hard\",\n };\n\n api\n .invoke(\"PUT\", `/api/v1/buckets/${selectedBucket}/quota`, req)\n .then(() => {\n setLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n };\n\n return (\n {\n closeModalAndRefresh();\n }}\n title=\"Enable Bucket Quota\"\n titleIcon={}\n >\n ) => {\n e.preventDefault();\n enableBucketEncryption();\n }}\n >\n \n \n \n ) => {\n setQuotaEnabled(event.target.checked);\n }}\n label={\"Enabled\"}\n />\n \n {quotaEnabled && (\n \n \n \n \n ) => {\n setQuotaSize(e.target.value);\n if (!e.target.validity.valid) {\n setValidInput(false);\n } else {\n setValidInput(true);\n }\n }}\n label=\"Quota\"\n value={quotaSize}\n required\n min=\"1\"\n overlayObject={\n {\n setQuotaUnit(newValue);\n }}\n unitSelected={quotaUnit}\n unitsList={k8sScalarUnitsExcluding([\"Ki\"])}\n disabled={false}\n />\n }\n error={!validInput ? \"Please enter a valid quota\" : \"\"}\n />\n \n \n \n \n )}\n \n \n {\n closeModalAndRefresh();\n }}\n label={\"Cancel\"}\n />\n\n \n \n {loading && (\n \n \n \n )}\n \n \n \n );\n};\n\nexport default withStyles(styles)(EnableQuota);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n noContentPadding?: boolean;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n noContentPadding,\n titleIcon = null,\n}: IModalProps) => {\n const dispatch = useAppDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nexport default withStyles(styles)(ModalWrapper);\n"],"names":["withStyles","theme","createStyles","formFieldStyles","modalStyleUtils","classes","open","enabled","cfg","selectedBucket","closeModalAndRefresh","dispatch","useAppDispatch","useState","loading","setLoading","quotaEnabled","setQuotaEnabled","quotaSize","setQuotaSize","quotaUnit","setQuotaUnit","validInput","setValidInput","useEffect","unitCalc","calculateBytes","quota","total","toString","unit","test","modalOpen","onClose","title","titleIcon","noValidate","autoComplete","onSubmit","e","preventDefault","req","amount","parseInt","getBytes","quota_type","api","then","catch","err","setModalErrorSnackMessage","enableBucketEncryption","container","item","xs","className","formScrollable","formFieldRow","value","id","name","checked","onChange","event","target","label","validity","valid","required","min","overlayObject","onUnitChange","newValue","unitSelected","unitsList","k8sScalarUnitsExcluding","disabled","error","modalButtonBar","type","variant","onClick","deleteDialogStyles","content","padding","paddingBottom","customDialogSize","width","maxWidth","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","modalSnackMessage","useSelector","state","system","modalSnackBar","setModalSnackMessage","message","customSize","paper","fullWidth","detailedErrorMsg","length","scroll","reason","root","titleText","closeContainer","closeButton","disableRipple","size","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1581.5d8bdb2a.chunk.js b/portal-ui/build/static/js/1581.5d8bdb2a.chunk.js deleted file mode 100644 index 2ea8d75fd..000000000 --- a/portal-ui/build/static/js/1581.5d8bdb2a.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1581],{1581:function(e,t,a){a.r(t);var n=a(29439),s=a(1413),i=a(72791),l=a(40986),o=a(75952),c=a(11135),r=a(25787),u=a(61889),d=a(45248),f=a(23814),m=a(37516),Z=a(21435),x=a(56028),h=a(81207),p=a(38734),j=a(56578),v=a(87995),b=a(25469),g=a(80184);t.default=(0,r.Z)((function(e){return(0,c.Z)((0,s.Z)((0,s.Z)({},f.DF),f.ID))}))((function(e){var t=e.classes,a=e.open,s=e.enabled,c=e.cfg,r=e.selectedBucket,f=e.closeModalAndRefresh,k=(0,b.TL)(),C=(0,i.useState)(!1),S=(0,n.Z)(C,2),N=S[0],P=S[1],q=(0,i.useState)(!1),B=(0,n.Z)(q,2),w=B[0],y=B[1],z=(0,i.useState)("1"),E=(0,n.Z)(z,2),_=E[0],M=E[1],D=(0,i.useState)("Ti"),T=(0,n.Z)(D,2),F=T[0],I=T[1],L=(0,i.useState)(!1),Q=(0,n.Z)(L,2),R=Q[0],W=Q[1];(0,i.useEffect)((function(){if(s&&(y(!0),c)){var e=(0,d.Am)(c.quota,!0,!1,!0);M(e.total.toString()),I(e.unit),W(!0)}}),[s,c]),(0,i.useEffect)((function(){W(!w||/^\d*(?:\.\d{1,2})?$/.test(_))}),[w,_]);return(0,g.jsx)(x.Z,{modalOpen:a,onClose:function(){f()},title:"Enable Bucket Quota",titleIcon:(0,g.jsx)(p.Wqw,{}),children:(0,g.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),function(){if(!N&&R){var e={enabled:w,amount:parseInt((0,d.Pw)(_,F,!0)),quota_type:"hard"};h.Z.invoke("PUT","/api/v1/buckets/".concat(r,"/quota"),e).then((function(){P(!1),f()})).catch((function(e){P(!1),k((0,v.zb)(e))}))}}()},children:(0,g.jsxs)(u.ZP,{container:!0,children:[(0,g.jsxs)(u.ZP,{item:!0,xs:12,className:t.formScrollable,children:[(0,g.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,g.jsx)(m.Z,{value:"bucket_quota",id:"bucket_quota",name:"bucket_quota",checked:w,onChange:function(e){y(e.target.checked)},label:"Enabled"})}),w&&(0,g.jsx)(i.Fragment,{children:(0,g.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,g.jsx)(u.ZP,{container:!0,children:(0,g.jsx)(u.ZP,{item:!0,xs:12,children:(0,g.jsx)(Z.Z,{id:"quota_size",name:"quota_size",onChange:function(e){M(e.target.value),e.target.validity.valid?W(!0):W(!1)},label:"Quota",value:_,required:!0,min:"1",overlayObject:(0,g.jsx)(j.Z,{id:"quota_unit",onUnitChange:function(e){I(e)},unitSelected:F,unitsList:(0,d.zQ)(["Ki"]),disabled:!1}),error:R?"":"Please enter a valid quota"})})})})})]}),(0,g.jsxs)(u.ZP,{item:!0,xs:12,className:t.modalButtonBar,children:[(0,g.jsx)(o.z,{id:"cancel",type:"button",variant:"regular",disabled:N,onClick:function(){f()},label:"Cancel"}),(0,g.jsx)(o.z,{id:"save",type:"submit",variant:"callAction",disabled:N||!R,label:"Save"})]}),N&&(0,g.jsx)(u.ZP,{item:!0,xs:12,children:(0,g.jsx)(l.Z,{})})]})})})}))},56028:function(e,t,a){var n=a(29439),s=a(1413),i=a(72791),l=a(60364),o=a(13400),c=a(55646),r=a(5574),u=a(65661),d=a(39157),f=a(11135),m=a(25787),Z=a(23814),x=a(25469),h=a(29823),p=a(28057),j=a(87995),v=a(80184);t.Z=(0,m.Z)((function(e){return(0,f.Z)((0,s.Z)((0,s.Z)({},Z.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},Z.sN))}))((function(e){var t=e.onClose,a=e.modalOpen,f=e.title,m=e.children,Z=e.classes,b=e.wideLimit,g=void 0===b||b,k=e.noContentPadding,C=e.titleIcon,S=void 0===C?null:C,N=(0,x.TL)(),P=(0,i.useState)(!1),q=(0,n.Z)(P,2),B=q[0],w=q[1],y=(0,l.v9)((function(e){return e.system.modalSnackBar}));(0,i.useEffect)((function(){N((0,j.MK)(""))}),[N]),(0,i.useEffect)((function(){if(y){if(""===y.message)return void w(!1);"error"!==y.type&&w(!0)}}),[y]);var z=g?{classes:{paper:Z.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},E="";return y&&(E=y.detailedErrorMsg,(""===y.detailedErrorMsg||y.detailedErrorMsg.length<5)&&(E=y.message)),(0,v.jsxs)(r.Z,(0,s.Z)((0,s.Z)({open:a,classes:Z},z),{},{scroll:"paper",onClose:function(e,a){"backdropClick"!==a&&t()},className:Z.root,children:[(0,v.jsxs)(u.Z,{className:Z.title,children:[(0,v.jsxs)("div",{className:Z.titleText,children:[S," ",f]}),(0,v.jsx)("div",{className:Z.closeContainer,children:(0,v.jsx)(o.Z,{"aria-label":"close",id:"close",className:Z.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,v.jsx)(h.Z,{})})})]}),(0,v.jsx)(p.Z,{isModal:!0}),(0,v.jsx)(c.Z,{open:B,className:Z.snackBarModal,onClose:function(){w(!1),N((0,j.MK)(""))},message:E,ContentProps:{className:"".concat(Z.snackBar," ").concat(y&&"error"===y.type?Z.errorSnackBar:"")},autoHideDuration:y&&"error"===y.type?1e4:5e3}),(0,v.jsx)(d.Z,{className:k?"":Z.content,children:m})]}))}))}}]); -//# sourceMappingURL=1581.5d8bdb2a.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1604.d6abf9f0.chunk.js b/portal-ui/build/static/js/1604.d6abf9f0.chunk.js deleted file mode 100644 index f4c07edb0..000000000 --- a/portal-ui/build/static/js/1604.d6abf9f0.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1604],{1604:function(e,t,n){n.r(t);var a=n(29439),i=n(1413),o=n(72791),s=n(75952),l=n(40986),c=n(11135),r=n(25787),u=n(61889),d=n(23814),m=n(81207),f=n(56028),Z=n(83679),p=n(21435),h=n(72401),x=n(87995),v=n(25469),b=n(80184);t.default=(0,r.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},d.bK),d.QV),d.DF),d.ID))}))((function(e){var t=e.classes,n=e.open,i=e.bucketName,c=e.closeModalAndRefresh,r=(0,v.TL)(),d=(0,o.useState)(!1),j=(0,a.Z)(d,2),g=j[0],C=j[1],N=(0,o.useState)(!0),y=(0,a.Z)(N,2),S=y[0],k=y[1],P=(0,o.useState)("compliance"),w=(0,a.Z)(P,2),M=w[0],R=w[1],B=(0,o.useState)("days"),E=(0,a.Z)(B,2),_=E[0],D=E[1],z=(0,o.useState)(1),F=(0,a.Z)(z,2),T=F[0],O=F[1],A=(0,o.useState)(!1),K=(0,a.Z)(A,2),L=K[0],V=K[1];return(0,o.useEffect)((function(){Number.isNaN(T)||T<1?V(!1):V(!0)}),[T]),(0,o.useEffect)((function(){S&&m.Z.invoke("GET","/api/v1/buckets/".concat(i,"/retention")).then((function(e){k(!1),R(e.mode),O(e.validity),D(e.unit)})).catch((function(e){k(!1)}))}),[S,i]),(0,b.jsx)(f.Z,{title:"Set Retention Configuration",modalOpen:n,onClose:function(){c()},children:S?(0,b.jsx)(h.Z,{style:{width:16,height:16}}):(0,b.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),g||(C(!0),m.Z.invoke("PUT","/api/v1/buckets/".concat(i,"/retention"),{mode:M,unit:_,validity:T}).then((function(){C(!1),c()})).catch((function(e){C(!1),r((0,x.zb)(e))})))},children:(0,b.jsxs)(u.ZP,{container:!0,children:[(0,b.jsxs)(u.ZP,{item:!0,xs:12,className:t.modalFormScrollable,children:[(0,b.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,b.jsx)(Z.Z,{currentSelection:M,id:"retention_mode",name:"retention_mode",label:"Retention Mode",onChange:function(e){R(e.target.value)},selectorOptions:[{value:"compliance",label:"Compliance"},{value:"governance",label:"Governance"}]})}),(0,b.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,b.jsx)(Z.Z,{currentSelection:_,id:"retention_unit",name:"retention_unit",label:"Retention Unit",onChange:function(e){D(e.target.value)},selectorOptions:[{value:"days",label:"Days"},{value:"years",label:"Years"}]})}),(0,b.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,b.jsx)(p.Z,{type:"number",id:"retention_validity",name:"retention_validity",onChange:function(e){O(e.target.valueAsNumber)},label:"Retention Validity",value:String(T),required:!0,min:"1"})})]}),(0,b.jsxs)(u.ZP,{item:!0,xs:12,className:t.modalButtonBar,children:[(0,b.jsx)(s.z,{id:"cancel",type:"button",variant:"regular",disabled:g,onClick:function(){c()},label:"Cancel"}),(0,b.jsx)(s.z,{id:"set",type:"submit",variant:"callAction",color:"primary",disabled:g||!L,label:"Set"})]}),g&&(0,b.jsx)(u.ZP,{item:!0,xs:12,children:(0,b.jsx)(l.Z,{})})]})})})}))},56028:function(e,t,n){var a=n(29439),i=n(1413),o=n(72791),s=n(60364),l=n(13400),c=n(55646),r=n(5574),u=n(65661),d=n(39157),m=n(11135),f=n(25787),Z=n(23814),p=n(25469),h=n(29823),x=n(28057),v=n(87995),b=n(80184);t.Z=(0,f.Z)((function(e){return(0,m.Z)((0,i.Z)((0,i.Z)({},Z.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},Z.sN))}))((function(e){var t=e.onClose,n=e.modalOpen,m=e.title,f=e.children,Z=e.classes,j=e.wideLimit,g=void 0===j||j,C=e.noContentPadding,N=e.titleIcon,y=void 0===N?null:N,S=(0,p.TL)(),k=(0,o.useState)(!1),P=(0,a.Z)(k,2),w=P[0],M=P[1],R=(0,s.v9)((function(e){return e.system.modalSnackBar}));(0,o.useEffect)((function(){S((0,v.MK)(""))}),[S]),(0,o.useEffect)((function(){if(R){if(""===R.message)return void M(!1);"error"!==R.type&&M(!0)}}),[R]);var B=g?{classes:{paper:Z.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},E="";return R&&(E=R.detailedErrorMsg,(""===R.detailedErrorMsg||R.detailedErrorMsg.length<5)&&(E=R.message)),(0,b.jsxs)(r.Z,(0,i.Z)((0,i.Z)({open:n,classes:Z},B),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:Z.root,children:[(0,b.jsxs)(u.Z,{className:Z.title,children:[(0,b.jsxs)("div",{className:Z.titleText,children:[y," ",m]}),(0,b.jsx)("div",{className:Z.closeContainer,children:(0,b.jsx)(l.Z,{"aria-label":"close",id:"close",className:Z.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,b.jsx)(h.Z,{})})})]}),(0,b.jsx)(x.Z,{isModal:!0}),(0,b.jsx)(c.Z,{open:w,className:Z.snackBarModal,onClose:function(){M(!1),S((0,v.MK)(""))},message:E,ContentProps:{className:"".concat(Z.snackBar," ").concat(R&&"error"===R.type?Z.errorSnackBar:"")},autoHideDuration:R&&"error"===R.type?1e4:5e3}),(0,b.jsx)(d.Z,{className:C?"":Z.content,children:f})]}))}))}}]); -//# sourceMappingURL=1604.d6abf9f0.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1604.fa7e2b2f.chunk.js b/portal-ui/build/static/js/1604.fa7e2b2f.chunk.js new file mode 100644 index 000000000..841dfccde --- /dev/null +++ b/portal-ui/build/static/js/1604.fa7e2b2f.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1604],{1604:function(e,t,n){n.r(t);var a=n(29439),i=n(1413),o=n(72791),s=n(75952),l=n(40986),c=n(11135),r=n(25787),u=n(61889),d=n(23814),m=n(81207),f=n(56028),Z=n(83679),p=n(21435),x=n(72401),h=n(87995),v=n(25469),b=n(80184);t.default=(0,r.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},d.bK),d.QV),d.DF),d.ID))}))((function(e){var t=e.classes,n=e.open,i=e.bucketName,c=e.closeModalAndRefresh,r=(0,v.TL)(),d=(0,o.useState)(!1),j=(0,a.Z)(d,2),g=j[0],C=j[1],N=(0,o.useState)(!0),y=(0,a.Z)(N,2),S=y[0],k=y[1],P=(0,o.useState)("compliance"),w=(0,a.Z)(P,2),M=w[0],R=w[1],B=(0,o.useState)("days"),E=(0,a.Z)(B,2),_=E[0],D=E[1],z=(0,o.useState)(1),F=(0,a.Z)(z,2),T=F[0],O=F[1],A=(0,o.useState)(!1),K=(0,a.Z)(A,2),L=K[0],V=K[1];return(0,o.useEffect)((function(){Number.isNaN(T)||T<1?V(!1):V(!0)}),[T]),(0,o.useEffect)((function(){S&&m.Z.invoke("GET","/api/v1/buckets/".concat(i,"/retention")).then((function(e){k(!1),R(e.mode),O(e.validity),D(e.unit)})).catch((function(e){k(!1)}))}),[S,i]),(0,b.jsx)(f.Z,{title:"Set Retention Configuration",modalOpen:n,onClose:function(){c()},children:S?(0,b.jsx)(x.Z,{style:{width:16,height:16}}):(0,b.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),g||(C(!0),m.Z.invoke("PUT","/api/v1/buckets/".concat(i,"/retention"),{mode:M,unit:_,validity:T}).then((function(){C(!1),c()})).catch((function(e){C(!1),r((0,h.zb)(e))})))},children:(0,b.jsxs)(u.ZP,{container:!0,children:[(0,b.jsxs)(u.ZP,{item:!0,xs:12,className:t.modalFormScrollable,children:[(0,b.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,b.jsx)(Z.Z,{currentSelection:M,id:"retention_mode",name:"retention_mode",label:"Retention Mode",onChange:function(e){R(e.target.value)},selectorOptions:[{value:"compliance",label:"Compliance"},{value:"governance",label:"Governance"}]})}),(0,b.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,b.jsx)(Z.Z,{currentSelection:_,id:"retention_unit",name:"retention_unit",label:"Retention Unit",onChange:function(e){D(e.target.value)},selectorOptions:[{value:"days",label:"Days"},{value:"years",label:"Years"}]})}),(0,b.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,b.jsx)(p.Z,{type:"number",id:"retention_validity",name:"retention_validity",onChange:function(e){O(e.target.valueAsNumber)},label:"Retention Validity",value:String(T),required:!0,min:"1"})})]}),(0,b.jsxs)(u.ZP,{item:!0,xs:12,className:t.modalButtonBar,children:[(0,b.jsx)(s.zx,{id:"cancel",type:"button",variant:"regular",disabled:g,onClick:function(){c()},label:"Cancel"}),(0,b.jsx)(s.zx,{id:"set",type:"submit",variant:"callAction",color:"primary",disabled:g||!L,label:"Set"})]}),g&&(0,b.jsx)(u.ZP,{item:!0,xs:12,children:(0,b.jsx)(l.Z,{})})]})})})}))},56028:function(e,t,n){var a=n(29439),i=n(1413),o=n(72791),s=n(60364),l=n(13400),c=n(55646),r=n(5574),u=n(65661),d=n(39157),m=n(11135),f=n(25787),Z=n(23814),p=n(25469),x=n(29823),h=n(28057),v=n(87995),b=n(80184);t.Z=(0,f.Z)((function(e){return(0,m.Z)((0,i.Z)((0,i.Z)({},Z.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},Z.sN))}))((function(e){var t=e.onClose,n=e.modalOpen,m=e.title,f=e.children,Z=e.classes,j=e.wideLimit,g=void 0===j||j,C=e.noContentPadding,N=e.titleIcon,y=void 0===N?null:N,S=(0,p.TL)(),k=(0,o.useState)(!1),P=(0,a.Z)(k,2),w=P[0],M=P[1],R=(0,s.v9)((function(e){return e.system.modalSnackBar}));(0,o.useEffect)((function(){S((0,v.MK)(""))}),[S]),(0,o.useEffect)((function(){if(R){if(""===R.message)return void M(!1);"error"!==R.type&&M(!0)}}),[R]);var B=g?{classes:{paper:Z.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},E="";return R&&(E=R.detailedErrorMsg,(""===R.detailedErrorMsg||R.detailedErrorMsg.length<5)&&(E=R.message)),(0,b.jsxs)(r.Z,(0,i.Z)((0,i.Z)({open:n,classes:Z},B),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:Z.root,children:[(0,b.jsxs)(u.Z,{className:Z.title,children:[(0,b.jsxs)("div",{className:Z.titleText,children:[y," ",m]}),(0,b.jsx)("div",{className:Z.closeContainer,children:(0,b.jsx)(l.Z,{"aria-label":"close",id:"close",className:Z.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,b.jsx)(x.Z,{})})})]}),(0,b.jsx)(h.Z,{isModal:!0}),(0,b.jsx)(c.Z,{open:w,className:Z.snackBarModal,onClose:function(){M(!1),S((0,v.MK)(""))},message:E,ContentProps:{className:"".concat(Z.snackBar," ").concat(R&&"error"===R.type?Z.errorSnackBar:"")},autoHideDuration:R&&"error"===R.type?1e4:5e3}),(0,b.jsx)(d.Z,{className:C?"":Z.content,children:f})]}))}))}}]); +//# sourceMappingURL=1604.fa7e2b2f.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1604.d6abf9f0.chunk.js.map b/portal-ui/build/static/js/1604.fa7e2b2f.chunk.js.map similarity index 98% rename from portal-ui/build/static/js/1604.d6abf9f0.chunk.js.map rename to portal-ui/build/static/js/1604.fa7e2b2f.chunk.js.map index e409244e5..c4b4fdc0c 100644 --- a/portal-ui/build/static/js/1604.d6abf9f0.chunk.js.map +++ b/portal-ui/build/static/js/1604.fa7e2b2f.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/1604.d6abf9f0.chunk.js","mappings":"iTAwNA,WAAeA,EAAAA,EAAAA,IA9KA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,kCACRC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IALQ,GA8Kf,EA/J2B,SAAC,GAKK,IAJ/BC,EAI8B,EAJ9BA,QACAC,EAG8B,EAH9BA,KACAC,EAE8B,EAF9BA,WACAC,EAC8B,EAD9BA,qBAEMC,GAAWC,EAAAA,EAAAA,MACjB,GAAoCC,EAAAA,EAAAA,WAAkB,GAAtD,eAAOC,EAAP,KAAmBC,EAAnB,KACA,GAAsCF,EAAAA,EAAAA,WAAkB,GAAxD,eAAOG,EAAP,KAAoBC,EAApB,KACA,GAA0CJ,EAAAA,EAAAA,UAAiB,cAA3D,eAAOK,EAAP,KAAsBC,EAAtB,KACA,GAA0CN,EAAAA,EAAAA,UAAiB,QAA3D,eAAOO,EAAP,KAAsBC,EAAtB,KACA,GAAkDR,EAAAA,EAAAA,UAAiB,GAAnE,eAAOS,EAAP,KAA0BC,EAA1B,KACA,GAA0BV,EAAAA,EAAAA,WAAkB,GAA5C,eAAOW,EAAP,KAAcC,EAAd,KAkDA,OA1BAC,EAAAA,EAAAA,YAAU,WACJC,OAAOC,MAAMN,IAAsBA,EAAoB,EACzDG,GAAS,GAGXA,GAAS,EACV,GAAE,CAACH,KAEJI,EAAAA,EAAAA,YAAU,WACJV,GACFa,EAAAA,EAAAA,OACU,MADV,0BACoCpB,EADpC,eAEGqB,MAAK,SAACC,GACLd,GAAe,GAGfE,EAAiBY,EAAIC,MACrBT,EAAqBQ,EAAIE,UACzBZ,EAAiBU,EAAIG,KACtB,IACAC,OAAM,SAACC,GACNnB,GAAe,EAChB,GAEN,GAAE,CAACD,EAAaP,KAGf,SAAC,IAAD,CACE4B,MAAM,8BACNC,UAAW9B,EACX+B,QAAS,WACP7B,GACD,EALH,SAOGM,GACC,SAAC,IAAD,CAAQwB,MAAO,CAAEC,MAAO,GAAIC,OAAQ,OAEpC,iBACEC,YAAU,EACVC,aAAa,MACbC,SAAU,SAACC,GACIA,EA9DfC,iBACFjC,IAGJC,GAAc,GACdc,EAAAA,EAAAA,OACU,MADV,0BACoCpB,EADpC,cAC4D,CACxDuB,KAAMd,EACNgB,KAAMd,EACNa,SAAUX,IAEXQ,MAAK,WACJf,GAAc,GACdL,GACD,IACAyB,OAAM,SAACC,GACNrB,GAAc,GACdJ,GAASqC,EAAAA,EAAAA,IAA0BZ,GACpC,IA6CI,EALH,UAOE,UAAC,KAAD,CAAMa,WAAS,EAAf,WACE,UAAC,KAAD,CAAMC,MAAI,EAACC,GAAI,GAAIC,UAAW7C,EAAQ8C,oBAAtC,WACE,SAAC,KAAD,CAAMH,MAAI,EAACC,GAAI,GAAIC,UAAW7C,EAAQ+C,aAAtC,UACE,SAAC,IAAD,CACEC,iBAAkBrC,EAClBsC,GAAG,iBACHC,KAAK,iBACLC,MAAM,iBACNC,SAAU,SAACb,GACT3B,EAAiB2B,EAAEc,OAAOC,MAC3B,EACDC,gBAAiB,CACf,CAAED,MAAO,aAAcH,MAAO,cAC9B,CAAEG,MAAO,aAAcH,MAAO,oBAIpC,SAAC,KAAD,CAAMR,MAAI,EAACC,GAAI,GAAIC,UAAW7C,EAAQ+C,aAAtC,UACE,SAAC,IAAD,CACEC,iBAAkBnC,EAClBoC,GAAG,iBACHC,KAAK,iBACLC,MAAM,iBACNC,SAAU,SAACb,GACTzB,EAAiByB,EAAEc,OAAOC,MAC3B,EACDC,gBAAiB,CACf,CAAED,MAAO,OAAQH,MAAO,QACxB,CAAEG,MAAO,QAASH,MAAO,eAI/B,SAAC,KAAD,CAAMR,MAAI,EAACC,GAAI,GAAIC,UAAW7C,EAAQ+C,aAAtC,UACE,SAAC,IAAD,CACES,KAAK,SACLP,GAAG,qBACHC,KAAK,qBACLE,SAAU,SAACb,GACTvB,EAAqBuB,EAAEc,OAAOI,cAC/B,EACDN,MAAM,qBACNG,MAAOI,OAAO3C,GACd4C,UAAQ,EACRC,IAAI,YAIV,UAAC,KAAD,CAAMjB,MAAI,EAACC,GAAI,GAAIC,UAAW7C,EAAQ6D,eAAtC,WACE,SAAC,IAAD,CACEZ,GAAI,SACJO,KAAK,SACLM,QAAQ,UACRC,SAAUxD,EACVyD,QAAS,WACP7D,GACD,EACDgD,MAAO,YAET,SAAC,IAAD,CACEF,GAAI,MACJO,KAAK,SACLM,QAAQ,aACRG,MAAM,UACNF,SAAUxD,IAAeU,EACzBkC,MAAO,WAGV5C,IACC,SAAC,KAAD,CAAMoC,MAAI,EAACC,GAAI,GAAf,UACE,SAAC,IAAD,YAQf,G,qNCzCD,KAAenD,EAAAA,EAAAA,IAlIA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,kBACRuE,EAAAA,IADO,IAEVC,QAAS,CACPC,QAAS,GACTC,cAAe,GAEjBC,iBAAkB,CAChBpC,MAAO,OACPqC,SAAU,MAETC,EAAAA,IAXQ,GAkIf,EApHqB,SAAC,GASF,IARlBxC,EAQiB,EARjBA,QACAD,EAOiB,EAPjBA,UACAD,EAMiB,EANjBA,MACA2C,EAKiB,EALjBA,SACAzE,EAIiB,EAJjBA,QAIiB,IAHjB0E,UAAAA,OAGiB,SAFjBC,EAEiB,EAFjBA,iBAEiB,IADjBC,UAAAA,OACiB,MADL,KACK,EACXxE,GAAWC,EAAAA,EAAAA,MACjB,GAAwCC,EAAAA,EAAAA,WAAkB,GAA1D,eAAOuE,EAAP,KAAqBC,EAArB,KAEMC,GAAoBC,EAAAA,EAAAA,KACxB,SAACC,GAAD,OAAqBA,EAAMC,OAAOC,aAAlC,KAGFhE,EAAAA,EAAAA,YAAU,WACRf,GAASgF,EAAAA,EAAAA,IAAqB,IAC/B,GAAE,CAAChF,KAEJe,EAAAA,EAAAA,YAAU,WACR,GAAI4D,EAAmB,CACrB,GAAkC,KAA9BA,EAAkBM,QAEpB,YADAP,GAAgB,GAIa,UAA3BC,EAAkBvB,MACpBsB,GAAgB,EAEnB,CACF,GAAE,CAACC,IAEJ,IAKMO,EAAaZ,EACf,CACE1E,QAAS,CACPuF,MAAOvF,EAAQsE,mBAGnB,CAAEC,SAAU,KAAeiB,WAAW,GAEtCH,EAAU,GAYd,OAVIN,IACFM,EAAUN,EAAkBU,kBAEa,KAAvCV,EAAkBU,kBAClBV,EAAkBU,iBAAiBC,OAAS,KAE5CL,EAAUN,EAAkBM,WAK9B,UAAC,KAAD,gBACEpF,KAAM8B,EACN/B,QAASA,GACLsF,GAHN,IAIEK,OAAQ,QACR3D,QAAS,SAAC4D,EAAOC,GACA,kBAAXA,GACF7D,GAEH,EACDa,UAAW7C,EAAQ8F,KAVrB,WAYE,UAAC,IAAD,CAAajD,UAAW7C,EAAQ8B,MAAhC,WACE,iBAAKe,UAAW7C,EAAQ+F,UAAxB,UACGnB,EADH,IACe9C,MAEf,gBAAKe,UAAW7C,EAAQgG,eAAxB,UACE,SAAC,IAAD,CACE,aAAW,QACX/C,GAAI,QACJJ,UAAW7C,EAAQiG,YACnBjC,QAAShC,EACTkE,eAAa,EACbC,KAAK,QANP,UAQE,SAAC,IAAD,YAKN,SAAC,IAAD,CAAWC,SAAS,KACpB,SAAC,IAAD,CACEnG,KAAM4E,EACNhC,UAAW7C,EAAQqG,cACnBrE,QAAS,WA3Db8C,GAAgB,GAChB1E,GAASgF,EAAAA,EAAAA,IAAqB,IA4DzB,EACDC,QAASA,EACTiB,aAAc,CACZzD,UAAU,GAAD,OAAK7C,EAAQuG,SAAb,YACPxB,GAAgD,UAA3BA,EAAkBvB,KACnCxD,EAAQwG,cACR,KAGRC,iBACE1B,GAAgD,UAA3BA,EAAkBvB,KAAmB,IAAQ,OAGtE,SAAC,IAAD,CAAeX,UAAW8B,EAAmB,GAAK3E,EAAQmE,QAA1D,SACGM,OAIR,G","sources":["screens/Console/Buckets/BucketDetails/SetRetentionConfig.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { Button } from \"mds\";\nimport { LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\n\nimport {\n ErrorResponseHandler,\n IRetentionConfig,\n} from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport RadioGroupSelector from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Loader from \"../../Common/Loader/Loader\";\nimport { setModalErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...spacingUtils,\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\ninterface ISetRetentionConfigProps {\n classes: any;\n open: boolean;\n bucketName: string;\n closeModalAndRefresh: () => void;\n}\n\nconst SetRetentionConfig = ({\n classes,\n open,\n bucketName,\n closeModalAndRefresh,\n}: ISetRetentionConfigProps) => {\n const dispatch = useAppDispatch();\n const [addLoading, setAddLoading] = useState(false);\n const [loadingForm, setLoadingForm] = useState(true);\n const [retentionMode, setRetentionMode] = useState(\"compliance\");\n const [retentionUnit, setRetentionUnit] = useState(\"days\");\n const [retentionValidity, setRetentionValidity] = useState(1);\n const [valid, setValid] = useState(false);\n\n const setRetention = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n api\n .invoke(\"PUT\", `/api/v1/buckets/${bucketName}/retention`, {\n mode: retentionMode,\n unit: retentionUnit,\n validity: retentionValidity,\n })\n .then(() => {\n setAddLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n };\n\n useEffect(() => {\n if (Number.isNaN(retentionValidity) || retentionValidity < 1) {\n setValid(false);\n return;\n }\n setValid(true);\n }, [retentionValidity]);\n\n useEffect(() => {\n if (loadingForm) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/retention`)\n .then((res: IRetentionConfig) => {\n setLoadingForm(false);\n\n // We set default values\n setRetentionMode(res.mode);\n setRetentionValidity(res.validity);\n setRetentionUnit(res.unit);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingForm(false);\n });\n }\n }, [loadingForm, bucketName]);\n\n return (\n {\n closeModalAndRefresh();\n }}\n >\n {loadingForm ? (\n \n ) : (\n ) => {\n setRetention(e);\n }}\n >\n \n \n \n ) => {\n setRetentionMode(e.target.value as string);\n }}\n selectorOptions={[\n { value: \"compliance\", label: \"Compliance\" },\n { value: \"governance\", label: \"Governance\" },\n ]}\n />\n \n \n ) => {\n setRetentionUnit(e.target.value as string);\n }}\n selectorOptions={[\n { value: \"days\", label: \"Days\" },\n { value: \"years\", label: \"Years\" },\n ]}\n />\n \n \n ) => {\n setRetentionValidity(e.target.valueAsNumber);\n }}\n label=\"Retention Validity\"\n value={String(retentionValidity)}\n required\n min=\"1\"\n />\n \n \n \n {\n closeModalAndRefresh();\n }}\n label={\"Cancel\"}\n />\n \n \n {addLoading && (\n \n \n \n )}\n \n \n )}\n \n );\n};\n\nexport default withStyles(styles)(SetRetentionConfig);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n noContentPadding?: boolean;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n noContentPadding,\n titleIcon = null,\n}: IModalProps) => {\n const dispatch = useAppDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nexport default withStyles(styles)(ModalWrapper);\n"],"names":["withStyles","theme","createStyles","spacingUtils","createTenantCommon","formFieldStyles","modalStyleUtils","classes","open","bucketName","closeModalAndRefresh","dispatch","useAppDispatch","useState","addLoading","setAddLoading","loadingForm","setLoadingForm","retentionMode","setRetentionMode","retentionUnit","setRetentionUnit","retentionValidity","setRetentionValidity","valid","setValid","useEffect","Number","isNaN","api","then","res","mode","validity","unit","catch","err","title","modalOpen","onClose","style","width","height","noValidate","autoComplete","onSubmit","e","preventDefault","setModalErrorSnackMessage","container","item","xs","className","modalFormScrollable","formFieldRow","currentSelection","id","name","label","onChange","target","value","selectorOptions","type","valueAsNumber","String","required","min","modalButtonBar","variant","disabled","onClick","color","deleteDialogStyles","content","padding","paddingBottom","customDialogSize","maxWidth","snackBarCommon","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","modalSnackMessage","useSelector","state","system","modalSnackBar","setModalSnackMessage","message","customSize","paper","fullWidth","detailedErrorMsg","length","scroll","event","reason","root","titleText","closeContainer","closeButton","disableRipple","size","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/1604.fa7e2b2f.chunk.js","mappings":"iTAwNA,WAAeA,EAAAA,EAAAA,IA9KA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,kCACRC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IALQ,GA8Kf,EA/J2B,SAAC,GAKK,IAJ/BC,EAI8B,EAJ9BA,QACAC,EAG8B,EAH9BA,KACAC,EAE8B,EAF9BA,WACAC,EAC8B,EAD9BA,qBAEMC,GAAWC,EAAAA,EAAAA,MACjB,GAAoCC,EAAAA,EAAAA,WAAkB,GAAtD,eAAOC,EAAP,KAAmBC,EAAnB,KACA,GAAsCF,EAAAA,EAAAA,WAAkB,GAAxD,eAAOG,EAAP,KAAoBC,EAApB,KACA,GAA0CJ,EAAAA,EAAAA,UAAiB,cAA3D,eAAOK,EAAP,KAAsBC,EAAtB,KACA,GAA0CN,EAAAA,EAAAA,UAAiB,QAA3D,eAAOO,EAAP,KAAsBC,EAAtB,KACA,GAAkDR,EAAAA,EAAAA,UAAiB,GAAnE,eAAOS,EAAP,KAA0BC,EAA1B,KACA,GAA0BV,EAAAA,EAAAA,WAAkB,GAA5C,eAAOW,EAAP,KAAcC,EAAd,KAkDA,OA1BAC,EAAAA,EAAAA,YAAU,WACJC,OAAOC,MAAMN,IAAsBA,EAAoB,EACzDG,GAAS,GAGXA,GAAS,EACV,GAAE,CAACH,KAEJI,EAAAA,EAAAA,YAAU,WACJV,GACFa,EAAAA,EAAAA,OACU,MADV,0BACoCpB,EADpC,eAEGqB,MAAK,SAACC,GACLd,GAAe,GAGfE,EAAiBY,EAAIC,MACrBT,EAAqBQ,EAAIE,UACzBZ,EAAiBU,EAAIG,KACtB,IACAC,OAAM,SAACC,GACNnB,GAAe,EAChB,GAEN,GAAE,CAACD,EAAaP,KAGf,SAAC,IAAD,CACE4B,MAAM,8BACNC,UAAW9B,EACX+B,QAAS,WACP7B,GACD,EALH,SAOGM,GACC,SAAC,IAAD,CAAQwB,MAAO,CAAEC,MAAO,GAAIC,OAAQ,OAEpC,iBACEC,YAAU,EACVC,aAAa,MACbC,SAAU,SAACC,GACIA,EA9DfC,iBACFjC,IAGJC,GAAc,GACdc,EAAAA,EAAAA,OACU,MADV,0BACoCpB,EADpC,cAC4D,CACxDuB,KAAMd,EACNgB,KAAMd,EACNa,SAAUX,IAEXQ,MAAK,WACJf,GAAc,GACdL,GACD,IACAyB,OAAM,SAACC,GACNrB,GAAc,GACdJ,GAASqC,EAAAA,EAAAA,IAA0BZ,GACpC,IA6CI,EALH,UAOE,UAAC,KAAD,CAAMa,WAAS,EAAf,WACE,UAAC,KAAD,CAAMC,MAAI,EAACC,GAAI,GAAIC,UAAW7C,EAAQ8C,oBAAtC,WACE,SAAC,KAAD,CAAMH,MAAI,EAACC,GAAI,GAAIC,UAAW7C,EAAQ+C,aAAtC,UACE,SAAC,IAAD,CACEC,iBAAkBrC,EAClBsC,GAAG,iBACHC,KAAK,iBACLC,MAAM,iBACNC,SAAU,SAACb,GACT3B,EAAiB2B,EAAEc,OAAOC,MAC3B,EACDC,gBAAiB,CACf,CAAED,MAAO,aAAcH,MAAO,cAC9B,CAAEG,MAAO,aAAcH,MAAO,oBAIpC,SAAC,KAAD,CAAMR,MAAI,EAACC,GAAI,GAAIC,UAAW7C,EAAQ+C,aAAtC,UACE,SAAC,IAAD,CACEC,iBAAkBnC,EAClBoC,GAAG,iBACHC,KAAK,iBACLC,MAAM,iBACNC,SAAU,SAACb,GACTzB,EAAiByB,EAAEc,OAAOC,MAC3B,EACDC,gBAAiB,CACf,CAAED,MAAO,OAAQH,MAAO,QACxB,CAAEG,MAAO,QAASH,MAAO,eAI/B,SAAC,KAAD,CAAMR,MAAI,EAACC,GAAI,GAAIC,UAAW7C,EAAQ+C,aAAtC,UACE,SAAC,IAAD,CACES,KAAK,SACLP,GAAG,qBACHC,KAAK,qBACLE,SAAU,SAACb,GACTvB,EAAqBuB,EAAEc,OAAOI,cAC/B,EACDN,MAAM,qBACNG,MAAOI,OAAO3C,GACd4C,UAAQ,EACRC,IAAI,YAIV,UAAC,KAAD,CAAMjB,MAAI,EAACC,GAAI,GAAIC,UAAW7C,EAAQ6D,eAAtC,WACE,SAAC,KAAD,CACEZ,GAAI,SACJO,KAAK,SACLM,QAAQ,UACRC,SAAUxD,EACVyD,QAAS,WACP7D,GACD,EACDgD,MAAO,YAET,SAAC,KAAD,CACEF,GAAI,MACJO,KAAK,SACLM,QAAQ,aACRG,MAAM,UACNF,SAAUxD,IAAeU,EACzBkC,MAAO,WAGV5C,IACC,SAAC,KAAD,CAAMoC,MAAI,EAACC,GAAI,GAAf,UACE,SAAC,IAAD,YAQf,G,qNCzCD,KAAenD,EAAAA,EAAAA,IAlIA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,kBACRuE,EAAAA,IADO,IAEVC,QAAS,CACPC,QAAS,GACTC,cAAe,GAEjBC,iBAAkB,CAChBpC,MAAO,OACPqC,SAAU,MAETC,EAAAA,IAXQ,GAkIf,EApHqB,SAAC,GASF,IARlBxC,EAQiB,EARjBA,QACAD,EAOiB,EAPjBA,UACAD,EAMiB,EANjBA,MACA2C,EAKiB,EALjBA,SACAzE,EAIiB,EAJjBA,QAIiB,IAHjB0E,UAAAA,OAGiB,SAFjBC,EAEiB,EAFjBA,iBAEiB,IADjBC,UAAAA,OACiB,MADL,KACK,EACXxE,GAAWC,EAAAA,EAAAA,MACjB,GAAwCC,EAAAA,EAAAA,WAAkB,GAA1D,eAAOuE,EAAP,KAAqBC,EAArB,KAEMC,GAAoBC,EAAAA,EAAAA,KACxB,SAACC,GAAD,OAAqBA,EAAMC,OAAOC,aAAlC,KAGFhE,EAAAA,EAAAA,YAAU,WACRf,GAASgF,EAAAA,EAAAA,IAAqB,IAC/B,GAAE,CAAChF,KAEJe,EAAAA,EAAAA,YAAU,WACR,GAAI4D,EAAmB,CACrB,GAAkC,KAA9BA,EAAkBM,QAEpB,YADAP,GAAgB,GAIa,UAA3BC,EAAkBvB,MACpBsB,GAAgB,EAEnB,CACF,GAAE,CAACC,IAEJ,IAKMO,EAAaZ,EACf,CACE1E,QAAS,CACPuF,MAAOvF,EAAQsE,mBAGnB,CAAEC,SAAU,KAAeiB,WAAW,GAEtCH,EAAU,GAYd,OAVIN,IACFM,EAAUN,EAAkBU,kBAEa,KAAvCV,EAAkBU,kBAClBV,EAAkBU,iBAAiBC,OAAS,KAE5CL,EAAUN,EAAkBM,WAK9B,UAAC,KAAD,gBACEpF,KAAM8B,EACN/B,QAASA,GACLsF,GAHN,IAIEK,OAAQ,QACR3D,QAAS,SAAC4D,EAAOC,GACA,kBAAXA,GACF7D,GAEH,EACDa,UAAW7C,EAAQ8F,KAVrB,WAYE,UAAC,IAAD,CAAajD,UAAW7C,EAAQ8B,MAAhC,WACE,iBAAKe,UAAW7C,EAAQ+F,UAAxB,UACGnB,EADH,IACe9C,MAEf,gBAAKe,UAAW7C,EAAQgG,eAAxB,UACE,SAAC,IAAD,CACE,aAAW,QACX/C,GAAI,QACJJ,UAAW7C,EAAQiG,YACnBjC,QAAShC,EACTkE,eAAa,EACbC,KAAK,QANP,UAQE,SAAC,IAAD,YAKN,SAAC,IAAD,CAAWC,SAAS,KACpB,SAAC,IAAD,CACEnG,KAAM4E,EACNhC,UAAW7C,EAAQqG,cACnBrE,QAAS,WA3Db8C,GAAgB,GAChB1E,GAASgF,EAAAA,EAAAA,IAAqB,IA4DzB,EACDC,QAASA,EACTiB,aAAc,CACZzD,UAAU,GAAD,OAAK7C,EAAQuG,SAAb,YACPxB,GAAgD,UAA3BA,EAAkBvB,KACnCxD,EAAQwG,cACR,KAGRC,iBACE1B,GAAgD,UAA3BA,EAAkBvB,KAAmB,IAAQ,OAGtE,SAAC,IAAD,CAAeX,UAAW8B,EAAmB,GAAK3E,EAAQmE,QAA1D,SACGM,OAIR,G","sources":["screens/Console/Buckets/BucketDetails/SetRetentionConfig.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { Button } from \"mds\";\nimport { LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\n\nimport {\n ErrorResponseHandler,\n IRetentionConfig,\n} from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport RadioGroupSelector from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Loader from \"../../Common/Loader/Loader\";\nimport { setModalErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...spacingUtils,\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\ninterface ISetRetentionConfigProps {\n classes: any;\n open: boolean;\n bucketName: string;\n closeModalAndRefresh: () => void;\n}\n\nconst SetRetentionConfig = ({\n classes,\n open,\n bucketName,\n closeModalAndRefresh,\n}: ISetRetentionConfigProps) => {\n const dispatch = useAppDispatch();\n const [addLoading, setAddLoading] = useState(false);\n const [loadingForm, setLoadingForm] = useState(true);\n const [retentionMode, setRetentionMode] = useState(\"compliance\");\n const [retentionUnit, setRetentionUnit] = useState(\"days\");\n const [retentionValidity, setRetentionValidity] = useState(1);\n const [valid, setValid] = useState(false);\n\n const setRetention = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n api\n .invoke(\"PUT\", `/api/v1/buckets/${bucketName}/retention`, {\n mode: retentionMode,\n unit: retentionUnit,\n validity: retentionValidity,\n })\n .then(() => {\n setAddLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n };\n\n useEffect(() => {\n if (Number.isNaN(retentionValidity) || retentionValidity < 1) {\n setValid(false);\n return;\n }\n setValid(true);\n }, [retentionValidity]);\n\n useEffect(() => {\n if (loadingForm) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/retention`)\n .then((res: IRetentionConfig) => {\n setLoadingForm(false);\n\n // We set default values\n setRetentionMode(res.mode);\n setRetentionValidity(res.validity);\n setRetentionUnit(res.unit);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingForm(false);\n });\n }\n }, [loadingForm, bucketName]);\n\n return (\n {\n closeModalAndRefresh();\n }}\n >\n {loadingForm ? (\n \n ) : (\n ) => {\n setRetention(e);\n }}\n >\n \n \n \n ) => {\n setRetentionMode(e.target.value as string);\n }}\n selectorOptions={[\n { value: \"compliance\", label: \"Compliance\" },\n { value: \"governance\", label: \"Governance\" },\n ]}\n />\n \n \n ) => {\n setRetentionUnit(e.target.value as string);\n }}\n selectorOptions={[\n { value: \"days\", label: \"Days\" },\n { value: \"years\", label: \"Years\" },\n ]}\n />\n \n \n ) => {\n setRetentionValidity(e.target.valueAsNumber);\n }}\n label=\"Retention Validity\"\n value={String(retentionValidity)}\n required\n min=\"1\"\n />\n \n \n \n {\n closeModalAndRefresh();\n }}\n label={\"Cancel\"}\n />\n \n \n {addLoading && (\n \n \n \n )}\n \n \n )}\n \n );\n};\n\nexport default withStyles(styles)(SetRetentionConfig);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n noContentPadding?: boolean;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n noContentPadding,\n titleIcon = null,\n}: IModalProps) => {\n const dispatch = useAppDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nexport default withStyles(styles)(ModalWrapper);\n"],"names":["withStyles","theme","createStyles","spacingUtils","createTenantCommon","formFieldStyles","modalStyleUtils","classes","open","bucketName","closeModalAndRefresh","dispatch","useAppDispatch","useState","addLoading","setAddLoading","loadingForm","setLoadingForm","retentionMode","setRetentionMode","retentionUnit","setRetentionUnit","retentionValidity","setRetentionValidity","valid","setValid","useEffect","Number","isNaN","api","then","res","mode","validity","unit","catch","err","title","modalOpen","onClose","style","width","height","noValidate","autoComplete","onSubmit","e","preventDefault","setModalErrorSnackMessage","container","item","xs","className","modalFormScrollable","formFieldRow","currentSelection","id","name","label","onChange","target","value","selectorOptions","type","valueAsNumber","String","required","min","modalButtonBar","variant","disabled","onClick","color","deleteDialogStyles","content","padding","paddingBottom","customDialogSize","maxWidth","snackBarCommon","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","modalSnackMessage","useSelector","state","system","modalSnackBar","setModalSnackMessage","message","customSize","paper","fullWidth","detailedErrorMsg","length","scroll","event","reason","root","titleText","closeContainer","closeButton","disableRipple","size","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1799.90db5583.chunk.js b/portal-ui/build/static/js/1799.46eb9579.chunk.js similarity index 96% rename from portal-ui/build/static/js/1799.90db5583.chunk.js rename to portal-ui/build/static/js/1799.46eb9579.chunk.js index 73e5ec42d..c44688d56 100644 --- a/portal-ui/build/static/js/1799.90db5583.chunk.js +++ b/portal-ui/build/static/js/1799.46eb9579.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1799],{64163:function(e,n,t){var i=t(1413),r=t(72791),s=t(61889),o=t(11135),a=t(25787),c=t(23814),l=t(80184);n.Z=(0,a.Z)((function(e){return(0,o.Z)((0,i.Z)({},c.xx))}))((function(e){var n=e.classes,t=e.label,i=void 0===t?"":t,o=e.content,a=e.multiLine,c=void 0!==a&&a,d=e.actionButton;return(0,l.jsx)(r.Fragment,{children:(0,l.jsxs)(s.ZP,{className:n.prefinedContainer,children:[""!==i&&(0,l.jsx)(s.ZP,{item:!0,xs:12,className:n.predefinedTitle,children:i}),(0,l.jsxs)(s.ZP,{item:!0,xs:12,className:"".concat(n.predefinedList," ").concat(d?n.includesActionButton:""),children:[(0,l.jsx)(s.ZP,{item:!0,xs:12,className:c?n.innerContentMultiline:n.innerContent,children:o}),d&&(0,l.jsx)("div",{className:n.overlayShareOption,children:d})]})]})})}))},61799:function(e,n,t){t.r(n);var i=t(29439),r=t(72791),s=t(51691),o=t(61889),a=t(40986),c=t(81207),l=t(21435),d=t(64163),u=t(37516),f=t(23508),x=t(38734),m=t(87995),h=t(25469),j=t(80184);n.default=function(e){var n=e.closeFormatModalAndRefresh,t=e.deleteOpen,v=e.allDrives,Z=e.drivesToFormat,b=(0,h.TL)(),p=(0,r.useState)(!1),g=(0,i.Z)(p,2),C=g[0],P=g[1],F=(0,r.useState)(""),S=(0,i.Z)(F,2),k=S[0],A=S[1],D=(0,r.useState)(!1),E=(0,i.Z)(D,2),L=E[0],N=E[1];return(0,j.jsx)(f.Z,{title:"Format ".concat(v?"All ":""," Drives"),confirmText:"Format Drive".concat(Z.length>1||v?"s":""),confirmButtonProps:{disabled:"YES, PROCEED"!==k},isOpen:t,isLoading:C,onConfirm:function(){C||(P(!0),c.Z.invoke("POST","/api/v1/directpv/drives/format",{drives:Z,force:L}).then((function(e){P(!1),n(!0,e.formatIssuesList)})).catch((function(e){P(!1),b((0,m.Ih)(e))})))},onClose:function(){n(!1,[])},titleIcon:(0,j.jsx)(x.QaX,{}),confirmationContent:(0,j.jsxs)(r.Fragment,{children:[(0,j.jsxs)(s.Z,{children:[!v&&(0,j.jsxs)(r.Fragment,{children:[(0,j.jsx)(d.Z,{label:"Selected Drive".concat(Z.length>1?"s":""),content:Z.join(", ")}),(0,j.jsx)("br",{})]}),(0,j.jsx)(o.ZP,{item:!0,xs:12,children:(0,j.jsx)(u.Z,{value:"force",id:"force",name:"force",checked:L,onChange:function(e){N(e.target.checked)},label:"Force Format",indicatorLabels:["Yes","No"]})}),"Are you sure you want to format"," ",v?(0,j.jsx)("strong",{children:"All"}):"the selected"," drive",Z.length>1||v?"s":"","?.",(0,j.jsx)("br",{}),(0,j.jsx)("br",{}),(0,j.jsx)("strong",{children:"All information contained will be erased and cannot be recovered"}),(0,j.jsx)("br",{}),(0,j.jsx)("br",{}),"To continue please type ",(0,j.jsx)("b",{children:"YES, PROCEED"})," in the box.",(0,j.jsx)(o.ZP,{item:!0,xs:12,children:(0,j.jsx)(l.Z,{id:"format-confirm",name:"format-confirm",onChange:function(e){A(e.target.value)},label:"",value:k})})]}),C&&(0,j.jsx)(a.Z,{})]})})}}}]); -//# sourceMappingURL=1799.90db5583.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1799],{64163:function(e,n,t){var i=t(1413),r=t(72791),s=t(61889),o=t(11135),a=t(25787),c=t(23814),l=t(80184);n.Z=(0,a.Z)((function(e){return(0,o.Z)((0,i.Z)({},c.xx))}))((function(e){var n=e.classes,t=e.label,i=void 0===t?"":t,o=e.content,a=e.multiLine,c=void 0!==a&&a,d=e.actionButton;return(0,l.jsx)(r.Fragment,{children:(0,l.jsxs)(s.ZP,{className:n.prefinedContainer,children:[""!==i&&(0,l.jsx)(s.ZP,{item:!0,xs:12,className:n.predefinedTitle,children:i}),(0,l.jsxs)(s.ZP,{item:!0,xs:12,className:"".concat(n.predefinedList," ").concat(d?n.includesActionButton:""),children:[(0,l.jsx)(s.ZP,{item:!0,xs:12,className:c?n.innerContentMultiline:n.innerContent,children:o}),d&&(0,l.jsx)("div",{className:n.overlayShareOption,children:d})]})]})})}))},61799:function(e,n,t){t.r(n);var i=t(29439),r=t(72791),s=t(51691),o=t(61889),a=t(40986),c=t(81207),l=t(21435),d=t(64163),u=t(37516),f=t(23508),x=t(38588),m=t(87995),h=t(25469),j=t(80184);n.default=function(e){var n=e.closeFormatModalAndRefresh,t=e.deleteOpen,v=e.allDrives,Z=e.drivesToFormat,b=(0,h.TL)(),p=(0,r.useState)(!1),g=(0,i.Z)(p,2),C=g[0],P=g[1],F=(0,r.useState)(""),S=(0,i.Z)(F,2),k=S[0],A=S[1],D=(0,r.useState)(!1),E=(0,i.Z)(D,2),L=E[0],N=E[1];return(0,j.jsx)(f.Z,{title:"Format ".concat(v?"All ":""," Drives"),confirmText:"Format Drive".concat(Z.length>1||v?"s":""),confirmButtonProps:{disabled:"YES, PROCEED"!==k},isOpen:t,isLoading:C,onConfirm:function(){C||(P(!0),c.Z.invoke("POST","/api/v1/directpv/drives/format",{drives:Z,force:L}).then((function(e){P(!1),n(!0,e.formatIssuesList)})).catch((function(e){P(!1),b((0,m.Ih)(e))})))},onClose:function(){n(!1,[])},titleIcon:(0,j.jsx)(x.QaX,{}),confirmationContent:(0,j.jsxs)(r.Fragment,{children:[(0,j.jsxs)(s.Z,{children:[!v&&(0,j.jsxs)(r.Fragment,{children:[(0,j.jsx)(d.Z,{label:"Selected Drive".concat(Z.length>1?"s":""),content:Z.join(", ")}),(0,j.jsx)("br",{})]}),(0,j.jsx)(o.ZP,{item:!0,xs:12,children:(0,j.jsx)(u.Z,{value:"force",id:"force",name:"force",checked:L,onChange:function(e){N(e.target.checked)},label:"Force Format",indicatorLabels:["Yes","No"]})}),"Are you sure you want to format"," ",v?(0,j.jsx)("strong",{children:"All"}):"the selected"," drive",Z.length>1||v?"s":"","?.",(0,j.jsx)("br",{}),(0,j.jsx)("br",{}),(0,j.jsx)("strong",{children:"All information contained will be erased and cannot be recovered"}),(0,j.jsx)("br",{}),(0,j.jsx)("br",{}),"To continue please type ",(0,j.jsx)("b",{children:"YES, PROCEED"})," in the box.",(0,j.jsx)(o.ZP,{item:!0,xs:12,children:(0,j.jsx)(l.Z,{id:"format-confirm",name:"format-confirm",onChange:function(e){A(e.target.value)},label:"",value:k})})]}),C&&(0,j.jsx)(a.Z,{})]})})}}}]); +//# sourceMappingURL=1799.46eb9579.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1799.90db5583.chunk.js.map b/portal-ui/build/static/js/1799.46eb9579.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/1799.90db5583.chunk.js.map rename to portal-ui/build/static/js/1799.46eb9579.chunk.js.map index 4c3de455c..73c0432f6 100644 --- a/portal-ui/build/static/js/1799.90db5583.chunk.js.map +++ b/portal-ui/build/static/js/1799.46eb9579.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/1799.90db5583.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/DirectPV/FormatDrives.tsx"],"sourcesContent":["import React, { Fragment } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { predefinedList } from \"../common/styleLibrary\";\n\ninterface IPredefinedList {\n classes: any;\n label?: string;\n content: any;\n multiLine?: boolean;\n actionButton?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...predefinedList,\n });\n\nconst PredefinedList = ({\n classes,\n label = \"\",\n content,\n multiLine = false,\n actionButton,\n}: IPredefinedList) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n \n )}\n \n \n {content}\n \n {actionButton && (\n
{actionButton}
\n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PredefinedList);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { DialogContentText, Grid, LinearProgress } from \"@mui/material\";\nimport { IDirectPVFormatResItem, IDirectPVFormatResult } from \"./types\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport PredefinedList from \"../Common/FormComponents/PredefinedList/PredefinedList\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport { FormatDrivesIcon } from \"../../../icons\";\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\n\ninterface IFormatAllDrivesProps {\n closeFormatModalAndRefresh: (\n refresh: boolean,\n formatIssuesList: IDirectPVFormatResItem[]\n ) => void;\n deleteOpen: boolean;\n allDrives: boolean;\n drivesToFormat: string[];\n}\n\nconst FormatDrives = ({\n closeFormatModalAndRefresh,\n deleteOpen,\n allDrives,\n drivesToFormat,\n}: IFormatAllDrivesProps) => {\n const dispatch = useAppDispatch();\n const [deleteLoading, setDeleteLoading] = useState(false);\n const [formatAll, setFormatAll] = useState(\"\");\n const [force, setForce] = useState(false);\n\n const removeRecord = () => {\n if (deleteLoading) {\n return;\n }\n setDeleteLoading(true);\n api\n .invoke(\"POST\", `/api/v1/directpv/drives/format`, {\n drives: drivesToFormat,\n force,\n })\n .then((res: IDirectPVFormatResult) => {\n setDeleteLoading(false);\n closeFormatModalAndRefresh(true, res.formatIssuesList);\n })\n .catch((err: ErrorResponseHandler) => {\n setDeleteLoading(false);\n dispatch(setErrorSnackMessage(err));\n });\n };\n return (\n 1 || allDrives ? \"s\" : \"\"\n }`}\n confirmButtonProps={{\n disabled: formatAll !== \"YES, PROCEED\",\n }}\n isOpen={deleteOpen}\n isLoading={deleteLoading}\n onConfirm={removeRecord}\n onClose={() => {\n closeFormatModalAndRefresh(false, []);\n }}\n titleIcon={}\n confirmationContent={\n \n \n {!allDrives && (\n \n 1 ? \"s\" : \"\"\n }`}\n content={drivesToFormat.join(\", \")}\n />\n
\n
\n )}\n \n ) => {\n setForce(event.target.checked);\n }}\n label={\"Force Format\"}\n indicatorLabels={[\"Yes\", \"No\"]}\n />\n \n Are you sure you want to format{\" \"}\n {allDrives ? All : \"the selected\"} drive\n {drivesToFormat.length > 1 || allDrives ? \"s\" : \"\"}?.\n
\n
\n \n All information contained will be erased and cannot be recovered\n \n
\n
\n To continue please type YES, PROCEED in the box.\n \n ) => {\n setFormatAll(event.target.value);\n }}\n label=\"\"\n value={formatAll}\n />\n \n
\n {deleteLoading && }\n
\n }\n />\n );\n};\n\nexport default FormatDrives;\n"],"names":["withStyles","theme","createStyles","predefinedList","classes","label","content","multiLine","actionButton","Fragment","className","prefinedContainer","item","xs","predefinedTitle","includesActionButton","innerContentMultiline","innerContent","overlayShareOption","closeFormatModalAndRefresh","deleteOpen","allDrives","drivesToFormat","dispatch","useAppDispatch","useState","deleteLoading","setDeleteLoading","formatAll","setFormatAll","force","setForce","title","confirmText","length","confirmButtonProps","disabled","isOpen","isLoading","onConfirm","api","drives","then","res","formatIssuesList","catch","err","setErrorSnackMessage","onClose","titleIcon","confirmationContent","join","value","id","name","checked","onChange","event","target","indicatorLabels"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/1799.46eb9579.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/DirectPV/FormatDrives.tsx"],"sourcesContent":["import React, { Fragment } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { predefinedList } from \"../common/styleLibrary\";\n\ninterface IPredefinedList {\n classes: any;\n label?: string;\n content: any;\n multiLine?: boolean;\n actionButton?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...predefinedList,\n });\n\nconst PredefinedList = ({\n classes,\n label = \"\",\n content,\n multiLine = false,\n actionButton,\n}: IPredefinedList) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n \n )}\n \n \n {content}\n \n {actionButton && (\n
{actionButton}
\n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PredefinedList);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { DialogContentText, Grid, LinearProgress } from \"@mui/material\";\nimport { IDirectPVFormatResItem, IDirectPVFormatResult } from \"./types\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport PredefinedList from \"../Common/FormComponents/PredefinedList/PredefinedList\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport { FormatDrivesIcon } from \"../../../icons\";\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\n\ninterface IFormatAllDrivesProps {\n closeFormatModalAndRefresh: (\n refresh: boolean,\n formatIssuesList: IDirectPVFormatResItem[]\n ) => void;\n deleteOpen: boolean;\n allDrives: boolean;\n drivesToFormat: string[];\n}\n\nconst FormatDrives = ({\n closeFormatModalAndRefresh,\n deleteOpen,\n allDrives,\n drivesToFormat,\n}: IFormatAllDrivesProps) => {\n const dispatch = useAppDispatch();\n const [deleteLoading, setDeleteLoading] = useState(false);\n const [formatAll, setFormatAll] = useState(\"\");\n const [force, setForce] = useState(false);\n\n const removeRecord = () => {\n if (deleteLoading) {\n return;\n }\n setDeleteLoading(true);\n api\n .invoke(\"POST\", `/api/v1/directpv/drives/format`, {\n drives: drivesToFormat,\n force,\n })\n .then((res: IDirectPVFormatResult) => {\n setDeleteLoading(false);\n closeFormatModalAndRefresh(true, res.formatIssuesList);\n })\n .catch((err: ErrorResponseHandler) => {\n setDeleteLoading(false);\n dispatch(setErrorSnackMessage(err));\n });\n };\n return (\n 1 || allDrives ? \"s\" : \"\"\n }`}\n confirmButtonProps={{\n disabled: formatAll !== \"YES, PROCEED\",\n }}\n isOpen={deleteOpen}\n isLoading={deleteLoading}\n onConfirm={removeRecord}\n onClose={() => {\n closeFormatModalAndRefresh(false, []);\n }}\n titleIcon={}\n confirmationContent={\n \n \n {!allDrives && (\n \n 1 ? \"s\" : \"\"\n }`}\n content={drivesToFormat.join(\", \")}\n />\n
\n
\n )}\n \n ) => {\n setForce(event.target.checked);\n }}\n label={\"Force Format\"}\n indicatorLabels={[\"Yes\", \"No\"]}\n />\n \n Are you sure you want to format{\" \"}\n {allDrives ? All : \"the selected\"} drive\n {drivesToFormat.length > 1 || allDrives ? \"s\" : \"\"}?.\n
\n
\n \n All information contained will be erased and cannot be recovered\n \n
\n
\n To continue please type YES, PROCEED in the box.\n \n ) => {\n setFormatAll(event.target.value);\n }}\n label=\"\"\n value={formatAll}\n />\n \n
\n {deleteLoading && }\n
\n }\n />\n );\n};\n\nexport default FormatDrives;\n"],"names":["withStyles","theme","createStyles","predefinedList","classes","label","content","multiLine","actionButton","Fragment","className","prefinedContainer","item","xs","predefinedTitle","includesActionButton","innerContentMultiline","innerContent","overlayShareOption","closeFormatModalAndRefresh","deleteOpen","allDrives","drivesToFormat","dispatch","useAppDispatch","useState","deleteLoading","setDeleteLoading","formatAll","setFormatAll","force","setForce","title","confirmText","length","confirmButtonProps","disabled","isOpen","isLoading","onConfirm","api","drives","then","res","formatIssuesList","catch","err","setErrorSnackMessage","onClose","titleIcon","confirmationContent","join","value","id","name","checked","onChange","event","target","indicatorLabels"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1829.4d8548a9.chunk.js.map b/portal-ui/build/static/js/1829.4d8548a9.chunk.js.map deleted file mode 100644 index 7de4a917b..000000000 --- a/portal-ui/build/static/js/1829.4d8548a9.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/1829.4d8548a9.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/DistributedOnly/DistributedOnly.tsx","screens/Console/Common/FormComponents/CheckboxWrapper/CheckboxWrapper.tsx","screens/Console/Heal/Heal.tsx","utils/wsUtils.ts"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box, Grid } from \"@mui/material\";\nimport HelpBox from \"../../../../common/HelpBox\";\n\ninterface IDistributedOnly {\n iconComponent: any;\n entity: string;\n}\n\nconst DistributedOnly = ({ iconComponent, entity }: IDistributedOnly) => {\n return (\n \n \n theme.colors.link,\n textDecoration: \"underline\",\n },\n }}\n >\n
This feature is not available for a single-disk setup.
\n\n
\n Please deploy a server in{\" \"}\n \n Distributed Mode\n {\" \"}\n to use this feature.\n
\n \n }\n />\n
\n
\n );\n};\n\nexport default DistributedOnly;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport { Checkbox, Grid, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n checkboxIcons,\n fieldBasic,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\ninterface CheckBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n overrideLabelClasses?: string;\n overrideCheckboxStyles?: React.CSSProperties;\n index?: number;\n noTopMargin?: boolean;\n checked: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n ...checkboxIcons,\n fieldContainer: {\n ...fieldBasic.fieldContainer,\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n margin: \"15px 0\",\n marginBottom: 0,\n flexBasis: \"initial\",\n flexWrap: \"nowrap\",\n },\n noTopMargin: {\n marginTop: 0,\n },\n });\n\nconst CheckboxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n noTopMargin = false,\n tooltip = \"\",\n overrideLabelClasses = \"\",\n overrideCheckboxStyles,\n classes,\n className,\n}: CheckBoxProps) => {\n return (\n \n \n
\n }\n icon={}\n disabled={disabled}\n disableRipple\n disableFocusRipple\n focusRipple={false}\n centerRipple={false}\n disableTouchRipple\n style={overrideCheckboxStyles || {}}\n />\n
\n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n \n
\n );\n};\n\nexport default withStyles(styles)(CheckboxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { HorizontalBar } from \"react-chartjs-2\";\nimport {\n FormControl,\n Grid,\n InputBase,\n MenuItem,\n Select,\n TextField,\n} from \"@mui/material\";\nimport { IMessageEvent, w3cwebsocket as W3CWebSocket } from \"websocket\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { wsProtocol } from \"../../../utils/wsUtils\";\nimport { Bucket, BucketList } from \"../Watch/types\";\nimport { colorH, HealStatus } from \"./types\";\nimport { niceBytes } from \"../../../common/utils\";\nimport {\n actionsTray,\n containerForHeader,\n inlineCheckboxes,\n searchField,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { HealIcon } from \"../../../icons\";\nimport CheckboxWrapper from \"../Common/FormComponents/CheckboxWrapper/CheckboxWrapper\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport api from \"../../../common/api\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport { SecureComponent } from \"../../../common/SecureComponent\";\nimport DistributedOnly from \"../Common/DistributedOnly/DistributedOnly\";\nimport { selDistSet } from \"../../../systemSlice\";\nimport makeStyles from \"@mui/styles/makeStyles\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n graphContainer: {\n backgroundColor: \"#fff\",\n border: \"#EAEDEE 1px solid\",\n borderRadius: 3,\n padding: \"19px 38px\",\n marginTop: 15,\n },\n scanInfo: {\n marginTop: 20,\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n },\n scanData: {\n fontSize: 13,\n },\n formBox: {\n padding: 15,\n border: \"1px solid #EAEAEA\",\n },\n buttonBar: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n bucketField: {\n flex: 1,\n },\n prefixField: {\n ...searchField.searchField,\n marginLeft: 10,\n flex: 1,\n },\n actionsTray: {\n ...actionsTray.actionsTray,\n marginBottom: 0,\n },\n ...inlineCheckboxes,\n ...searchField,\n ...containerForHeader(theme.spacing(4)),\n })\n);\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n lineHeight: \"50px\",\n marginRight: 15,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n \"& .MuiSelect-select:focus\": {\n backgroundColor: \"transparent\",\n },\n },\n })\n)(InputBase);\n\nconst Heal = () => {\n const classes = useStyles();\n const distributedSetup = useSelector(selDistSet);\n\n const [start, setStart] = useState(false);\n const [bucketName, setBucketName] = useState(\"\");\n const [bucketList, setBucketList] = useState([]);\n const [prefix, setPrefix] = useState(\"\");\n const [recursive, setRecursive] = useState(false);\n const [forceStart, setForceStart] = useState(false);\n const [forceStop, setForceStop] = useState(false);\n // healStatus states\n const [hStatus, setHStatus] = useState({\n beforeHeal: [0, 0, 0, 0],\n afterHeal: [0, 0, 0, 0],\n objectsHealed: 0,\n objectsScanned: 0,\n healDuration: 0,\n sizeScanned: \"\",\n });\n\n const fetchBucketList = () => {\n api\n .invoke(\"GET\", `/api/v1/buckets`)\n .then((res: BucketList) => {\n let buckets: Bucket[] = [];\n if (res.buckets !== null) {\n buckets = res.buckets;\n }\n setBucketList(buckets);\n })\n .catch((err: ErrorResponseHandler) => {\n console.error(err);\n });\n };\n\n useEffect(() => {\n fetchBucketList();\n }, []);\n\n // forceStart and forceStop need to be mutually exclusive\n useEffect(() => {\n if (forceStart === true) {\n setForceStop(false);\n }\n }, [forceStart]);\n\n useEffect(() => {\n if (forceStop === true) {\n setForceStart(false);\n }\n }, [forceStop]);\n\n const colorHealthArr = (color: colorH) => {\n return [color.Green, color.Yellow, color.Red, color.Grey];\n };\n\n useEffect(() => {\n // begin watch if bucketName in bucketList and start pressed\n if (start) {\n // values stored here to update chart\n const cB: colorH = { Green: 0, Yellow: 0, Red: 0, Grey: 0 };\n const cA: colorH = { Green: 0, Yellow: 0, Red: 0, Grey: 0 };\n\n const url = new URL(window.location.toString());\n const isDev = process.env.NODE_ENV === \"development\";\n const port = isDev ? \"9090\" : url.port;\n\n // check if we are using base path, if not this always is `/`\n const baseLocation = new URL(document.baseURI);\n const baseUrl = baseLocation.pathname;\n\n const wsProt = wsProtocol(url.protocol);\n const c = new W3CWebSocket(\n `${wsProt}://${url.hostname}:${port}${baseUrl}ws/heal/${bucketName}?prefix=${prefix}&recursive=${recursive}&force-start=${forceStart}&force-stop=${forceStop}`\n );\n\n if (c !== null) {\n c.onopen = () => {\n console.log(\"WebSocket Client Connected\");\n c.send(\"ok\");\n };\n c.onmessage = (message: IMessageEvent) => {\n let m: HealStatus = JSON.parse(message.data.toString());\n // Store percentage per health color\n for (const [key, value] of Object.entries(m.healthAfterCols)) {\n cA[key] = (value * 100) / m.itemsScanned;\n }\n for (const [key, value] of Object.entries(m.healthBeforeCols)) {\n cB[key] = (value * 100) / m.itemsScanned;\n }\n setHStatus({\n beforeHeal: colorHealthArr(cB),\n afterHeal: colorHealthArr(cA),\n objectsHealed: m.objectsHealed,\n objectsScanned: m.objectsScanned,\n healDuration: m.healDuration,\n sizeScanned: niceBytes(m.bytesScanned.toString()),\n });\n };\n c.onclose = () => {\n setStart(false);\n console.log(\"connection closed by server\");\n };\n return () => {\n // close websocket on useEffect cleanup\n c.close(1000);\n console.log(\"closing websockets\");\n };\n }\n }\n }, [start, bucketName, forceStart, forceStop, prefix, recursive]);\n\n let data = {\n labels: [\"Green\", \"Yellow\", \"Red\", \"Grey\"],\n datasets: [\n {\n label: \"After Healing\",\n data: hStatus.afterHeal,\n backgroundColor: \"rgba(0, 0, 255, 0.2)\",\n borderColor: \"rgba(54, 162, 235, 1)\",\n borderWidth: 1,\n },\n {\n label: \"Before Healing\",\n data: hStatus.beforeHeal,\n backgroundColor: \"rgba(153, 102, 255, 0.2)\",\n borderColor: \"rgba(153, 102, 255, 1)\",\n borderWidth: 1,\n },\n ],\n };\n const bucketNames = bucketList.map((bucketName) => ({\n label: bucketName.name,\n value: bucketName.name,\n }));\n\n return (\n \n \n \n {!distributedSetup ? (\n } />\n ) : (\n \n \n \n \n {\n setBucketName(e.target.value as string);\n }}\n className={classes.searchField}\n input={}\n displayEmpty\n >\n \n Select Bucket\n \n {bucketNames.map((option) => (\n \n {option.label}\n \n ))}\n \n \n {\n setPrefix(e.target.value);\n }}\n variant=\"standard\"\n />\n \n \n {\n setRecursive(e.target.checked);\n }}\n disabled={false}\n label=\"Recursive\"\n />\n {\n setForceStart(e.target.checked);\n }}\n disabled={false}\n label=\"Force Start\"\n />\n {\n setForceStop(e.target.checked);\n }}\n disabled={false}\n label=\"Force Stop\"\n />\n \n \n setStart(true)}\n label={\"Start\"}\n />\n \n \n \n \n \n
\n Size scanned: {hStatus.sizeScanned}\n
\n
\n Objects healed: {hStatus.objectsHealed} /{\" \"}\n {hStatus.objectsScanned}\n
\n
\n Healing time: {hStatus.healDuration}s\n
\n
\n
\n \n )}\n
\n
\n );\n};\n\nexport default Heal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// Close codes for websockets defined in RFC 6455\nexport const WSCloseNormalClosure = 1000;\nexport const WSCloseCloseGoingAway = 1001;\nexport const WSCloseAbnormalClosure = 1006;\nexport const WSClosePolicyViolation = 1008;\nexport const WSCloseInternalServerErr = 1011;\n\nexport const wsProtocol = (protocol: string): string => {\n let wsProtocol = \"ws\";\n if (protocol === \"https:\") {\n wsProtocol = \"wss\";\n }\n return wsProtocol;\n};\n"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","entity","sx","flexFlow","md","color","colors","link","textDecoration","href","target","rel","fieldBasic","tooltipHelper","checkboxIcons","fieldContainer","justifyContent","margin","flexBasis","flexWrap","noTopMargin","marginTop","label","onChange","value","id","name","checked","disabled","tooltip","overrideLabelClasses","overrideCheckboxStyles","inputProps","checkedIcon","icon","unCheckedIcon","disableRipple","disableFocusRipple","focusRipple","centerRipple","disableTouchRipple","style","htmlFor","noMinWidthLabel","tooltipContainer","placement","useStyles","makeStyles","graphContainer","padding","scanInfo","flexDirection","scanData","formBox","buttonBar","bucketField","flex","prefixField","searchField","marginLeft","actionsTray","inlineCheckboxes","containerForHeader","spacing","SelectStyled","lineHeight","InputBase","distributedSetup","useSelector","selDistSet","useState","start","setStart","bucketName","setBucketName","bucketList","setBucketList","prefix","setPrefix","recursive","setRecursive","forceStart","setForceStart","forceStop","setForceStop","beforeHeal","afterHeal","objectsHealed","objectsScanned","healDuration","sizeScanned","hStatus","setHStatus","useEffect","api","then","res","buckets","catch","err","console","error","colorHealthArr","Green","Yellow","Red","Grey","cB","cA","url","URL","window","location","toString","port","baseUrl","document","baseURI","pathname","wsProt","wsProtocol","protocol","c","W3CWebSocket","hostname","onopen","log","send","onmessage","message","m","JSON","parse","data","Object","entries","healthAfterCols","key","itemsScanned","healthBeforeCols","niceBytes","bytesScanned","onclose","close","labels","datasets","borderColor","borderWidth","bucketNames","map","Fragment","scopes","IAM_SCOPES","resource","CONSOLE_UI_RESOURCE","variant","e","input","displayEmpty","option","InputProps","disableUnderline","type","onClick","options","text","legend","position","WSCloseAbnormalClosure","WSClosePolicyViolation","WSCloseInternalServerErr"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1829.4d8548a9.chunk.js b/portal-ui/build/static/js/1829.c686ac0f.chunk.js similarity index 86% rename from portal-ui/build/static/js/1829.4d8548a9.chunk.js rename to portal-ui/build/static/js/1829.c686ac0f.chunk.js index 283aaf694..b50d78581 100644 --- a/portal-ui/build/static/js/1829.4d8548a9.chunk.js +++ b/portal-ui/build/static/js/1829.c686ac0f.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1829],{23804:function(e,n,t){t(72791);var a=t(11135),o=t(25787),i=t(61889),r=t(80184);n.Z=(0,o.Z)((function(e){return(0,a.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var n=e.classes,t=e.iconComponent,a=e.title,o=e.help;return(0,r.jsx)("div",{className:n.root,children:(0,r.jsxs)(i.ZP,{container:!0,children:[(0,r.jsxs)(i.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,a]}),(0,r.jsx)(i.ZP,{item:!0,xs:12,className:n.helpText,children:o})]})})}))},47986:function(e,n,t){t(72791);var a=t(61889),o=t(64554),i=t(23804),r=t(80184);n.Z=function(e){var n=e.iconComponent,t=e.entity;return(0,r.jsx)(a.ZP,{container:!0,alignItems:"center",children:(0,r.jsx)(a.ZP,{item:!0,xs:12,children:(0,r.jsx)(i.Z,{title:"".concat(t," not available"),iconComponent:n,help:(0,r.jsxs)(o.Z,{sx:{fontSize:"14px",display:"flex",border:"none",flexFlow:{xs:"column",md:"row"},"& a":{color:function(e){return e.colors.link},textDecoration:"underline"}},children:[(0,r.jsx)("div",{children:"This feature is not available for a single-disk setup."}),(0,r.jsxs)("div",{children:["Please deploy a server in"," ",(0,r.jsx)("a",{href:"https://min.io/docs/minio/linux/operations/install-deploy-manage/deploy-minio-multi-node-multi-drive.html?ref=con",target:"_blank",rel:"noreferrer",children:"Distributed Mode"})," ","to use this feature."]})]})})})})}},34866:function(e,n,t){var a=t(1413),o=t(72791),i=t(61889),r=t(94454),s=t(30829),c=t(20068),l=t(11135),d=t(25787),u=t(23814),f=t(84570),h=t(80184);n.Z=(0,d.Z)((function(e){return(0,l.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},u.YI),u.Hr),u.lM),{},{fieldContainer:(0,a.Z)((0,a.Z)({},u.YI.fieldContainer),{},{display:"flex",justifyContent:"flex-start",alignItems:"center",margin:"15px 0",marginBottom:0,flexBasis:"initial",flexWrap:"nowrap"}),noTopMargin:{marginTop:0}}))}))((function(e){var n=e.label,t=e.onChange,a=e.value,l=e.id,d=e.name,u=e.checked,p=void 0!==u&&u,x=e.disabled,m=void 0!==x&&x,b=e.noTopMargin,g=void 0!==b&&b,j=e.tooltip,Z=void 0===j?"":j,v=e.overrideLabelClasses,k=void 0===v?"":v,S=e.overrideCheckboxStyles,C=e.classes,y=e.className;return(0,h.jsx)(o.Fragment,{children:(0,h.jsxs)(i.ZP,{item:!0,xs:12,className:"".concat(C.fieldContainer," ").concat(g?C.noTopMargin:""," ").concat(y||""),children:[(0,h.jsx)("div",{children:(0,h.jsx)(r.Z,{name:d,id:l,value:a,color:"primary",inputProps:{"aria-label":"secondary checkbox"},checked:p,onChange:t,checkedIcon:(0,h.jsx)("span",{className:C.checkedIcon}),icon:(0,h.jsx)("span",{className:C.unCheckedIcon}),disabled:m,disableRipple:!0,disableFocusRipple:!0,focusRipple:!1,centerRipple:!1,disableTouchRipple:!0,style:S||{}})}),""!==n&&(0,h.jsxs)(s.Z,{htmlFor:l,className:"".concat(C.noMinWidthLabel," ").concat(k),children:[(0,h.jsx)("span",{children:n}),""!==Z&&(0,h.jsx)("div",{className:C.tooltipContainer,children:(0,h.jsx)(c.Z,{title:Z,placement:"top-start",children:(0,h.jsx)("div",{className:C.tooltip,children:(0,h.jsx)(f.Z,{})})})})]})]})})}))},61829:function(e,n,t){t.r(n);var a=t(29439),o=t(1413),i=t(72791),r=t(60364),s=t(28353),c=t(4834),l=t(61889),d=t(68096),u=t(58406),f=t(23786),h=t(27391),p=t(95087),x=t(75952),m=t(11135),b=t(25787),g=t(26824),j=t(45248),Z=t(23814),v=t(56087),k=t(38734),S=t(34866),C=t(32291),y=t(81207),N=t(74794),w=t(38442),H=t(47986),I=t(87995),R=t(72455),E=t(80184),F=(0,R.Z)((function(e){return(0,m.Z)((0,o.Z)((0,o.Z)((0,o.Z)({graphContainer:{backgroundColor:"#fff",border:"#EAEDEE 1px solid",borderRadius:3,padding:"19px 38px",marginTop:15},scanInfo:{marginTop:20,display:"flex",flexDirection:"row",justifyContent:"space-between"},scanData:{fontSize:13},formBox:{padding:15,border:"1px solid #EAEAEA"},buttonBar:{display:"flex",alignItems:"center",justifyContent:"flex-end"},bucketField:{flex:1},prefixField:(0,o.Z)((0,o.Z)({},Z.qg.searchField),{},{marginLeft:10,flex:1}),actionsTray:(0,o.Z)((0,o.Z)({},Z.OR.actionsTray),{},{marginBottom:0})},Z.IX),Z.qg),(0,Z.Bz)(e.spacing(4))))})),P=(0,b.Z)((function(e){return(0,m.Z)({root:{lineHeight:"50px",marginRight:15,"label + &":{marginTop:e.spacing(3)},"& .MuiSelect-select:focus":{backgroundColor:"transparent"}}})}))(c.ZP);n.default=function(){var e=F(),n=(0,r.v9)(I.N5),t=(0,i.useState)(!1),o=(0,a.Z)(t,2),c=o[0],m=o[1],b=(0,i.useState)(""),Z=(0,a.Z)(b,2),R=Z[0],T=Z[1],B=(0,i.useState)([]),D=(0,a.Z)(B,2),z=D[0],A=D[1],G=(0,i.useState)(""),L=(0,a.Z)(G,2),M=L[0],W=L[1],Y=(0,i.useState)(!1),O=(0,a.Z)(Y,2),U=O[0],_=O[1],q=(0,i.useState)(!1),J=(0,a.Z)(q,2),V=J[0],X=J[1],K=(0,i.useState)(!1),Q=(0,a.Z)(K,2),$=Q[0],ee=Q[1],ne=(0,i.useState)({beforeHeal:[0,0,0,0],afterHeal:[0,0,0,0],objectsHealed:0,objectsScanned:0,healDuration:0,sizeScanned:""}),te=(0,a.Z)(ne,2),ae=te[0],oe=te[1];(0,i.useEffect)((function(){y.Z.invoke("GET","/api/v1/buckets").then((function(e){var n=[];null!==e.buckets&&(n=e.buckets),A(n)})).catch((function(e){console.error(e)}))}),[]),(0,i.useEffect)((function(){!0===V&&ee(!1)}),[V]),(0,i.useEffect)((function(){!0===$&&X(!1)}),[$]);var ie=function(e){return[e.Green,e.Yellow,e.Red,e.Grey]};(0,i.useEffect)((function(){if(c){var e={Green:0,Yellow:0,Red:0,Grey:0},n={Green:0,Yellow:0,Red:0,Grey:0},t=new URL(window.location.toString()),o=t.port,i=new URL(document.baseURI).pathname,r=(0,g.x2)(t.protocol),s=new p.w3cwebsocket("".concat(r,"://").concat(t.hostname,":").concat(o).concat(i,"ws/heal/").concat(R,"?prefix=").concat(M,"&recursive=").concat(U,"&force-start=").concat(V,"&force-stop=").concat($));if(null!==s)return s.onopen=function(){console.log("WebSocket Client Connected"),s.send("ok")},s.onmessage=function(t){for(var o=JSON.parse(t.data.toString()),i=0,r=Object.entries(o.healthAfterCols);i.\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string | React.ReactNode;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box, Grid } from \"@mui/material\";\nimport HelpBox from \"../../../../common/HelpBox\";\n\ninterface IDistributedOnly {\n iconComponent: any;\n entity: string;\n}\n\nconst DistributedOnly = ({ iconComponent, entity }: IDistributedOnly) => {\n return (\n \n \n theme.colors.link,\n textDecoration: \"underline\",\n },\n }}\n >\n
This feature is not available for a single-disk setup.
\n\n
\n Please deploy a server in{\" \"}\n \n Distributed Mode\n {\" \"}\n to use this feature.\n
\n \n }\n />\n
\n
\n );\n};\n\nexport default DistributedOnly;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport { Checkbox, Grid, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n checkboxIcons,\n fieldBasic,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\ninterface CheckBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n overrideLabelClasses?: string;\n overrideCheckboxStyles?: React.CSSProperties;\n index?: number;\n noTopMargin?: boolean;\n checked: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n ...checkboxIcons,\n fieldContainer: {\n ...fieldBasic.fieldContainer,\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n margin: \"15px 0\",\n marginBottom: 0,\n flexBasis: \"initial\",\n flexWrap: \"nowrap\",\n },\n noTopMargin: {\n marginTop: 0,\n },\n });\n\nconst CheckboxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n noTopMargin = false,\n tooltip = \"\",\n overrideLabelClasses = \"\",\n overrideCheckboxStyles,\n classes,\n className,\n}: CheckBoxProps) => {\n return (\n \n \n
\n }\n icon={}\n disabled={disabled}\n disableRipple\n disableFocusRipple\n focusRipple={false}\n centerRipple={false}\n disableTouchRipple\n style={overrideCheckboxStyles || {}}\n />\n
\n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n \n
\n );\n};\n\nexport default withStyles(styles)(CheckboxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { HorizontalBar } from \"react-chartjs-2\";\nimport {\n FormControl,\n Grid,\n InputBase,\n MenuItem,\n Select,\n TextField,\n} from \"@mui/material\";\nimport { IMessageEvent, w3cwebsocket as W3CWebSocket } from \"websocket\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { wsProtocol } from \"../../../utils/wsUtils\";\nimport { Bucket, BucketList } from \"../Watch/types\";\nimport { colorH, HealStatus } from \"./types\";\nimport { niceBytes } from \"../../../common/utils\";\nimport {\n actionsTray,\n containerForHeader,\n inlineCheckboxes,\n searchField,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { HealIcon } from \"../../../icons\";\nimport CheckboxWrapper from \"../Common/FormComponents/CheckboxWrapper/CheckboxWrapper\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport api from \"../../../common/api\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport { SecureComponent } from \"../../../common/SecureComponent\";\nimport DistributedOnly from \"../Common/DistributedOnly/DistributedOnly\";\nimport { selDistSet } from \"../../../systemSlice\";\nimport makeStyles from \"@mui/styles/makeStyles\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n graphContainer: {\n backgroundColor: \"#fff\",\n border: \"#EAEDEE 1px solid\",\n borderRadius: 3,\n padding: \"19px 38px\",\n marginTop: 15,\n },\n scanInfo: {\n marginTop: 20,\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n },\n scanData: {\n fontSize: 13,\n },\n formBox: {\n padding: 15,\n border: \"1px solid #EAEAEA\",\n },\n buttonBar: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n bucketField: {\n flex: 1,\n },\n prefixField: {\n ...searchField.searchField,\n marginLeft: 10,\n flex: 1,\n },\n actionsTray: {\n ...actionsTray.actionsTray,\n marginBottom: 0,\n },\n ...inlineCheckboxes,\n ...searchField,\n ...containerForHeader(theme.spacing(4)),\n })\n);\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n lineHeight: \"50px\",\n marginRight: 15,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n \"& .MuiSelect-select:focus\": {\n backgroundColor: \"transparent\",\n },\n },\n })\n)(InputBase);\n\nconst Heal = () => {\n const classes = useStyles();\n const distributedSetup = useSelector(selDistSet);\n\n const [start, setStart] = useState(false);\n const [bucketName, setBucketName] = useState(\"\");\n const [bucketList, setBucketList] = useState([]);\n const [prefix, setPrefix] = useState(\"\");\n const [recursive, setRecursive] = useState(false);\n const [forceStart, setForceStart] = useState(false);\n const [forceStop, setForceStop] = useState(false);\n // healStatus states\n const [hStatus, setHStatus] = useState({\n beforeHeal: [0, 0, 0, 0],\n afterHeal: [0, 0, 0, 0],\n objectsHealed: 0,\n objectsScanned: 0,\n healDuration: 0,\n sizeScanned: \"\",\n });\n\n const fetchBucketList = () => {\n api\n .invoke(\"GET\", `/api/v1/buckets`)\n .then((res: BucketList) => {\n let buckets: Bucket[] = [];\n if (res.buckets !== null) {\n buckets = res.buckets;\n }\n setBucketList(buckets);\n })\n .catch((err: ErrorResponseHandler) => {\n console.error(err);\n });\n };\n\n useEffect(() => {\n fetchBucketList();\n }, []);\n\n // forceStart and forceStop need to be mutually exclusive\n useEffect(() => {\n if (forceStart === true) {\n setForceStop(false);\n }\n }, [forceStart]);\n\n useEffect(() => {\n if (forceStop === true) {\n setForceStart(false);\n }\n }, [forceStop]);\n\n const colorHealthArr = (color: colorH) => {\n return [color.Green, color.Yellow, color.Red, color.Grey];\n };\n\n useEffect(() => {\n // begin watch if bucketName in bucketList and start pressed\n if (start) {\n // values stored here to update chart\n const cB: colorH = { Green: 0, Yellow: 0, Red: 0, Grey: 0 };\n const cA: colorH = { Green: 0, Yellow: 0, Red: 0, Grey: 0 };\n\n const url = new URL(window.location.toString());\n const isDev = process.env.NODE_ENV === \"development\";\n const port = isDev ? \"9090\" : url.port;\n\n // check if we are using base path, if not this always is `/`\n const baseLocation = new URL(document.baseURI);\n const baseUrl = baseLocation.pathname;\n\n const wsProt = wsProtocol(url.protocol);\n const c = new W3CWebSocket(\n `${wsProt}://${url.hostname}:${port}${baseUrl}ws/heal/${bucketName}?prefix=${prefix}&recursive=${recursive}&force-start=${forceStart}&force-stop=${forceStop}`\n );\n\n if (c !== null) {\n c.onopen = () => {\n console.log(\"WebSocket Client Connected\");\n c.send(\"ok\");\n };\n c.onmessage = (message: IMessageEvent) => {\n let m: HealStatus = JSON.parse(message.data.toString());\n // Store percentage per health color\n for (const [key, value] of Object.entries(m.healthAfterCols)) {\n cA[key] = (value * 100) / m.itemsScanned;\n }\n for (const [key, value] of Object.entries(m.healthBeforeCols)) {\n cB[key] = (value * 100) / m.itemsScanned;\n }\n setHStatus({\n beforeHeal: colorHealthArr(cB),\n afterHeal: colorHealthArr(cA),\n objectsHealed: m.objectsHealed,\n objectsScanned: m.objectsScanned,\n healDuration: m.healDuration,\n sizeScanned: niceBytes(m.bytesScanned.toString()),\n });\n };\n c.onclose = () => {\n setStart(false);\n console.log(\"connection closed by server\");\n };\n return () => {\n // close websocket on useEffect cleanup\n c.close(1000);\n console.log(\"closing websockets\");\n };\n }\n }\n }, [start, bucketName, forceStart, forceStop, prefix, recursive]);\n\n let data = {\n labels: [\"Green\", \"Yellow\", \"Red\", \"Grey\"],\n datasets: [\n {\n label: \"After Healing\",\n data: hStatus.afterHeal,\n backgroundColor: \"rgba(0, 0, 255, 0.2)\",\n borderColor: \"rgba(54, 162, 235, 1)\",\n borderWidth: 1,\n },\n {\n label: \"Before Healing\",\n data: hStatus.beforeHeal,\n backgroundColor: \"rgba(153, 102, 255, 0.2)\",\n borderColor: \"rgba(153, 102, 255, 1)\",\n borderWidth: 1,\n },\n ],\n };\n const bucketNames = bucketList.map((bucketName) => ({\n label: bucketName.name,\n value: bucketName.name,\n }));\n\n return (\n \n \n \n {!distributedSetup ? (\n } />\n ) : (\n \n \n \n \n {\n setBucketName(e.target.value as string);\n }}\n className={classes.searchField}\n input={}\n displayEmpty\n >\n \n Select Bucket\n \n {bucketNames.map((option) => (\n \n {option.label}\n \n ))}\n \n \n {\n setPrefix(e.target.value);\n }}\n variant=\"standard\"\n />\n \n \n {\n setRecursive(e.target.checked);\n }}\n disabled={false}\n label=\"Recursive\"\n />\n {\n setForceStart(e.target.checked);\n }}\n disabled={false}\n label=\"Force Start\"\n />\n {\n setForceStop(e.target.checked);\n }}\n disabled={false}\n label=\"Force Stop\"\n />\n \n \n setStart(true)}\n label={\"Start\"}\n />\n \n \n \n \n \n
\n Size scanned: {hStatus.sizeScanned}\n
\n
\n Objects healed: {hStatus.objectsHealed} /{\" \"}\n {hStatus.objectsScanned}\n
\n
\n Healing time: {hStatus.healDuration}s\n
\n
\n
\n \n )}\n
\n
\n );\n};\n\nexport default Heal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// Close codes for websockets defined in RFC 6455\nexport const WSCloseNormalClosure = 1000;\nexport const WSCloseCloseGoingAway = 1001;\nexport const WSCloseAbnormalClosure = 1006;\nexport const WSClosePolicyViolation = 1008;\nexport const WSCloseInternalServerErr = 1011;\n\nexport const wsProtocol = (protocol: string): string => {\n let wsProtocol = \"ws\";\n if (protocol === \"https:\") {\n wsProtocol = \"wss\";\n }\n return wsProtocol;\n};\n"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","entity","sx","flexFlow","md","color","colors","link","textDecoration","href","target","rel","fieldBasic","tooltipHelper","checkboxIcons","fieldContainer","justifyContent","margin","flexBasis","flexWrap","noTopMargin","marginTop","label","onChange","value","id","name","checked","disabled","tooltip","overrideLabelClasses","overrideCheckboxStyles","inputProps","checkedIcon","icon","unCheckedIcon","disableRipple","disableFocusRipple","focusRipple","centerRipple","disableTouchRipple","style","htmlFor","noMinWidthLabel","tooltipContainer","placement","useStyles","makeStyles","graphContainer","padding","scanInfo","flexDirection","scanData","formBox","buttonBar","bucketField","flex","prefixField","searchField","marginLeft","actionsTray","inlineCheckboxes","containerForHeader","spacing","SelectStyled","lineHeight","InputBase","distributedSetup","useSelector","selDistSet","useState","start","setStart","bucketName","setBucketName","bucketList","setBucketList","prefix","setPrefix","recursive","setRecursive","forceStart","setForceStart","forceStop","setForceStop","beforeHeal","afterHeal","objectsHealed","objectsScanned","healDuration","sizeScanned","hStatus","setHStatus","useEffect","api","then","res","buckets","catch","err","console","error","colorHealthArr","Green","Yellow","Red","Grey","cB","cA","url","URL","window","location","toString","port","baseUrl","document","baseURI","pathname","wsProt","wsProtocol","protocol","c","W3CWebSocket","hostname","onopen","log","send","onmessage","message","m","JSON","parse","data","Object","entries","healthAfterCols","key","itemsScanned","healthBeforeCols","niceBytes","bytesScanned","onclose","close","labels","datasets","borderColor","borderWidth","bucketNames","map","Fragment","scopes","IAM_SCOPES","resource","CONSOLE_UI_RESOURCE","variant","e","input","displayEmpty","option","InputProps","disableUnderline","type","onClick","options","text","legend","position","WSCloseAbnormalClosure","WSClosePolicyViolation","WSCloseInternalServerErr"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1903.42b70cf0.chunk.js b/portal-ui/build/static/js/1903.42b70cf0.chunk.js new file mode 100644 index 000000000..4f7c4860d --- /dev/null +++ b/portal-ui/build/static/js/1903.42b70cf0.chunk.js @@ -0,0 +1,3 @@ +/*! For license information please see 1903.42b70cf0.chunk.js.LICENSE.txt */ +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1903],{32686:function(t,e,A){"use strict";var r=A(64836);e.Z=void 0;var n=r(A(45649)),i=A(80184),o=(0,n.default)((0,i.jsx)("path",{d:"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm4.2 14.2L11 13V7h1.5v5.2l4.5 2.7-.8 1.3z"}),"WatchLater");e.Z=o},64119:function(t,e,A){"use strict";var r=A(64836);e.Z=void 0;var n=r(A(45649)),i=A(80184),o=(0,n.default)((0,i.jsx)("path",{d:"m15 3 2.3 2.3-2.89 2.87 1.42 1.42L18.7 6.7 21 9V3h-6zM3 9l2.3-2.3 2.87 2.89 1.42-1.42L6.7 5.3 9 3H3v6zm6 12-2.3-2.3 2.89-2.87-1.42-1.42L5.3 17.3 3 15v6h6zm12-6-2.3 2.3-2.87-2.89-1.42 1.42 2.89 2.87L15 21h6v-6z"}),"ZoomOutMap");e.Z=o},57621:function(t,e,A){"use strict";A.d(e,{Z:function(){return B}});var r=A(87462),n=A(63366),i=A(72791),o=A(28182),s=A(94419),a=A(66934),c=A(31402),u=A(10703),l=A(21217);function h(t){return(0,l.Z)("MuiCard",t)}(0,A(75878).Z)("MuiCard",["root"]);var f=A(80184),d=["className","raised"],p=(0,a.ZP)(u.Z,{name:"MuiCard",slot:"Root",overridesResolver:function(t,e){return e.root}})((function(){return{overflow:"hidden"}})),B=i.forwardRef((function(t,e){var A=(0,c.Z)({props:t,name:"MuiCard"}),i=A.className,a=A.raised,u=void 0!==a&&a,l=(0,n.Z)(A,d),B=(0,r.Z)({},A,{raised:u}),g=function(t){var e=t.classes;return(0,s.Z)({root:["root"]},h,e)}(B);return(0,f.jsx)(p,(0,r.Z)({className:(0,o.Z)(g.root,i),elevation:u?8:void 0,ref:e,ownerState:B},l))}))},9585:function(t,e,A){"use strict";A.d(e,{Z:function(){return v}});var r=A(4942),n=A(63366),i=A(87462),o=A(72791),s=A(28182),a=A(94419),c=A(20890),u=A(31402),l=A(66934),h=A(21217);function f(t){return(0,h.Z)("MuiCardHeader",t)}var d=(0,A(75878).Z)("MuiCardHeader",["root","avatar","action","content","title","subheader"]),p=A(80184),B=["action","avatar","className","component","disableTypography","subheader","subheaderTypographyProps","title","titleTypographyProps"],g=(0,l.ZP)("div",{name:"MuiCardHeader",slot:"Root",overridesResolver:function(t,e){var A;return(0,i.Z)((A={},(0,r.Z)(A,"& .".concat(d.title),e.title),(0,r.Z)(A,"& .".concat(d.subheader),e.subheader),A),e.root)}})({display:"flex",alignItems:"center",padding:16}),w=(0,l.ZP)("div",{name:"MuiCardHeader",slot:"Avatar",overridesResolver:function(t,e){return e.avatar}})({display:"flex",flex:"0 0 auto",marginRight:16}),m=(0,l.ZP)("div",{name:"MuiCardHeader",slot:"Action",overridesResolver:function(t,e){return e.action}})({flex:"0 0 auto",alignSelf:"flex-start",marginTop:-4,marginRight:-8,marginBottom:-4}),y=(0,l.ZP)("div",{name:"MuiCardHeader",slot:"Content",overridesResolver:function(t,e){return e.content}})({flex:"1 1 auto"}),v=o.forwardRef((function(t,e){var A=(0,u.Z)({props:t,name:"MuiCardHeader"}),r=A.action,o=A.avatar,l=A.className,h=A.component,d=void 0===h?"div":h,v=A.disableTypography,C=void 0!==v&&v,Q=A.subheader,F=A.subheaderTypographyProps,b=A.title,U=A.titleTypographyProps,N=(0,n.Z)(A,B),E=(0,i.Z)({},A,{component:d,disableTypography:C}),L=function(t){var e=t.classes;return(0,a.Z)({root:["root"],avatar:["avatar"],action:["action"],content:["content"],title:["title"],subheader:["subheader"]},f,e)}(E),x=b;null==x||x.type===c.Z||C||(x=(0,p.jsx)(c.Z,(0,i.Z)({variant:o?"body2":"h5",className:L.title,component:"span",display:"block"},U,{children:x})));var H=Q;return null==H||H.type===c.Z||C||(H=(0,p.jsx)(c.Z,(0,i.Z)({variant:o?"body2":"body1",className:L.subheader,color:"text.secondary",component:"span",display:"block"},F,{children:H}))),(0,p.jsxs)(g,(0,i.Z)({className:(0,s.Z)(L.root,l),as:d,ref:e,ownerState:E},N,{children:[o&&(0,p.jsx)(w,{className:L.avatar,ownerState:E,children:o}),(0,p.jsxs)(y,{className:L.content,ownerState:E,children:[x,H]}),r&&(0,p.jsx)(m,{className:L.action,ownerState:E,children:r})]}))}))},76278:function(t,e,A){"use strict";var r=A(4942),n=A(63366),i=A(87462),o=A(72791),s=A(28182),a=A(94419),c=A(12065),u=A(66934),l=A(31402),h=A(95080),f=A(40162),d=A(42071),p=A(66199),B=A(34065),g=A(80184),w=["alignItems","autoFocus","component","children","dense","disableGutters","divider","focusVisibleClassName","selected"],m=(0,u.ZP)(h.Z,{shouldForwardProp:function(t){return(0,u.FO)(t)||"classes"===t},name:"MuiListItemButton",slot:"Root",overridesResolver:function(t,e){var A=t.ownerState;return[e.root,A.dense&&e.dense,"flex-start"===A.alignItems&&e.alignItemsFlexStart,A.divider&&e.divider,!A.disableGutters&&e.gutters]}})((function(t){var e,A=t.theme,n=t.ownerState;return(0,i.Z)((e={display:"flex",flexGrow:1,justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minWidth:0,boxSizing:"border-box",textAlign:"left",paddingTop:8,paddingBottom:8,transition:A.transitions.create("background-color",{duration:A.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:(A.vars||A).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,r.Z)(e,"&.".concat(B.Z.selected),(0,r.Z)({backgroundColor:A.vars?"rgba(".concat(A.vars.palette.primary.mainChannel," / ").concat(A.vars.palette.action.selectedOpacity,")"):(0,c.Fq)(A.palette.primary.main,A.palette.action.selectedOpacity)},"&.".concat(B.Z.focusVisible),{backgroundColor:A.vars?"rgba(".concat(A.vars.palette.primary.mainChannel," / calc(").concat(A.vars.palette.action.selectedOpacity," + ").concat(A.vars.palette.action.focusOpacity,"))"):(0,c.Fq)(A.palette.primary.main,A.palette.action.selectedOpacity+A.palette.action.focusOpacity)})),(0,r.Z)(e,"&.".concat(B.Z.selected,":hover"),{backgroundColor:A.vars?"rgba(".concat(A.vars.palette.primary.mainChannel," / calc(").concat(A.vars.palette.action.selectedOpacity," + ").concat(A.vars.palette.action.hoverOpacity,"))"):(0,c.Fq)(A.palette.primary.main,A.palette.action.selectedOpacity+A.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:A.vars?"rgba(".concat(A.vars.palette.primary.mainChannel," / ").concat(A.vars.palette.action.selectedOpacity,")"):(0,c.Fq)(A.palette.primary.main,A.palette.action.selectedOpacity)}}),(0,r.Z)(e,"&.".concat(B.Z.focusVisible),{backgroundColor:(A.vars||A).palette.action.focus}),(0,r.Z)(e,"&.".concat(B.Z.disabled),{opacity:(A.vars||A).palette.action.disabledOpacity}),e),n.divider&&{borderBottom:"1px solid ".concat((A.vars||A).palette.divider),backgroundClip:"padding-box"},"flex-start"===n.alignItems&&{alignItems:"flex-start"},!n.disableGutters&&{paddingLeft:16,paddingRight:16},n.dense&&{paddingTop:4,paddingBottom:4})})),y=o.forwardRef((function(t,e){var A=(0,l.Z)({props:t,name:"MuiListItemButton"}),r=A.alignItems,c=void 0===r?"center":r,u=A.autoFocus,h=void 0!==u&&u,y=A.component,v=void 0===y?"div":y,C=A.children,Q=A.dense,F=void 0!==Q&&Q,b=A.disableGutters,U=void 0!==b&&b,N=A.divider,E=void 0!==N&&N,L=A.focusVisibleClassName,x=A.selected,H=void 0!==x&&x,S=(0,n.Z)(A,w),I=o.useContext(p.Z),_={dense:F||I.dense||!1,alignItems:c,disableGutters:U},T=o.useRef(null);(0,f.Z)((function(){h&&T.current&&T.current.focus()}),[h]);var O=(0,i.Z)({},A,{alignItems:c,dense:_.dense,disableGutters:U,divider:E,selected:H}),R=function(t){var e=t.alignItems,A=t.classes,r=t.dense,n=t.disabled,o={root:["root",r&&"dense",!t.disableGutters&&"gutters",t.divider&&"divider",n&&"disabled","flex-start"===e&&"alignItemsFlexStart",t.selected&&"selected"]},s=(0,a.Z)(o,B.t,A);return(0,i.Z)({},A,s)}(O),P=(0,d.Z)(T,e);return(0,g.jsx)(p.Z.Provider,{value:_,children:(0,g.jsx)(m,(0,i.Z)({ref:P,href:S.href||S.to,component:(S.href||S.to)&&"div"===v?"a":v,focusVisibleClassName:(0,s.Z)(R.focusVisible,L),ownerState:O},S,{classes:R,children:C}))})}));e.Z=y},79834:function(t,e,A){"use strict";A.d(e,{Z:function(){return B}});var r=A(63366),n=A(87462),i=A(72791),o=A(28182),s=A(94419),a=A(66934),c=A(31402),u=A(14036),l=A(21217);function h(t){return(0,l.Z)("MuiListSubheader",t)}(0,A(75878).Z)("MuiListSubheader",["root","colorPrimary","colorInherit","gutters","inset","sticky"]);var f=A(80184),d=["className","color","component","disableGutters","disableSticky","inset"],p=(0,a.ZP)("li",{name:"MuiListSubheader",slot:"Root",overridesResolver:function(t,e){var A=t.ownerState;return[e.root,"default"!==A.color&&e["color".concat((0,u.Z)(A.color))],!A.disableGutters&&e.gutters,A.inset&&e.inset,!A.disableSticky&&e.sticky]}})((function(t){var e=t.theme,A=t.ownerState;return(0,n.Z)({boxSizing:"border-box",lineHeight:"48px",listStyle:"none",color:(e.vars||e).palette.text.secondary,fontFamily:e.typography.fontFamily,fontWeight:e.typography.fontWeightMedium,fontSize:e.typography.pxToRem(14)},"primary"===A.color&&{color:(e.vars||e).palette.primary.main},"inherit"===A.color&&{color:"inherit"},!A.disableGutters&&{paddingLeft:16,paddingRight:16},A.inset&&{paddingLeft:72},!A.disableSticky&&{position:"sticky",top:0,zIndex:1,backgroundColor:(e.vars||e).palette.background.paper})})),B=i.forwardRef((function(t,e){var A=(0,c.Z)({props:t,name:"MuiListSubheader"}),i=A.className,a=A.color,l=void 0===a?"default":a,B=A.component,g=void 0===B?"li":B,w=A.disableGutters,m=void 0!==w&&w,y=A.disableSticky,v=void 0!==y&&y,C=A.inset,Q=void 0!==C&&C,F=(0,r.Z)(A,d),b=(0,n.Z)({},A,{color:l,component:g,disableGutters:m,disableSticky:v,inset:Q}),U=function(t){var e=t.classes,A=t.color,r=t.disableGutters,n=t.inset,i=t.disableSticky,o={root:["root","default"!==A&&"color".concat((0,u.Z)(A)),!r&&"gutters",n&&"inset",!i&&"sticky"]};return(0,s.Z)(o,h,e)}(b);return(0,f.jsx)(p,(0,n.Z)({as:g,className:(0,o.Z)(U.root,i),ref:e,ownerState:b},F))}))},31211:function(t){t.exports=function(t,e,A,r){for(var n=-1,i=null==t?0:t.length;++n0&&n[n.length-1])||6!==i[0]&&2!==i[0])){o=0;continue}if(3===i[0]&&(!n||i[1]>n[0]&&i[1]=55296&&n<=56319&&A>10),o%1024+56320)),(n+1===A||r.length>16384)&&(i+=String.fromCharCode.apply(String,r),r.length=0)}return i},c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",u="undefined"==typeof Uint8Array?[]:new Uint8Array(256),l=0;l=0){if(t<55296||t>56319&&t<=65535)return e=((e=this.index[t>>5])<<2)+(31&t),this.data[e];if(t<=65535)return e=((e=this.index[2048+(t-55296>>5)])<<2)+(31&t),this.data[e];if(t>11),e=this.index[e],e+=t>>5&63,e=((e=this.index[e])<<2)+(31&t),this.data[e];if(t<=1114111)return this.data[this.highValueIndex]}return this.errorValue},t}(),p=10,B=13,g=15,w=17,m=18,y=19,v=20,C=21,Q=22,F=24,b=25,U=26,N=27,E=28,L=30,x=32,H=33,S=34,I=35,_=37,T=38,O=39,R=40,P=42,M=function(t){var e,A,r,n=function(t){var e,A,r,n,i,o=.75*t.length,s=t.length,a=0;"="===t[t.length-1]&&(o--,"="===t[t.length-2]&&o--);var c="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(o):new Array(o),l=Array.isArray(c)?c:new Uint8Array(c);for(e=0;e>4,l[a++]=(15&r)<<4|n>>2,l[a++]=(3&n)<<6|63&i;return c}("KwAAAAAAAAAACA4AIDoAAPAfAAACAAAAAAAIABAAGABAAEgAUABYAF4AZgBeAGYAYABoAHAAeABeAGYAfACEAIAAiACQAJgAoACoAK0AtQC9AMUAXgBmAF4AZgBeAGYAzQDVAF4AZgDRANkA3gDmAOwA9AD8AAQBDAEUARoBIgGAAIgAJwEvATcBPwFFAU0BTAFUAVwBZAFsAXMBewGDATAAiwGTAZsBogGkAawBtAG8AcIBygHSAdoB4AHoAfAB+AH+AQYCDgIWAv4BHgImAi4CNgI+AkUCTQJTAlsCYwJrAnECeQKBAk0CiQKRApkCoQKoArACuALAAsQCzAIwANQC3ALkAjAA7AL0AvwCAQMJAxADGAMwACADJgMuAzYDPgOAAEYDSgNSA1IDUgNaA1oDYANiA2IDgACAAGoDgAByA3YDfgOAAIQDgACKA5IDmgOAAIAAogOqA4AAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAK8DtwOAAIAAvwPHA88D1wPfAyAD5wPsA/QD/AOAAIAABAQMBBIEgAAWBB4EJgQuBDMEIAM7BEEEXgBJBCADUQRZBGEEaQQwADAAcQQ+AXkEgQSJBJEEgACYBIAAoASoBK8EtwQwAL8ExQSAAIAAgACAAIAAgACgAM0EXgBeAF4AXgBeAF4AXgBeANUEXgDZBOEEXgDpBPEE+QQBBQkFEQUZBSEFKQUxBTUFPQVFBUwFVAVcBV4AYwVeAGsFcwV7BYMFiwWSBV4AmgWgBacFXgBeAF4AXgBeAKsFXgCyBbEFugW7BcIFwgXIBcIFwgXQBdQF3AXkBesF8wX7BQMGCwYTBhsGIwYrBjMGOwZeAD8GRwZNBl4AVAZbBl4AXgBeAF4AXgBeAF4AXgBeAF4AXgBeAGMGXgBqBnEGXgBeAF4AXgBeAF4AXgBeAF4AXgB5BoAG4wSGBo4GkwaAAIADHgR5AF4AXgBeAJsGgABGA4AAowarBrMGswagALsGwwbLBjAA0wbaBtoG3QbaBtoG2gbaBtoG2gblBusG8wb7BgMHCwcTBxsHCwcjBysHMAc1BzUHOgdCB9oGSgdSB1oHYAfaBloHaAfaBlIH2gbaBtoG2gbaBtoG2gbaBjUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHbQdeAF4ANQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQd1B30HNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B4MH2gaKB68EgACAAIAAgACAAIAAgACAAI8HlwdeAJ8HpweAAIAArwe3B14AXgC/B8UHygcwANAH2AfgB4AA6AfwBz4B+AcACFwBCAgPCBcIogEYAR8IJwiAAC8INwg/CCADRwhPCFcIXwhnCEoDGgSAAIAAgABvCHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIhAiLCI4IMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAANQc1BzUHNQc1BzUHNQc1BzUHNQc1B54INQc1B6II2gaqCLIIugiAAIAAvgjGCIAAgACAAIAAgACAAIAAgACAAIAAywiHAYAA0wiAANkI3QjlCO0I9Aj8CIAAgACAAAIJCgkSCRoJIgknCTYHLwk3CZYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiAAIAAAAFAAXgBeAGAAcABeAHwAQACQAKAArQC9AJ4AXgBeAE0A3gBRAN4A7AD8AMwBGgEAAKcBNwEFAUwBXAF4QkhCmEKnArcCgAHHAsABz4LAAcABwAHAAd+C6ABoAG+C/4LAAcABwAHAAc+DF4MAAcAB54M3gweDV4Nng3eDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEeDqABVg6WDqABoQ6gAaABoAHXDvcONw/3DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DncPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB7cPPwlGCU4JMACAAIAAgABWCV4JYQmAAGkJcAl4CXwJgAkwADAAMAAwAIgJgACLCZMJgACZCZ8JowmrCYAAswkwAF4AXgB8AIAAuwkABMMJyQmAAM4JgADVCTAAMAAwADAAgACAAIAAgACAAIAAgACAAIAAqwYWBNkIMAAwADAAMADdCeAJ6AnuCR4E9gkwAP4JBQoNCjAAMACAABUK0wiAAB0KJAosCjQKgAAwADwKQwqAAEsKvQmdCVMKWwowADAAgACAALcEMACAAGMKgABrCjAAMAAwADAAMAAwADAAMAAwADAAMAAeBDAAMAAwADAAMAAwADAAMAAwADAAMAAwAIkEPQFzCnoKiQSCCooKkAqJBJgKoAqkCokEGAGsCrQKvArBCjAAMADJCtEKFQHZCuEK/gHpCvEKMAAwADAAMACAAIwE+QowAIAAPwEBCzAAMAAwADAAMACAAAkLEQswAIAAPwEZCyELgAAOCCkLMAAxCzkLMAAwADAAMAAwADAAXgBeAEELMAAwADAAMAAwADAAMAAwAEkLTQtVC4AAXAtkC4AAiQkwADAAMAAwADAAMAAwADAAbAtxC3kLgAuFC4sLMAAwAJMLlwufCzAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAApwswADAAMACAAIAAgACvC4AAgACAAIAAgACAALcLMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAvwuAAMcLgACAAIAAgACAAIAAyguAAIAAgACAAIAA0QswADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAANkLgACAAIAA4AswADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACJCR4E6AswADAAhwHwC4AA+AsADAgMEAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMACAAIAAGAwdDCUMMAAwAC0MNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQw1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHPQwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADUHNQc1BzUHNQc1BzUHNQc2BzAAMAA5DDUHNQc1BzUHNQc1BzUHNQc1BzUHNQdFDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAgACAAIAATQxSDFoMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAF4AXgBeAF4AXgBeAF4AYgxeAGoMXgBxDHkMfwxeAIUMXgBeAI0MMAAwADAAMAAwAF4AXgCVDJ0MMAAwADAAMABeAF4ApQxeAKsMswy7DF4Awgy9DMoMXgBeAF4AXgBeAF4AXgBeAF4AXgDRDNkMeQBqCeAM3Ax8AOYM7Az0DPgMXgBeAF4AXgBeAF4AXgBeAF4AXgBeAF4AXgBeAF4AXgCgAAANoAAHDQ4NFg0wADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAeDSYNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIAAgACAAIAAgACAAC4NMABeAF4ANg0wADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAD4NRg1ODVYNXg1mDTAAbQ0wADAAMAAwADAAMAAwADAA2gbaBtoG2gbaBtoG2gbaBnUNeg3CBYANwgWFDdoGjA3aBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gaUDZwNpA2oDdoG2gawDbcNvw3HDdoG2gbPDdYN3A3fDeYN2gbsDfMN2gbaBvoN/g3aBgYODg7aBl4AXgBeABYOXgBeACUG2gYeDl4AJA5eACwO2w3aBtoGMQ45DtoG2gbaBtoGQQ7aBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gZJDjUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B1EO2gY1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQdZDjUHNQc1BzUHNQc1B2EONQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHaA41BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B3AO2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gY1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B2EO2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gZJDtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBkkOeA6gAKAAoAAwADAAMAAwAKAAoACgAKAAoACgAKAAgA4wADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAD//wQABAAEAAQABAAEAAQABAAEAA0AAwABAAEAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAKABMAFwAeABsAGgAeABcAFgASAB4AGwAYAA8AGAAcAEsASwBLAEsASwBLAEsASwBLAEsAGAAYAB4AHgAeABMAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAFgAbABIAHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYADQARAB4ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkAFgAaABsAGwAbAB4AHQAdAB4ATwAXAB4ADQAeAB4AGgAbAE8ATwAOAFAAHQAdAB0ATwBPABcATwBPAE8AFgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwArAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAAQABAANAA0ASwBLAEsASwBLAEsASwBLAEsASwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUAArACsABABQAAQABAAEAAQABAAEAAQAKwArAAQABAArACsABAAEAAQAUAArACsAKwArACsAKwArACsABAArACsAKwArAFAAUAArAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAGgAaAFAAUABQAFAAUABMAB4AGwBQAB4AKwArACsABAAEAAQAKwBQAFAAUABQAFAAUAArACsAKwArAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUAArAFAAUAArACsABAArAAQABAAEAAQABAArACsAKwArAAQABAArACsABAAEAAQAKwArACsABAArACsAKwArACsAKwArAFAAUABQAFAAKwBQACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwAEAAQAUABQAFAABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUAArACsABABQAAQABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQAKwArAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwAeABsAKwArACsAKwArACsAKwBQAAQABAAEAAQABAAEACsABAAEAAQAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwArAAQABAArACsABAAEAAQAKwArACsAKwArACsAKwArAAQABAArACsAKwArAFAAUAArAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwAeAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwAEAFAAKwBQAFAAUABQAFAAUAArACsAKwBQAFAAUAArAFAAUABQAFAAKwArACsAUABQACsAUAArAFAAUAArACsAKwBQAFAAKwArACsAUABQAFAAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQAKwArACsABAAEAAQAKwAEAAQABAAEACsAKwBQACsAKwArACsAKwArAAQAKwArACsAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAB4AHgAeAB4AHgAeABsAHgArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABAArACsAKwArACsAKwArAAQABAArAFAAUABQACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAB4AUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABAArACsAKwArACsAKwArAAQABAArACsAKwArACsAKwArAFAAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwArAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAKwBcAFwAKwBcACsAKwBcACsAKwArACsAKwArAFwAXABcAFwAKwBcAFwAXABcAFwAXABcACsAXABcAFwAKwBcACsAXAArACsAXABcACsAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgArACoAKgBcACsAKwBcAFwAXABcAFwAKwBcACsAKgAqACoAKgAqACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAFwAXABcAFwAUAAOAA4ADgAOAB4ADgAOAAkADgAOAA0ACQATABMAEwATABMACQAeABMAHgAeAB4ABAAEAB4AHgAeAB4AHgAeAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUAANAAQAHgAEAB4ABAAWABEAFgARAAQABABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAAQABAAEAAQABAANAAQABABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsADQANAB4AHgAeAB4AHgAeAAQAHgAeAB4AHgAeAB4AKwAeAB4ADgAOAA0ADgAeAB4AHgAeAB4ACQAJACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgAeAB4AHgBcAFwAXABcAFwAXAAqACoAKgAqAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAKgAqACoAKgAqACoAKgBcAFwAXAAqACoAKgAqAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAXAAqAEsASwBLAEsASwBLAEsASwBLAEsAKgAqACoAKgAqACoAUABQAFAAUABQAFAAKwBQACsAKwArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQACsAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwAEAAQABAAeAA0AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAEQArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAADQANAA0AUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAA0ADQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoADQANABUAXAANAB4ADQAbAFwAKgArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAB4AHgATABMADQANAA4AHgATABMAHgAEAAQABAAJACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAUABQAFAAUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwAeACsAKwArABMAEwBLAEsASwBLAEsASwBLAEsASwBLAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwBcAFwAXABcAFwAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcACsAKwArACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwAeAB4AXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgArACsABABLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKgAqACoAKgAqACoAKgBcACoAKgAqACoAKgAqACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAUABQAFAAUABQAFAAUAArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4ADQANAA0ADQAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAHgAeAB4AHgBQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwANAA0ADQANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwBQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsABAAEAAQAHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAABABQAFAAUABQAAQABAAEAFAAUAAEAAQABAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAKwBQACsAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAKwArAB4AHgAeAB4AHgAeACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAUABQAFAAKwAeAB4AHgAeAB4AHgAeAA4AHgArAA0ADQANAA0ADQANAA0ACQANAA0ADQAIAAQACwAEAAQADQAJAA0ADQAMAB0AHQAeABcAFwAWABcAFwAXABYAFwAdAB0AHgAeABQAFAAUAA0AAQABAAQABAAEAAQABAAJABoAGgAaABoAGgAaABoAGgAeABcAFwAdABUAFQAeAB4AHgAeAB4AHgAYABYAEQAVABUAFQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgANAB4ADQANAA0ADQAeAA0ADQANAAcAHgAeAB4AHgArAAQABAAEAAQABAAEAAQABAAEAAQAUABQACsAKwBPAFAAUABQAFAAUAAeAB4AHgAWABEATwBQAE8ATwBPAE8AUABQAFAAUABQAB4AHgAeABYAEQArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAGwAbABsAGwAbABsAGwAaABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAaABsAGwAbABsAGgAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgBQABoAHgAdAB4AUAAeABoAHgAeAB4AHgAeAB4AHgAeAB4ATwAeAFAAGwAeAB4AUABQAFAAUABQAB4AHgAeAB0AHQAeAFAAHgBQAB4AUAAeAFAATwBQAFAAHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AUABQAFAAUABPAE8AUABQAFAAUABQAE8AUABQAE8AUABPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAE8ATwBPAE8ATwBPAE8ATwBPAE8AUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAATwAeAB4AKwArACsAKwAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB0AHQAeAB4AHgAdAB0AHgAeAB0AHgAeAB4AHQAeAB0AGwAbAB4AHQAeAB4AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB0AHgAdAB4AHQAdAB0AHQAdAB0AHgAdAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAdAB0AHQAdAB4AHgAdAB0AHgAeAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABQAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAlACUAHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBQAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAeAB4AHgAeAB0AHQAeAB4AHgAeAB0AHQAdAB4AHgAdAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB0AHQAeAB4AHQAeAB4AHgAeAB0AHQAeAB4AHgAeACUAJQAdAB0AJQAeACUAJQAlACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAHgAeAB4AHgAdAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHQAdAB0AHgAdACUAHQAdAB4AHQAdAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHQAdAB0AHQAlAB4AJQAlACUAHQAlACUAHQAdAB0AJQAlAB0AHQAlAB0AHQAlACUAJQAeAB0AHgAeAB4AHgAdAB0AJQAdAB0AHQAdAB0AHQAlACUAJQAlACUAHQAlACUAIAAlAB0AHQAlACUAJQAlACUAJQAlACUAHgAeAB4AJQAlACAAIAAgACAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeABcAFwAXABcAFwAXAB4AEwATACUAHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwArACUAJQBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAKwArACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAE8ATwBPAE8ATwBPAE8ATwAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeACsAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUAArACsAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQBQAFAAUABQACsAKwArACsAUABQAFAAUABQAFAAUABQAA0AUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQACsAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgBQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAABAAEAAQAKwAEAAQAKwArACsAKwArAAQABAAEAAQAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsABAAEAAQAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsADQANAA0ADQANAA0ADQANAB4AKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AUABQAFAAUABQAFAAUABQAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAUABQAFAAUABQAA0ADQANAA0ADQANABQAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwANAA0ADQANAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAeAAQABAAEAB4AKwArAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLACsADQArAB4AKwArAAQABAAEAAQAUABQAB4AUAArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwAEAAQABAAEAAQABAAEAAQABAAOAA0ADQATABMAHgAeAB4ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0AUABQAFAAUAAEAAQAKwArAAQADQANAB4AUAArACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXABcAA0ADQANACoASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUAArACsAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANACsADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEcARwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQACsAKwAeAAQABAANAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAEAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUAArACsAUAArACsAUABQACsAKwBQAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AKwArAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAeAB4ADQANAA0ADQAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAArAAQABAArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAEAAQABAAEAAQABAAEACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAFgAWAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAKwBQACsAKwArACsAKwArAFAAKwArACsAKwBQACsAUAArAFAAKwBQAFAAUAArAFAAUAArAFAAKwArAFAAKwBQACsAUAArAFAAKwBQACsAUABQACsAUAArACsAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAUABQAFAAUAArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUAArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAlACUAJQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeACUAJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeACUAJQAlACUAJQAeACUAJQAlACUAJQAgACAAIAAlACUAIAAlACUAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIQAhACEAIQAhACUAJQAgACAAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAgACAAIAAlACUAJQAlACAAJQAgACAAIAAgACAAIAAgACAAIAAlACUAJQAgACUAJQAlACUAIAAgACAAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeACUAHgAlAB4AJQAlACUAJQAlACAAJQAlACUAJQAeACUAHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAgACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAlACUAJQAlACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAIAAgACAAJQAlACUAIAAgACAAIAAgAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFwAXABcAFQAVABUAHgAeAB4AHgAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAgACAAJQAlACUAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAlACAAIAAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsA"),i=Array.isArray(n)?function(t){for(var e=t.length,A=[],r=0;r0;){var o=r[--i];if(Array.isArray(t)?-1!==t.indexOf(o):t===o)for(var s=A;s<=r.length;){var a;if((a=r[++s])===e)return!0;if(a!==p)break}if(o!==p)break}return!1},X=function(t,e){for(var A=t;A>=0;){var r=e[A];if(r!==p)return r;A--}return 0},J=function(t,e,A,r,n){if(0===A[r])return"\xd7";var i=r-1;if(Array.isArray(n)&&!0===n[i])return"\xd7";var o=i-1,s=i+1,a=e[i],c=o>=0?e[o]:0,u=e[s];if(2===a&&3===u)return"\xd7";if(-1!==D.indexOf(a))return"!";if(-1!==D.indexOf(u))return"\xd7";if(-1!==k.indexOf(u))return"\xd7";if(8===X(i,e))return"\xf7";if(11===M.get(t[i])&&(u===_||u===x||u===H))return"\xd7";if(7===a||7===u)return"\xd7";if(9===a)return"\xd7";if(-1===[p,B,g].indexOf(a)&&9===u)return"\xd7";if(-1!==[w,m,y,F,E].indexOf(u))return"\xd7";if(X(i,e)===Q)return"\xd7";if(G(23,Q,i,e))return"\xd7";if(G([w,m],C,i,e))return"\xd7";if(G(12,12,i,e))return"\xd7";if(a===p)return"\xf7";if(23===a||23===u)return"\xd7";if(16===u||16===a)return"\xf7";if(-1!==[B,g,C].indexOf(u)||14===a)return"\xd7";if(36===c&&-1!==V.indexOf(a))return"\xd7";if(a===E&&36===u)return"\xd7";if(u===v&&-1!==K.concat(v,y,b,_,x,H).indexOf(a))return"\xd7";if(-1!==K.indexOf(u)&&a===b||-1!==K.indexOf(a)&&u===b)return"\xd7";if(a===N&&-1!==[_,x,H].indexOf(u)||-1!==[_,x,H].indexOf(a)&&u===U)return"\xd7";if(-1!==K.indexOf(a)&&-1!==z.indexOf(u)||-1!==z.indexOf(a)&&-1!==K.indexOf(u))return"\xd7";if(-1!==[N,U].indexOf(a)&&(u===b||-1!==[Q,g].indexOf(u)&&e[s+1]===b)||-1!==[Q,g].indexOf(a)&&u===b||a===b&&-1!==[b,E,F].indexOf(u))return"\xd7";if(-1!==[b,E,F,w,m].indexOf(u))for(var l=i;l>=0;){if((h=e[l])===b)return"\xd7";if(-1===[E,F].indexOf(h))break;l--}if(-1!==[N,U].indexOf(u))for(l=-1!==[w,m].indexOf(a)?o:i;l>=0;){var h;if((h=e[l])===b)return"\xd7";if(-1===[E,F].indexOf(h))break;l--}if(T===a&&-1!==[T,O,S,I].indexOf(u)||-1!==[O,S].indexOf(a)&&-1!==[O,R].indexOf(u)||-1!==[R,I].indexOf(a)&&u===R)return"\xd7";if(-1!==q.indexOf(a)&&-1!==[v,U].indexOf(u)||-1!==q.indexOf(u)&&a===N)return"\xd7";if(-1!==K.indexOf(a)&&-1!==K.indexOf(u))return"\xd7";if(a===F&&-1!==K.indexOf(u))return"\xd7";if(-1!==K.concat(b).indexOf(a)&&u===Q||-1!==K.concat(b).indexOf(u)&&a===m)return"\xd7";if(41===a&&41===u){for(var f=A[i],d=1;f>0&&41===e[--f];)d++;if(d%2!=0)return"\xd7"}return a===x&&u===H?"\xd7":"\xf7"},W=function(){function t(t,e,A,r){this.codePoints=t,this.required="!"===e,this.start=A,this.end=r}return t.prototype.slice=function(){return a.apply(void 0,this.codePoints.slice(this.start,this.end))},t}();!function(t){t[t.STRING_TOKEN=0]="STRING_TOKEN",t[t.BAD_STRING_TOKEN=1]="BAD_STRING_TOKEN",t[t.LEFT_PARENTHESIS_TOKEN=2]="LEFT_PARENTHESIS_TOKEN",t[t.RIGHT_PARENTHESIS_TOKEN=3]="RIGHT_PARENTHESIS_TOKEN",t[t.COMMA_TOKEN=4]="COMMA_TOKEN",t[t.HASH_TOKEN=5]="HASH_TOKEN",t[t.DELIM_TOKEN=6]="DELIM_TOKEN",t[t.AT_KEYWORD_TOKEN=7]="AT_KEYWORD_TOKEN",t[t.PREFIX_MATCH_TOKEN=8]="PREFIX_MATCH_TOKEN",t[t.DASH_MATCH_TOKEN=9]="DASH_MATCH_TOKEN",t[t.INCLUDE_MATCH_TOKEN=10]="INCLUDE_MATCH_TOKEN",t[t.LEFT_CURLY_BRACKET_TOKEN=11]="LEFT_CURLY_BRACKET_TOKEN",t[t.RIGHT_CURLY_BRACKET_TOKEN=12]="RIGHT_CURLY_BRACKET_TOKEN",t[t.SUFFIX_MATCH_TOKEN=13]="SUFFIX_MATCH_TOKEN",t[t.SUBSTRING_MATCH_TOKEN=14]="SUBSTRING_MATCH_TOKEN",t[t.DIMENSION_TOKEN=15]="DIMENSION_TOKEN",t[t.PERCENTAGE_TOKEN=16]="PERCENTAGE_TOKEN",t[t.NUMBER_TOKEN=17]="NUMBER_TOKEN",t[t.FUNCTION=18]="FUNCTION",t[t.FUNCTION_TOKEN=19]="FUNCTION_TOKEN",t[t.IDENT_TOKEN=20]="IDENT_TOKEN",t[t.COLUMN_TOKEN=21]="COLUMN_TOKEN",t[t.URL_TOKEN=22]="URL_TOKEN",t[t.BAD_URL_TOKEN=23]="BAD_URL_TOKEN",t[t.CDC_TOKEN=24]="CDC_TOKEN",t[t.CDO_TOKEN=25]="CDO_TOKEN",t[t.COLON_TOKEN=26]="COLON_TOKEN",t[t.SEMICOLON_TOKEN=27]="SEMICOLON_TOKEN",t[t.LEFT_SQUARE_BRACKET_TOKEN=28]="LEFT_SQUARE_BRACKET_TOKEN",t[t.RIGHT_SQUARE_BRACKET_TOKEN=29]="RIGHT_SQUARE_BRACKET_TOKEN",t[t.UNICODE_RANGE_TOKEN=30]="UNICODE_RANGE_TOKEN",t[t.WHITESPACE_TOKEN=31]="WHITESPACE_TOKEN",t[t.EOF_TOKEN=32]="EOF_TOKEN"}(h||(h={}));var Y=function(t){return t>=48&&t<=57},Z=function(t){return Y(t)||t>=65&&t<=70||t>=97&&t<=102},$=function(t){return 10===t||9===t||32===t},tt=function(t){return function(t){return function(t){return t>=97&&t<=122}(t)||function(t){return t>=65&&t<=90}(t)}(t)||function(t){return t>=128}(t)||95===t},et=function(t){return tt(t)||Y(t)||45===t},At=function(t){return t>=0&&t<=8||11===t||t>=14&&t<=31||127===t},rt=function(t,e){return 92===t&&10!==e},nt=function(t,e,A){return 45===t?tt(e)||rt(e,A):!!tt(t)||!(92!==t||!rt(t,e))},it=function(t,e,A){return 43===t||45===t?!!Y(e)||46===e&&Y(A):Y(46===t?e:t)},ot=function(t){var e=0,A=1;43!==t[e]&&45!==t[e]||(45===t[e]&&(A=-1),e++);for(var r=[];Y(t[e]);)r.push(t[e++]);var n=r.length?parseInt(a.apply(void 0,r),10):0;46===t[e]&&e++;for(var i=[];Y(t[e]);)i.push(t[e++]);var o=i.length,s=o?parseInt(a.apply(void 0,i),10):0;69!==t[e]&&101!==t[e]||e++;var c=1;43!==t[e]&&45!==t[e]||(45===t[e]&&(c=-1),e++);for(var u=[];Y(t[e]);)u.push(t[e++]);var l=u.length?parseInt(a.apply(void 0,u),10):0;return A*(n+s*Math.pow(10,-o))*Math.pow(10,c*l)},st={type:h.LEFT_PARENTHESIS_TOKEN},at={type:h.RIGHT_PARENTHESIS_TOKEN},ct={type:h.COMMA_TOKEN},ut={type:h.SUFFIX_MATCH_TOKEN},lt={type:h.PREFIX_MATCH_TOKEN},ht={type:h.COLUMN_TOKEN},ft={type:h.DASH_MATCH_TOKEN},dt={type:h.INCLUDE_MATCH_TOKEN},pt={type:h.LEFT_CURLY_BRACKET_TOKEN},Bt={type:h.RIGHT_CURLY_BRACKET_TOKEN},gt={type:h.SUBSTRING_MATCH_TOKEN},wt={type:h.BAD_URL_TOKEN},mt={type:h.BAD_STRING_TOKEN},yt={type:h.CDO_TOKEN},vt={type:h.CDC_TOKEN},Ct={type:h.COLON_TOKEN},Qt={type:h.SEMICOLON_TOKEN},Ft={type:h.LEFT_SQUARE_BRACKET_TOKEN},bt={type:h.RIGHT_SQUARE_BRACKET_TOKEN},Ut={type:h.WHITESPACE_TOKEN},Nt={type:h.EOF_TOKEN},Et=function(){function t(){this._value=[]}return t.prototype.write=function(t){this._value=this._value.concat(s(t))},t.prototype.read=function(){for(var t=[],e=this.consumeToken();e!==Nt;)t.push(e),e=this.consumeToken();return t},t.prototype.consumeToken=function(){var t=this.consumeCodePoint();switch(t){case 34:return this.consumeStringToken(34);case 35:var e=this.peekCodePoint(0),A=this.peekCodePoint(1),r=this.peekCodePoint(2);if(et(e)||rt(A,r)){var n=nt(e,A,r)?2:1,i=this.consumeName();return{type:h.HASH_TOKEN,value:i,flags:n}}break;case 36:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),ut;break;case 39:return this.consumeStringToken(39);case 40:return st;case 41:return at;case 42:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),gt;break;case 43:if(it(t,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(t),this.consumeNumericToken();break;case 44:return ct;case 45:var o=t,s=this.peekCodePoint(0),c=this.peekCodePoint(1);if(it(o,s,c))return this.reconsumeCodePoint(t),this.consumeNumericToken();if(nt(o,s,c))return this.reconsumeCodePoint(t),this.consumeIdentLikeToken();if(45===s&&62===c)return this.consumeCodePoint(),this.consumeCodePoint(),vt;break;case 46:if(it(t,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(t),this.consumeNumericToken();break;case 47:if(42===this.peekCodePoint(0))for(this.consumeCodePoint();;){var u=this.consumeCodePoint();if(42===u&&47===(u=this.consumeCodePoint()))return this.consumeToken();if(-1===u)return this.consumeToken()}break;case 58:return Ct;case 59:return Qt;case 60:if(33===this.peekCodePoint(0)&&45===this.peekCodePoint(1)&&45===this.peekCodePoint(2))return this.consumeCodePoint(),this.consumeCodePoint(),yt;break;case 64:var l=this.peekCodePoint(0),f=this.peekCodePoint(1),d=this.peekCodePoint(2);if(nt(l,f,d))return i=this.consumeName(),{type:h.AT_KEYWORD_TOKEN,value:i};break;case 91:return Ft;case 92:if(rt(t,this.peekCodePoint(0)))return this.reconsumeCodePoint(t),this.consumeIdentLikeToken();break;case 93:return bt;case 61:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),lt;break;case 123:return pt;case 125:return Bt;case 117:case 85:var p=this.peekCodePoint(0),B=this.peekCodePoint(1);return 43!==p||!Z(B)&&63!==B||(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(t),this.consumeIdentLikeToken();case 124:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),ft;if(124===this.peekCodePoint(0))return this.consumeCodePoint(),ht;break;case 126:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),dt;break;case-1:return Nt}return $(t)?(this.consumeWhiteSpace(),Ut):Y(t)?(this.reconsumeCodePoint(t),this.consumeNumericToken()):tt(t)?(this.reconsumeCodePoint(t),this.consumeIdentLikeToken()):{type:h.DELIM_TOKEN,value:a(t)}},t.prototype.consumeCodePoint=function(){var t=this._value.shift();return void 0===t?-1:t},t.prototype.reconsumeCodePoint=function(t){this._value.unshift(t)},t.prototype.peekCodePoint=function(t){return t>=this._value.length?-1:this._value[t]},t.prototype.consumeUnicodeRangeToken=function(){for(var t=[],e=this.consumeCodePoint();Z(e)&&t.length<6;)t.push(e),e=this.consumeCodePoint();for(var A=!1;63===e&&t.length<6;)t.push(e),e=this.consumeCodePoint(),A=!0;if(A){var r=parseInt(a.apply(void 0,t.map((function(t){return 63===t?48:t}))),16),n=parseInt(a.apply(void 0,t.map((function(t){return 63===t?70:t}))),16);return{type:h.UNICODE_RANGE_TOKEN,start:r,end:n}}var i=parseInt(a.apply(void 0,t),16);if(45===this.peekCodePoint(0)&&Z(this.peekCodePoint(1))){this.consumeCodePoint(),e=this.consumeCodePoint();for(var o=[];Z(e)&&o.length<6;)o.push(e),e=this.consumeCodePoint();return n=parseInt(a.apply(void 0,o),16),{type:h.UNICODE_RANGE_TOKEN,start:i,end:n}}return{type:h.UNICODE_RANGE_TOKEN,start:i,end:i}},t.prototype.consumeIdentLikeToken=function(){var t=this.consumeName();return"url"===t.toLowerCase()&&40===this.peekCodePoint(0)?(this.consumeCodePoint(),this.consumeUrlToken()):40===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:h.FUNCTION_TOKEN,value:t}):{type:h.IDENT_TOKEN,value:t}},t.prototype.consumeUrlToken=function(){var t=[];if(this.consumeWhiteSpace(),-1===this.peekCodePoint(0))return{type:h.URL_TOKEN,value:""};var e=this.peekCodePoint(0);if(39===e||34===e){var A=this.consumeStringToken(this.consumeCodePoint());return A.type===h.STRING_TOKEN&&(this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0))?(this.consumeCodePoint(),{type:h.URL_TOKEN,value:A.value}):(this.consumeBadUrlRemnants(),wt)}for(;;){var r=this.consumeCodePoint();if(-1===r||41===r)return{type:h.URL_TOKEN,value:a.apply(void 0,t)};if($(r))return this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:h.URL_TOKEN,value:a.apply(void 0,t)}):(this.consumeBadUrlRemnants(),wt);if(34===r||39===r||40===r||At(r))return this.consumeBadUrlRemnants(),wt;if(92===r){if(!rt(r,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),wt;t.push(this.consumeEscapedCodePoint())}else t.push(r)}},t.prototype.consumeWhiteSpace=function(){for(;$(this.peekCodePoint(0));)this.consumeCodePoint()},t.prototype.consumeBadUrlRemnants=function(){for(;;){var t=this.consumeCodePoint();if(41===t||-1===t)return;rt(t,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},t.prototype.consumeStringSlice=function(t){for(var e="";t>0;){var A=Math.min(6e4,t);e+=a.apply(void 0,this._value.splice(0,A)),t-=A}return this._value.shift(),e},t.prototype.consumeStringToken=function(t){for(var e="",A=0;;){var r=this._value[A];if(-1===r||void 0===r||r===t)return e+=this.consumeStringSlice(A),{type:h.STRING_TOKEN,value:e};if(10===r)return this._value.splice(0,A),mt;if(92===r){var n=this._value[A+1];-1!==n&&void 0!==n&&(10===n?(e+=this.consumeStringSlice(A),A=-1,this._value.shift()):rt(r,n)&&(e+=this.consumeStringSlice(A),e+=a(this.consumeEscapedCodePoint()),A=-1))}A++}},t.prototype.consumeNumber=function(){var t=[],e=4,A=this.peekCodePoint(0);for(43!==A&&45!==A||t.push(this.consumeCodePoint());Y(this.peekCodePoint(0));)t.push(this.consumeCodePoint());A=this.peekCodePoint(0);var r=this.peekCodePoint(1);if(46===A&&Y(r))for(t.push(this.consumeCodePoint(),this.consumeCodePoint()),e=8;Y(this.peekCodePoint(0));)t.push(this.consumeCodePoint());A=this.peekCodePoint(0),r=this.peekCodePoint(1);var n=this.peekCodePoint(2);if((69===A||101===A)&&((43===r||45===r)&&Y(n)||Y(r)))for(t.push(this.consumeCodePoint(),this.consumeCodePoint()),e=8;Y(this.peekCodePoint(0));)t.push(this.consumeCodePoint());return[ot(t),e]},t.prototype.consumeNumericToken=function(){var t=this.consumeNumber(),e=t[0],A=t[1],r=this.peekCodePoint(0),n=this.peekCodePoint(1),i=this.peekCodePoint(2);if(nt(r,n,i)){var o=this.consumeName();return{type:h.DIMENSION_TOKEN,number:e,flags:A,unit:o}}return 37===r?(this.consumeCodePoint(),{type:h.PERCENTAGE_TOKEN,number:e,flags:A}):{type:h.NUMBER_TOKEN,number:e,flags:A}},t.prototype.consumeEscapedCodePoint=function(){var t=this.consumeCodePoint();if(Z(t)){for(var e=a(t);Z(this.peekCodePoint(0))&&e.length<6;)e+=a(this.consumeCodePoint());$(this.peekCodePoint(0))&&this.consumeCodePoint();var A=parseInt(e,16);return 0===A||function(t){return t>=55296&&t<=57343}(A)||A>1114111?65533:A}return-1===t?65533:t},t.prototype.consumeName=function(){for(var t="";;){var e=this.consumeCodePoint();if(et(e))t+=a(e);else{if(!rt(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),t;t+=a(this.consumeEscapedCodePoint())}}},t}(),Lt=function(){function t(t){this._tokens=t}return t.create=function(e){var A=new Et;return A.write(e),new t(A.read())},t.parseValue=function(e){return t.create(e).parseComponentValue()},t.parseValues=function(e){return t.create(e).parseComponentValues()},t.prototype.parseComponentValue=function(){for(var t=this.consumeToken();t.type===h.WHITESPACE_TOKEN;)t=this.consumeToken();if(t.type===h.EOF_TOKEN)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(t);var e=this.consumeComponentValue();do{t=this.consumeToken()}while(t.type===h.WHITESPACE_TOKEN);if(t.type===h.EOF_TOKEN)return e;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},t.prototype.parseComponentValues=function(){for(var t=[];;){var e=this.consumeComponentValue();if(e.type===h.EOF_TOKEN)return t;t.push(e),t.push()}},t.prototype.consumeComponentValue=function(){var t=this.consumeToken();switch(t.type){case h.LEFT_CURLY_BRACKET_TOKEN:case h.LEFT_SQUARE_BRACKET_TOKEN:case h.LEFT_PARENTHESIS_TOKEN:return this.consumeSimpleBlock(t.type);case h.FUNCTION_TOKEN:return this.consumeFunction(t)}return t},t.prototype.consumeSimpleBlock=function(t){for(var e={type:t,values:[]},A=this.consumeToken();;){if(A.type===h.EOF_TOKEN||Pt(A,t))return e;this.reconsumeToken(A),e.values.push(this.consumeComponentValue()),A=this.consumeToken()}},t.prototype.consumeFunction=function(t){for(var e={name:t.value,values:[],type:h.FUNCTION};;){var A=this.consumeToken();if(A.type===h.EOF_TOKEN||A.type===h.RIGHT_PARENTHESIS_TOKEN)return e;this.reconsumeToken(A),e.values.push(this.consumeComponentValue())}},t.prototype.consumeToken=function(){var t=this._tokens.shift();return void 0===t?Nt:t},t.prototype.reconsumeToken=function(t){this._tokens.unshift(t)},t}(),xt=function(t){return t.type===h.DIMENSION_TOKEN},Ht=function(t){return t.type===h.NUMBER_TOKEN},St=function(t){return t.type===h.IDENT_TOKEN},It=function(t){return t.type===h.STRING_TOKEN},_t=function(t,e){return St(t)&&t.value===e},Tt=function(t){return t.type!==h.WHITESPACE_TOKEN},Ot=function(t){return t.type!==h.WHITESPACE_TOKEN&&t.type!==h.COMMA_TOKEN},Rt=function(t){var e=[],A=[];return t.forEach((function(t){if(t.type===h.COMMA_TOKEN){if(0===A.length)throw new Error("Error parsing function args, zero tokens for arg");return e.push(A),void(A=[])}t.type!==h.WHITESPACE_TOKEN&&A.push(t)})),A.length&&e.push(A),e},Pt=function(t,e){return e===h.LEFT_CURLY_BRACKET_TOKEN&&t.type===h.RIGHT_CURLY_BRACKET_TOKEN||e===h.LEFT_SQUARE_BRACKET_TOKEN&&t.type===h.RIGHT_SQUARE_BRACKET_TOKEN||e===h.LEFT_PARENTHESIS_TOKEN&&t.type===h.RIGHT_PARENTHESIS_TOKEN},Mt=function(t){return t.type===h.NUMBER_TOKEN||t.type===h.DIMENSION_TOKEN},Kt=function(t){return t.type===h.PERCENTAGE_TOKEN||Mt(t)},Dt=function(t){return t.length>1?[t[0],t[1]]:[t[0]]},kt={type:h.NUMBER_TOKEN,number:0,flags:4},zt={type:h.PERCENTAGE_TOKEN,number:50,flags:4},jt={type:h.PERCENTAGE_TOKEN,number:100,flags:4},qt=function(t,e,A){var r=t[0],n=t[1];return[Vt(r,e),Vt(void 0!==n?n:r,A)]},Vt=function(t,e){if(t.type===h.PERCENTAGE_TOKEN)return t.number/100*e;if(xt(t))switch(t.unit){case"rem":case"em":return 16*t.number;default:return t.number}return t.number},Gt=function(t){if(t.type===h.DIMENSION_TOKEN)switch(t.unit){case"deg":return Math.PI*t.number/180;case"grad":return Math.PI/200*t.number;case"rad":return t.number;case"turn":return 2*Math.PI*t.number}throw new Error("Unsupported angle type")},Xt=function(t){return t.type===h.DIMENSION_TOKEN&&("deg"===t.unit||"grad"===t.unit||"rad"===t.unit||"turn"===t.unit)},Jt=function(t){switch(t.filter(St).map((function(t){return t.value})).join(" ")){case"to bottom right":case"to right bottom":case"left top":case"top left":return[kt,kt];case"to top":case"bottom":return Wt(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[kt,jt];case"to right":case"left":return Wt(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[jt,jt];case"to bottom":case"top":return Wt(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[jt,kt];case"to left":case"right":return Wt(270)}return 0},Wt=function(t){return Math.PI*t/180},Yt=function(t){if(t.type===h.FUNCTION){var e=se[t.name];if(void 0===e)throw new Error('Attempting to parse an unsupported color function "'+t.name+'"');return e(t.values)}if(t.type===h.HASH_TOKEN){if(3===t.value.length){var A=t.value.substring(0,1),r=t.value.substring(1,2),n=t.value.substring(2,3);return te(parseInt(A+A,16),parseInt(r+r,16),parseInt(n+n,16),1)}if(4===t.value.length){A=t.value.substring(0,1),r=t.value.substring(1,2),n=t.value.substring(2,3);var i=t.value.substring(3,4);return te(parseInt(A+A,16),parseInt(r+r,16),parseInt(n+n,16),parseInt(i+i,16)/255)}if(6===t.value.length)return A=t.value.substring(0,2),r=t.value.substring(2,4),n=t.value.substring(4,6),te(parseInt(A,16),parseInt(r,16),parseInt(n,16),1);if(8===t.value.length)return A=t.value.substring(0,2),r=t.value.substring(2,4),n=t.value.substring(4,6),i=t.value.substring(6,8),te(parseInt(A,16),parseInt(r,16),parseInt(n,16),parseInt(i,16)/255)}if(t.type===h.IDENT_TOKEN){var o=ae[t.value.toUpperCase()];if(void 0!==o)return o}return ae.TRANSPARENT},Zt=function(t){return 0==(255&t)},$t=function(t){var e=255&t,A=255&t>>8,r=255&t>>16,n=255&t>>24;return e<255?"rgba("+n+","+r+","+A+","+e/255+")":"rgb("+n+","+r+","+A+")"},te=function(t,e,A,r){return(t<<24|e<<16|A<<8|Math.round(255*r)<<0)>>>0},ee=function(t,e){if(t.type===h.NUMBER_TOKEN)return t.number;if(t.type===h.PERCENTAGE_TOKEN){var A=3===e?1:255;return 3===e?t.number/100*A:Math.round(t.number/100*A)}return 0},Ae=function(t){var e=t.filter(Ot);if(3===e.length){var A=e.map(ee),r=A[0],n=A[1],i=A[2];return te(r,n,i,1)}if(4===e.length){var o=e.map(ee),s=(r=o[0],n=o[1],i=o[2],o[3]);return te(r,n,i,s)}return 0};function re(t,e,A){return A<0&&(A+=1),A>=1&&(A-=1),A<1/6?(e-t)*A*6+t:A<.5?e:A<2/3?6*(e-t)*(2/3-A)+t:t}var ne,ie,oe=function(t){var e=t.filter(Ot),A=e[0],r=e[1],n=e[2],i=e[3],o=(A.type===h.NUMBER_TOKEN?Wt(A.number):Gt(A))/(2*Math.PI),s=Kt(r)?r.number/100:0,a=Kt(n)?n.number/100:0,c=void 0!==i&&Kt(i)?Vt(i,1):1;if(0===s)return te(255*a,255*a,255*a,1);var u=a<=.5?a*(s+1):a+s-a*s,l=2*a-u,f=re(l,u,o+1/3),d=re(l,u,o),p=re(l,u,o-1/3);return te(255*f,255*d,255*p,c)},se={hsl:oe,hsla:oe,rgb:Ae,rgba:Ae},ae={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199};(function(t){t[t.VALUE=0]="VALUE",t[t.LIST=1]="LIST",t[t.IDENT_VALUE=2]="IDENT_VALUE",t[t.TYPE_VALUE=3]="TYPE_VALUE",t[t.TOKEN_VALUE=4]="TOKEN_VALUE"})(ne||(ne={})),function(t){t[t.BORDER_BOX=0]="BORDER_BOX",t[t.PADDING_BOX=1]="PADDING_BOX",t[t.CONTENT_BOX=2]="CONTENT_BOX"}(ie||(ie={}));var ce,ue,le,he={name:"background-clip",initialValue:"border-box",prefix:!1,type:ne.LIST,parse:function(t){return t.map((function(t){if(St(t))switch(t.value){case"padding-box":return ie.PADDING_BOX;case"content-box":return ie.CONTENT_BOX}return ie.BORDER_BOX}))}},fe={name:"background-color",initialValue:"transparent",prefix:!1,type:ne.TYPE_VALUE,format:"color"},de=function(t){var e=Yt(t[0]),A=t[1];return A&&Kt(A)?{color:e,stop:A}:{color:e,stop:null}},pe=function(t,e){var A=t[0],r=t[t.length-1];null===A.stop&&(A.stop=kt),null===r.stop&&(r.stop=jt);for(var n=[],i=0,o=0;oi?n.push(a):n.push(i),i=a}else n.push(null)}var c=null;for(o=0;ot.optimumDistance)?{optimumCorner:e,optimumDistance:s}:t}),{optimumDistance:n?1/0:-1/0,optimumCorner:null}).optimumCorner},we=function(t){var e=Wt(180),A=[];return Rt(t).forEach((function(t,r){if(0===r){var n=t[0];if(n.type===h.IDENT_TOKEN&&-1!==["top","left","right","bottom"].indexOf(n.value))return void(e=Jt(t));if(Xt(n))return void(e=(Gt(n)+Wt(270))%Wt(360))}var i=de(t);A.push(i)})),{angle:e,stops:A,type:ce.LINEAR_GRADIENT}},me=function(t){return 0===t[0]&&255===t[1]&&0===t[2]&&255===t[3]},ye=function(t,e,A,r,n){var i="http://www.w3.org/2000/svg",o=document.createElementNS(i,"svg"),s=document.createElementNS(i,"foreignObject");return o.setAttributeNS(null,"width",t.toString()),o.setAttributeNS(null,"height",e.toString()),s.setAttributeNS(null,"width","100%"),s.setAttributeNS(null,"height","100%"),s.setAttributeNS(null,"x",A.toString()),s.setAttributeNS(null,"y",r.toString()),s.setAttributeNS(null,"externalResourcesRequired","true"),o.appendChild(s),s.appendChild(n),o},ve=function(t){return new Promise((function(e,A){var r=new Image;r.onload=function(){return e(r)},r.onerror=A,r.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent((new XMLSerializer).serializeToString(t))}))},Ce={get SUPPORT_RANGE_BOUNDS(){var t=function(t){if(t.createRange){var e=t.createRange();if(e.getBoundingClientRect){var A=t.createElement("boundtest");A.style.height="123px",A.style.display="block",t.body.appendChild(A),e.selectNode(A);var r=e.getBoundingClientRect(),n=Math.round(r.height);if(t.body.removeChild(A),123===n)return!0}}return!1}(document);return Object.defineProperty(Ce,"SUPPORT_RANGE_BOUNDS",{value:t}),t},get SUPPORT_SVG_DRAWING(){var t=function(t){var e=new Image,A=t.createElement("canvas"),r=A.getContext("2d");if(!r)return!1;e.src="data:image/svg+xml,";try{r.drawImage(e,0,0),A.toDataURL()}catch(t){return!1}return!0}(document);return Object.defineProperty(Ce,"SUPPORT_SVG_DRAWING",{value:t}),t},get SUPPORT_FOREIGNOBJECT_DRAWING(){var t="function"==typeof Array.from&&"function"==typeof window.fetch?function(t){var e=t.createElement("canvas");e.width=100,e.height=100;var A=e.getContext("2d");if(!A)return Promise.reject(!1);A.fillStyle="rgb(0, 255, 0)",A.fillRect(0,0,100,100);var r=new Image,n=e.toDataURL();r.src=n;var i=ye(100,100,0,0,r);return A.fillStyle="red",A.fillRect(0,0,100,100),ve(i).then((function(e){A.drawImage(e,0,0);var r=A.getImageData(0,0,100,100).data;A.fillStyle="red",A.fillRect(0,0,100,100);var i=t.createElement("div");return i.style.backgroundImage="url("+n+")",i.style.height="100px",me(r)?ve(ye(100,100,0,0,i)):Promise.reject(!1)})).then((function(t){return A.drawImage(t,0,0),me(A.getImageData(0,0,100,100).data)})).catch((function(){return!1}))}(document):Promise.resolve(!1);return Object.defineProperty(Ce,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:t}),t},get SUPPORT_CORS_IMAGES(){var t=void 0!==(new Image).crossOrigin;return Object.defineProperty(Ce,"SUPPORT_CORS_IMAGES",{value:t}),t},get SUPPORT_RESPONSE_TYPE(){var t="string"==typeof(new XMLHttpRequest).responseType;return Object.defineProperty(Ce,"SUPPORT_RESPONSE_TYPE",{value:t}),t},get SUPPORT_CORS_XHR(){var t="withCredentials"in new XMLHttpRequest;return Object.defineProperty(Ce,"SUPPORT_CORS_XHR",{value:t}),t}},Qe=function(){function t(t){var e=t.id,A=t.enabled;this.id=e,this.enabled=A,this.start=Date.now()}return t.prototype.debug=function(){for(var t=[],e=0;e0&&setTimeout((function(){return e("Timed out ("+o._options.imageTimeout+"ms) loading image")}),o._options.imageTimeout)}))];case 3:return[2,n.sent()]}}))}))},t.prototype.has=function(t){return void 0!==this._cache[t]},t.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},t.prototype.proxy=function(t){var e=this,A=this._options.proxy;if(!A)throw new Error("No proxy defined");var r=t.substring(0,256);return new Promise((function(n,i){var o=Ce.SUPPORT_RESPONSE_TYPE?"blob":"text",s=new XMLHttpRequest;if(s.onload=function(){if(200===s.status)if("text"===o)n(s.response);else{var t=new FileReader;t.addEventListener("load",(function(){return n(t.result)}),!1),t.addEventListener("error",(function(t){return i(t)}),!1),t.readAsDataURL(s.response)}else i("Failed to proxy resource "+r+" with status code "+s.status)},s.onerror=i,s.open("GET",A+"?url="+encodeURIComponent(t)+"&responseType="+o),"text"!==o&&s instanceof XMLHttpRequest&&(s.responseType=o),e._options.imageTimeout){var a=e._options.imageTimeout;s.timeout=a,s.ontimeout=function(){return i("Timed out ("+a+"ms) proxying "+r)}}s.send()}))},t}(),Ue=/^data:image\/svg\+xml/i,Ne=/^data:image\/.*;base64,/i,Ee=/^data:image\/.*/i,Le=function(t){return Ce.SUPPORT_SVG_DRAWING||!Ie(t)},xe=function(t){return Ee.test(t)},He=function(t){return Ne.test(t)},Se=function(t){return"blob"===t.substr(0,4)},Ie=function(t){return"svg"===t.substr(-3).toLowerCase()||Ue.test(t)},_e=function(t){var e=ue.CIRCLE,A=le.FARTHEST_CORNER,r=[],n=[];return Rt(t).forEach((function(t,i){var o=!0;if(0===i?o=t.reduce((function(t,e){if(St(e))switch(e.value){case"center":return n.push(zt),!1;case"top":case"left":return n.push(kt),!1;case"right":case"bottom":return n.push(jt),!1}else if(Kt(e)||Mt(e))return n.push(e),!1;return t}),o):1===i&&(o=t.reduce((function(t,r){if(St(r))switch(r.value){case"circle":return e=ue.CIRCLE,!1;case"ellipse":return e=ue.ELLIPSE,!1;case"contain":case"closest-side":return A=le.CLOSEST_SIDE,!1;case"farthest-side":return A=le.FARTHEST_SIDE,!1;case"closest-corner":return A=le.CLOSEST_CORNER,!1;case"cover":case"farthest-corner":return A=le.FARTHEST_CORNER,!1}else if(Mt(r)||Kt(r))return Array.isArray(A)||(A=[]),A.push(r),!1;return t}),o)),o){var s=de(t);r.push(s)}})),{size:A,shape:e,stops:r,position:n,type:ce.RADIAL_GRADIENT}};!function(t){t[t.URL=0]="URL",t[t.LINEAR_GRADIENT=1]="LINEAR_GRADIENT",t[t.RADIAL_GRADIENT=2]="RADIAL_GRADIENT"}(ce||(ce={})),function(t){t[t.CIRCLE=0]="CIRCLE",t[t.ELLIPSE=1]="ELLIPSE"}(ue||(ue={})),function(t){t[t.CLOSEST_SIDE=0]="CLOSEST_SIDE",t[t.FARTHEST_SIDE=1]="FARTHEST_SIDE",t[t.CLOSEST_CORNER=2]="CLOSEST_CORNER",t[t.FARTHEST_CORNER=3]="FARTHEST_CORNER"}(le||(le={}));var Te,Oe=function(t){if(t.type===h.URL_TOKEN){var e={url:t.value,type:ce.URL};return Fe.getInstance().addImage(t.value),e}if(t.type===h.FUNCTION){var A=Re[t.name];if(void 0===A)throw new Error('Attempting to parse an unsupported image function "'+t.name+'"');return A(t.values)}throw new Error("Unsupported image type")},Re={"linear-gradient":function(t){var e=Wt(180),A=[];return Rt(t).forEach((function(t,r){if(0===r){var n=t[0];if(n.type===h.IDENT_TOKEN&&"to"===n.value)return void(e=Jt(t));if(Xt(n))return void(e=Gt(n))}var i=de(t);A.push(i)})),{angle:e,stops:A,type:ce.LINEAR_GRADIENT}},"-moz-linear-gradient":we,"-ms-linear-gradient":we,"-o-linear-gradient":we,"-webkit-linear-gradient":we,"radial-gradient":function(t){var e=ue.CIRCLE,A=le.FARTHEST_CORNER,r=[],n=[];return Rt(t).forEach((function(t,i){var o=!0;if(0===i){var s=!1;o=t.reduce((function(t,r){if(s)if(St(r))switch(r.value){case"center":return n.push(zt),t;case"top":case"left":return n.push(kt),t;case"right":case"bottom":return n.push(jt),t}else(Kt(r)||Mt(r))&&n.push(r);else if(St(r))switch(r.value){case"circle":return e=ue.CIRCLE,!1;case"ellipse":return e=ue.ELLIPSE,!1;case"at":return s=!0,!1;case"closest-side":return A=le.CLOSEST_SIDE,!1;case"cover":case"farthest-side":return A=le.FARTHEST_SIDE,!1;case"contain":case"closest-corner":return A=le.CLOSEST_CORNER,!1;case"farthest-corner":return A=le.FARTHEST_CORNER,!1}else if(Mt(r)||Kt(r))return Array.isArray(A)||(A=[]),A.push(r),!1;return t}),o)}if(o){var a=de(t);r.push(a)}})),{size:A,shape:e,stops:r,position:n,type:ce.RADIAL_GRADIENT}},"-moz-radial-gradient":_e,"-ms-radial-gradient":_e,"-o-radial-gradient":_e,"-webkit-radial-gradient":_e,"-webkit-gradient":function(t){var e=Wt(180),A=[],r=ce.LINEAR_GRADIENT,n=ue.CIRCLE,i=le.FARTHEST_CORNER;return Rt(t).forEach((function(t,e){var n=t[0];if(0===e){if(St(n)&&"linear"===n.value)return void(r=ce.LINEAR_GRADIENT);if(St(n)&&"radial"===n.value)return void(r=ce.RADIAL_GRADIENT)}if(n.type===h.FUNCTION)if("from"===n.name){var i=Yt(n.values[0]);A.push({stop:kt,color:i})}else if("to"===n.name)i=Yt(n.values[0]),A.push({stop:jt,color:i});else if("color-stop"===n.name){var o=n.values.filter(Ot);if(2===o.length){i=Yt(o[1]);var s=o[0];Ht(s)&&A.push({stop:{type:h.PERCENTAGE_TOKEN,number:100*s.number,flags:s.flags},color:i})}}})),r===ce.LINEAR_GRADIENT?{angle:(e+Wt(180))%Wt(360),stops:A,type:r}:{size:i,shape:n,stops:A,position:[],type:r}}},Pe={name:"background-image",initialValue:"none",type:ne.LIST,prefix:!1,parse:function(t){if(0===t.length)return[];var e=t[0];return e.type===h.IDENT_TOKEN&&"none"===e.value?[]:t.filter((function(t){return Ot(t)&&function(t){return t.type!==h.FUNCTION||Re[t.name]}(t)})).map(Oe)}},Me={name:"background-origin",initialValue:"border-box",prefix:!1,type:ne.LIST,parse:function(t){return t.map((function(t){if(St(t))switch(t.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},Ke={name:"background-position",initialValue:"0% 0%",type:ne.LIST,prefix:!1,parse:function(t){return Rt(t).map((function(t){return t.filter(Kt)})).map(Dt)}};!function(t){t[t.REPEAT=0]="REPEAT",t[t.NO_REPEAT=1]="NO_REPEAT",t[t.REPEAT_X=2]="REPEAT_X",t[t.REPEAT_Y=3]="REPEAT_Y"}(Te||(Te={}));var De,ke={name:"background-repeat",initialValue:"repeat",prefix:!1,type:ne.LIST,parse:function(t){return Rt(t).map((function(t){return t.filter(St).map((function(t){return t.value})).join(" ")})).map(ze)}},ze=function(t){switch(t){case"no-repeat":return Te.NO_REPEAT;case"repeat-x":case"repeat no-repeat":return Te.REPEAT_X;case"repeat-y":case"no-repeat repeat":return Te.REPEAT_Y;default:return Te.REPEAT}};!function(t){t.AUTO="auto",t.CONTAIN="contain",t.COVER="cover"}(De||(De={}));var je,qe={name:"background-size",initialValue:"0",prefix:!1,type:ne.LIST,parse:function(t){return Rt(t).map((function(t){return t.filter(Ve)}))}},Ve=function(t){return St(t)||Kt(t)},Ge=function(t){return{name:"border-"+t+"-color",initialValue:"transparent",prefix:!1,type:ne.TYPE_VALUE,format:"color"}},Xe=Ge("top"),Je=Ge("right"),We=Ge("bottom"),Ye=Ge("left"),Ze=function(t){return{name:"border-radius-"+t,initialValue:"0 0",prefix:!1,type:ne.LIST,parse:function(t){return Dt(t.filter(Kt))}}},$e=Ze("top-left"),tA=Ze("top-right"),eA=Ze("bottom-right"),AA=Ze("bottom-left");!function(t){t[t.NONE=0]="NONE",t[t.SOLID=1]="SOLID"}(je||(je={}));var rA,nA=function(t){return{name:"border-"+t+"-style",initialValue:"solid",prefix:!1,type:ne.IDENT_VALUE,parse:function(t){return"none"===t?je.NONE:je.SOLID}}},iA=nA("top"),oA=nA("right"),sA=nA("bottom"),aA=nA("left"),cA=function(t){return{name:"border-"+t+"-width",initialValue:"0",type:ne.VALUE,prefix:!1,parse:function(t){return xt(t)?t.number:0}}},uA=cA("top"),lA=cA("right"),hA=cA("bottom"),fA=cA("left"),dA={name:"color",initialValue:"transparent",prefix:!1,type:ne.TYPE_VALUE,format:"color"},pA={name:"display",initialValue:"inline-block",prefix:!1,type:ne.LIST,parse:function(t){return t.filter(St).reduce((function(t,e){return t|BA(e.value)}),0)}},BA=function(t){switch(t){case"block":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0};!function(t){t[t.NONE=0]="NONE",t[t.LEFT=1]="LEFT",t[t.RIGHT=2]="RIGHT",t[t.INLINE_START=3]="INLINE_START",t[t.INLINE_END=4]="INLINE_END"}(rA||(rA={}));var gA,wA={name:"float",initialValue:"none",prefix:!1,type:ne.IDENT_VALUE,parse:function(t){switch(t){case"left":return rA.LEFT;case"right":return rA.RIGHT;case"inline-start":return rA.INLINE_START;case"inline-end":return rA.INLINE_END}return rA.NONE}},mA={name:"letter-spacing",initialValue:"0",prefix:!1,type:ne.VALUE,parse:function(t){return t.type===h.IDENT_TOKEN&&"normal"===t.value?0:t.type===h.NUMBER_TOKEN||t.type===h.DIMENSION_TOKEN?t.number:0}};!function(t){t.NORMAL="normal",t.STRICT="strict"}(gA||(gA={}));var yA,vA={name:"line-break",initialValue:"normal",prefix:!1,type:ne.IDENT_VALUE,parse:function(t){return"strict"===t?gA.STRICT:gA.NORMAL}},CA={name:"line-height",initialValue:"normal",prefix:!1,type:ne.TOKEN_VALUE},QA={name:"list-style-image",initialValue:"none",type:ne.VALUE,prefix:!1,parse:function(t){return t.type===h.IDENT_TOKEN&&"none"===t.value?null:Oe(t)}};!function(t){t[t.INSIDE=0]="INSIDE",t[t.OUTSIDE=1]="OUTSIDE"}(yA||(yA={}));var FA,bA={name:"list-style-position",initialValue:"outside",prefix:!1,type:ne.IDENT_VALUE,parse:function(t){return"inside"===t?yA.INSIDE:yA.OUTSIDE}};!function(t){t[t.NONE=-1]="NONE",t[t.DISC=0]="DISC",t[t.CIRCLE=1]="CIRCLE",t[t.SQUARE=2]="SQUARE",t[t.DECIMAL=3]="DECIMAL",t[t.CJK_DECIMAL=4]="CJK_DECIMAL",t[t.DECIMAL_LEADING_ZERO=5]="DECIMAL_LEADING_ZERO",t[t.LOWER_ROMAN=6]="LOWER_ROMAN",t[t.UPPER_ROMAN=7]="UPPER_ROMAN",t[t.LOWER_GREEK=8]="LOWER_GREEK",t[t.LOWER_ALPHA=9]="LOWER_ALPHA",t[t.UPPER_ALPHA=10]="UPPER_ALPHA",t[t.ARABIC_INDIC=11]="ARABIC_INDIC",t[t.ARMENIAN=12]="ARMENIAN",t[t.BENGALI=13]="BENGALI",t[t.CAMBODIAN=14]="CAMBODIAN",t[t.CJK_EARTHLY_BRANCH=15]="CJK_EARTHLY_BRANCH",t[t.CJK_HEAVENLY_STEM=16]="CJK_HEAVENLY_STEM",t[t.CJK_IDEOGRAPHIC=17]="CJK_IDEOGRAPHIC",t[t.DEVANAGARI=18]="DEVANAGARI",t[t.ETHIOPIC_NUMERIC=19]="ETHIOPIC_NUMERIC",t[t.GEORGIAN=20]="GEORGIAN",t[t.GUJARATI=21]="GUJARATI",t[t.GURMUKHI=22]="GURMUKHI",t[t.HEBREW=22]="HEBREW",t[t.HIRAGANA=23]="HIRAGANA",t[t.HIRAGANA_IROHA=24]="HIRAGANA_IROHA",t[t.JAPANESE_FORMAL=25]="JAPANESE_FORMAL",t[t.JAPANESE_INFORMAL=26]="JAPANESE_INFORMAL",t[t.KANNADA=27]="KANNADA",t[t.KATAKANA=28]="KATAKANA",t[t.KATAKANA_IROHA=29]="KATAKANA_IROHA",t[t.KHMER=30]="KHMER",t[t.KOREAN_HANGUL_FORMAL=31]="KOREAN_HANGUL_FORMAL",t[t.KOREAN_HANJA_FORMAL=32]="KOREAN_HANJA_FORMAL",t[t.KOREAN_HANJA_INFORMAL=33]="KOREAN_HANJA_INFORMAL",t[t.LAO=34]="LAO",t[t.LOWER_ARMENIAN=35]="LOWER_ARMENIAN",t[t.MALAYALAM=36]="MALAYALAM",t[t.MONGOLIAN=37]="MONGOLIAN",t[t.MYANMAR=38]="MYANMAR",t[t.ORIYA=39]="ORIYA",t[t.PERSIAN=40]="PERSIAN",t[t.SIMP_CHINESE_FORMAL=41]="SIMP_CHINESE_FORMAL",t[t.SIMP_CHINESE_INFORMAL=42]="SIMP_CHINESE_INFORMAL",t[t.TAMIL=43]="TAMIL",t[t.TELUGU=44]="TELUGU",t[t.THAI=45]="THAI",t[t.TIBETAN=46]="TIBETAN",t[t.TRAD_CHINESE_FORMAL=47]="TRAD_CHINESE_FORMAL",t[t.TRAD_CHINESE_INFORMAL=48]="TRAD_CHINESE_INFORMAL",t[t.UPPER_ARMENIAN=49]="UPPER_ARMENIAN",t[t.DISCLOSURE_OPEN=50]="DISCLOSURE_OPEN",t[t.DISCLOSURE_CLOSED=51]="DISCLOSURE_CLOSED"}(FA||(FA={}));var UA,NA={name:"list-style-type",initialValue:"none",prefix:!1,type:ne.IDENT_VALUE,parse:function(t){switch(t){case"disc":return FA.DISC;case"circle":return FA.CIRCLE;case"square":return FA.SQUARE;case"decimal":return FA.DECIMAL;case"cjk-decimal":return FA.CJK_DECIMAL;case"decimal-leading-zero":return FA.DECIMAL_LEADING_ZERO;case"lower-roman":return FA.LOWER_ROMAN;case"upper-roman":return FA.UPPER_ROMAN;case"lower-greek":return FA.LOWER_GREEK;case"lower-alpha":return FA.LOWER_ALPHA;case"upper-alpha":return FA.UPPER_ALPHA;case"arabic-indic":return FA.ARABIC_INDIC;case"armenian":return FA.ARMENIAN;case"bengali":return FA.BENGALI;case"cambodian":return FA.CAMBODIAN;case"cjk-earthly-branch":return FA.CJK_EARTHLY_BRANCH;case"cjk-heavenly-stem":return FA.CJK_HEAVENLY_STEM;case"cjk-ideographic":return FA.CJK_IDEOGRAPHIC;case"devanagari":return FA.DEVANAGARI;case"ethiopic-numeric":return FA.ETHIOPIC_NUMERIC;case"georgian":return FA.GEORGIAN;case"gujarati":return FA.GUJARATI;case"gurmukhi":return FA.GURMUKHI;case"hebrew":return FA.HEBREW;case"hiragana":return FA.HIRAGANA;case"hiragana-iroha":return FA.HIRAGANA_IROHA;case"japanese-formal":return FA.JAPANESE_FORMAL;case"japanese-informal":return FA.JAPANESE_INFORMAL;case"kannada":return FA.KANNADA;case"katakana":return FA.KATAKANA;case"katakana-iroha":return FA.KATAKANA_IROHA;case"khmer":return FA.KHMER;case"korean-hangul-formal":return FA.KOREAN_HANGUL_FORMAL;case"korean-hanja-formal":return FA.KOREAN_HANJA_FORMAL;case"korean-hanja-informal":return FA.KOREAN_HANJA_INFORMAL;case"lao":return FA.LAO;case"lower-armenian":return FA.LOWER_ARMENIAN;case"malayalam":return FA.MALAYALAM;case"mongolian":return FA.MONGOLIAN;case"myanmar":return FA.MYANMAR;case"oriya":return FA.ORIYA;case"persian":return FA.PERSIAN;case"simp-chinese-formal":return FA.SIMP_CHINESE_FORMAL;case"simp-chinese-informal":return FA.SIMP_CHINESE_INFORMAL;case"tamil":return FA.TAMIL;case"telugu":return FA.TELUGU;case"thai":return FA.THAI;case"tibetan":return FA.TIBETAN;case"trad-chinese-formal":return FA.TRAD_CHINESE_FORMAL;case"trad-chinese-informal":return FA.TRAD_CHINESE_INFORMAL;case"upper-armenian":return FA.UPPER_ARMENIAN;case"disclosure-open":return FA.DISCLOSURE_OPEN;case"disclosure-closed":return FA.DISCLOSURE_CLOSED;default:return FA.NONE}}},EA=function(t){return{name:"margin-"+t,initialValue:"0",prefix:!1,type:ne.TOKEN_VALUE}},LA=EA("top"),xA=EA("right"),HA=EA("bottom"),SA=EA("left");!function(t){t[t.VISIBLE=0]="VISIBLE",t[t.HIDDEN=1]="HIDDEN",t[t.SCROLL=2]="SCROLL",t[t.AUTO=3]="AUTO"}(UA||(UA={}));var IA,_A={name:"overflow",initialValue:"visible",prefix:!1,type:ne.LIST,parse:function(t){return t.filter(St).map((function(t){switch(t.value){case"hidden":return UA.HIDDEN;case"scroll":return UA.SCROLL;case"auto":return UA.AUTO;default:return UA.VISIBLE}}))}};!function(t){t.NORMAL="normal",t.BREAK_WORD="break-word"}(IA||(IA={}));var TA,OA={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:ne.IDENT_VALUE,parse:function(t){return"break-word"===t?IA.BREAK_WORD:IA.NORMAL}},RA=function(t){return{name:"padding-"+t,initialValue:"0",prefix:!1,type:ne.TYPE_VALUE,format:"length-percentage"}},PA=RA("top"),MA=RA("right"),KA=RA("bottom"),DA=RA("left");!function(t){t[t.LEFT=0]="LEFT",t[t.CENTER=1]="CENTER",t[t.RIGHT=2]="RIGHT"}(TA||(TA={}));var kA,zA={name:"text-align",initialValue:"left",prefix:!1,type:ne.IDENT_VALUE,parse:function(t){switch(t){case"right":return TA.RIGHT;case"center":case"justify":return TA.CENTER;default:return TA.LEFT}}};!function(t){t[t.STATIC=0]="STATIC",t[t.RELATIVE=1]="RELATIVE",t[t.ABSOLUTE=2]="ABSOLUTE",t[t.FIXED=3]="FIXED",t[t.STICKY=4]="STICKY"}(kA||(kA={}));var jA,qA={name:"position",initialValue:"static",prefix:!1,type:ne.IDENT_VALUE,parse:function(t){switch(t){case"relative":return kA.RELATIVE;case"absolute":return kA.ABSOLUTE;case"fixed":return kA.FIXED;case"sticky":return kA.STICKY}return kA.STATIC}},VA={name:"text-shadow",initialValue:"none",type:ne.LIST,prefix:!1,parse:function(t){return 1===t.length&&_t(t[0],"none")?[]:Rt(t).map((function(t){for(var e={color:ae.TRANSPARENT,offsetX:kt,offsetY:kt,blur:kt},A=0,r=0;r1?1:0],this.overflowWrap=Fr(OA,t.overflowWrap),this.paddingTop=Fr(PA,t.paddingTop),this.paddingRight=Fr(MA,t.paddingRight),this.paddingBottom=Fr(KA,t.paddingBottom),this.paddingLeft=Fr(DA,t.paddingLeft),this.position=Fr(qA,t.position),this.textAlign=Fr(zA,t.textAlign),this.textDecorationColor=Fr(or,t.textDecorationColor||t.color),this.textDecorationLine=Fr(sr,t.textDecorationLine),this.textShadow=Fr(VA,t.textShadow),this.textTransform=Fr(XA,t.textTransform),this.transform=Fr(JA,t.transform),this.transformOrigin=Fr($A,t.transformOrigin),this.visibility=Fr(er,t.visibility),this.wordBreak=Fr(rr,t.wordBreak),this.zIndex=Fr(nr,t.zIndex)}return t.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&this.visibility===GA.VISIBLE},t.prototype.isTransparent=function(){return Zt(this.backgroundColor)},t.prototype.isTransformed=function(){return null!==this.transform},t.prototype.isPositioned=function(){return this.position!==kA.STATIC},t.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},t.prototype.isFloating=function(){return this.float!==rA.NONE},t.prototype.isInlineLevel=function(){return dr(this.display,4)||dr(this.display,33554432)||dr(this.display,268435456)||dr(this.display,536870912)||dr(this.display,67108864)||dr(this.display,134217728)},t}(),Cr=function(t){this.content=Fr(pr,t.content),this.quotes=Fr(wr,t.quotes)},Qr=function(t){this.counterIncrement=Fr(Br,t.counterIncrement),this.counterReset=Fr(gr,t.counterReset)},Fr=function(t,e){var A=new Et,r=null!=e?e.toString():t.initialValue;A.write(r);var n=new Lt(A.read());switch(t.type){case ne.IDENT_VALUE:var i=n.parseComponentValue();return t.parse(St(i)?i.value:t.initialValue);case ne.VALUE:return t.parse(n.parseComponentValue());case ne.LIST:return t.parse(n.parseComponentValues());case ne.TOKEN_VALUE:return n.parseComponentValue();case ne.TYPE_VALUE:switch(t.format){case"angle":return Gt(n.parseComponentValue());case"color":return Yt(n.parseComponentValue());case"image":return Oe(n.parseComponentValue());case"length":var o=n.parseComponentValue();return Mt(o)?o:kt;case"length-percentage":var s=n.parseComponentValue();return Kt(s)?s:kt}}throw new Error("Attempting to parse unsupported css format type "+t.format)},br=function(t){this.styles=new vr(window.getComputedStyle(t,null)),this.textNodes=[],this.elements=[],null!==this.styles.transform&&tn(t)&&(t.style.transform="none"),this.bounds=o(t),this.flags=0},Ur=function(t,e){this.text=t,this.bounds=e},Nr=function(t){var e=t.ownerDocument;if(e){var A=e.createElement("html2canvaswrapper");A.appendChild(t.cloneNode(!0));var r=t.parentNode;if(r){r.replaceChild(A,t);var n=o(A);return A.firstChild&&r.replaceChild(A.firstChild,A),n}}return new i(0,0,0,0)},Er=function(t,e,A){var r=t.ownerDocument;if(!r)throw new Error("Node has no owner document");var n=r.createRange();return n.setStart(t,e),n.setEnd(t,e+A),i.fromClientRect(n.getBoundingClientRect())},Lr=function(t,e){for(var A,r=function(t,e){var A=s(t),r=function(t,e){e||(e={lineBreak:"normal",wordBreak:"normal"});var A=function(t,e){void 0===e&&(e="strict");var A=[],r=[],n=[];return t.forEach((function(t,i){var o=M.get(t);if(o>50?(n.push(!0),o-=50):n.push(!1),-1!==["normal","auto","loose"].indexOf(e)&&-1!==[8208,8211,12316,12448].indexOf(t))return r.push(i),A.push(16);if(4===o||11===o){if(0===i)return r.push(i),A.push(L);var s=A[i-1];return-1===j.indexOf(s)?(r.push(r[i-1]),A.push(s)):(r.push(i),A.push(L))}return r.push(i),31===o?A.push("strict"===e?C:_):o===P||29===o?A.push(L):43===o?t>=131072&&t<=196605||t>=196608&&t<=262141?A.push(_):A.push(L):void A.push(o)})),[r,A,n]}(t,e.lineBreak),r=A[0],n=A[1],i=A[2];return"break-all"!==e.wordBreak&&"break-word"!==e.wordBreak||(n=n.map((function(t){return-1!==[b,L,P].indexOf(t)?_:t}))),[r,n,"keep-all"===e.wordBreak?i.map((function(e,A){return e&&t[A]>=19968&&t[A]<=40959})):void 0]}(A,e),n=r[0],i=r[1],o=r[2],a=A.length,c=0,u=0;return{next:function(){if(u>=a)return{done:!0,value:null};for(var t="\xd7";u0)if(Ce.SUPPORT_RANGE_BOUNDS)n.push(new Ur(t,Er(A,i,t.length)));else{var r=A.splitText(t.length);n.push(new Ur(t,Nr(A))),A=r}else Ce.SUPPORT_RANGE_BOUNDS||(A=A.splitText(t.length));i+=t.length})),n}(this.text,e,t)},Hr=function(t,e){switch(e){case jA.LOWERCASE:return t.toLowerCase();case jA.CAPITALIZE:return t.replace(Sr,Ir);case jA.UPPERCASE:return t.toUpperCase();default:return t}},Sr=/(^|\s|:|-|\(|\))([a-z])/g,Ir=function(t,e,A){return t.length>0?e+A.toUpperCase():t},_r=function(t){function A(e){var A=t.call(this,e)||this;return A.src=e.currentSrc||e.src,A.intrinsicWidth=e.naturalWidth,A.intrinsicHeight=e.naturalHeight,Fe.getInstance().addImage(A.src),A}return e(A,t),A}(br),Tr=function(t){function A(e){var A=t.call(this,e)||this;return A.canvas=e,A.intrinsicWidth=e.width,A.intrinsicHeight=e.height,A}return e(A,t),A}(br),Or=function(t){function A(e){var A=t.call(this,e)||this,r=new XMLSerializer;return A.svg="data:image/svg+xml,"+encodeURIComponent(r.serializeToString(e)),A.intrinsicWidth=e.width.baseVal.value,A.intrinsicHeight=e.height.baseVal.value,Fe.getInstance().addImage(A.svg),A}return e(A,t),A}(br),Rr=function(t){function A(e){var A=t.call(this,e)||this;return A.value=e.value,A}return e(A,t),A}(br),Pr=function(t){function A(e){var A=t.call(this,e)||this;return A.start=e.start,A.reversed="boolean"==typeof e.reversed&&!0===e.reversed,A}return e(A,t),A}(br),Mr=[{type:h.DIMENSION_TOKEN,flags:0,unit:"px",number:3}],Kr=[{type:h.PERCENTAGE_TOKEN,flags:0,number:50}],Dr=function(t){function A(e){var A,r,n,o=t.call(this,e)||this;switch(o.type=e.type.toLowerCase(),o.checked=e.checked,o.value=0===(r="password"===(A=e).type?new Array(A.value.length+1).join("\u2022"):A.value).length?A.placeholder||"":r,"checkbox"!==o.type&&"radio"!==o.type||(o.styles.backgroundColor=3739148031,o.styles.borderTopColor=o.styles.borderRightColor=o.styles.borderBottomColor=o.styles.borderLeftColor=2779096575,o.styles.borderTopWidth=o.styles.borderRightWidth=o.styles.borderBottomWidth=o.styles.borderLeftWidth=1,o.styles.borderTopStyle=o.styles.borderRightStyle=o.styles.borderBottomStyle=o.styles.borderLeftStyle=je.SOLID,o.styles.backgroundClip=[ie.BORDER_BOX],o.styles.backgroundOrigin=[0],o.bounds=(n=o.bounds).width>n.height?new i(n.left+(n.width-n.height)/2,n.top,n.height,n.height):n.width0)A.textNodes.push(new xr(n,A.styles));else if($r(n)){var o=Xr(n);o.styles.isVisible()&&(Wr(n,o,r)?o.flags|=4:Yr(o.styles)&&(o.flags|=2),-1!==Vr.indexOf(n.tagName)&&(o.flags|=8),A.elements.push(o),fn(n)||on(n)||dn(n)||t(n,o,r))}},Xr=function(t){return cn(t)?new _r(t):an(t)?new Tr(t):on(t)?new Or(t):An(t)?new Rr(t):rn(t)?new Pr(t):nn(t)?new Dr(t):dn(t)?new kr(t):fn(t)?new zr(t):un(t)?new qr(t):new br(t)},Jr=function(t){var e=Xr(t);return e.flags|=4,Gr(t,e,e),e},Wr=function(t,e,A){return e.styles.isPositionedWithZIndex()||e.styles.opacity<1||e.styles.isTransformed()||sn(t)&&A.styles.isTransparent()},Yr=function(t){return t.isPositioned()||t.isFloating()},Zr=function(t){return t.nodeType===Node.TEXT_NODE},$r=function(t){return t.nodeType===Node.ELEMENT_NODE},tn=function(t){return $r(t)&&void 0!==t.style&&!en(t)},en=function(t){return"object"==typeof t.className},An=function(t){return"LI"===t.tagName},rn=function(t){return"OL"===t.tagName},nn=function(t){return"INPUT"===t.tagName},on=function(t){return"svg"===t.tagName},sn=function(t){return"BODY"===t.tagName},an=function(t){return"CANVAS"===t.tagName},cn=function(t){return"IMG"===t.tagName},un=function(t){return"IFRAME"===t.tagName},ln=function(t){return"STYLE"===t.tagName},hn=function(t){return"SCRIPT"===t.tagName},fn=function(t){return"TEXTAREA"===t.tagName},dn=function(t){return"SELECT"===t.tagName},pn=function(){function t(){this.counters={}}return t.prototype.getCounterValue=function(t){var e=this.counters[t];return e&&e.length?e[e.length-1]:1},t.prototype.getCounterValues=function(t){return this.counters[t]||[]},t.prototype.pop=function(t){var e=this;t.forEach((function(t){return e.counters[t].pop()}))},t.prototype.parse=function(t){var e=this,A=t.counterIncrement,r=t.counterReset,n=!0;null!==A&&A.forEach((function(t){var A=e.counters[t.counter];A&&0!==t.increment&&(n=!1,A[Math.max(0,A.length-1)]+=t.increment)}));var i=[];return n&&r.forEach((function(t){var A=e.counters[t.counter];i.push(t.counter),A||(A=e.counters[t.counter]=[]),A.push(t.reset)})),i},t}(),Bn={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},gn={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["\u0554","\u0553","\u0552","\u0551","\u0550","\u054f","\u054e","\u054d","\u054c","\u054b","\u054a","\u0549","\u0548","\u0547","\u0546","\u0545","\u0544","\u0543","\u0542","\u0541","\u0540","\u053f","\u053e","\u053d","\u053c","\u053b","\u053a","\u0539","\u0538","\u0537","\u0536","\u0535","\u0534","\u0533","\u0532","\u0531"]},wn={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["\u05d9\u05f3","\u05d8\u05f3","\u05d7\u05f3","\u05d6\u05f3","\u05d5\u05f3","\u05d4\u05f3","\u05d3\u05f3","\u05d2\u05f3","\u05d1\u05f3","\u05d0\u05f3","\u05ea","\u05e9","\u05e8","\u05e7","\u05e6","\u05e4","\u05e2","\u05e1","\u05e0","\u05de","\u05dc","\u05db","\u05d9\u05d8","\u05d9\u05d7","\u05d9\u05d6","\u05d8\u05d6","\u05d8\u05d5","\u05d9","\u05d8","\u05d7","\u05d6","\u05d5","\u05d4","\u05d3","\u05d2","\u05d1","\u05d0"]},mn={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["\u10f5","\u10f0","\u10ef","\u10f4","\u10ee","\u10ed","\u10ec","\u10eb","\u10ea","\u10e9","\u10e8","\u10e7","\u10e6","\u10e5","\u10e4","\u10f3","\u10e2","\u10e1","\u10e0","\u10df","\u10de","\u10dd","\u10f2","\u10dc","\u10db","\u10da","\u10d9","\u10d8","\u10d7","\u10f1","\u10d6","\u10d5","\u10d4","\u10d3","\u10d2","\u10d1","\u10d0"]},yn=function(t,e,A,r,n,i){return tA?bn(t,n,i.length>0):r.integers.reduce((function(e,A,n){for(;t>=A;)t-=A,e+=r.values[n];return e}),"")+i},vn=function(t,e,A,r){var n="";do{A||t--,n=r(t)+n,t/=e}while(t*e>=e);return n},Cn=function(t,e,A,r,n){var i=A-e+1;return(t<0?"-":"")+(vn(Math.abs(t),i,r,(function(t){return a(Math.floor(t%i)+e)}))+n)},Qn=function(t,e,A){void 0===A&&(A=". ");var r=e.length;return vn(Math.abs(t),r,!1,(function(t){return e[Math.floor(t%r)]}))+A},Fn=function(t,e,A,r,n,i){if(t<-9999||t>9999)return bn(t,FA.CJK_DECIMAL,n.length>0);var o=Math.abs(t),s=n;if(0===o)return e[0]+s;for(var a=0;o>0&&a<=4;a++){var c=o%10;0===c&&dr(i,1)&&""!==s?s=e[c]+s:c>1||1===c&&0===a||1===c&&1===a&&dr(i,2)||1===c&&1===a&&dr(i,4)&&t>100||1===c&&a>1&&dr(i,8)?s=e[c]+(a>0?A[a-1]:"")+s:1===c&&a>0&&(s=A[a-1]+s),o=Math.floor(o/10)}return(t<0?r:"")+s},bn=function(t,e,A){var r=A?". ":"",n=A?"\u3001":"",i=A?", ":"",o=A?" ":"";switch(e){case FA.DISC:return"\u2022"+o;case FA.CIRCLE:return"\u25e6"+o;case FA.SQUARE:return"\u25fe"+o;case FA.DECIMAL_LEADING_ZERO:var s=Cn(t,48,57,!0,r);return s.length<4?"0"+s:s;case FA.CJK_DECIMAL:return Qn(t,"\u3007\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d",n);case FA.LOWER_ROMAN:return yn(t,1,3999,Bn,FA.DECIMAL,r).toLowerCase();case FA.UPPER_ROMAN:return yn(t,1,3999,Bn,FA.DECIMAL,r);case FA.LOWER_GREEK:return Cn(t,945,969,!1,r);case FA.LOWER_ALPHA:return Cn(t,97,122,!1,r);case FA.UPPER_ALPHA:return Cn(t,65,90,!1,r);case FA.ARABIC_INDIC:return Cn(t,1632,1641,!0,r);case FA.ARMENIAN:case FA.UPPER_ARMENIAN:return yn(t,1,9999,gn,FA.DECIMAL,r);case FA.LOWER_ARMENIAN:return yn(t,1,9999,gn,FA.DECIMAL,r).toLowerCase();case FA.BENGALI:return Cn(t,2534,2543,!0,r);case FA.CAMBODIAN:case FA.KHMER:return Cn(t,6112,6121,!0,r);case FA.CJK_EARTHLY_BRANCH:return Qn(t,"\u5b50\u4e11\u5bc5\u536f\u8fb0\u5df3\u5348\u672a\u7533\u9149\u620c\u4ea5",n);case FA.CJK_HEAVENLY_STEM:return Qn(t,"\u7532\u4e59\u4e19\u4e01\u620a\u5df1\u5e9a\u8f9b\u58ec\u7678",n);case FA.CJK_IDEOGRAPHIC:case FA.TRAD_CHINESE_INFORMAL:return Fn(t,"\u96f6\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d","\u5341\u767e\u5343\u842c","\u8ca0",n,14);case FA.TRAD_CHINESE_FORMAL:return Fn(t,"\u96f6\u58f9\u8cb3\u53c3\u8086\u4f0d\u9678\u67d2\u634c\u7396","\u62fe\u4f70\u4edf\u842c","\u8ca0",n,15);case FA.SIMP_CHINESE_INFORMAL:return Fn(t,"\u96f6\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d","\u5341\u767e\u5343\u842c","\u8d1f",n,14);case FA.SIMP_CHINESE_FORMAL:return Fn(t,"\u96f6\u58f9\u8d30\u53c1\u8086\u4f0d\u9646\u67d2\u634c\u7396","\u62fe\u4f70\u4edf\u842c","\u8d1f",n,15);case FA.JAPANESE_INFORMAL:return Fn(t,"\u3007\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d","\u5341\u767e\u5343\u4e07","\u30de\u30a4\u30ca\u30b9",n,0);case FA.JAPANESE_FORMAL:return Fn(t,"\u96f6\u58f1\u5f10\u53c2\u56db\u4f0d\u516d\u4e03\u516b\u4e5d","\u62fe\u767e\u5343\u4e07","\u30de\u30a4\u30ca\u30b9",n,7);case FA.KOREAN_HANGUL_FORMAL:return Fn(t,"\uc601\uc77c\uc774\uc0bc\uc0ac\uc624\uc721\uce60\ud314\uad6c","\uc2ed\ubc31\ucc9c\ub9cc","\ub9c8\uc774\ub108\uc2a4",i,7);case FA.KOREAN_HANJA_INFORMAL:return Fn(t,"\u96f6\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d","\u5341\u767e\u5343\u842c","\ub9c8\uc774\ub108\uc2a4",i,0);case FA.KOREAN_HANJA_FORMAL:return Fn(t,"\u96f6\u58f9\u8cb3\u53c3\u56db\u4e94\u516d\u4e03\u516b\u4e5d","\u62fe\u767e\u5343","\ub9c8\uc774\ub108\uc2a4",i,7);case FA.DEVANAGARI:return Cn(t,2406,2415,!0,r);case FA.GEORGIAN:return yn(t,1,19999,mn,FA.DECIMAL,r);case FA.GUJARATI:return Cn(t,2790,2799,!0,r);case FA.GURMUKHI:return Cn(t,2662,2671,!0,r);case FA.HEBREW:return yn(t,1,10999,wn,FA.DECIMAL,r);case FA.HIRAGANA:return Qn(t,"\u3042\u3044\u3046\u3048\u304a\u304b\u304d\u304f\u3051\u3053\u3055\u3057\u3059\u305b\u305d\u305f\u3061\u3064\u3066\u3068\u306a\u306b\u306c\u306d\u306e\u306f\u3072\u3075\u3078\u307b\u307e\u307f\u3080\u3081\u3082\u3084\u3086\u3088\u3089\u308a\u308b\u308c\u308d\u308f\u3090\u3091\u3092\u3093");case FA.HIRAGANA_IROHA:return Qn(t,"\u3044\u308d\u306f\u306b\u307b\u3078\u3068\u3061\u308a\u306c\u308b\u3092\u308f\u304b\u3088\u305f\u308c\u305d\u3064\u306d\u306a\u3089\u3080\u3046\u3090\u306e\u304a\u304f\u3084\u307e\u3051\u3075\u3053\u3048\u3066\u3042\u3055\u304d\u3086\u3081\u307f\u3057\u3091\u3072\u3082\u305b\u3059");case FA.KANNADA:return Cn(t,3302,3311,!0,r);case FA.KATAKANA:return Qn(t,"\u30a2\u30a4\u30a6\u30a8\u30aa\u30ab\u30ad\u30af\u30b1\u30b3\u30b5\u30b7\u30b9\u30bb\u30bd\u30bf\u30c1\u30c4\u30c6\u30c8\u30ca\u30cb\u30cc\u30cd\u30ce\u30cf\u30d2\u30d5\u30d8\u30db\u30de\u30df\u30e0\u30e1\u30e2\u30e4\u30e6\u30e8\u30e9\u30ea\u30eb\u30ec\u30ed\u30ef\u30f0\u30f1\u30f2\u30f3",n);case FA.KATAKANA_IROHA:return Qn(t,"\u30a4\u30ed\u30cf\u30cb\u30db\u30d8\u30c8\u30c1\u30ea\u30cc\u30eb\u30f2\u30ef\u30ab\u30e8\u30bf\u30ec\u30bd\u30c4\u30cd\u30ca\u30e9\u30e0\u30a6\u30f0\u30ce\u30aa\u30af\u30e4\u30de\u30b1\u30d5\u30b3\u30a8\u30c6\u30a2\u30b5\u30ad\u30e6\u30e1\u30df\u30b7\u30f1\u30d2\u30e2\u30bb\u30b9",n);case FA.LAO:return Cn(t,3792,3801,!0,r);case FA.MONGOLIAN:return Cn(t,6160,6169,!0,r);case FA.MYANMAR:return Cn(t,4160,4169,!0,r);case FA.ORIYA:return Cn(t,2918,2927,!0,r);case FA.PERSIAN:return Cn(t,1776,1785,!0,r);case FA.TAMIL:return Cn(t,3046,3055,!0,r);case FA.TELUGU:return Cn(t,3174,3183,!0,r);case FA.THAI:return Cn(t,3664,3673,!0,r);case FA.TIBETAN:return Cn(t,3872,3881,!0,r);case FA.DECIMAL:default:return Cn(t,48,57,!0,r)}},Un=function(){function t(t,e){if(this.options=e,this.scrolledElements=[],this.referenceElement=t,this.counters=new pn,this.quoteDepth=0,!t.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(t.ownerDocument.documentElement)}return t.prototype.toIFrame=function(t,e){var A=this,i=En(t,e);if(!i.contentWindow)return Promise.reject("Unable to find iframe window");var o=t.defaultView.pageXOffset,s=t.defaultView.pageYOffset,a=i.contentWindow,c=a.document,u=Ln(i).then((function(){return r(A,void 0,void 0,(function(){var t;return n(this,(function(A){switch(A.label){case 0:return this.scrolledElements.forEach(In),a&&(a.scrollTo(e.left,e.top),!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)||a.scrollY===e.top&&a.scrollX===e.left||(c.documentElement.style.top=-e.top+"px",c.documentElement.style.left=-e.left+"px",c.documentElement.style.position="absolute")),t=this.options.onclone,void 0===this.clonedReferenceElement?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:c.fonts&&c.fonts.ready?[4,c.fonts.ready]:[3,2];case 1:A.sent(),A.label=2;case 2:return"function"==typeof t?[2,Promise.resolve().then((function(){return t(c)})).then((function(){return i}))]:[2,i]}}))}))}));return c.open(),c.write(Hn(document.doctype)+""),Sn(this.referenceElement.ownerDocument,o,s),c.replaceChild(c.adoptNode(this.documentElement),c.documentElement),c.close(),u},t.prototype.createElementClone=function(t){if(an(t))return this.createCanvasClone(t);if(ln(t))return this.createStyleClone(t);var e=t.cloneNode(!1);return cn(e)&&"lazy"===e.loading&&(e.loading="eager"),e},t.prototype.createStyleClone=function(t){try{var e=t.sheet;if(e&&e.cssRules){var A=[].slice.call(e.cssRules,0).reduce((function(t,e){return e&&"string"==typeof e.cssText?t+e.cssText:t}),""),r=t.cloneNode(!1);return r.textContent=A,r}}catch(t){if(Qe.getInstance(this.options.id).error("Unable to access cssRules property",t),"SecurityError"!==t.name)throw t}return t.cloneNode(!1)},t.prototype.createCanvasClone=function(t){if(this.options.inlineImages&&t.ownerDocument){var e=t.ownerDocument.createElement("img");try{return e.src=t.toDataURL(),e}catch(t){Qe.getInstance(this.options.id).info("Unable to clone canvas contents, canvas is tainted")}}var A=t.cloneNode(!1);try{A.width=t.width,A.height=t.height;var r=t.getContext("2d"),n=A.getContext("2d");return n&&(r?n.putImageData(r.getImageData(0,0,t.width,t.height),0,0):n.drawImage(t,0,0)),A}catch(t){}return A},t.prototype.cloneNode=function(t){if(Zr(t))return document.createTextNode(t.data);if(!t.ownerDocument)return t.cloneNode(!1);var e=t.ownerDocument.defaultView;if(e&&$r(t)&&(tn(t)||en(t))){var A=this.createElementClone(t),r=e.getComputedStyle(t),n=e.getComputedStyle(t,":before"),i=e.getComputedStyle(t,":after");this.referenceElement===t&&tn(A)&&(this.clonedReferenceElement=A),sn(A)&&On(A);for(var o=this.counters.parse(new Qr(r)),s=this.resolvePseudoContent(t,A,n,hr.BEFORE),a=t.firstChild;a;a=a.nextSibling)$r(a)&&(hn(a)||a.hasAttribute("data-html2canvas-ignore")||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(a))||this.options.copyStyles&&$r(a)&&ln(a)||A.appendChild(this.cloneNode(a));s&&A.insertBefore(s,A.firstChild);var c=this.resolvePseudoContent(t,A,i,hr.AFTER);return c&&A.appendChild(c),this.counters.pop(o),r&&(this.options.copyStyles||en(t))&&!un(t)&&xn(r,A),0===t.scrollTop&&0===t.scrollLeft||this.scrolledElements.push([A,t.scrollLeft,t.scrollTop]),(fn(t)||dn(t))&&(fn(A)||dn(A))&&(A.value=t.value),A}return t.cloneNode(!1)},t.prototype.resolvePseudoContent=function(t,e,A,r){var n=this;if(A){var i=A.content,o=e.ownerDocument;if(o&&i&&"none"!==i&&"-moz-alt-content"!==i&&"none"!==A.display){this.counters.parse(new Qr(A));var s=new Cr(A),a=o.createElement("html2canvaspseudoelement");xn(A,a),s.content.forEach((function(e){if(e.type===h.STRING_TOKEN)a.appendChild(o.createTextNode(e.value));else if(e.type===h.URL_TOKEN){var A=o.createElement("img");A.src=e.value,A.style.opacity="1",a.appendChild(A)}else if(e.type===h.FUNCTION){if("attr"===e.name){var r=e.values.filter(St);r.length&&a.appendChild(o.createTextNode(t.getAttribute(r[0].value)||""))}else if("counter"===e.name){var i=e.values.filter(Ot),c=i[0],u=i[1];if(c&&St(c)){var l=n.counters.getCounterValue(c.value),f=u&&St(u)?NA.parse(u.value):FA.DECIMAL;a.appendChild(o.createTextNode(bn(l,f,!1)))}}else if("counters"===e.name){var d=e.values.filter(Ot),p=(c=d[0],d[1]);if(u=d[2],c&&St(c)){var B=n.counters.getCounterValues(c.value),g=u&&St(u)?NA.parse(u.value):FA.DECIMAL,w=p&&p.type===h.STRING_TOKEN?p.value:"",m=B.map((function(t){return bn(t,g,!1)})).join(w);a.appendChild(o.createTextNode(m))}}}else if(e.type===h.IDENT_TOKEN)switch(e.value){case"open-quote":a.appendChild(o.createTextNode(mr(s.quotes,n.quoteDepth++,!0)));break;case"close-quote":a.appendChild(o.createTextNode(mr(s.quotes,--n.quoteDepth,!1)));break;default:a.appendChild(o.createTextNode(e.value))}})),a.className=_n+" "+Tn;var c=r===hr.BEFORE?" "+_n:" "+Tn;return en(e)?e.className.baseValue+=c:e.className+=c,a}}},t.destroy=function(t){return!!t.parentNode&&(t.parentNode.removeChild(t),!0)},t}();!function(t){t[t.BEFORE=0]="BEFORE",t[t.AFTER=1]="AFTER"}(hr||(hr={}));var Nn,En=function(t,e){var A=t.createElement("iframe");return A.className="html2canvas-container",A.style.visibility="hidden",A.style.position="fixed",A.style.left="-10000px",A.style.top="0px",A.style.border="0",A.width=e.width.toString(),A.height=e.height.toString(),A.scrolling="no",A.setAttribute("data-html2canvas-ignore","true"),t.body.appendChild(A),A},Ln=function(t){return new Promise((function(e,A){var r=t.contentWindow;if(!r)return A("No window assigned for iframe");var n=r.document;r.onload=t.onload=n.onreadystatechange=function(){r.onload=t.onload=n.onreadystatechange=null;var A=setInterval((function(){n.body.childNodes.length>0&&"complete"===n.readyState&&(clearInterval(A),e(t))}),50)}}))},xn=function(t,e){for(var A=t.length-1;A>=0;A--){var r=t.item(A);"content"!==r&&e.style.setProperty(r,t.getPropertyValue(r))}return e},Hn=function(t){var e="";return t&&(e+=""),e},Sn=function(t,e,A){t&&t.defaultView&&(e!==t.defaultView.pageXOffset||A!==t.defaultView.pageYOffset)&&t.defaultView.scrollTo(e,A)},In=function(t){var e=t[0],A=t[1],r=t[2];e.scrollLeft=A,e.scrollTop=r},_n="___html2canvas___pseudoelement_before",Tn="___html2canvas___pseudoelement_after",On=function(t){Rn(t,"."+_n+':before{\n content: "" !important;\n display: none !important;\n}\n .'+Tn+':after{\n content: "" !important;\n display: none !important;\n}')},Rn=function(t,e){var A=t.ownerDocument;if(A){var r=A.createElement("style");r.textContent=e,t.appendChild(r)}};!function(t){t[t.VECTOR=0]="VECTOR",t[t.BEZIER_CURVE=1]="BEZIER_CURVE"}(Nn||(Nn={}));var Pn,Mn=function(t,e){return t.length===e.length&&t.some((function(t,A){return t===e[A]}))},Kn=function(){function t(t,e){this.type=Nn.VECTOR,this.x=t,this.y=e}return t.prototype.add=function(e,A){return new t(this.x+e,this.y+A)},t}(),Dn=function(t,e,A){return new Kn(t.x+(e.x-t.x)*A,t.y+(e.y-t.y)*A)},kn=function(){function t(t,e,A,r){this.type=Nn.BEZIER_CURVE,this.start=t,this.startControl=e,this.endControl=A,this.end=r}return t.prototype.subdivide=function(e,A){var r=Dn(this.start,this.startControl,e),n=Dn(this.startControl,this.endControl,e),i=Dn(this.endControl,this.end,e),o=Dn(r,n,e),s=Dn(n,i,e),a=Dn(o,s,e);return A?new t(this.start,r,o,a):new t(a,s,i,this.end)},t.prototype.add=function(e,A){return new t(this.start.add(e,A),this.startControl.add(e,A),this.endControl.add(e,A),this.end.add(e,A))},t.prototype.reverse=function(){return new t(this.end,this.endControl,this.startControl,this.start)},t}(),zn=function(t){return t.type===Nn.BEZIER_CURVE},jn=function(t){var e=t.styles,A=t.bounds,r=qt(e.borderTopLeftRadius,A.width,A.height),n=r[0],i=r[1],o=qt(e.borderTopRightRadius,A.width,A.height),s=o[0],a=o[1],c=qt(e.borderBottomRightRadius,A.width,A.height),u=c[0],l=c[1],h=qt(e.borderBottomLeftRadius,A.width,A.height),f=h[0],d=h[1],p=[];p.push((n+s)/A.width),p.push((f+u)/A.width),p.push((i+d)/A.height),p.push((a+l)/A.height);var B=Math.max.apply(Math,p);B>1&&(n/=B,i/=B,s/=B,a/=B,u/=B,l/=B,f/=B,d/=B);var g=A.width-s,w=A.height-l,m=A.width-u,y=A.height-d,v=e.borderTopWidth,C=e.borderRightWidth,Q=e.borderBottomWidth,F=e.borderLeftWidth,b=Vt(e.paddingTop,t.bounds.width),U=Vt(e.paddingRight,t.bounds.width),N=Vt(e.paddingBottom,t.bounds.width),E=Vt(e.paddingLeft,t.bounds.width);this.topLeftBorderBox=n>0||i>0?qn(A.left,A.top,n,i,Pn.TOP_LEFT):new Kn(A.left,A.top),this.topRightBorderBox=s>0||a>0?qn(A.left+g,A.top,s,a,Pn.TOP_RIGHT):new Kn(A.left+A.width,A.top),this.bottomRightBorderBox=u>0||l>0?qn(A.left+m,A.top+w,u,l,Pn.BOTTOM_RIGHT):new Kn(A.left+A.width,A.top+A.height),this.bottomLeftBorderBox=f>0||d>0?qn(A.left,A.top+y,f,d,Pn.BOTTOM_LEFT):new Kn(A.left,A.top+A.height),this.topLeftPaddingBox=n>0||i>0?qn(A.left+F,A.top+v,Math.max(0,n-F),Math.max(0,i-v),Pn.TOP_LEFT):new Kn(A.left+F,A.top+v),this.topRightPaddingBox=s>0||a>0?qn(A.left+Math.min(g,A.width+F),A.top+v,g>A.width+F?0:s-F,a-v,Pn.TOP_RIGHT):new Kn(A.left+A.width-C,A.top+v),this.bottomRightPaddingBox=u>0||l>0?qn(A.left+Math.min(m,A.width-F),A.top+Math.min(w,A.height+v),Math.max(0,u-C),l-Q,Pn.BOTTOM_RIGHT):new Kn(A.left+A.width-C,A.top+A.height-Q),this.bottomLeftPaddingBox=f>0||d>0?qn(A.left+F,A.top+y,Math.max(0,f-F),d-Q,Pn.BOTTOM_LEFT):new Kn(A.left+F,A.top+A.height-Q),this.topLeftContentBox=n>0||i>0?qn(A.left+F+E,A.top+v+b,Math.max(0,n-(F+E)),Math.max(0,i-(v+b)),Pn.TOP_LEFT):new Kn(A.left+F+E,A.top+v+b),this.topRightContentBox=s>0||a>0?qn(A.left+Math.min(g,A.width+F+E),A.top+v+b,g>A.width+F+E?0:s-F+E,a-(v+b),Pn.TOP_RIGHT):new Kn(A.left+A.width-(C+U),A.top+v+b),this.bottomRightContentBox=u>0||l>0?qn(A.left+Math.min(m,A.width-(F+E)),A.top+Math.min(w,A.height+v+b),Math.max(0,u-(C+U)),l-(Q+N),Pn.BOTTOM_RIGHT):new Kn(A.left+A.width-(C+U),A.top+A.height-(Q+N)),this.bottomLeftContentBox=f>0||d>0?qn(A.left+F+E,A.top+y,Math.max(0,f-(F+E)),d-(Q+N),Pn.BOTTOM_LEFT):new Kn(A.left+F+E,A.top+A.height-(Q+N))};!function(t){t[t.TOP_LEFT=0]="TOP_LEFT",t[t.TOP_RIGHT=1]="TOP_RIGHT",t[t.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",t[t.BOTTOM_LEFT=3]="BOTTOM_LEFT"}(Pn||(Pn={}));var qn=function(t,e,A,r,n){var i=(Math.sqrt(2)-1)/3*4,o=A*i,s=r*i,a=t+A,c=e+r;switch(n){case Pn.TOP_LEFT:return new kn(new Kn(t,c),new Kn(t,c-s),new Kn(a-o,e),new Kn(a,e));case Pn.TOP_RIGHT:return new kn(new Kn(t,e),new Kn(t+o,e),new Kn(a,c-s),new Kn(a,c));case Pn.BOTTOM_RIGHT:return new kn(new Kn(a,e),new Kn(a,e+s),new Kn(t+o,c),new Kn(t,c));case Pn.BOTTOM_LEFT:default:return new kn(new Kn(a,c),new Kn(a-o,c),new Kn(t,e+s),new Kn(t,e))}},Vn=function(t){return[t.topLeftBorderBox,t.topRightBorderBox,t.bottomRightBorderBox,t.bottomLeftBorderBox]},Gn=function(t){return[t.topLeftPaddingBox,t.topRightPaddingBox,t.bottomRightPaddingBox,t.bottomLeftPaddingBox]},Xn=function(t,e,A){this.type=0,this.offsetX=t,this.offsetY=e,this.matrix=A,this.target=6},Jn=function(t,e){this.type=1,this.target=e,this.path=t},Wn=function(t){this.element=t,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]},Yn=function(){function t(t,e){if(this.container=t,this.effects=e.slice(0),this.curves=new jn(t),null!==t.styles.transform){var A=t.bounds.left+t.styles.transformOrigin[0].number,r=t.bounds.top+t.styles.transformOrigin[1].number,n=t.styles.transform;this.effects.push(new Xn(A,r,n))}if(t.styles.overflowX!==UA.VISIBLE){var i=Vn(this.curves),o=Gn(this.curves);Mn(i,o)?this.effects.push(new Jn(i,6)):(this.effects.push(new Jn(i,2)),this.effects.push(new Jn(o,4)))}}return t.prototype.getParentEffects=function(){var t=this.effects.slice(0);if(this.container.styles.overflowX!==UA.VISIBLE){var e=Vn(this.curves),A=Gn(this.curves);Mn(e,A)||t.push(new Jn(A,6))}return t},t}(),Zn=function t(e,A,r,n){e.container.elements.forEach((function(i){var o=dr(i.flags,4),s=dr(i.flags,2),a=new Yn(i,e.getParentEffects());dr(i.styles.display,2048)&&n.push(a);var c=dr(i.flags,8)?[]:n;if(o||s){var u=o||i.styles.isPositioned()?r:A,l=new Wn(a);if(i.styles.isPositioned()||i.styles.opacity<1||i.styles.isTransformed()){var h=i.styles.zIndex.order;if(h<0){var f=0;u.negativeZIndex.some((function(t,e){return h>t.element.container.styles.zIndex.order?(f=e,!1):f>0})),u.negativeZIndex.splice(f,0,l)}else if(h>0){var d=0;u.positiveZIndex.some((function(t,e){return h>=t.element.container.styles.zIndex.order?(d=e+1,!1):d>0})),u.positiveZIndex.splice(d,0,l)}else u.zeroOrAutoZIndexOrTransformedOrOpacity.push(l)}else i.styles.isFloating()?u.nonPositionedFloats.push(l):u.nonPositionedInlineLevel.push(l);t(a,l,o?l:r,c)}else i.styles.isInlineLevel()?A.inlineLevel.push(a):A.nonInlineLevel.push(a),t(a,A,r,c);dr(i.flags,8)&&$n(i,c)}))},$n=function(t,e){for(var A=t instanceof Pr?t.start:1,r=t instanceof Pr&&t.reversed,n=0;n0&&t.intrinsicHeight>0){var r=Ai(t),n=Gn(e);this.path(n),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(A,0,0,t.intrinsicWidth,t.intrinsicHeight,r.left,r.top,r.width,r.height),this.ctx.restore()}},t.prototype.renderNodeContent=function(e){return r(this,void 0,void 0,(function(){var A,r,o,s,a,c,u,l,f,d,p,B,g,w;return n(this,(function(n){switch(n.label){case 0:this.applyEffects(e.effects,4),A=e.container,r=e.curves,o=A.styles,s=0,a=A.textNodes,n.label=1;case 1:return s0&&F>0&&(w=r.ctx.createPattern(p,"repeat"),r.renderRepeat(y,w,U,N))):function(t){return t.type===ce.RADIAL_GRADIENT}(A)&&(m=ri(t,e,[null,null,null]),y=m[0],v=m[1],C=m[2],Q=m[3],F=m[4],b=0===A.position.length?[zt]:A.position,U=Vt(b[0],Q),N=Vt(b[b.length-1],F),E=function(t,e,A,r,n){var i=0,o=0;switch(t.size){case le.CLOSEST_SIDE:t.shape===ue.CIRCLE?i=o=Math.min(Math.abs(e),Math.abs(e-r),Math.abs(A),Math.abs(A-n)):t.shape===ue.ELLIPSE&&(i=Math.min(Math.abs(e),Math.abs(e-r)),o=Math.min(Math.abs(A),Math.abs(A-n)));break;case le.CLOSEST_CORNER:if(t.shape===ue.CIRCLE)i=o=Math.min(Be(e,A),Be(e,A-n),Be(e-r,A),Be(e-r,A-n));else if(t.shape===ue.ELLIPSE){var s=Math.min(Math.abs(A),Math.abs(A-n))/Math.min(Math.abs(e),Math.abs(e-r)),a=ge(r,n,e,A,!0),c=a[0],u=a[1];o=s*(i=Be(c-e,(u-A)/s))}break;case le.FARTHEST_SIDE:t.shape===ue.CIRCLE?i=o=Math.max(Math.abs(e),Math.abs(e-r),Math.abs(A),Math.abs(A-n)):t.shape===ue.ELLIPSE&&(i=Math.max(Math.abs(e),Math.abs(e-r)),o=Math.max(Math.abs(A),Math.abs(A-n)));break;case le.FARTHEST_CORNER:if(t.shape===ue.CIRCLE)i=o=Math.max(Be(e,A),Be(e,A-n),Be(e-r,A),Be(e-r,A-n));else if(t.shape===ue.ELLIPSE){s=Math.max(Math.abs(A),Math.abs(A-n))/Math.max(Math.abs(e),Math.abs(e-r));var l=ge(r,n,e,A,!1);c=l[0],u=l[1],o=s*(i=Be(c-e,(u-A)/s))}}return Array.isArray(t.size)&&(i=Vt(t.size[0],r),o=2===t.size.length?Vt(t.size[1],n):i),[i,o]}(A,U,N,Q,F),L=E[0],x=E[1],L>0&&L>0&&(H=r.ctx.createRadialGradient(v+U,C+N,0,v+U,C+N,L),pe(A.stops,2*L).forEach((function(t){return H.addColorStop(t.stop,$t(t.color))})),r.path(y),r.ctx.fillStyle=H,L!==x?(S=t.bounds.left+.5*t.bounds.width,I=t.bounds.top+.5*t.bounds.height,T=1/(_=x/L),r.ctx.save(),r.ctx.translate(S,I),r.ctx.transform(1,0,0,_,0,0),r.ctx.translate(-S,-I),r.ctx.fillRect(v,T*(C-I)+I,Q,F*T),r.ctx.restore()):r.ctx.fill())),n.label=6;case 6:return e--,[2]}}))},r=this,i=0,o=t.styles.backgroundImage.slice(0).reverse(),a.label=1;case 1:return i>18&63,A=i>>12&63,r=i>>6&63,n=63&i,c[s++]=h.charAt(e)+h.charAt(A)+h.charAt(r)+h.charAt(n),o>16&255,A=o>>8&255,r=255&o,c[a++]=64==n?String.fromCharCode(e):64==i?String.fromCharCode(e,A):String.fromCharCode(e,A,r),s>>0,r=new Array(A),n=1>>0,n=0;n>>0;if("function"!=typeof t)throw new TypeError("predicate must be a function");for(var r=arguments[1],n=0;n>16&255,r=c>>8&255,i=255&c}if(void 0===r||void 0===o&&A===r&&r===i)if("string"==typeof A)e=A+" "+s[0];else if(2===t.precision)e=m(A/255)+" "+s[0];else e=y(A/255)+" "+s[0];else if(void 0===o||"object"===n(o)){if(o&&!isNaN(o.a)&&0===o.a)return["1.000","1.000","1.000",s[1]].join(" ");if("string"==typeof A)e=[A,r,i,s[1]].join(" ");else if(2===t.precision)e=[m(A/255),m(r/255),m(i/255),s[1]].join(" ");else e=[y(A/255),y(r/255),y(i/255),s[1]].join(" ")}else if("string"==typeof A)e=[A,r,i,o,s[2]].join(" ");else if(2===t.precision)e=[m(A/255),m(r/255),m(i/255),m(o/255),s[2]].join(" ");else e=[y(A/255),y(r/255),y(i/255),y(o/255),s[2]].join(" ");return e},pt=f.__private__.getFilters=function(){return c},Bt=f.__private__.putStream=function(t){var e,A=(t=t||{}).data||"",r=t.filters||pt(),n=t.alreadyAppliedFilters||[],i=t.addLength1||!1,o=A.length;!0===r&&(r=["FlateEncode"]);var a=t.additionalKeyValues||[],c=(e=void 0!==s.API.processDataByFilters?s.API.processDataByFilters(A,r):{data:A,reverseChain:[]}).reverseChain+(Array.isArray(n)?n.join(" "):n.toString());0!==e.data.length&&(a.push({key:"Length",value:e.data.length}),!0===i&&a.push({key:"Length1",value:o})),0!=c.length&&(c.split("/").length-1==1?a.push({key:"Filter",value:c}):a.push({key:"Filter",value:"["+c+"]"})),D("<<");for(var u=0;u>"),0!==e.data.length&&(D("stream"),D(e.data),D("endstream"))},gt=f.__private__.putPage=function(t){t.mediaBox;var e=t.number,A=t.data,r=t.objId,n=t.contentsObjId;ct(r,!0),rt[E].mediaBox.topRightX,rt[E].mediaBox.bottomLeftX,rt[E].mediaBox.topRightY,rt[E].mediaBox.bottomLeftY,D("<>"),D("endobj");var i=A.join("\n");return ct(n,!0),Bt({data:i,filters:pt()}),D("endobj"),r},wt=f.__private__.putPages=function(){var t,e,A=[];for(t=1;t<=At;t++)rt[t].objId=at(),rt[t].contentsObjId=at();for(t=1;t<=At;t++)A.push(gt({number:t,data:P[t],objId:rt[t].objId,contentsObjId:rt[t].contentsObjId,mediaBox:rt[t].mediaBox,cropBox:rt[t].cropBox,bleedBox:rt[t].bleedBox,trimBox:rt[t].trimBox,artBox:rt[t].artBox,userUnit:rt[t].userUnit,rootDictionaryObjId:lt,resourceDictionaryObjId:ht}));ct(lt,!0),D("<>"),D("endobj"),it.publish("postPutPages")},mt=function(t,e,A){et.hasOwnProperty(e)||(et[e]={}),et[e][A]=t},yt=function(t,e,A,r,n){n=n||!1;var i="F"+(Object.keys(tt).length+1).toString(10),o={id:i,postScriptName:t,fontName:e,fontStyle:A,encoding:r,isStandardFont:n,metadata:{}};return it.publish("addFont",{font:o,instance:this}),void 0!==i&&(tt[i]=o,mt(i,e,A)),i},vt=f.__private__.pdfEscape=f.pdfEscape=function(t,e){return function(t,e){var A,r,n,i,o,s,a,c,u;if(n=(e=e||{}).sourceEncoding||"Unicode",o=e.outputEncoding,(e.autoencode||o)&&tt[I].metadata&&tt[I].metadata[n]&&tt[I].metadata[n].encoding&&(i=tt[I].metadata[n].encoding,!o&&tt[I].encoding&&(o=tt[I].encoding),!o&&i.codePages&&(o=i.codePages[0]),"string"==typeof o&&(o=i[o]),o)){for(a=!1,s=[],A=0,r=t.length;A>8&&(a=!0);t=s.join("")}for(A=t.length;void 0===a&&0!==A;)t.charCodeAt(A-1)>>8&&(a=!0),A--;if(!a)return t;for(s=e.noBOM?[]:[254,255],A=0,r=t.length;A>8)>>8)throw new Error("Character at position "+A+" of string '"+t+"' exceeds 16bits. Cannot be encoded into UCS-2 BE");s.push(u),s.push(c-(u<<8))}return String.fromCharCode.apply(void 0,s)}(t,e).replace(/\\/g,"\\\\").replace(/\(/g,"\\(").replace(/\)/g,"\\)")},Ct=f.__private__.beginPage=function(t,e){var r,n="string"==typeof e&&e.toLowerCase();if("string"==typeof t&&(r=g(t.toLowerCase()))&&(t=r[0],e=r[1]),Array.isArray(t)&&(e=t[1],t=t[0]),(isNaN(t)||isNaN(e))&&(t=A[0],e=A[1]),n){switch(n.substr(0,1)){case"l":t>"),D("endobj")},Et=f.__private__.putCatalog=function(t){var e=(t=t||{}).rootDictionaryObjId||lt;switch(st(),D("<<"),D("/Type /Catalog"),D("/Pages "+e+" 0 R"),x||(x="fullwidth"),x){case"fullwidth":D("/OpenAction [3 0 R /FitH null]");break;case"fullheight":D("/OpenAction [3 0 R /FitV null]");break;case"fullpage":D("/OpenAction [3 0 R /Fit]");break;case"original":D("/OpenAction [3 0 R /XYZ null null 1]");break;default:var A=""+x;"%"===A.substr(A.length-1)&&(x=parseInt(x)/100),"number"==typeof x&&D("/OpenAction [3 0 R /XYZ null null "+m(x)+"]")}switch(S||(S="continuous"),S){case"continuous":D("/PageLayout /OneColumn");break;case"single":D("/PageLayout /SinglePage");break;case"two":case"twoleft":D("/PageLayout /TwoColumnLeft");break;case"tworight":D("/PageLayout /TwoColumnRight")}H&&D("/PageMode /"+H),it.publish("putCatalog"),D(">>"),D("endobj")},Lt=f.__private__.putTrailer=function(){D("trailer"),D("<<"),D("/Size "+(Z+1)),D("/Root "+Z+" 0 R"),D("/Info "+(Z-1)+" 0 R"),D("/ID [ <"+v+"> <"+v+"> ]"),D(">>")},Ht=f.__private__.putHeader=function(){D("%PDF-"+d),D("%\xba\xdf\xac\xe0")},St=f.__private__.putXRef=function(){var t=1,e="0000000000";for(D("xref"),D("0 "+(Z+1)),D("0000000000 65535 f "),t=1;t<=Z;t++)"function"==typeof $[t]?D((e+$[t]()).slice(-10)+" 00000 n "):void 0!==$[t]?D((e+$[t]).slice(-10)+" 00000 n "):D("0000000000 00000 n ")},It=f.__private__.buildDocument=function(){R=!1,K=Z=0,M=[],$=[],nt=[],lt=at(),ht=at(),it.publish("buildDocument"),Ht(),wt(),function(){it.publish("putAdditionalObjects");for(var t=0;t>"),D("endobj")));var e}(),it.publish("putResources"),ct(ht,!0),D("<<"),function(){for(var t in D("/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]"),D("/Font <<"),tt)tt.hasOwnProperty(t)&&(!1===l||!0===l&&h.hasOwnProperty(t))&&D("/"+t+" "+tt[t].objectNumber+" 0 R");D(">>"),D("/XObject <<"),it.publish("putXobjectDict"),D(">>")}(),D(">>"),D("endobj"),it.publish("postPutResources"),Nt(),Et();var t=K;return St(),Lt(),D("startxref"),D(""+t),D("%%EOF"),R=!0,M.join("\n")},_t=f.__private__.getBlob=function(t){return new Blob([z(t)],{type:"application/pdf"})},Tt=f.output=f.__private__.output=((T=function(t,e){e=e||{};var A=It();switch("string"==typeof e?e={filename:e}:e.filename=e.filename||"generated.pdf",t){case void 0:return A;case"save":f.save(e.filename);break;case"arraybuffer":return z(A);case"blob":return _t(A);case"bloburi":case"bloburl":if(void 0!==r.URL&&"function"==typeof r.URL.createObjectURL)return r.URL&&r.URL.createObjectURL(_t(A))||void 0;console.warn("bloburl is not supported by your system, because URL.createObjectURL is not supported by your browser.");break;case"datauristring":case"dataurlstring":return"data:application/pdf;filename="+e.filename+";base64,"+btoa(A);case"dataurlnewwindow":var n='',i=r.open();if(null!==i&&i.document.write(n),i||"undefined"==typeof safari)return i;case"datauri":case"dataurl":return r.document.location.href="data:application/pdf;filename="+e.filename+";base64,"+btoa(A);default:return null}}).foo=function(){try{return T.apply(this,arguments)}catch(A){var t=A.stack||"";~t.indexOf(" at ")&&(t=t.split(" at ")[1]);var e="Error in function "+t.split("\n")[0].split("<")[0]+": "+A.message;if(!r.console)throw new Error(e);r.console.error(e,A),r.alert&&alert(e)}},(T.foo.bar=T).foo),Ot=function(t){return!0===Array.isArray(ot)&&-1":")"),et=1):(Y=Xt(e),Z=Jt(A),$=(c?"<":"(")+C[W]+(c?">":")")),void 0!==z&&void 0!==z[W]&&(At=z[W]+" Tw\n"),0!==L.length&&0===W?t.push(At+L.join(" ")+" "+Y.toFixed(2)+" "+Z.toFixed(2)+" Tm\n"+$):1===et||0===et&&0===W?t.push(At+Y.toFixed(2)+" "+Z.toFixed(2)+" Td\n"+$):t.push(At+$);t=0===et?t.join(" Tj\nT* "):t.join(" Tj\n"),t+=" Tj\n";var rt="BT\n/"+I+" "+q+" Tf\n"+(q*l).toFixed(2)+" TL\n"+te+"\n";return rt+=u,rt+=t,D(rt+="ET"),h[I]=!0,f},f.__private__.lstext=f.lstext=function(t,e,A,r){return console.warn("jsPDF.lstext is deprecated"),this.text(t,e,A,{charSpace:r})},f.__private__.clip=f.clip=function(t){D("evenodd"===t?"W*":"W"),D("n")},f.__private__.clip_fixed=f.clip_fixed=function(t){console.log("clip_fixed is deprecated"),f.clip(t)};var Kt=f.__private__.isValidStyle=function(t){var e=!1;return-1!==[void 0,null,"S","F","DF","FD","f","f*","B","B*"].indexOf(t)&&(e=!0),e},Dt=f.__private__.getStyle=function(t){var e="S";return"F"===t?e="f":"FD"===t||"DF"===t?e="B":"f"!==t&&"f*"!==t&&"B"!==t&&"B*"!==t||(e=t),e};f.__private__.line=f.line=function(t,e,A,r){if(isNaN(t)||isNaN(e)||isNaN(A)||isNaN(r))throw new Error("Invalid arguments passed to jsPDF.line");return this.lines([[A-t,r-e]],t,e)},f.__private__.lines=f.lines=function(t,e,A,r,n,i){var o,s,a,c,u,l,h,f,d,p,B,g;if("number"==typeof t&&(g=A,A=e,e=t,t=g),r=r||[1,1],i=i||!1,isNaN(e)||isNaN(A)||!Array.isArray(t)||!Array.isArray(r)||!Kt(n)||"boolean"!=typeof i)throw new Error("Invalid arguments passed to jsPDF.lines");for(D(y(Xt(e))+" "+y(Jt(A))+" m "),o=r[0],s=r[1],c=t.length,p=e,B=A,a=0;a=o.length-1;if(F&&!b){m+=" ";continue}if(F||b){if(b)g=Q;else if(t.multiline&&c<(h+2)*(y+2)+2)continue t}else{if(!t.multiline)continue t;if(c<(h+2)*(y+2)+2)continue t;g=Q}for(var U="",N=B;N<=g;N++)U+=o[N]+" ";switch(U=" "==U.substr(U.length-1)?U.substr(0,U.length-1):U,w=C(U,t,a).width,t.textAlign){case"right":d=u-w-2;break;case"center":d=(u-w)/2;break;default:d=2}e+=s(d)+" "+s(p)+" Td\n",e+="("+i(U)+") Tj\n",e+=-s(d)+" 0 Td\n",p=-(a+2),w=0,B=g+1,y++,m=""}break}return n.text=e,n.fontSize=a,n},C=function(t,e,r){var n=A.internal.getFont(e.fontName,e.fontStyle),i=A.getStringUnitWidth(t,{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r);return{height:A.getStringUnitWidth("3",{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r)*1.5,width:i}},Q={fields:[],xForms:[],acroFormDictionaryRoot:null,printedOut:!1,internal:null,isInitialized:!1},F=function(){A.internal.acroformPlugin.acroFormDictionaryRoot.objId=void 0;var t=A.internal.acroformPlugin.acroFormDictionaryRoot.Fields;for(var e in t)if(t.hasOwnProperty(e)){var r=t[e];r.objId=void 0,r.hasAnnotation&&b.call(A,r)}},b=function(t){var e={type:"reference",object:t};void 0===A.internal.getPageInfo(t.page).pageContext.annotations.find((function(t){return t.type===e.type&&t.object===e.object}))&&A.internal.getPageInfo(t.page).pageContext.annotations.push(e)},U=function(){if(void 0===A.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error("putCatalogCallback: Root missing.");A.internal.write("/AcroForm "+A.internal.acroformPlugin.acroFormDictionaryRoot.objId+" 0 R")},N=function(){A.internal.events.unsubscribe(A.internal.acroformPlugin.acroFormDictionaryRoot._eventID),delete A.internal.acroformPlugin.acroFormDictionaryRoot._eventID,A.internal.acroformPlugin.printedOut=!0},E=function(t){var e=!t;for(var r in t||(A.internal.newObjectDeferredBegin(A.internal.acroformPlugin.acroFormDictionaryRoot.objId,!0),A.internal.acroformPlugin.acroFormDictionaryRoot.putStream()),t=t||A.internal.acroformPlugin.acroFormDictionaryRoot.Kids)if(t.hasOwnProperty(r)){var i=t[r],o=[],s=i.Rect;if(i.Rect&&(i.Rect=m.call(this,i.Rect)),A.internal.newObjectDeferredBegin(i.objId,!0),i.DA=X.createDefaultAppearanceStream(i),"object"===n(i)&&"function"==typeof i.getKeyValueListForStream&&(o=i.getKeyValueListForStream()),i.Rect=s,i.hasAppearanceStream&&!i.appearanceStreamContent){var a=y.call(this,i);o.push({key:"AP",value:"<>"}),A.internal.acroformPlugin.xForms.push(a)}if(i.appearanceStreamContent){var c="";for(var u in i.appearanceStreamContent)if(i.appearanceStreamContent.hasOwnProperty(u)){var l=i.appearanceStreamContent[u];if(c+="/"+u+" ",c+="<<",1<=Object.keys(l).length||Array.isArray(l))for(var r in l){var h;l.hasOwnProperty(r)&&("function"==typeof(h=l[r])&&(h=h.call(this,i)),c+="/"+r+" "+h+" ",0<=A.internal.acroformPlugin.xForms.indexOf(h)||A.internal.acroformPlugin.xForms.push(h))}else"function"==typeof(h=l)&&(h=h.call(this,i)),c+="/"+r+" "+h,0<=A.internal.acroformPlugin.xForms.indexOf(h)||A.internal.acroformPlugin.xForms.push(h);c+=">>"}o.push({key:"AP",value:"<<\n"+c+">>"})}A.internal.putStream({additionalKeyValues:o}),A.internal.out("endobj")}e&&L.call(this,A.internal.acroformPlugin.xForms)},L=function(t){for(var e in t)if(t.hasOwnProperty(e)){var r=e,i=t[e];A.internal.newObjectDeferredBegin(i&&i.objId,!0),"object"===n(i)&&"function"==typeof i.putStream&&i.putStream(),delete t[r]}},x=function(){if(void 0!==this.internal&&(void 0===this.internal.acroformPlugin||!1===this.internal.acroformPlugin.isInitialized)){if(A=this,O.FieldNum=0,this.internal.acroformPlugin=JSON.parse(JSON.stringify(Q)),this.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error("Exception while creating AcroformDictionary");r=A.internal.scaleFactor,A.internal.acroformPlugin.acroFormDictionaryRoot=new T,A.internal.acroformPlugin.acroFormDictionaryRoot._eventID=A.internal.events.subscribe("postPutResources",N),A.internal.events.subscribe("buildDocument",F),A.internal.events.subscribe("putCatalog",U),A.internal.events.subscribe("postPutPages",E),A.internal.acroformPlugin.isInitialized=!0}},H=t.__acroform__.arrayToPdfArray=function(t){if(Array.isArray(t)){for(var e="[",A=0;A>"),A.join("\n")}},set:function(t){"object"===n(t)&&(e=t)}}),Object.defineProperty(this,"caption",{enumerable:!0,configurable:!0,get:function(){return e.CA||""},set:function(t){"string"==typeof t&&(e.CA=t)}}),Object.defineProperty(this,"AS",{enumerable:!1,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,"appearanceState",{enumerable:!0,configurable:!0,get:function(){return t.substr(1,t.length-1)},set:function(e){t="/"+e}})};c(D,O);var k=function(){D.call(this),this.pushButton=!0};c(k,D);var z=function(){D.call(this),this.radio=!0,this.pushButton=!1;var t=[];Object.defineProperty(this,"Kids",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=void 0!==e?e:[]}})};c(z,D);var j=function(){var t,e;O.call(this),Object.defineProperty(this,"Parent",{enumerable:!1,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,"optionName",{enumerable:!1,configurable:!0,get:function(){return e},set:function(t){e=t}});var A,r={};Object.defineProperty(this,"MK",{enumerable:!1,configurable:!1,get:function(){var t,e=[];for(t in e.push("<<"),r)e.push("/"+t+" ("+r[t]+")");return e.push(">>"),e.join("\n")},set:function(t){"object"===n(t)&&(r=t)}}),Object.defineProperty(this,"caption",{enumerable:!0,configurable:!0,get:function(){return r.CA||""},set:function(t){"string"==typeof t&&(r.CA=t)}}),Object.defineProperty(this,"AS",{enumerable:!1,configurable:!1,get:function(){return A},set:function(t){A=t}}),Object.defineProperty(this,"appearanceState",{enumerable:!0,configurable:!0,get:function(){return A.substr(1,A.length-1)},set:function(t){A="/"+t}}),this.optionName=name,this.caption="l",this.appearanceState="Off",this._AppearanceType=X.RadioButton.Circle,this.appearanceStreamContent=this._AppearanceType.createAppearanceStream(name)};c(j,O),z.prototype.setAppearance=function(t){if(!("createAppearanceStream"in t)||!("getCA"in t))throw new Error("Couldn't assign Appearance to RadioButton. Appearance was Invalid!");for(var e in this.Kids)if(this.Kids.hasOwnProperty(e)){var A=this.Kids[e];A.appearanceStreamContent=t.createAppearanceStream(A.optionName),A.caption=t.getCA()}},z.prototype.createOption=function(t){this.Kids.length;var e=new j;return e.Parent=this,e.optionName=t,this.Kids.push(e),J.call(this,e),e};var q=function(){D.call(this),this.fontName="zapfdingbats",this.caption="3",this.appearanceState="On",this.value="On",this.textAlign="center",this.appearanceStreamContent=X.CheckBox.createAppearanceStream()};c(q,D);var V=function(){O.call(this),this.FT="/Tx",Object.defineProperty(this,"multiline",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,13))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,13):this.Ff=w(this.Ff,13)}}),Object.defineProperty(this,"fileSelect",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,21))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,21):this.Ff=w(this.Ff,21)}}),Object.defineProperty(this,"doNotSpellCheck",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,23))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,23):this.Ff=w(this.Ff,23)}}),Object.defineProperty(this,"doNotScroll",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,24))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,24):this.Ff=w(this.Ff,24)}}),Object.defineProperty(this,"comb",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,25))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,25):this.Ff=w(this.Ff,25)}}),Object.defineProperty(this,"richText",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,26))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,26):this.Ff=w(this.Ff,26)}});var t=null;Object.defineProperty(this,"MaxLen",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,"maxLength",{enumerable:!0,configurable:!0,get:function(){return t},set:function(e){Number.isInteger(e)&&(t=e)}}),Object.defineProperty(this,"hasAppearanceStream",{enumerable:!0,configurable:!0,get:function(){return this.V||this.DV}})};c(V,O);var G=function(){V.call(this),Object.defineProperty(this,"password",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,14))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,14):this.Ff=w(this.Ff,14)}}),this.password=!0};c(G,V);var X={CheckBox:{createAppearanceStream:function(){return{N:{On:X.CheckBox.YesNormal},D:{On:X.CheckBox.YesPushDown,Off:X.CheckBox.OffPushDown}}},YesPushDown:function(t){var e=h(t),r=[],n=A.internal.getFont(t.fontName,t.fontStyle).id,i=A.__private__.encodeColorString(t.color),o=v(t,t.caption);return r.push("0.749023 g"),r.push("0 0 "+s(X.internal.getWidth(t))+" "+s(X.internal.getHeight(t))+" re"),r.push("f"),r.push("BMC"),r.push("q"),r.push("0 0 1 rg"),r.push("/"+n+" "+s(o.fontSize)+" Tf "+i),r.push("BT"),r.push(o.text),r.push("ET"),r.push("Q"),r.push("EMC"),e.stream=r.join("\n"),e},YesNormal:function(t){var e=h(t),r=A.internal.getFont(t.fontName,t.fontStyle).id,n=A.__private__.encodeColorString(t.color),i=[],o=X.internal.getHeight(t),a=X.internal.getWidth(t),c=v(t,t.caption);return i.push("1 g"),i.push("0 0 "+s(a)+" "+s(o)+" re"),i.push("f"),i.push("q"),i.push("0 0 1 rg"),i.push("0 0 "+s(a-1)+" "+s(o-1)+" re"),i.push("W"),i.push("n"),i.push("0 g"),i.push("BT"),i.push("/"+r+" "+s(c.fontSize)+" Tf "+n),i.push(c.text),i.push("ET"),i.push("Q"),e.stream=i.join("\n"),e},OffPushDown:function(t){var e=h(t),A=[];return A.push("0.749023 g"),A.push("0 0 "+s(X.internal.getWidth(t))+" "+s(X.internal.getHeight(t))+" re"),A.push("f"),e.stream=A.join("\n"),e}},RadioButton:{Circle:{createAppearanceStream:function(t){var e={D:{Off:X.RadioButton.Circle.OffPushDown},N:{}};return e.N[t]=X.RadioButton.Circle.YesNormal,e.D[t]=X.RadioButton.Circle.YesPushDown,e},getCA:function(){return"l"},YesNormal:function(t){var e=h(t),A=[],r=X.internal.getWidth(t)<=X.internal.getHeight(t)?X.internal.getWidth(t)/4:X.internal.getHeight(t)/4;r=Number((.9*r).toFixed(5));var n=X.internal.Bezier_C,i=Number((r*n).toFixed(5));return A.push("q"),A.push("1 0 0 1 "+a(X.internal.getWidth(t)/2)+" "+a(X.internal.getHeight(t)/2)+" cm"),A.push(r+" 0 m"),A.push(r+" "+i+" "+i+" "+r+" 0 "+r+" c"),A.push("-"+i+" "+r+" -"+r+" "+i+" -"+r+" 0 c"),A.push("-"+r+" -"+i+" -"+i+" -"+r+" 0 -"+r+" c"),A.push(i+" -"+r+" "+r+" -"+i+" "+r+" 0 c"),A.push("f"),A.push("Q"),e.stream=A.join("\n"),e},YesPushDown:function(t){var e=h(t),A=[],r=X.internal.getWidth(t)<=X.internal.getHeight(t)?X.internal.getWidth(t)/4:X.internal.getHeight(t)/4,n=(r=Number((.9*r).toFixed(5)),Number((2*r).toFixed(5))),i=Number((n*X.internal.Bezier_C).toFixed(5)),o=Number((r*X.internal.Bezier_C).toFixed(5));return A.push("0.749023 g"),A.push("q"),A.push("1 0 0 1 "+a(X.internal.getWidth(t)/2)+" "+a(X.internal.getHeight(t)/2)+" cm"),A.push(n+" 0 m"),A.push(n+" "+i+" "+i+" "+n+" 0 "+n+" c"),A.push("-"+i+" "+n+" -"+n+" "+i+" -"+n+" 0 c"),A.push("-"+n+" -"+i+" -"+i+" -"+n+" 0 -"+n+" c"),A.push(i+" -"+n+" "+n+" -"+i+" "+n+" 0 c"),A.push("f"),A.push("Q"),A.push("0 g"),A.push("q"),A.push("1 0 0 1 "+a(X.internal.getWidth(t)/2)+" "+a(X.internal.getHeight(t)/2)+" cm"),A.push(r+" 0 m"),A.push(r+" "+o+" "+o+" "+r+" 0 "+r+" c"),A.push("-"+o+" "+r+" -"+r+" "+o+" -"+r+" 0 c"),A.push("-"+r+" -"+o+" -"+o+" -"+r+" 0 -"+r+" c"),A.push(o+" -"+r+" "+r+" -"+o+" "+r+" 0 c"),A.push("f"),A.push("Q"),e.stream=A.join("\n"),e},OffPushDown:function(t){var e=h(t),A=[],r=X.internal.getWidth(t)<=X.internal.getHeight(t)?X.internal.getWidth(t)/4:X.internal.getHeight(t)/4,n=(r=Number((.9*r).toFixed(5)),Number((2*r).toFixed(5))),i=Number((n*X.internal.Bezier_C).toFixed(5));return A.push("0.749023 g"),A.push("q"),A.push("1 0 0 1 "+a(X.internal.getWidth(t)/2)+" "+a(X.internal.getHeight(t)/2)+" cm"),A.push(n+" 0 m"),A.push(n+" "+i+" "+i+" "+n+" 0 "+n+" c"),A.push("-"+i+" "+n+" -"+n+" "+i+" -"+n+" 0 c"),A.push("-"+n+" -"+i+" -"+i+" -"+n+" 0 -"+n+" c"),A.push(i+" -"+n+" "+n+" -"+i+" "+n+" 0 c"),A.push("f"),A.push("Q"),e.stream=A.join("\n"),e}},Cross:{createAppearanceStream:function(t){var e={D:{Off:X.RadioButton.Cross.OffPushDown},N:{}};return e.N[t]=X.RadioButton.Cross.YesNormal,e.D[t]=X.RadioButton.Cross.YesPushDown,e},getCA:function(){return"8"},YesNormal:function(t){var e=h(t),A=[],r=X.internal.calculateCross(t);return A.push("q"),A.push("1 1 "+s(X.internal.getWidth(t)-2)+" "+s(X.internal.getHeight(t)-2)+" re"),A.push("W"),A.push("n"),A.push(s(r.x1.x)+" "+s(r.x1.y)+" m"),A.push(s(r.x2.x)+" "+s(r.x2.y)+" l"),A.push(s(r.x4.x)+" "+s(r.x4.y)+" m"),A.push(s(r.x3.x)+" "+s(r.x3.y)+" l"),A.push("s"),A.push("Q"),e.stream=A.join("\n"),e},YesPushDown:function(t){var e=h(t),A=X.internal.calculateCross(t),r=[];return r.push("0.749023 g"),r.push("0 0 "+s(X.internal.getWidth(t))+" "+s(X.internal.getHeight(t))+" re"),r.push("f"),r.push("q"),r.push("1 1 "+s(X.internal.getWidth(t)-2)+" "+s(X.internal.getHeight(t)-2)+" re"),r.push("W"),r.push("n"),r.push(s(A.x1.x)+" "+s(A.x1.y)+" m"),r.push(s(A.x2.x)+" "+s(A.x2.y)+" l"),r.push(s(A.x4.x)+" "+s(A.x4.y)+" m"),r.push(s(A.x3.x)+" "+s(A.x3.y)+" l"),r.push("s"),r.push("Q"),e.stream=r.join("\n"),e},OffPushDown:function(t){var e=h(t),A=[];return A.push("0.749023 g"),A.push("0 0 "+s(X.internal.getWidth(t))+" "+s(X.internal.getHeight(t))+" re"),A.push("f"),e.stream=A.join("\n"),e}}},createDefaultAppearanceStream:function(t){var e=A.internal.getFont(t.fontName,t.fontStyle).id,r=A.__private__.encodeColorString(t.color);return"/"+e+" "+t.fontSize+" Tf "+r}};X.internal={Bezier_C:.551915024494,calculateCross:function(t){var e=X.internal.getWidth(t),A=X.internal.getHeight(t),r=Math.min(e,A);return{x1:{x:(e-r)/2,y:(A-r)/2+r},x2:{x:(e-r)/2+r,y:(A-r)/2},x3:{x:(e-r)/2,y:(A-r)/2},x4:{x:(e-r)/2+r,y:(A-r)/2+r}}}},X.internal.getWidth=function(t){var e=0;return"object"===n(t)&&(e=u(t.Rect[2])),e},X.internal.getHeight=function(t){var e=0;return"object"===n(t)&&(e=u(t.Rect[3])),e};var J=t.addField=function(t){if(x.call(this),!(t instanceof O))throw new Error("Invalid argument passed to jsPDF.addField.");return function(t){A.internal.acroformPlugin.printedOut&&(A.internal.acroformPlugin.printedOut=!1,A.internal.acroformPlugin.acroFormDictionaryRoot=null),A.internal.acroformPlugin.acroFormDictionaryRoot||x.call(A),A.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(t)}.call(this,t),t.page=A.internal.getCurrentPageInfo().pageNumber,this};t.addButton=function(t){if(t instanceof D==0)throw new Error("Invalid argument passed to jsPDF.addButton.");return J.call(this,t)},t.addTextField=function(t){if(t instanceof V==0)throw new Error("Invalid argument passed to jsPDF.addTextField.");return J.call(this,t)},t.addChoiceField=function(t){if(t instanceof R==0)throw new Error("Invalid argument passed to jsPDF.addChoiceField.");return J.call(this,t)},"object"==n(e)&&void 0===e.ChoiceField&&void 0===e.ListBox&&void 0===e.ComboBox&&void 0===e.EditBox&&void 0===e.Button&&void 0===e.PushButton&&void 0===e.RadioButton&&void 0===e.CheckBox&&void 0===e.TextField&&void 0===e.PasswordField?(e.ChoiceField=R,e.ListBox=P,e.ComboBox=M,e.EditBox=K,e.Button=D,e.PushButton=k,e.RadioButton=z,e.CheckBox=q,e.TextField=V,e.PasswordField=G,e.AcroForm={Appearance:X}):console.warn("AcroForm-Classes are not populated into global-namespace, because the class-Names exist already."),t.AcroFormChoiceField=R,t.AcroFormListBox=P,t.AcroFormComboBox=M,t.AcroFormEditBox=K,t.AcroFormButton=D,t.AcroFormPushButton=k,t.AcroFormRadioButton=z,t.AcroFormCheckBox=q,t.AcroFormTextField=V,t.AcroFormPasswordField=G,t.AcroFormAppearance=X,t.AcroForm={ChoiceField:R,ListBox:P,ComboBox:M,EditBox:K,Button:D,PushButton:k,RadioButton:z,CheckBox:q,TextField:V,PasswordField:G,Appearance:X}})((window.tmp=dt).API,"undefined"!=typeof window&&window||void 0!==r&&r),function(t){var e="addImage_",A={PNG:[[137,80,78,71]],TIFF:[[77,77,0,42],[73,73,42,0]],JPEG:[[255,216,255,224,void 0,void 0,74,70,73,70,0],[255,216,255,225,void 0,void 0,69,120,105,102,0,0]],JPEG2000:[[0,0,0,12,106,80,32,32]],GIF87a:[[71,73,70,56,55,97]],GIF89a:[[71,73,70,56,57,97]],BMP:[[66,77],[66,65],[67,73],[67,80],[73,67],[80,84]]},r=t.getImageFileTypeByImageData=function(e,r){var n,i;r=r||"UNKNOWN";var o,s,a,c="UNKNOWN";for(a in t.isArrayBufferView(e)&&(e=t.arrayBufferToBinaryString(e)),A)for(o=A[a],n=0;n>"}),"trns"in e&&e.trns.constructor==Array){for(var s="",a=0,c=e.trns.length;a>18]+r[(258048&e)>>12]+r[(4032&e)>>6]+r[63&e];return 1==o?A+=r[(252&(e=n[s]))>>2]+r[(3&e)<<4]+"==":2==o&&(A+=r[(64512&(e=n[s]<<8|n[s+1]))>>10]+r[(1008&e)>>4]+r[(15&e)<<2]+"="),A},t.createImageInfo=function(t,e,A,r,n,i,o,s,a,c,u,l,h){var f={alias:s,w:e,h:A,cs:r,bpc:n,i:o,data:t};return i&&(f.f=i),a&&(f.dp=a),c&&(f.trns=c),u&&(f.pal=u),l&&(f.smask=l),h&&(f.p=h),f},t.addImage=function(A,r,i,h,f,d,p,B,g){var w="";if("string"!=typeof r){var m=d;d=f,f=h,h=i,i=r,r=m}if("object"===n(A)&&!c(A)&&"imageData"in A){var y=A;A=y.imageData,r=y.format||r||"UNKNOWN",i=y.x||i||0,h=y.y||h||0,f=y.w||f,d=y.h||d,p=y.alias||p,B=y.compression||B,g=y.rotation||y.angle||g}var v=this.internal.getFilters();if(void 0===B&&-1!==v.indexOf("FlateEncode")&&(B="SLOW"),"string"==typeof A&&(A=unescape(A)),isNaN(i)||isNaN(h))throw console.error("jsPDF.addImage: Invalid coordinates",arguments),new Error("Invalid coordinates passed to jsPDF.addImage");var C,Q,F,b,U,N,E,L=function(){var t=this.internal.collections[e+"images"];return t||(this.internal.collections[e+"images"]=t={},this.internal.events.subscribe("putResources",o),this.internal.events.subscribe("putXobjectDict",s)),t}.call(this);if(!((C=l(A,L))||(c(A)&&(A=u(A,r)),(null==(E=p)||0===E.length)&&(p="string"==typeof(N=A)?t.sHashCode(N):t.isArrayBufferView(N)?t.sHashCode(t.arrayBufferToBinaryString(N)):null),C=l(p,L)))){if(this.isString(A)&&(""!==(w=this.convertStringToImageData(A))||void 0!==(w=t.loadFile(A)))&&(A=w),r=this.getImageFileTypeByImageData(A,r),!a(r))throw new Error("addImage does not support files of type '"+r+"', please ensure that a plugin for '"+r+"' support is added.");if(this.supportsArrayBuffer()&&(A instanceof Uint8Array||(Q=A,A=this.binaryStringToUint8Array(A))),!(C=this["process"+r.toUpperCase()](A,(U=0,(b=L)&&(U=Object.keys?Object.keys(b).length:function(t){var e=0;for(var A in t)t.hasOwnProperty(A)&&e++;return e}(b)),U),p,((F=B)&&"string"==typeof F&&(F=F.toUpperCase()),F in t.image_compression?F:t.image_compression.NONE),Q)))throw new Error("An unknown error occurred whilst processing the image")}return function(t,e,A,r,n,i,o,s){var a=function(t,e,A){return t||e||(e=t=-96),t<0&&(t=-1*A.w*72/t/this.internal.scaleFactor),e<0&&(e=-1*A.h*72/e/this.internal.scaleFactor),0===t&&(t=e*A.w/A.h),0===e&&(e=t*A.h/A.w),[t,e]}.call(this,A,r,n),c=this.internal.getCoordinateString,u=this.internal.getVerticalCoordinateString;if(A=a[0],r=a[1],o[i]=n,s){s*=Math.PI/180;var l=Math.cos(s),h=Math.sin(s),f=function(t){return t.toFixed(4)},d=[f(l),f(h),f(-1*h),f(l),0,0,"cm"]}this.internal.write("q"),s?(this.internal.write([1,"0","0",1,c(t),u(e+r),"cm"].join(" ")),this.internal.write(d.join(" ")),this.internal.write([c(A),"0","0",c(r),"0","0","cm"].join(" "))):this.internal.write([c(A),"0","0",c(r),c(t),u(e+r),"cm"].join(" ")),this.internal.write("/I"+n.i+" Do"),this.internal.write("Q")}.call(this,i,h,f,d,C,C.i,L,g),this},t.convertStringToImageData=function(e){var A,r="";if(this.isString(e)){var n;A=null!==(n=this.extractImageFromDataUrl(e))?n.data:e;try{r=atob(A)}catch(e){throw t.validateStringAsBase64(A)?new Error("atob-Error in jsPDF.convertStringToImageData "+e.message):new Error("Supplied Data is not a valid base64-String jsPDF.convertStringToImageData ")}}return r};var h=function(t,e){return t.subarray(e,e+5)};t.processJPEG=function(t,e,A,n,i,o){var s,a=this.decode.DCT_DECODE;if(!this.isString(t)&&!this.isArrayBuffer(t)&&!this.isArrayBufferView(t))return null;if(this.isString(t)&&(s=function(t){var e;if("JPEG"!==r(t))throw new Error("getJpegSize requires a binary string jpeg file");for(var A=256*t.charCodeAt(4)+t.charCodeAt(5),n=4,i=t.length;n>",c.content=B;var h=c.objId+" 0 R";B="<>";else if(a.options.pageNumber)switch(B="<>",this.internal.write(B))}}this.internal.write("]")}}]),o.createAnnotation=function(t){var e=this.internal.getCurrentPageInfo();switch(t.type){case"link":this.link(t.bounds.x,t.bounds.y,t.bounds.w,t.bounds.h,t);break;case"text":case"freetext":e.pageContext.annotations.push(t)}},o.link=function(t,e,A,r,n){this.internal.getCurrentPageInfo().pageContext.annotations.push({x:t,y:e,w:A,h:r,options:n,type:"link"})},o.textWithLink=function(t,e,A,r){var n=this.getTextWidth(t),i=this.internal.getLineHeight()/this.internal.scaleFactor;return this.text(t,e,A),A+=.2*i,this.link(e,A-i,n,i,r),n},o.getTextWidth=function(t){var e=this.internal.getFontSize();return this.getStringUnitWidth(t)*e/this.internal.scaleFactor},function(t){var e={1569:[65152],1570:[65153,65154],1571:[65155,65156],1572:[65157,65158],1573:[65159,65160],1574:[65161,65162,65163,65164],1575:[65165,65166],1576:[65167,65168,65169,65170],1577:[65171,65172],1578:[65173,65174,65175,65176],1579:[65177,65178,65179,65180],1580:[65181,65182,65183,65184],1581:[65185,65186,65187,65188],1582:[65189,65190,65191,65192],1583:[65193,65194],1584:[65195,65196],1585:[65197,65198],1586:[65199,65200],1587:[65201,65202,65203,65204],1588:[65205,65206,65207,65208],1589:[65209,65210,65211,65212],1590:[65213,65214,65215,65216],1591:[65217,65218,65219,65220],1592:[65221,65222,65223,65224],1593:[65225,65226,65227,65228],1594:[65229,65230,65231,65232],1601:[65233,65234,65235,65236],1602:[65237,65238,65239,65240],1603:[65241,65242,65243,65244],1604:[65245,65246,65247,65248],1605:[65249,65250,65251,65252],1606:[65253,65254,65255,65256],1607:[65257,65258,65259,65260],1608:[65261,65262],1609:[65263,65264,64488,64489],1610:[65265,65266,65267,65268],1649:[64336,64337],1655:[64477],1657:[64358,64359,64360,64361],1658:[64350,64351,64352,64353],1659:[64338,64339,64340,64341],1662:[64342,64343,64344,64345],1663:[64354,64355,64356,64357],1664:[64346,64347,64348,64349],1667:[64374,64375,64376,64377],1668:[64370,64371,64372,64373],1670:[64378,64379,64380,64381],1671:[64382,64383,64384,64385],1672:[64392,64393],1676:[64388,64389],1677:[64386,64387],1678:[64390,64391],1681:[64396,64397],1688:[64394,64395],1700:[64362,64363,64364,64365],1702:[64366,64367,64368,64369],1705:[64398,64399,64400,64401],1709:[64467,64468,64469,64470],1711:[64402,64403,64404,64405],1713:[64410,64411,64412,64413],1715:[64406,64407,64408,64409],1722:[64414,64415],1723:[64416,64417,64418,64419],1726:[64426,64427,64428,64429],1728:[64420,64421],1729:[64422,64423,64424,64425],1733:[64480,64481],1734:[64473,64474],1735:[64471,64472],1736:[64475,64476],1737:[64482,64483],1739:[64478,64479],1740:[64508,64509,64510,64511],1744:[64484,64485,64486,64487],1746:[64430,64431],1747:[64432,64433]},A={65247:{65154:65269,65156:65271,65160:65273,65166:65275},65248:{65154:65270,65156:65272,65160:65274,65166:65276},65165:{65247:{65248:{65258:65010}}},1617:{1612:64606,1613:64607,1614:64608,1615:64609,1616:64610}},r={1612:64606,1613:64607,1614:64608,1615:64609,1616:64610},n=[1570,1571,1573,1575];t.__arabicParser__={};var i=t.__arabicParser__.isInArabicSubstitutionA=function(t){return void 0!==e[t.charCodeAt(0)]},o=t.__arabicParser__.isArabicLetter=function(t){return"string"==typeof t&&/^[\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF\uFB50-\uFDFF\uFE70-\uFEFF]+$/.test(t)},s=t.__arabicParser__.isArabicEndLetter=function(t){return o(t)&&i(t)&&e[t.charCodeAt(0)].length<=2},a=t.__arabicParser__.isArabicAlfLetter=function(t){return o(t)&&0<=n.indexOf(t.charCodeAt(0))},c=(t.__arabicParser__.arabicLetterHasIsolatedForm=function(t){return o(t)&&i(t)&&1<=e[t.charCodeAt(0)].length},t.__arabicParser__.arabicLetterHasFinalForm=function(t){return o(t)&&i(t)&&2<=e[t.charCodeAt(0)].length}),u=(t.__arabicParser__.arabicLetterHasInitialForm=function(t){return o(t)&&i(t)&&3<=e[t.charCodeAt(0)].length},t.__arabicParser__.arabicLetterHasMedialForm=function(t){return o(t)&&i(t)&&4==e[t.charCodeAt(0)].length}),l=t.__arabicParser__.resolveLigatures=function(t){var e=0,r=A,n=0,i="",o=0;for(e=0;e>"),this.internal.out("endobj")})),this.internal.events.subscribe("putCatalog",(function(){this.internal.out("/OpenAction "+e+" 0 R")}));return this},s=dt.API,(a=function(){var t=void 0;Object.defineProperty(this,"pdf",{get:function(){return t},set:function(e){t=e}});var e=150;Object.defineProperty(this,"width",{get:function(){return e},set:function(t){e=isNaN(t)||!1===Number.isInteger(t)||t<0?150:t,this.getContext("2d").pageWrapXEnabled&&(this.getContext("2d").pageWrapX=e+1)}});var A=300;Object.defineProperty(this,"height",{get:function(){return A},set:function(t){A=isNaN(t)||!1===Number.isInteger(t)||t<0?300:t,this.getContext("2d").pageWrapYEnabled&&(this.getContext("2d").pageWrapY=A+1)}});var r=[];Object.defineProperty(this,"childNodes",{get:function(){return r},set:function(t){r=t}});var n={};Object.defineProperty(this,"style",{get:function(){return n},set:function(t){n=t}}),Object.defineProperty(this,"parentNode",{get:function(){return!1}})}).prototype.getContext=function(t,e){var A;if("2d"!==(t=t||"2d"))return null;for(A in e)this.pdf.context2d.hasOwnProperty(A)&&(this.pdf.context2d[A]=e[A]);return(this.pdf.context2d._canvas=this).pdf.context2d},a.prototype.toDataURL=function(){throw new Error("toDataURL is not implemented.")},s.events.push(["initialized",function(){this.canvas=new a,this.canvas.pdf=this}]),c=dt.API,l={x:void 0,y:void 0,w:void 0,h:void 0,ln:void 0},h=1,f=function(t,e,A,r,n){l={x:t,y:e,w:A,h:r,ln:n}},d=function(){return l},p={left:0,top:0,bottom:0},c.setHeaderFunction=function(t){u=t},c.getTextDimensions=function(t,e){var A=this.table_font_size||this.internal.getFontSize(),r=(this.internal.getFont().fontStyle,(e=e||{}).scaleFactor||this.internal.scaleFactor),n=0,i=0,o=0;if("string"==typeof t)0!=(n=this.getStringUnitWidth(t)*A)&&(i=1);else{if("[object Array]"!==Object.prototype.toString.call(t))throw new Error("getTextDimensions expects text-parameter to be of type String or an Array of Strings.");for(var s=0;s=this.internal.pageSize.getHeight()-c.bottom&&(this.cellAddPage(),a=!0,this.printHeaders&&this.tableHeaderRow&&this.printHeaderRow(i,!0)),e=d().y+d().h,a&&(e=23)}if(void 0!==n[0])if(this.printingHeaderRow?this.rect(t,e,A,r,"FD"):this.rect(t,e,A,r),"right"===o){n instanceof Array||(n=[n]);for(var u=0;u=2*Math.PI&&(r=0,n=2*Math.PI),this.path.push({type:"arc",x:t,y:e,radius:A,startAngle:r,endAngle:n,counterclockwise:i})},c.prototype.arcTo=function(t,e,A,r,n){throw new Error("arcTo not implemented.")},c.prototype.rect=function(t,e,A,r){if(isNaN(t)||isNaN(e)||isNaN(A)||isNaN(r))throw console.error("jsPDF.context2d.rect: Invalid arguments",arguments),new Error("Invalid arguments passed to jsPDF.context2d.rect");this.moveTo(t,e),this.lineTo(t+A,e),this.lineTo(t+A,e+r),this.lineTo(t,e+r),this.lineTo(t,e),this.lineTo(t+A,e),this.lineTo(t,e)},c.prototype.fillRect=function(t,e,A,r){if(isNaN(t)||isNaN(e)||isNaN(A)||isNaN(r))throw console.error("jsPDF.context2d.fillRect: Invalid arguments",arguments),new Error("Invalid arguments passed to jsPDF.context2d.fillRect");if(!l.call(this)){var n={};"butt"!==this.lineCap&&(n.lineCap=this.lineCap,this.lineCap="butt"),"miter"!==this.lineJoin&&(n.lineJoin=this.lineJoin,this.lineJoin="miter"),this.beginPath(),this.rect(t,e,A,r),this.fill(),n.hasOwnProperty("lineCap")&&(this.lineCap=n.lineCap),n.hasOwnProperty("lineJoin")&&(this.lineJoin=n.lineJoin)}},c.prototype.strokeRect=function(t,e,A,r){if(isNaN(t)||isNaN(e)||isNaN(A)||isNaN(r))throw console.error("jsPDF.context2d.strokeRect: Invalid arguments",arguments),new Error("Invalid arguments passed to jsPDF.context2d.strokeRect");h.call(this)||(this.beginPath(),this.rect(t,e,A,r),this.stroke())},c.prototype.clearRect=function(t,e,A,r){if(isNaN(t)||isNaN(e)||isNaN(A)||isNaN(r))throw console.error("jsPDF.context2d.clearRect: Invalid arguments",arguments),new Error("Invalid arguments passed to jsPDF.context2d.clearRect");this.ignoreClearRect||(this.fillStyle="#ffffff",this.fillRect(t,e,A,r))},c.prototype.save=function(t){t="boolean"!=typeof t||t;for(var e=this.pdf.internal.getCurrentPageInfo().pageNumber,A=0;A"},w=function(t){var e,A,r,n,i,o=String,s="length",a="charCodeAt",c="slice",u="replace";for(t[c](-2),t=t[c](0,-2)[u](/\s/g,"")[u]("z","!!!!!"),r=[],n=0,i=(t+=e="uuuuu"[c](t[s]%5||5))[s];n>24,255&A>>16,255&A>>8,255&A);return function(t,A){for(var r=e[s];0"},y=function(t){var e=new RegExp(/^([0-9A-Fa-f]{2})+$/);if(-1!==(t=t.replace(/\s/g,"")).indexOf(">")&&(t=t.substr(0,t.indexOf(">"))),t.length%2&&(t+="0"),!1===e.test(t))return"";for(var A="",r=0;r>8&255,A>>16&255,A>>24&255]),t.length+2),String.fromCharCode.apply(null,n)},B.processDataByFilters=function(t,e){var A=0,r=t||"",n=[];for("string"==typeof(e=e||[])&&(e=[e]),A=0;A>"),this.internal.out("endobj"),L=this.internal.newObject(),this.internal.out("<<"),this.internal.out("/S /JavaScript"),this.internal.out("/JS ("+x+")"),this.internal.out(">>"),this.internal.out("endobj")})),this.internal.events.subscribe("putCatalog",(function(){void 0!==E&&void 0!==L&&this.internal.out("/Names <>")})),this},(H=dt.API).events.push(["postPutResources",function(){var t=this,e=/^(\d+) 0 obj$/;if(0> endobj")}var l=t.internal.newObject();for(t.internal.write("<< /Names [ "),r=0;r>","endobj"),t.internal.newObject(),t.internal.write("<< /Dests "+l+" 0 R"),t.internal.write(">>","endobj")}}]),H.events.push(["putCatalog",function(){0> \r\nendobj\r\n"},t.outline.count_r=function(t,e){for(var A=0;A>>24&255,h[l++]=s>>>16&255,h[l++]=s>>>8&255,h[l++]=255&s,S.arrayBufferToBinaryString(h)},T=function(t,e){var A=Math.LOG2E*Math.log(32768)-8<<4|8,r=A<<8;return r|=Math.min(3,(e-1&255)>>1)<<6,r|=0,[A,255&(r+=31-r%31)]},O=function(t,e){for(var A,r=1,n=0,i=t.length,o=0;0>>0},R=function(t,e,A,r){for(var n,i,o,s=t.length/e,a=new Uint8Array(t.length+s),c=j(),u=0;u>>1)&255;return i},k=function(t,e,A){var r,n,i,o,s=[],a=0,c=t.length;for(s[0]=4;a>>d&255,d+=i.bits;g[m]=v>>>d&255}if(16===i.bits){p=(U=new Uint32Array(i.decodePixels().buffer)).length,B=new Uint8Array(p*(32/i.pixelBitlength)*i.colors),g=new Uint8Array(p*(32/i.pixelBitlength));for(var v,C=1>>0&255,C&&(B[y++]=v>>>16&255,v=U[m++],B[y++]=v>>>0&255),g[Q++]=v>>>16&255;f=8}r!==S.image_compression.NONE&&I()?(t=_(B,i.width*i.colors,i.colors,r),u=_(g,i.width,1,r)):(t=B,u=g,h=null)}if(3===i.colorType&&(l=this.color_spaces.INDEXED,c=i.palette,i.transparency.indexed)){var F=i.transparency.indexed,b=0;for(m=0,p=F.length;mr&&(n.push(t.slice(a,i)),s=0,a=i),s+=e[i],i++;return a!==i&&n.push(t.slice(a,i)),n},tt=function(t,e,A){A||(A={});var r,n,i,o,s,a,c=[],u=[c],l=A.textIndent||0,h=0,f=0,d=t.split(" "),p=W.apply(this,[" ",A])[0];if(a=-1===A.lineIndent?d[0].length+2:A.lineIndent||0){var B=Array(a).join(" "),g=[];d.map((function(t){1<(t=t.split(/\s*\n/)).length?g=g.concat(t.map((function(t,e){return(e&&t.length?"\n":"")+t}))):g.push(t[0])})),d=g,a=Z.apply(this,[B,A])}for(i=0,o=d.length;i>")})),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=A,this},at=dt.API,lt=ut=ct="",at.addMetadata=function(t,e){return ut=e||"http://jspdf.default.namespaceuri/",ct=t,this.internal.events.subscribe("postPutResources",(function(){if(ct){var t='',e=unescape(encodeURIComponent('')),A=unescape(encodeURIComponent(t)),r=unescape(encodeURIComponent(ct)),n=unescape(encodeURIComponent("")),i=unescape(encodeURIComponent("")),o=A.length+r.length+n.length+e.length+i.length;lt=this.internal.newObject(),this.internal.write("<< /Type /Metadata /Subtype /XML /Length "+o+" >>"),this.internal.write("stream"),this.internal.write(e+A+r+n+i),this.internal.write("endstream"),this.internal.write("endobj")}else lt=""})),this.internal.events.subscribe("putCatalog",(function(){lt&&this.internal.write("/Metadata "+lt+" 0 R")})),this},function(t,e){var A=t.API,r=A.pdfEscape16=function(t,e){for(var A,r=e.metadata.Unicode.widths,n=["","0","00","000","0000"],i=[""],o=0,s=t.length;o<"+n+">");return r.length&&(i+="\n"+r.length+" beginbfchar\n"+r.join("\n")+"\nendbfchar\n"),i+"endcmap\nCMapName currentdict /CMap defineresource pop\nend\nend"};A.events.push(["putFont",function(e){!function(e,A,r,i){if(e.metadata instanceof t.API.TTFFont&&"Identity-H"===e.encoding){for(var o=e.metadata.Unicode.widths,s=e.metadata.subset.encode(e.metadata.glyIdsUsed,1),a="",c=0;c>"),A("endobj");var f=r();A("<<"),A("/Type /Font"),A("/BaseFont /"+e.fontName),A("/FontDescriptor "+h+" 0 R"),A("/W "+t.API.PDFObject.convert(o)),A("/CIDToGIDMap /Identity"),A("/DW 1000"),A("/Subtype /CIDFontType2"),A("/CIDSystemInfo"),A("<<"),A("/Supplement 0"),A("/Registry (Adobe)"),A("/Ordering ("+e.encoding+")"),A(">>"),A(">>"),A("endobj"),e.objectNumber=r(),A("<<"),A("/Type /Font"),A("/Subtype /Type0"),A("/ToUnicode "+l+" 0 R"),A("/BaseFont /"+e.fontName),A("/Encoding /"+e.encoding),A("/DescendantFonts ["+f+" 0 R]"),A(">>"),A("endobj"),e.isAlreadyPutted=!0}}(e.font,e.out,e.newObject,e.putStream)}]),A.events.push(["putFont",function(e){!function(e,A,r,i){if(e.metadata instanceof t.API.TTFFont&&"WinAnsiEncoding"===e.encoding){e.metadata.Unicode.widths;for(var o=e.metadata.rawData,s="",a=0;a>"),A("endobj"),e.objectNumber=r(),a=0;a>"),A("endobj"),e.isAlreadyPutted=!0}}(e.font,e.out,e.newObject,e.putStream)}]);var i=function(t){var e,A,n=t.text||"",i=t.x,o=t.y,s=t.options||{},a=t.mutex||{},c=a.pdfEscape,u=a.activeFontKey,l=a.fonts,h=(a.activeFontSize,""),f=0,d="",p=l[A=u].encoding;if("Identity-H"!==l[A].encoding)return{text:n,x:i,y:o,options:s,mutex:a};for(d=n,A=u,"[object Array]"===Object.prototype.toString.call(n)&&(d=n[0]),f=0;fa-c.top-c.bottom&&r.pagesplit){var d=function(t,e,A,n,i){var o=document.createElement("canvas");o.height=i,o.width=n;var s=o.getContext("2d");return s.mozImageSmoothingEnabled=!1,s.webkitImageSmoothingEnabled=!1,s.msImageSmoothingEnabled=!1,s.imageSmoothingEnabled=!1,s.fillStyle=r.backgroundColor||"#ffffff",s.fillRect(0,0,n,i),s.drawImage(t,e,A,n,i,0,0,n,i),o},p=function(){for(var r,i,u=0,p=0,B={},g=!1;;){var w;if(p=0,B.top=0!==u?c.top:A,B.left=0!==u?c.left:e,g=(s-c.left-c.right)*o=t.width)break;this.addPage()}else m=[w=d(t,0,u,r,i),B.left,B.top,w.width/o,w.height/o,h,null,f],this.addImage.apply(this,m);if((u+=i)>=t.height)break;this.addPage()}n(l,u,null,m)}.bind(this);if("CANVAS"===t.nodeName){var B=new Image;B.onload=p,B.src=t.toDataURL("image/png"),t=B}else p()}else{var g=Math.random().toString(35),w=[t,e,A,l,u,h,g,f];this.addImage.apply(this,w),n(l,u,g,w)}}.bind(this),"undefined"!=typeof html2canvas&&!r.rstz)return html2canvas(t,r);if("undefined"==typeof rasterizeHTML)return null;var c="drawDocument";return"string"==typeof t&&(c=/^http/.test(t)?"drawURL":"drawHTML"),r.width=r.width||s*o,rasterizeHTML[c](t,void 0,r).then((function(t){r.onrendered(t.image)}),(function(t){n(null,t)}))},function(t){var e,A,r,i,o,s,a,c,u,l,h,f,d,p,B,g,w,m,y,v;e=function(){return function(e){return t.prototype=e,new t};function t(){}}(),l=function(t){var e,A,r,n,i,o,s;for(A=0,r=t.length,e=void 0,o=n=!1;!n&&A!==r;)(e=t[A]=t[A].trimLeft())&&(n=!0),A++;for(A=r-1;r&&!o&&-1!==A;)(e=t[A]=t[A].trimRight())&&(o=!0),A--;for(i=/\s+$/g,s=!0,A=0;A!==r;)"\u2028"!=t[A]&&(e=t[A].replace(/\s+/g," "),s&&(e=e.trimLeft()),e&&(s=i.test(e)),t[A]=e),A++;return t},f=function(t){var e,A,n;for(e=void 0,A=(n=t.split(",")).shift();!e&&A;)e=r[A.trim().toLowerCase()],A=n.shift();return e},d=function(t){var e;return-1<(t="auto"===t?"0px":t).indexOf("em")&&!isNaN(Number(t.replace("em","")))&&(t=18.719*Number(t.replace("em",""))+"px"),-1r.pdf.margins_doc.top&&(r.pdf.addPage(),r.y=r.pdf.margins_doc.top,r.executeWatchFunctions(o));var L=u(o),x=r.x,H=12/r.pdf.internal.scaleFactor,S=(L["margin-left"]+L["padding-left"])*H,I=(L["margin-right"]+L["padding-right"])*H,_=(L["margin-top"]+L["padding-top"])*H,T=(L["margin-bottom"]+L["padding-bottom"])*H;void 0!==L.float&&"right"===L.float?x+=r.settings.width-o.width-I:x+=S,r.pdf.addImage(N,x,r.y+_,o.width,o.height),N=void 0,"right"===L.float||"left"===L.float?(r.watchFunctions.push(function(t,e,A,n){return r.y>=e?(r.x+=t,r.settings.width+=A,!0):!!(n&&1===n.nodeType&&!C[n.nodeName]&&r.x+n.width>r.pdf.margins_doc.left+r.pdf.margins_doc.width)&&(r.x+=t,r.y=e,r.settings.width+=A,!0)}.bind(this,"left"===L.float?-o.width-S-I:0,r.y+o.height+_+T,o.width)),r.watchFunctions.push(function(t,e,A){return!(r.y]*?>/gi,""),u="jsPDFhtmlText"+Date.now().toString()+(1e3*Math.random()).toFixed(0),(c=document.createElement("div")).style.cssText="position: absolute !important;clip: rect(1px 1px 1px 1px); /* IE6, IE7 */clip: rect(1px, 1px, 1px, 1px);padding:0 !important;border:0 !important;height: 1px !important;width: 1px !important; top:auto;left:-100px;overflow: hidden;",c.innerHTML='',i=r.open();if(null!==i&&i.document.write(n),i||\"undefined\"==typeof safari)return i;case\"datauri\":case\"dataurl\":return r.document.location.href=\"data:application/pdf;filename=\"+A.filename+\";base64,\"+btoa(e);default:return null}}).foo=function(){try{return T.apply(this,arguments)}catch(e){var t=e.stack||\"\";~t.indexOf(\" at \")&&(t=t.split(\" at \")[1]);var A=\"Error in function \"+t.split(\"\\n\")[0].split(\"<\")[0]+\": \"+e.message;if(!r.console)throw new Error(A);r.console.error(A,e),r.alert&&alert(A)}},(T.foo.bar=T).foo),Rt=function(t){return!0===Array.isArray(ot)&&-1\":\")\"),At=1):(Y=Gt(A),Z=Jt(e),$=(c?\"<\":\"(\")+y[W]+(c?\">\":\")\")),void 0!==z&&void 0!==z[W]&&(et=z[W]+\" Tw\\n\"),0!==L.length&&0===W?t.push(et+L.join(\" \")+\" \"+Y.toFixed(2)+\" \"+Z.toFixed(2)+\" Tm\\n\"+$):1===At||0===At&&0===W?t.push(et+Y.toFixed(2)+\" \"+Z.toFixed(2)+\" Td\\n\"+$):t.push(et+$);t=0===At?t.join(\" Tj\\nT* \"):t.join(\" Tj\\n\"),t+=\" Tj\\n\";var rt=\"BT\\n/\"+I+\" \"+q+\" Tf\\n\"+(q*l).toFixed(2)+\" TL\\n\"+tA+\"\\n\";return rt+=u,rt+=t,D(rt+=\"ET\"),h[I]=!0,f},f.__private__.lstext=f.lstext=function(t,A,e,r){return console.warn(\"jsPDF.lstext is deprecated\"),this.text(t,A,e,{charSpace:r})},f.__private__.clip=f.clip=function(t){D(\"evenodd\"===t?\"W*\":\"W\"),D(\"n\")},f.__private__.clip_fixed=f.clip_fixed=function(t){console.log(\"clip_fixed is deprecated\"),f.clip(t)};var Pt=f.__private__.isValidStyle=function(t){var A=!1;return-1!==[void 0,null,\"S\",\"F\",\"DF\",\"FD\",\"f\",\"f*\",\"B\",\"B*\"].indexOf(t)&&(A=!0),A},Dt=f.__private__.getStyle=function(t){var A=\"S\";return\"F\"===t?A=\"f\":\"FD\"===t||\"DF\"===t?A=\"B\":\"f\"!==t&&\"f*\"!==t&&\"B\"!==t&&\"B*\"!==t||(A=t),A};f.__private__.line=f.line=function(t,A,e,r){if(isNaN(t)||isNaN(A)||isNaN(e)||isNaN(r))throw new Error(\"Invalid arguments passed to jsPDF.line\");return this.lines([[e-t,r-A]],t,A)},f.__private__.lines=f.lines=function(t,A,e,r,n,i){var o,s,a,c,u,l,h,f,d,p,B,g;if(\"number\"==typeof t&&(g=e,e=A,A=t,t=g),r=r||[1,1],i=i||!1,isNaN(A)||isNaN(e)||!Array.isArray(t)||!Array.isArray(r)||!Pt(n)||\"boolean\"!=typeof i)throw new Error(\"Invalid arguments passed to jsPDF.lines\");for(D(Q(Gt(A))+\" \"+Q(Jt(e))+\" m \"),o=r[0],s=r[1],c=t.length,p=A,B=e,a=0;a=o.length-1;if(F&&!U){m+=\" \";continue}if(F||U){if(U)g=v;else if(t.multiline&&c<(h+2)*(Q+2)+2)continue t}else{if(!t.multiline)continue t;if(c<(h+2)*(Q+2)+2)continue t;g=v}for(var N=\"\",E=B;E<=g;E++)N+=o[E]+\" \";switch(N=\" \"==N.substr(N.length-1)?N.substr(0,N.length-1):N,w=y(N,t,a).width,t.textAlign){case\"right\":d=u-w-2;break;case\"center\":d=(u-w)/2;break;case\"left\":default:d=2}A+=s(d)+\" \"+s(p)+\" Td\\n\",A+=\"(\"+i(N)+\") Tj\\n\",A+=-s(d)+\" 0 Td\\n\",p=-(a+2),w=0,B=g+1,Q++,m=\"\"}break}return n.text=A,n.fontSize=a,n},y=function(t,A,r){var n=e.internal.getFont(A.fontName,A.fontStyle),i=e.getStringUnitWidth(t,{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r);return{height:e.getStringUnitWidth(\"3\",{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r)*1.5,width:i}},v={fields:[],xForms:[],acroFormDictionaryRoot:null,printedOut:!1,internal:null,isInitialized:!1},F=function(){e.internal.acroformPlugin.acroFormDictionaryRoot.objId=void 0;var t=e.internal.acroformPlugin.acroFormDictionaryRoot.Fields;for(var A in t)if(t.hasOwnProperty(A)){var r=t[A];r.objId=void 0,r.hasAnnotation&&U.call(e,r)}},U=function(t){var A={type:\"reference\",object:t};void 0===e.internal.getPageInfo(t.page).pageContext.annotations.find((function(t){return t.type===A.type&&t.object===A.object}))&&e.internal.getPageInfo(t.page).pageContext.annotations.push(A)},N=function(){if(void 0===e.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error(\"putCatalogCallback: Root missing.\");e.internal.write(\"/AcroForm \"+e.internal.acroformPlugin.acroFormDictionaryRoot.objId+\" 0 R\")},E=function(){e.internal.events.unsubscribe(e.internal.acroformPlugin.acroFormDictionaryRoot._eventID),delete e.internal.acroformPlugin.acroFormDictionaryRoot._eventID,e.internal.acroformPlugin.printedOut=!0},b=function(t){var A=!t;for(var r in t||(e.internal.newObjectDeferredBegin(e.internal.acroformPlugin.acroFormDictionaryRoot.objId,!0),e.internal.acroformPlugin.acroFormDictionaryRoot.putStream()),t=t||e.internal.acroformPlugin.acroFormDictionaryRoot.Kids)if(t.hasOwnProperty(r)){var i=t[r],o=[],s=i.Rect;if(i.Rect&&(i.Rect=m.call(this,i.Rect)),e.internal.newObjectDeferredBegin(i.objId,!0),i.DA=G.createDefaultAppearanceStream(i),\"object\"===n(i)&&\"function\"==typeof i.getKeyValueListForStream&&(o=i.getKeyValueListForStream()),i.Rect=s,i.hasAppearanceStream&&!i.appearanceStreamContent){var a=Q.call(this,i);o.push({key:\"AP\",value:\"<>\"}),e.internal.acroformPlugin.xForms.push(a)}if(i.appearanceStreamContent){var c=\"\";for(var u in i.appearanceStreamContent)if(i.appearanceStreamContent.hasOwnProperty(u)){var l=i.appearanceStreamContent[u];if(c+=\"/\"+u+\" \",c+=\"<<\",1<=Object.keys(l).length||Array.isArray(l))for(var r in l){var h;l.hasOwnProperty(r)&&(\"function\"==typeof(h=l[r])&&(h=h.call(this,i)),c+=\"/\"+r+\" \"+h+\" \",0<=e.internal.acroformPlugin.xForms.indexOf(h)||e.internal.acroformPlugin.xForms.push(h))}else\"function\"==typeof(h=l)&&(h=h.call(this,i)),c+=\"/\"+r+\" \"+h,0<=e.internal.acroformPlugin.xForms.indexOf(h)||e.internal.acroformPlugin.xForms.push(h);c+=\">>\"}o.push({key:\"AP\",value:\"<<\\n\"+c+\">>\"})}e.internal.putStream({additionalKeyValues:o}),e.internal.out(\"endobj\")}A&&L.call(this,e.internal.acroformPlugin.xForms)},L=function(t){for(var A in t)if(t.hasOwnProperty(A)){var r=A,i=t[A];e.internal.newObjectDeferredBegin(i&&i.objId,!0),\"object\"===n(i)&&\"function\"==typeof i.putStream&&i.putStream(),delete t[r]}},H=function(){if(void 0!==this.internal&&(void 0===this.internal.acroformPlugin||!1===this.internal.acroformPlugin.isInitialized)){if(e=this,R.FieldNum=0,this.internal.acroformPlugin=JSON.parse(JSON.stringify(v)),this.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error(\"Exception while creating AcroformDictionary\");r=e.internal.scaleFactor,e.internal.acroformPlugin.acroFormDictionaryRoot=new T,e.internal.acroformPlugin.acroFormDictionaryRoot._eventID=e.internal.events.subscribe(\"postPutResources\",E),e.internal.events.subscribe(\"buildDocument\",F),e.internal.events.subscribe(\"putCatalog\",N),e.internal.events.subscribe(\"postPutPages\",b),e.internal.acroformPlugin.isInitialized=!0}},x=t.__acroform__.arrayToPdfArray=function(t){if(Array.isArray(t)){for(var A=\"[\",e=0;e>\"),e.join(\"\\n\")}},set:function(t){\"object\"===n(t)&&(A=t)}}),Object.defineProperty(this,\"caption\",{enumerable:!0,configurable:!0,get:function(){return A.CA||\"\"},set:function(t){\"string\"==typeof t&&(A.CA=t)}}),Object.defineProperty(this,\"AS\",{enumerable:!1,configurable:!1,get:function(){return t},set:function(A){t=A}}),Object.defineProperty(this,\"appearanceState\",{enumerable:!0,configurable:!0,get:function(){return t.substr(1,t.length-1)},set:function(A){t=\"/\"+A}})};c(D,R);var k=function(){D.call(this),this.pushButton=!0};c(k,D);var z=function(){D.call(this),this.radio=!0,this.pushButton=!1;var t=[];Object.defineProperty(this,\"Kids\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(A){t=void 0!==A?A:[]}})};c(z,D);var j=function(){var t,A;R.call(this),Object.defineProperty(this,\"Parent\",{enumerable:!1,configurable:!1,get:function(){return t},set:function(A){t=A}}),Object.defineProperty(this,\"optionName\",{enumerable:!1,configurable:!0,get:function(){return A},set:function(t){A=t}});var e,r={};Object.defineProperty(this,\"MK\",{enumerable:!1,configurable:!1,get:function(){var t,A=[];for(t in A.push(\"<<\"),r)A.push(\"/\"+t+\" (\"+r[t]+\")\");return A.push(\">>\"),A.join(\"\\n\")},set:function(t){\"object\"===n(t)&&(r=t)}}),Object.defineProperty(this,\"caption\",{enumerable:!0,configurable:!0,get:function(){return r.CA||\"\"},set:function(t){\"string\"==typeof t&&(r.CA=t)}}),Object.defineProperty(this,\"AS\",{enumerable:!1,configurable:!1,get:function(){return e},set:function(t){e=t}}),Object.defineProperty(this,\"appearanceState\",{enumerable:!0,configurable:!0,get:function(){return e.substr(1,e.length-1)},set:function(t){e=\"/\"+t}}),this.optionName=name,this.caption=\"l\",this.appearanceState=\"Off\",this._AppearanceType=G.RadioButton.Circle,this.appearanceStreamContent=this._AppearanceType.createAppearanceStream(name)};c(j,R),z.prototype.setAppearance=function(t){if(!(\"createAppearanceStream\"in t)||!(\"getCA\"in t))throw new Error(\"Couldn't assign Appearance to RadioButton. Appearance was Invalid!\");for(var A in this.Kids)if(this.Kids.hasOwnProperty(A)){var e=this.Kids[A];e.appearanceStreamContent=t.createAppearanceStream(e.optionName),e.caption=t.getCA()}},z.prototype.createOption=function(t){this.Kids.length;var A=new j;return A.Parent=this,A.optionName=t,this.Kids.push(A),J.call(this,A),A};var q=function(){D.call(this),this.fontName=\"zapfdingbats\",this.caption=\"3\",this.appearanceState=\"On\",this.value=\"On\",this.textAlign=\"center\",this.appearanceStreamContent=G.CheckBox.createAppearanceStream()};c(q,D);var V=function(){R.call(this),this.FT=\"/Tx\",Object.defineProperty(this,\"multiline\",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,13))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,13):this.Ff=w(this.Ff,13)}}),Object.defineProperty(this,\"fileSelect\",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,21))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,21):this.Ff=w(this.Ff,21)}}),Object.defineProperty(this,\"doNotSpellCheck\",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,23))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,23):this.Ff=w(this.Ff,23)}}),Object.defineProperty(this,\"doNotScroll\",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,24))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,24):this.Ff=w(this.Ff,24)}}),Object.defineProperty(this,\"comb\",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,25))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,25):this.Ff=w(this.Ff,25)}}),Object.defineProperty(this,\"richText\",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,26))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,26):this.Ff=w(this.Ff,26)}});var t=null;Object.defineProperty(this,\"MaxLen\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(A){t=A}}),Object.defineProperty(this,\"maxLength\",{enumerable:!0,configurable:!0,get:function(){return t},set:function(A){Number.isInteger(A)&&(t=A)}}),Object.defineProperty(this,\"hasAppearanceStream\",{enumerable:!0,configurable:!0,get:function(){return this.V||this.DV}})};c(V,R);var X=function(){V.call(this),Object.defineProperty(this,\"password\",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,14))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,14):this.Ff=w(this.Ff,14)}}),this.password=!0};c(X,V);var G={CheckBox:{createAppearanceStream:function(){return{N:{On:G.CheckBox.YesNormal},D:{On:G.CheckBox.YesPushDown,Off:G.CheckBox.OffPushDown}}},YesPushDown:function(t){var A=h(t),r=[],n=e.internal.getFont(t.fontName,t.fontStyle).id,i=e.__private__.encodeColorString(t.color),o=C(t,t.caption);return r.push(\"0.749023 g\"),r.push(\"0 0 \"+s(G.internal.getWidth(t))+\" \"+s(G.internal.getHeight(t))+\" re\"),r.push(\"f\"),r.push(\"BMC\"),r.push(\"q\"),r.push(\"0 0 1 rg\"),r.push(\"/\"+n+\" \"+s(o.fontSize)+\" Tf \"+i),r.push(\"BT\"),r.push(o.text),r.push(\"ET\"),r.push(\"Q\"),r.push(\"EMC\"),A.stream=r.join(\"\\n\"),A},YesNormal:function(t){var A=h(t),r=e.internal.getFont(t.fontName,t.fontStyle).id,n=e.__private__.encodeColorString(t.color),i=[],o=G.internal.getHeight(t),a=G.internal.getWidth(t),c=C(t,t.caption);return i.push(\"1 g\"),i.push(\"0 0 \"+s(a)+\" \"+s(o)+\" re\"),i.push(\"f\"),i.push(\"q\"),i.push(\"0 0 1 rg\"),i.push(\"0 0 \"+s(a-1)+\" \"+s(o-1)+\" re\"),i.push(\"W\"),i.push(\"n\"),i.push(\"0 g\"),i.push(\"BT\"),i.push(\"/\"+r+\" \"+s(c.fontSize)+\" Tf \"+n),i.push(c.text),i.push(\"ET\"),i.push(\"Q\"),A.stream=i.join(\"\\n\"),A},OffPushDown:function(t){var A=h(t),e=[];return e.push(\"0.749023 g\"),e.push(\"0 0 \"+s(G.internal.getWidth(t))+\" \"+s(G.internal.getHeight(t))+\" re\"),e.push(\"f\"),A.stream=e.join(\"\\n\"),A}},RadioButton:{Circle:{createAppearanceStream:function(t){var A={D:{Off:G.RadioButton.Circle.OffPushDown},N:{}};return A.N[t]=G.RadioButton.Circle.YesNormal,A.D[t]=G.RadioButton.Circle.YesPushDown,A},getCA:function(){return\"l\"},YesNormal:function(t){var A=h(t),e=[],r=G.internal.getWidth(t)<=G.internal.getHeight(t)?G.internal.getWidth(t)/4:G.internal.getHeight(t)/4;r=Number((.9*r).toFixed(5));var n=G.internal.Bezier_C,i=Number((r*n).toFixed(5));return e.push(\"q\"),e.push(\"1 0 0 1 \"+a(G.internal.getWidth(t)/2)+\" \"+a(G.internal.getHeight(t)/2)+\" cm\"),e.push(r+\" 0 m\"),e.push(r+\" \"+i+\" \"+i+\" \"+r+\" 0 \"+r+\" c\"),e.push(\"-\"+i+\" \"+r+\" -\"+r+\" \"+i+\" -\"+r+\" 0 c\"),e.push(\"-\"+r+\" -\"+i+\" -\"+i+\" -\"+r+\" 0 -\"+r+\" c\"),e.push(i+\" -\"+r+\" \"+r+\" -\"+i+\" \"+r+\" 0 c\"),e.push(\"f\"),e.push(\"Q\"),A.stream=e.join(\"\\n\"),A},YesPushDown:function(t){var A=h(t),e=[],r=G.internal.getWidth(t)<=G.internal.getHeight(t)?G.internal.getWidth(t)/4:G.internal.getHeight(t)/4,n=(r=Number((.9*r).toFixed(5)),Number((2*r).toFixed(5))),i=Number((n*G.internal.Bezier_C).toFixed(5)),o=Number((r*G.internal.Bezier_C).toFixed(5));return e.push(\"0.749023 g\"),e.push(\"q\"),e.push(\"1 0 0 1 \"+a(G.internal.getWidth(t)/2)+\" \"+a(G.internal.getHeight(t)/2)+\" cm\"),e.push(n+\" 0 m\"),e.push(n+\" \"+i+\" \"+i+\" \"+n+\" 0 \"+n+\" c\"),e.push(\"-\"+i+\" \"+n+\" -\"+n+\" \"+i+\" -\"+n+\" 0 c\"),e.push(\"-\"+n+\" -\"+i+\" -\"+i+\" -\"+n+\" 0 -\"+n+\" c\"),e.push(i+\" -\"+n+\" \"+n+\" -\"+i+\" \"+n+\" 0 c\"),e.push(\"f\"),e.push(\"Q\"),e.push(\"0 g\"),e.push(\"q\"),e.push(\"1 0 0 1 \"+a(G.internal.getWidth(t)/2)+\" \"+a(G.internal.getHeight(t)/2)+\" cm\"),e.push(r+\" 0 m\"),e.push(r+\" \"+o+\" \"+o+\" \"+r+\" 0 \"+r+\" c\"),e.push(\"-\"+o+\" \"+r+\" -\"+r+\" \"+o+\" -\"+r+\" 0 c\"),e.push(\"-\"+r+\" -\"+o+\" -\"+o+\" -\"+r+\" 0 -\"+r+\" c\"),e.push(o+\" -\"+r+\" \"+r+\" -\"+o+\" \"+r+\" 0 c\"),e.push(\"f\"),e.push(\"Q\"),A.stream=e.join(\"\\n\"),A},OffPushDown:function(t){var A=h(t),e=[],r=G.internal.getWidth(t)<=G.internal.getHeight(t)?G.internal.getWidth(t)/4:G.internal.getHeight(t)/4,n=(r=Number((.9*r).toFixed(5)),Number((2*r).toFixed(5))),i=Number((n*G.internal.Bezier_C).toFixed(5));return e.push(\"0.749023 g\"),e.push(\"q\"),e.push(\"1 0 0 1 \"+a(G.internal.getWidth(t)/2)+\" \"+a(G.internal.getHeight(t)/2)+\" cm\"),e.push(n+\" 0 m\"),e.push(n+\" \"+i+\" \"+i+\" \"+n+\" 0 \"+n+\" c\"),e.push(\"-\"+i+\" \"+n+\" -\"+n+\" \"+i+\" -\"+n+\" 0 c\"),e.push(\"-\"+n+\" -\"+i+\" -\"+i+\" -\"+n+\" 0 -\"+n+\" c\"),e.push(i+\" -\"+n+\" \"+n+\" -\"+i+\" \"+n+\" 0 c\"),e.push(\"f\"),e.push(\"Q\"),A.stream=e.join(\"\\n\"),A}},Cross:{createAppearanceStream:function(t){var A={D:{Off:G.RadioButton.Cross.OffPushDown},N:{}};return A.N[t]=G.RadioButton.Cross.YesNormal,A.D[t]=G.RadioButton.Cross.YesPushDown,A},getCA:function(){return\"8\"},YesNormal:function(t){var A=h(t),e=[],r=G.internal.calculateCross(t);return e.push(\"q\"),e.push(\"1 1 \"+s(G.internal.getWidth(t)-2)+\" \"+s(G.internal.getHeight(t)-2)+\" re\"),e.push(\"W\"),e.push(\"n\"),e.push(s(r.x1.x)+\" \"+s(r.x1.y)+\" m\"),e.push(s(r.x2.x)+\" \"+s(r.x2.y)+\" l\"),e.push(s(r.x4.x)+\" \"+s(r.x4.y)+\" m\"),e.push(s(r.x3.x)+\" \"+s(r.x3.y)+\" l\"),e.push(\"s\"),e.push(\"Q\"),A.stream=e.join(\"\\n\"),A},YesPushDown:function(t){var A=h(t),e=G.internal.calculateCross(t),r=[];return r.push(\"0.749023 g\"),r.push(\"0 0 \"+s(G.internal.getWidth(t))+\" \"+s(G.internal.getHeight(t))+\" re\"),r.push(\"f\"),r.push(\"q\"),r.push(\"1 1 \"+s(G.internal.getWidth(t)-2)+\" \"+s(G.internal.getHeight(t)-2)+\" re\"),r.push(\"W\"),r.push(\"n\"),r.push(s(e.x1.x)+\" \"+s(e.x1.y)+\" m\"),r.push(s(e.x2.x)+\" \"+s(e.x2.y)+\" l\"),r.push(s(e.x4.x)+\" \"+s(e.x4.y)+\" m\"),r.push(s(e.x3.x)+\" \"+s(e.x3.y)+\" l\"),r.push(\"s\"),r.push(\"Q\"),A.stream=r.join(\"\\n\"),A},OffPushDown:function(t){var A=h(t),e=[];return e.push(\"0.749023 g\"),e.push(\"0 0 \"+s(G.internal.getWidth(t))+\" \"+s(G.internal.getHeight(t))+\" re\"),e.push(\"f\"),A.stream=e.join(\"\\n\"),A}}},createDefaultAppearanceStream:function(t){var A=e.internal.getFont(t.fontName,t.fontStyle).id,r=e.__private__.encodeColorString(t.color);return\"/\"+A+\" \"+t.fontSize+\" Tf \"+r}};G.internal={Bezier_C:.551915024494,calculateCross:function(t){var A=G.internal.getWidth(t),e=G.internal.getHeight(t),r=Math.min(A,e);return{x1:{x:(A-r)/2,y:(e-r)/2+r},x2:{x:(A-r)/2+r,y:(e-r)/2},x3:{x:(A-r)/2,y:(e-r)/2},x4:{x:(A-r)/2+r,y:(e-r)/2+r}}}},G.internal.getWidth=function(t){var A=0;return\"object\"===n(t)&&(A=u(t.Rect[2])),A},G.internal.getHeight=function(t){var A=0;return\"object\"===n(t)&&(A=u(t.Rect[3])),A};var J=t.addField=function(t){if(H.call(this),!(t instanceof R))throw new Error(\"Invalid argument passed to jsPDF.addField.\");return function(t){e.internal.acroformPlugin.printedOut&&(e.internal.acroformPlugin.printedOut=!1,e.internal.acroformPlugin.acroFormDictionaryRoot=null),e.internal.acroformPlugin.acroFormDictionaryRoot||H.call(e),e.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(t)}.call(this,t),t.page=e.internal.getCurrentPageInfo().pageNumber,this};t.addButton=function(t){if(t instanceof D==0)throw new Error(\"Invalid argument passed to jsPDF.addButton.\");return J.call(this,t)},t.addTextField=function(t){if(t instanceof V==0)throw new Error(\"Invalid argument passed to jsPDF.addTextField.\");return J.call(this,t)},t.addChoiceField=function(t){if(t instanceof O==0)throw new Error(\"Invalid argument passed to jsPDF.addChoiceField.\");return J.call(this,t)},\"object\"==n(A)&&void 0===A.ChoiceField&&void 0===A.ListBox&&void 0===A.ComboBox&&void 0===A.EditBox&&void 0===A.Button&&void 0===A.PushButton&&void 0===A.RadioButton&&void 0===A.CheckBox&&void 0===A.TextField&&void 0===A.PasswordField?(A.ChoiceField=O,A.ListBox=K,A.ComboBox=M,A.EditBox=P,A.Button=D,A.PushButton=k,A.RadioButton=z,A.CheckBox=q,A.TextField=V,A.PasswordField=X,A.AcroForm={Appearance:G}):console.warn(\"AcroForm-Classes are not populated into global-namespace, because the class-Names exist already.\"),t.AcroFormChoiceField=O,t.AcroFormListBox=K,t.AcroFormComboBox=M,t.AcroFormEditBox=P,t.AcroFormButton=D,t.AcroFormPushButton=k,t.AcroFormRadioButton=z,t.AcroFormCheckBox=q,t.AcroFormTextField=V,t.AcroFormPasswordField=X,t.AcroFormAppearance=G,t.AcroForm={ChoiceField:O,ListBox:K,ComboBox:M,EditBox:P,Button:D,PushButton:k,RadioButton:z,CheckBox:q,TextField:V,PasswordField:X,Appearance:G}})((window.tmp=dt).API,\"undefined\"!=typeof window&&window||void 0!==r&&r),\n/** @license\n * jsPDF addImage plugin\n * Copyright (c) 2012 Jason Siefken, https://github.com/siefkenj/\n * 2013 Chris Dowling, https://github.com/gingerchris\n * 2013 Trinh Ho, https://github.com/ineedfat\n * 2013 Edwin Alejandro Perez, https://github.com/eaparango\n * 2013 Norah Smith, https://github.com/burnburnrocket\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 James Robb, https://github.com/jamesbrobb\n *\n * \n */\nfunction(t){var A=\"addImage_\",e={PNG:[[137,80,78,71]],TIFF:[[77,77,0,42],[73,73,42,0]],JPEG:[[255,216,255,224,void 0,void 0,74,70,73,70,0],[255,216,255,225,void 0,void 0,69,120,105,102,0,0]],JPEG2000:[[0,0,0,12,106,80,32,32]],GIF87a:[[71,73,70,56,55,97]],GIF89a:[[71,73,70,56,57,97]],BMP:[[66,77],[66,65],[67,73],[67,80],[73,67],[80,84]]},r=t.getImageFileTypeByImageData=function(A,r){var n,i;r=r||\"UNKNOWN\";var o,s,a,c=\"UNKNOWN\";for(a in t.isArrayBufferView(A)&&(A=t.arrayBufferToBinaryString(A)),e)for(o=e[a],n=0;n>\"}),\"trns\"in A&&A.trns.constructor==Array){for(var s=\"\",a=0,c=A.trns.length;a>18]+r[(258048&A)>>12]+r[(4032&A)>>6]+r[63&A];return 1==o?e+=r[(252&(A=n[s]))>>2]+r[(3&A)<<4]+\"==\":2==o&&(e+=r[(64512&(A=n[s]<<8|n[s+1]))>>10]+r[(1008&A)>>4]+r[(15&A)<<2]+\"=\"),e},t.createImageInfo=function(t,A,e,r,n,i,o,s,a,c,u,l,h){var f={alias:s,w:A,h:e,cs:r,bpc:n,i:o,data:t};return i&&(f.f=i),a&&(f.dp=a),c&&(f.trns=c),u&&(f.pal=u),l&&(f.smask=l),h&&(f.p=h),f},t.addImage=function(e,r,i,h,f,d,p,B,g){var w=\"\";if(\"string\"!=typeof r){var m=d;d=f,f=h,h=i,i=r,r=m}if(\"object\"===n(e)&&!c(e)&&\"imageData\"in e){var Q=e;e=Q.imageData,r=Q.format||r||\"UNKNOWN\",i=Q.x||i||0,h=Q.y||h||0,f=Q.w||f,d=Q.h||d,p=Q.alias||p,B=Q.compression||B,g=Q.rotation||Q.angle||g}var C=this.internal.getFilters();if(void 0===B&&-1!==C.indexOf(\"FlateEncode\")&&(B=\"SLOW\"),\"string\"==typeof e&&(e=unescape(e)),isNaN(i)||isNaN(h))throw console.error(\"jsPDF.addImage: Invalid coordinates\",arguments),new Error(\"Invalid coordinates passed to jsPDF.addImage\");var y,v,F,U,N,E,b,L=function(){var t=this.internal.collections[A+\"images\"];return t||(this.internal.collections[A+\"images\"]=t={},this.internal.events.subscribe(\"putResources\",o),this.internal.events.subscribe(\"putXobjectDict\",s)),t}.call(this);if(!((y=l(e,L))||(c(e)&&(e=u(e,r)),(null==(b=p)||0===b.length)&&(p=\"string\"==typeof(E=e)?t.sHashCode(E):t.isArrayBufferView(E)?t.sHashCode(t.arrayBufferToBinaryString(E)):null),y=l(p,L)))){if(this.isString(e)&&(\"\"!==(w=this.convertStringToImageData(e))||void 0!==(w=t.loadFile(e)))&&(e=w),r=this.getImageFileTypeByImageData(e,r),!a(r))throw new Error(\"addImage does not support files of type '\"+r+\"', please ensure that a plugin for '\"+r+\"' support is added.\");if(this.supportsArrayBuffer()&&(e instanceof Uint8Array||(v=e,e=this.binaryStringToUint8Array(e))),!(y=this[\"process\"+r.toUpperCase()](e,(N=0,(U=L)&&(N=Object.keys?Object.keys(U).length:function(t){var A=0;for(var e in t)t.hasOwnProperty(e)&&A++;return A}(U)),N),p,((F=B)&&\"string\"==typeof F&&(F=F.toUpperCase()),F in t.image_compression?F:t.image_compression.NONE),v)))throw new Error(\"An unknown error occurred whilst processing the image\")}return function(t,A,e,r,n,i,o,s){var a=function(t,A,e){return t||A||(A=t=-96),t<0&&(t=-1*e.w*72/t/this.internal.scaleFactor),A<0&&(A=-1*e.h*72/A/this.internal.scaleFactor),0===t&&(t=A*e.w/e.h),0===A&&(A=t*e.h/e.w),[t,A]}.call(this,e,r,n),c=this.internal.getCoordinateString,u=this.internal.getVerticalCoordinateString;if(e=a[0],r=a[1],o[i]=n,s){s*=Math.PI/180;var l=Math.cos(s),h=Math.sin(s),f=function(t){return t.toFixed(4)},d=[f(l),f(h),f(-1*h),f(l),0,0,\"cm\"]}this.internal.write(\"q\"),s?(this.internal.write([1,\"0\",\"0\",1,c(t),u(A+r),\"cm\"].join(\" \")),this.internal.write(d.join(\" \")),this.internal.write([c(e),\"0\",\"0\",c(r),\"0\",\"0\",\"cm\"].join(\" \"))):this.internal.write([c(e),\"0\",\"0\",c(r),c(t),u(A+r),\"cm\"].join(\" \")),this.internal.write(\"/I\"+n.i+\" Do\"),this.internal.write(\"Q\")}.call(this,i,h,f,d,y,y.i,L,g),this},t.convertStringToImageData=function(A){var e,r=\"\";if(this.isString(A)){var n;e=null!==(n=this.extractImageFromDataUrl(A))?n.data:A;try{r=atob(e)}catch(A){throw t.validateStringAsBase64(e)?new Error(\"atob-Error in jsPDF.convertStringToImageData \"+A.message):new Error(\"Supplied Data is not a valid base64-String jsPDF.convertStringToImageData \")}}return r};var h=function(t,A){return t.subarray(A,A+5)};t.processJPEG=function(t,A,e,n,i,o){var s,a=this.decode.DCT_DECODE;if(!this.isString(t)&&!this.isArrayBuffer(t)&&!this.isArrayBufferView(t))return null;if(this.isString(t)&&(s=function(t){var A;if(\"JPEG\"!==r(t))throw new Error(\"getJpegSize requires a binary string jpeg file\");for(var e=256*t.charCodeAt(4)+t.charCodeAt(5),n=4,i=t.length;n>\",c.content=B;var h=c.objId+\" 0 R\";B=\"<>\",u.content=B,this.internal.write(c.objId,\"0 R\",u.objId,\"0 R\");break;case\"freetext\":var f=\"/Rect [\"+o(a.bounds.x)+\" \"+s(a.bounds.y)+\" \"+o(a.bounds.x+a.bounds.w)+\" \"+s(a.bounds.y+a.bounds.h)+\"] \",d=a.color||\"#000000\";B=\"<>\",this.internal.write(B);break;case\"link\":if(a.options.name){var p=this.annotations._nameMap[a.options.name];a.options.pageNumber=p.page,a.options.top=p.y}else a.options.top||(a.options.top=0);f=\"/Rect [\"+o(a.x)+\" \"+s(a.y)+\" \"+o(a.x+a.w)+\" \"+s(a.y+a.h)+\"] \";var B=\"\";if(a.options.url)B=\"<>\";else if(a.options.pageNumber)switch(B=\"<>\",this.internal.write(B))}}this.internal.write(\"]\")}}]),o.createAnnotation=function(t){var A=this.internal.getCurrentPageInfo();switch(t.type){case\"link\":this.link(t.bounds.x,t.bounds.y,t.bounds.w,t.bounds.h,t);break;case\"text\":case\"freetext\":A.pageContext.annotations.push(t)}},o.link=function(t,A,e,r,n){this.internal.getCurrentPageInfo().pageContext.annotations.push({x:t,y:A,w:e,h:r,options:n,type:\"link\"})},o.textWithLink=function(t,A,e,r){var n=this.getTextWidth(t),i=this.internal.getLineHeight()/this.internal.scaleFactor;return this.text(t,A,e),e+=.2*i,this.link(A,e-i,n,i,r),n},o.getTextWidth=function(t){var A=this.internal.getFontSize();return this.getStringUnitWidth(t)*A/this.internal.scaleFactor},\n/**\n * @license\n * Copyright (c) 2017 Aras Abbasi \n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var A={1569:[65152],1570:[65153,65154],1571:[65155,65156],1572:[65157,65158],1573:[65159,65160],1574:[65161,65162,65163,65164],1575:[65165,65166],1576:[65167,65168,65169,65170],1577:[65171,65172],1578:[65173,65174,65175,65176],1579:[65177,65178,65179,65180],1580:[65181,65182,65183,65184],1581:[65185,65186,65187,65188],1582:[65189,65190,65191,65192],1583:[65193,65194],1584:[65195,65196],1585:[65197,65198],1586:[65199,65200],1587:[65201,65202,65203,65204],1588:[65205,65206,65207,65208],1589:[65209,65210,65211,65212],1590:[65213,65214,65215,65216],1591:[65217,65218,65219,65220],1592:[65221,65222,65223,65224],1593:[65225,65226,65227,65228],1594:[65229,65230,65231,65232],1601:[65233,65234,65235,65236],1602:[65237,65238,65239,65240],1603:[65241,65242,65243,65244],1604:[65245,65246,65247,65248],1605:[65249,65250,65251,65252],1606:[65253,65254,65255,65256],1607:[65257,65258,65259,65260],1608:[65261,65262],1609:[65263,65264,64488,64489],1610:[65265,65266,65267,65268],1649:[64336,64337],1655:[64477],1657:[64358,64359,64360,64361],1658:[64350,64351,64352,64353],1659:[64338,64339,64340,64341],1662:[64342,64343,64344,64345],1663:[64354,64355,64356,64357],1664:[64346,64347,64348,64349],1667:[64374,64375,64376,64377],1668:[64370,64371,64372,64373],1670:[64378,64379,64380,64381],1671:[64382,64383,64384,64385],1672:[64392,64393],1676:[64388,64389],1677:[64386,64387],1678:[64390,64391],1681:[64396,64397],1688:[64394,64395],1700:[64362,64363,64364,64365],1702:[64366,64367,64368,64369],1705:[64398,64399,64400,64401],1709:[64467,64468,64469,64470],1711:[64402,64403,64404,64405],1713:[64410,64411,64412,64413],1715:[64406,64407,64408,64409],1722:[64414,64415],1723:[64416,64417,64418,64419],1726:[64426,64427,64428,64429],1728:[64420,64421],1729:[64422,64423,64424,64425],1733:[64480,64481],1734:[64473,64474],1735:[64471,64472],1736:[64475,64476],1737:[64482,64483],1739:[64478,64479],1740:[64508,64509,64510,64511],1744:[64484,64485,64486,64487],1746:[64430,64431],1747:[64432,64433]},e={65247:{65154:65269,65156:65271,65160:65273,65166:65275},65248:{65154:65270,65156:65272,65160:65274,65166:65276},65165:{65247:{65248:{65258:65010}}},1617:{1612:64606,1613:64607,1614:64608,1615:64609,1616:64610}},r={1612:64606,1613:64607,1614:64608,1615:64609,1616:64610},n=[1570,1571,1573,1575];t.__arabicParser__={};var i=t.__arabicParser__.isInArabicSubstitutionA=function(t){return void 0!==A[t.charCodeAt(0)]},o=t.__arabicParser__.isArabicLetter=function(t){return\"string\"==typeof t&&/^[\\u0600-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\uFB50-\\uFDFF\\uFE70-\\uFEFF]+$/.test(t)},s=t.__arabicParser__.isArabicEndLetter=function(t){return o(t)&&i(t)&&A[t.charCodeAt(0)].length<=2},a=t.__arabicParser__.isArabicAlfLetter=function(t){return o(t)&&0<=n.indexOf(t.charCodeAt(0))},c=(t.__arabicParser__.arabicLetterHasIsolatedForm=function(t){return o(t)&&i(t)&&1<=A[t.charCodeAt(0)].length},t.__arabicParser__.arabicLetterHasFinalForm=function(t){return o(t)&&i(t)&&2<=A[t.charCodeAt(0)].length}),u=(t.__arabicParser__.arabicLetterHasInitialForm=function(t){return o(t)&&i(t)&&3<=A[t.charCodeAt(0)].length},t.__arabicParser__.arabicLetterHasMedialForm=function(t){return o(t)&&i(t)&&4==A[t.charCodeAt(0)].length}),l=t.__arabicParser__.resolveLigatures=function(t){var A=0,r=e,n=0,i=\"\",o=0;for(A=0;A>\"),this.internal.out(\"endobj\")})),this.internal.events.subscribe(\"putCatalog\",(function(){this.internal.out(\"/OpenAction \"+A+\" 0 R\")}))}return this},\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\ns=dt.API,(a=function(){var t=void 0;Object.defineProperty(this,\"pdf\",{get:function(){return t},set:function(A){t=A}});var A=150;Object.defineProperty(this,\"width\",{get:function(){return A},set:function(t){A=isNaN(t)||!1===Number.isInteger(t)||t<0?150:t,this.getContext(\"2d\").pageWrapXEnabled&&(this.getContext(\"2d\").pageWrapX=A+1)}});var e=300;Object.defineProperty(this,\"height\",{get:function(){return e},set:function(t){e=isNaN(t)||!1===Number.isInteger(t)||t<0?300:t,this.getContext(\"2d\").pageWrapYEnabled&&(this.getContext(\"2d\").pageWrapY=e+1)}});var r=[];Object.defineProperty(this,\"childNodes\",{get:function(){return r},set:function(t){r=t}});var n={};Object.defineProperty(this,\"style\",{get:function(){return n},set:function(t){n=t}}),Object.defineProperty(this,\"parentNode\",{get:function(){return!1}})}).prototype.getContext=function(t,A){var e;if(\"2d\"!==(t=t||\"2d\"))return null;for(e in A)this.pdf.context2d.hasOwnProperty(e)&&(this.pdf.context2d[e]=A[e]);return(this.pdf.context2d._canvas=this).pdf.context2d},a.prototype.toDataURL=function(){throw new Error(\"toDataURL is not implemented.\")},s.events.push([\"initialized\",function(){this.canvas=new a,this.canvas.pdf=this}]),\n/** \n * @license\n * ====================================================================\n * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\n * 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n * 2013 Lee Driscoll, https://github.com/lsdriscoll\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 James Hall, james@parall.ax\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * \n * ====================================================================\n */\nc=dt.API,l={x:void 0,y:void 0,w:void 0,h:void 0,ln:void 0},h=1,f=function(t,A,e,r,n){l={x:t,y:A,w:e,h:r,ln:n}},d=function(){return l},p={left:0,top:0,bottom:0},c.setHeaderFunction=function(t){u=t},c.getTextDimensions=function(t,A){var e=this.table_font_size||this.internal.getFontSize(),r=(this.internal.getFont().fontStyle,(A=A||{}).scaleFactor||this.internal.scaleFactor),n=0,i=0,o=0;if(\"string\"==typeof t)0!=(n=this.getStringUnitWidth(t)*e)&&(i=1);else{if(\"[object Array]\"!==Object.prototype.toString.call(t))throw new Error(\"getTextDimensions expects text-parameter to be of type String or an Array of Strings.\");for(var s=0;s=this.internal.pageSize.getHeight()-c.bottom&&(this.cellAddPage(),a=!0,this.printHeaders&&this.tableHeaderRow&&this.printHeaderRow(i,!0)),A=d().y+d().h,a&&(A=23)}if(void 0!==n[0])if(this.printingHeaderRow?this.rect(t,A,e,r,\"FD\"):this.rect(t,A,e,r),\"right\"===o){n instanceof Array||(n=[n]);for(var u=0;u=2*Math.PI&&(r=0,n=2*Math.PI),this.path.push({type:\"arc\",x:t,y:A,radius:e,startAngle:r,endAngle:n,counterclockwise:i})},c.prototype.arcTo=function(t,A,e,r,n){throw new Error(\"arcTo not implemented.\")},c.prototype.rect=function(t,A,e,r){if(isNaN(t)||isNaN(A)||isNaN(e)||isNaN(r))throw console.error(\"jsPDF.context2d.rect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.rect\");this.moveTo(t,A),this.lineTo(t+e,A),this.lineTo(t+e,A+r),this.lineTo(t,A+r),this.lineTo(t,A),this.lineTo(t+e,A),this.lineTo(t,A)},c.prototype.fillRect=function(t,A,e,r){if(isNaN(t)||isNaN(A)||isNaN(e)||isNaN(r))throw console.error(\"jsPDF.context2d.fillRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.fillRect\");if(!l.call(this)){var n={};\"butt\"!==this.lineCap&&(n.lineCap=this.lineCap,this.lineCap=\"butt\"),\"miter\"!==this.lineJoin&&(n.lineJoin=this.lineJoin,this.lineJoin=\"miter\"),this.beginPath(),this.rect(t,A,e,r),this.fill(),n.hasOwnProperty(\"lineCap\")&&(this.lineCap=n.lineCap),n.hasOwnProperty(\"lineJoin\")&&(this.lineJoin=n.lineJoin)}},c.prototype.strokeRect=function(t,A,e,r){if(isNaN(t)||isNaN(A)||isNaN(e)||isNaN(r))throw console.error(\"jsPDF.context2d.strokeRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.strokeRect\");h.call(this)||(this.beginPath(),this.rect(t,A,e,r),this.stroke())},c.prototype.clearRect=function(t,A,e,r){if(isNaN(t)||isNaN(A)||isNaN(e)||isNaN(r))throw console.error(\"jsPDF.context2d.clearRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.clearRect\");this.ignoreClearRect||(this.fillStyle=\"#ffffff\",this.fillRect(t,A,e,r))},c.prototype.save=function(t){t=\"boolean\"!=typeof t||t;for(var A=this.pdf.internal.getCurrentPageInfo().pageNumber,e=0;e\"},w=function(t){var A,e,r,n,i,o=String,s=\"length\",a=\"charCodeAt\",c=\"slice\",u=\"replace\";for(t[c](-2),t=t[c](0,-2)[u](/\\s/g,\"\")[u](\"z\",\"!!!!!\"),r=[],n=0,i=(t+=A=\"uuuuu\"[c](t[s]%5||5))[s];n>24,255&e>>16,255&e>>8,255&e);return function(t,e){for(var r=A[s];0\"},Q=function(t){var A=new RegExp(/^([0-9A-Fa-f]{2})+$/);if(-1!==(t=t.replace(/\\s/g,\"\")).indexOf(\">\")&&(t=t.substr(0,t.indexOf(\">\"))),t.length%2&&(t+=\"0\"),!1===A.test(t))return\"\";for(var e=\"\",r=0;r>8&255,e>>16&255,e>>24&255]),t.length+2),String.fromCharCode.apply(null,n)},B.processDataByFilters=function(t,A){var e=0,r=t||\"\",n=[];for(\"string\"==typeof(A=A||[])&&(A=[A]),e=0;e>\"),this.internal.out(\"endobj\"),L=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/S /JavaScript\"),this.internal.out(\"/JS (\"+H+\")\"),this.internal.out(\">>\"),this.internal.out(\"endobj\")})),this.internal.events.subscribe(\"putCatalog\",(function(){void 0!==b&&void 0!==L&&this.internal.out(\"/Names <>\")})),this},\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */(x=dt.API).events.push([\"postPutResources\",function(){var t=this,A=/^(\\d+) 0 obj$/;if(0> endobj\")}var l=t.internal.newObject();for(t.internal.write(\"<< /Names [ \"),r=0;r>\",\"endobj\"),t.internal.newObject(),t.internal.write(\"<< /Dests \"+l+\" 0 R\"),t.internal.write(\">>\",\"endobj\")}}]),x.events.push([\"putCatalog\",function(){0> \\r\\nendobj\\r\\n\"},t.outline.count_r=function(t,A){for(var e=0;e>>24&255,h[l++]=s>>>16&255,h[l++]=s>>>8&255,h[l++]=255&s,S.arrayBufferToBinaryString(h)},T=function(t,A){var e=Math.LOG2E*Math.log(32768)-8<<4|8,r=e<<8;return r|=Math.min(3,(A-1&255)>>1)<<6,r|=0,[e,255&(r+=31-r%31)]},R=function(t,A){for(var e,r=1,n=0,i=t.length,o=0;0>>0},O=function(t,A,e,r){for(var n,i,o,s=t.length/A,a=new Uint8Array(t.length+s),c=j(),u=0;u>>1)&255;return i},k=function(t,A,e){var r,n,i,o,s=[],a=0,c=t.length;for(s[0]=4;a>>d&255,d+=i.bits;g[m]=C>>>d&255}if(16===i.bits){p=(N=new Uint32Array(i.decodePixels().buffer)).length,B=new Uint8Array(p*(32/i.pixelBitlength)*i.colors),g=new Uint8Array(p*(32/i.pixelBitlength));for(var C,y=1>>0&255,y&&(B[Q++]=C>>>16&255,C=N[m++],B[Q++]=C>>>0&255),g[v++]=C>>>16&255;f=8}r!==S.image_compression.NONE&&I()?(t=_(B,i.width*i.colors,i.colors,r),u=_(g,i.width,1,r)):(t=B,u=g,h=null)}if(3===i.colorType&&(l=this.color_spaces.INDEXED,c=i.palette,i.transparency.indexed)){var F=i.transparency.indexed,U=0;for(m=0,p=F.length;mr&&(n.push(t.slice(a,i)),s=0,a=i),s+=A[i],i++;return a!==i&&n.push(t.slice(a,i)),n},tt=function(t,A,e){e||(e={});var r,n,i,o,s,a,c=[],u=[c],l=e.textIndent||0,h=0,f=0,d=t.split(\" \"),p=W.apply(this,[\" \",e])[0];if(a=-1===e.lineIndent?d[0].length+2:e.lineIndent||0){var B=Array(a).join(\" \"),g=[];d.map((function(t){1<(t=t.split(/\\s*\\n/)).length?g=g.concat(t.map((function(t,A){return(A&&t.length?\"\\n\":\"\")+t}))):g.push(t[0])})),d=g,a=Z.apply(this,[B,e])}for(i=0,o=d.length;i>\")})),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=e,this},at=dt.API,lt=ut=ct=\"\",at.addMetadata=function(t,A){return ut=A||\"http://jspdf.default.namespaceuri/\",ct=t,this.internal.events.subscribe(\"postPutResources\",(function(){if(ct){var t='',A=unescape(encodeURIComponent('')),e=unescape(encodeURIComponent(t)),r=unescape(encodeURIComponent(ct)),n=unescape(encodeURIComponent(\"\")),i=unescape(encodeURIComponent(\"\")),o=e.length+r.length+n.length+A.length+i.length;lt=this.internal.newObject(),this.internal.write(\"<< /Type /Metadata /Subtype /XML /Length \"+o+\" >>\"),this.internal.write(\"stream\"),this.internal.write(A+e+r+n+i),this.internal.write(\"endstream\"),this.internal.write(\"endobj\")}else lt=\"\"})),this.internal.events.subscribe(\"putCatalog\",(function(){lt&&this.internal.write(\"/Metadata \"+lt+\" 0 R\")})),this},function(t,A){var e=t.API,r=e.pdfEscape16=function(t,A){for(var e,r=A.metadata.Unicode.widths,n=[\"\",\"0\",\"00\",\"000\",\"0000\"],i=[\"\"],o=0,s=t.length;o> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000>\\nendcodespacerange\",r=[],o=0,s=(e=Object.keys(t).sort((function(t,A){return t-A}))).length;o<\"+n+\">\");return r.length&&(i+=\"\\n\"+r.length+\" beginbfchar\\n\"+r.join(\"\\n\")+\"\\nendbfchar\\n\"),i+\"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\"};e.events.push([\"putFont\",function(A){!function(A,e,r,i){if(A.metadata instanceof t.API.TTFFont&&\"Identity-H\"===A.encoding){for(var o=A.metadata.Unicode.widths,s=A.metadata.subset.encode(A.metadata.glyIdsUsed,1),a=\"\",c=0;c>\"),e(\"endobj\");var f=r();e(\"<<\"),e(\"/Type /Font\"),e(\"/BaseFont /\"+A.fontName),e(\"/FontDescriptor \"+h+\" 0 R\"),e(\"/W \"+t.API.PDFObject.convert(o)),e(\"/CIDToGIDMap /Identity\"),e(\"/DW 1000\"),e(\"/Subtype /CIDFontType2\"),e(\"/CIDSystemInfo\"),e(\"<<\"),e(\"/Supplement 0\"),e(\"/Registry (Adobe)\"),e(\"/Ordering (\"+A.encoding+\")\"),e(\">>\"),e(\">>\"),e(\"endobj\"),A.objectNumber=r(),e(\"<<\"),e(\"/Type /Font\"),e(\"/Subtype /Type0\"),e(\"/ToUnicode \"+l+\" 0 R\"),e(\"/BaseFont /\"+A.fontName),e(\"/Encoding /\"+A.encoding),e(\"/DescendantFonts [\"+f+\" 0 R]\"),e(\">>\"),e(\"endobj\"),A.isAlreadyPutted=!0}}(A.font,A.out,A.newObject,A.putStream)}]),e.events.push([\"putFont\",function(A){!function(A,e,r,i){if(A.metadata instanceof t.API.TTFFont&&\"WinAnsiEncoding\"===A.encoding){A.metadata.Unicode.widths;for(var o=A.metadata.rawData,s=\"\",a=0;a>\"),e(\"endobj\"),A.objectNumber=r(),a=0;a>\"),e(\"endobj\"),A.isAlreadyPutted=!0}}(A.font,A.out,A.newObject,A.putStream)}]);var i=function(t){var A,e,n=t.text||\"\",i=t.x,o=t.y,s=t.options||{},a=t.mutex||{},c=a.pdfEscape,u=a.activeFontKey,l=a.fonts,h=(a.activeFontSize,\"\"),f=0,d=\"\",p=l[e=u].encoding;if(\"Identity-H\"!==l[e].encoding)return{text:n,x:i,y:o,options:s,mutex:a};for(d=n,e=u,\"[object Array]\"===Object.prototype.toString.call(n)&&(d=n[0]),f=0;fa-c.top-c.bottom&&r.pagesplit){var d=function(t,A,e,n,i){var o=document.createElement(\"canvas\");o.height=i,o.width=n;var s=o.getContext(\"2d\");return s.mozImageSmoothingEnabled=!1,s.webkitImageSmoothingEnabled=!1,s.msImageSmoothingEnabled=!1,s.imageSmoothingEnabled=!1,s.fillStyle=r.backgroundColor||\"#ffffff\",s.fillRect(0,0,n,i),s.drawImage(t,A,e,n,i,0,0,n,i),o},p=function(){for(var r,i,u=0,p=0,B={},g=!1;;){var w;if(p=0,B.top=0!==u?c.top:e,B.left=0!==u?c.left:A,g=(s-c.left-c.right)*o=t.width)break;this.addPage()}else m=[w=d(t,0,u,r,i),B.left,B.top,w.width/o,w.height/o,h,null,f],this.addImage.apply(this,m);if((u+=i)>=t.height)break;this.addPage()}n(l,u,null,m)}.bind(this);if(\"CANVAS\"===t.nodeName){var B=new Image;B.onload=p,B.src=t.toDataURL(\"image/png\"),t=B}else p()}else{var g=Math.random().toString(35),w=[t,A,e,l,u,h,g,f];this.addImage.apply(this,w),n(l,u,g,w)}}.bind(this),\"undefined\"!=typeof html2canvas&&!r.rstz)return html2canvas(t,r);if(\"undefined\"==typeof rasterizeHTML)return null;var c=\"drawDocument\";return\"string\"==typeof t&&(c=/^http/.test(t)?\"drawURL\":\"drawHTML\"),r.width=r.width||s*o,rasterizeHTML[c](t,void 0,r).then((function(t){r.onrendered(t.image)}),(function(t){n(null,t)}))\n/**\n * jsPDF fromHTML plugin. BETA stage. API subject to change. Needs browser\n * Copyright (c) 2012 Willow Systems Corporation, willow-systems.com\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 Daniel Husar, https://github.com/danielhusar\n * 2014 Wolfgang Gassler, https://github.com/woolfg\n * 2014 Steven Spungin, https://github.com/flamenco\n *\n * @license\n * \n * ====================================================================\n */},function(t){var A,e,r,i,o,s,a,c,u,l,h,f,d,p,B,g,w,m,Q,C;A=function(){return function(A){return t.prototype=A,new t};function t(){}}(),l=function(t){var A,e,r,n,i,o,s;for(e=0,r=t.length,A=void 0,o=n=!1;!n&&e!==r;)(A=t[e]=t[e].trimLeft())&&(n=!0),e++;for(e=r-1;r&&!o&&-1!==e;)(A=t[e]=t[e].trimRight())&&(o=!0),e--;for(i=/\\s+$/g,s=!0,e=0;e!==r;)\"\\u2028\"!=t[e]&&(A=t[e].replace(/\\s+/g,\" \"),s&&(A=A.trimLeft()),A&&(s=i.test(A)),t[e]=A),e++;return t},f=function(t){var A,e,n;for(A=void 0,e=(n=t.split(\",\")).shift();!A&&e;)A=r[e.trim().toLowerCase()],e=n.shift();return A},d=function(t){var A;return-1<(t=\"auto\"===t?\"0px\":t).indexOf(\"em\")&&!isNaN(Number(t.replace(\"em\",\"\")))&&(t=18.719*Number(t.replace(\"em\",\"\"))+\"px\"),-1r.pdf.margins_doc.top&&(r.pdf.addPage(),r.y=r.pdf.margins_doc.top,r.executeWatchFunctions(o));var L=u(o),H=r.x,x=12/r.pdf.internal.scaleFactor,S=(L[\"margin-left\"]+L[\"padding-left\"])*x,I=(L[\"margin-right\"]+L[\"padding-right\"])*x,_=(L[\"margin-top\"]+L[\"padding-top\"])*x,T=(L[\"margin-bottom\"]+L[\"padding-bottom\"])*x;void 0!==L.float&&\"right\"===L.float?H+=r.settings.width-o.width-I:H+=S,r.pdf.addImage(E,H,r.y+_,o.width,o.height),E=void 0,\"right\"===L.float||\"left\"===L.float?(r.watchFunctions.push(function(t,A,e,n){return r.y>=A?(r.x+=t,r.settings.width+=e,!0):!!(n&&1===n.nodeType&&!y[n.nodeName]&&r.x+n.width>r.pdf.margins_doc.left+r.pdf.margins_doc.width)&&(r.x+=t,r.y=A,r.settings.width+=e,!0)}.bind(this,\"left\"===L.float?-o.width-S-I:0,r.y+o.height+_+T,o.width)),r.watchFunctions.push(function(t,A,e){return!(r.y]*?>/gi,\"\"),u=\"jsPDFhtmlText\"+Date.now().toString()+(1e3*Math.random()).toFixed(0),(c=document.createElement(\"div\")).style.cssText=\"position: absolute !important;clip: rect(1px 1px 1px 1px); /* IE6, IE7 */clip: rect(1px, 1px, 1px, 1px);padding:0 !important;border:0 !important;height: 1px !important;width: 1px !important; top:auto;left:-100px;overflow: hidden;\",c.innerHTML='',i=r.open();if(null!==i&&i.document.write(n),i||"undefined"==typeof safari)return i;case"datauri":case"dataurl":return r.document.location.href="data:application/pdf;filename="+e.filename+";base64,"+btoa(A);default:return null}}).foo=function(){try{return T.apply(this,arguments)}catch(A){var t=A.stack||"";~t.indexOf(" at ")&&(t=t.split(" at ")[1]);var e="Error in function "+t.split("\n")[0].split("<")[0]+": "+A.message;if(!r.console)throw new Error(e);r.console.error(e,A),r.alert&&alert(e)}},(T.foo.bar=T).foo),Ot=function(t){return!0===Array.isArray(ot)&&-1":")"),et=1):(Y=Xt(e),Z=Jt(A),$=(c?"<":"(")+C[W]+(c?">":")")),void 0!==z&&void 0!==z[W]&&(At=z[W]+" Tw\n"),0!==L.length&&0===W?t.push(At+L.join(" ")+" "+Y.toFixed(2)+" "+Z.toFixed(2)+" Tm\n"+$):1===et||0===et&&0===W?t.push(At+Y.toFixed(2)+" "+Z.toFixed(2)+" Td\n"+$):t.push(At+$);t=0===et?t.join(" Tj\nT* "):t.join(" Tj\n"),t+=" Tj\n";var rt="BT\n/"+I+" "+q+" Tf\n"+(q*l).toFixed(2)+" TL\n"+te+"\n";return rt+=u,rt+=t,D(rt+="ET"),h[I]=!0,f},f.__private__.lstext=f.lstext=function(t,e,A,r){return console.warn("jsPDF.lstext is deprecated"),this.text(t,e,A,{charSpace:r})},f.__private__.clip=f.clip=function(t){D("evenodd"===t?"W*":"W"),D("n")},f.__private__.clip_fixed=f.clip_fixed=function(t){console.log("clip_fixed is deprecated"),f.clip(t)};var Kt=f.__private__.isValidStyle=function(t){var e=!1;return-1!==[void 0,null,"S","F","DF","FD","f","f*","B","B*"].indexOf(t)&&(e=!0),e},Dt=f.__private__.getStyle=function(t){var e="S";return"F"===t?e="f":"FD"===t||"DF"===t?e="B":"f"!==t&&"f*"!==t&&"B"!==t&&"B*"!==t||(e=t),e};f.__private__.line=f.line=function(t,e,A,r){if(isNaN(t)||isNaN(e)||isNaN(A)||isNaN(r))throw new Error("Invalid arguments passed to jsPDF.line");return this.lines([[A-t,r-e]],t,e)},f.__private__.lines=f.lines=function(t,e,A,r,n,i){var o,s,a,c,u,l,h,f,d,p,g,B;if("number"==typeof t&&(B=A,A=e,e=t,t=B),r=r||[1,1],i=i||!1,isNaN(e)||isNaN(A)||!Array.isArray(t)||!Array.isArray(r)||!Kt(n)||"boolean"!=typeof i)throw new Error("Invalid arguments passed to jsPDF.lines");for(D(v(Xt(e))+" "+v(Jt(A))+" m "),o=r[0],s=r[1],c=t.length,p=e,g=A,a=0;a=o.length-1;if(b&&!F){m+=" ";continue}if(b||F){if(F)B=Q;else if(t.multiline&&c<(h+2)*(v+2)+2)continue t}else{if(!t.multiline)continue t;if(c<(h+2)*(v+2)+2)continue t;B=Q}for(var U="",N=g;N<=B;N++)U+=o[N]+" ";switch(U=" "==U.substr(U.length-1)?U.substr(0,U.length-1):U,w=C(U,t,a).width,t.textAlign){case"right":d=u-w-2;break;case"center":d=(u-w)/2;break;default:d=2}e+=s(d)+" "+s(p)+" Td\n",e+="("+i(U)+") Tj\n",e+=-s(d)+" 0 Td\n",p=-(a+2),w=0,g=B+1,v++,m=""}break}return n.text=e,n.fontSize=a,n},C=function(t,e,r){var n=A.internal.getFont(e.fontName,e.fontStyle),i=A.getStringUnitWidth(t,{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r);return{height:A.getStringUnitWidth("3",{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r)*1.5,width:i}},Q={fields:[],xForms:[],acroFormDictionaryRoot:null,printedOut:!1,internal:null,isInitialized:!1},b=function(){A.internal.acroformPlugin.acroFormDictionaryRoot.objId=void 0;var t=A.internal.acroformPlugin.acroFormDictionaryRoot.Fields;for(var e in t)if(t.hasOwnProperty(e)){var r=t[e];r.objId=void 0,r.hasAnnotation&&F.call(A,r)}},F=function(t){var e={type:"reference",object:t};void 0===A.internal.getPageInfo(t.page).pageContext.annotations.find((function(t){return t.type===e.type&&t.object===e.object}))&&A.internal.getPageInfo(t.page).pageContext.annotations.push(e)},U=function(){if(void 0===A.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error("putCatalogCallback: Root missing.");A.internal.write("/AcroForm "+A.internal.acroformPlugin.acroFormDictionaryRoot.objId+" 0 R")},N=function(){A.internal.events.unsubscribe(A.internal.acroformPlugin.acroFormDictionaryRoot._eventID),delete A.internal.acroformPlugin.acroFormDictionaryRoot._eventID,A.internal.acroformPlugin.printedOut=!0},E=function(t){var e=!t;for(var r in t||(A.internal.newObjectDeferredBegin(A.internal.acroformPlugin.acroFormDictionaryRoot.objId,!0),A.internal.acroformPlugin.acroFormDictionaryRoot.putStream()),t=t||A.internal.acroformPlugin.acroFormDictionaryRoot.Kids)if(t.hasOwnProperty(r)){var i=t[r],o=[],s=i.Rect;if(i.Rect&&(i.Rect=m.call(this,i.Rect)),A.internal.newObjectDeferredBegin(i.objId,!0),i.DA=X.createDefaultAppearanceStream(i),"object"===n(i)&&"function"==typeof i.getKeyValueListForStream&&(o=i.getKeyValueListForStream()),i.Rect=s,i.hasAppearanceStream&&!i.appearanceStreamContent){var a=v.call(this,i);o.push({key:"AP",value:"<>"}),A.internal.acroformPlugin.xForms.push(a)}if(i.appearanceStreamContent){var c="";for(var u in i.appearanceStreamContent)if(i.appearanceStreamContent.hasOwnProperty(u)){var l=i.appearanceStreamContent[u];if(c+="/"+u+" ",c+="<<",1<=Object.keys(l).length||Array.isArray(l))for(var r in l){var h;l.hasOwnProperty(r)&&("function"==typeof(h=l[r])&&(h=h.call(this,i)),c+="/"+r+" "+h+" ",0<=A.internal.acroformPlugin.xForms.indexOf(h)||A.internal.acroformPlugin.xForms.push(h))}else"function"==typeof(h=l)&&(h=h.call(this,i)),c+="/"+r+" "+h,0<=A.internal.acroformPlugin.xForms.indexOf(h)||A.internal.acroformPlugin.xForms.push(h);c+=">>"}o.push({key:"AP",value:"<<\n"+c+">>"})}A.internal.putStream({additionalKeyValues:o}),A.internal.out("endobj")}e&&L.call(this,A.internal.acroformPlugin.xForms)},L=function(t){for(var e in t)if(t.hasOwnProperty(e)){var r=e,i=t[e];A.internal.newObjectDeferredBegin(i&&i.objId,!0),"object"===n(i)&&"function"==typeof i.putStream&&i.putStream(),delete t[r]}},x=function(){if(void 0!==this.internal&&(void 0===this.internal.acroformPlugin||!1===this.internal.acroformPlugin.isInitialized)){if(A=this,O.FieldNum=0,this.internal.acroformPlugin=JSON.parse(JSON.stringify(Q)),this.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error("Exception while creating AcroformDictionary");r=A.internal.scaleFactor,A.internal.acroformPlugin.acroFormDictionaryRoot=new T,A.internal.acroformPlugin.acroFormDictionaryRoot._eventID=A.internal.events.subscribe("postPutResources",N),A.internal.events.subscribe("buildDocument",b),A.internal.events.subscribe("putCatalog",U),A.internal.events.subscribe("postPutPages",E),A.internal.acroformPlugin.isInitialized=!0}},H=t.__acroform__.arrayToPdfArray=function(t){if(Array.isArray(t)){for(var e="[",A=0;A>"),A.join("\n")}},set:function(t){"object"===n(t)&&(e=t)}}),Object.defineProperty(this,"caption",{enumerable:!0,configurable:!0,get:function(){return e.CA||""},set:function(t){"string"==typeof t&&(e.CA=t)}}),Object.defineProperty(this,"AS",{enumerable:!1,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,"appearanceState",{enumerable:!0,configurable:!0,get:function(){return t.substr(1,t.length-1)},set:function(e){t="/"+e}})};c(D,O);var k=function(){D.call(this),this.pushButton=!0};c(k,D);var z=function(){D.call(this),this.radio=!0,this.pushButton=!1;var t=[];Object.defineProperty(this,"Kids",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=void 0!==e?e:[]}})};c(z,D);var j=function(){var t,e;O.call(this),Object.defineProperty(this,"Parent",{enumerable:!1,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,"optionName",{enumerable:!1,configurable:!0,get:function(){return e},set:function(t){e=t}});var A,r={};Object.defineProperty(this,"MK",{enumerable:!1,configurable:!1,get:function(){var t,e=[];for(t in e.push("<<"),r)e.push("/"+t+" ("+r[t]+")");return e.push(">>"),e.join("\n")},set:function(t){"object"===n(t)&&(r=t)}}),Object.defineProperty(this,"caption",{enumerable:!0,configurable:!0,get:function(){return r.CA||""},set:function(t){"string"==typeof t&&(r.CA=t)}}),Object.defineProperty(this,"AS",{enumerable:!1,configurable:!1,get:function(){return A},set:function(t){A=t}}),Object.defineProperty(this,"appearanceState",{enumerable:!0,configurable:!0,get:function(){return A.substr(1,A.length-1)},set:function(t){A="/"+t}}),this.optionName=name,this.caption="l",this.appearanceState="Off",this._AppearanceType=X.RadioButton.Circle,this.appearanceStreamContent=this._AppearanceType.createAppearanceStream(name)};c(j,O),z.prototype.setAppearance=function(t){if(!("createAppearanceStream"in t)||!("getCA"in t))throw new Error("Couldn't assign Appearance to RadioButton. Appearance was Invalid!");for(var e in this.Kids)if(this.Kids.hasOwnProperty(e)){var A=this.Kids[e];A.appearanceStreamContent=t.createAppearanceStream(A.optionName),A.caption=t.getCA()}},z.prototype.createOption=function(t){this.Kids.length;var e=new j;return e.Parent=this,e.optionName=t,this.Kids.push(e),J.call(this,e),e};var q=function(){D.call(this),this.fontName="zapfdingbats",this.caption="3",this.appearanceState="On",this.value="On",this.textAlign="center",this.appearanceStreamContent=X.CheckBox.createAppearanceStream()};c(q,D);var V=function(){O.call(this),this.FT="/Tx",Object.defineProperty(this,"multiline",{enumerable:!0,configurable:!0,get:function(){return Boolean(g(this.Ff,13))},set:function(t){!0===Boolean(t)?this.Ff=B(this.Ff,13):this.Ff=w(this.Ff,13)}}),Object.defineProperty(this,"fileSelect",{enumerable:!0,configurable:!0,get:function(){return Boolean(g(this.Ff,21))},set:function(t){!0===Boolean(t)?this.Ff=B(this.Ff,21):this.Ff=w(this.Ff,21)}}),Object.defineProperty(this,"doNotSpellCheck",{enumerable:!0,configurable:!0,get:function(){return Boolean(g(this.Ff,23))},set:function(t){!0===Boolean(t)?this.Ff=B(this.Ff,23):this.Ff=w(this.Ff,23)}}),Object.defineProperty(this,"doNotScroll",{enumerable:!0,configurable:!0,get:function(){return Boolean(g(this.Ff,24))},set:function(t){!0===Boolean(t)?this.Ff=B(this.Ff,24):this.Ff=w(this.Ff,24)}}),Object.defineProperty(this,"comb",{enumerable:!0,configurable:!0,get:function(){return Boolean(g(this.Ff,25))},set:function(t){!0===Boolean(t)?this.Ff=B(this.Ff,25):this.Ff=w(this.Ff,25)}}),Object.defineProperty(this,"richText",{enumerable:!0,configurable:!0,get:function(){return Boolean(g(this.Ff,26))},set:function(t){!0===Boolean(t)?this.Ff=B(this.Ff,26):this.Ff=w(this.Ff,26)}});var t=null;Object.defineProperty(this,"MaxLen",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,"maxLength",{enumerable:!0,configurable:!0,get:function(){return t},set:function(e){Number.isInteger(e)&&(t=e)}}),Object.defineProperty(this,"hasAppearanceStream",{enumerable:!0,configurable:!0,get:function(){return this.V||this.DV}})};c(V,O);var G=function(){V.call(this),Object.defineProperty(this,"password",{enumerable:!0,configurable:!0,get:function(){return Boolean(g(this.Ff,14))},set:function(t){!0===Boolean(t)?this.Ff=B(this.Ff,14):this.Ff=w(this.Ff,14)}}),this.password=!0};c(G,V);var X={CheckBox:{createAppearanceStream:function(){return{N:{On:X.CheckBox.YesNormal},D:{On:X.CheckBox.YesPushDown,Off:X.CheckBox.OffPushDown}}},YesPushDown:function(t){var e=h(t),r=[],n=A.internal.getFont(t.fontName,t.fontStyle).id,i=A.__private__.encodeColorString(t.color),o=y(t,t.caption);return r.push("0.749023 g"),r.push("0 0 "+s(X.internal.getWidth(t))+" "+s(X.internal.getHeight(t))+" re"),r.push("f"),r.push("BMC"),r.push("q"),r.push("0 0 1 rg"),r.push("/"+n+" "+s(o.fontSize)+" Tf "+i),r.push("BT"),r.push(o.text),r.push("ET"),r.push("Q"),r.push("EMC"),e.stream=r.join("\n"),e},YesNormal:function(t){var e=h(t),r=A.internal.getFont(t.fontName,t.fontStyle).id,n=A.__private__.encodeColorString(t.color),i=[],o=X.internal.getHeight(t),a=X.internal.getWidth(t),c=y(t,t.caption);return i.push("1 g"),i.push("0 0 "+s(a)+" "+s(o)+" re"),i.push("f"),i.push("q"),i.push("0 0 1 rg"),i.push("0 0 "+s(a-1)+" "+s(o-1)+" re"),i.push("W"),i.push("n"),i.push("0 g"),i.push("BT"),i.push("/"+r+" "+s(c.fontSize)+" Tf "+n),i.push(c.text),i.push("ET"),i.push("Q"),e.stream=i.join("\n"),e},OffPushDown:function(t){var e=h(t),A=[];return A.push("0.749023 g"),A.push("0 0 "+s(X.internal.getWidth(t))+" "+s(X.internal.getHeight(t))+" re"),A.push("f"),e.stream=A.join("\n"),e}},RadioButton:{Circle:{createAppearanceStream:function(t){var e={D:{Off:X.RadioButton.Circle.OffPushDown},N:{}};return e.N[t]=X.RadioButton.Circle.YesNormal,e.D[t]=X.RadioButton.Circle.YesPushDown,e},getCA:function(){return"l"},YesNormal:function(t){var e=h(t),A=[],r=X.internal.getWidth(t)<=X.internal.getHeight(t)?X.internal.getWidth(t)/4:X.internal.getHeight(t)/4;r=Number((.9*r).toFixed(5));var n=X.internal.Bezier_C,i=Number((r*n).toFixed(5));return A.push("q"),A.push("1 0 0 1 "+a(X.internal.getWidth(t)/2)+" "+a(X.internal.getHeight(t)/2)+" cm"),A.push(r+" 0 m"),A.push(r+" "+i+" "+i+" "+r+" 0 "+r+" c"),A.push("-"+i+" "+r+" -"+r+" "+i+" -"+r+" 0 c"),A.push("-"+r+" -"+i+" -"+i+" -"+r+" 0 -"+r+" c"),A.push(i+" -"+r+" "+r+" -"+i+" "+r+" 0 c"),A.push("f"),A.push("Q"),e.stream=A.join("\n"),e},YesPushDown:function(t){var e=h(t),A=[],r=X.internal.getWidth(t)<=X.internal.getHeight(t)?X.internal.getWidth(t)/4:X.internal.getHeight(t)/4,n=(r=Number((.9*r).toFixed(5)),Number((2*r).toFixed(5))),i=Number((n*X.internal.Bezier_C).toFixed(5)),o=Number((r*X.internal.Bezier_C).toFixed(5));return A.push("0.749023 g"),A.push("q"),A.push("1 0 0 1 "+a(X.internal.getWidth(t)/2)+" "+a(X.internal.getHeight(t)/2)+" cm"),A.push(n+" 0 m"),A.push(n+" "+i+" "+i+" "+n+" 0 "+n+" c"),A.push("-"+i+" "+n+" -"+n+" "+i+" -"+n+" 0 c"),A.push("-"+n+" -"+i+" -"+i+" -"+n+" 0 -"+n+" c"),A.push(i+" -"+n+" "+n+" -"+i+" "+n+" 0 c"),A.push("f"),A.push("Q"),A.push("0 g"),A.push("q"),A.push("1 0 0 1 "+a(X.internal.getWidth(t)/2)+" "+a(X.internal.getHeight(t)/2)+" cm"),A.push(r+" 0 m"),A.push(r+" "+o+" "+o+" "+r+" 0 "+r+" c"),A.push("-"+o+" "+r+" -"+r+" "+o+" -"+r+" 0 c"),A.push("-"+r+" -"+o+" -"+o+" -"+r+" 0 -"+r+" c"),A.push(o+" -"+r+" "+r+" -"+o+" "+r+" 0 c"),A.push("f"),A.push("Q"),e.stream=A.join("\n"),e},OffPushDown:function(t){var e=h(t),A=[],r=X.internal.getWidth(t)<=X.internal.getHeight(t)?X.internal.getWidth(t)/4:X.internal.getHeight(t)/4,n=(r=Number((.9*r).toFixed(5)),Number((2*r).toFixed(5))),i=Number((n*X.internal.Bezier_C).toFixed(5));return A.push("0.749023 g"),A.push("q"),A.push("1 0 0 1 "+a(X.internal.getWidth(t)/2)+" "+a(X.internal.getHeight(t)/2)+" cm"),A.push(n+" 0 m"),A.push(n+" "+i+" "+i+" "+n+" 0 "+n+" c"),A.push("-"+i+" "+n+" -"+n+" "+i+" -"+n+" 0 c"),A.push("-"+n+" -"+i+" -"+i+" -"+n+" 0 -"+n+" c"),A.push(i+" -"+n+" "+n+" -"+i+" "+n+" 0 c"),A.push("f"),A.push("Q"),e.stream=A.join("\n"),e}},Cross:{createAppearanceStream:function(t){var e={D:{Off:X.RadioButton.Cross.OffPushDown},N:{}};return e.N[t]=X.RadioButton.Cross.YesNormal,e.D[t]=X.RadioButton.Cross.YesPushDown,e},getCA:function(){return"8"},YesNormal:function(t){var e=h(t),A=[],r=X.internal.calculateCross(t);return A.push("q"),A.push("1 1 "+s(X.internal.getWidth(t)-2)+" "+s(X.internal.getHeight(t)-2)+" re"),A.push("W"),A.push("n"),A.push(s(r.x1.x)+" "+s(r.x1.y)+" m"),A.push(s(r.x2.x)+" "+s(r.x2.y)+" l"),A.push(s(r.x4.x)+" "+s(r.x4.y)+" m"),A.push(s(r.x3.x)+" "+s(r.x3.y)+" l"),A.push("s"),A.push("Q"),e.stream=A.join("\n"),e},YesPushDown:function(t){var e=h(t),A=X.internal.calculateCross(t),r=[];return r.push("0.749023 g"),r.push("0 0 "+s(X.internal.getWidth(t))+" "+s(X.internal.getHeight(t))+" re"),r.push("f"),r.push("q"),r.push("1 1 "+s(X.internal.getWidth(t)-2)+" "+s(X.internal.getHeight(t)-2)+" re"),r.push("W"),r.push("n"),r.push(s(A.x1.x)+" "+s(A.x1.y)+" m"),r.push(s(A.x2.x)+" "+s(A.x2.y)+" l"),r.push(s(A.x4.x)+" "+s(A.x4.y)+" m"),r.push(s(A.x3.x)+" "+s(A.x3.y)+" l"),r.push("s"),r.push("Q"),e.stream=r.join("\n"),e},OffPushDown:function(t){var e=h(t),A=[];return A.push("0.749023 g"),A.push("0 0 "+s(X.internal.getWidth(t))+" "+s(X.internal.getHeight(t))+" re"),A.push("f"),e.stream=A.join("\n"),e}}},createDefaultAppearanceStream:function(t){var e=A.internal.getFont(t.fontName,t.fontStyle).id,r=A.__private__.encodeColorString(t.color);return"/"+e+" "+t.fontSize+" Tf "+r}};X.internal={Bezier_C:.551915024494,calculateCross:function(t){var e=X.internal.getWidth(t),A=X.internal.getHeight(t),r=Math.min(e,A);return{x1:{x:(e-r)/2,y:(A-r)/2+r},x2:{x:(e-r)/2+r,y:(A-r)/2},x3:{x:(e-r)/2,y:(A-r)/2},x4:{x:(e-r)/2+r,y:(A-r)/2+r}}}},X.internal.getWidth=function(t){var e=0;return"object"===n(t)&&(e=u(t.Rect[2])),e},X.internal.getHeight=function(t){var e=0;return"object"===n(t)&&(e=u(t.Rect[3])),e};var J=t.addField=function(t){if(x.call(this),!(t instanceof O))throw new Error("Invalid argument passed to jsPDF.addField.");return function(t){A.internal.acroformPlugin.printedOut&&(A.internal.acroformPlugin.printedOut=!1,A.internal.acroformPlugin.acroFormDictionaryRoot=null),A.internal.acroformPlugin.acroFormDictionaryRoot||x.call(A),A.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(t)}.call(this,t),t.page=A.internal.getCurrentPageInfo().pageNumber,this};t.addButton=function(t){if(t instanceof D==0)throw new Error("Invalid argument passed to jsPDF.addButton.");return J.call(this,t)},t.addTextField=function(t){if(t instanceof V==0)throw new Error("Invalid argument passed to jsPDF.addTextField.");return J.call(this,t)},t.addChoiceField=function(t){if(t instanceof R==0)throw new Error("Invalid argument passed to jsPDF.addChoiceField.");return J.call(this,t)},"object"==n(e)&&void 0===e.ChoiceField&&void 0===e.ListBox&&void 0===e.ComboBox&&void 0===e.EditBox&&void 0===e.Button&&void 0===e.PushButton&&void 0===e.RadioButton&&void 0===e.CheckBox&&void 0===e.TextField&&void 0===e.PasswordField?(e.ChoiceField=R,e.ListBox=P,e.ComboBox=M,e.EditBox=K,e.Button=D,e.PushButton=k,e.RadioButton=z,e.CheckBox=q,e.TextField=V,e.PasswordField=G,e.AcroForm={Appearance:X}):console.warn("AcroForm-Classes are not populated into global-namespace, because the class-Names exist already."),t.AcroFormChoiceField=R,t.AcroFormListBox=P,t.AcroFormComboBox=M,t.AcroFormEditBox=K,t.AcroFormButton=D,t.AcroFormPushButton=k,t.AcroFormRadioButton=z,t.AcroFormCheckBox=q,t.AcroFormTextField=V,t.AcroFormPasswordField=G,t.AcroFormAppearance=X,t.AcroForm={ChoiceField:R,ListBox:P,ComboBox:M,EditBox:K,Button:D,PushButton:k,RadioButton:z,CheckBox:q,TextField:V,PasswordField:G,Appearance:X}})((window.tmp=dt).API,"undefined"!=typeof window&&window||void 0!==r&&r),function(t){var e="addImage_",A={PNG:[[137,80,78,71]],TIFF:[[77,77,0,42],[73,73,42,0]],JPEG:[[255,216,255,224,void 0,void 0,74,70,73,70,0],[255,216,255,225,void 0,void 0,69,120,105,102,0,0]],JPEG2000:[[0,0,0,12,106,80,32,32]],GIF87a:[[71,73,70,56,55,97]],GIF89a:[[71,73,70,56,57,97]],BMP:[[66,77],[66,65],[67,73],[67,80],[73,67],[80,84]]},r=t.getImageFileTypeByImageData=function(e,r){var n,i;r=r||"UNKNOWN";var o,s,a,c="UNKNOWN";for(a in t.isArrayBufferView(e)&&(e=t.arrayBufferToBinaryString(e)),A)for(o=A[a],n=0;n>"}),"trns"in e&&e.trns.constructor==Array){for(var s="",a=0,c=e.trns.length;a>18]+r[(258048&e)>>12]+r[(4032&e)>>6]+r[63&e];return 1==o?A+=r[(252&(e=n[s]))>>2]+r[(3&e)<<4]+"==":2==o&&(A+=r[(64512&(e=n[s]<<8|n[s+1]))>>10]+r[(1008&e)>>4]+r[(15&e)<<2]+"="),A},t.createImageInfo=function(t,e,A,r,n,i,o,s,a,c,u,l,h){var f={alias:s,w:e,h:A,cs:r,bpc:n,i:o,data:t};return i&&(f.f=i),a&&(f.dp=a),c&&(f.trns=c),u&&(f.pal=u),l&&(f.smask=l),h&&(f.p=h),f},t.addImage=function(A,r,i,h,f,d,p,g,B){var w="";if("string"!=typeof r){var m=d;d=f,f=h,h=i,i=r,r=m}if("object"===n(A)&&!c(A)&&"imageData"in A){var v=A;A=v.imageData,r=v.format||r||"UNKNOWN",i=v.x||i||0,h=v.y||h||0,f=v.w||f,d=v.h||d,p=v.alias||p,g=v.compression||g,B=v.rotation||v.angle||B}var y=this.internal.getFilters();if(void 0===g&&-1!==y.indexOf("FlateEncode")&&(g="SLOW"),"string"==typeof A&&(A=unescape(A)),isNaN(i)||isNaN(h))throw console.error("jsPDF.addImage: Invalid coordinates",arguments),new Error("Invalid coordinates passed to jsPDF.addImage");var C,Q,b,F,U,N,E,L=function(){var t=this.internal.collections[e+"images"];return t||(this.internal.collections[e+"images"]=t={},this.internal.events.subscribe("putResources",o),this.internal.events.subscribe("putXobjectDict",s)),t}.call(this);if(!((C=l(A,L))||(c(A)&&(A=u(A,r)),(null==(E=p)||0===E.length)&&(p="string"==typeof(N=A)?t.sHashCode(N):t.isArrayBufferView(N)?t.sHashCode(t.arrayBufferToBinaryString(N)):null),C=l(p,L)))){if(this.isString(A)&&(""!==(w=this.convertStringToImageData(A))||void 0!==(w=t.loadFile(A)))&&(A=w),r=this.getImageFileTypeByImageData(A,r),!a(r))throw new Error("addImage does not support files of type '"+r+"', please ensure that a plugin for '"+r+"' support is added.");if(this.supportsArrayBuffer()&&(A instanceof Uint8Array||(Q=A,A=this.binaryStringToUint8Array(A))),!(C=this["process"+r.toUpperCase()](A,(U=0,(F=L)&&(U=Object.keys?Object.keys(F).length:function(t){var e=0;for(var A in t)t.hasOwnProperty(A)&&e++;return e}(F)),U),p,((b=g)&&"string"==typeof b&&(b=b.toUpperCase()),b in t.image_compression?b:t.image_compression.NONE),Q)))throw new Error("An unknown error occurred whilst processing the image")}return function(t,e,A,r,n,i,o,s){var a=function(t,e,A){return t||e||(e=t=-96),t<0&&(t=-1*A.w*72/t/this.internal.scaleFactor),e<0&&(e=-1*A.h*72/e/this.internal.scaleFactor),0===t&&(t=e*A.w/A.h),0===e&&(e=t*A.h/A.w),[t,e]}.call(this,A,r,n),c=this.internal.getCoordinateString,u=this.internal.getVerticalCoordinateString;if(A=a[0],r=a[1],o[i]=n,s){s*=Math.PI/180;var l=Math.cos(s),h=Math.sin(s),f=function(t){return t.toFixed(4)},d=[f(l),f(h),f(-1*h),f(l),0,0,"cm"]}this.internal.write("q"),s?(this.internal.write([1,"0","0",1,c(t),u(e+r),"cm"].join(" ")),this.internal.write(d.join(" ")),this.internal.write([c(A),"0","0",c(r),"0","0","cm"].join(" "))):this.internal.write([c(A),"0","0",c(r),c(t),u(e+r),"cm"].join(" ")),this.internal.write("/I"+n.i+" Do"),this.internal.write("Q")}.call(this,i,h,f,d,C,C.i,L,B),this},t.convertStringToImageData=function(e){var A,r="";if(this.isString(e)){var n;A=null!==(n=this.extractImageFromDataUrl(e))?n.data:e;try{r=atob(A)}catch(e){throw t.validateStringAsBase64(A)?new Error("atob-Error in jsPDF.convertStringToImageData "+e.message):new Error("Supplied Data is not a valid base64-String jsPDF.convertStringToImageData ")}}return r};var h=function(t,e){return t.subarray(e,e+5)};t.processJPEG=function(t,e,A,n,i,o){var s,a=this.decode.DCT_DECODE;if(!this.isString(t)&&!this.isArrayBuffer(t)&&!this.isArrayBufferView(t))return null;if(this.isString(t)&&(s=function(t){var e;if("JPEG"!==r(t))throw new Error("getJpegSize requires a binary string jpeg file");for(var A=256*t.charCodeAt(4)+t.charCodeAt(5),n=4,i=t.length;n>",c.content=g;var h=c.objId+" 0 R";g="<>";else if(a.options.pageNumber)switch(g="<>",this.internal.write(g))}}this.internal.write("]")}}]),o.createAnnotation=function(t){var e=this.internal.getCurrentPageInfo();switch(t.type){case"link":this.link(t.bounds.x,t.bounds.y,t.bounds.w,t.bounds.h,t);break;case"text":case"freetext":e.pageContext.annotations.push(t)}},o.link=function(t,e,A,r,n){this.internal.getCurrentPageInfo().pageContext.annotations.push({x:t,y:e,w:A,h:r,options:n,type:"link"})},o.textWithLink=function(t,e,A,r){var n=this.getTextWidth(t),i=this.internal.getLineHeight()/this.internal.scaleFactor;return this.text(t,e,A),A+=.2*i,this.link(e,A-i,n,i,r),n},o.getTextWidth=function(t){var e=this.internal.getFontSize();return this.getStringUnitWidth(t)*e/this.internal.scaleFactor},function(t){var e={1569:[65152],1570:[65153,65154],1571:[65155,65156],1572:[65157,65158],1573:[65159,65160],1574:[65161,65162,65163,65164],1575:[65165,65166],1576:[65167,65168,65169,65170],1577:[65171,65172],1578:[65173,65174,65175,65176],1579:[65177,65178,65179,65180],1580:[65181,65182,65183,65184],1581:[65185,65186,65187,65188],1582:[65189,65190,65191,65192],1583:[65193,65194],1584:[65195,65196],1585:[65197,65198],1586:[65199,65200],1587:[65201,65202,65203,65204],1588:[65205,65206,65207,65208],1589:[65209,65210,65211,65212],1590:[65213,65214,65215,65216],1591:[65217,65218,65219,65220],1592:[65221,65222,65223,65224],1593:[65225,65226,65227,65228],1594:[65229,65230,65231,65232],1601:[65233,65234,65235,65236],1602:[65237,65238,65239,65240],1603:[65241,65242,65243,65244],1604:[65245,65246,65247,65248],1605:[65249,65250,65251,65252],1606:[65253,65254,65255,65256],1607:[65257,65258,65259,65260],1608:[65261,65262],1609:[65263,65264,64488,64489],1610:[65265,65266,65267,65268],1649:[64336,64337],1655:[64477],1657:[64358,64359,64360,64361],1658:[64350,64351,64352,64353],1659:[64338,64339,64340,64341],1662:[64342,64343,64344,64345],1663:[64354,64355,64356,64357],1664:[64346,64347,64348,64349],1667:[64374,64375,64376,64377],1668:[64370,64371,64372,64373],1670:[64378,64379,64380,64381],1671:[64382,64383,64384,64385],1672:[64392,64393],1676:[64388,64389],1677:[64386,64387],1678:[64390,64391],1681:[64396,64397],1688:[64394,64395],1700:[64362,64363,64364,64365],1702:[64366,64367,64368,64369],1705:[64398,64399,64400,64401],1709:[64467,64468,64469,64470],1711:[64402,64403,64404,64405],1713:[64410,64411,64412,64413],1715:[64406,64407,64408,64409],1722:[64414,64415],1723:[64416,64417,64418,64419],1726:[64426,64427,64428,64429],1728:[64420,64421],1729:[64422,64423,64424,64425],1733:[64480,64481],1734:[64473,64474],1735:[64471,64472],1736:[64475,64476],1737:[64482,64483],1739:[64478,64479],1740:[64508,64509,64510,64511],1744:[64484,64485,64486,64487],1746:[64430,64431],1747:[64432,64433]},A={65247:{65154:65269,65156:65271,65160:65273,65166:65275},65248:{65154:65270,65156:65272,65160:65274,65166:65276},65165:{65247:{65248:{65258:65010}}},1617:{1612:64606,1613:64607,1614:64608,1615:64609,1616:64610}},r={1612:64606,1613:64607,1614:64608,1615:64609,1616:64610},n=[1570,1571,1573,1575];t.__arabicParser__={};var i=t.__arabicParser__.isInArabicSubstitutionA=function(t){return void 0!==e[t.charCodeAt(0)]},o=t.__arabicParser__.isArabicLetter=function(t){return"string"==typeof t&&/^[\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF\uFB50-\uFDFF\uFE70-\uFEFF]+$/.test(t)},s=t.__arabicParser__.isArabicEndLetter=function(t){return o(t)&&i(t)&&e[t.charCodeAt(0)].length<=2},a=t.__arabicParser__.isArabicAlfLetter=function(t){return o(t)&&0<=n.indexOf(t.charCodeAt(0))},c=(t.__arabicParser__.arabicLetterHasIsolatedForm=function(t){return o(t)&&i(t)&&1<=e[t.charCodeAt(0)].length},t.__arabicParser__.arabicLetterHasFinalForm=function(t){return o(t)&&i(t)&&2<=e[t.charCodeAt(0)].length}),u=(t.__arabicParser__.arabicLetterHasInitialForm=function(t){return o(t)&&i(t)&&3<=e[t.charCodeAt(0)].length},t.__arabicParser__.arabicLetterHasMedialForm=function(t){return o(t)&&i(t)&&4==e[t.charCodeAt(0)].length}),l=t.__arabicParser__.resolveLigatures=function(t){var e=0,r=A,n=0,i="",o=0;for(e=0;e>"),this.internal.out("endobj")})),this.internal.events.subscribe("putCatalog",(function(){this.internal.out("/OpenAction "+e+" 0 R")}));return this},s=dt.API,(a=function(){var t=void 0;Object.defineProperty(this,"pdf",{get:function(){return t},set:function(e){t=e}});var e=150;Object.defineProperty(this,"width",{get:function(){return e},set:function(t){e=isNaN(t)||!1===Number.isInteger(t)||t<0?150:t,this.getContext("2d").pageWrapXEnabled&&(this.getContext("2d").pageWrapX=e+1)}});var A=300;Object.defineProperty(this,"height",{get:function(){return A},set:function(t){A=isNaN(t)||!1===Number.isInteger(t)||t<0?300:t,this.getContext("2d").pageWrapYEnabled&&(this.getContext("2d").pageWrapY=A+1)}});var r=[];Object.defineProperty(this,"childNodes",{get:function(){return r},set:function(t){r=t}});var n={};Object.defineProperty(this,"style",{get:function(){return n},set:function(t){n=t}}),Object.defineProperty(this,"parentNode",{get:function(){return!1}})}).prototype.getContext=function(t,e){var A;if("2d"!==(t=t||"2d"))return null;for(A in e)this.pdf.context2d.hasOwnProperty(A)&&(this.pdf.context2d[A]=e[A]);return(this.pdf.context2d._canvas=this).pdf.context2d},a.prototype.toDataURL=function(){throw new Error("toDataURL is not implemented.")},s.events.push(["initialized",function(){this.canvas=new a,this.canvas.pdf=this}]),c=dt.API,l={x:void 0,y:void 0,w:void 0,h:void 0,ln:void 0},h=1,f=function(t,e,A,r,n){l={x:t,y:e,w:A,h:r,ln:n}},d=function(){return l},p={left:0,top:0,bottom:0},c.setHeaderFunction=function(t){u=t},c.getTextDimensions=function(t,e){var A=this.table_font_size||this.internal.getFontSize(),r=(this.internal.getFont().fontStyle,(e=e||{}).scaleFactor||this.internal.scaleFactor),n=0,i=0,o=0;if("string"==typeof t)0!=(n=this.getStringUnitWidth(t)*A)&&(i=1);else{if("[object Array]"!==Object.prototype.toString.call(t))throw new Error("getTextDimensions expects text-parameter to be of type String or an Array of Strings.");for(var s=0;s=this.internal.pageSize.getHeight()-c.bottom&&(this.cellAddPage(),a=!0,this.printHeaders&&this.tableHeaderRow&&this.printHeaderRow(i,!0)),e=d().y+d().h,a&&(e=23)}if(void 0!==n[0])if(this.printingHeaderRow?this.rect(t,e,A,r,"FD"):this.rect(t,e,A,r),"right"===o){n instanceof Array||(n=[n]);for(var u=0;u=2*Math.PI&&(r=0,n=2*Math.PI),this.path.push({type:"arc",x:t,y:e,radius:A,startAngle:r,endAngle:n,counterclockwise:i})},c.prototype.arcTo=function(t,e,A,r,n){throw new Error("arcTo not implemented.")},c.prototype.rect=function(t,e,A,r){if(isNaN(t)||isNaN(e)||isNaN(A)||isNaN(r))throw console.error("jsPDF.context2d.rect: Invalid arguments",arguments),new Error("Invalid arguments passed to jsPDF.context2d.rect");this.moveTo(t,e),this.lineTo(t+A,e),this.lineTo(t+A,e+r),this.lineTo(t,e+r),this.lineTo(t,e),this.lineTo(t+A,e),this.lineTo(t,e)},c.prototype.fillRect=function(t,e,A,r){if(isNaN(t)||isNaN(e)||isNaN(A)||isNaN(r))throw console.error("jsPDF.context2d.fillRect: Invalid arguments",arguments),new Error("Invalid arguments passed to jsPDF.context2d.fillRect");if(!l.call(this)){var n={};"butt"!==this.lineCap&&(n.lineCap=this.lineCap,this.lineCap="butt"),"miter"!==this.lineJoin&&(n.lineJoin=this.lineJoin,this.lineJoin="miter"),this.beginPath(),this.rect(t,e,A,r),this.fill(),n.hasOwnProperty("lineCap")&&(this.lineCap=n.lineCap),n.hasOwnProperty("lineJoin")&&(this.lineJoin=n.lineJoin)}},c.prototype.strokeRect=function(t,e,A,r){if(isNaN(t)||isNaN(e)||isNaN(A)||isNaN(r))throw console.error("jsPDF.context2d.strokeRect: Invalid arguments",arguments),new Error("Invalid arguments passed to jsPDF.context2d.strokeRect");h.call(this)||(this.beginPath(),this.rect(t,e,A,r),this.stroke())},c.prototype.clearRect=function(t,e,A,r){if(isNaN(t)||isNaN(e)||isNaN(A)||isNaN(r))throw console.error("jsPDF.context2d.clearRect: Invalid arguments",arguments),new Error("Invalid arguments passed to jsPDF.context2d.clearRect");this.ignoreClearRect||(this.fillStyle="#ffffff",this.fillRect(t,e,A,r))},c.prototype.save=function(t){t="boolean"!=typeof t||t;for(var e=this.pdf.internal.getCurrentPageInfo().pageNumber,A=0;A"},w=function(t){var e,A,r,n,i,o=String,s="length",a="charCodeAt",c="slice",u="replace";for(t[c](-2),t=t[c](0,-2)[u](/\s/g,"")[u]("z","!!!!!"),r=[],n=0,i=(t+=e="uuuuu"[c](t[s]%5||5))[s];n>24,255&A>>16,255&A>>8,255&A);return function(t,A){for(var r=e[s];0"},v=function(t){var e=new RegExp(/^([0-9A-Fa-f]{2})+$/);if(-1!==(t=t.replace(/\s/g,"")).indexOf(">")&&(t=t.substr(0,t.indexOf(">"))),t.length%2&&(t+="0"),!1===e.test(t))return"";for(var A="",r=0;r>8&255,A>>16&255,A>>24&255]),t.length+2),String.fromCharCode.apply(null,n)},g.processDataByFilters=function(t,e){var A=0,r=t||"",n=[];for("string"==typeof(e=e||[])&&(e=[e]),A=0;A>"),this.internal.out("endobj"),L=this.internal.newObject(),this.internal.out("<<"),this.internal.out("/S /JavaScript"),this.internal.out("/JS ("+x+")"),this.internal.out(">>"),this.internal.out("endobj")})),this.internal.events.subscribe("putCatalog",(function(){void 0!==E&&void 0!==L&&this.internal.out("/Names <>")})),this},(H=dt.API).events.push(["postPutResources",function(){var t=this,e=/^(\d+) 0 obj$/;if(0> endobj")}var l=t.internal.newObject();for(t.internal.write("<< /Names [ "),r=0;r>","endobj"),t.internal.newObject(),t.internal.write("<< /Dests "+l+" 0 R"),t.internal.write(">>","endobj")}}]),H.events.push(["putCatalog",function(){0> \r\nendobj\r\n"},t.outline.count_r=function(t,e){for(var A=0;A>>24&255,h[l++]=s>>>16&255,h[l++]=s>>>8&255,h[l++]=255&s,S.arrayBufferToBinaryString(h)},T=function(t,e){var A=Math.LOG2E*Math.log(32768)-8<<4|8,r=A<<8;return r|=Math.min(3,(e-1&255)>>1)<<6,r|=0,[A,255&(r+=31-r%31)]},O=function(t,e){for(var A,r=1,n=0,i=t.length,o=0;0>>0},R=function(t,e,A,r){for(var n,i,o,s=t.length/e,a=new Uint8Array(t.length+s),c=j(),u=0;u>>1)&255;return i},k=function(t,e,A){var r,n,i,o,s=[],a=0,c=t.length;for(s[0]=4;a>>d&255,d+=i.bits;B[m]=y>>>d&255}if(16===i.bits){p=(U=new Uint32Array(i.decodePixels().buffer)).length,g=new Uint8Array(p*(32/i.pixelBitlength)*i.colors),B=new Uint8Array(p*(32/i.pixelBitlength));for(var y,C=1>>0&255,C&&(g[v++]=y>>>16&255,y=U[m++],g[v++]=y>>>0&255),B[Q++]=y>>>16&255;f=8}r!==S.image_compression.NONE&&I()?(t=_(g,i.width*i.colors,i.colors,r),u=_(B,i.width,1,r)):(t=g,u=B,h=null)}if(3===i.colorType&&(l=this.color_spaces.INDEXED,c=i.palette,i.transparency.indexed)){var b=i.transparency.indexed,F=0;for(m=0,p=b.length;mr&&(n.push(t.slice(a,i)),s=0,a=i),s+=e[i],i++;return a!==i&&n.push(t.slice(a,i)),n},tt=function(t,e,A){A||(A={});var r,n,i,o,s,a,c=[],u=[c],l=A.textIndent||0,h=0,f=0,d=t.split(" "),p=W.apply(this,[" ",A])[0];if(a=-1===A.lineIndent?d[0].length+2:A.lineIndent||0){var g=Array(a).join(" "),B=[];d.map((function(t){1<(t=t.split(/\s*\n/)).length?B=B.concat(t.map((function(t,e){return(e&&t.length?"\n":"")+t}))):B.push(t[0])})),d=B,a=Z.apply(this,[g,A])}for(i=0,o=d.length;i>")})),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=A,this},at=dt.API,lt=ut=ct="",at.addMetadata=function(t,e){return ut=e||"http://jspdf.default.namespaceuri/",ct=t,this.internal.events.subscribe("postPutResources",(function(){if(ct){var t='',e=unescape(encodeURIComponent('')),A=unescape(encodeURIComponent(t)),r=unescape(encodeURIComponent(ct)),n=unescape(encodeURIComponent("")),i=unescape(encodeURIComponent("")),o=A.length+r.length+n.length+e.length+i.length;lt=this.internal.newObject(),this.internal.write("<< /Type /Metadata /Subtype /XML /Length "+o+" >>"),this.internal.write("stream"),this.internal.write(e+A+r+n+i),this.internal.write("endstream"),this.internal.write("endobj")}else lt=""})),this.internal.events.subscribe("putCatalog",(function(){lt&&this.internal.write("/Metadata "+lt+" 0 R")})),this},function(t,e){var A=t.API,r=A.pdfEscape16=function(t,e){for(var A,r=e.metadata.Unicode.widths,n=["","0","00","000","0000"],i=[""],o=0,s=t.length;o<"+n+">");return r.length&&(i+="\n"+r.length+" beginbfchar\n"+r.join("\n")+"\nendbfchar\n"),i+"endcmap\nCMapName currentdict /CMap defineresource pop\nend\nend"};A.events.push(["putFont",function(e){!function(e,A,r,i){if(e.metadata instanceof t.API.TTFFont&&"Identity-H"===e.encoding){for(var o=e.metadata.Unicode.widths,s=e.metadata.subset.encode(e.metadata.glyIdsUsed,1),a="",c=0;c>"),A("endobj");var f=r();A("<<"),A("/Type /Font"),A("/BaseFont /"+e.fontName),A("/FontDescriptor "+h+" 0 R"),A("/W "+t.API.PDFObject.convert(o)),A("/CIDToGIDMap /Identity"),A("/DW 1000"),A("/Subtype /CIDFontType2"),A("/CIDSystemInfo"),A("<<"),A("/Supplement 0"),A("/Registry (Adobe)"),A("/Ordering ("+e.encoding+")"),A(">>"),A(">>"),A("endobj"),e.objectNumber=r(),A("<<"),A("/Type /Font"),A("/Subtype /Type0"),A("/ToUnicode "+l+" 0 R"),A("/BaseFont /"+e.fontName),A("/Encoding /"+e.encoding),A("/DescendantFonts ["+f+" 0 R]"),A(">>"),A("endobj"),e.isAlreadyPutted=!0}}(e.font,e.out,e.newObject,e.putStream)}]),A.events.push(["putFont",function(e){!function(e,A,r,i){if(e.metadata instanceof t.API.TTFFont&&"WinAnsiEncoding"===e.encoding){e.metadata.Unicode.widths;for(var o=e.metadata.rawData,s="",a=0;a>"),A("endobj"),e.objectNumber=r(),a=0;a>"),A("endobj"),e.isAlreadyPutted=!0}}(e.font,e.out,e.newObject,e.putStream)}]);var i=function(t){var e,A,n=t.text||"",i=t.x,o=t.y,s=t.options||{},a=t.mutex||{},c=a.pdfEscape,u=a.activeFontKey,l=a.fonts,h=(a.activeFontSize,""),f=0,d="",p=l[A=u].encoding;if("Identity-H"!==l[A].encoding)return{text:n,x:i,y:o,options:s,mutex:a};for(d=n,A=u,"[object Array]"===Object.prototype.toString.call(n)&&(d=n[0]),f=0;fa-c.top-c.bottom&&r.pagesplit){var d=function(t,e,A,n,i){var o=document.createElement("canvas");o.height=i,o.width=n;var s=o.getContext("2d");return s.mozImageSmoothingEnabled=!1,s.webkitImageSmoothingEnabled=!1,s.msImageSmoothingEnabled=!1,s.imageSmoothingEnabled=!1,s.fillStyle=r.backgroundColor||"#ffffff",s.fillRect(0,0,n,i),s.drawImage(t,e,A,n,i,0,0,n,i),o},p=function(){for(var r,i,u=0,p=0,g={},B=!1;;){var w;if(p=0,g.top=0!==u?c.top:A,g.left=0!==u?c.left:e,B=(s-c.left-c.right)*o=t.width)break;this.addPage()}else m=[w=d(t,0,u,r,i),g.left,g.top,w.width/o,w.height/o,h,null,f],this.addImage.apply(this,m);if((u+=i)>=t.height)break;this.addPage()}n(l,u,null,m)}.bind(this);if("CANVAS"===t.nodeName){var g=new Image;g.onload=p,g.src=t.toDataURL("image/png"),t=g}else p()}else{var B=Math.random().toString(35),w=[t,e,A,l,u,h,B,f];this.addImage.apply(this,w),n(l,u,B,w)}}.bind(this),"undefined"!=typeof html2canvas&&!r.rstz)return html2canvas(t,r);if("undefined"==typeof rasterizeHTML)return null;var c="drawDocument";return"string"==typeof t&&(c=/^http/.test(t)?"drawURL":"drawHTML"),r.width=r.width||s*o,rasterizeHTML[c](t,void 0,r).then((function(t){r.onrendered(t.image)}),(function(t){n(null,t)}))},function(t){var e,A,r,i,o,s,a,c,u,l,h,f,d,p,g,B,w,m,v,y;e=function(){return function(e){return t.prototype=e,new t};function t(){}}(),l=function(t){var e,A,r,n,i,o,s;for(A=0,r=t.length,e=void 0,o=n=!1;!n&&A!==r;)(e=t[A]=t[A].trimLeft())&&(n=!0),A++;for(A=r-1;r&&!o&&-1!==A;)(e=t[A]=t[A].trimRight())&&(o=!0),A--;for(i=/\s+$/g,s=!0,A=0;A!==r;)"\u2028"!=t[A]&&(e=t[A].replace(/\s+/g," "),s&&(e=e.trimLeft()),e&&(s=i.test(e)),t[A]=e),A++;return t},f=function(t){var e,A,n;for(e=void 0,A=(n=t.split(",")).shift();!e&&A;)e=r[A.trim().toLowerCase()],A=n.shift();return e},d=function(t){var e;return-1<(t="auto"===t?"0px":t).indexOf("em")&&!isNaN(Number(t.replace("em","")))&&(t=18.719*Number(t.replace("em",""))+"px"),-1r.pdf.margins_doc.top&&(r.pdf.addPage(),r.y=r.pdf.margins_doc.top,r.executeWatchFunctions(o));var L=u(o),x=r.x,H=12/r.pdf.internal.scaleFactor,S=(L["margin-left"]+L["padding-left"])*H,I=(L["margin-right"]+L["padding-right"])*H,_=(L["margin-top"]+L["padding-top"])*H,T=(L["margin-bottom"]+L["padding-bottom"])*H;void 0!==L.float&&"right"===L.float?x+=r.settings.width-o.width-I:x+=S,r.pdf.addImage(N,x,r.y+_,o.width,o.height),N=void 0,"right"===L.float||"left"===L.float?(r.watchFunctions.push(function(t,e,A,n){return r.y>=e?(r.x+=t,r.settings.width+=A,!0):!!(n&&1===n.nodeType&&!C[n.nodeName]&&r.x+n.width>r.pdf.margins_doc.left+r.pdf.margins_doc.width)&&(r.x+=t,r.y=e,r.settings.width+=A,!0)}.bind(this,"left"===L.float?-o.width-S-I:0,r.y+o.height+_+T,o.width)),r.watchFunctions.push(function(t,e,A){return!(r.y]*?>/gi,""),u="jsPDFhtmlText"+Date.now().toString()+(1e3*Math.random()).toFixed(0),(c=document.createElement("div")).style.cssText="position: absolute !important;clip: rect(1px 1px 1px 1px); /* IE6, IE7 */clip: rect(1px, 1px, 1px, 1px);padding:0 !important;border:0 !important;height: 1px !important;width: 1px !important; top:auto;left:-100px;overflow: hidden;",c.innerHTML='',i=r.open();if(null!==i&&i.document.write(n),i||\"undefined\"==typeof safari)return i;case\"datauri\":case\"dataurl\":return r.document.location.href=\"data:application/pdf;filename=\"+A.filename+\";base64,\"+btoa(e);default:return null}}).foo=function(){try{return T.apply(this,arguments)}catch(e){var t=e.stack||\"\";~t.indexOf(\" at \")&&(t=t.split(\" at \")[1]);var A=\"Error in function \"+t.split(\"\\n\")[0].split(\"<\")[0]+\": \"+e.message;if(!r.console)throw new Error(A);r.console.error(A,e),r.alert&&alert(A)}},(T.foo.bar=T).foo),Rt=function(t){return!0===Array.isArray(ot)&&-1\":\")\"),At=1):(Y=Gt(A),Z=Jt(e),$=(c?\"<\":\"(\")+y[W]+(c?\">\":\")\")),void 0!==z&&void 0!==z[W]&&(et=z[W]+\" Tw\\n\"),0!==L.length&&0===W?t.push(et+L.join(\" \")+\" \"+Y.toFixed(2)+\" \"+Z.toFixed(2)+\" Tm\\n\"+$):1===At||0===At&&0===W?t.push(et+Y.toFixed(2)+\" \"+Z.toFixed(2)+\" Td\\n\"+$):t.push(et+$);t=0===At?t.join(\" Tj\\nT* \"):t.join(\" Tj\\n\"),t+=\" Tj\\n\";var rt=\"BT\\n/\"+I+\" \"+q+\" Tf\\n\"+(q*l).toFixed(2)+\" TL\\n\"+tA+\"\\n\";return rt+=u,rt+=t,D(rt+=\"ET\"),h[I]=!0,f},f.__private__.lstext=f.lstext=function(t,A,e,r){return console.warn(\"jsPDF.lstext is deprecated\"),this.text(t,A,e,{charSpace:r})},f.__private__.clip=f.clip=function(t){D(\"evenodd\"===t?\"W*\":\"W\"),D(\"n\")},f.__private__.clip_fixed=f.clip_fixed=function(t){console.log(\"clip_fixed is deprecated\"),f.clip(t)};var Pt=f.__private__.isValidStyle=function(t){var A=!1;return-1!==[void 0,null,\"S\",\"F\",\"DF\",\"FD\",\"f\",\"f*\",\"B\",\"B*\"].indexOf(t)&&(A=!0),A},Dt=f.__private__.getStyle=function(t){var A=\"S\";return\"F\"===t?A=\"f\":\"FD\"===t||\"DF\"===t?A=\"B\":\"f\"!==t&&\"f*\"!==t&&\"B\"!==t&&\"B*\"!==t||(A=t),A};f.__private__.line=f.line=function(t,A,e,r){if(isNaN(t)||isNaN(A)||isNaN(e)||isNaN(r))throw new Error(\"Invalid arguments passed to jsPDF.line\");return this.lines([[e-t,r-A]],t,A)},f.__private__.lines=f.lines=function(t,A,e,r,n,i){var o,s,a,c,u,l,h,f,d,p,B,g;if(\"number\"==typeof t&&(g=e,e=A,A=t,t=g),r=r||[1,1],i=i||!1,isNaN(A)||isNaN(e)||!Array.isArray(t)||!Array.isArray(r)||!Pt(n)||\"boolean\"!=typeof i)throw new Error(\"Invalid arguments passed to jsPDF.lines\");for(D(Q(Gt(A))+\" \"+Q(Jt(e))+\" m \"),o=r[0],s=r[1],c=t.length,p=A,B=e,a=0;a=o.length-1;if(F&&!U){m+=\" \";continue}if(F||U){if(U)g=v;else if(t.multiline&&c<(h+2)*(Q+2)+2)continue t}else{if(!t.multiline)continue t;if(c<(h+2)*(Q+2)+2)continue t;g=v}for(var N=\"\",E=B;E<=g;E++)N+=o[E]+\" \";switch(N=\" \"==N.substr(N.length-1)?N.substr(0,N.length-1):N,w=y(N,t,a).width,t.textAlign){case\"right\":d=u-w-2;break;case\"center\":d=(u-w)/2;break;case\"left\":default:d=2}A+=s(d)+\" \"+s(p)+\" Td\\n\",A+=\"(\"+i(N)+\") Tj\\n\",A+=-s(d)+\" 0 Td\\n\",p=-(a+2),w=0,B=g+1,Q++,m=\"\"}break}return n.text=A,n.fontSize=a,n},y=function(t,A,r){var n=e.internal.getFont(A.fontName,A.fontStyle),i=e.getStringUnitWidth(t,{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r);return{height:e.getStringUnitWidth(\"3\",{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r)*1.5,width:i}},v={fields:[],xForms:[],acroFormDictionaryRoot:null,printedOut:!1,internal:null,isInitialized:!1},F=function(){e.internal.acroformPlugin.acroFormDictionaryRoot.objId=void 0;var t=e.internal.acroformPlugin.acroFormDictionaryRoot.Fields;for(var A in t)if(t.hasOwnProperty(A)){var r=t[A];r.objId=void 0,r.hasAnnotation&&U.call(e,r)}},U=function(t){var A={type:\"reference\",object:t};void 0===e.internal.getPageInfo(t.page).pageContext.annotations.find((function(t){return t.type===A.type&&t.object===A.object}))&&e.internal.getPageInfo(t.page).pageContext.annotations.push(A)},N=function(){if(void 0===e.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error(\"putCatalogCallback: Root missing.\");e.internal.write(\"/AcroForm \"+e.internal.acroformPlugin.acroFormDictionaryRoot.objId+\" 0 R\")},E=function(){e.internal.events.unsubscribe(e.internal.acroformPlugin.acroFormDictionaryRoot._eventID),delete e.internal.acroformPlugin.acroFormDictionaryRoot._eventID,e.internal.acroformPlugin.printedOut=!0},b=function(t){var A=!t;for(var r in t||(e.internal.newObjectDeferredBegin(e.internal.acroformPlugin.acroFormDictionaryRoot.objId,!0),e.internal.acroformPlugin.acroFormDictionaryRoot.putStream()),t=t||e.internal.acroformPlugin.acroFormDictionaryRoot.Kids)if(t.hasOwnProperty(r)){var i=t[r],o=[],s=i.Rect;if(i.Rect&&(i.Rect=m.call(this,i.Rect)),e.internal.newObjectDeferredBegin(i.objId,!0),i.DA=G.createDefaultAppearanceStream(i),\"object\"===n(i)&&\"function\"==typeof i.getKeyValueListForStream&&(o=i.getKeyValueListForStream()),i.Rect=s,i.hasAppearanceStream&&!i.appearanceStreamContent){var a=Q.call(this,i);o.push({key:\"AP\",value:\"<>\"}),e.internal.acroformPlugin.xForms.push(a)}if(i.appearanceStreamContent){var c=\"\";for(var u in i.appearanceStreamContent)if(i.appearanceStreamContent.hasOwnProperty(u)){var l=i.appearanceStreamContent[u];if(c+=\"/\"+u+\" \",c+=\"<<\",1<=Object.keys(l).length||Array.isArray(l))for(var r in l){var h;l.hasOwnProperty(r)&&(\"function\"==typeof(h=l[r])&&(h=h.call(this,i)),c+=\"/\"+r+\" \"+h+\" \",0<=e.internal.acroformPlugin.xForms.indexOf(h)||e.internal.acroformPlugin.xForms.push(h))}else\"function\"==typeof(h=l)&&(h=h.call(this,i)),c+=\"/\"+r+\" \"+h,0<=e.internal.acroformPlugin.xForms.indexOf(h)||e.internal.acroformPlugin.xForms.push(h);c+=\">>\"}o.push({key:\"AP\",value:\"<<\\n\"+c+\">>\"})}e.internal.putStream({additionalKeyValues:o}),e.internal.out(\"endobj\")}A&&L.call(this,e.internal.acroformPlugin.xForms)},L=function(t){for(var A in t)if(t.hasOwnProperty(A)){var r=A,i=t[A];e.internal.newObjectDeferredBegin(i&&i.objId,!0),\"object\"===n(i)&&\"function\"==typeof i.putStream&&i.putStream(),delete t[r]}},H=function(){if(void 0!==this.internal&&(void 0===this.internal.acroformPlugin||!1===this.internal.acroformPlugin.isInitialized)){if(e=this,R.FieldNum=0,this.internal.acroformPlugin=JSON.parse(JSON.stringify(v)),this.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error(\"Exception while creating AcroformDictionary\");r=e.internal.scaleFactor,e.internal.acroformPlugin.acroFormDictionaryRoot=new T,e.internal.acroformPlugin.acroFormDictionaryRoot._eventID=e.internal.events.subscribe(\"postPutResources\",E),e.internal.events.subscribe(\"buildDocument\",F),e.internal.events.subscribe(\"putCatalog\",N),e.internal.events.subscribe(\"postPutPages\",b),e.internal.acroformPlugin.isInitialized=!0}},x=t.__acroform__.arrayToPdfArray=function(t){if(Array.isArray(t)){for(var A=\"[\",e=0;e>\"),e.join(\"\\n\")}},set:function(t){\"object\"===n(t)&&(A=t)}}),Object.defineProperty(this,\"caption\",{enumerable:!0,configurable:!0,get:function(){return A.CA||\"\"},set:function(t){\"string\"==typeof t&&(A.CA=t)}}),Object.defineProperty(this,\"AS\",{enumerable:!1,configurable:!1,get:function(){return t},set:function(A){t=A}}),Object.defineProperty(this,\"appearanceState\",{enumerable:!0,configurable:!0,get:function(){return t.substr(1,t.length-1)},set:function(A){t=\"/\"+A}})};c(D,R);var k=function(){D.call(this),this.pushButton=!0};c(k,D);var z=function(){D.call(this),this.radio=!0,this.pushButton=!1;var t=[];Object.defineProperty(this,\"Kids\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(A){t=void 0!==A?A:[]}})};c(z,D);var j=function(){var t,A;R.call(this),Object.defineProperty(this,\"Parent\",{enumerable:!1,configurable:!1,get:function(){return t},set:function(A){t=A}}),Object.defineProperty(this,\"optionName\",{enumerable:!1,configurable:!0,get:function(){return A},set:function(t){A=t}});var e,r={};Object.defineProperty(this,\"MK\",{enumerable:!1,configurable:!1,get:function(){var t,A=[];for(t in A.push(\"<<\"),r)A.push(\"/\"+t+\" (\"+r[t]+\")\");return A.push(\">>\"),A.join(\"\\n\")},set:function(t){\"object\"===n(t)&&(r=t)}}),Object.defineProperty(this,\"caption\",{enumerable:!0,configurable:!0,get:function(){return r.CA||\"\"},set:function(t){\"string\"==typeof t&&(r.CA=t)}}),Object.defineProperty(this,\"AS\",{enumerable:!1,configurable:!1,get:function(){return e},set:function(t){e=t}}),Object.defineProperty(this,\"appearanceState\",{enumerable:!0,configurable:!0,get:function(){return e.substr(1,e.length-1)},set:function(t){e=\"/\"+t}}),this.optionName=name,this.caption=\"l\",this.appearanceState=\"Off\",this._AppearanceType=G.RadioButton.Circle,this.appearanceStreamContent=this._AppearanceType.createAppearanceStream(name)};c(j,R),z.prototype.setAppearance=function(t){if(!(\"createAppearanceStream\"in t)||!(\"getCA\"in t))throw new Error(\"Couldn't assign Appearance to RadioButton. Appearance was Invalid!\");for(var A in this.Kids)if(this.Kids.hasOwnProperty(A)){var e=this.Kids[A];e.appearanceStreamContent=t.createAppearanceStream(e.optionName),e.caption=t.getCA()}},z.prototype.createOption=function(t){this.Kids.length;var A=new j;return A.Parent=this,A.optionName=t,this.Kids.push(A),J.call(this,A),A};var q=function(){D.call(this),this.fontName=\"zapfdingbats\",this.caption=\"3\",this.appearanceState=\"On\",this.value=\"On\",this.textAlign=\"center\",this.appearanceStreamContent=G.CheckBox.createAppearanceStream()};c(q,D);var V=function(){R.call(this),this.FT=\"/Tx\",Object.defineProperty(this,\"multiline\",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,13))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,13):this.Ff=w(this.Ff,13)}}),Object.defineProperty(this,\"fileSelect\",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,21))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,21):this.Ff=w(this.Ff,21)}}),Object.defineProperty(this,\"doNotSpellCheck\",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,23))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,23):this.Ff=w(this.Ff,23)}}),Object.defineProperty(this,\"doNotScroll\",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,24))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,24):this.Ff=w(this.Ff,24)}}),Object.defineProperty(this,\"comb\",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,25))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,25):this.Ff=w(this.Ff,25)}}),Object.defineProperty(this,\"richText\",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,26))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,26):this.Ff=w(this.Ff,26)}});var t=null;Object.defineProperty(this,\"MaxLen\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(A){t=A}}),Object.defineProperty(this,\"maxLength\",{enumerable:!0,configurable:!0,get:function(){return t},set:function(A){Number.isInteger(A)&&(t=A)}}),Object.defineProperty(this,\"hasAppearanceStream\",{enumerable:!0,configurable:!0,get:function(){return this.V||this.DV}})};c(V,R);var X=function(){V.call(this),Object.defineProperty(this,\"password\",{enumerable:!0,configurable:!0,get:function(){return Boolean(B(this.Ff,14))},set:function(t){!0===Boolean(t)?this.Ff=g(this.Ff,14):this.Ff=w(this.Ff,14)}}),this.password=!0};c(X,V);var G={CheckBox:{createAppearanceStream:function(){return{N:{On:G.CheckBox.YesNormal},D:{On:G.CheckBox.YesPushDown,Off:G.CheckBox.OffPushDown}}},YesPushDown:function(t){var A=h(t),r=[],n=e.internal.getFont(t.fontName,t.fontStyle).id,i=e.__private__.encodeColorString(t.color),o=C(t,t.caption);return r.push(\"0.749023 g\"),r.push(\"0 0 \"+s(G.internal.getWidth(t))+\" \"+s(G.internal.getHeight(t))+\" re\"),r.push(\"f\"),r.push(\"BMC\"),r.push(\"q\"),r.push(\"0 0 1 rg\"),r.push(\"/\"+n+\" \"+s(o.fontSize)+\" Tf \"+i),r.push(\"BT\"),r.push(o.text),r.push(\"ET\"),r.push(\"Q\"),r.push(\"EMC\"),A.stream=r.join(\"\\n\"),A},YesNormal:function(t){var A=h(t),r=e.internal.getFont(t.fontName,t.fontStyle).id,n=e.__private__.encodeColorString(t.color),i=[],o=G.internal.getHeight(t),a=G.internal.getWidth(t),c=C(t,t.caption);return i.push(\"1 g\"),i.push(\"0 0 \"+s(a)+\" \"+s(o)+\" re\"),i.push(\"f\"),i.push(\"q\"),i.push(\"0 0 1 rg\"),i.push(\"0 0 \"+s(a-1)+\" \"+s(o-1)+\" re\"),i.push(\"W\"),i.push(\"n\"),i.push(\"0 g\"),i.push(\"BT\"),i.push(\"/\"+r+\" \"+s(c.fontSize)+\" Tf \"+n),i.push(c.text),i.push(\"ET\"),i.push(\"Q\"),A.stream=i.join(\"\\n\"),A},OffPushDown:function(t){var A=h(t),e=[];return e.push(\"0.749023 g\"),e.push(\"0 0 \"+s(G.internal.getWidth(t))+\" \"+s(G.internal.getHeight(t))+\" re\"),e.push(\"f\"),A.stream=e.join(\"\\n\"),A}},RadioButton:{Circle:{createAppearanceStream:function(t){var A={D:{Off:G.RadioButton.Circle.OffPushDown},N:{}};return A.N[t]=G.RadioButton.Circle.YesNormal,A.D[t]=G.RadioButton.Circle.YesPushDown,A},getCA:function(){return\"l\"},YesNormal:function(t){var A=h(t),e=[],r=G.internal.getWidth(t)<=G.internal.getHeight(t)?G.internal.getWidth(t)/4:G.internal.getHeight(t)/4;r=Number((.9*r).toFixed(5));var n=G.internal.Bezier_C,i=Number((r*n).toFixed(5));return e.push(\"q\"),e.push(\"1 0 0 1 \"+a(G.internal.getWidth(t)/2)+\" \"+a(G.internal.getHeight(t)/2)+\" cm\"),e.push(r+\" 0 m\"),e.push(r+\" \"+i+\" \"+i+\" \"+r+\" 0 \"+r+\" c\"),e.push(\"-\"+i+\" \"+r+\" -\"+r+\" \"+i+\" -\"+r+\" 0 c\"),e.push(\"-\"+r+\" -\"+i+\" -\"+i+\" -\"+r+\" 0 -\"+r+\" c\"),e.push(i+\" -\"+r+\" \"+r+\" -\"+i+\" \"+r+\" 0 c\"),e.push(\"f\"),e.push(\"Q\"),A.stream=e.join(\"\\n\"),A},YesPushDown:function(t){var A=h(t),e=[],r=G.internal.getWidth(t)<=G.internal.getHeight(t)?G.internal.getWidth(t)/4:G.internal.getHeight(t)/4,n=(r=Number((.9*r).toFixed(5)),Number((2*r).toFixed(5))),i=Number((n*G.internal.Bezier_C).toFixed(5)),o=Number((r*G.internal.Bezier_C).toFixed(5));return e.push(\"0.749023 g\"),e.push(\"q\"),e.push(\"1 0 0 1 \"+a(G.internal.getWidth(t)/2)+\" \"+a(G.internal.getHeight(t)/2)+\" cm\"),e.push(n+\" 0 m\"),e.push(n+\" \"+i+\" \"+i+\" \"+n+\" 0 \"+n+\" c\"),e.push(\"-\"+i+\" \"+n+\" -\"+n+\" \"+i+\" -\"+n+\" 0 c\"),e.push(\"-\"+n+\" -\"+i+\" -\"+i+\" -\"+n+\" 0 -\"+n+\" c\"),e.push(i+\" -\"+n+\" \"+n+\" -\"+i+\" \"+n+\" 0 c\"),e.push(\"f\"),e.push(\"Q\"),e.push(\"0 g\"),e.push(\"q\"),e.push(\"1 0 0 1 \"+a(G.internal.getWidth(t)/2)+\" \"+a(G.internal.getHeight(t)/2)+\" cm\"),e.push(r+\" 0 m\"),e.push(r+\" \"+o+\" \"+o+\" \"+r+\" 0 \"+r+\" c\"),e.push(\"-\"+o+\" \"+r+\" -\"+r+\" \"+o+\" -\"+r+\" 0 c\"),e.push(\"-\"+r+\" -\"+o+\" -\"+o+\" -\"+r+\" 0 -\"+r+\" c\"),e.push(o+\" -\"+r+\" \"+r+\" -\"+o+\" \"+r+\" 0 c\"),e.push(\"f\"),e.push(\"Q\"),A.stream=e.join(\"\\n\"),A},OffPushDown:function(t){var A=h(t),e=[],r=G.internal.getWidth(t)<=G.internal.getHeight(t)?G.internal.getWidth(t)/4:G.internal.getHeight(t)/4,n=(r=Number((.9*r).toFixed(5)),Number((2*r).toFixed(5))),i=Number((n*G.internal.Bezier_C).toFixed(5));return e.push(\"0.749023 g\"),e.push(\"q\"),e.push(\"1 0 0 1 \"+a(G.internal.getWidth(t)/2)+\" \"+a(G.internal.getHeight(t)/2)+\" cm\"),e.push(n+\" 0 m\"),e.push(n+\" \"+i+\" \"+i+\" \"+n+\" 0 \"+n+\" c\"),e.push(\"-\"+i+\" \"+n+\" -\"+n+\" \"+i+\" -\"+n+\" 0 c\"),e.push(\"-\"+n+\" -\"+i+\" -\"+i+\" -\"+n+\" 0 -\"+n+\" c\"),e.push(i+\" -\"+n+\" \"+n+\" -\"+i+\" \"+n+\" 0 c\"),e.push(\"f\"),e.push(\"Q\"),A.stream=e.join(\"\\n\"),A}},Cross:{createAppearanceStream:function(t){var A={D:{Off:G.RadioButton.Cross.OffPushDown},N:{}};return A.N[t]=G.RadioButton.Cross.YesNormal,A.D[t]=G.RadioButton.Cross.YesPushDown,A},getCA:function(){return\"8\"},YesNormal:function(t){var A=h(t),e=[],r=G.internal.calculateCross(t);return e.push(\"q\"),e.push(\"1 1 \"+s(G.internal.getWidth(t)-2)+\" \"+s(G.internal.getHeight(t)-2)+\" re\"),e.push(\"W\"),e.push(\"n\"),e.push(s(r.x1.x)+\" \"+s(r.x1.y)+\" m\"),e.push(s(r.x2.x)+\" \"+s(r.x2.y)+\" l\"),e.push(s(r.x4.x)+\" \"+s(r.x4.y)+\" m\"),e.push(s(r.x3.x)+\" \"+s(r.x3.y)+\" l\"),e.push(\"s\"),e.push(\"Q\"),A.stream=e.join(\"\\n\"),A},YesPushDown:function(t){var A=h(t),e=G.internal.calculateCross(t),r=[];return r.push(\"0.749023 g\"),r.push(\"0 0 \"+s(G.internal.getWidth(t))+\" \"+s(G.internal.getHeight(t))+\" re\"),r.push(\"f\"),r.push(\"q\"),r.push(\"1 1 \"+s(G.internal.getWidth(t)-2)+\" \"+s(G.internal.getHeight(t)-2)+\" re\"),r.push(\"W\"),r.push(\"n\"),r.push(s(e.x1.x)+\" \"+s(e.x1.y)+\" m\"),r.push(s(e.x2.x)+\" \"+s(e.x2.y)+\" l\"),r.push(s(e.x4.x)+\" \"+s(e.x4.y)+\" m\"),r.push(s(e.x3.x)+\" \"+s(e.x3.y)+\" l\"),r.push(\"s\"),r.push(\"Q\"),A.stream=r.join(\"\\n\"),A},OffPushDown:function(t){var A=h(t),e=[];return e.push(\"0.749023 g\"),e.push(\"0 0 \"+s(G.internal.getWidth(t))+\" \"+s(G.internal.getHeight(t))+\" re\"),e.push(\"f\"),A.stream=e.join(\"\\n\"),A}}},createDefaultAppearanceStream:function(t){var A=e.internal.getFont(t.fontName,t.fontStyle).id,r=e.__private__.encodeColorString(t.color);return\"/\"+A+\" \"+t.fontSize+\" Tf \"+r}};G.internal={Bezier_C:.551915024494,calculateCross:function(t){var A=G.internal.getWidth(t),e=G.internal.getHeight(t),r=Math.min(A,e);return{x1:{x:(A-r)/2,y:(e-r)/2+r},x2:{x:(A-r)/2+r,y:(e-r)/2},x3:{x:(A-r)/2,y:(e-r)/2},x4:{x:(A-r)/2+r,y:(e-r)/2+r}}}},G.internal.getWidth=function(t){var A=0;return\"object\"===n(t)&&(A=u(t.Rect[2])),A},G.internal.getHeight=function(t){var A=0;return\"object\"===n(t)&&(A=u(t.Rect[3])),A};var J=t.addField=function(t){if(H.call(this),!(t instanceof R))throw new Error(\"Invalid argument passed to jsPDF.addField.\");return function(t){e.internal.acroformPlugin.printedOut&&(e.internal.acroformPlugin.printedOut=!1,e.internal.acroformPlugin.acroFormDictionaryRoot=null),e.internal.acroformPlugin.acroFormDictionaryRoot||H.call(e),e.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(t)}.call(this,t),t.page=e.internal.getCurrentPageInfo().pageNumber,this};t.addButton=function(t){if(t instanceof D==0)throw new Error(\"Invalid argument passed to jsPDF.addButton.\");return J.call(this,t)},t.addTextField=function(t){if(t instanceof V==0)throw new Error(\"Invalid argument passed to jsPDF.addTextField.\");return J.call(this,t)},t.addChoiceField=function(t){if(t instanceof O==0)throw new Error(\"Invalid argument passed to jsPDF.addChoiceField.\");return J.call(this,t)},\"object\"==n(A)&&void 0===A.ChoiceField&&void 0===A.ListBox&&void 0===A.ComboBox&&void 0===A.EditBox&&void 0===A.Button&&void 0===A.PushButton&&void 0===A.RadioButton&&void 0===A.CheckBox&&void 0===A.TextField&&void 0===A.PasswordField?(A.ChoiceField=O,A.ListBox=K,A.ComboBox=M,A.EditBox=P,A.Button=D,A.PushButton=k,A.RadioButton=z,A.CheckBox=q,A.TextField=V,A.PasswordField=X,A.AcroForm={Appearance:G}):console.warn(\"AcroForm-Classes are not populated into global-namespace, because the class-Names exist already.\"),t.AcroFormChoiceField=O,t.AcroFormListBox=K,t.AcroFormComboBox=M,t.AcroFormEditBox=P,t.AcroFormButton=D,t.AcroFormPushButton=k,t.AcroFormRadioButton=z,t.AcroFormCheckBox=q,t.AcroFormTextField=V,t.AcroFormPasswordField=X,t.AcroFormAppearance=G,t.AcroForm={ChoiceField:O,ListBox:K,ComboBox:M,EditBox:P,Button:D,PushButton:k,RadioButton:z,CheckBox:q,TextField:V,PasswordField:X,Appearance:G}})((window.tmp=dt).API,\"undefined\"!=typeof window&&window||void 0!==r&&r),\n/** @license\n * jsPDF addImage plugin\n * Copyright (c) 2012 Jason Siefken, https://github.com/siefkenj/\n * 2013 Chris Dowling, https://github.com/gingerchris\n * 2013 Trinh Ho, https://github.com/ineedfat\n * 2013 Edwin Alejandro Perez, https://github.com/eaparango\n * 2013 Norah Smith, https://github.com/burnburnrocket\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 James Robb, https://github.com/jamesbrobb\n *\n * \n */\nfunction(t){var A=\"addImage_\",e={PNG:[[137,80,78,71]],TIFF:[[77,77,0,42],[73,73,42,0]],JPEG:[[255,216,255,224,void 0,void 0,74,70,73,70,0],[255,216,255,225,void 0,void 0,69,120,105,102,0,0]],JPEG2000:[[0,0,0,12,106,80,32,32]],GIF87a:[[71,73,70,56,55,97]],GIF89a:[[71,73,70,56,57,97]],BMP:[[66,77],[66,65],[67,73],[67,80],[73,67],[80,84]]},r=t.getImageFileTypeByImageData=function(A,r){var n,i;r=r||\"UNKNOWN\";var o,s,a,c=\"UNKNOWN\";for(a in t.isArrayBufferView(A)&&(A=t.arrayBufferToBinaryString(A)),e)for(o=e[a],n=0;n>\"}),\"trns\"in A&&A.trns.constructor==Array){for(var s=\"\",a=0,c=A.trns.length;a>18]+r[(258048&A)>>12]+r[(4032&A)>>6]+r[63&A];return 1==o?e+=r[(252&(A=n[s]))>>2]+r[(3&A)<<4]+\"==\":2==o&&(e+=r[(64512&(A=n[s]<<8|n[s+1]))>>10]+r[(1008&A)>>4]+r[(15&A)<<2]+\"=\"),e},t.createImageInfo=function(t,A,e,r,n,i,o,s,a,c,u,l,h){var f={alias:s,w:A,h:e,cs:r,bpc:n,i:o,data:t};return i&&(f.f=i),a&&(f.dp=a),c&&(f.trns=c),u&&(f.pal=u),l&&(f.smask=l),h&&(f.p=h),f},t.addImage=function(e,r,i,h,f,d,p,B,g){var w=\"\";if(\"string\"!=typeof r){var m=d;d=f,f=h,h=i,i=r,r=m}if(\"object\"===n(e)&&!c(e)&&\"imageData\"in e){var Q=e;e=Q.imageData,r=Q.format||r||\"UNKNOWN\",i=Q.x||i||0,h=Q.y||h||0,f=Q.w||f,d=Q.h||d,p=Q.alias||p,B=Q.compression||B,g=Q.rotation||Q.angle||g}var C=this.internal.getFilters();if(void 0===B&&-1!==C.indexOf(\"FlateEncode\")&&(B=\"SLOW\"),\"string\"==typeof e&&(e=unescape(e)),isNaN(i)||isNaN(h))throw console.error(\"jsPDF.addImage: Invalid coordinates\",arguments),new Error(\"Invalid coordinates passed to jsPDF.addImage\");var y,v,F,U,N,E,b,L=function(){var t=this.internal.collections[A+\"images\"];return t||(this.internal.collections[A+\"images\"]=t={},this.internal.events.subscribe(\"putResources\",o),this.internal.events.subscribe(\"putXobjectDict\",s)),t}.call(this);if(!((y=l(e,L))||(c(e)&&(e=u(e,r)),(null==(b=p)||0===b.length)&&(p=\"string\"==typeof(E=e)?t.sHashCode(E):t.isArrayBufferView(E)?t.sHashCode(t.arrayBufferToBinaryString(E)):null),y=l(p,L)))){if(this.isString(e)&&(\"\"!==(w=this.convertStringToImageData(e))||void 0!==(w=t.loadFile(e)))&&(e=w),r=this.getImageFileTypeByImageData(e,r),!a(r))throw new Error(\"addImage does not support files of type '\"+r+\"', please ensure that a plugin for '\"+r+\"' support is added.\");if(this.supportsArrayBuffer()&&(e instanceof Uint8Array||(v=e,e=this.binaryStringToUint8Array(e))),!(y=this[\"process\"+r.toUpperCase()](e,(N=0,(U=L)&&(N=Object.keys?Object.keys(U).length:function(t){var A=0;for(var e in t)t.hasOwnProperty(e)&&A++;return A}(U)),N),p,((F=B)&&\"string\"==typeof F&&(F=F.toUpperCase()),F in t.image_compression?F:t.image_compression.NONE),v)))throw new Error(\"An unknown error occurred whilst processing the image\")}return function(t,A,e,r,n,i,o,s){var a=function(t,A,e){return t||A||(A=t=-96),t<0&&(t=-1*e.w*72/t/this.internal.scaleFactor),A<0&&(A=-1*e.h*72/A/this.internal.scaleFactor),0===t&&(t=A*e.w/e.h),0===A&&(A=t*e.h/e.w),[t,A]}.call(this,e,r,n),c=this.internal.getCoordinateString,u=this.internal.getVerticalCoordinateString;if(e=a[0],r=a[1],o[i]=n,s){s*=Math.PI/180;var l=Math.cos(s),h=Math.sin(s),f=function(t){return t.toFixed(4)},d=[f(l),f(h),f(-1*h),f(l),0,0,\"cm\"]}this.internal.write(\"q\"),s?(this.internal.write([1,\"0\",\"0\",1,c(t),u(A+r),\"cm\"].join(\" \")),this.internal.write(d.join(\" \")),this.internal.write([c(e),\"0\",\"0\",c(r),\"0\",\"0\",\"cm\"].join(\" \"))):this.internal.write([c(e),\"0\",\"0\",c(r),c(t),u(A+r),\"cm\"].join(\" \")),this.internal.write(\"/I\"+n.i+\" Do\"),this.internal.write(\"Q\")}.call(this,i,h,f,d,y,y.i,L,g),this},t.convertStringToImageData=function(A){var e,r=\"\";if(this.isString(A)){var n;e=null!==(n=this.extractImageFromDataUrl(A))?n.data:A;try{r=atob(e)}catch(A){throw t.validateStringAsBase64(e)?new Error(\"atob-Error in jsPDF.convertStringToImageData \"+A.message):new Error(\"Supplied Data is not a valid base64-String jsPDF.convertStringToImageData \")}}return r};var h=function(t,A){return t.subarray(A,A+5)};t.processJPEG=function(t,A,e,n,i,o){var s,a=this.decode.DCT_DECODE;if(!this.isString(t)&&!this.isArrayBuffer(t)&&!this.isArrayBufferView(t))return null;if(this.isString(t)&&(s=function(t){var A;if(\"JPEG\"!==r(t))throw new Error(\"getJpegSize requires a binary string jpeg file\");for(var e=256*t.charCodeAt(4)+t.charCodeAt(5),n=4,i=t.length;n>\",c.content=B;var h=c.objId+\" 0 R\";B=\"<>\",u.content=B,this.internal.write(c.objId,\"0 R\",u.objId,\"0 R\");break;case\"freetext\":var f=\"/Rect [\"+o(a.bounds.x)+\" \"+s(a.bounds.y)+\" \"+o(a.bounds.x+a.bounds.w)+\" \"+s(a.bounds.y+a.bounds.h)+\"] \",d=a.color||\"#000000\";B=\"<>\",this.internal.write(B);break;case\"link\":if(a.options.name){var p=this.annotations._nameMap[a.options.name];a.options.pageNumber=p.page,a.options.top=p.y}else a.options.top||(a.options.top=0);f=\"/Rect [\"+o(a.x)+\" \"+s(a.y)+\" \"+o(a.x+a.w)+\" \"+s(a.y+a.h)+\"] \";var B=\"\";if(a.options.url)B=\"<>\";else if(a.options.pageNumber)switch(B=\"<>\",this.internal.write(B))}}this.internal.write(\"]\")}}]),o.createAnnotation=function(t){var A=this.internal.getCurrentPageInfo();switch(t.type){case\"link\":this.link(t.bounds.x,t.bounds.y,t.bounds.w,t.bounds.h,t);break;case\"text\":case\"freetext\":A.pageContext.annotations.push(t)}},o.link=function(t,A,e,r,n){this.internal.getCurrentPageInfo().pageContext.annotations.push({x:t,y:A,w:e,h:r,options:n,type:\"link\"})},o.textWithLink=function(t,A,e,r){var n=this.getTextWidth(t),i=this.internal.getLineHeight()/this.internal.scaleFactor;return this.text(t,A,e),e+=.2*i,this.link(A,e-i,n,i,r),n},o.getTextWidth=function(t){var A=this.internal.getFontSize();return this.getStringUnitWidth(t)*A/this.internal.scaleFactor},\n/**\n * @license\n * Copyright (c) 2017 Aras Abbasi \n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var A={1569:[65152],1570:[65153,65154],1571:[65155,65156],1572:[65157,65158],1573:[65159,65160],1574:[65161,65162,65163,65164],1575:[65165,65166],1576:[65167,65168,65169,65170],1577:[65171,65172],1578:[65173,65174,65175,65176],1579:[65177,65178,65179,65180],1580:[65181,65182,65183,65184],1581:[65185,65186,65187,65188],1582:[65189,65190,65191,65192],1583:[65193,65194],1584:[65195,65196],1585:[65197,65198],1586:[65199,65200],1587:[65201,65202,65203,65204],1588:[65205,65206,65207,65208],1589:[65209,65210,65211,65212],1590:[65213,65214,65215,65216],1591:[65217,65218,65219,65220],1592:[65221,65222,65223,65224],1593:[65225,65226,65227,65228],1594:[65229,65230,65231,65232],1601:[65233,65234,65235,65236],1602:[65237,65238,65239,65240],1603:[65241,65242,65243,65244],1604:[65245,65246,65247,65248],1605:[65249,65250,65251,65252],1606:[65253,65254,65255,65256],1607:[65257,65258,65259,65260],1608:[65261,65262],1609:[65263,65264,64488,64489],1610:[65265,65266,65267,65268],1649:[64336,64337],1655:[64477],1657:[64358,64359,64360,64361],1658:[64350,64351,64352,64353],1659:[64338,64339,64340,64341],1662:[64342,64343,64344,64345],1663:[64354,64355,64356,64357],1664:[64346,64347,64348,64349],1667:[64374,64375,64376,64377],1668:[64370,64371,64372,64373],1670:[64378,64379,64380,64381],1671:[64382,64383,64384,64385],1672:[64392,64393],1676:[64388,64389],1677:[64386,64387],1678:[64390,64391],1681:[64396,64397],1688:[64394,64395],1700:[64362,64363,64364,64365],1702:[64366,64367,64368,64369],1705:[64398,64399,64400,64401],1709:[64467,64468,64469,64470],1711:[64402,64403,64404,64405],1713:[64410,64411,64412,64413],1715:[64406,64407,64408,64409],1722:[64414,64415],1723:[64416,64417,64418,64419],1726:[64426,64427,64428,64429],1728:[64420,64421],1729:[64422,64423,64424,64425],1733:[64480,64481],1734:[64473,64474],1735:[64471,64472],1736:[64475,64476],1737:[64482,64483],1739:[64478,64479],1740:[64508,64509,64510,64511],1744:[64484,64485,64486,64487],1746:[64430,64431],1747:[64432,64433]},e={65247:{65154:65269,65156:65271,65160:65273,65166:65275},65248:{65154:65270,65156:65272,65160:65274,65166:65276},65165:{65247:{65248:{65258:65010}}},1617:{1612:64606,1613:64607,1614:64608,1615:64609,1616:64610}},r={1612:64606,1613:64607,1614:64608,1615:64609,1616:64610},n=[1570,1571,1573,1575];t.__arabicParser__={};var i=t.__arabicParser__.isInArabicSubstitutionA=function(t){return void 0!==A[t.charCodeAt(0)]},o=t.__arabicParser__.isArabicLetter=function(t){return\"string\"==typeof t&&/^[\\u0600-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\uFB50-\\uFDFF\\uFE70-\\uFEFF]+$/.test(t)},s=t.__arabicParser__.isArabicEndLetter=function(t){return o(t)&&i(t)&&A[t.charCodeAt(0)].length<=2},a=t.__arabicParser__.isArabicAlfLetter=function(t){return o(t)&&0<=n.indexOf(t.charCodeAt(0))},c=(t.__arabicParser__.arabicLetterHasIsolatedForm=function(t){return o(t)&&i(t)&&1<=A[t.charCodeAt(0)].length},t.__arabicParser__.arabicLetterHasFinalForm=function(t){return o(t)&&i(t)&&2<=A[t.charCodeAt(0)].length}),u=(t.__arabicParser__.arabicLetterHasInitialForm=function(t){return o(t)&&i(t)&&3<=A[t.charCodeAt(0)].length},t.__arabicParser__.arabicLetterHasMedialForm=function(t){return o(t)&&i(t)&&4==A[t.charCodeAt(0)].length}),l=t.__arabicParser__.resolveLigatures=function(t){var A=0,r=e,n=0,i=\"\",o=0;for(A=0;A>\"),this.internal.out(\"endobj\")})),this.internal.events.subscribe(\"putCatalog\",(function(){this.internal.out(\"/OpenAction \"+A+\" 0 R\")}))}return this},\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\ns=dt.API,(a=function(){var t=void 0;Object.defineProperty(this,\"pdf\",{get:function(){return t},set:function(A){t=A}});var A=150;Object.defineProperty(this,\"width\",{get:function(){return A},set:function(t){A=isNaN(t)||!1===Number.isInteger(t)||t<0?150:t,this.getContext(\"2d\").pageWrapXEnabled&&(this.getContext(\"2d\").pageWrapX=A+1)}});var e=300;Object.defineProperty(this,\"height\",{get:function(){return e},set:function(t){e=isNaN(t)||!1===Number.isInteger(t)||t<0?300:t,this.getContext(\"2d\").pageWrapYEnabled&&(this.getContext(\"2d\").pageWrapY=e+1)}});var r=[];Object.defineProperty(this,\"childNodes\",{get:function(){return r},set:function(t){r=t}});var n={};Object.defineProperty(this,\"style\",{get:function(){return n},set:function(t){n=t}}),Object.defineProperty(this,\"parentNode\",{get:function(){return!1}})}).prototype.getContext=function(t,A){var e;if(\"2d\"!==(t=t||\"2d\"))return null;for(e in A)this.pdf.context2d.hasOwnProperty(e)&&(this.pdf.context2d[e]=A[e]);return(this.pdf.context2d._canvas=this).pdf.context2d},a.prototype.toDataURL=function(){throw new Error(\"toDataURL is not implemented.\")},s.events.push([\"initialized\",function(){this.canvas=new a,this.canvas.pdf=this}]),\n/** \n * @license\n * ====================================================================\n * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\n * 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n * 2013 Lee Driscoll, https://github.com/lsdriscoll\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 James Hall, james@parall.ax\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * \n * ====================================================================\n */\nc=dt.API,l={x:void 0,y:void 0,w:void 0,h:void 0,ln:void 0},h=1,f=function(t,A,e,r,n){l={x:t,y:A,w:e,h:r,ln:n}},d=function(){return l},p={left:0,top:0,bottom:0},c.setHeaderFunction=function(t){u=t},c.getTextDimensions=function(t,A){var e=this.table_font_size||this.internal.getFontSize(),r=(this.internal.getFont().fontStyle,(A=A||{}).scaleFactor||this.internal.scaleFactor),n=0,i=0,o=0;if(\"string\"==typeof t)0!=(n=this.getStringUnitWidth(t)*e)&&(i=1);else{if(\"[object Array]\"!==Object.prototype.toString.call(t))throw new Error(\"getTextDimensions expects text-parameter to be of type String or an Array of Strings.\");for(var s=0;s=this.internal.pageSize.getHeight()-c.bottom&&(this.cellAddPage(),a=!0,this.printHeaders&&this.tableHeaderRow&&this.printHeaderRow(i,!0)),A=d().y+d().h,a&&(A=23)}if(void 0!==n[0])if(this.printingHeaderRow?this.rect(t,A,e,r,\"FD\"):this.rect(t,A,e,r),\"right\"===o){n instanceof Array||(n=[n]);for(var u=0;u=2*Math.PI&&(r=0,n=2*Math.PI),this.path.push({type:\"arc\",x:t,y:A,radius:e,startAngle:r,endAngle:n,counterclockwise:i})},c.prototype.arcTo=function(t,A,e,r,n){throw new Error(\"arcTo not implemented.\")},c.prototype.rect=function(t,A,e,r){if(isNaN(t)||isNaN(A)||isNaN(e)||isNaN(r))throw console.error(\"jsPDF.context2d.rect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.rect\");this.moveTo(t,A),this.lineTo(t+e,A),this.lineTo(t+e,A+r),this.lineTo(t,A+r),this.lineTo(t,A),this.lineTo(t+e,A),this.lineTo(t,A)},c.prototype.fillRect=function(t,A,e,r){if(isNaN(t)||isNaN(A)||isNaN(e)||isNaN(r))throw console.error(\"jsPDF.context2d.fillRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.fillRect\");if(!l.call(this)){var n={};\"butt\"!==this.lineCap&&(n.lineCap=this.lineCap,this.lineCap=\"butt\"),\"miter\"!==this.lineJoin&&(n.lineJoin=this.lineJoin,this.lineJoin=\"miter\"),this.beginPath(),this.rect(t,A,e,r),this.fill(),n.hasOwnProperty(\"lineCap\")&&(this.lineCap=n.lineCap),n.hasOwnProperty(\"lineJoin\")&&(this.lineJoin=n.lineJoin)}},c.prototype.strokeRect=function(t,A,e,r){if(isNaN(t)||isNaN(A)||isNaN(e)||isNaN(r))throw console.error(\"jsPDF.context2d.strokeRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.strokeRect\");h.call(this)||(this.beginPath(),this.rect(t,A,e,r),this.stroke())},c.prototype.clearRect=function(t,A,e,r){if(isNaN(t)||isNaN(A)||isNaN(e)||isNaN(r))throw console.error(\"jsPDF.context2d.clearRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.clearRect\");this.ignoreClearRect||(this.fillStyle=\"#ffffff\",this.fillRect(t,A,e,r))},c.prototype.save=function(t){t=\"boolean\"!=typeof t||t;for(var A=this.pdf.internal.getCurrentPageInfo().pageNumber,e=0;e\"},w=function(t){var A,e,r,n,i,o=String,s=\"length\",a=\"charCodeAt\",c=\"slice\",u=\"replace\";for(t[c](-2),t=t[c](0,-2)[u](/\\s/g,\"\")[u](\"z\",\"!!!!!\"),r=[],n=0,i=(t+=A=\"uuuuu\"[c](t[s]%5||5))[s];n>24,255&e>>16,255&e>>8,255&e);return function(t,e){for(var r=A[s];0\"},Q=function(t){var A=new RegExp(/^([0-9A-Fa-f]{2})+$/);if(-1!==(t=t.replace(/\\s/g,\"\")).indexOf(\">\")&&(t=t.substr(0,t.indexOf(\">\"))),t.length%2&&(t+=\"0\"),!1===A.test(t))return\"\";for(var e=\"\",r=0;r>8&255,e>>16&255,e>>24&255]),t.length+2),String.fromCharCode.apply(null,n)},B.processDataByFilters=function(t,A){var e=0,r=t||\"\",n=[];for(\"string\"==typeof(A=A||[])&&(A=[A]),e=0;e>\"),this.internal.out(\"endobj\"),L=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/S /JavaScript\"),this.internal.out(\"/JS (\"+H+\")\"),this.internal.out(\">>\"),this.internal.out(\"endobj\")})),this.internal.events.subscribe(\"putCatalog\",(function(){void 0!==b&&void 0!==L&&this.internal.out(\"/Names <>\")})),this},\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */(x=dt.API).events.push([\"postPutResources\",function(){var t=this,A=/^(\\d+) 0 obj$/;if(0> endobj\")}var l=t.internal.newObject();for(t.internal.write(\"<< /Names [ \"),r=0;r>\",\"endobj\"),t.internal.newObject(),t.internal.write(\"<< /Dests \"+l+\" 0 R\"),t.internal.write(\">>\",\"endobj\")}}]),x.events.push([\"putCatalog\",function(){0> \\r\\nendobj\\r\\n\"},t.outline.count_r=function(t,A){for(var e=0;e>>24&255,h[l++]=s>>>16&255,h[l++]=s>>>8&255,h[l++]=255&s,S.arrayBufferToBinaryString(h)},T=function(t,A){var e=Math.LOG2E*Math.log(32768)-8<<4|8,r=e<<8;return r|=Math.min(3,(A-1&255)>>1)<<6,r|=0,[e,255&(r+=31-r%31)]},R=function(t,A){for(var e,r=1,n=0,i=t.length,o=0;0>>0},O=function(t,A,e,r){for(var n,i,o,s=t.length/A,a=new Uint8Array(t.length+s),c=j(),u=0;u>>1)&255;return i},k=function(t,A,e){var r,n,i,o,s=[],a=0,c=t.length;for(s[0]=4;a>>d&255,d+=i.bits;g[m]=C>>>d&255}if(16===i.bits){p=(N=new Uint32Array(i.decodePixels().buffer)).length,B=new Uint8Array(p*(32/i.pixelBitlength)*i.colors),g=new Uint8Array(p*(32/i.pixelBitlength));for(var C,y=1>>0&255,y&&(B[Q++]=C>>>16&255,C=N[m++],B[Q++]=C>>>0&255),g[v++]=C>>>16&255;f=8}r!==S.image_compression.NONE&&I()?(t=_(B,i.width*i.colors,i.colors,r),u=_(g,i.width,1,r)):(t=B,u=g,h=null)}if(3===i.colorType&&(l=this.color_spaces.INDEXED,c=i.palette,i.transparency.indexed)){var F=i.transparency.indexed,U=0;for(m=0,p=F.length;mr&&(n.push(t.slice(a,i)),s=0,a=i),s+=A[i],i++;return a!==i&&n.push(t.slice(a,i)),n},tt=function(t,A,e){e||(e={});var r,n,i,o,s,a,c=[],u=[c],l=e.textIndent||0,h=0,f=0,d=t.split(\" \"),p=W.apply(this,[\" \",e])[0];if(a=-1===e.lineIndent?d[0].length+2:e.lineIndent||0){var B=Array(a).join(\" \"),g=[];d.map((function(t){1<(t=t.split(/\\s*\\n/)).length?g=g.concat(t.map((function(t,A){return(A&&t.length?\"\\n\":\"\")+t}))):g.push(t[0])})),d=g,a=Z.apply(this,[B,e])}for(i=0,o=d.length;i>\")})),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=e,this},at=dt.API,lt=ut=ct=\"\",at.addMetadata=function(t,A){return ut=A||\"http://jspdf.default.namespaceuri/\",ct=t,this.internal.events.subscribe(\"postPutResources\",(function(){if(ct){var t='',A=unescape(encodeURIComponent('')),e=unescape(encodeURIComponent(t)),r=unescape(encodeURIComponent(ct)),n=unescape(encodeURIComponent(\"\")),i=unescape(encodeURIComponent(\"\")),o=e.length+r.length+n.length+A.length+i.length;lt=this.internal.newObject(),this.internal.write(\"<< /Type /Metadata /Subtype /XML /Length \"+o+\" >>\"),this.internal.write(\"stream\"),this.internal.write(A+e+r+n+i),this.internal.write(\"endstream\"),this.internal.write(\"endobj\")}else lt=\"\"})),this.internal.events.subscribe(\"putCatalog\",(function(){lt&&this.internal.write(\"/Metadata \"+lt+\" 0 R\")})),this},function(t,A){var e=t.API,r=e.pdfEscape16=function(t,A){for(var e,r=A.metadata.Unicode.widths,n=[\"\",\"0\",\"00\",\"000\",\"0000\"],i=[\"\"],o=0,s=t.length;o> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000>\\nendcodespacerange\",r=[],o=0,s=(e=Object.keys(t).sort((function(t,A){return t-A}))).length;o<\"+n+\">\");return r.length&&(i+=\"\\n\"+r.length+\" beginbfchar\\n\"+r.join(\"\\n\")+\"\\nendbfchar\\n\"),i+\"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\"};e.events.push([\"putFont\",function(A){!function(A,e,r,i){if(A.metadata instanceof t.API.TTFFont&&\"Identity-H\"===A.encoding){for(var o=A.metadata.Unicode.widths,s=A.metadata.subset.encode(A.metadata.glyIdsUsed,1),a=\"\",c=0;c>\"),e(\"endobj\");var f=r();e(\"<<\"),e(\"/Type /Font\"),e(\"/BaseFont /\"+A.fontName),e(\"/FontDescriptor \"+h+\" 0 R\"),e(\"/W \"+t.API.PDFObject.convert(o)),e(\"/CIDToGIDMap /Identity\"),e(\"/DW 1000\"),e(\"/Subtype /CIDFontType2\"),e(\"/CIDSystemInfo\"),e(\"<<\"),e(\"/Supplement 0\"),e(\"/Registry (Adobe)\"),e(\"/Ordering (\"+A.encoding+\")\"),e(\">>\"),e(\">>\"),e(\"endobj\"),A.objectNumber=r(),e(\"<<\"),e(\"/Type /Font\"),e(\"/Subtype /Type0\"),e(\"/ToUnicode \"+l+\" 0 R\"),e(\"/BaseFont /\"+A.fontName),e(\"/Encoding /\"+A.encoding),e(\"/DescendantFonts [\"+f+\" 0 R]\"),e(\">>\"),e(\"endobj\"),A.isAlreadyPutted=!0}}(A.font,A.out,A.newObject,A.putStream)}]),e.events.push([\"putFont\",function(A){!function(A,e,r,i){if(A.metadata instanceof t.API.TTFFont&&\"WinAnsiEncoding\"===A.encoding){A.metadata.Unicode.widths;for(var o=A.metadata.rawData,s=\"\",a=0;a>\"),e(\"endobj\"),A.objectNumber=r(),a=0;a>\"),e(\"endobj\"),A.isAlreadyPutted=!0}}(A.font,A.out,A.newObject,A.putStream)}]);var i=function(t){var A,e,n=t.text||\"\",i=t.x,o=t.y,s=t.options||{},a=t.mutex||{},c=a.pdfEscape,u=a.activeFontKey,l=a.fonts,h=(a.activeFontSize,\"\"),f=0,d=\"\",p=l[e=u].encoding;if(\"Identity-H\"!==l[e].encoding)return{text:n,x:i,y:o,options:s,mutex:a};for(d=n,e=u,\"[object Array]\"===Object.prototype.toString.call(n)&&(d=n[0]),f=0;fa-c.top-c.bottom&&r.pagesplit){var d=function(t,A,e,n,i){var o=document.createElement(\"canvas\");o.height=i,o.width=n;var s=o.getContext(\"2d\");return s.mozImageSmoothingEnabled=!1,s.webkitImageSmoothingEnabled=!1,s.msImageSmoothingEnabled=!1,s.imageSmoothingEnabled=!1,s.fillStyle=r.backgroundColor||\"#ffffff\",s.fillRect(0,0,n,i),s.drawImage(t,A,e,n,i,0,0,n,i),o},p=function(){for(var r,i,u=0,p=0,B={},g=!1;;){var w;if(p=0,B.top=0!==u?c.top:e,B.left=0!==u?c.left:A,g=(s-c.left-c.right)*o=t.width)break;this.addPage()}else m=[w=d(t,0,u,r,i),B.left,B.top,w.width/o,w.height/o,h,null,f],this.addImage.apply(this,m);if((u+=i)>=t.height)break;this.addPage()}n(l,u,null,m)}.bind(this);if(\"CANVAS\"===t.nodeName){var B=new Image;B.onload=p,B.src=t.toDataURL(\"image/png\"),t=B}else p()}else{var g=Math.random().toString(35),w=[t,A,e,l,u,h,g,f];this.addImage.apply(this,w),n(l,u,g,w)}}.bind(this),\"undefined\"!=typeof html2canvas&&!r.rstz)return html2canvas(t,r);if(\"undefined\"==typeof rasterizeHTML)return null;var c=\"drawDocument\";return\"string\"==typeof t&&(c=/^http/.test(t)?\"drawURL\":\"drawHTML\"),r.width=r.width||s*o,rasterizeHTML[c](t,void 0,r).then((function(t){r.onrendered(t.image)}),(function(t){n(null,t)}))\n/**\n * jsPDF fromHTML plugin. BETA stage. API subject to change. Needs browser\n * Copyright (c) 2012 Willow Systems Corporation, willow-systems.com\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 Daniel Husar, https://github.com/danielhusar\n * 2014 Wolfgang Gassler, https://github.com/woolfg\n * 2014 Steven Spungin, https://github.com/flamenco\n *\n * @license\n * \n * ====================================================================\n */},function(t){var A,e,r,i,o,s,a,c,u,l,h,f,d,p,B,g,w,m,Q,C;A=function(){return function(A){return t.prototype=A,new t};function t(){}}(),l=function(t){var A,e,r,n,i,o,s;for(e=0,r=t.length,A=void 0,o=n=!1;!n&&e!==r;)(A=t[e]=t[e].trimLeft())&&(n=!0),e++;for(e=r-1;r&&!o&&-1!==e;)(A=t[e]=t[e].trimRight())&&(o=!0),e--;for(i=/\\s+$/g,s=!0,e=0;e!==r;)\"\\u2028\"!=t[e]&&(A=t[e].replace(/\\s+/g,\" \"),s&&(A=A.trimLeft()),A&&(s=i.test(A)),t[e]=A),e++;return t},f=function(t){var A,e,n;for(A=void 0,e=(n=t.split(\",\")).shift();!A&&e;)A=r[e.trim().toLowerCase()],e=n.shift();return A},d=function(t){var A;return-1<(t=\"auto\"===t?\"0px\":t).indexOf(\"em\")&&!isNaN(Number(t.replace(\"em\",\"\")))&&(t=18.719*Number(t.replace(\"em\",\"\"))+\"px\"),-1r.pdf.margins_doc.top&&(r.pdf.addPage(),r.y=r.pdf.margins_doc.top,r.executeWatchFunctions(o));var L=u(o),H=r.x,x=12/r.pdf.internal.scaleFactor,S=(L[\"margin-left\"]+L[\"padding-left\"])*x,I=(L[\"margin-right\"]+L[\"padding-right\"])*x,_=(L[\"margin-top\"]+L[\"padding-top\"])*x,T=(L[\"margin-bottom\"]+L[\"padding-bottom\"])*x;void 0!==L.float&&\"right\"===L.float?H+=r.settings.width-o.width-I:H+=S,r.pdf.addImage(E,H,r.y+_,o.width,o.height),E=void 0,\"right\"===L.float||\"left\"===L.float?(r.watchFunctions.push(function(t,A,e,n){return r.y>=A?(r.x+=t,r.settings.width+=e,!0):!!(n&&1===n.nodeType&&!y[n.nodeName]&&r.x+n.width>r.pdf.margins_doc.left+r.pdf.margins_doc.width)&&(r.x+=t,r.y=A,r.settings.width+=e,!0)}.bind(this,\"left\"===L.float?-o.width-S-I:0,r.y+o.height+_+T,o.width)),r.watchFunctions.push(function(t,A,e){return!(r.y]*?>/gi,\"\"),u=\"jsPDFhtmlText\"+Date.now().toString()+(1e3*Math.random()).toFixed(0),(c=document.createElement(\"div\")).style.cssText=\"position: absolute !important;clip: rect(1px 1px 1px 1px); /* IE6, IE7 */clip: rect(1px, 1px, 1px, 1px);padding:0 !important;border:0 !important;height: 1px !important;width: 1px !important; top:auto;left:-100px;overflow: hidden;\",c.innerHTML='