From 6bc4efbac1b1554aa2d5f71ba12718e3c9bbe209 Mon Sep 17 00:00:00 2001 From: Alex <33497058+bexsoft@users.noreply.github.com> Date: Thu, 3 Aug 2023 15:54:29 -0600 Subject: [PATCH] Release v0.35.0 (#2981) --- go.mod | 3 +- portal-ui/build/asset-manifest.json | 192 +++++++++--------- portal-ui/build/index.html | 2 +- portal-ui/build/static/css/main.02c1b6fd.css | 2 + .../build/static/css/main.02c1b6fd.css.map | 1 + portal-ui/build/static/css/main.7f39beab.css | 2 - .../build/static/css/main.7f39beab.css.map | 1 - .../build/static/js/134.117c7fbe.chunk.js.map | 2 +- .../build/static/js/1516.67512c50.chunk.js | 2 + .../static/js/1516.67512c50.chunk.js.map | 1 + .../build/static/js/1516.b3513b8c.chunk.js | 2 - .../static/js/1516.b3513b8c.chunk.js.map | 1 - .../build/static/js/1690.f30e8f7f.chunk.js | 2 - .../static/js/1690.f30e8f7f.chunk.js.map | 1 - .../build/static/js/1690.fa631de9.chunk.js | 2 + .../static/js/1690.fa631de9.chunk.js.map | 1 + .../static/js/1715.b85c256f.chunk.js.map | 2 +- .../build/static/js/1829.0e821c64.chunk.js | 2 + .../static/js/1829.0e821c64.chunk.js.map | 1 + .../build/static/js/1829.11d4b426.chunk.js | 2 - .../static/js/1829.11d4b426.chunk.js.map | 1 - .../static/js/2032.54dedb37.chunk.js.map | 2 +- .../build/static/js/222.7f3906bd.chunk.js | 2 - .../build/static/js/222.7f3906bd.chunk.js.map | 1 - .../build/static/js/225.a62217d0.chunk.js | 2 + .../build/static/js/225.a62217d0.chunk.js.map | 1 + .../build/static/js/2260.c0246fc5.chunk.js | 2 - .../static/js/2260.c0246fc5.chunk.js.map | 1 - .../build/static/js/247.2a7f8e21.chunk.js.map | 2 +- .../build/static/js/2603.19110315.chunk.js | 2 + .../static/js/2603.19110315.chunk.js.map | 1 + .../build/static/js/2603.500676d6.chunk.js | 2 - .../static/js/2603.500676d6.chunk.js.map | 1 - ...e2dfa6.chunk.js => 2661.7ae2f0e2.chunk.js} | 4 +- ...hunk.js.map => 2661.7ae2f0e2.chunk.js.map} | 2 +- .../static/js/2791.a64fa77e.chunk.js.map | 2 +- .../build/static/js/2983.24d52eba.chunk.js | 2 + .../static/js/2983.24d52eba.chunk.js.map | 1 + .../build/static/js/2983.3ffd4ad8.chunk.js | 2 - .../static/js/2983.3ffd4ad8.chunk.js.map | 1 - .../static/js/3034.18978581.chunk.js.map | 2 +- .../build/static/js/3067.10ab217f.chunk.js | 2 - .../static/js/3067.10ab217f.chunk.js.map | 1 - .../build/static/js/3067.56476c2f.chunk.js | 2 + .../static/js/3067.56476c2f.chunk.js.map | 1 + ...6b6959.chunk.js => 3115.f9b2e7fc.chunk.js} | 4 +- ...hunk.js.map => 3115.f9b2e7fc.chunk.js.map} | 2 +- .../static/js/3138.36694643.chunk.js.map | 2 +- .../build/static/js/3203.d42c8f43.chunk.js | 2 + .../static/js/3203.d42c8f43.chunk.js.map | 1 + .../build/static/js/3554.597b92f6.chunk.js | 2 + .../static/js/3554.597b92f6.chunk.js.map | 1 + .../static/js/3801.e125737d.chunk.js.map | 2 +- .../build/static/js/3989.d6c1eb51.chunk.js | 2 + .../static/js/3989.d6c1eb51.chunk.js.map | 1 + .../build/static/js/402.75cd5b25.chunk.js | 2 - .../build/static/js/402.75cd5b25.chunk.js.map | 1 - .../build/static/js/402.b31b43fa.chunk.js | 2 + .../build/static/js/402.b31b43fa.chunk.js.map | 1 + ...fc17e3.chunk.js => 4335.1ddacb73.chunk.js} | 4 +- ...hunk.js.map => 4335.1ddacb73.chunk.js.map} | 2 +- .../static/js/4414.930d89fc.chunk.js.map | 2 +- .../static/js/4563.121b75a9.chunk.js.map | 2 +- .../build/static/js/483.31c46d8b.chunk.js | 2 - .../build/static/js/483.31c46d8b.chunk.js.map | 1 - .../build/static/js/483.f00aef93.chunk.js | 2 + .../build/static/js/483.f00aef93.chunk.js.map | 1 + .../static/js/4882.9c5a4b90.chunk.js.map | 2 +- .../build/static/js/4884.a13f2bb5.chunk.js | 2 + .../static/js/4884.a13f2bb5.chunk.js.map | 1 + .../static/js/4902.ded1f1f5.chunk.js.map | 2 +- .../build/static/js/5004.594e3211.chunk.js | 2 - .../static/js/5004.594e3211.chunk.js.map | 1 - .../build/static/js/5088.8ed4fd39.chunk.js | 2 + .../static/js/5088.8ed4fd39.chunk.js.map | 1 + .../build/static/js/5088.a07c0273.chunk.js | 2 - .../static/js/5088.a07c0273.chunk.js.map | 1 - .../build/static/js/5442.657ff257.chunk.js | 2 + .../static/js/5442.657ff257.chunk.js.map | 1 + .../build/static/js/5473.5690bac9.chunk.js | 2 + .../static/js/5473.5690bac9.chunk.js.map | 1 + .../build/static/js/5473.bbfe723a.chunk.js | 2 - .../static/js/5473.bbfe723a.chunk.js.map | 1 - .../build/static/js/5515.a73ad9ea.chunk.js | 2 + .../static/js/5515.a73ad9ea.chunk.js.map | 1 + .../build/static/js/5661.8e7899d0.chunk.js | 2 - .../static/js/5661.8e7899d0.chunk.js.map | 1 - .../build/static/js/5702.084d8254.chunk.js | 2 - .../build/static/js/5702.6a08188b.chunk.js | 2 + ...hunk.js.map => 5702.6a08188b.chunk.js.map} | 2 +- .../build/static/js/5707.f0758fd6.chunk.js | 2 - .../static/js/5707.f0758fd6.chunk.js.map | 1 - .../build/static/js/5739.ccea8dc9.chunk.js | 2 + .../static/js/5739.ccea8dc9.chunk.js.map | 1 + .../build/static/js/5904.c1d4d6b7.chunk.js | 2 - .../static/js/5904.c1d4d6b7.chunk.js.map | 1 - .../build/static/js/5962.5aaa4901.chunk.js | 2 + .../static/js/5962.5aaa4901.chunk.js.map | 1 + .../build/static/js/5962.812f802a.chunk.js | 2 - .../static/js/5962.812f802a.chunk.js.map | 1 - .../build/static/js/5980.5142636f.chunk.js | 2 - .../static/js/5980.5142636f.chunk.js.map | 1 - .../build/static/js/5994.6d90bd33.chunk.js | 2 + .../static/js/5994.6d90bd33.chunk.js.map | 1 + .../build/static/js/5994.f7b13106.chunk.js | 2 - .../static/js/5994.f7b13106.chunk.js.map | 1 - .../build/static/js/601.0071eb88.chunk.js | 2 + .../build/static/js/601.0071eb88.chunk.js.map | 1 + .../static/js/6158.62f2536c.chunk.js.map | 2 +- .../build/static/js/6171.621123fe.chunk.js | 2 + .../static/js/6171.621123fe.chunk.js.map | 1 + .../build/static/js/6272.074b2c08.chunk.js | 2 - .../build/static/js/6272.3c9cfd32.chunk.js | 2 + ...hunk.js.map => 6272.3c9cfd32.chunk.js.map} | 2 +- .../build/static/js/6363.b2794ff5.chunk.js | 2 - .../static/js/6363.b2794ff5.chunk.js.map | 1 - .../build/static/js/6459.b16c70ac.chunk.js | 2 - .../static/js/6459.b16c70ac.chunk.js.map | 1 - .../build/static/js/6491.cb4af026.chunk.js | 2 - .../static/js/6491.cb4af026.chunk.js.map | 1 - .../build/static/js/6491.de57d3e6.chunk.js | 2 + .../static/js/6491.de57d3e6.chunk.js.map | 1 + .../build/static/js/6577.a8d6a01c.chunk.js | 2 - .../build/static/js/6577.d4559543.chunk.js | 2 + ...hunk.js.map => 6577.d4559543.chunk.js.map} | 2 +- .../build/static/js/6624.237b6430.chunk.js | 2 + .../static/js/6624.237b6430.chunk.js.map | 1 + .../build/static/js/6624.695e9bbd.chunk.js | 2 - .../static/js/6624.695e9bbd.chunk.js.map | 1 - .../static/js/6686.0c756aaf.chunk.js.map | 2 +- .../build/static/js/6895.26443f5f.chunk.js | 2 + ...hunk.js.map => 6895.26443f5f.chunk.js.map} | 2 +- .../build/static/js/6895.66971403.chunk.js | 2 - .../static/js/6914.9ab32297.chunk.js.map | 2 +- .../build/static/js/6975.18f2c3f9.chunk.js | 2 - .../static/js/6975.18f2c3f9.chunk.js.map | 1 - .../build/static/js/738.eed2fa45.chunk.js | 2 + .../build/static/js/738.eed2fa45.chunk.js.map | 1 + .../static/js/7391.c53687b2.chunk.js.map | 2 +- .../build/static/js/7564.37011454.chunk.js | 2 + .../static/js/7564.37011454.chunk.js.map | 1 + .../static/js/7614.ec6383d7.chunk.js.map | 2 +- .../build/static/js/7847.234cbf0e.chunk.js | 2 + .../static/js/7847.234cbf0e.chunk.js.map | 1 + .../build/static/js/7847.d7a7fbd9.chunk.js | 2 - .../static/js/7847.d7a7fbd9.chunk.js.map | 1 - .../static/js/7981.b08cd322.chunk.js.map | 2 +- .../build/static/js/808.045ec154.chunk.js | 2 - .../build/static/js/808.0827cf07.chunk.js | 2 + ...chunk.js.map => 808.0827cf07.chunk.js.map} | 2 +- .../build/static/js/8098.86babd6f.chunk.js | 3 + ...txt => 8098.86babd6f.chunk.js.LICENSE.txt} | 0 .../static/js/8098.86babd6f.chunk.js.map | 1 + .../static/js/8305.b35690ca.chunk.js.map | 2 +- .../build/static/js/841.31434f9c.chunk.js | 2 + .../build/static/js/841.31434f9c.chunk.js.map | 1 + .../build/static/js/841.e190e240.chunk.js | 2 - .../build/static/js/841.e190e240.chunk.js.map | 1 - ...482be4.chunk.js => 8831.4150b126.chunk.js} | 4 +- .../static/js/8831.4150b126.chunk.js.map | 1 + .../static/js/8831.c7482be4.chunk.js.map | 1 - .../build/static/js/8833.27a34b4e.chunk.js | 2 + .../static/js/8833.27a34b4e.chunk.js.map | 1 + .../build/static/js/8833.9ede4350.chunk.js | 2 - .../static/js/8833.9ede4350.chunk.js.map | 1 - .../build/static/js/8941.a8683f5c.chunk.js | 2 - .../static/js/8941.a8683f5c.chunk.js.map | 1 - .../build/static/js/9062.9dba9f0e.chunk.js | 2 + .../static/js/9062.9dba9f0e.chunk.js.map | 1 + .../build/static/js/91.e520a97c.chunk.js | 2 - .../build/static/js/91.e520a97c.chunk.js.map | 1 - .../static/js/9121.0c08c03c.chunk.js.map | 2 +- .../build/static/js/9390.564ed238.chunk.js | 2 - .../static/js/9390.564ed238.chunk.js.map | 1 - .../build/static/js/9390.ea2a39c3.chunk.js | 2 + .../static/js/9390.ea2a39c3.chunk.js.map | 1 + .../build/static/js/9444.da7eb5e5.chunk.js | 3 - .../static/js/9444.da7eb5e5.chunk.js.map | 1 - .../static/js/9518.2593e387.chunk.js.map | 1 - ...93e387.chunk.js => 9518.d8f8ed8b.chunk.js} | 6 +- ...txt => 9518.d8f8ed8b.chunk.js.LICENSE.txt} | 0 .../static/js/9518.d8f8ed8b.chunk.js.map | 1 + .../static/js/9581.35e0c780.chunk.js.map | 2 +- .../build/static/js/977.7dc10141.chunk.js | 2 + .../build/static/js/977.7dc10141.chunk.js.map | 1 + .../build/static/js/977.90d83636.chunk.js | 2 - .../build/static/js/977.90d83636.chunk.js.map | 1 - .../static/js/9817.d6ea67be.chunk.js.map | 2 +- .../build/static/js/9897.6cbb5c3f.chunk.js | 2 + .../static/js/9897.6cbb5c3f.chunk.js.map | 1 + portal-ui/build/static/js/main.6166ac41.js | 3 - .../build/static/js/main.6166ac41.js.map | 1 - portal-ui/build/static/js/main.72f8505e.js | 3 + ...CENSE.txt => main.72f8505e.js.LICENSE.txt} | 0 .../build/static/js/main.72f8505e.js.map | 1 + 195 files changed, 264 insertions(+), 253 deletions(-) create mode 100644 portal-ui/build/static/css/main.02c1b6fd.css create mode 100644 portal-ui/build/static/css/main.02c1b6fd.css.map delete mode 100644 portal-ui/build/static/css/main.7f39beab.css delete mode 100644 portal-ui/build/static/css/main.7f39beab.css.map create mode 100644 portal-ui/build/static/js/1516.67512c50.chunk.js create mode 100644 portal-ui/build/static/js/1516.67512c50.chunk.js.map delete mode 100644 portal-ui/build/static/js/1516.b3513b8c.chunk.js delete mode 100644 portal-ui/build/static/js/1516.b3513b8c.chunk.js.map delete mode 100644 portal-ui/build/static/js/1690.f30e8f7f.chunk.js delete mode 100644 portal-ui/build/static/js/1690.f30e8f7f.chunk.js.map create mode 100644 portal-ui/build/static/js/1690.fa631de9.chunk.js create mode 100644 portal-ui/build/static/js/1690.fa631de9.chunk.js.map create mode 100644 portal-ui/build/static/js/1829.0e821c64.chunk.js create mode 100644 portal-ui/build/static/js/1829.0e821c64.chunk.js.map delete mode 100644 portal-ui/build/static/js/1829.11d4b426.chunk.js delete mode 100644 portal-ui/build/static/js/1829.11d4b426.chunk.js.map delete mode 100644 portal-ui/build/static/js/222.7f3906bd.chunk.js delete mode 100644 portal-ui/build/static/js/222.7f3906bd.chunk.js.map create mode 100644 portal-ui/build/static/js/225.a62217d0.chunk.js create mode 100644 portal-ui/build/static/js/225.a62217d0.chunk.js.map delete mode 100644 portal-ui/build/static/js/2260.c0246fc5.chunk.js delete mode 100644 portal-ui/build/static/js/2260.c0246fc5.chunk.js.map create mode 100644 portal-ui/build/static/js/2603.19110315.chunk.js create mode 100644 portal-ui/build/static/js/2603.19110315.chunk.js.map delete mode 100644 portal-ui/build/static/js/2603.500676d6.chunk.js delete mode 100644 portal-ui/build/static/js/2603.500676d6.chunk.js.map rename portal-ui/build/static/js/{2661.f8e2dfa6.chunk.js => 2661.7ae2f0e2.chunk.js} (97%) rename portal-ui/build/static/js/{2661.f8e2dfa6.chunk.js.map => 2661.7ae2f0e2.chunk.js.map} (99%) create mode 100644 portal-ui/build/static/js/2983.24d52eba.chunk.js create mode 100644 portal-ui/build/static/js/2983.24d52eba.chunk.js.map delete mode 100644 portal-ui/build/static/js/2983.3ffd4ad8.chunk.js delete mode 100644 portal-ui/build/static/js/2983.3ffd4ad8.chunk.js.map delete mode 100644 portal-ui/build/static/js/3067.10ab217f.chunk.js delete mode 100644 portal-ui/build/static/js/3067.10ab217f.chunk.js.map create mode 100644 portal-ui/build/static/js/3067.56476c2f.chunk.js create mode 100644 portal-ui/build/static/js/3067.56476c2f.chunk.js.map rename portal-ui/build/static/js/{3115.3b6b6959.chunk.js => 3115.f9b2e7fc.chunk.js} (81%) rename portal-ui/build/static/js/{3115.3b6b6959.chunk.js.map => 3115.f9b2e7fc.chunk.js.map} (98%) create mode 100644 portal-ui/build/static/js/3203.d42c8f43.chunk.js create mode 100644 portal-ui/build/static/js/3203.d42c8f43.chunk.js.map create mode 100644 portal-ui/build/static/js/3554.597b92f6.chunk.js create mode 100644 portal-ui/build/static/js/3554.597b92f6.chunk.js.map create mode 100644 portal-ui/build/static/js/3989.d6c1eb51.chunk.js create mode 100644 portal-ui/build/static/js/3989.d6c1eb51.chunk.js.map delete mode 100644 portal-ui/build/static/js/402.75cd5b25.chunk.js delete mode 100644 portal-ui/build/static/js/402.75cd5b25.chunk.js.map create mode 100644 portal-ui/build/static/js/402.b31b43fa.chunk.js create mode 100644 portal-ui/build/static/js/402.b31b43fa.chunk.js.map rename portal-ui/build/static/js/{4335.16fc17e3.chunk.js => 4335.1ddacb73.chunk.js} (99%) rename portal-ui/build/static/js/{4335.16fc17e3.chunk.js.map => 4335.1ddacb73.chunk.js.map} (85%) delete mode 100644 portal-ui/build/static/js/483.31c46d8b.chunk.js delete mode 100644 portal-ui/build/static/js/483.31c46d8b.chunk.js.map create mode 100644 portal-ui/build/static/js/483.f00aef93.chunk.js create mode 100644 portal-ui/build/static/js/483.f00aef93.chunk.js.map create mode 100644 portal-ui/build/static/js/4884.a13f2bb5.chunk.js create mode 100644 portal-ui/build/static/js/4884.a13f2bb5.chunk.js.map delete mode 100644 portal-ui/build/static/js/5004.594e3211.chunk.js delete mode 100644 portal-ui/build/static/js/5004.594e3211.chunk.js.map create mode 100644 portal-ui/build/static/js/5088.8ed4fd39.chunk.js create mode 100644 portal-ui/build/static/js/5088.8ed4fd39.chunk.js.map delete mode 100644 portal-ui/build/static/js/5088.a07c0273.chunk.js delete mode 100644 portal-ui/build/static/js/5088.a07c0273.chunk.js.map create mode 100644 portal-ui/build/static/js/5442.657ff257.chunk.js create mode 100644 portal-ui/build/static/js/5442.657ff257.chunk.js.map create mode 100644 portal-ui/build/static/js/5473.5690bac9.chunk.js create mode 100644 portal-ui/build/static/js/5473.5690bac9.chunk.js.map delete mode 100644 portal-ui/build/static/js/5473.bbfe723a.chunk.js delete mode 100644 portal-ui/build/static/js/5473.bbfe723a.chunk.js.map create mode 100644 portal-ui/build/static/js/5515.a73ad9ea.chunk.js create mode 100644 portal-ui/build/static/js/5515.a73ad9ea.chunk.js.map delete mode 100644 portal-ui/build/static/js/5661.8e7899d0.chunk.js delete mode 100644 portal-ui/build/static/js/5661.8e7899d0.chunk.js.map delete mode 100644 portal-ui/build/static/js/5702.084d8254.chunk.js create mode 100644 portal-ui/build/static/js/5702.6a08188b.chunk.js rename portal-ui/build/static/js/{5702.084d8254.chunk.js.map => 5702.6a08188b.chunk.js.map} (98%) delete mode 100644 portal-ui/build/static/js/5707.f0758fd6.chunk.js delete mode 100644 portal-ui/build/static/js/5707.f0758fd6.chunk.js.map create mode 100644 portal-ui/build/static/js/5739.ccea8dc9.chunk.js create mode 100644 portal-ui/build/static/js/5739.ccea8dc9.chunk.js.map delete mode 100644 portal-ui/build/static/js/5904.c1d4d6b7.chunk.js delete mode 100644 portal-ui/build/static/js/5904.c1d4d6b7.chunk.js.map create mode 100644 portal-ui/build/static/js/5962.5aaa4901.chunk.js create mode 100644 portal-ui/build/static/js/5962.5aaa4901.chunk.js.map delete mode 100644 portal-ui/build/static/js/5962.812f802a.chunk.js delete mode 100644 portal-ui/build/static/js/5962.812f802a.chunk.js.map delete mode 100644 portal-ui/build/static/js/5980.5142636f.chunk.js delete mode 100644 portal-ui/build/static/js/5980.5142636f.chunk.js.map create mode 100644 portal-ui/build/static/js/5994.6d90bd33.chunk.js create mode 100644 portal-ui/build/static/js/5994.6d90bd33.chunk.js.map delete mode 100644 portal-ui/build/static/js/5994.f7b13106.chunk.js delete mode 100644 portal-ui/build/static/js/5994.f7b13106.chunk.js.map create mode 100644 portal-ui/build/static/js/601.0071eb88.chunk.js create mode 100644 portal-ui/build/static/js/601.0071eb88.chunk.js.map create mode 100644 portal-ui/build/static/js/6171.621123fe.chunk.js create mode 100644 portal-ui/build/static/js/6171.621123fe.chunk.js.map delete mode 100644 portal-ui/build/static/js/6272.074b2c08.chunk.js create mode 100644 portal-ui/build/static/js/6272.3c9cfd32.chunk.js rename portal-ui/build/static/js/{6272.074b2c08.chunk.js.map => 6272.3c9cfd32.chunk.js.map} (99%) delete mode 100644 portal-ui/build/static/js/6363.b2794ff5.chunk.js delete mode 100644 portal-ui/build/static/js/6363.b2794ff5.chunk.js.map delete mode 100644 portal-ui/build/static/js/6459.b16c70ac.chunk.js delete mode 100644 portal-ui/build/static/js/6459.b16c70ac.chunk.js.map delete mode 100644 portal-ui/build/static/js/6491.cb4af026.chunk.js delete mode 100644 portal-ui/build/static/js/6491.cb4af026.chunk.js.map create mode 100644 portal-ui/build/static/js/6491.de57d3e6.chunk.js create mode 100644 portal-ui/build/static/js/6491.de57d3e6.chunk.js.map delete mode 100644 portal-ui/build/static/js/6577.a8d6a01c.chunk.js create mode 100644 portal-ui/build/static/js/6577.d4559543.chunk.js rename portal-ui/build/static/js/{6577.a8d6a01c.chunk.js.map => 6577.d4559543.chunk.js.map} (99%) create mode 100644 portal-ui/build/static/js/6624.237b6430.chunk.js create mode 100644 portal-ui/build/static/js/6624.237b6430.chunk.js.map delete mode 100644 portal-ui/build/static/js/6624.695e9bbd.chunk.js delete mode 100644 portal-ui/build/static/js/6624.695e9bbd.chunk.js.map create mode 100644 portal-ui/build/static/js/6895.26443f5f.chunk.js rename portal-ui/build/static/js/{6895.66971403.chunk.js.map => 6895.26443f5f.chunk.js.map} (99%) delete mode 100644 portal-ui/build/static/js/6895.66971403.chunk.js delete mode 100644 portal-ui/build/static/js/6975.18f2c3f9.chunk.js delete mode 100644 portal-ui/build/static/js/6975.18f2c3f9.chunk.js.map create mode 100644 portal-ui/build/static/js/738.eed2fa45.chunk.js create mode 100644 portal-ui/build/static/js/738.eed2fa45.chunk.js.map create mode 100644 portal-ui/build/static/js/7564.37011454.chunk.js create mode 100644 portal-ui/build/static/js/7564.37011454.chunk.js.map create mode 100644 portal-ui/build/static/js/7847.234cbf0e.chunk.js create mode 100644 portal-ui/build/static/js/7847.234cbf0e.chunk.js.map delete mode 100644 portal-ui/build/static/js/7847.d7a7fbd9.chunk.js delete mode 100644 portal-ui/build/static/js/7847.d7a7fbd9.chunk.js.map delete mode 100644 portal-ui/build/static/js/808.045ec154.chunk.js create mode 100644 portal-ui/build/static/js/808.0827cf07.chunk.js rename portal-ui/build/static/js/{808.045ec154.chunk.js.map => 808.0827cf07.chunk.js.map} (99%) create mode 100644 portal-ui/build/static/js/8098.86babd6f.chunk.js rename portal-ui/build/static/js/{9444.da7eb5e5.chunk.js.LICENSE.txt => 8098.86babd6f.chunk.js.LICENSE.txt} (100%) create mode 100644 portal-ui/build/static/js/8098.86babd6f.chunk.js.map create mode 100644 portal-ui/build/static/js/841.31434f9c.chunk.js create mode 100644 portal-ui/build/static/js/841.31434f9c.chunk.js.map delete mode 100644 portal-ui/build/static/js/841.e190e240.chunk.js delete mode 100644 portal-ui/build/static/js/841.e190e240.chunk.js.map rename portal-ui/build/static/js/{8831.c7482be4.chunk.js => 8831.4150b126.chunk.js} (99%) create mode 100644 portal-ui/build/static/js/8831.4150b126.chunk.js.map delete mode 100644 portal-ui/build/static/js/8831.c7482be4.chunk.js.map create mode 100644 portal-ui/build/static/js/8833.27a34b4e.chunk.js create mode 100644 portal-ui/build/static/js/8833.27a34b4e.chunk.js.map delete mode 100644 portal-ui/build/static/js/8833.9ede4350.chunk.js delete mode 100644 portal-ui/build/static/js/8833.9ede4350.chunk.js.map delete mode 100644 portal-ui/build/static/js/8941.a8683f5c.chunk.js delete mode 100644 portal-ui/build/static/js/8941.a8683f5c.chunk.js.map create mode 100644 portal-ui/build/static/js/9062.9dba9f0e.chunk.js create mode 100644 portal-ui/build/static/js/9062.9dba9f0e.chunk.js.map delete mode 100644 portal-ui/build/static/js/91.e520a97c.chunk.js delete mode 100644 portal-ui/build/static/js/91.e520a97c.chunk.js.map delete mode 100644 portal-ui/build/static/js/9390.564ed238.chunk.js delete mode 100644 portal-ui/build/static/js/9390.564ed238.chunk.js.map create mode 100644 portal-ui/build/static/js/9390.ea2a39c3.chunk.js create mode 100644 portal-ui/build/static/js/9390.ea2a39c3.chunk.js.map delete mode 100644 portal-ui/build/static/js/9444.da7eb5e5.chunk.js delete mode 100644 portal-ui/build/static/js/9444.da7eb5e5.chunk.js.map delete mode 100644 portal-ui/build/static/js/9518.2593e387.chunk.js.map rename portal-ui/build/static/js/{9518.2593e387.chunk.js => 9518.d8f8ed8b.chunk.js} (98%) rename portal-ui/build/static/js/{9518.2593e387.chunk.js.LICENSE.txt => 9518.d8f8ed8b.chunk.js.LICENSE.txt} (100%) create mode 100644 portal-ui/build/static/js/9518.d8f8ed8b.chunk.js.map create mode 100644 portal-ui/build/static/js/977.7dc10141.chunk.js create mode 100644 portal-ui/build/static/js/977.7dc10141.chunk.js.map delete mode 100644 portal-ui/build/static/js/977.90d83636.chunk.js delete mode 100644 portal-ui/build/static/js/977.90d83636.chunk.js.map create mode 100644 portal-ui/build/static/js/9897.6cbb5c3f.chunk.js create mode 100644 portal-ui/build/static/js/9897.6cbb5c3f.chunk.js.map delete mode 100644 portal-ui/build/static/js/main.6166ac41.js delete mode 100644 portal-ui/build/static/js/main.6166ac41.js.map create mode 100644 portal-ui/build/static/js/main.72f8505e.js rename portal-ui/build/static/js/{main.6166ac41.js.LICENSE.txt => main.72f8505e.js.LICENSE.txt} (100%) create mode 100644 portal-ui/build/static/js/main.72f8505e.js.map diff --git a/go.mod b/go.mod index 497ffb774..f488aca9f 100644 --- a/go.mod +++ b/go.mod @@ -42,6 +42,8 @@ require ( gopkg.in/yaml.v2 v2.4.0 // indirect ) +require github.com/mattn/go-ieproxy v0.0.1 + require ( aead.dev/mem v0.2.0 // indirect aead.dev/minisign v0.2.0 // indirect @@ -89,7 +91,6 @@ require ( github.com/lufia/plan9stats v0.0.0-20230326075908-cb1d2100619a // indirect github.com/mailru/easyjson v0.7.7 // indirect github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-ieproxy v0.0.1 // indirect github.com/mattn/go-isatty v0.0.18 // indirect github.com/mattn/go-localereader v0.0.1 // indirect github.com/mattn/go-runewidth v0.0.14 // indirect diff --git a/portal-ui/build/asset-manifest.json b/portal-ui/build/asset-manifest.json index 0ac187122..041390158 100644 --- a/portal-ui/build/asset-manifest.json +++ b/portal-ui/build/asset-manifest.json @@ -1,25 +1,25 @@ { "files": { - "main.css": "./static/css/main.7f39beab.css", - "main.js": "./static/js/main.6166ac41.js", + "main.css": "./static/css/main.02c1b6fd.css", + "main.js": "./static/js/main.72f8505e.js", "static/js/1260.a025e586.chunk.js": "./static/js/1260.a025e586.chunk.js", "static/js/6914.9ab32297.chunk.js": "./static/js/6914.9ab32297.chunk.js", "static/js/9121.0c08c03c.chunk.js": "./static/js/9121.0c08c03c.chunk.js", - "static/js/1829.11d4b426.chunk.js": "./static/js/1829.11d4b426.chunk.js", - "static/js/6272.074b2c08.chunk.js": "./static/js/6272.074b2c08.chunk.js", - "static/js/5088.a07c0273.chunk.js": "./static/js/5088.a07c0273.chunk.js", + "static/js/1829.0e821c64.chunk.js": "./static/js/1829.0e821c64.chunk.js", + "static/js/6272.3c9cfd32.chunk.js": "./static/js/6272.3c9cfd32.chunk.js", + "static/js/5088.8ed4fd39.chunk.js": "./static/js/5088.8ed4fd39.chunk.js", "static/js/6122.8195a695.chunk.js": "./static/js/6122.8195a695.chunk.js", - "static/js/808.045ec154.chunk.js": "./static/js/808.045ec154.chunk.js", + "static/js/808.0827cf07.chunk.js": "./static/js/808.0827cf07.chunk.js", "static/js/8060.060ad94e.chunk.js": "./static/js/8060.060ad94e.chunk.js", "static/js/9635.de2db92c.chunk.js": "./static/js/9635.de2db92c.chunk.js", "static/js/2338.f2a282fa.chunk.js": "./static/js/2338.f2a282fa.chunk.js", - "static/js/4335.16fc17e3.chunk.js": "./static/js/4335.16fc17e3.chunk.js", - "static/js/9390.564ed238.chunk.js": "./static/js/9390.564ed238.chunk.js", + "static/js/4335.1ddacb73.chunk.js": "./static/js/4335.1ddacb73.chunk.js", + "static/js/9390.ea2a39c3.chunk.js": "./static/js/9390.ea2a39c3.chunk.js", "static/js/3543.be1d6ea8.chunk.js": "./static/js/3543.be1d6ea8.chunk.js", "static/js/2074.7e79443f.chunk.js": "./static/js/2074.7e79443f.chunk.js", - "static/js/3067.10ab217f.chunk.js": "./static/js/3067.10ab217f.chunk.js", + "static/js/3067.56476c2f.chunk.js": "./static/js/3067.56476c2f.chunk.js", "static/js/2637.be6faba9.chunk.js": "./static/js/2637.be6faba9.chunk.js", - "static/js/5962.812f802a.chunk.js": "./static/js/5962.812f802a.chunk.js", + "static/js/5962.5aaa4901.chunk.js": "./static/js/5962.5aaa4901.chunk.js", "static/js/701.13e798d1.chunk.js": "./static/js/701.13e798d1.chunk.js", "static/js/7821.12244c04.chunk.js": "./static/js/7821.12244c04.chunk.js", "static/js/2545.ffac2fbb.chunk.js": "./static/js/2545.ffac2fbb.chunk.js", @@ -30,27 +30,27 @@ "static/js/191.fd21cdcc.chunk.js": "./static/js/191.fd21cdcc.chunk.js", "static/js/1329.79996c21.chunk.js": "./static/js/1329.79996c21.chunk.js", "static/js/7614.ec6383d7.chunk.js": "./static/js/7614.ec6383d7.chunk.js", - "static/js/1690.f30e8f7f.chunk.js": "./static/js/1690.f30e8f7f.chunk.js", - "static/js/6491.cb4af026.chunk.js": "./static/js/6491.cb4af026.chunk.js", + "static/js/1690.fa631de9.chunk.js": "./static/js/1690.fa631de9.chunk.js", + "static/js/6491.de57d3e6.chunk.js": "./static/js/6491.de57d3e6.chunk.js", "static/js/4902.ded1f1f5.chunk.js": "./static/js/4902.ded1f1f5.chunk.js", - "static/js/841.e190e240.chunk.js": "./static/js/841.e190e240.chunk.js", + "static/js/841.31434f9c.chunk.js": "./static/js/841.31434f9c.chunk.js", "static/js/3171.5a1ef12c.chunk.js": "./static/js/3171.5a1ef12c.chunk.js", "static/js/8360.965868c4.chunk.js": "./static/js/8360.965868c4.chunk.js", - "static/js/6577.a8d6a01c.chunk.js": "./static/js/6577.a8d6a01c.chunk.js", + "static/js/6577.d4559543.chunk.js": "./static/js/6577.d4559543.chunk.js", "static/js/3875.b530d1e3.chunk.js": "./static/js/3875.b530d1e3.chunk.js", - "static/js/3115.3b6b6959.chunk.js": "./static/js/3115.3b6b6959.chunk.js", - "static/js/2603.500676d6.chunk.js": "./static/js/2603.500676d6.chunk.js", - "static/js/977.90d83636.chunk.js": "./static/js/977.90d83636.chunk.js", + "static/js/3115.f9b2e7fc.chunk.js": "./static/js/3115.f9b2e7fc.chunk.js", + "static/js/2603.19110315.chunk.js": "./static/js/2603.19110315.chunk.js", + "static/js/977.7dc10141.chunk.js": "./static/js/977.7dc10141.chunk.js", "static/js/6686.0c756aaf.chunk.js": "./static/js/6686.0c756aaf.chunk.js", "static/js/6158.62f2536c.chunk.js": "./static/js/6158.62f2536c.chunk.js", - "static/js/4882.9c5a4b90.chunk.js": "./static/js/4882.9c5a4b90.chunk.js", + "static/js/738.eed2fa45.chunk.js": "./static/js/738.eed2fa45.chunk.js", "static/js/8305.b35690ca.chunk.js": "./static/js/8305.b35690ca.chunk.js", "static/js/4414.930d89fc.chunk.js": "./static/js/4414.930d89fc.chunk.js", - "static/js/8833.9ede4350.chunk.js": "./static/js/8833.9ede4350.chunk.js", - "static/js/1516.b3513b8c.chunk.js": "./static/js/1516.b3513b8c.chunk.js", - "static/js/483.31c46d8b.chunk.js": "./static/js/483.31c46d8b.chunk.js", + "static/js/8833.27a34b4e.chunk.js": "./static/js/8833.27a34b4e.chunk.js", + "static/js/1516.67512c50.chunk.js": "./static/js/1516.67512c50.chunk.js", + "static/js/483.f00aef93.chunk.js": "./static/js/483.f00aef93.chunk.js", "static/js/8045.40b15543.chunk.js": "./static/js/8045.40b15543.chunk.js", - "static/js/6895.66971403.chunk.js": "./static/js/6895.66971403.chunk.js", + "static/js/6895.26443f5f.chunk.js": "./static/js/6895.26443f5f.chunk.js", "static/js/4874.157a2b95.chunk.js": "./static/js/4874.157a2b95.chunk.js", "static/js/1191.6a8f1e3d.chunk.js": "./static/js/1191.6a8f1e3d.chunk.js", "static/js/3956.27299d66.chunk.js": "./static/js/3956.27299d66.chunk.js", @@ -58,7 +58,7 @@ "static/js/8896.ef691d94.chunk.js": "./static/js/8896.ef691d94.chunk.js", "static/js/9134.a8ccdcdb.chunk.js": "./static/js/9134.a8ccdcdb.chunk.js", "static/js/5223.d053b523.chunk.js": "./static/js/5223.d053b523.chunk.js", - "static/js/5661.8e7899d0.chunk.js": "./static/js/5661.8e7899d0.chunk.js", + "static/js/6171.621123fe.chunk.js": "./static/js/6171.621123fe.chunk.js", "static/js/7134.5516568a.chunk.js": "./static/js/7134.5516568a.chunk.js", "static/js/3034.18978581.chunk.js": "./static/js/3034.18978581.chunk.js", "static/js/3138.36694643.chunk.js": "./static/js/3138.36694643.chunk.js", @@ -68,8 +68,8 @@ "static/js/9968.741ebf65.chunk.js": "./static/js/9968.741ebf65.chunk.js", "static/js/7494.bad4da61.chunk.js": "./static/js/7494.bad4da61.chunk.js", "static/js/4738.0bbac05c.chunk.js": "./static/js/4738.0bbac05c.chunk.js", - "static/js/5707.f0758fd6.chunk.js": "./static/js/5707.f0758fd6.chunk.js", - "static/js/5702.084d8254.chunk.js": "./static/js/5702.084d8254.chunk.js", + "static/js/3989.d6c1eb51.chunk.js": "./static/js/3989.d6c1eb51.chunk.js", + "static/js/5702.6a08188b.chunk.js": "./static/js/5702.6a08188b.chunk.js", "static/js/5759.47541c57.chunk.js": "./static/js/5759.47541c57.chunk.js", "static/js/51.8430c021.chunk.js": "./static/js/51.8430c021.chunk.js", "static/js/312.04cab7e8.chunk.js": "./static/js/312.04cab7e8.chunk.js", @@ -80,42 +80,44 @@ "static/js/3690.b6d7d3b6.chunk.js": "./static/js/3690.b6d7d3b6.chunk.js", "static/js/1604.2dfa540d.chunk.js": "./static/js/1604.2dfa540d.chunk.js", "static/js/9952.e9660829.chunk.js": "./static/js/9952.e9660829.chunk.js", - "static/js/402.75cd5b25.chunk.js": "./static/js/402.75cd5b25.chunk.js", + "static/js/402.b31b43fa.chunk.js": "./static/js/402.b31b43fa.chunk.js", "static/js/1705.a54c5659.chunk.js": "./static/js/1705.a54c5659.chunk.js", "static/js/1581.a911ee27.chunk.js": "./static/js/1581.a911ee27.chunk.js", "static/js/455.3198900d.chunk.js": "./static/js/455.3198900d.chunk.js", - "static/js/2661.f8e2dfa6.chunk.js": "./static/js/2661.f8e2dfa6.chunk.js", + "static/js/2661.7ae2f0e2.chunk.js": "./static/js/2661.7ae2f0e2.chunk.js", "static/js/3509.f3bae3cd.chunk.js": "./static/js/3509.f3bae3cd.chunk.js", "static/js/889.c7eff573.chunk.js": "./static/js/889.c7eff573.chunk.js", "static/js/9088.9dd285c2.chunk.js": "./static/js/9088.9dd285c2.chunk.js", "static/js/247.2a7f8e21.chunk.js": "./static/js/247.2a7f8e21.chunk.js", "static/js/2763.8a8f4e01.chunk.js": "./static/js/2763.8a8f4e01.chunk.js", - "static/js/5473.bbfe723a.chunk.js": "./static/js/5473.bbfe723a.chunk.js", + "static/js/5473.5690bac9.chunk.js": "./static/js/5473.5690bac9.chunk.js", "static/js/1715.b85c256f.chunk.js": "./static/js/1715.b85c256f.chunk.js", - "static/js/5994.f7b13106.chunk.js": "./static/js/5994.f7b13106.chunk.js", + "static/js/5994.6d90bd33.chunk.js": "./static/js/5994.6d90bd33.chunk.js", "static/js/7391.c53687b2.chunk.js": "./static/js/7391.c53687b2.chunk.js", - "static/js/9518.2593e387.chunk.js": "./static/js/9518.2593e387.chunk.js", - "static/js/5004.594e3211.chunk.js": "./static/js/5004.594e3211.chunk.js", - "static/js/222.7f3906bd.chunk.js": "./static/js/222.7f3906bd.chunk.js", - "static/js/7847.d7a7fbd9.chunk.js": "./static/js/7847.d7a7fbd9.chunk.js", - "static/js/6363.b2794ff5.chunk.js": "./static/js/6363.b2794ff5.chunk.js", - "static/js/8941.a8683f5c.chunk.js": "./static/js/8941.a8683f5c.chunk.js", - "static/js/2260.c0246fc5.chunk.js": "./static/js/2260.c0246fc5.chunk.js", - "static/js/6459.b16c70ac.chunk.js": "./static/js/6459.b16c70ac.chunk.js", - "static/js/3801.e125737d.chunk.js": "./static/js/3801.e125737d.chunk.js", + "static/js/7564.37011454.chunk.js": "./static/js/7564.37011454.chunk.js", + "static/js/9518.d8f8ed8b.chunk.js": "./static/js/9518.d8f8ed8b.chunk.js", + "static/js/7847.234cbf0e.chunk.js": "./static/js/7847.234cbf0e.chunk.js", + "static/js/225.a62217d0.chunk.js": "./static/js/225.a62217d0.chunk.js", + "static/js/9897.6cbb5c3f.chunk.js": "./static/js/9897.6cbb5c3f.chunk.js", + "static/js/601.0071eb88.chunk.js": "./static/js/601.0071eb88.chunk.js", + "static/js/5739.ccea8dc9.chunk.js": "./static/js/5739.ccea8dc9.chunk.js", + "static/js/4884.a13f2bb5.chunk.js": "./static/js/4884.a13f2bb5.chunk.js", + "static/js/4882.9c5a4b90.chunk.js": "./static/js/4882.9c5a4b90.chunk.js", "static/js/134.117c7fbe.chunk.js": "./static/js/134.117c7fbe.chunk.js", - "static/js/5980.5142636f.chunk.js": "./static/js/5980.5142636f.chunk.js", - "static/js/6975.18f2c3f9.chunk.js": "./static/js/6975.18f2c3f9.chunk.js", - "static/js/9444.da7eb5e5.chunk.js": "./static/js/9444.da7eb5e5.chunk.js", - "static/js/6624.695e9bbd.chunk.js": "./static/js/6624.695e9bbd.chunk.js", + "static/js/3801.e125737d.chunk.js": "./static/js/3801.e125737d.chunk.js", + "static/js/5515.a73ad9ea.chunk.js": "./static/js/5515.a73ad9ea.chunk.js", + "static/js/9062.9dba9f0e.chunk.js": "./static/js/9062.9dba9f0e.chunk.js", + "static/js/6624.237b6430.chunk.js": "./static/js/6624.237b6430.chunk.js", + "static/js/8098.86babd6f.chunk.js": "./static/js/8098.86babd6f.chunk.js", "static/js/2791.a64fa77e.chunk.js": "./static/js/2791.a64fa77e.chunk.js", "static/js/7981.b08cd322.chunk.js": "./static/js/7981.b08cd322.chunk.js", "static/js/9581.35e0c780.chunk.js": "./static/js/9581.35e0c780.chunk.js", "static/js/9817.d6ea67be.chunk.js": "./static/js/9817.d6ea67be.chunk.js", - "static/js/8831.c7482be4.chunk.js": "./static/js/8831.c7482be4.chunk.js", - "static/js/5904.c1d4d6b7.chunk.js": "./static/js/5904.c1d4d6b7.chunk.js", - "static/js/2983.3ffd4ad8.chunk.js": "./static/js/2983.3ffd4ad8.chunk.js", - "static/js/91.e520a97c.chunk.js": "./static/js/91.e520a97c.chunk.js", + "static/js/8831.4150b126.chunk.js": "./static/js/8831.4150b126.chunk.js", + "static/js/3203.d42c8f43.chunk.js": "./static/js/3203.d42c8f43.chunk.js", + "static/js/5442.657ff257.chunk.js": "./static/js/5442.657ff257.chunk.js", + "static/js/3554.597b92f6.chunk.js": "./static/js/3554.597b92f6.chunk.js", + "static/js/2983.24d52eba.chunk.js": "./static/js/2983.24d52eba.chunk.js", "static/js/8308.24f46a88.chunk.js": "./static/js/8308.24f46a88.chunk.js", "static/media/videoBG.mp4": "./static/media/videoBG.17363418b3c2246a0e27.mp4", "static/media/loginAnimationPoster.png": "./static/media/loginAnimationPoster.9aa924bfe619e71d5d29.png", @@ -139,26 +141,26 @@ "static/media/Inter-Regular.woff2": "./static/media/Inter-Regular.c8ba52b05a9ef10f4758.woff2", "static/media/placeholderimage.png": "./static/media/placeholderimage.077ea48bd1ef1f4a883f.png", "index.html": "./index.html", - "main.7f39beab.css.map": "./static/css/main.7f39beab.css.map", - "main.6166ac41.js.map": "./static/js/main.6166ac41.js.map", + "main.02c1b6fd.css.map": "./static/css/main.02c1b6fd.css.map", + "main.72f8505e.js.map": "./static/js/main.72f8505e.js.map", "1260.a025e586.chunk.js.map": "./static/js/1260.a025e586.chunk.js.map", "6914.9ab32297.chunk.js.map": "./static/js/6914.9ab32297.chunk.js.map", "9121.0c08c03c.chunk.js.map": "./static/js/9121.0c08c03c.chunk.js.map", - "1829.11d4b426.chunk.js.map": "./static/js/1829.11d4b426.chunk.js.map", - "6272.074b2c08.chunk.js.map": "./static/js/6272.074b2c08.chunk.js.map", - "5088.a07c0273.chunk.js.map": "./static/js/5088.a07c0273.chunk.js.map", + "1829.0e821c64.chunk.js.map": "./static/js/1829.0e821c64.chunk.js.map", + "6272.3c9cfd32.chunk.js.map": "./static/js/6272.3c9cfd32.chunk.js.map", + "5088.8ed4fd39.chunk.js.map": "./static/js/5088.8ed4fd39.chunk.js.map", "6122.8195a695.chunk.js.map": "./static/js/6122.8195a695.chunk.js.map", - "808.045ec154.chunk.js.map": "./static/js/808.045ec154.chunk.js.map", + "808.0827cf07.chunk.js.map": "./static/js/808.0827cf07.chunk.js.map", "8060.060ad94e.chunk.js.map": "./static/js/8060.060ad94e.chunk.js.map", "9635.de2db92c.chunk.js.map": "./static/js/9635.de2db92c.chunk.js.map", "2338.f2a282fa.chunk.js.map": "./static/js/2338.f2a282fa.chunk.js.map", - "4335.16fc17e3.chunk.js.map": "./static/js/4335.16fc17e3.chunk.js.map", - "9390.564ed238.chunk.js.map": "./static/js/9390.564ed238.chunk.js.map", + "4335.1ddacb73.chunk.js.map": "./static/js/4335.1ddacb73.chunk.js.map", + "9390.ea2a39c3.chunk.js.map": "./static/js/9390.ea2a39c3.chunk.js.map", "3543.be1d6ea8.chunk.js.map": "./static/js/3543.be1d6ea8.chunk.js.map", "2074.7e79443f.chunk.js.map": "./static/js/2074.7e79443f.chunk.js.map", - "3067.10ab217f.chunk.js.map": "./static/js/3067.10ab217f.chunk.js.map", + "3067.56476c2f.chunk.js.map": "./static/js/3067.56476c2f.chunk.js.map", "2637.be6faba9.chunk.js.map": "./static/js/2637.be6faba9.chunk.js.map", - "5962.812f802a.chunk.js.map": "./static/js/5962.812f802a.chunk.js.map", + "5962.5aaa4901.chunk.js.map": "./static/js/5962.5aaa4901.chunk.js.map", "701.13e798d1.chunk.js.map": "./static/js/701.13e798d1.chunk.js.map", "7821.12244c04.chunk.js.map": "./static/js/7821.12244c04.chunk.js.map", "2545.ffac2fbb.chunk.js.map": "./static/js/2545.ffac2fbb.chunk.js.map", @@ -169,27 +171,27 @@ "191.fd21cdcc.chunk.js.map": "./static/js/191.fd21cdcc.chunk.js.map", "1329.79996c21.chunk.js.map": "./static/js/1329.79996c21.chunk.js.map", "7614.ec6383d7.chunk.js.map": "./static/js/7614.ec6383d7.chunk.js.map", - "1690.f30e8f7f.chunk.js.map": "./static/js/1690.f30e8f7f.chunk.js.map", - "6491.cb4af026.chunk.js.map": "./static/js/6491.cb4af026.chunk.js.map", + "1690.fa631de9.chunk.js.map": "./static/js/1690.fa631de9.chunk.js.map", + "6491.de57d3e6.chunk.js.map": "./static/js/6491.de57d3e6.chunk.js.map", "4902.ded1f1f5.chunk.js.map": "./static/js/4902.ded1f1f5.chunk.js.map", - "841.e190e240.chunk.js.map": "./static/js/841.e190e240.chunk.js.map", + "841.31434f9c.chunk.js.map": "./static/js/841.31434f9c.chunk.js.map", "3171.5a1ef12c.chunk.js.map": "./static/js/3171.5a1ef12c.chunk.js.map", "8360.965868c4.chunk.js.map": "./static/js/8360.965868c4.chunk.js.map", - "6577.a8d6a01c.chunk.js.map": "./static/js/6577.a8d6a01c.chunk.js.map", + "6577.d4559543.chunk.js.map": "./static/js/6577.d4559543.chunk.js.map", "3875.b530d1e3.chunk.js.map": "./static/js/3875.b530d1e3.chunk.js.map", - "3115.3b6b6959.chunk.js.map": "./static/js/3115.3b6b6959.chunk.js.map", - "2603.500676d6.chunk.js.map": "./static/js/2603.500676d6.chunk.js.map", - "977.90d83636.chunk.js.map": "./static/js/977.90d83636.chunk.js.map", + "3115.f9b2e7fc.chunk.js.map": "./static/js/3115.f9b2e7fc.chunk.js.map", + "2603.19110315.chunk.js.map": "./static/js/2603.19110315.chunk.js.map", + "977.7dc10141.chunk.js.map": "./static/js/977.7dc10141.chunk.js.map", "6686.0c756aaf.chunk.js.map": "./static/js/6686.0c756aaf.chunk.js.map", "6158.62f2536c.chunk.js.map": "./static/js/6158.62f2536c.chunk.js.map", - "4882.9c5a4b90.chunk.js.map": "./static/js/4882.9c5a4b90.chunk.js.map", + "738.eed2fa45.chunk.js.map": "./static/js/738.eed2fa45.chunk.js.map", "8305.b35690ca.chunk.js.map": "./static/js/8305.b35690ca.chunk.js.map", "4414.930d89fc.chunk.js.map": "./static/js/4414.930d89fc.chunk.js.map", - "8833.9ede4350.chunk.js.map": "./static/js/8833.9ede4350.chunk.js.map", - "1516.b3513b8c.chunk.js.map": "./static/js/1516.b3513b8c.chunk.js.map", - "483.31c46d8b.chunk.js.map": "./static/js/483.31c46d8b.chunk.js.map", + "8833.27a34b4e.chunk.js.map": "./static/js/8833.27a34b4e.chunk.js.map", + "1516.67512c50.chunk.js.map": "./static/js/1516.67512c50.chunk.js.map", + "483.f00aef93.chunk.js.map": "./static/js/483.f00aef93.chunk.js.map", "8045.40b15543.chunk.js.map": "./static/js/8045.40b15543.chunk.js.map", - "6895.66971403.chunk.js.map": "./static/js/6895.66971403.chunk.js.map", + "6895.26443f5f.chunk.js.map": "./static/js/6895.26443f5f.chunk.js.map", "4874.157a2b95.chunk.js.map": "./static/js/4874.157a2b95.chunk.js.map", "1191.6a8f1e3d.chunk.js.map": "./static/js/1191.6a8f1e3d.chunk.js.map", "3956.27299d66.chunk.js.map": "./static/js/3956.27299d66.chunk.js.map", @@ -197,7 +199,7 @@ "8896.ef691d94.chunk.js.map": "./static/js/8896.ef691d94.chunk.js.map", "9134.a8ccdcdb.chunk.js.map": "./static/js/9134.a8ccdcdb.chunk.js.map", "5223.d053b523.chunk.js.map": "./static/js/5223.d053b523.chunk.js.map", - "5661.8e7899d0.chunk.js.map": "./static/js/5661.8e7899d0.chunk.js.map", + "6171.621123fe.chunk.js.map": "./static/js/6171.621123fe.chunk.js.map", "7134.5516568a.chunk.js.map": "./static/js/7134.5516568a.chunk.js.map", "3034.18978581.chunk.js.map": "./static/js/3034.18978581.chunk.js.map", "3138.36694643.chunk.js.map": "./static/js/3138.36694643.chunk.js.map", @@ -207,8 +209,8 @@ "9968.741ebf65.chunk.js.map": "./static/js/9968.741ebf65.chunk.js.map", "7494.bad4da61.chunk.js.map": "./static/js/7494.bad4da61.chunk.js.map", "4738.0bbac05c.chunk.js.map": "./static/js/4738.0bbac05c.chunk.js.map", - "5707.f0758fd6.chunk.js.map": "./static/js/5707.f0758fd6.chunk.js.map", - "5702.084d8254.chunk.js.map": "./static/js/5702.084d8254.chunk.js.map", + "3989.d6c1eb51.chunk.js.map": "./static/js/3989.d6c1eb51.chunk.js.map", + "5702.6a08188b.chunk.js.map": "./static/js/5702.6a08188b.chunk.js.map", "5759.47541c57.chunk.js.map": "./static/js/5759.47541c57.chunk.js.map", "51.8430c021.chunk.js.map": "./static/js/51.8430c021.chunk.js.map", "312.04cab7e8.chunk.js.map": "./static/js/312.04cab7e8.chunk.js.map", @@ -219,46 +221,48 @@ "3690.b6d7d3b6.chunk.js.map": "./static/js/3690.b6d7d3b6.chunk.js.map", "1604.2dfa540d.chunk.js.map": "./static/js/1604.2dfa540d.chunk.js.map", "9952.e9660829.chunk.js.map": "./static/js/9952.e9660829.chunk.js.map", - "402.75cd5b25.chunk.js.map": "./static/js/402.75cd5b25.chunk.js.map", + "402.b31b43fa.chunk.js.map": "./static/js/402.b31b43fa.chunk.js.map", "1705.a54c5659.chunk.js.map": "./static/js/1705.a54c5659.chunk.js.map", "1581.a911ee27.chunk.js.map": "./static/js/1581.a911ee27.chunk.js.map", "455.3198900d.chunk.js.map": "./static/js/455.3198900d.chunk.js.map", - "2661.f8e2dfa6.chunk.js.map": "./static/js/2661.f8e2dfa6.chunk.js.map", + "2661.7ae2f0e2.chunk.js.map": "./static/js/2661.7ae2f0e2.chunk.js.map", "3509.f3bae3cd.chunk.js.map": "./static/js/3509.f3bae3cd.chunk.js.map", "889.c7eff573.chunk.js.map": "./static/js/889.c7eff573.chunk.js.map", "9088.9dd285c2.chunk.js.map": "./static/js/9088.9dd285c2.chunk.js.map", "247.2a7f8e21.chunk.js.map": "./static/js/247.2a7f8e21.chunk.js.map", "2763.8a8f4e01.chunk.js.map": "./static/js/2763.8a8f4e01.chunk.js.map", - "5473.bbfe723a.chunk.js.map": "./static/js/5473.bbfe723a.chunk.js.map", + "5473.5690bac9.chunk.js.map": "./static/js/5473.5690bac9.chunk.js.map", "1715.b85c256f.chunk.js.map": "./static/js/1715.b85c256f.chunk.js.map", - "5994.f7b13106.chunk.js.map": "./static/js/5994.f7b13106.chunk.js.map", + "5994.6d90bd33.chunk.js.map": "./static/js/5994.6d90bd33.chunk.js.map", "7391.c53687b2.chunk.js.map": "./static/js/7391.c53687b2.chunk.js.map", - "9518.2593e387.chunk.js.map": "./static/js/9518.2593e387.chunk.js.map", - "5004.594e3211.chunk.js.map": "./static/js/5004.594e3211.chunk.js.map", - "222.7f3906bd.chunk.js.map": "./static/js/222.7f3906bd.chunk.js.map", - "7847.d7a7fbd9.chunk.js.map": "./static/js/7847.d7a7fbd9.chunk.js.map", - "6363.b2794ff5.chunk.js.map": "./static/js/6363.b2794ff5.chunk.js.map", - "8941.a8683f5c.chunk.js.map": "./static/js/8941.a8683f5c.chunk.js.map", - "2260.c0246fc5.chunk.js.map": "./static/js/2260.c0246fc5.chunk.js.map", - "6459.b16c70ac.chunk.js.map": "./static/js/6459.b16c70ac.chunk.js.map", - "3801.e125737d.chunk.js.map": "./static/js/3801.e125737d.chunk.js.map", + "7564.37011454.chunk.js.map": "./static/js/7564.37011454.chunk.js.map", + "9518.d8f8ed8b.chunk.js.map": "./static/js/9518.d8f8ed8b.chunk.js.map", + "7847.234cbf0e.chunk.js.map": "./static/js/7847.234cbf0e.chunk.js.map", + "225.a62217d0.chunk.js.map": "./static/js/225.a62217d0.chunk.js.map", + "9897.6cbb5c3f.chunk.js.map": "./static/js/9897.6cbb5c3f.chunk.js.map", + "601.0071eb88.chunk.js.map": "./static/js/601.0071eb88.chunk.js.map", + "5739.ccea8dc9.chunk.js.map": "./static/js/5739.ccea8dc9.chunk.js.map", + "4884.a13f2bb5.chunk.js.map": "./static/js/4884.a13f2bb5.chunk.js.map", + "4882.9c5a4b90.chunk.js.map": "./static/js/4882.9c5a4b90.chunk.js.map", "134.117c7fbe.chunk.js.map": "./static/js/134.117c7fbe.chunk.js.map", - "5980.5142636f.chunk.js.map": "./static/js/5980.5142636f.chunk.js.map", - "6975.18f2c3f9.chunk.js.map": "./static/js/6975.18f2c3f9.chunk.js.map", - "9444.da7eb5e5.chunk.js.map": "./static/js/9444.da7eb5e5.chunk.js.map", - "6624.695e9bbd.chunk.js.map": "./static/js/6624.695e9bbd.chunk.js.map", + "3801.e125737d.chunk.js.map": "./static/js/3801.e125737d.chunk.js.map", + "5515.a73ad9ea.chunk.js.map": "./static/js/5515.a73ad9ea.chunk.js.map", + "9062.9dba9f0e.chunk.js.map": "./static/js/9062.9dba9f0e.chunk.js.map", + "6624.237b6430.chunk.js.map": "./static/js/6624.237b6430.chunk.js.map", + "8098.86babd6f.chunk.js.map": "./static/js/8098.86babd6f.chunk.js.map", "2791.a64fa77e.chunk.js.map": "./static/js/2791.a64fa77e.chunk.js.map", "7981.b08cd322.chunk.js.map": "./static/js/7981.b08cd322.chunk.js.map", "9581.35e0c780.chunk.js.map": "./static/js/9581.35e0c780.chunk.js.map", "9817.d6ea67be.chunk.js.map": "./static/js/9817.d6ea67be.chunk.js.map", - "8831.c7482be4.chunk.js.map": "./static/js/8831.c7482be4.chunk.js.map", - "5904.c1d4d6b7.chunk.js.map": "./static/js/5904.c1d4d6b7.chunk.js.map", - "2983.3ffd4ad8.chunk.js.map": "./static/js/2983.3ffd4ad8.chunk.js.map", - "91.e520a97c.chunk.js.map": "./static/js/91.e520a97c.chunk.js.map", + "8831.4150b126.chunk.js.map": "./static/js/8831.4150b126.chunk.js.map", + "3203.d42c8f43.chunk.js.map": "./static/js/3203.d42c8f43.chunk.js.map", + "5442.657ff257.chunk.js.map": "./static/js/5442.657ff257.chunk.js.map", + "3554.597b92f6.chunk.js.map": "./static/js/3554.597b92f6.chunk.js.map", + "2983.24d52eba.chunk.js.map": "./static/js/2983.24d52eba.chunk.js.map", "8308.24f46a88.chunk.js.map": "./static/js/8308.24f46a88.chunk.js.map" }, "entrypoints": [ - "static/css/main.7f39beab.css", - "static/js/main.6166ac41.js" + "static/css/main.02c1b6fd.css", + "static/js/main.72f8505e.js" ] } \ No newline at end of file diff --git a/portal-ui/build/index.html b/portal-ui/build/index.html index ceb71dcc7..04978e9c0 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/css/main.02c1b6fd.css b/portal-ui/build/static/css/main.02c1b6fd.css new file mode 100644 index 000000000..984649675 --- /dev/null +++ b/portal-ui/build/static/css/main.02c1b6fd.css @@ -0,0 +1,2 @@ +.ReactVirtualized__Table__headerRow{font-weight:700;text-transform:uppercase}.ReactVirtualized__Table__headerRow,.ReactVirtualized__Table__row{align-items:center;display:flex;flex-direction:row}.ReactVirtualized__Table__headerTruncatedText{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ReactVirtualized__Table__headerColumn,.ReactVirtualized__Table__rowColumn{margin-right:10px;min-width:0}.ReactVirtualized__Table__rowColumn{text-overflow:ellipsis;white-space:nowrap}.ReactVirtualized__Table__headerColumn:first-of-type,.ReactVirtualized__Table__rowColumn:first-of-type{margin-left:10px}.ReactVirtualized__Table__sortableHeaderColumn{cursor:pointer}.ReactVirtualized__Table__sortableHeaderIconContainer{align-items:center;display:flex}.ReactVirtualized__Table__sortableHeaderIcon{fill:currentColor;flex:0 0 24px;height:1em;width:1em}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform}.react-grid-item.resizing{will-change:width,height;z-index:1}.react-grid-item.react-draggable-dragging{transition:none;will-change:transform;z-index:3}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;-webkit-user-select:none;-o-user-select:none;user-select:none;z-index:2}.react-grid-item>.react-resizable-handle{height:20px;position:absolute;width:20px}.react-grid-item>.react-resizable-handle:after{border-bottom:2px solid rgba(0,0,0,.4);border-right:2px solid rgba(0,0,0,.4);bottom:3px;content:"";height:5px;position:absolute;right:3px;width:5px}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;cursor:sw-resize;left:0;-webkit-transform:rotate(90deg);transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;cursor:se-resize;right:0}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{cursor:nw-resize;left:0;top:0;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{cursor:ne-resize;right:0;top:0;-webkit-transform:rotate(270deg);transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e,.react-grid-item>.react-resizable-handle.react-resizable-handle-w{cursor:ew-resize;margin-top:-10px;top:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;-webkit-transform:rotate(135deg);transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;-webkit-transform:rotate(315deg);transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{cursor:ns-resize;left:50%;margin-left:-10px}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;-webkit-transform:rotate(225deg);transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgd2lkdGg9IjYiIGhlaWdodD0iNiI+PHBhdGggZD0iTTYgNkgwVjQuMmg0LjJWMEg2djZaIiBvcGFjaXR5PSIuMzAyIi8+PC9zdmc+);background-origin:content-box;background-position:100% 100%;background-repeat:no-repeat;box-sizing:border-box;height:20px;padding:0 3px 3px 0;position:absolute;width:20px}.react-resizable-handle-sw{bottom:0;cursor:sw-resize;left:0;-webkit-transform:rotate(90deg);transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;cursor:se-resize;right:0}.react-resizable-handle-nw{cursor:nw-resize;left:0;top:0;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.react-resizable-handle-ne{cursor:ne-resize;right:0;top:0;-webkit-transform:rotate(270deg);transform:rotate(270deg)}.react-resizable-handle-e,.react-resizable-handle-w{cursor:ew-resize;margin-top:-10px;top:50%}.react-resizable-handle-w{left:0;-webkit-transform:rotate(135deg);transform:rotate(135deg)}.react-resizable-handle-e{right:0;-webkit-transform:rotate(315deg);transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{cursor:ns-resize;left:50%;margin-left:-10px}.react-resizable-handle-n{top:0;-webkit-transform:rotate(225deg);transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.removeArrows input::-webkit-inner-spin-button,.removeArrows input::-webkit-outer-spin-button,input.removeArrows::-webkit-inner-spin-button,input.removeArrows::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.removeArrows input[type=number],input.removeArrows[type=number]{-moz-appearance:textfield} +/*# sourceMappingURL=main.02c1b6fd.css.map*/ \ No newline at end of file diff --git a/portal-ui/build/static/css/main.02c1b6fd.css.map b/portal-ui/build/static/css/main.02c1b6fd.css.map new file mode 100644 index 000000000..6db6f26bb --- /dev/null +++ b/portal-ui/build/static/css/main.02c1b6fd.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/main.02c1b6fd.css","mappings":"AAwBA,oCACE,eAAgB,CAChB,wBAIF,CACA,kEAFE,kBAAmB,CAFnB,YAAa,CACb,kBAOF,CAEA,8CACE,oBAAqB,CACrB,cAAe,CAGf,eAAgB,CADhB,sBAAuB,CADvB,kBAGF,CAEA,2EAEE,iBAAkB,CAClB,WACF,CACA,oCACE,sBAAuB,CACvB,kBACF,CAEA,uGAEE,gBACF,CACA,+CACE,cACF,CAEA,sDAEE,kBAAmB,CADnB,YAEF,CACA,6CAIE,iBAAkB,CAHlB,aAAc,CACd,UAAW,CACX,SAEF,CCxEA,mBACE,iBAAkB,CAClB,0BACF,CACA,iBACE,uBAA0B,CAC1B,4BACF,CACA,qBACE,mBAAoB,CACpB,wBAAiB,CAAjB,gBACF,CACA,+BACE,qCAA8B,CAA9B,6BAA8B,CAA9B,+CACF,CACA,0BAEE,wBAA0B,CAD1B,SAEF,CAEA,0CACE,eAAgB,CAEhB,qBAAsB,CADtB,SAEF,CAEA,0BACE,iBACF,CAEA,wCACE,cAAe,CACf,UAAY,CACZ,uBAA0B,CAE1B,wBAAyB,CAGzB,mBAAoB,CACpB,gBAAiB,CALjB,SAMF,CAEA,yCAGE,WAAY,CAFZ,iBAAkB,CAClB,UAEF,CAEA,+CAQE,sCAA2C,CAD3C,qCAA0C,CAH1C,UAAW,CAHX,UAAW,CAKX,UAAW,CAJX,iBAAkB,CAClB,SAAU,CAEV,SAIF,CAEA,8CACE,YACF,CAEA,mEACE,QAAS,CAET,gBAAiB,CADjB,MAAO,CAEP,+BAAwB,CAAxB,uBACF,CACA,mEACE,QAAS,CAET,gBAAiB,CADjB,OAEF,CACA,mEAGE,gBAAiB,CADjB,MAAO,CADP,KAAM,CAGN,gCAAyB,CAAzB,wBACF,CACA,mEAGE,gBAAiB,CADjB,OAAQ,CADR,KAAM,CAGN,gCAAyB,CAAzB,wBACF,CACA,oIAIE,gBAAiB,CADjB,gBAAiB,CADjB,OAGF,CACA,kEACE,MAAO,CACP,gCAAyB,CAAzB,wBACF,CACA,kEACE,OAAQ,CACR,gCAAyB,CAAzB,wBACF,CACA,oIAIE,gBAAiB,CAFjB,QAAS,CACT,iBAEF,CACA,kEACE,KAAM,CACN,gCAAyB,CAAzB,wBACF,CACA,kEACE,QAAS,CACT,+BAAwB,CAAxB,uBACF,CCjHA,iBACE,iBACF,CACA,wBAOE,wPAAuY,CAFvY,6BAA8B,CAG9B,6BAAiC,CAJjC,2BAA4B,CAE5B,qBAAsB,CAHtB,WAAY,CAMZ,mBAAoB,CARpB,iBAAkB,CAClB,UAQF,CACA,2BACE,QAAS,CAET,gBAAiB,CADjB,MAAO,CAEP,+BAAwB,CAAxB,uBACF,CACA,2BACE,QAAS,CAET,gBAAiB,CADjB,OAEF,CACA,2BAGE,gBAAiB,CADjB,MAAO,CADP,KAAM,CAGN,gCAAyB,CAAzB,wBACF,CACA,2BAGE,gBAAiB,CADjB,OAAQ,CADR,KAAM,CAGN,gCAAyB,CAAzB,wBACF,CACA,oDAIE,gBAAiB,CADjB,gBAAiB,CADjB,OAGF,CACA,0BACE,MAAO,CACP,gCAAyB,CAAzB,wBACF,CACA,0BACE,OAAQ,CACR,gCAAyB,CAAzB,wBACF,CACA,oDAIE,gBAAiB,CAFjB,QAAS,CACT,iBAEF,CACA,0BACE,KAAM,CACN,gCAAyB,CAAzB,wBACF,CACA,0BACE,QAAS,CACT,+BAAwB,CAAxB,uBACF,CChEA,KAGE,kCAAmC,CACnC,iCAAkC,CAFlC,4BAAgC,CADhC,QAIF,CAEA,KACE,uEAEF,CAGA,0LAIE,uBAAwB,CACxB,QACF,CAGA,iEAEE,yBACF","sources":["../node_modules/react-virtualized/source/styles.css","../node_modules/react-grid-layout/css/styles.css","../node_modules/react-resizable/css/styles.css","index.css"],"sourcesContent":["/* Collection default theme */\n\n.ReactVirtualized__Collection {\n}\n\n.ReactVirtualized__Collection__innerScrollContainer {\n}\n\n/* Grid default theme */\n\n.ReactVirtualized__Grid {\n}\n\n.ReactVirtualized__Grid__innerScrollContainer {\n}\n\n/* Table default theme */\n\n.ReactVirtualized__Table {\n}\n\n.ReactVirtualized__Table__Grid {\n}\n\n.ReactVirtualized__Table__headerRow {\n font-weight: 700;\n text-transform: uppercase;\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n.ReactVirtualized__Table__row {\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n\n.ReactVirtualized__Table__headerTruncatedText {\n display: inline-block;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.ReactVirtualized__Table__headerColumn,\n.ReactVirtualized__Table__rowColumn {\n margin-right: 10px;\n min-width: 0px;\n}\n.ReactVirtualized__Table__rowColumn {\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.ReactVirtualized__Table__headerColumn:first-of-type,\n.ReactVirtualized__Table__rowColumn:first-of-type {\n margin-left: 10px;\n}\n.ReactVirtualized__Table__sortableHeaderColumn {\n cursor: pointer;\n}\n\n.ReactVirtualized__Table__sortableHeaderIconContainer {\n display: flex;\n align-items: center;\n}\n.ReactVirtualized__Table__sortableHeaderIcon {\n flex: 0 0 24px;\n height: 1em;\n width: 1em;\n fill: currentColor;\n}\n\n/* List default theme */\n\n.ReactVirtualized__List {\n}\n",".react-grid-layout {\n position: relative;\n transition: height 200ms ease;\n}\n.react-grid-item {\n transition: all 200ms ease;\n transition-property: left, top;\n}\n.react-grid-item img {\n pointer-events: none;\n user-select: none; \n}\n.react-grid-item.cssTransforms {\n transition-property: transform;\n}\n.react-grid-item.resizing {\n z-index: 1;\n will-change: width, height;\n}\n\n.react-grid-item.react-draggable-dragging {\n transition: none;\n z-index: 3;\n will-change: transform;\n}\n\n.react-grid-item.dropping {\n visibility: hidden;\n}\n\n.react-grid-item.react-grid-placeholder {\n background: red;\n opacity: 0.2;\n transition-duration: 100ms;\n z-index: 2;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n -o-user-select: none;\n user-select: none;\n}\n\n.react-grid-item > .react-resizable-handle {\n position: absolute;\n width: 20px;\n height: 20px;\n}\n\n.react-grid-item > .react-resizable-handle::after {\n content: \"\";\n position: absolute;\n right: 3px;\n bottom: 3px;\n width: 5px;\n height: 5px;\n border-right: 2px solid rgba(0, 0, 0, 0.4);\n border-bottom: 2px solid rgba(0, 0, 0, 0.4);\n}\n\n.react-resizable-hide > .react-resizable-handle {\n display: none;\n}\n\n.react-grid-item > .react-resizable-handle.react-resizable-handle-sw {\n bottom: 0;\n left: 0;\n cursor: sw-resize;\n transform: rotate(90deg);\n}\n.react-grid-item > .react-resizable-handle.react-resizable-handle-se {\n bottom: 0;\n right: 0;\n cursor: se-resize;\n}\n.react-grid-item > .react-resizable-handle.react-resizable-handle-nw {\n top: 0;\n left: 0;\n cursor: nw-resize;\n transform: rotate(180deg);\n}\n.react-grid-item > .react-resizable-handle.react-resizable-handle-ne {\n top: 0;\n right: 0;\n cursor: ne-resize;\n transform: rotate(270deg);\n}\n.react-grid-item > .react-resizable-handle.react-resizable-handle-w,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-e {\n top: 50%;\n margin-top: -10px;\n cursor: ew-resize;\n}\n.react-grid-item > .react-resizable-handle.react-resizable-handle-w {\n left: 0;\n transform: rotate(135deg);\n}\n.react-grid-item > .react-resizable-handle.react-resizable-handle-e {\n right: 0;\n transform: rotate(315deg);\n}\n.react-grid-item > .react-resizable-handle.react-resizable-handle-n,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-s {\n left: 50%;\n margin-left: -10px;\n cursor: ns-resize;\n}\n.react-grid-item > .react-resizable-handle.react-resizable-handle-n {\n top: 0;\n transform: rotate(225deg);\n}\n.react-grid-item > .react-resizable-handle.react-resizable-handle-s {\n bottom: 0;\n transform: rotate(45deg);\n}\n",".react-resizable {\n position: relative;\n}\n.react-resizable-handle {\n position: absolute;\n width: 20px;\n height: 20px;\n background-repeat: no-repeat;\n background-origin: content-box;\n box-sizing: border-box;\n background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+');\n background-position: bottom right;\n padding: 0 3px 3px 0;\n}\n.react-resizable-handle-sw {\n bottom: 0;\n left: 0;\n cursor: sw-resize;\n transform: rotate(90deg);\n}\n.react-resizable-handle-se {\n bottom: 0;\n right: 0;\n cursor: se-resize;\n}\n.react-resizable-handle-nw {\n top: 0;\n left: 0;\n cursor: nw-resize;\n transform: rotate(180deg);\n}\n.react-resizable-handle-ne {\n top: 0;\n right: 0;\n cursor: ne-resize;\n transform: rotate(270deg);\n}\n.react-resizable-handle-w,\n.react-resizable-handle-e {\n top: 50%;\n margin-top: -10px;\n cursor: ew-resize;\n}\n.react-resizable-handle-w {\n left: 0;\n transform: rotate(135deg);\n}\n.react-resizable-handle-e {\n right: 0;\n transform: rotate(315deg);\n}\n.react-resizable-handle-n,\n.react-resizable-handle-s {\n left: 50%;\n margin-left: -10px;\n cursor: ns-resize;\n}\n.react-resizable-handle-n {\n top: 0;\n transform: rotate(225deg);\n}\n.react-resizable-handle-s {\n bottom: 0;\n transform: rotate(45deg);\n}","body {\n margin: 0;\n font-family: \"Inter\", sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, \"Courier New\",\n monospace;\n}\n\n/* Chrome, Safari, Edge, Opera */\ninput.removeArrows::-webkit-outer-spin-button,\ninput.removeArrows::-webkit-inner-spin-button,\n.removeArrows input::-webkit-outer-spin-button,\n.removeArrows input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\n/* Firefox */\ninput.removeArrows[type=\"number\"],\n.removeArrows input[type=\"number\"] {\n -moz-appearance: textfield;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/css/main.7f39beab.css b/portal-ui/build/static/css/main.7f39beab.css deleted file mode 100644 index 982dd7c2e..000000000 --- a/portal-ui/build/static/css/main.7f39beab.css +++ /dev/null @@ -1,2 +0,0 @@ -.ReactVirtualized__Table__headerRow{font-weight:700;text-transform:uppercase}.ReactVirtualized__Table__headerRow,.ReactVirtualized__Table__row{align-items:center;display:flex;flex-direction:row}.ReactVirtualized__Table__headerTruncatedText{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ReactVirtualized__Table__headerColumn,.ReactVirtualized__Table__rowColumn{margin-right:10px;min-width:0}.ReactVirtualized__Table__rowColumn{text-overflow:ellipsis;white-space:nowrap}.ReactVirtualized__Table__headerColumn:first-of-type,.ReactVirtualized__Table__rowColumn:first-of-type{margin-left:10px}.ReactVirtualized__Table__sortableHeaderColumn{cursor:pointer}.ReactVirtualized__Table__sortableHeaderIconContainer{align-items:center;display:flex}.ReactVirtualized__Table__sortableHeaderIcon{fill:currentColor;flex:0 0 24px;height:1em;width:1em}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform}.react-grid-item.resizing{will-change:width,height;z-index:1}.react-grid-item.react-draggable-dragging{transition:none;will-change:transform;z-index:3}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;-webkit-user-select:none;-o-user-select:none;user-select:none;z-index:2}.react-grid-item>.react-resizable-handle{height:20px;position:absolute;width:20px}.react-grid-item>.react-resizable-handle:after{border-bottom:2px solid rgba(0,0,0,.4);border-right:2px solid rgba(0,0,0,.4);bottom:3px;content:"";height:5px;position:absolute;right:3px;width:5px}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;cursor:sw-resize;left:0;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;cursor:se-resize;right:0}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{cursor:nw-resize;left:0;top:0;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{cursor:ne-resize;right:0;top:0;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e,.react-grid-item>.react-resizable-handle.react-resizable-handle-w{cursor:ew-resize;margin-top:-10px;top:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{cursor:ns-resize;left:50%;margin-left:-10px}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgd2lkdGg9IjYiIGhlaWdodD0iNiI+PHBhdGggZD0iTTYgNkgwVjQuMmg0LjJWMEg2djZaIiBvcGFjaXR5PSIuMzAyIi8+PC9zdmc+);background-origin:content-box;background-position:100% 100%;background-repeat:no-repeat;box-sizing:border-box;height:20px;padding:0 3px 3px 0;position:absolute;width:20px}.react-resizable-handle-sw{bottom:0;cursor:sw-resize;left:0;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;cursor:se-resize;right:0}.react-resizable-handle-nw{cursor:nw-resize;left:0;top:0;transform:rotate(180deg)}.react-resizable-handle-ne{cursor:ne-resize;right:0;top:0;transform:rotate(270deg)}.react-resizable-handle-e,.react-resizable-handle-w{cursor:ew-resize;margin-top:-10px;top:50%}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{cursor:ns-resize;left:50%;margin-left:-10px}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.removeArrows input::-webkit-inner-spin-button,.removeArrows input::-webkit-outer-spin-button,input.removeArrows::-webkit-inner-spin-button,input.removeArrows::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.removeArrows input[type=number],input.removeArrows[type=number]{-moz-appearance:textfield} -/*# sourceMappingURL=main.7f39beab.css.map*/ \ No newline at end of file diff --git a/portal-ui/build/static/css/main.7f39beab.css.map b/portal-ui/build/static/css/main.7f39beab.css.map deleted file mode 100644 index 6477b6a30..000000000 --- a/portal-ui/build/static/css/main.7f39beab.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/css/main.7f39beab.css","mappings":"AAwBA,oCACE,eAAgB,CAChB,wBAIF,CACA,kEAFE,kBAAmB,CAFnB,YAAa,CACb,kBAOF,CAEA,8CACE,oBAAqB,CACrB,cAAe,CAGf,eAAgB,CADhB,sBAAuB,CADvB,kBAGF,CAEA,2EAEE,iBAAkB,CAClB,WACF,CACA,oCACE,sBAAuB,CACvB,kBACF,CAEA,uGAEE,gBACF,CACA,+CACE,cACF,CAEA,sDAEE,kBAAmB,CADnB,YAEF,CACA,6CAIE,iBAAkB,CAHlB,aAAc,CACd,UAAW,CACX,SAEF,CCxEA,mBACE,iBAAkB,CAClB,0BACF,CACA,iBACE,uBAA0B,CAC1B,4BACF,CACA,qBACE,mBAAoB,CACpB,wBAAiB,CAAjB,gBACF,CACA,+BACE,6BACF,CACA,0BAEE,wBAA0B,CAD1B,SAEF,CAEA,0CACE,eAAgB,CAEhB,qBAAsB,CADtB,SAEF,CAEA,0BACE,iBACF,CAEA,wCACE,cAAe,CACf,UAAY,CACZ,uBAA0B,CAE1B,wBAAyB,CAGzB,mBAAoB,CACpB,gBAAiB,CALjB,SAMF,CAEA,yCAGE,WAAY,CAFZ,iBAAkB,CAClB,UAEF,CAEA,+CAQE,sCAA2C,CAD3C,qCAA0C,CAH1C,UAAW,CAHX,UAAW,CAKX,UAAW,CAJX,iBAAkB,CAClB,SAAU,CAEV,SAIF,CAEA,8CACE,YACF,CAEA,mEACE,QAAS,CAET,gBAAiB,CADjB,MAAO,CAEP,uBACF,CACA,mEACE,QAAS,CAET,gBAAiB,CADjB,OAEF,CACA,mEAGE,gBAAiB,CADjB,MAAO,CADP,KAAM,CAGN,wBACF,CACA,mEAGE,gBAAiB,CADjB,OAAQ,CADR,KAAM,CAGN,wBACF,CACA,oIAIE,gBAAiB,CADjB,gBAAiB,CADjB,OAGF,CACA,kEACE,MAAO,CACP,wBACF,CACA,kEACE,OAAQ,CACR,wBACF,CACA,oIAIE,gBAAiB,CAFjB,QAAS,CACT,iBAEF,CACA,kEACE,KAAM,CACN,wBACF,CACA,kEACE,QAAS,CACT,uBACF,CCjHA,iBACE,iBACF,CACA,wBAOE,wPAAuY,CAFvY,6BAA8B,CAG9B,6BAAiC,CAJjC,2BAA4B,CAE5B,qBAAsB,CAHtB,WAAY,CAMZ,mBAAoB,CARpB,iBAAkB,CAClB,UAQF,CACA,2BACE,QAAS,CAET,gBAAiB,CADjB,MAAO,CAEP,uBACF,CACA,2BACE,QAAS,CAET,gBAAiB,CADjB,OAEF,CACA,2BAGE,gBAAiB,CADjB,MAAO,CADP,KAAM,CAGN,wBACF,CACA,2BAGE,gBAAiB,CADjB,OAAQ,CADR,KAAM,CAGN,wBACF,CACA,oDAIE,gBAAiB,CADjB,gBAAiB,CADjB,OAGF,CACA,0BACE,MAAO,CACP,wBACF,CACA,0BACE,OAAQ,CACR,wBACF,CACA,oDAIE,gBAAiB,CAFjB,QAAS,CACT,iBAEF,CACA,0BACE,KAAM,CACN,wBACF,CACA,0BACE,QAAS,CACT,uBACF,CChEA,KAGE,kCAAmC,CACnC,iCAAkC,CAFlC,4BAAgC,CADhC,QAIF,CAEA,KACE,uEAEF,CAGA,0LAIE,uBAAwB,CACxB,QACF,CAGA,iEAEE,yBACF","sources":["../node_modules/react-virtualized/source/styles.css","../node_modules/react-grid-layout/css/styles.css","../node_modules/react-resizable/css/styles.css","index.css"],"sourcesContent":["/* Collection default theme */\n\n.ReactVirtualized__Collection {\n}\n\n.ReactVirtualized__Collection__innerScrollContainer {\n}\n\n/* Grid default theme */\n\n.ReactVirtualized__Grid {\n}\n\n.ReactVirtualized__Grid__innerScrollContainer {\n}\n\n/* Table default theme */\n\n.ReactVirtualized__Table {\n}\n\n.ReactVirtualized__Table__Grid {\n}\n\n.ReactVirtualized__Table__headerRow {\n font-weight: 700;\n text-transform: uppercase;\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n.ReactVirtualized__Table__row {\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n\n.ReactVirtualized__Table__headerTruncatedText {\n display: inline-block;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.ReactVirtualized__Table__headerColumn,\n.ReactVirtualized__Table__rowColumn {\n margin-right: 10px;\n min-width: 0px;\n}\n.ReactVirtualized__Table__rowColumn {\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.ReactVirtualized__Table__headerColumn:first-of-type,\n.ReactVirtualized__Table__rowColumn:first-of-type {\n margin-left: 10px;\n}\n.ReactVirtualized__Table__sortableHeaderColumn {\n cursor: pointer;\n}\n\n.ReactVirtualized__Table__sortableHeaderIconContainer {\n display: flex;\n align-items: center;\n}\n.ReactVirtualized__Table__sortableHeaderIcon {\n flex: 0 0 24px;\n height: 1em;\n width: 1em;\n fill: currentColor;\n}\n\n/* List default theme */\n\n.ReactVirtualized__List {\n}\n",".react-grid-layout {\n position: relative;\n transition: height 200ms ease;\n}\n.react-grid-item {\n transition: all 200ms ease;\n transition-property: left, top;\n}\n.react-grid-item img {\n pointer-events: none;\n user-select: none; \n}\n.react-grid-item.cssTransforms {\n transition-property: transform;\n}\n.react-grid-item.resizing {\n z-index: 1;\n will-change: width, height;\n}\n\n.react-grid-item.react-draggable-dragging {\n transition: none;\n z-index: 3;\n will-change: transform;\n}\n\n.react-grid-item.dropping {\n visibility: hidden;\n}\n\n.react-grid-item.react-grid-placeholder {\n background: red;\n opacity: 0.2;\n transition-duration: 100ms;\n z-index: 2;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n -o-user-select: none;\n user-select: none;\n}\n\n.react-grid-item > .react-resizable-handle {\n position: absolute;\n width: 20px;\n height: 20px;\n}\n\n.react-grid-item > .react-resizable-handle::after {\n content: \"\";\n position: absolute;\n right: 3px;\n bottom: 3px;\n width: 5px;\n height: 5px;\n border-right: 2px solid rgba(0, 0, 0, 0.4);\n border-bottom: 2px solid rgba(0, 0, 0, 0.4);\n}\n\n.react-resizable-hide > .react-resizable-handle {\n display: none;\n}\n\n.react-grid-item > .react-resizable-handle.react-resizable-handle-sw {\n bottom: 0;\n left: 0;\n cursor: sw-resize;\n transform: rotate(90deg);\n}\n.react-grid-item > .react-resizable-handle.react-resizable-handle-se {\n bottom: 0;\n right: 0;\n cursor: se-resize;\n}\n.react-grid-item > .react-resizable-handle.react-resizable-handle-nw {\n top: 0;\n left: 0;\n cursor: nw-resize;\n transform: rotate(180deg);\n}\n.react-grid-item > .react-resizable-handle.react-resizable-handle-ne {\n top: 0;\n right: 0;\n cursor: ne-resize;\n transform: rotate(270deg);\n}\n.react-grid-item > .react-resizable-handle.react-resizable-handle-w,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-e {\n top: 50%;\n margin-top: -10px;\n cursor: ew-resize;\n}\n.react-grid-item > .react-resizable-handle.react-resizable-handle-w {\n left: 0;\n transform: rotate(135deg);\n}\n.react-grid-item > .react-resizable-handle.react-resizable-handle-e {\n right: 0;\n transform: rotate(315deg);\n}\n.react-grid-item > .react-resizable-handle.react-resizable-handle-n,\n.react-grid-item > .react-resizable-handle.react-resizable-handle-s {\n left: 50%;\n margin-left: -10px;\n cursor: ns-resize;\n}\n.react-grid-item > .react-resizable-handle.react-resizable-handle-n {\n top: 0;\n transform: rotate(225deg);\n}\n.react-grid-item > .react-resizable-handle.react-resizable-handle-s {\n bottom: 0;\n transform: rotate(45deg);\n}\n",".react-resizable {\n position: relative;\n}\n.react-resizable-handle {\n position: absolute;\n width: 20px;\n height: 20px;\n background-repeat: no-repeat;\n background-origin: content-box;\n box-sizing: border-box;\n background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+');\n background-position: bottom right;\n padding: 0 3px 3px 0;\n}\n.react-resizable-handle-sw {\n bottom: 0;\n left: 0;\n cursor: sw-resize;\n transform: rotate(90deg);\n}\n.react-resizable-handle-se {\n bottom: 0;\n right: 0;\n cursor: se-resize;\n}\n.react-resizable-handle-nw {\n top: 0;\n left: 0;\n cursor: nw-resize;\n transform: rotate(180deg);\n}\n.react-resizable-handle-ne {\n top: 0;\n right: 0;\n cursor: ne-resize;\n transform: rotate(270deg);\n}\n.react-resizable-handle-w,\n.react-resizable-handle-e {\n top: 50%;\n margin-top: -10px;\n cursor: ew-resize;\n}\n.react-resizable-handle-w {\n left: 0;\n transform: rotate(135deg);\n}\n.react-resizable-handle-e {\n right: 0;\n transform: rotate(315deg);\n}\n.react-resizable-handle-n,\n.react-resizable-handle-s {\n left: 50%;\n margin-left: -10px;\n cursor: ns-resize;\n}\n.react-resizable-handle-n {\n top: 0;\n transform: rotate(225deg);\n}\n.react-resizable-handle-s {\n bottom: 0;\n transform: rotate(45deg);\n}","body {\n margin: 0;\n font-family: \"Inter\", sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, \"Courier New\",\n monospace;\n}\n\n/* Chrome, Safari, Edge, Opera */\ninput.removeArrows::-webkit-outer-spin-button,\ninput.removeArrows::-webkit-inner-spin-button,\n.removeArrows input::-webkit-outer-spin-button,\n.removeArrows input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\n/* Firefox */\ninput.removeArrows[type=\"number\"],\n.removeArrows input[type=\"number\"] {\n -moz-appearance: textfield;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/134.117c7fbe.chunk.js.map b/portal-ui/build/static/js/134.117c7fbe.chunk.js.map index 81367a8d8..805e4d28a 100644 --- a/portal-ui/build/static/js/134.117c7fbe.chunk.js.map +++ b/portal-ui/build/static/js/134.117c7fbe.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/134.117c7fbe.chunk.js","mappings":"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","sources":["../node_modules/@mui/icons-material/CallToAction.js","../node_modules/@mui/icons-material/Code.js","../node_modules/@mui/icons-material/Compress.js","../node_modules/@mui/icons-material/FindReplace.js","../node_modules/@mui/icons-material/LocalHospital.js","../node_modules/@mui/icons-material/PendingActions.js","../node_modules/@mui/icons-material/Public.js","../node_modules/@mui/icons-material/VpnKey.js","../node_modules/@mui/icons-material/utils/createSvgIcon.js","../node_modules/@mui/material/utils/createChainedFunction.js","../node_modules/@mui/material/utils/deprecatedPropType.js","../node_modules/@mui/utils/esm/deprecatedPropType.js","../node_modules/@mui/material/utils/requirePropFactory.js","../node_modules/@mui/utils/esm/requirePropFactory.js","../node_modules/@mui/material/utils/setRef.js","../node_modules/@mui/material/utils/unsupportedProp.js","../node_modules/@mui/utils/esm/unsupportedProp.js","../node_modules/@mui/material/utils/index.js","../node_modules/@mui/material/utils/isMuiElement.js","../node_modules/@mui/utils/esm/isMuiElement.js","../node_modules/@mui/utils/esm/createChainedFunction.js","../node_modules/copy-to-clipboard/index.js","../node_modules/react-copy-to-clipboard/lib/Component.js","../node_modules/react-copy-to-clipboard/lib/index.js","../node_modules/toggle-selection/index.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.js"],"sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3v-3h18v3z\"\n}), 'CallToAction');\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z\"\n}), 'Code');\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M8 19h3v3h2v-3h3l-4-4-4 4zm8-15h-3V1h-2v3H8l4 4 4-4zM4 9v2h16V9H4zm0 3h16v2H4z\"\n}), 'Compress');\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11 6c1.38 0 2.63.56 3.54 1.46L12 10h6V4l-2.05 2.05C14.68 4.78 12.93 4 11 4c-3.53 0-6.43 2.61-6.92 6H6.1c.46-2.28 2.48-4 4.9-4zm5.64 9.14c.66-.9 1.12-1.97 1.28-3.14H15.9c-.46 2.28-2.48 4-4.9 4-1.38 0-2.63-.56-3.54-1.46L10 12H4v6l2.05-2.05C7.32 17.22 9.07 18 11 18c1.55 0 2.98-.51 4.14-1.36L20 21.49 21.49 20l-4.85-4.86z\"\n}), 'FindReplace');\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 3H5c-1.1 0-1.99.9-1.99 2L3 19c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 11h-4v4h-4v-4H6v-4h4V6h4v4h4v4z\"\n}), 'LocalHospital');\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M17 12c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm1.65 7.35L16.5 17.2V14h1v2.79l1.85 1.85-.7.71zM18 3h-3.18C14.4 1.84 13.3 1 12 1s-2.4.84-2.82 2H6c-1.1 0-2 .9-2 2v15c0 1.1.9 2 2 2h6.11c-.59-.57-1.07-1.25-1.42-2H6V5h2v3h8V5h2v5.08c.71.1 1.38.31 2 .6V5c0-1.1-.9-2-2-2zm-6 2c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z\"\n}), 'PendingActions');\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z\"\n}), 'Public');\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12.65 10C11.83 7.67 9.61 6 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6c2.61 0 4.83-1.67 5.65-4H17v4h4v-4h2v-4H12.65zM7 14c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z\"\n}), 'VpnKey');\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");","import { unstable_createChainedFunction as createChainedFunction } from '@mui/utils';\nexport default createChainedFunction;","import { unstable_deprecatedPropType as deprecatedPropType } from '@mui/utils';\nexport default deprecatedPropType;","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return (props, propName, componentName, location, propFullName) => {\n const componentNameSafe = componentName || '<>';\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The ${location} \\`${propFullNameSafe}\\` of ` + `\\`${componentNameSafe}\\` is deprecated. ${reason}`);\n }\n return null;\n };\n}","import { unstable_requirePropFactory as requirePropFactory } from '@mui/utils';\nexport default requirePropFactory;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function requirePropFactory(componentNameInError, Component) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n\n // eslint-disable-next-line react/forbid-foreign-prop-types\n const prevPropTypes = Component ? _extends({}, Component.propTypes) : null;\n const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {\n const propFullNameSafe = propFullName || propName;\n const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];\n if (defaultTypeChecker) {\n const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);\n if (typeCheckerResult) {\n return typeCheckerResult;\n }\n }\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(`The prop \\`${propFullNameSafe}\\` of ` + `\\`${componentNameInError}\\` can only be used together with the \\`${requiredProp}\\` prop.`);\n }\n return null;\n };\n return requireProp;\n}","import { unstable_setRef as setRef } from '@mui/utils';\nexport default setRef;","import { unstable_unsupportedProp as unsupportedProp } from '@mui/utils';\nexport default unsupportedProp;","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","import { unstable_ClassNameGenerator as ClassNameGenerator } from '@mui/base/className';\nexport { default as capitalize } from './capitalize';\nexport { default as createChainedFunction } from './createChainedFunction';\nexport { default as createSvgIcon } from './createSvgIcon';\nexport { default as debounce } from './debounce';\nexport { default as deprecatedPropType } from './deprecatedPropType';\nexport { default as isMuiElement } from './isMuiElement';\nexport { default as ownerDocument } from './ownerDocument';\nexport { default as ownerWindow } from './ownerWindow';\nexport { default as requirePropFactory } from './requirePropFactory';\nexport { default as setRef } from './setRef';\nexport { default as unstable_useEnhancedEffect } from './useEnhancedEffect';\nexport { default as unstable_useId } from './useId';\nexport { default as unsupportedProp } from './unsupportedProp';\nexport { default as useControlled } from './useControlled';\nexport { default as useEventCallback } from './useEventCallback';\nexport { default as useForkRef } from './useForkRef';\nexport { default as useIsFocusVisible } from './useIsFocusVisible';\n// TODO: remove this export once ClassNameGenerator is stable\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const unstable_ClassNameGenerator = {\n configure: generator => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(['MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.', '', \"You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead\", '', 'The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401', '', 'The updated documentation: https://mui.com/guides/classname-generator/'].join('\\n'));\n }\n ClassNameGenerator.configure(generator);\n }\n};","import { unstable_isMuiElement as isMuiElement } from '@mui/utils';\nexport default isMuiElement;","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf(element.type.muiName) !== -1;\n}","/**\n * Safe chained function.\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n */\nexport default function createChainedFunction(...funcs) {\n return funcs.reduce((acc, func) => {\n if (func == null) {\n return acc;\n }\n return function chainedFunction(...args) {\n acc.apply(this, args);\n func.apply(this, args);\n };\n }, () => {});\n}","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CopyToClipboard = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _copyToClipboard = _interopRequireDefault(require(\"copy-to-clipboard\"));\n\nvar _excluded = [\"text\", \"onCopy\", \"options\", \"children\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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 _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); Object.defineProperty(Constructor, \"prototype\", { writable: false }); 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 } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); 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; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } 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\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\nvar CopyToClipboard = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(CopyToClipboard, _React$PureComponent);\n\n var _super = _createSuper(CopyToClipboard);\n\n function CopyToClipboard() {\n var _this;\n\n _classCallCheck(this, CopyToClipboard);\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\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n var _this$props = _this.props,\n text = _this$props.text,\n onCopy = _this$props.onCopy,\n children = _this$props.children,\n options = _this$props.options;\n\n var elem = _react[\"default\"].Children.only(children);\n\n var result = (0, _copyToClipboard[\"default\"])(text, options);\n\n if (onCopy) {\n onCopy(text, result);\n } // Bypass onClick if it was present\n\n\n if (elem && elem.props && typeof elem.props.onClick === 'function') {\n elem.props.onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(CopyToClipboard, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _text = _this$props2.text,\n _onCopy = _this$props2.onCopy,\n _options = _this$props2.options,\n children = _this$props2.children,\n props = _objectWithoutProperties(_this$props2, _excluded);\n\n var elem = _react[\"default\"].Children.only(children);\n\n return /*#__PURE__*/_react[\"default\"].cloneElement(elem, _objectSpread(_objectSpread({}, props), {}, {\n onClick: this.onClick\n }));\n }\n }]);\n\n return CopyToClipboard;\n}(_react[\"default\"].PureComponent);\n\nexports.CopyToClipboard = CopyToClipboard;\n\n_defineProperty(CopyToClipboard, \"defaultProps\", {\n onCopy: undefined,\n options: undefined\n});","\"use strict\";\n\nvar _require = require('./Component'),\n CopyToClipboard = _require.CopyToClipboard;\n\nCopyToClipboard.CopyToClipboard = CopyToClipboard;\nmodule.exports = CopyToClipboard;","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"names":["_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","Object","defineProperty","value","enumerable","get","_utils","createSvgIcon","createChainedFunction","validator","reason","componentNameInError","Component","props","propName","componentName","location","propFullName","unstable_ClassNameGenerator","configure","generator","ClassNameGenerator","element","muiNames","React","indexOf","type","muiName","_len","arguments","length","funcs","Array","_key","reduce","acc","func","_len2","args","_key2","apply","this","deselectCurrent","clipboardToIE11Formatting","module","text","options","debug","message","reselectPrevious","range","selection","mark","success","document","createRange","getSelection","createElement","textContent","ariaHidden","style","all","position","top","clip","whiteSpace","webkitUserSelect","MozUserSelect","msUserSelect","userSelect","addEventListener","e","stopPropagation","format","preventDefault","clipboardData","console","warn","window","clearData","setData","onCopy","body","appendChild","selectNodeContents","addRange","execCommand","Error","err","error","copyKey","test","navigator","userAgent","replace","prompt","removeRange","removeAllRanges","removeChild","_typeof","obj","Symbol","iterator","constructor","prototype","CopyToClipboard","_react","_copyToClipboard","_excluded","__esModule","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","_objectSpread","target","i","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","call","_defineProperties","descriptor","configurable","writable","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","_isNativeReflectConstruct","result","Super","_getPrototypeOf","NewTarget","self","TypeError","_assertThisInitialized","_possibleConstructorReturn","ReferenceError","getPrototypeOf","_React$PureComponent","subClass","superClass","create","_inherits","Constructor","protoProps","staticProps","_super","_this","instance","_classCallCheck","concat","event","_this$props","children","elem","Children","only","onClick","_this$props2","cloneElement","PureComponent","undefined","rangeCount","active","activeElement","ranges","getRangeAt","tagName","toUpperCase","blur","focus"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/134.117c7fbe.chunk.js","mappings":"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","sources":["../node_modules/@mui/icons-material/CallToAction.js","../node_modules/@mui/icons-material/Code.js","../node_modules/@mui/icons-material/Compress.js","../node_modules/@mui/icons-material/FindReplace.js","../node_modules/@mui/icons-material/LocalHospital.js","../node_modules/@mui/icons-material/PendingActions.js","../node_modules/@mui/icons-material/Public.js","../node_modules/@mui/icons-material/VpnKey.js","../node_modules/@mui/icons-material/utils/createSvgIcon.js","../node_modules/@mui/material/utils/createChainedFunction.js","../node_modules/@mui/material/utils/deprecatedPropType.js","../node_modules/@mui/utils/esm/deprecatedPropType.js","../node_modules/@mui/material/utils/requirePropFactory.js","../node_modules/@mui/utils/esm/requirePropFactory.js","../node_modules/@mui/material/utils/setRef.js","../node_modules/@mui/material/utils/unsupportedProp.js","../node_modules/@mui/utils/esm/unsupportedProp.js","../node_modules/@mui/material/utils/index.js","../node_modules/@mui/material/utils/isMuiElement.js","../node_modules/@mui/utils/esm/isMuiElement.js","../node_modules/@mui/utils/esm/createChainedFunction.js","../node_modules/copy-to-clipboard/index.js","../node_modules/react-copy-to-clipboard/lib/Component.js","../node_modules/react-copy-to-clipboard/lib/index.js","../node_modules/toggle-selection/index.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.js"],"sourcesContent":["\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3v-3h18v3z\"\n}), 'CallToAction');\nexports.default = _default;","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z\"\n}), 'Code');\nexports.default = _default;","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M8 19h3v3h2v-3h3l-4-4-4 4zm8-15h-3V1h-2v3H8l4 4 4-4zM4 9v2h16V9H4zm0 3h16v2H4z\"\n}), 'Compress');\nexports.default = _default;","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11 6c1.38 0 2.63.56 3.54 1.46L12 10h6V4l-2.05 2.05C14.68 4.78 12.93 4 11 4c-3.53 0-6.43 2.61-6.92 6H6.1c.46-2.28 2.48-4 4.9-4zm5.64 9.14c.66-.9 1.12-1.97 1.28-3.14H15.9c-.46 2.28-2.48 4-4.9 4-1.38 0-2.63-.56-3.54-1.46L10 12H4v6l2.05-2.05C7.32 17.22 9.07 18 11 18c1.55 0 2.98-.51 4.14-1.36L20 21.49 21.49 20l-4.85-4.86z\"\n}), 'FindReplace');\nexports.default = _default;","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 3H5c-1.1 0-1.99.9-1.99 2L3 19c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 11h-4v4h-4v-4H6v-4h4V6h4v4h4v4z\"\n}), 'LocalHospital');\nexports.default = _default;","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M17 12c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm1.65 7.35L16.5 17.2V14h1v2.79l1.85 1.85-.7.71zM18 3h-3.18C14.4 1.84 13.3 1 12 1s-2.4.84-2.82 2H6c-1.1 0-2 .9-2 2v15c0 1.1.9 2 2 2h6.11c-.59-.57-1.07-1.25-1.42-2H6V5h2v3h8V5h2v5.08c.71.1 1.38.31 2 .6V5c0-1.1-.9-2-2-2zm-6 2c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z\"\n}), 'PendingActions');\nexports.default = _default;","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z\"\n}), 'Public');\nexports.default = _default;","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12.65 10C11.83 7.67 9.61 6 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6c2.61 0 4.83-1.67 5.65-4H17v4h4v-4h2v-4H12.65zM7 14c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z\"\n}), 'VpnKey');\nexports.default = _default;","\"use strict\";\n'use client';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");","import { unstable_createChainedFunction as createChainedFunction } from '@mui/utils';\nexport default createChainedFunction;","import { unstable_deprecatedPropType as deprecatedPropType } from '@mui/utils';\nexport default deprecatedPropType;","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return (props, propName, componentName, location, propFullName) => {\n const componentNameSafe = componentName || '<>';\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The ${location} \\`${propFullNameSafe}\\` of ` + `\\`${componentNameSafe}\\` is deprecated. ${reason}`);\n }\n return null;\n };\n}","import { unstable_requirePropFactory as requirePropFactory } from '@mui/utils';\nexport default requirePropFactory;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function requirePropFactory(componentNameInError, Component) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n\n // eslint-disable-next-line react/forbid-foreign-prop-types\n const prevPropTypes = Component ? _extends({}, Component.propTypes) : null;\n const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {\n const propFullNameSafe = propFullName || propName;\n const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];\n if (defaultTypeChecker) {\n const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);\n if (typeCheckerResult) {\n return typeCheckerResult;\n }\n }\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(`The prop \\`${propFullNameSafe}\\` of ` + `\\`${componentNameInError}\\` can only be used together with the \\`${requiredProp}\\` prop.`);\n }\n return null;\n };\n return requireProp;\n}","import { unstable_setRef as setRef } from '@mui/utils';\nexport default setRef;","import { unstable_unsupportedProp as unsupportedProp } from '@mui/utils';\nexport default unsupportedProp;","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","'use client';\n\nimport { unstable_ClassNameGenerator as ClassNameGenerator } from '@mui/base/className';\nexport { default as capitalize } from './capitalize';\nexport { default as createChainedFunction } from './createChainedFunction';\nexport { default as createSvgIcon } from './createSvgIcon';\nexport { default as debounce } from './debounce';\nexport { default as deprecatedPropType } from './deprecatedPropType';\nexport { default as isMuiElement } from './isMuiElement';\nexport { default as ownerDocument } from './ownerDocument';\nexport { default as ownerWindow } from './ownerWindow';\nexport { default as requirePropFactory } from './requirePropFactory';\nexport { default as setRef } from './setRef';\nexport { default as unstable_useEnhancedEffect } from './useEnhancedEffect';\nexport { default as unstable_useId } from './useId';\nexport { default as unsupportedProp } from './unsupportedProp';\nexport { default as useControlled } from './useControlled';\nexport { default as useEventCallback } from './useEventCallback';\nexport { default as useForkRef } from './useForkRef';\nexport { default as useIsFocusVisible } from './useIsFocusVisible';\n// TODO: remove this export once ClassNameGenerator is stable\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const unstable_ClassNameGenerator = {\n configure: generator => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(['MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.', '', \"You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead\", '', 'The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401', '', 'The updated documentation: https://mui.com/guides/classname-generator/'].join('\\n'));\n }\n ClassNameGenerator.configure(generator);\n }\n};","import { unstable_isMuiElement as isMuiElement } from '@mui/utils';\nexport default isMuiElement;","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf(element.type.muiName) !== -1;\n}","/**\n * Safe chained function.\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n */\nexport default function createChainedFunction(...funcs) {\n return funcs.reduce((acc, func) => {\n if (func == null) {\n return acc;\n }\n return function chainedFunction(...args) {\n acc.apply(this, args);\n func.apply(this, args);\n };\n }, () => {});\n}","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CopyToClipboard = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _copyToClipboard = _interopRequireDefault(require(\"copy-to-clipboard\"));\n\nvar _excluded = [\"text\", \"onCopy\", \"options\", \"children\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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 _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); Object.defineProperty(Constructor, \"prototype\", { writable: false }); 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 } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); 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; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } 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\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\nvar CopyToClipboard = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(CopyToClipboard, _React$PureComponent);\n\n var _super = _createSuper(CopyToClipboard);\n\n function CopyToClipboard() {\n var _this;\n\n _classCallCheck(this, CopyToClipboard);\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\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n var _this$props = _this.props,\n text = _this$props.text,\n onCopy = _this$props.onCopy,\n children = _this$props.children,\n options = _this$props.options;\n\n var elem = _react[\"default\"].Children.only(children);\n\n var result = (0, _copyToClipboard[\"default\"])(text, options);\n\n if (onCopy) {\n onCopy(text, result);\n } // Bypass onClick if it was present\n\n\n if (elem && elem.props && typeof elem.props.onClick === 'function') {\n elem.props.onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(CopyToClipboard, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _text = _this$props2.text,\n _onCopy = _this$props2.onCopy,\n _options = _this$props2.options,\n children = _this$props2.children,\n props = _objectWithoutProperties(_this$props2, _excluded);\n\n var elem = _react[\"default\"].Children.only(children);\n\n return /*#__PURE__*/_react[\"default\"].cloneElement(elem, _objectSpread(_objectSpread({}, props), {}, {\n onClick: this.onClick\n }));\n }\n }]);\n\n return CopyToClipboard;\n}(_react[\"default\"].PureComponent);\n\nexports.CopyToClipboard = CopyToClipboard;\n\n_defineProperty(CopyToClipboard, \"defaultProps\", {\n onCopy: undefined,\n options: undefined\n});","\"use strict\";\n\nvar _require = require('./Component'),\n CopyToClipboard = _require.CopyToClipboard;\n\nCopyToClipboard.CopyToClipboard = CopyToClipboard;\nmodule.exports = CopyToClipboard;","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"names":["_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","Object","defineProperty","value","enumerable","get","_utils","createSvgIcon","createChainedFunction","validator","reason","componentNameInError","Component","props","propName","componentName","location","propFullName","unstable_ClassNameGenerator","configure","generator","ClassNameGenerator","element","muiNames","React","indexOf","type","muiName","_len","arguments","length","funcs","Array","_key","reduce","acc","func","_len2","args","_key2","apply","this","deselectCurrent","clipboardToIE11Formatting","module","text","options","debug","message","reselectPrevious","range","selection","mark","success","document","createRange","getSelection","createElement","textContent","ariaHidden","style","all","position","top","clip","whiteSpace","webkitUserSelect","MozUserSelect","msUserSelect","userSelect","addEventListener","e","stopPropagation","format","preventDefault","clipboardData","console","warn","window","clearData","setData","onCopy","body","appendChild","selectNodeContents","addRange","execCommand","Error","err","error","copyKey","test","navigator","userAgent","replace","prompt","removeRange","removeAllRanges","removeChild","_typeof","obj","Symbol","iterator","constructor","prototype","CopyToClipboard","_react","_copyToClipboard","_excluded","__esModule","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","_objectSpread","target","i","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","call","_defineProperties","descriptor","configurable","writable","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","_isNativeReflectConstruct","result","Super","_getPrototypeOf","NewTarget","self","TypeError","_assertThisInitialized","_possibleConstructorReturn","ReferenceError","getPrototypeOf","_React$PureComponent","subClass","superClass","create","_inherits","Constructor","protoProps","staticProps","_super","_this","instance","_classCallCheck","concat","event","_this$props","children","elem","Children","only","onClick","_this$props2","cloneElement","PureComponent","undefined","rangeCount","active","activeElement","ranges","getRangeAt","tagName","toUpperCase","blur","focus"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1516.67512c50.chunk.js b/portal-ui/build/static/js/1516.67512c50.chunk.js new file mode 100644 index 000000000..4f1b7d3a0 --- /dev/null +++ b/portal-ui/build/static/js/1516.67512c50.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1516],{57314:function(e,n,t){var i=t(1413),r=t(72791),s=t(61889),o=t(30829),a=t(20068),l=t(27391),c=t(11135),d=t(25787),x=t(23814),u=t(29945),p=t(80184);n.Z=(0,d.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},x.YI),x.Hr),{},{inputLabel:(0,i.Z)((0,i.Z)({},x.YI.inputLabel),{},{fontSize:14,margin:0,alignItems:"flex-start",paddingTop:"20px",flexWrap:"wrap",display:"flex"}),textBoxContainer:{flexGrow:1,position:"relative"},cssOutlinedInput:{borderColor:"#EAEAEA",padding:16},rootContainer:{"& .MuiOutlinedInput-inputMultiline":(0,i.Z)((0,i.Z)({},x.YI.inputLabel),{},{fontSize:13,minHeight:150}),"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"#07193E",borderWidth:1},"& textarea":{color:"#07193E",fontSize:13,fontWeight:600,"&:placeholder":{color:"#858585",opacity:1,fontWeight:400}}}}))}))((function(e){var n=e.label,t=e.onChange,i=e.value,c=e.id,d=e.name,x=e.disabled,f=void 0!==x&&x,h=e.tooltip,g=void 0===h?"":h,m=e.index,b=void 0===m?0:m,j=e.error,v=void 0===j?"":j,Z=e.required,y=void 0!==Z&&Z,w=e.placeholder,k=void 0===w?"":w,C=e.classes,I={"data-index":b};return(0,p.jsx)(r.Fragment,{children:(0,p.jsxs)(s.ZP,{item:!0,xs:12,className:"".concat(C.fieldContainer," ").concat(""!==v?C.errorInField:""),children:[""!==n&&(0,p.jsxs)(o.Z,{htmlFor:c,className:C.inputLabel,children:[(0,p.jsxs)("span",{children:[n,y?"*":""]}),""!==g&&(0,p.jsx)("div",{className:C.tooltipContainer,children:(0,p.jsx)(a.Z,{title:g,placement:"top-start",children:(0,p.jsx)("div",{className:C.tooltip,children:(0,p.jsx)(u.byK,{})})})})]}),(0,p.jsx)("div",{className:C.textBoxContainer,children:(0,p.jsx)(l.Z,{id:c,name:d,fullWidth:!0,value:i,disabled:f,onChange:t,multiline:!0,rows:5,inputProps:I,error:""!==v,helperText:v,placeholder:k,InputLabelProps:{shrink:!0},InputProps:{classes:{notchedOutline:C.cssOutlinedInput,root:C.rootContainer}},variant:"outlined"})})]})})}))},81159:function(e,n,t){var i=t(4942),r=t(1413),s=t(72791),o=t(11135),a=t(25787),l=t(9955),c=t(30829),d=t(20068),x=t(20890),u=t(61889),p=t(23814),f=t(29945),h=t(28182),g=t(80184),m=(0,a.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(l.Z);n.Z=(0,a.Z)((function(e){return(0,o.Z)((0,r.Z)((0,r.Z)({indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},p.OR),p.YI))}))((function(e){var n=e.label,t=void 0===n?"":n,o=e.onChange,a=e.value,l=e.id,p=e.name,b=e.checked,j=void 0!==b&&b,v=e.disabled,Z=void 0!==v&&v,y=e.switchOnly,w=void 0!==y&&y,k=e.tooltip,C=void 0===k?"":k,I=e.description,L=void 0===I?"":I,S=e.classes,T=e.indicatorLabels,F=e.extraInputProps,N=void 0===F?{}:F,z=(0,g.jsxs)(s.Fragment,{children:[!w&&(0,g.jsx)("span",{className:(0,h.Z)(S.indicatorLabel,(0,i.Z)({},S.indicatorLabelOn,!j)),children:T&&T.length>1?T[1]:"OFF"}),(0,g.jsx)(m,{checked:j,onChange:o,color:"primary",name:p,inputProps:(0,r.Z)({"aria-label":"primary checkbox"},N),disabled:Z,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:a,id:l}),!w&&(0,g.jsx)("span",{className:(0,h.Z)(S.indicatorLabel,(0,i.Z)({},S.indicatorLabelOn,j)),children:T?T[0]:"ON"})]});return w?z:(0,g.jsx)("div",{children:(0,g.jsxs)(u.ZP,{container:!0,alignItems:"center",children:[(0,g.jsx)(u.ZP,{item:!0,xs:12,sm:8,md:8,children:""!==t&&(0,g.jsxs)(c.Z,{htmlFor:l,className:S.inputLabel,children:[(0,g.jsx)("span",{children:t}),""!==C&&(0,g.jsx)("div",{className:S.tooltipContainer,children:(0,g.jsx)(d.Z,{title:C,placement:"top-start",children:(0,g.jsx)("div",{className:S.tooltip,children:(0,g.jsx)(f.byK,{})})})})]})}),(0,g.jsx)(u.ZP,{item:!0,xs:12,sm:""!==t?4:12,md:""!==t?4:12,textAlign:"right",justifyContent:"end",className:S.switchContainer,children:z}),""!==L&&(0,g.jsx)(u.ZP,{item:!0,xs:12,textAlign:"left",children:(0,g.jsx)(x.Z,{component:"p",className:S.fieldDescription,children:L})})]})})}))},21435:function(e,n,t){var i=t(29439),r=t(1413),s=t(72791),o=t(27391),a=t(61889),l=t(30829),c=t(20068),d=t(13400),x=t(20165),u=t(3579),p=t(11135),f=t(72455),h=t(25787),g=t(23814),m=t(29945),b=t(28182),j=t(80184),v=(0,f.Z)((function(e){return(0,p.Z)((0,r.Z)({},g.gM))}));function Z(e){var n=v();return(0,j.jsx)(o.Z,(0,r.Z)({InputProps:{classes:n}},e))}n.Z=(0,h.Z)((function(e){return(0,p.Z)((0,r.Z)((0,r.Z)((0,r.Z)({},g.YI),g.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}}}))}))((function(e){var n=e.label,t=e.onChange,o=e.value,p=e.id,f=e.name,h=e.type,g=void 0===h?"text":h,v=e.autoComplete,y=void 0===v?"off":v,w=e.disabled,k=void 0!==w&&w,C=e.multiline,I=void 0!==C&&C,L=e.tooltip,S=void 0===L?"":L,T=e.index,F=void 0===T?0:T,N=e.error,z=void 0===N?"":N,P=e.required,A=void 0!==P&&P,E=e.placeholder,B=void 0===E?"":E,R=e.min,K=e.max,O=e.overlayId,W=e.overlayIcon,_=void 0===W?null:W,M=e.overlayObject,U=void 0===M?null:M,G=e.extraInputProps,H=void 0===G?{}:G,D=e.overlayAction,Y=e.noLabelMinWidth,V=void 0!==Y&&Y,$=e.pattern,q=void 0===$?"":$,X=e.autoFocus,Q=void 0!==X&&X,J=e.classes,ee=e.className,ne=void 0===ee?"":ee,te=e.onKeyPress,ie=e.onFocus,re=e.onPaste,se=(0,r.Z)({"data-index":F},H),oe=(0,s.useState)(!1),ae=(0,i.Z)(oe,2),le=ae[0],ce=ae[1];"number"===g&&R&&(se.min=R),"number"===g&&K&&(se.max=K),""!==q&&(se.pattern=q);var de=_,xe=g;return"password"===g&&null===_&&(de=le?(0,j.jsx)(x.Z,{}):(0,j.jsx)(u.Z,{}),xe=le?"text":"password"),(0,j.jsx)(s.Fragment,{children:(0,j.jsxs)(a.ZP,{container:!0,className:(0,b.Z)(""!==ne?ne:"",""!==z?J.errorInField:J.inputBoxContainer),children:[""!==n&&(0,j.jsxs)(l.Z,{htmlFor:p,className:V?J.noMinWidthLabel:J.inputLabel,children:[(0,j.jsxs)("span",{children:[n,A?"*":""]}),""!==S&&(0,j.jsx)("div",{className:J.tooltipContainer,children:(0,j.jsx)(c.Z,{title:S,placement:"top-start",children:(0,j.jsx)("div",{className:J.tooltip,children:(0,j.jsx)(m.byK,{})})})})]}),(0,j.jsxs)("div",{className:J.textBoxContainer,children:[(0,j.jsx)(Z,{id:p,name:f,fullWidth:!0,value:o,autoFocus:Q,disabled:k,onChange:t,type:xe,multiline:I,autoComplete:y,inputProps:se,error:""!==z,helperText:z,placeholder:B,className:J.inputRebase,onKeyPress:te,onFocus:ie,onPaste:re}),de&&(0,j.jsx)("div",{className:"".concat(J.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,j.jsx)(d.Z,{onClick:D?function(){D()}:function(){return ce(!le)},id:O,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:de})}),U&&(0,j.jsx)("div",{className:"".concat(J.overlayAction," ").concat(""!==n?"withLabel":""),children:U})]})]})})}))},90673:function(e,n,t){var i=t(1413),r=t(72791),s=t(61889),o=t(76098),a=t(30829),l=t(20068),c=t(68096),d=t(58406),x=t(77865),u=t(11135),p=t(25787),f=t(23814),h=t(29945),g=t(80184),m=(0,p.Z)((function(e){return(0,u.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(o.ZP);n.Z=(0,p.Z)((function(e){return(0,u.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},f.YI),f.Hr),{},{fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var n=e.classes,t=e.id,i=e.name,o=e.onChange,u=e.options,p=e.label,f=e.tooltip,b=void 0===f?"":f,j=e.value,v=e.disabled,Z=void 0!==v&&v;return(0,g.jsx)(r.Fragment,{children:(0,g.jsxs)(s.ZP,{item:!0,xs:12,className:n.fieldContainer,children:[""!==p&&(0,g.jsxs)(a.Z,{htmlFor:t,className:n.inputLabel,children:[(0,g.jsx)("span",{children:p}),""!==b&&(0,g.jsx)("div",{className:n.tooltipContainer,children:(0,g.jsx)(l.Z,{title:b,placement:"top-start",children:(0,g.jsx)("div",{className:n.tooltip,children:(0,g.jsx)(h.byK,{})})})})]}),(0,g.jsx)(c.Z,{fullWidth:!0,children:(0,g.jsx)(d.Z,{id:t,name:i,value:j,onChange:o,input:(0,g.jsx)(m,{}),disabled:Z,children:u.map((function(e){return(0,g.jsx)(x.Z,{value:e.value,children:e.label},"select-".concat(i,"-").concat(e.label))}))})})]})})}))},51516:function(e,n,t){t.r(n),t.d(n,{default:function(){return se}});var i=t(29439),r=t(1413),s=t(72791),o=t(11135),a=t(23814),l=t(25787),c=t(64554),d=t(81207),x=t(78687),u=t(87995),p=t(81551),f=t(18073),h=t(43896),g=t(19847),m=t(61889),b=t(50533),j=t(29945),v=t(81159),Z=t(21435),y=t(74440),w=t(80184),k=function(e){var n=e.icon,t=void 0===n?null:n,i=e.title;return(0,w.jsxs)(c.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-start"},children:[t,(0,w.jsx)("div",{className:"title-text",children:i})]})},C=function(e){var n=e.email;return(0,w.jsxs)(s.Fragment,{children:[(0,w.jsx)(y.Z,{email:n}),(0,w.jsx)(m.ZP,{item:!0,xs:12,marginTop:"25px",children:(0,w.jsxs)(c.Z,{sx:{padding:"20px","& a":{color:"#2781B0",cursor:"pointer"}},children:["Login to"," ",(0,w.jsx)(b.Z,{href:"https://subnet.min.io",target:"_blank",style:{color:"#2781B0",cursor:"pointer"},children:"SUBNET"})," ","to avail support for this MinIO cluster"]})})]})},I=function(){var e="mc admin config set {alias} subnet proxy={proxy}",n=(0,s.useState)(!1),t=(0,i.Z)(n,2),r=t[0],o=t[1];return(0,w.jsx)(s.Fragment,{children:(0,w.jsxs)(c.Z,{sx:{border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",padding:"23px",marginTop:"40px",alignItems:"start",justifyContent:"space-between"},children:[(0,w.jsxs)(c.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,w.jsxs)(c.Z,{sx:{display:"flex","& .min-icon":{height:"22px",width:"22px"}},children:[(0,w.jsx)(j.ewm,{}),(0,w.jsx)("div",{style:{marginLeft:"10px",fontWeight:600},children:"Proxy Configuration"})]}),(0,w.jsxs)(c.Z,{sx:{marginTop:"10px",marginBottom:"10px",fontSize:"14px"},children:["For airgap/firewalled environments it is possible to"," ",(0,w.jsx)(b.Z,{style:{color:"#2781B0",cursor:"pointer"},href:"https://min.io/docs/minio/linux/reference/minio-mc-admin/mc-admin-config.html?ref=con",target:"_blank",children:"configure a proxy"})," ","to connect to SUBNET ."]}),(0,w.jsx)(c.Z,{children:r&&(0,w.jsx)(Z.Z,{disabled:!0,id:"subnetProxy",name:"subnetProxy",placeholder:"",onChange:function(){},label:"",value:e,overlayIcon:(0,w.jsx)(j.TIy,{}),extraInputProps:{readOnly:!0},overlayAction:function(){return navigator.clipboard.writeText(e)}})})]}),(0,w.jsx)(c.Z,{sx:{display:"flex"},children:(0,w.jsx)(v.Z,{value:"enableProxy",id:"enableProxy",name:"enableProxy",checked:r,onChange:function(e){o(e.target.checked)}})})]})})},L=t(3579),S=t(20165),T=t(30403),F=t(23508),N=t(9505),z=(0,l.Z)((function(e){return(0,o.Z)((0,r.Z)((0,r.Z)({sizedLabel:{minWidth:"75px"}},a.Bz),a.bK))}))((function(e){var n=e.open,t=e.closeModal,r=e.classes,o=e.onSet,a=(0,p.TL)(),l=(0,s.useState)(""),d=(0,i.Z)(l,2),x=d[0],f=d[1],h=(0,s.useState)(""),g=(0,i.Z)(h,2),m=g[0],b=g[1],v=(0,s.useState)(!1),y=(0,i.Z)(v,2),k=y[0],C=y[1],I=(0,s.useState)(""),z=(0,i.Z)(I,2),P=z[0],A=z[1],E=(0,s.useState)(""),B=(0,i.Z)(E,2),R=B[0],K=B[1],O=(0,N.Z)((function(e){e.mfa_token?A(e.mfa_token):e.access_token?M("GET","/api/v1/subnet/apikey?token=".concat(e.access_token)):(o(e.apiKey),t())}),(function(e){a((0,u.Ih)(e)),t(),f(""),b(""),C(!1),A(""),K("")})),W=(0,i.Z)(O,2),_=W[0],M=W[1],U=function(){return(0,w.jsxs)(c.Z,{sx:{width:500},children:[(0,w.jsx)(Z.Z,{className:r.spacerBottom,classes:{inputLabel:r.sizedLabel},id:"subnet-email",name:"subnet-email",onChange:function(e){return f(e.target.value)},label:"Email",value:x,overlayIcon:(0,w.jsx)(j.oyc,{})}),(0,w.jsx)(Z.Z,{className:r.spacerBottom,classes:{inputLabel:r.sizedLabel},id:"subnet-password",name:"subnet-password",onChange:function(e){return b(e.target.value)},label:"Password",type:k?"text":"password",value:m,overlayIcon:k?(0,w.jsx)(S.Z,{}):(0,w.jsx)(L.Z,{}),overlayAction:function(){return C(!k)}})]})},G=function(){return(0,w.jsx)(c.Z,{sx:{display:"flex"},children:(0,w.jsxs)(c.Z,{sx:{display:"flex",flexFlow:"column",flex:"2"},children:[(0,w.jsx)(c.Z,{sx:{fontSize:"16px",display:"flex",flexFlow:"column",marginTop:"30px",marginBottom:"30px"},children:"Two-Factor Authentication"}),(0,w.jsx)(c.Z,{children:"Please enter the 6-digit verification code that was sent to your email address. This code will be valid for 5 minutes."}),(0,w.jsx)(c.Z,{sx:{flex:"1",marginTop:"30px"},children:(0,w.jsx)(Z.Z,{overlayIcon:(0,w.jsx)(T.Z,{}),id:"subnet-otp",name:"subnet-otp",onChange:function(e){return K(e.target.value)},placeholder:"",label:"",value:R})}),(0,w.jsx)(c.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"}})]})})};return n?(0,w.jsx)(F.Z,{title:"Get API Key from SUBNET",confirmText:"Get API Key",isOpen:n,titleIcon:(0,w.jsx)(j.szr,{}),isLoading:_,cancelText:"Cancel",onConfirm:function(){""!==P?M("POST","/api/v1/subnet/login/mfa",{username:x,otp:R,mfa_token:P}):M("POST","/api/v1/subnet/login",{username:x,password:m})},onClose:t,confirmButtonProps:{variant:"callAction",disabled:!x||!m||_,hidden:!0},cancelButtonProps:{disabled:_},confirmationContent:""===P?U():G()}):null})),P=function(e){var n=e.icon,t=e.description;return(0,w.jsxs)(c.Z,{sx:{display:"flex","& .min-icon":{marginRight:"10px",height:"23px",width:"23px",marginBottom:"10px"}},children:[n," ",(0,w.jsx)("div",{style:{fontSize:"14px",fontStyle:"italic",color:"#5E5E5E"},children:t})]})},A=function(e){var n=e.hasMargin,t=void 0===n||n;return(0,w.jsxs)(c.Z,{sx:{flex:1,border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"20px",marginLeft:{xs:"0px",sm:"0px",md:t?"30px":""},marginTop:{xs:"0px",sm:t?"30px":""}},children:[(0,w.jsxs)(c.Z,{sx:{fontSize:"16px",fontWeight:600,display:"flex",alignItems:"center",marginBottom:"16px","& .min-icon":{height:"21px",width:"21px",marginRight:"15px"}},children:[(0,w.jsx)(j.M9A,{}),(0,w.jsx)("div",{children:"Why should I register?"})]}),(0,w.jsx)(c.Z,{sx:{fontSize:"14px",marginBottom:"15px"},children:"Registering this cluster with the MinIO Subscription Network (SUBNET) provides the following benefits in addition to the commercial license and SLA backed support."}),(0,w.jsxs)(c.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,w.jsx)(P,{icon:(0,w.jsx)(j._qw,{}),description:"Call Home Monitoring"}),(0,w.jsx)(P,{icon:(0,w.jsx)(j.toM,{}),description:"Health Diagnostics"}),(0,w.jsx)(P,{icon:(0,w.jsx)(j.Fsz,{}),description:"Performance Analysis"}),(0,w.jsx)(P,{icon:(0,w.jsx)(j.EQx,{}),description:(0,w.jsx)(b.Z,{href:"https://min.io/signup?ref=con",target:"_blank",sx:{color:"#2781B0",cursor:"pointer"},children:"More Features"})})]})]})},E=t(57689),B=t(56087),R=(0,l.Z)((function(e){return(0,o.Z)((0,r.Z)({sizedLabel:{minWidth:"75px"}},a.bK))}))((function(e){var n=e.classes,t=e.registerEndpoint,r=(0,E.s0)(),o=(0,s.useState)(!1),a=(0,i.Z)(o,2),l=a[0],x=a[1],f=(0,s.useState)(""),h=(0,i.Z)(f,2),g=h[0],m=h[1],b=(0,s.useState)(!1),v=(0,i.Z)(b,2),y=v[0],C=v[1],I=(0,s.useState)(!1),L=(0,i.Z)(I,2),S=L[0],T=L[1],F=(0,p.TL)(),N=(0,s.useCallback)((function(){if(!y){C(!0);var e={apiKey:g};d.Z.invoke("POST",t,e).then((function(e){C(!1),e&&e.registered&&(F((0,u.cN)(!0)),r(B.gA.LICENSE))})).catch((function(e){F((0,u.Ih)(e)),C(!1),P()}))}}),[g,F,y,t,r]);(0,s.useEffect)((function(){S&&N()}),[S,N]);var P=function(){m(""),T(!1)};return(0,w.jsxs)(s.Fragment,{children:[(0,w.jsx)(c.Z,{sx:{"& .title-text":{marginLeft:"27px",fontWeight:600}},children:(0,w.jsx)(k,{icon:(0,w.jsx)(j.dRy,{}),title:"Register cluster with API key"})}),(0,w.jsxs)(c.Z,{sx:{display:"flex",flexFlow:{xs:"column",md:"row"}},children:[(0,w.jsxs)(c.Z,{sx:{display:"flex",flexFlow:"column",flex:"2"},children:[(0,w.jsx)(c.Z,{sx:{fontSize:"16px",display:"flex",flexFlow:"column",marginTop:"30px",marginBottom:"30px"},children:"Use your MinIO Subscription Network API Key to register this cluster."}),(0,w.jsxs)(c.Z,{sx:{flex:"1"},children:[(0,w.jsx)(Z.Z,{className:n.spacerBottom,classes:{inputLabel:n.sizedLabel},id:"api-key",name:"api-key",onChange:function(e){return m(e.target.value)},label:"API Key",value:g}),(0,w.jsxs)(c.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end","& button":{marginLeft:"8px"}},children:[(0,w.jsx)(j.zxk,{id:"get-from-subnet",variant:"regular",className:n.spacerRight,disabled:y,onClick:function(){return x(!0)},label:"Get from SUBNET"}),(0,w.jsx)(j.zxk,{id:"register",type:"submit",variant:"callAction",disabled:y||0===g.trim().length,onClick:function(){return N()},label:"Register"}),(0,w.jsx)(z,{open:l,closeModal:function(){return x(!1)},onSet:function(e){m(e),T(!0)}})]})]})]}),(0,w.jsx)(A,{})]})]})})),K=t(74165),O=t(15861),W=t(36825),_=t(96382),M=t(38442),U=(0,_.hg)("register/fetchLicenseInfo",function(){var e=(0,O.Z)((0,K.Z)().mark((function e(n,t){var i,r,s,o;return(0,K.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=t.getState,r=t.dispatch,s=i(),o=(0,M.F)(B.C3,B.LC[B.gA.LICENSE],!0),!s.register.loadingLicenseInfo){e.next=6;break}return e.abrupt("return");case 6:o?(r((0,W.pI)(!0)),d.Z.invoke("GET","/api/v1/subnet/info").then((function(e){r((0,W.aO)(e)),r((0,W.Dr)(!0)),r((0,W.pI)(!1))})).catch((function(e){e.detailedError.toLowerCase()!=="License is not present".toLowerCase()&&e.detailedError.toLowerCase()!=="license not found".toLowerCase()&&r((0,u.Ih)(e)),r((0,W.Dr)(!1)),r((0,W.pI)(!1))}))):r((0,W.pI)(!1));case 7:case"end":return e.stop()}}),e)})));return function(n,t){return e.apply(this,arguments)}}()),G=(0,_.hg)("register/callRegister",function(){var e=(0,O.Z)((0,K.Z)().mark((function e(n,t){var i,r;return(0,K.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=t.dispatch,r={token:n.token,account_id:n.account_id},d.Z.invoke("POST","/api/v1/subnet/register",r).then((function(){i((0,W.K4)(!1)),i((0,u.cN)(!0)),i((0,W.jS)()),i(U())})).catch((function(e){i((0,u.Ih)(e)),i((0,W.K4)(!1))}));case 3:case"end":return e.stop()}}),e)})));return function(n,t){return e.apply(this,arguments)}}()),H=(0,_.hg)("register/subnetLoginWithMFA",function(){var e=(0,O.Z)((0,K.Z)().mark((function e(n,t){var i,r,s,o,a,l,c;return(0,K.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=t.getState,t.rejectWithValue,r=t.dispatch,s=i(),o=s.register.subnetEmail,a=s.register.subnetMFAToken,l=s.register.subnetOTP,!s.register.loading){e.next=8;break}return e.abrupt("return");case 8:r((0,W.K4)(!0)),c={username:o,otp:l,mfa_token:a},d.Z.invoke("POST","/api/v1/subnet/login/mfa",c).then((function(e){r((0,W.K4)(!1)),e&&e.access_token&&e.organizations.length>0&&(1===e.organizations.length?r(G({token:e.access_token,account_id:e.organizations[0].accountId.toString()})):(r((0,W.t2)(e.access_token)),r((0,W.dl)(e.organizations)),r((0,W.wK)(e.organizations[0].accountId.toString()))))})).catch((function(e){r((0,u.Ih)(e)),r((0,W.K4)(!1)),r((0,W.Z7)(""))}));case 11:case"end":return e.stop()}}),e)})));return function(n,t){return e.apply(this,arguments)}}()),D=(0,_.hg)("register/subnetLogin",function(){var e=(0,O.Z)((0,K.Z)().mark((function e(n,t){var i,r,s,o,a,l,c;return(0,K.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=t.getState,t.rejectWithValue,r=t.dispatch,s=i(),o=s.register.license,a=s.register.subnetPassword,l=s.register.subnetEmail,!s.register.loading){e.next=8;break}return e.abrupt("return");case 8:r((0,W.K4)(!0)),c={username:l,password:a,apiKey:o},d.Z.invoke("POST","/api/v1/subnet/login",c).then((function(e){r((0,W.K4)(!1)),e&&e.registered?(r((0,W.jS)()),r(U())):e&&e.mfa_token?r((0,W.dK)(e.mfa_token)):e&&e.access_token&&e.organizations.length>0&&(r((0,W.t2)(e.access_token)),r((0,W.dl)(e.organizations)),r((0,W.wK)(e.organizations[0].accountId.toString())))})).catch((function(e){r((0,u.Ih)(e)),r((0,W.K4)(!1)),r((0,W.jS)())}));case 11:case"end":return e.stop()}}),e)})));return function(n,t){return e.apply(this,arguments)}}()),Y=t(27454),V=t(78029),$=t.n(V),q=t(57314),X=function(){var e=(0,p.TL)(),n=(0,x.v9)((function(e){return e.register.subnetRegToken})),t=(0,x.v9)((function(e){return e.register.clusterRegistered})),r=(0,x.v9)((function(e){return e.register.licenseInfo})),o="https://subnet.min.io/cluster/register?token=".concat(n),a=(0,s.useState)(""),l=(0,i.Z)(a,2),d=l[0],f=l[1],h=(0,N.Z)((function(){e(U()),e((0,u.cN)(!0))}),(function(n){e((0,u.Ih)(n))})),g=(0,i.Z)(h,2),m=g[0],v=g[1];return(0,w.jsx)(s.Fragment,{children:(0,w.jsx)(c.Z,{sx:{border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"43px"},children:t&&r?(0,w.jsx)(C,{email:r.email}):(0,w.jsxs)(s.Fragment,{children:[(0,w.jsx)(c.Z,{sx:{"& .title-text":{marginLeft:"27px",fontWeight:600}},children:(0,w.jsx)(k,{icon:(0,w.jsx)(j.YL8,{}),title:"Register cluster in an Air-gap environment"})}),(0,w.jsxs)(c.Z,{sx:{display:"flex"},children:[(0,w.jsx)(c.Z,{sx:{display:"flex",flexFlow:"column",flex:"2",marginTop:"15px","& .step-number":{color:"#ffffff",height:"25px",width:"25px",background:"#081C42",marginRight:"10px",textAlign:"center",fontWeight:600,borderRadius:"50%"},"& .step-row":{fontSize:"16px",display:"flex",marginTop:"15px",marginBottom:"15px"}},children:(0,w.jsxs)(c.Z,{children:[(0,w.jsx)(c.Z,{className:"step-row",children:(0,w.jsx)("div",{className:"step-text",children:"Click on the link to register this cluster in SUBNET and get a License Key for this Air-Gap deployment"})}),(0,w.jsxs)(c.Z,{sx:{flex:"1",display:"flex",alignItems:"center",gap:3},children:[(0,w.jsx)(b.Z,{style:{color:"#2781B0",cursor:"pointer"},color:"inherit",href:o,target:"_blank",children:"https://subnet.min.io/cluster/register"}),(0,w.jsx)(Y.Z,{tooltip:"Copy to Clipboard",children:(0,w.jsx)($(),{text:o,children:(0,w.jsx)(j.zxk,{type:"button",id:"copy-ult-to-clip-board",icon:(0,w.jsx)(j.TIy,{}),color:"primary",variant:"regular"})})})]}),(0,w.jsx)("div",{style:{marginTop:"25px",fontSize:"14px",fontStyle:"italic",color:"#5E5E5E"},children:"Note: If this machine does not have internet connection, Copy paste the following URL in a browser where you access SUBNET and follow the instructions to complete the registration"}),(0,w.jsxs)(c.Z,{sx:{marginTop:"25px",display:"flex",flexDirection:"column"},children:[(0,w.jsxs)("label",{style:{fontWeight:"bold",marginBottom:"10px"},children:["Paste the License Key"," "]}),(0,w.jsx)(q.Z,{value:d,disabled:m,label:"",id:"licenseKey",name:"licenseKey",placeholder:"License Key",onChange:function(e){f(e.target.value)}})]}),(0,w.jsx)(c.Z,{sx:{marginTop:"25px"},children:(0,w.jsx)(j.zxk,{id:"apply-license-key",onClick:function(){v("PUT","/api/v1/configs/subnet",{key_values:[{key:"license",value:d}]})},variant:"callAction",disabled:!d||m,label:"Apply Cluster License"})})]})}),(0,w.jsx)(A,{})]})]})})})},Q=function(){var e=(0,p.TL)(),n=(0,x.v9)((function(e){return e.register.subnetMFAToken})),t=(0,x.v9)((function(e){return e.register.subnetOTP})),i=(0,x.v9)((function(e){return e.register.loading}));return(0,w.jsxs)(c.Z,{sx:{display:"flex"},children:[(0,w.jsxs)(c.Z,{sx:{display:"flex",flexFlow:"column",flex:"2"},children:[(0,w.jsx)(c.Z,{sx:{fontSize:"16px",display:"flex",flexFlow:"column",marginTop:"30px",marginBottom:"30px"},children:"Two-Factor Authentication"}),(0,w.jsx)(c.Z,{children:"Please enter the 6-digit verification code that was sent to your email address. This code will be valid for 5 minutes."}),(0,w.jsx)(c.Z,{sx:{flex:"1",marginTop:"30px"},children:(0,w.jsx)(Z.Z,{overlayIcon:(0,w.jsx)(T.Z,{}),id:"subnet-otp",name:"subnet-otp",onChange:function(n){return e((0,W.Z7)(n.target.value))},placeholder:"",label:"",value:t})}),(0,w.jsx)(c.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"},children:(0,w.jsx)(j.zxk,{id:"verify",onClick:function(){return e(H())},disabled:i||0===t.trim().length||0===n.trim().length,variant:"callAction",label:"Verify"})})]}),(0,w.jsx)(A,{})]})},J=t(90673),ee=function(){var e=(0,p.TL)(),n=(0,x.v9)((function(e){return e.register.subnetAccessToken})),t=(0,x.v9)((function(e){return e.register.selectedSubnetOrganization})),i=(0,x.v9)((function(e){return e.register.subnetOrganizations})),r=(0,x.v9)((function(e){return e.register.loading}));return(0,w.jsxs)(c.Z,{sx:{display:"flex"},children:[(0,w.jsxs)(c.Z,{sx:{display:"flex",flexFlow:"column",flex:"2"},children:[(0,w.jsx)(c.Z,{sx:{marginTop:"15px",marginBottom:"15px","& .title-text":{marginLeft:"0px"}},children:(0,w.jsx)(k,{title:"Register MinIO cluster"})}),(0,w.jsxs)(c.Z,{children:[(0,w.jsx)(J.Z,{id:"subnet-organization",name:"subnet-organization",onChange:function(n){return e((0,W.wK)(n.target.value))},label:"Select an organization",value:t,options:i.map((function(e){return{label:e.company,value:e.accountId.toString()}}))}),(0,w.jsx)(c.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end",marginTop:"15px"},children:(0,w.jsx)(j.zxk,{id:"register-cluster",onClick:function(){return function(){r||(e((0,W.K4)(!0)),n&&t&&e(G({token:n,account_id:t})))}},disabled:r||0===n.trim().length,variant:"callAction",label:"Register"})})]})]}),(0,w.jsx)(A,{})]})},ne=(0,t(72455).Z)((function(e){return(0,o.Z)((0,r.Z)({sizedLabel:{minWidth:"75px"}},a.bK))})),te=function(){var e=ne(),n=(0,p.TL)(),t=(0,x.v9)((function(e){return e.register.subnetPassword})),i=(0,x.v9)((function(e){return e.register.subnetEmail})),r=(0,x.v9)((function(e){return e.register.showPassword})),o=(0,x.v9)((function(e){return e.register.loading}));return(0,w.jsxs)(s.Fragment,{children:[(0,w.jsx)(c.Z,{sx:{"& .title-text":{marginLeft:"27px",fontWeight:600}},children:(0,w.jsx)(k,{icon:(0,w.jsx)(j.dRy,{}),title:"Online activation of MinIO Subscription Network License"})}),(0,w.jsxs)(c.Z,{sx:{display:"flex",flexFlow:{xs:"column",md:"row"}},children:[(0,w.jsxs)(c.Z,{sx:{display:"flex",flexFlow:"column",flex:"2"},children:[(0,w.jsx)(c.Z,{sx:{fontSize:"16px",display:"flex",flexFlow:"column",marginTop:"30px",marginBottom:"30px"},children:"Use your MinIO Subscription Network login credentials to register this cluster."}),(0,w.jsxs)(c.Z,{sx:{flex:"1"},children:[(0,w.jsx)(Z.Z,{className:e.spacerBottom,classes:{inputLabel:e.sizedLabel},id:"subnet-email",name:"subnet-email",onChange:function(e){return n((0,W.Ze)(e.target.value))},label:"Email",value:i,overlayIcon:(0,w.jsx)(j.oyc,{})}),(0,w.jsx)(Z.Z,{className:e.spacerBottom,classes:{inputLabel:e.sizedLabel},id:"subnet-password",name:"subnet-password",onChange:function(e){return n((0,W.lr)(e.target.value))},label:"Password",type:r?"text":"password",value:t,overlayIcon:r?(0,w.jsx)(S.Z,{}):(0,w.jsx)(L.Z,{}),overlayAction:function(){return n((0,W.R5)(!r))}}),(0,w.jsxs)(c.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end","& button":{marginLeft:"8px"}},children:[(0,w.jsx)(j.zxk,{id:"sign-up",type:"submit",className:e.spacerRight,variant:"regular",onClick:function(e){e.preventDefault(),window.open("https://min.io/signup?ref=con","_blank")},label:"Sign up"}),(0,w.jsx)(j.zxk,{id:"register-credentials",type:"submit",variant:"callAction",disabled:o||0===i.trim().length||0===t.trim().length,onClick:function(){return n(D())},label:"Register"})]})]})]}),(0,w.jsx)(A,{})]})]})},ie=t(47974),re=t(99670),se=(0,l.Z)((function(e){return(0,o.Z)((0,r.Z)({sizedLabel:{minWidth:"75px"}},a.bK))}))((function(e){e.classes;var n=(0,p.TL)(),t=(0,x.v9)((function(e){return e.register.subnetMFAToken})),r=(0,x.v9)((function(e){return e.register.subnetAccessToken})),o=(0,x.v9)((function(e){return e.register.subnetRegToken})),a=(0,x.v9)((function(e){return e.register.subnetOrganizations})),l=(0,x.v9)((function(e){return e.register.loading})),m=(0,x.v9)((function(e){return e.register.loadingLicenseInfo})),b=(0,x.v9)((function(e){return e.register.clusterRegistered})),v=(0,x.v9)((function(e){return e.register.licenseInfo})),Z=(0,x.v9)((function(e){return e.register.curTab})),y=(0,s.useState)(!0),k=(0,i.Z)(y,2),L=k[0],S=k[1];(0,s.useEffect)((function(){return function(){n((0,W.jS)())}}),[n]);(0,s.useEffect)((function(){L&&(n(U()),S(!1))}),[L,S,n]);var T=(0,w.jsx)(s.Fragment,{});T=r&&a.length>0?(0,w.jsx)(ee,{}):t?(0,w.jsx)(Q,{}):(0,w.jsx)(te,{});var F=(0,w.jsxs)(s.Fragment,{children:[(0,w.jsx)(c.Z,{sx:{border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"43px"},children:b&&v?(0,w.jsx)(C,{email:v.email}):(0,w.jsx)(R,{registerEndpoint:"/api/v1/subnet/login"})}),(0,w.jsx)(I,{})]}),N=(0,w.jsx)(X,{}),z=(0,w.jsxs)(s.Fragment,{children:[(0,w.jsx)(c.Z,{sx:{border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"43px"},children:b&&v?(0,w.jsx)(C,{email:v.email}):T}),!b&&(0,w.jsx)(I,{})]}),P=m?(0,w.jsx)("div",{children:"Loading.."}):z;return(0,s.useEffect)((function(){n((0,u.Sc)("register"))}),[]),(0,w.jsxs)(s.Fragment,{children:[(0,w.jsx)(ie.Z,{label:"Register to MinIO Subscription Network",actions:(0,w.jsx)(re.Z,{})}),(0,w.jsxs)(j.Xgh,{children:[(0,w.jsxs)(f.Z,{value:Z,onChange:function(e,t){n((0,W.m)(t))},indicatorColor:"primary",textColor:"primary","aria-label":"cluster-tabs",variant:"scrollable",scrollButtons:"auto",children:[(0,w.jsx)(h.Z,{label:"Credentials",id:"simple-tab-0","aria-controls":"simple-tab-panel-0"}),(0,w.jsx)(h.Z,{label:"API Key",id:"simple-tab-1","aria-controls":"simple-tab-panel-1"}),(0,w.jsx)(h.Z,{label:"Air-Gap",id:"simple-tab-2","aria-controls":"simple-tab-panel-2",onClick:function(){l||o||(n((0,W.K4)(!0)),d.Z.invoke("GET","/api/v1/subnet/registration-token").then((function(e){n((0,W.K4)(!1)),e&&e.regToken&&n((0,W.wz)(e.regToken))})).catch((function(e){console.error(e),n((0,u.Ih)(e)),n((0,W.K4)(!1))})))}})]}),(0,w.jsx)(g.x,{index:0,value:Z,children:P}),(0,w.jsx)(g.x,{index:1,value:Z,children:F}),(0,w.jsx)(g.x,{index:2,value:Z,children:N})]})]})}))},74440:function(e,n,t){t(72791);var i=t(64554),r=t(29945),s=t(80184);n.Z=function(e){var n=e.email,t=void 0===n?"":n;return(0,s.jsxs)(i.Z,{sx:{height:"67px",color:"#ffffff",display:"flex",position:"relative",top:"-30px",left:"-32px",width:"calc(100% + 64px)",alignItems:"center",justifyContent:"space-between",backgroundColor:"#2781B0",padding:"0 25px 0 25px","& .registered-box, .reg-badge-box":{display:"flex",alignItems:"center",justifyContent:"flex-start"},"& .reg-badge-box":{marginLeft:"20px","& .min-icon":{fill:"#2781B0"}}},children:[(0,s.jsxs)(i.Z,{className:"registered-box",children:[(0,s.jsx)(i.Z,{sx:{fontSize:"16px",fontWeight:400},children:"Register status:"}),(0,s.jsxs)(i.Z,{className:"reg-badge-box",children:[(0,s.jsx)(r.SA,{}),(0,s.jsx)(i.Z,{sx:{fontWeight:600},children:"Registered"})]})]}),(0,s.jsxs)(i.Z,{className:"registered-acc-box",sx:{alignItems:"center",justifyContent:"flex-start",display:{sm:"flex",xs:"none"}},children:[(0,s.jsx)(i.Z,{sx:{fontSize:"16px",fontWeight:400},children:"Registered to:"}),(0,s.jsx)(i.Z,{sx:{marginLeft:"8px",fontWeight:600},children:t})]})]})}}}]); +//# sourceMappingURL=1516.67512c50.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1516.67512c50.chunk.js.map b/portal-ui/build/static/js/1516.67512c50.chunk.js.map new file mode 100644 index 000000000..a1191c55b --- /dev/null +++ b/portal-ui/build/static/js/1516.67512c50.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1516.67512c50.chunk.js","mappings":"yOA6JA,KAAeA,EAAAA,EAAAA,IAtHA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,IAAYC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACTC,EAAAA,IACAC,EAAAA,IAAa,IAChBC,YAAUH,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACLC,EAAAA,GAAWE,YAAU,IACxBC,SAAU,GACVC,OAAQ,EACRC,WAAY,aACZC,WAAY,OACZC,SAAU,OACVC,QAAS,SAEXC,iBAAkB,CAChBC,SAAU,EACVC,SAAU,YAEZC,iBAAkB,CAChBC,YAAa,UACbC,QAAS,IAEXC,cAAe,CACb,sCAAoChB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAC/BC,EAAAA,GAAWE,YAAU,IACxBC,SAAU,GACVa,UAAW,MAEb,iDAAkD,CAChDH,YAAa,UACbI,YAAa,GAEf,aAAc,CACZC,MAAO,UACPf,SAAU,GACVgB,WAAY,IACZ,gBAAiB,CACfD,MAAO,UACPE,QAAS,EACTD,WAAY,SAIjB,GA4EL,EA1E0B,SAAHE,GAaC,IAZtBC,EAAKD,EAALC,MACAC,EAAQF,EAARE,SACAC,EAAKH,EAALG,MACAC,EAAEJ,EAAFI,GACAC,EAAIL,EAAJK,KAAIC,EAAAN,EACJO,SAAAA,OAAQ,IAAAD,GAAQA,EAAAE,EAAAR,EAChBS,QAAAA,OAAO,IAAAD,EAAG,GAAEA,EAAAE,EAAAV,EACZW,MAAAA,OAAK,IAAAD,EAAG,EAACA,EAAAE,EAAAZ,EACTa,MAAAA,OAAK,IAAAD,EAAG,GAAEA,EAAAE,EAAAd,EACVe,SAAAA,OAAQ,IAAAD,GAAQA,EAAAE,EAAAhB,EAChBiB,YAAAA,OAAW,IAAAD,EAAG,GAAEA,EAChBE,EAAOlB,EAAPkB,QAEIC,EAAkB,CAAE,aAAcR,GAEtC,OACES,EAAAA,EAAAA,KAACC,EAAAA,SAAc,CAAAC,UACbC,EAAAA,EAAAA,MAACC,EAAAA,GAAI,CACHC,MAAI,EACJC,GAAI,GACJC,UAAS,GAAAC,OAAKV,EAAQW,eAAc,KAAAD,OACxB,KAAVf,EAAeK,EAAQY,aAAe,IACrCR,SAAA,CAEQ,KAAVrB,IACCsB,EAAAA,EAAAA,MAACQ,EAAAA,EAAU,CAACC,QAAS5B,EAAIuB,UAAWT,EAAQrC,WAAWyC,SAAA,EACrDC,EAAAA,EAAAA,MAAA,QAAAD,SAAA,CACGrB,EACAc,EAAW,IAAM,MAEP,KAAZN,IACCW,EAAAA,EAAAA,KAAA,OAAKO,UAAWT,EAAQe,iBAAiBX,UACvCF,EAAAA,EAAAA,KAACc,EAAAA,EAAO,CAACC,MAAO1B,EAAS2B,UAAU,YAAWd,UAC5CF,EAAAA,EAAAA,KAAA,OAAKO,UAAWT,EAAQT,QAAQa,UAC9BF,EAAAA,EAAAA,KAACiB,EAAAA,IAAQ,cAQrBjB,EAAAA,EAAAA,KAAA,OAAKO,UAAWT,EAAQ9B,iBAAiBkC,UACvCF,EAAAA,EAAAA,KAACkB,EAAAA,EAAS,CACRlC,GAAIA,EACJC,KAAMA,EACNkC,WAAS,EACTpC,MAAOA,EACPI,SAAUA,EACVL,SAAUA,EACVsC,WAAS,EACTC,KAAM,EACNtB,WAAYA,EACZN,MAAiB,KAAVA,EACP6B,WAAY7B,EACZI,YAAaA,EACb0B,gBAAiB,CACfC,QAAQ,GAEVC,WAAY,CACV3B,QAAS,CACP4B,eAAgB5B,EAAQ3B,iBACxBwD,KAAM7B,EAAQxB,gBAGlBsD,QAAQ,mBAMpB,G,mLCzFMC,GAAe1E,EAAAA,EAAAA,IAAW,SAACC,GAAK,MAAM,CAC1CuE,KAAM,CACJG,MAAO,GACPC,OAAQ,GACR1D,QAAS,EACTV,OAAQ,GAEVqE,WAAY,CACV3D,QAAS,EACT,YAAa,CACX4D,UAAW,mBACXxD,MAAOrB,EAAM8E,QAAQC,OAAOC,MAC5B,aAAc,CACZC,gBAAiB,UACjBC,UAAW,oCACX3D,QAAS,EACT4D,OAAQ,SAGZ,wBAAyB,CACvB9D,MAAO,UACP8D,OAAQ,mBAGZC,MAAO,CACLV,MAAO,GACPC,OAAQ,GACRM,gBAAiB,UACjBE,OAAQ,oBACRE,WAAY,GAEdC,MAAO,CACLC,aAAc,GACdN,gBAAiB,UACjBC,UAAW,oCACX3D,QAAS,EACTiE,WAAYxF,EAAMyF,YAAYC,OAAO,CAAC,mBAAoB,YAE5DC,QAAS,CAAC,EACVC,aAAc,CAAC,EACfC,gBAAiB,CACflF,QAAS,OACTH,WAAY,SACZsF,eAAgB,YAEnB,GA7CoB/F,CA6CjBgG,EAAAA,GAqGJ,KAAehG,EAAAA,EAAAA,IAxKA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,IAAYC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CACX8F,iBAAkB,CAChB1E,WAAY,OACZD,MAAO,sBAET4E,eAAgB,CACd3F,SAAU,GACVe,MAAO,UACPd,OAAQ,gBAEV2F,iBAAkB,CAChBC,UAAW,EACX9E,MAAO,WAETY,QAAS,CACP3B,SAAU,KAET8F,EAAAA,IACAjG,EAAAA,IACF,GAoJL,EAnG0B,SAAHqB,GAcH,IAAD6E,EAAA7E,EAbjBC,MAAAA,OAAK,IAAA4E,EAAG,GAAEA,EACV3E,EAAQF,EAARE,SACAC,EAAKH,EAALG,MACAC,EAAEJ,EAAFI,GACAC,EAAIL,EAAJK,KAAIyE,EAAA9E,EACJmE,QAAAA,OAAO,IAAAW,GAAQA,EAAAxE,EAAAN,EACfO,SAAAA,OAAQ,IAAAD,GAAQA,EAAAyE,EAAA/E,EAChBgF,WAAAA,OAAU,IAAAD,GAAQA,EAAAvE,EAAAR,EAClBS,QAAAA,OAAO,IAAAD,EAAG,GAAEA,EAAAyE,EAAAjF,EACZkF,YAAAA,OAAW,IAAAD,EAAG,GAAEA,EAChB/D,EAAOlB,EAAPkB,QACAiE,EAAenF,EAAfmF,gBAAeC,EAAApF,EACfqF,gBAAAA,OAAe,IAAAD,EAAG,CAAC,EAACA,EAEdE,GACJ/D,EAAAA,EAAAA,MAACF,EAAAA,SAAc,CAAAC,SAAA,EACX0D,IACA5D,EAAAA,EAAAA,KAAA,QACEO,WAAW4D,EAAAA,EAAAA,GAAKrE,EAAQuD,gBAAce,EAAAA,EAAAA,GAAA,GACnCtE,EAAQsD,kBAAoBL,IAC5B7C,SAEF6D,GAAmBA,EAAgBM,OAAS,EACzCN,EAAgB,GAChB,SAGR/D,EAAAA,EAAAA,KAAC6B,EAAY,CACXkB,QAASA,EACTjE,SAAUA,EACVL,MAAM,UACNQ,KAAMA,EACNc,YAAUzC,EAAAA,EAAAA,GAAA,CAAI,aAAc,oBAAuB2G,GACnD9E,SAAUA,EACVmF,eAAa,EACbC,oBAAkB,EAClBC,oBAAkB,EAClBzF,MAAOA,EACPC,GAAIA,KAEJ4E,IACA5D,EAAAA,EAAAA,KAAA,QACEO,WAAW4D,EAAAA,EAAAA,GAAKrE,EAAQuD,gBAAce,EAAAA,EAAAA,GAAA,GACnCtE,EAAQsD,iBAAmBL,IAC3B7C,SAEF6D,EAAkBA,EAAgB,GAAK,UAMhD,OAAIH,EACKM,GAIPlE,EAAAA,EAAAA,KAAA,OAAAE,UACEC,EAAAA,EAAAA,MAACC,EAAAA,GAAI,CAACqE,WAAS,EAAC7G,WAAY,SAASsC,SAAA,EACnCF,EAAAA,EAAAA,KAACI,EAAAA,GAAI,CAACC,MAAI,EAACC,GAAI,GAAIoE,GAAI,EAAGC,GAAI,EAAEzE,SACnB,KAAVrB,IACCsB,EAAAA,EAAAA,MAACQ,EAAAA,EAAU,CAACC,QAAS5B,EAAIuB,UAAWT,EAAQrC,WAAWyC,SAAA,EACrDF,EAAAA,EAAAA,KAAA,QAAAE,SAAOrB,IACM,KAAZQ,IACCW,EAAAA,EAAAA,KAAA,OAAKO,UAAWT,EAAQe,iBAAiBX,UACvCF,EAAAA,EAAAA,KAACc,EAAAA,EAAO,CAACC,MAAO1B,EAAS2B,UAAU,YAAWd,UAC5CF,EAAAA,EAAAA,KAAA,OAAKO,UAAWT,EAAQT,QAAQa,UAC9BF,EAAAA,EAAAA,KAACiB,EAAAA,IAAQ,gBAQvBjB,EAAAA,EAAAA,KAACI,EAAAA,GAAI,CACHC,MAAI,EACJC,GAAI,GACJoE,GAAc,KAAV7F,EAAe,EAAI,GACvB8F,GAAc,KAAV9F,EAAe,EAAI,GACvB+F,UAAW,QACX1B,eAAgB,MAChB3C,UAAWT,EAAQmD,gBAAgB/C,SAElCgE,IAEc,KAAhBJ,IACC9D,EAAAA,EAAAA,KAACI,EAAAA,GAAI,CAACC,MAAI,EAACC,GAAI,GAAIsE,UAAW,OAAO1E,UACnCF,EAAAA,EAAAA,KAAC6E,EAAAA,EAAU,CAACC,UAAU,IAAIvE,UAAWT,EAAQwD,iBAAiBpD,SAC3D4D,UAOf,G,qNCpHMiB,GAAcC,EAAAA,EAAAA,IAAW,SAAC5H,GAAY,OAC1CC,EAAAA,EAAAA,IAAYC,EAAAA,EAAAA,GAAC,CAAC,EACT2H,EAAAA,IACH,IAGJ,SAASC,EAAWC,GAClB,IAAMrF,EAAUiF,IAEhB,OACE/E,EAAAA,EAAAA,KAACkB,EAAAA,GAAS5D,EAAAA,EAAAA,GAAA,CACRmE,WAAY,CAAE3B,QAAAA,IACVqF,GAGV,CAwJA,KAAehI,EAAAA,EAAAA,IA7LA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,IAAYC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACTC,EAAAA,IACAC,EAAAA,IAAa,IAChBQ,iBAAkB,CAChBC,SAAU,EACVC,SAAU,YAEZkH,cAAe,CACblH,SAAU,WACVmH,MAAO,EACPC,IAAK,EACL,QAAS,CACPC,SAAU,GACVC,UAAW,IAEb,cAAe,CACbF,IAAK,MAGR,GAyKL,EAtJwB,SAAH1G,GA8BC,IA7BpBC,EAAKD,EAALC,MACAC,EAAQF,EAARE,SACAC,EAAKH,EAALG,MACAC,EAAEJ,EAAFI,GACAC,EAAIL,EAAJK,KAAIwG,EAAA7G,EACJ8G,KAAAA,OAAI,IAAAD,EAAG,OAAMA,EAAAE,EAAA/G,EACbgH,aAAAA,OAAY,IAAAD,EAAG,MAAKA,EAAAzG,EAAAN,EACpBO,SAAAA,OAAQ,IAAAD,GAAQA,EAAA2G,EAAAjH,EAChBwC,UAAAA,OAAS,IAAAyE,GAAQA,EAAAzG,EAAAR,EACjBS,QAAAA,OAAO,IAAAD,EAAG,GAAEA,EAAAE,EAAAV,EACZW,MAAAA,OAAK,IAAAD,EAAG,EAACA,EAAAE,EAAAZ,EACTa,MAAAA,OAAK,IAAAD,EAAG,GAAEA,EAAAE,EAAAd,EACVe,SAAAA,OAAQ,IAAAD,GAAQA,EAAAE,EAAAhB,EAChBiB,YAAAA,OAAW,IAAAD,EAAG,GAAEA,EAChBkG,EAAGlH,EAAHkH,IACAC,EAAGnH,EAAHmH,IACAC,EAASpH,EAAToH,UAASC,EAAArH,EACTsH,YAAAA,OAAW,IAAAD,EAAG,KAAIA,EAAAE,EAAAvH,EAClBwH,cAAAA,OAAa,IAAAD,EAAG,KAAIA,EAAAnC,EAAApF,EACpBqF,gBAAAA,OAAe,IAAAD,EAAG,CAAC,EAACA,EACpBoB,EAAaxG,EAAbwG,cAAaiB,EAAAzH,EACb0H,gBAAAA,OAAe,IAAAD,GAAQA,EAAAE,EAAA3H,EACvB4H,QAAAA,OAAO,IAAAD,EAAG,GAAEA,EAAAE,EAAA7H,EACZ8H,UAAAA,OAAS,IAAAD,GAAQA,EACjB3G,EAAOlB,EAAPkB,QAAO6G,GAAA/H,EACP2B,UAAAA,QAAS,IAAAoG,GAAG,GAAEA,GACdC,GAAUhI,EAAVgI,WACAC,GAAOjI,EAAPiI,QACAC,GAAOlI,EAAPkI,QAEI/G,IAAezC,EAAAA,EAAAA,GAAA,CAAK,aAAciC,GAAU0E,GAChD8C,IAA8CC,EAAAA,EAAAA,WAAkB,GAAMC,IAAAC,EAAAA,EAAAA,GAAAH,GAAA,GAA/DI,GAAeF,GAAA,GAAEG,GAAkBH,GAAA,GAE7B,WAATvB,GAAqBI,IACvB/F,GAAgB,IAAI+F,GAGT,WAATJ,GAAqBK,IACvBhG,GAAgB,IAAIgG,GAGN,KAAZS,IACFzG,GAAoB,QAAIyG,GAG1B,IAAIa,GAAsBnB,EACtBoB,GAAsB5B,EAW1B,MATa,aAATA,GAAuC,OAAhBQ,IACzBmB,GAAsBF,IACpBnH,EAAAA,EAAAA,KAACuH,EAAAA,EAAiB,KAElBvH,EAAAA,EAAAA,KAACwH,EAAAA,EAAgB,IAEnBF,GAAsBH,GAAkB,OAAS,aAIjDnH,EAAAA,EAAAA,KAACC,EAAAA,SAAc,CAAAC,UACbC,EAAAA,EAAAA,MAACC,EAAAA,GAAI,CACHqE,WAAS,EACTlE,WAAW4D,EAAAA,EAAAA,GACK,KAAd5D,GAAmBA,GAAY,GACrB,KAAVd,EAAeK,EAAQY,aAAeZ,EAAQ2H,mBAC9CvH,SAAA,CAES,KAAVrB,IACCsB,EAAAA,EAAAA,MAACQ,EAAAA,EAAU,CACTC,QAAS5B,EACTuB,UACE+F,EAAkBxG,EAAQ4H,gBAAkB5H,EAAQrC,WACrDyC,SAAA,EAEDC,EAAAA,EAAAA,MAAA,QAAAD,SAAA,CACGrB,EACAc,EAAW,IAAM,MAEP,KAAZN,IACCW,EAAAA,EAAAA,KAAA,OAAKO,UAAWT,EAAQe,iBAAiBX,UACvCF,EAAAA,EAAAA,KAACc,EAAAA,EAAO,CAACC,MAAO1B,EAAS2B,UAAU,YAAWd,UAC5CF,EAAAA,EAAAA,KAAA,OAAKO,UAAWT,EAAQT,QAAQa,UAC9BF,EAAAA,EAAAA,KAACiB,EAAAA,IAAQ,cAQrBd,EAAAA,EAAAA,MAAA,OAAKI,UAAWT,EAAQ9B,iBAAiBkC,SAAA,EACvCF,EAAAA,EAAAA,KAACkF,EAAU,CACTlG,GAAIA,EACJC,KAAMA,EACNkC,WAAS,EACTpC,MAAOA,EACP2H,UAAWA,EACXvH,SAAUA,EACVL,SAAUA,EACV4G,KAAM4B,GACNlG,UAAWA,EACXwE,aAAcA,EACd7F,WAAYA,GACZN,MAAiB,KAAVA,EACP6B,WAAY7B,EACZI,YAAaA,EACbU,UAAWT,EAAQ6H,YACnBf,WAAYA,GACZC,QAASA,GACTC,QAASA,KAEVO,KACCrH,EAAAA,EAAAA,KAAA,OACEO,UAAS,GAAAC,OAAKV,EAAQsF,cAAa,KAAA5E,OACvB,KAAV3B,EAAe,YAAc,IAC5BqB,UAEHF,EAAAA,EAAAA,KAAC4H,EAAAA,EAAU,CACTC,QACEzC,EACI,WACEA,GACF,EACA,kBAAMgC,IAAoBD,GAAgB,EAEhDnI,GAAIgH,EACJ8B,KAAM,QACNvD,oBAAoB,EACpBD,eAAe,EACfE,oBAAoB,EAAMtE,SAEzBmH,OAINjB,IACCpG,EAAAA,EAAAA,KAAA,OACEO,UAAS,GAAAC,OAAKV,EAAQsF,cAAa,KAAA5E,OACvB,KAAV3B,EAAe,YAAc,IAC5BqB,SAEFkG,WAOf,G,qLCtMM2B,GAAe5K,EAAAA,EAAAA,IAAW,SAACC,GAAY,OAC3CC,EAAAA,EAAAA,GAAa,CACXsE,KAAM,CACJI,OAAQ,GACRiG,WAAY,EACZ,YAAa,CACXzE,UAAWnG,EAAM6K,QAAQ,KAG7BC,MAAO,CACLnG,OAAQ,GACR7D,SAAU,WACVO,MAAO,UACPf,SAAU,GACVgB,WAAY,IACZL,QAAS,qBACTkE,OAAQ,oBACRI,aAAc,EACd5E,QAAS,OACTH,WAAY,SACZ,UAAW,CACTQ,YAAa,WAEf,UAAW,CACTiE,gBAAiB,UAGrB,GA3BiBlF,CA4BnBgL,EAAAA,IAsDF,KAAehL,EAAAA,EAAAA,IA9FA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,IAAYC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACTC,EAAAA,IACAC,EAAAA,IAAa,IAChBiD,eAAgB,CACd1C,QAAS,OACT,4BAA6B,CAC3BqK,SAAU,aAGb,GAoFL,EApDsB,SAAHxJ,GAUC,IATlBkB,EAAOlB,EAAPkB,QACAd,EAAEJ,EAAFI,GACAC,EAAIL,EAAJK,KACAH,EAAQF,EAARE,SACAuJ,EAAOzJ,EAAPyJ,QACAxJ,EAAKD,EAALC,MAAKO,EAAAR,EACLS,QAAAA,OAAO,IAAAD,EAAG,GAAEA,EACZL,EAAKH,EAALG,MAAKG,EAAAN,EACLO,SAAAA,OAAQ,IAAAD,GAAQA,EAEhB,OACEc,EAAAA,EAAAA,KAACC,EAAAA,SAAc,CAAAC,UACbC,EAAAA,EAAAA,MAACC,EAAAA,GAAI,CAACC,MAAI,EAACC,GAAI,GAAIC,UAAWT,EAAQW,eAAeP,SAAA,CACxC,KAAVrB,IACCsB,EAAAA,EAAAA,MAACQ,EAAAA,EAAU,CAACC,QAAS5B,EAAIuB,UAAWT,EAAQrC,WAAWyC,SAAA,EACrDF,EAAAA,EAAAA,KAAA,QAAAE,SAAOrB,IACM,KAAZQ,IACCW,EAAAA,EAAAA,KAAA,OAAKO,UAAWT,EAAQe,iBAAiBX,UACvCF,EAAAA,EAAAA,KAACc,EAAAA,EAAO,CAACC,MAAO1B,EAAS2B,UAAU,YAAWd,UAC5CF,EAAAA,EAAAA,KAAA,OAAKO,UAAWT,EAAQT,QAAQa,UAC9BF,EAAAA,EAAAA,KAACiB,EAAAA,IAAQ,cAOrBjB,EAAAA,EAAAA,KAACsI,EAAAA,EAAW,CAACnH,WAAS,EAAAjB,UACpBF,EAAAA,EAAAA,KAACuI,EAAAA,EAAM,CACLvJ,GAAIA,EACJC,KAAMA,EACNF,MAAOA,EACPD,SAAUA,EACVoJ,OAAOlI,EAAAA,EAAAA,KAAC+H,EAAY,IACpB5I,SAAUA,EAASe,SAElBmI,EAAQG,KAAI,SAACC,GAAM,OAClBzI,EAAAA,EAAAA,KAAC0I,EAAAA,EAAQ,CACP3J,MAAO0J,EAAO1J,MAAMmB,SAGnBuI,EAAO5J,OAAK,UAAA2B,OAFEvB,EAAI,KAAAuB,OAAIiI,EAAO5J,OAGrB,YAOzB,G,gTCtIa8J,EAAY,SAAH/J,GAMf,IAADgK,EAAAhK,EALJiK,KAAAA,OAAI,IAAAD,EAAG,KAAIA,EACX7H,EAAKnC,EAALmC,MAKA,OACEZ,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CACFC,GAAI,CACFhL,QAAS,OACTH,WAAY,SACZsF,eAAgB,cAChBhD,SAAA,CAED2I,GACD7I,EAAAA,EAAAA,KAAA,OAAKO,UAAU,aAAYL,SAAEa,MAGnC,EAEaiI,EAAoB,SAAHC,GAAsC,IAAhCC,EAAKD,EAALC,MAClC,OACE/I,EAAAA,EAAAA,MAACgJ,EAAAA,SAAQ,CAAAjJ,SAAA,EACPF,EAAAA,EAAAA,KAACoJ,EAAAA,EAAwB,CAACF,MAAOA,KACjClJ,EAAAA,EAAAA,KAACI,EAAAA,GAAI,CAACC,MAAI,EAACC,GAAI,GAAIiD,UAAW,OAAOrD,UACnCC,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CACFC,GAAI,CACF1K,QAAS,OACT,MAAO,CACLI,MAAO,UACP4K,OAAQ,YAEVnJ,SAAA,CACH,WACU,KACTF,EAAAA,EAAAA,KAACsJ,EAAAA,EAAI,CACHC,KAAK,wBACLC,OAAO,SACPC,MAAO,CACLhL,MAAO,UACP4K,OAAQ,WACRnJ,SACH,WAEO,IAAI,iDAMtB,EAEawJ,EAAqB,WAChC,IAAMC,EACJ,mDACF5C,GAAoDC,EAAAA,EAAAA,WAAS,GAAMC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAA5D6C,EAAkB3C,EAAA,GAAE4C,EAAqB5C,EAAA,GAChD,OACEjH,EAAAA,EAAAA,KAACmJ,EAAAA,SAAQ,CAAAjJ,UACPC,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CACFC,GAAI,CACFxG,OAAQ,oBACRI,aAAc,MACd5E,QAAS,OACTM,QAAS,OACTkF,UAAW,OACX3F,WAAY,QACZsF,eAAgB,iBAChBhD,SAAA,EAEFC,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CACFC,GAAI,CACFhL,QAAS,OACTqK,SAAU,UACVlI,SAAA,EAEFC,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CACFC,GAAI,CACFhL,QAAS,OACT,cAAe,CACbgE,OAAQ,OACRD,MAAO,SAET5B,SAAA,EAEFF,EAAAA,EAAAA,KAAC8J,EAAAA,IAAY,KACb9J,EAAAA,EAAAA,KAAA,OAAKyJ,MAAO,CAAEhH,WAAY,OAAQ/D,WAAY,KAAMwB,SAAC,4BAIvDC,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CACFC,GAAI,CACFxF,UAAW,OACXwG,aAAc,OACdrM,SAAU,QACVwC,SAAA,CACH,uDACsD,KACrDF,EAAAA,EAAAA,KAACsJ,EAAAA,EAAI,CACHG,MAAO,CACLhL,MAAO,UACP4K,OAAQ,WAEVE,KAAK,wFACLC,OAAO,SAAQtJ,SAChB,sBAEO,IAAI,6BAGdF,EAAAA,EAAAA,KAAC8I,EAAAA,EAAG,CAAA5I,SACD0J,IACC5J,EAAAA,EAAAA,KAACgK,EAAAA,EAAe,CACd7K,UAAQ,EACRH,GAAG,cACHC,KAAK,cACLY,YAAY,GACZf,SAAU,WAAO,EACjBD,MAAM,GACNE,MAAO4K,EACPzD,aAAalG,EAAAA,EAAAA,KAACiK,EAAAA,IAAQ,IACtBhG,gBAAiB,CACfiG,UAAU,GAEZ9E,cAAe,kBACb+E,UAAUC,UAAUC,UAAUV,EAA0B,UAMlE3J,EAAAA,EAAAA,KAAC8I,EAAAA,EAAG,CACFC,GAAI,CACFhL,QAAS,QACTmC,UAEFF,EAAAA,EAAAA,KAACsK,EAAAA,EAAiB,CAChBvL,MAAM,cACNC,GAAG,cACHC,KAAK,cACL8D,QAAS6G,EACT9K,SAAU,SAACyL,GACTV,EAAsBU,EAAMf,OAAOzG,QACrC,UAMZ,E,qDCgEA,GAAe5F,EAAAA,EAAAA,IAxLA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,IAAYC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CACXkN,WAAY,CACVC,SAAU,SAETC,EAAAA,IACAC,EAAAA,IACF,GAiLL,EAxKuB,SAAH/L,GAKS,IAJ3BgM,EAAIhM,EAAJgM,KACAC,EAAUjM,EAAViM,WACA/K,EAAOlB,EAAPkB,QACAgL,EAAKlM,EAALkM,MAEMC,GAAWC,EAAAA,EAAAA,MACjBjE,GAA0BC,EAAAA,EAAAA,UAAiB,IAAGC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAvCmC,EAAKjC,EAAA,GAAEgE,EAAQhE,EAAA,GACtBiE,GAAgClE,EAAAA,EAAAA,UAAS,IAAGmE,GAAAjE,EAAAA,EAAAA,GAAAgE,EAAA,GAArCE,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GAC5BG,GAAwCtE,EAAAA,EAAAA,WAAS,GAAMuE,GAAArE,EAAAA,EAAAA,GAAAoE,EAAA,GAAhDE,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GACpCG,GAAgC1E,EAAAA,EAAAA,UAAS,IAAG2E,GAAAzE,EAAAA,EAAAA,GAAAwE,EAAA,GAArCE,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GAC5BG,GAAkC9E,EAAAA,EAAAA,UAAS,IAAG+E,GAAA7E,EAAAA,EAAAA,GAAA4E,EAAA,GAAvCE,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAuB9BG,GAA+BC,EAAAA,EAAAA,IAXb,SAACC,GACbA,EAAIC,UACNR,EAAYO,EAAIC,WACPD,EAAIE,aACbC,EAAU,MAAM,+BAAD/L,OAAiC4L,EAAIE,gBAEpDxB,EAAMsB,EAAII,QACV3B,IAEJ,IAnBgB,SAAC4B,GACf1B,GAAS2B,EAAAA,EAAAA,IAAqBD,IAC9B5B,IACAI,EAAS,IACTI,EAAY,IACZI,GAAgB,GAChBI,EAAY,IACZI,EAAa,GACf,IAayDU,GAAAzF,EAAAA,EAAAA,GAAAgF,EAAA,GAAlDU,EAASD,EAAA,GAAEJ,EAASI,EAAA,GAqBrBE,EAAuB,WAC3B,OACE1M,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CAACC,GAAI,CAAEjH,MAAO,KAAM5B,SAAA,EACtBF,EAAAA,EAAAA,KAACgK,EAAAA,EAAe,CACdzJ,UAAWT,EAAQgN,aACnBhN,QAAS,CACPrC,WAAYqC,EAAQ0K,YAEtBxL,GAAG,eACHC,KAAK,eACLH,SAAU,SAACyL,GAA0C,OACnDU,EAASV,EAAMf,OAAOzK,MAAM,EAE9BF,MAAM,QACNE,MAAOmK,EACPhD,aAAalG,EAAAA,EAAAA,KAAC+M,EAAAA,IAAS,OAEzB/M,EAAAA,EAAAA,KAACgK,EAAAA,EAAe,CACdzJ,UAAWT,EAAQgN,aACnBhN,QAAS,CACPrC,WAAYqC,EAAQ0K,YAEtBxL,GAAG,kBACHC,KAAK,kBACLH,SAAU,SAACyL,GAA0C,OACnDc,EAAYd,EAAMf,OAAOzK,MAAM,EAEjCF,MAAM,WACN6G,KAAM8F,EAAe,OAAS,WAC9BzM,MAAOqM,EACPlF,YACEsF,GAAexL,EAAAA,EAAAA,KAACuH,EAAAA,EAAiB,KAAMvH,EAAAA,EAAAA,KAACwH,EAAAA,EAAgB,IAE1DpC,cAAe,kBAAMqG,GAAiBD,EAAa,MAI3D,EAEMwB,EAAe,WACnB,OACEhN,EAAAA,EAAAA,KAAC8I,EAAAA,EAAG,CAACC,GAAI,CAAEhL,QAAS,QAASmC,UAC3BC,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CAACC,GAAI,CAAEhL,QAAS,OAAQqK,SAAU,SAAU6E,KAAM,KAAM/M,SAAA,EAC1DF,EAAAA,EAAAA,KAAC8I,EAAAA,EAAG,CACFC,GAAI,CACFrL,SAAU,OACVK,QAAS,OACTqK,SAAU,SACV7E,UAAW,OACXwG,aAAc,QACd7J,SACH,+BAIDF,EAAAA,EAAAA,KAAC8I,EAAAA,EAAG,CAAA5I,SAAC,4HAKLF,EAAAA,EAAAA,KAAC8I,EAAAA,EAAG,CACFC,GAAI,CACFkE,KAAM,IACN1J,UAAW,QACXrD,UAEFF,EAAAA,EAAAA,KAACgK,EAAAA,EAAe,CACd9D,aAAalG,EAAAA,EAAAA,KAACkN,EAAAA,EAAgB,IAC9BlO,GAAG,aACHC,KAAK,aACLH,SAAU,SAACyL,GAA0C,OACnD0B,EAAa1B,EAAMf,OAAOzK,MAAM,EAElCc,YAAY,GACZhB,MAAM,GACNE,MAAOiN,OAGXhM,EAAAA,EAAAA,KAAC8I,EAAAA,EAAG,CACFC,GAAI,CACFhL,QAAS,OACTH,WAAY,SACZsF,eAAgB,kBAM5B,EAEA,OAAO0H,GACL5K,EAAAA,EAAAA,KAACmN,EAAAA,EAAa,CACZpM,MAAO,0BACPqM,YAAa,cACbC,OAAQzC,EACR0C,WAAWtN,EAAAA,EAAAA,KAACuN,EAAAA,IAAQ,IACpBX,UAAWA,EACXY,WAAY,SACZC,UArHc,WACC,KAAb7B,EACFW,EAAU,OAAQ,2BAA4B,CAC5CmB,SAAUxE,EACVyE,IAAK3B,EACLK,UAAWT,IAGbW,EAAU,OAAQ,uBAAwB,CAAEmB,SAAUxE,EAAOkC,SAAAA,GAEjE,EA4GIwC,QAAS/C,EACTgD,mBAAoB,CAClBjM,QAAS,aACTzC,UAAW+J,IAAUkC,GAAYwB,EACjCkB,QAAQ,GAEVC,kBAAmB,CACjB5O,SAAUyN,GAEZoB,oBAlHe,KAAbpC,EACKiB,IAEFG,MAiHL,IACN,IChMMiB,EAAc,SAAHrP,GAMV,IALLiK,EAAIjK,EAAJiK,KACA/E,EAAWlF,EAAXkF,YAKA,OACE3D,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CACFC,GAAI,CACFhL,QAAS,OACT,cAAe,CACbmQ,YAAa,OACbnM,OAAQ,OACRD,MAAO,OACPiI,aAAc,SAEhB7J,SAAA,CAED2I,EAAM,KACP7I,EAAAA,EAAAA,KAAA,OAAKyJ,MAAO,CAAE/L,SAAU,OAAQyQ,UAAW,SAAU1P,MAAO,WAAYyB,SACrE4D,MAIT,EAoFA,EAnFwB,SAAHmF,GAAuD,IAADmF,EAAAnF,EAAhDoF,UAAAA,OAAS,IAAAD,GAAOA,EACzC,OACEjO,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CACFC,GAAI,CACFkE,KAAM,EACN1K,OAAQ,oBACRI,aAAc,MACd5E,QAAS,OACTqK,SAAU,SACV/J,QAAS,OACToE,WAAY,CACVnC,GAAI,MACJoE,GAAI,MACJC,GAAI0J,EAAY,OAAS,IAE3B9K,UAAW,CACTjD,GAAI,MACJoE,GAAI2J,EAAY,OAAS,KAE3BnO,SAAA,EAEFC,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CACFC,GAAI,CACFrL,SAAU,OACVgB,WAAY,IACZX,QAAS,OACTH,WAAY,SACZmM,aAAc,OAEd,cAAe,CACbhI,OAAQ,OACRD,MAAO,OACPoM,YAAa,SAEfhO,SAAA,EAEFF,EAAAA,EAAAA,KAACsO,EAAAA,IAAc,KACftO,EAAAA,EAAAA,KAAA,OAAAE,SAAK,+BAEPF,EAAAA,EAAAA,KAAC8I,EAAAA,EAAG,CAACC,GAAI,CAAErL,SAAU,OAAQqM,aAAc,QAAS7J,SAAC,yKAMrDC,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CACFC,GAAI,CACFhL,QAAS,OACTqK,SAAU,UACVlI,SAAA,EAEFF,EAAAA,EAAAA,KAACiO,EAAW,CACVpF,MAAM7I,EAAAA,EAAAA,KAACuO,EAAAA,IAAmB,IAC1BzK,YAAW,0BAEb9D,EAAAA,EAAAA,KAACiO,EAAW,CACVpF,MAAM7I,EAAAA,EAAAA,KAACwO,EAAAA,IAAsB,IAC7B1K,YAAW,wBAEb9D,EAAAA,EAAAA,KAACiO,EAAW,CACVpF,MAAM7I,EAAAA,EAAAA,KAACyO,EAAAA,IAAsB,IAC7B3K,YAAW,0BAEb9D,EAAAA,EAAAA,KAACiO,EAAW,CACVpF,MAAM7I,EAAAA,EAAAA,KAAC0O,EAAAA,IAAiB,IACxB5K,aACE9D,EAAAA,EAAAA,KAACsJ,EAAAA,EAAI,CACHC,KAAK,gCACLC,OAAO,SACPT,GAAI,CACFtK,MAAO,UACP4K,OAAQ,WACRnJ,SACH,yBAQb,E,sBCiEA,GAAe/C,EAAAA,EAAAA,IA3JA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,IAAYC,EAAAA,EAAAA,GAAC,CACXkN,WAAY,CACVC,SAAU,SAETE,EAAAA,IACF,GAqJL,EAnJuB,SAAH/L,GAAwD,IAAlDkB,EAAOlB,EAAPkB,QAAS6O,EAAgB/P,EAAhB+P,iBAC3BC,GAAWC,EAAAA,EAAAA,MAEjB9H,GAA8CC,EAAAA,EAAAA,WAAS,GAAMC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAtD+H,EAAe7H,EAAA,GAAE8H,EAAkB9H,EAAA,GAC1CiE,GAA4BlE,EAAAA,EAAAA,UAAS,IAAGmE,GAAAjE,EAAAA,EAAAA,GAAAgE,EAAA,GAAjCsB,EAAMrB,EAAA,GAAE6D,EAAS7D,EAAA,GACxBG,GAA8BtE,EAAAA,EAAAA,WAAS,GAAMuE,GAAArE,EAAAA,EAAAA,GAAAoE,EAAA,GAAtC2D,EAAO1D,EAAA,GAAE2D,EAAU3D,EAAA,GAC1BG,GAAkC1E,EAAAA,EAAAA,WAAS,GAAM2E,GAAAzE,EAAAA,EAAAA,GAAAwE,EAAA,GAA1CyD,EAASxD,EAAA,GAAEyD,EAAYzD,EAAA,GACxBZ,GAAWC,EAAAA,EAAAA,MAEXqE,GAAaC,EAAAA,EAAAA,cAAY,WAC7B,IAAIL,EAAJ,CAGAC,GAAW,GACX,IAAIK,EAA8B,CAAE/C,OAAAA,GACpCgD,EAAAA,EACGC,OAAO,OAAQd,EAAkBY,GACjCG,MAAK,SAACC,GACLT,GAAW,GACPS,GAAQA,EAAKC,aACf7E,GAAS8E,EAAAA,EAAAA,KAAsB,IAC/BjB,EAASkB,EAAAA,GAAUC,SAEvB,IACCC,OAAM,SAACvD,GACN1B,GAAS2B,EAAAA,EAAAA,IAAqBD,IAC9ByC,GAAW,GACXe,GACF,GAhBF,CAiBF,GAAG,CAACzD,EAAQzB,EAAUkE,EAASN,EAAkBC,KAEjDsB,EAAAA,EAAAA,YAAU,WACJf,GACFE,GAEJ,GAAG,CAACF,EAAWE,IAEf,IAAMY,EAAQ,WACZjB,EAAU,IACVI,GAAa,EACf,EAEA,OACEjP,EAAAA,EAAAA,MAACgJ,EAAAA,SAAQ,CAAAjJ,SAAA,EACPF,EAAAA,EAAAA,KAAC8I,EAAAA,EAAG,CACFC,GAAI,CACF,gBAAiB,CACftG,WAAY,OACZ/D,WAAY,MAEdwB,UAEFF,EAAAA,EAAAA,KAAC2I,EAAS,CACRE,MAAM7I,EAAAA,EAAAA,KAACmQ,EAAAA,IAAsB,IAC7BpP,MAAK,qCAGTZ,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CACFC,GAAI,CACFhL,QAAS,OACTqK,SAAU,CACR9H,GAAI,SACJqE,GAAI,QAENzE,SAAA,EAEFC,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CACFC,GAAI,CACFhL,QAAS,OACTqK,SAAU,SACV6E,KAAM,KACN/M,SAAA,EAEFF,EAAAA,EAAAA,KAAC8I,EAAAA,EAAG,CACFC,GAAI,CACFrL,SAAU,OACVK,QAAS,OACTqK,SAAU,SACV7E,UAAW,OACXwG,aAAc,QACd7J,SACH,2EAIDC,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CACFC,GAAI,CACFkE,KAAM,KACN/M,SAAA,EAEFF,EAAAA,EAAAA,KAACgK,EAAAA,EAAe,CACdzJ,UAAWT,EAAQgN,aACnBhN,QAAS,CACPrC,WAAYqC,EAAQ0K,YAEtBxL,GAAG,UACHC,KAAK,UACLH,SAAU,SAACyL,GAA0C,OACnDyE,EAAUzE,EAAMf,OAAOzK,MAAM,EAE/BF,MAAM,UACNE,MAAOyN,KAGTrM,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CACFC,GAAI,CACFhL,QAAS,OACTH,WAAY,SACZsF,eAAgB,WAChB,WAAY,CACVT,WAAY,QAEdvC,SAAA,EAEFF,EAAAA,EAAAA,KAACoQ,EAAAA,IAAM,CACLpR,GAAI,kBACJ4C,QAAQ,UACRrB,UAAWT,EAAQuQ,YACnBlR,SAAU8P,EACVpH,QAAS,kBAAMkH,GAAmB,EAAK,EACvClQ,MAAO,qBAETmB,EAAAA,EAAAA,KAACoQ,EAAAA,IAAM,CACLpR,GAAI,WACJ0G,KAAK,SACL9D,QAAQ,aACRzC,SAAU8P,GAAoC,IAAzBzC,EAAO8D,OAAOjM,OACnCwD,QAAS,kBAAMwH,GAAY,EAC3BxQ,MAAO,cAETmB,EAAAA,EAAAA,KAACuQ,EAAc,CACb3F,KAAMkE,EACNjE,WAAY,kBAAMkE,GAAmB,EAAM,EAC3CjE,MAAO,SAAC/L,GACNiQ,EAAUjQ,GACVqQ,GAAa,EACf,cAKRpP,EAAAA,EAAAA,KAACwQ,EAAe,SAIxB,I,uDClJaC,GAAmBC,EAAAA,EAAAA,IAC9B,4BAA2B,eAAAzH,GAAA0H,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAC3B,SAAAC,EAAOC,EAACnS,GAAA,IAAAoS,EAAAjG,EAAAkG,EAAAC,EAAA,OAAAN,EAAAA,EAAAA,KAAAO,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OASuD,GATnDN,EAAQpS,EAARoS,SAAUjG,EAAQnM,EAARmM,SACdkG,EAAQD,IAERE,GAAgBK,EAAAA,EAAAA,GACpBC,EAAAA,GACAC,EAAAA,GAAsB3B,EAAAA,GAAUC,UAChC,IAGyBkB,EAAMS,SAASC,mBAEnB,CAADP,EAAAE,KAAA,eAAAF,EAAAQ,OAAA,iBAGlBV,GACFnG,GAAS8G,EAAAA,EAAAA,KAAsB,IAC/BrC,EAAAA,EACGC,OAAO,MAAM,uBACbC,MAAK,SAACtD,GACLrB,GAAS+G,EAAAA,EAAAA,IAAe1F,IACxBrB,GAASgH,EAAAA,EAAAA,KAAqB,IAC9BhH,GAAS8G,EAAAA,EAAAA,KAAsB,GACjC,IACC7B,OAAM,SAACvD,GAEJA,EAAIuF,cAAcC,gBAChB,yBAAyBA,eAC3BxF,EAAIuF,cAAcC,gBAChB,oBAAoBA,eAEtBlH,GAAS2B,EAAAA,EAAAA,IAAqBD,IAEhC1B,GAASgH,EAAAA,EAAAA,KAAqB,IAC9BhH,GAAS8G,EAAAA,EAAAA,KAAsB,GACjC,KAEF9G,GAAS8G,EAAAA,EAAAA,KAAsB,IAChC,wBAAAT,EAAAc,OAAA,GAAApB,EAAA,KACF,gBAAAqB,EAAAC,GAAA,OAAAnJ,EAAAoJ,MAAA,KAAAC,UAAA,EAvC0B,IA+ChBC,GAAe7B,EAAAA,EAAAA,IAC1B,wBAAuB,eAAA8B,GAAA7B,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MACvB,SAAA4B,EAAOC,EAAuBC,GAAA,IAAA5H,EAAAwE,EAAA,OAAAqB,EAAAA,EAAAA,KAAAO,MAAA,SAAAyB,GAAA,cAAAA,EAAAvB,KAAAuB,EAAAtB,MAAA,OAAIvG,EAAQ4H,EAAR5H,SAC1BwE,EAAiC,CACrCsD,MAAOH,EAAKG,MACZC,WAAYJ,EAAKI,YAEnBtD,EAAAA,EACGC,OAAO,OAAQ,0BAA2BF,GAC1CG,MAAK,WACJ3E,GAASmE,EAAAA,EAAAA,KAAW,IACpBnE,GAAS8E,EAAAA,EAAAA,KAAsB,IAC/B9E,GAASgI,EAAAA,EAAAA,OACThI,EAAS0F,IACX,IACCT,OAAM,SAACvD,GACN1B,GAAS2B,EAAAA,EAAAA,IAAqBD,IAC9B1B,GAASmE,EAAAA,EAAAA,KAAW,GACtB,IAAG,wBAAA0D,EAAAV,OAAA,GAAAO,EAAA,KACN,gBAAAO,EAAAC,GAAA,OAAAT,EAAAH,MAAA,KAAAC,UAAA,EAlBsB,IAqBZY,GAAqBxC,EAAAA,EAAAA,IAChC,8BAA6B,eAAAyC,GAAAxC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAC7B,SAAAuC,EAAOrC,EAACsC,GAAA,IAAArC,EAAAjG,EAAAkG,EAAAqC,EAAAC,EAAAvH,EAAAuD,EAAA,OAAAqB,EAAAA,EAAAA,KAAAO,MAAA,SAAAqC,GAAA,cAAAA,EAAAnC,KAAAmC,EAAAlC,MAAA,OAMiC,GAN7BN,EAAQqC,EAARrC,SAAyBqC,EAAfI,gBAAiB1I,EAAQsI,EAARtI,SAC/BkG,EAAQD,IAERsC,EAAcrC,EAAMS,SAAS4B,YAC7BC,EAAiBtC,EAAMS,SAAS6B,eAChCvH,EAAYiF,EAAMS,SAAS1F,WACjBiF,EAAMS,SAASzC,QAEnB,CAADuE,EAAAlC,KAAA,eAAAkC,EAAA5B,OAAA,iBAGX7G,GAASmE,EAAAA,EAAAA,KAAW,IACdK,EAAqC,CACzC7B,SAAU4F,EACV3F,IAAK3B,EACLK,UAAWkH,GAEb/D,EAAAA,EACGC,OAAO,OAAQ,2BAA4BF,GAC3CG,MAAK,SAACC,GACL5E,GAASmE,EAAAA,EAAAA,KAAW,IAChBS,GAAQA,EAAKrD,cAAgBqD,EAAK+D,cAAcrP,OAAS,IACzB,IAA9BsL,EAAK+D,cAAcrP,OACrB0G,EACEwH,EAAa,CACXM,MAAOlD,EAAKrD,aACZwG,WAAYnD,EAAK+D,cAAc,GAAGC,UAAUC,eAIhD7I,GAAS8I,EAAAA,EAAAA,IAAqBlE,EAAKrD,eACnCvB,GAAS+I,EAAAA,EAAAA,IAAuBnE,EAAK+D,gBACrC3I,GACEgJ,EAAAA,EAAAA,IACEpE,EAAK+D,cAAc,GAAGC,UAAUC,cAK1C,IACC5D,OAAM,SAACvD,GACN1B,GAAS2B,EAAAA,EAAAA,IAAqBD,IAC9B1B,GAASmE,EAAAA,EAAAA,KAAW,IACpBnE,GAASkB,EAAAA,EAAAA,IAAa,IACxB,IAAG,yBAAAuH,EAAAtB,OAAA,GAAAkB,EAAA,KACN,gBAAAY,EAAAC,GAAA,OAAAd,EAAAd,MAAA,KAAAC,UAAA,EA9C4B,IAiDlB4B,GAAcxD,EAAAA,EAAAA,IACzB,uBAAsB,eAAAyD,GAAAxD,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MACtB,SAAAuD,EAAOrD,EAACsD,GAAA,IAAArD,EAAAjG,EAAAkG,EAAAqD,EAAAC,EAAAjB,EAAA/D,EAAA,OAAAqB,EAAAA,EAAAA,KAAAO,MAAA,SAAAqD,GAAA,cAAAA,EAAAnD,KAAAmD,EAAAlD,MAAA,OAMiC,GAN7BN,EAAQqD,EAARrD,SAAyBqD,EAAfZ,gBAAiB1I,EAAQsJ,EAARtJ,SAC/BkG,EAAQD,IAERsD,EAAUrD,EAAMS,SAAS4C,QACzBC,EAAiBtD,EAAMS,SAAS6C,eAChCjB,EAAcrC,EAAMS,SAAS4B,aACnBrC,EAAMS,SAASzC,QAEnB,CAADuF,EAAAlD,KAAA,eAAAkD,EAAA5C,OAAA,iBAGX7G,GAASmE,EAAAA,EAAAA,KAAW,IAChBK,EAA8B,CAChC7B,SAAU4F,EACVlI,SAAUmJ,EACV/H,OAAQ8H,GAEV9E,EAAAA,EACGC,OAAO,OAAQ,uBAAwBF,GACvCG,MAAK,SAACC,GACL5E,GAASmE,EAAAA,EAAAA,KAAW,IAChBS,GAAQA,EAAKC,YACf7E,GAASgI,EAAAA,EAAAA,OACThI,EAAS0F,MACAd,GAAQA,EAAKtD,UACtBtB,GAAS0J,EAAAA,EAAAA,IAAkB9E,EAAKtD,YACvBsD,GAAQA,EAAKrD,cAAgBqD,EAAK+D,cAAcrP,OAAS,IAClE0G,GAAS8I,EAAAA,EAAAA,IAAqBlE,EAAKrD,eACnCvB,GAAS+I,EAAAA,EAAAA,IAAuBnE,EAAK+D,gBACrC3I,GACEgJ,EAAAA,EAAAA,IACEpE,EAAK+D,cAAc,GAAGC,UAAUC,aAIxC,IACC5D,OAAM,SAACvD,GACN1B,GAAS2B,EAAAA,EAAAA,IAAqBD,IAC9B1B,GAASmE,EAAAA,EAAAA,KAAW,IACpBnE,GAASgI,EAAAA,EAAAA,MACX,IAAG,yBAAAyB,EAAAtC,OAAA,GAAAkC,EAAA,KACN,gBAAAM,EAAAC,GAAA,OAAAR,EAAA9B,MAAA,KAAAC,UAAA,EA1CqB,I,0CCsDxB,EAhM4B,WAC1B,IAAMvH,GAAWC,EAAAA,EAAAA,MACX4J,GAAiBC,EAAAA,EAAAA,KACrB,SAAC5D,GAAe,OAAKA,EAAMS,SAASkD,cAAc,IAE9CE,GAAoBD,EAAAA,EAAAA,KACxB,SAAC5D,GAAe,OAAKA,EAAMS,SAASoD,iBAAiB,IAEjDC,GAAcF,EAAAA,EAAAA,KAClB,SAAC5D,GAAe,OAAKA,EAAMS,SAASqD,WAAW,IAG3CC,EAAa,gDAAAxU,OAAmDoU,GAEtE7N,GAAoCC,EAAAA,EAAAA,UAAS,IAAGC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAzCkO,EAAUhO,EAAA,GAAEiO,EAAajO,EAAA,GAEhCiF,GAA0CC,EAAAA,EAAAA,IACxC,WACEpB,EAAS0F,KACT1F,GAAS8E,EAAAA,EAAAA,KAAsB,GACjC,IACA,SAACpD,GACC1B,GAAS2B,EAAAA,EAAAA,IAAqBD,GAChC,IACDE,GAAAzF,EAAAA,EAAAA,GAAAgF,EAAA,GARMiJ,EAAQxI,EAAA,GAAEyI,EAAqBzI,EAAA,GAgBtC,OACE3M,EAAAA,EAAAA,KAACmJ,EAAAA,SAAQ,CAAAjJ,UACPF,EAAAA,EAAAA,KAAC8I,EAAAA,EAAG,CACFC,GAAI,CACFxG,OAAQ,oBACRI,aAAc,MACd5E,QAAS,OACTqK,SAAU,SACV/J,QAAS,QACT6B,SAED4U,GAAqBC,GACpB/U,EAAAA,EAAAA,KAACgJ,EAAiB,CAACE,MAAO6L,EAAY7L,SAEtC/I,EAAAA,EAAAA,MAACgJ,EAAAA,SAAQ,CAAAjJ,SAAA,EACPF,EAAAA,EAAAA,KAAC8I,EAAAA,EAAG,CACFC,GAAI,CACF,gBAAiB,CACftG,WAAY,OACZ/D,WAAY,MAEdwB,UAEFF,EAAAA,EAAAA,KAAC2I,EAAS,CACRE,MAAM7I,EAAAA,EAAAA,KAACqV,EAAAA,IAAuB,IAC9BtU,MAAK,kDAITZ,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CACFC,GAAI,CACFhL,QAAS,QACTmC,SAAA,EAEFF,EAAAA,EAAAA,KAAC8I,EAAAA,EAAG,CACFC,GAAI,CACFhL,QAAS,OACTqK,SAAU,SACV6E,KAAM,IACN1J,UAAW,OACX,iBAAkB,CAChB9E,MAAO,UACPsD,OAAQ,OACRD,MAAO,OACPwT,WAAY,UACZpH,YAAa,OACbtJ,UAAW,SACXlG,WAAY,IACZiE,aAAc,OAGhB,cAAe,CACbjF,SAAU,OACVK,QAAS,OACTwF,UAAW,OACXwG,aAAc,SAEhB7J,UAEFC,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CAAA5I,SAAA,EACFF,EAAAA,EAAAA,KAAC8I,EAAAA,EAAG,CAACvI,UAAU,WAAUL,UACvBF,EAAAA,EAAAA,KAAA,OAAKO,UAAU,YAAWL,SAAC,8GAM7BC,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CACFC,GAAI,CACFkE,KAAM,IACNlP,QAAS,OACTH,WAAY,SACZ2X,IAAK,GACLrV,SAAA,EAEFF,EAAAA,EAAAA,KAACsJ,EAAAA,EAAI,CACHG,MAAO,CACLhL,MAAO,UACP4K,OAAQ,WAEV5K,MAAM,UACN8K,KAAMyL,EACNxL,OAAO,SAAQtJ,SAChB,4CAIDF,EAAAA,EAAAA,KAACwV,EAAAA,EAAc,CAACnW,QAAS,oBAAoBa,UAC3CF,EAAAA,EAAAA,KAACyV,IAAe,CAACC,KAAMV,EAAc9U,UACnCF,EAAAA,EAAAA,KAACoQ,EAAAA,IAAM,CACL1K,KAAM,SACN1G,GAAI,yBACJ6J,MAAM7I,EAAAA,EAAAA,KAACiK,EAAAA,IAAQ,IACfxL,MAAO,UACPmD,QAAS,oBAMjB5B,EAAAA,EAAAA,KAAA,OACEyJ,MAAO,CACLlG,UAAW,OACX7F,SAAU,OACVyQ,UAAW,SACX1P,MAAO,WACPyB,SACH,yLAODC,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CACFC,GAAI,CACFxF,UAAW,OACXxF,QAAS,OACT4X,cAAe,UACfzV,SAAA,EAEFC,EAAAA,EAAAA,MAAA,SAAOsJ,MAAO,CAAE/K,WAAY,OAAQqL,aAAc,QAAS7J,SAAA,CAAC,wBACpC,QAExBF,EAAAA,EAAAA,KAAC4V,EAAAA,EAAiB,CAChB7W,MAAOkW,EACP9V,SAAUgW,EACVtW,MAAO,GACPG,GAAI,aACJC,KAAM,aACNY,YAAa,cACbf,SAAU,SAAC+W,GACTX,EAAcW,EAAErM,OAAOzK,MACzB,QAGJiB,EAAAA,EAAAA,KAAC8I,EAAAA,EAAG,CACFC,GAAI,CACFxF,UAAW,QACXrD,UAEFF,EAAAA,EAAAA,KAACoQ,EAAAA,IAAM,CACLpR,GAAI,oBACJ6I,QArJO,WACzBuN,EAAsB,MAAM,yBAA2B,CACrDU,WAAY,CAAC,CAAEC,IAAK,UAAWhX,MAAOkW,KAE1C,EAkJoBrT,QAAS,aACTzC,UAAW8V,GAAcE,EACzBtW,MAAO,kCAKfmB,EAAAA,EAAAA,KAACwQ,EAAe,aAO9B,EClHA,EAlFuB,WACrB,IAAMzF,GAAWC,EAAAA,EAAAA,MAEXuI,GAAiBsB,EAAAA,EAAAA,KACrB,SAAC5D,GAAe,OAAKA,EAAMS,SAAS6B,cAAc,IAE9CvH,GAAY6I,EAAAA,EAAAA,KAAY,SAAC5D,GAAe,OAAKA,EAAMS,SAAS1F,SAAS,IACrEiD,GAAU4F,EAAAA,EAAAA,KAAY,SAAC5D,GAAe,OAAKA,EAAMS,SAASzC,OAAO,IAEvE,OACE9O,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CACFC,GAAI,CACFhL,QAAS,QACTmC,SAAA,EAEFC,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CACFC,GAAI,CACFhL,QAAS,OACTqK,SAAU,SACV6E,KAAM,KACN/M,SAAA,EAEFF,EAAAA,EAAAA,KAAC8I,EAAAA,EAAG,CACFC,GAAI,CACFrL,SAAU,OACVK,QAAS,OACTqK,SAAU,SACV7E,UAAW,OACXwG,aAAc,QACd7J,SACH,+BAIDF,EAAAA,EAAAA,KAAC8I,EAAAA,EAAG,CAAA5I,SAAC,4HAKLF,EAAAA,EAAAA,KAAC8I,EAAAA,EAAG,CACFC,GAAI,CACFkE,KAAM,IACN1J,UAAW,QACXrD,UAEFF,EAAAA,EAAAA,KAACgK,EAAAA,EAAe,CACd9D,aAAalG,EAAAA,EAAAA,KAACkN,EAAAA,EAAgB,IAC9BlO,GAAG,aACHC,KAAK,aACLH,SAAU,SAACyL,GAA0C,OACnDQ,GAASkB,EAAAA,EAAAA,IAAa1B,EAAMf,OAAOzK,OAAO,EAE5Cc,YAAY,GACZhB,MAAM,GACNE,MAAOiN,OAGXhM,EAAAA,EAAAA,KAAC8I,EAAAA,EAAG,CACFC,GAAI,CACFhL,QAAS,OACTH,WAAY,SACZsF,eAAgB,YAChBhD,UAEFF,EAAAA,EAAAA,KAACoQ,EAAAA,IAAM,CACLpR,GAAI,SACJ6I,QAAS,kBAAMkD,EAASmI,IAAqB,EAC7C/T,SACE8P,GAC4B,IAA5BjD,EAAUsE,OAAOjM,QACgB,IAAjCkP,EAAejD,OAAOjM,OAExBzC,QAAQ,aACR/C,MAAO,iBAKbmB,EAAAA,EAAAA,KAACwQ,EAAe,MAGtB,E,WCOA,GAxFgC,WAC9B,IAAMzF,GAAWC,EAAAA,EAAAA,MAEXgL,GAAoBnB,EAAAA,EAAAA,KACxB,SAAC5D,GAAe,OAAKA,EAAMS,SAASsE,iBAAiB,IAEjDC,GAA6BpB,EAAAA,EAAAA,KACjC,SAAC5D,GAAe,OAAKA,EAAMS,SAASuE,0BAA0B,IAE1DC,GAAsBrB,EAAAA,EAAAA,KAC1B,SAAC5D,GAAe,OAAKA,EAAMS,SAASwE,mBAAmB,IAEnDjH,GAAU4F,EAAAA,EAAAA,KAAY,SAAC5D,GAAe,OAAKA,EAAMS,SAASzC,OAAO,IAEvE,OACE9O,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CACFC,GAAI,CACFhL,QAAS,QACTmC,SAAA,EAEFC,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CACFC,GAAI,CACFhL,QAAS,OACTqK,SAAU,SACV6E,KAAM,KACN/M,SAAA,EAEFF,EAAAA,EAAAA,KAAC8I,EAAAA,EAAG,CACFC,GAAI,CACFxF,UAAW,OACXwG,aAAc,OACd,gBAAiB,CACftH,WAAY,QAEdvC,UAEFF,EAAAA,EAAAA,KAAC2I,EAAS,CAAC5H,MAAK,8BAElBZ,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CAAA5I,SAAA,EACFF,EAAAA,EAAAA,KAACmW,EAAAA,EAAa,CACZnX,GAAG,sBACHC,KAAK,sBACLH,SAAU,SAAC+W,GAAC,OACV9K,GAASgJ,EAAAA,EAAAA,IAA8B8B,EAAErM,OAAOzK,OAAiB,EAEnEF,MAAM,yBACNE,MAAOkX,EACP5N,QAAS6N,EAAoB1N,KAAI,SAAC4N,GAAY,MAAM,CAClDvX,MAAOuX,EAAaC,QACpBtX,MAAOqX,EAAazC,UAAUC,WAC/B,OAEH5T,EAAAA,EAAAA,KAAC8I,EAAAA,EAAG,CACFC,GAAI,CACFhL,QAAS,OACTH,WAAY,SACZsF,eAAgB,WAChBK,UAAW,QACXrD,UAEFF,EAAAA,EAAAA,KAACoQ,EAAAA,IAAM,CACLpR,GAAI,mBACJ6I,QAAS,kBAAM,WACToH,IAGJlE,GAASmE,EAAAA,EAAAA,KAAW,IAChB8G,GAAqBC,GACvBlL,EACEwH,EAAa,CACXM,MAAOmD,EACPlD,WAAYmD,KAIpB,CAAC,EACD9W,SAAU8P,GAA+C,IAApC+G,EAAkB1F,OAAOjM,OAC9CzC,QAAQ,aACR/C,MAAO,sBAKfmB,EAAAA,EAAAA,KAACwQ,EAAe,MAGtB,EC5EM8F,IAAYtR,E,SAAAA,IAAW,SAAC5H,GAAY,OACxCC,EAAAA,EAAAA,IAAYC,EAAAA,EAAAA,GAAC,CACXkN,WAAY,CACVC,SAAU,SAETE,EAAAA,IACH,IA6IJ,GA1I2B,WACzB,IAAM7K,EAAUwW,KACVvL,GAAWC,EAAAA,EAAAA,MAEXuJ,GAAiBM,EAAAA,EAAAA,KACrB,SAAC5D,GAAe,OAAKA,EAAMS,SAAS6C,cAAc,IAE9CjB,GAAcuB,EAAAA,EAAAA,KAClB,SAAC5D,GAAe,OAAKA,EAAMS,SAAS4B,WAAW,IAE3C9H,GAAeqJ,EAAAA,EAAAA,KACnB,SAAC5D,GAAe,OAAKA,EAAMS,SAASlG,YAAY,IAE5CyD,GAAU4F,EAAAA,EAAAA,KAAY,SAAC5D,GAAe,OAAKA,EAAMS,SAASzC,OAAO,IAEvE,OACE9O,EAAAA,EAAAA,MAACgJ,EAAAA,SAAQ,CAAAjJ,SAAA,EACPF,EAAAA,EAAAA,KAAC8I,EAAAA,EAAG,CACFC,GAAI,CACF,gBAAiB,CACftG,WAAY,OACZ/D,WAAY,MAEdwB,UAEFF,EAAAA,EAAAA,KAAC2I,EAAS,CACRE,MAAM7I,EAAAA,EAAAA,KAACmQ,EAAAA,IAAsB,IAC7BpP,MAAK,+DAGTZ,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CACFC,GAAI,CACFhL,QAAS,OACTqK,SAAU,CACR9H,GAAI,SACJqE,GAAI,QAENzE,SAAA,EAEFC,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CACFC,GAAI,CACFhL,QAAS,OACTqK,SAAU,SACV6E,KAAM,KACN/M,SAAA,EAEFF,EAAAA,EAAAA,KAAC8I,EAAAA,EAAG,CACFC,GAAI,CACFrL,SAAU,OACVK,QAAS,OACTqK,SAAU,SACV7E,UAAW,OACXwG,aAAc,QACd7J,SACH,qFAIDC,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CACFC,GAAI,CACFkE,KAAM,KACN/M,SAAA,EAEFF,EAAAA,EAAAA,KAACgK,EAAAA,EAAe,CACdzJ,UAAWT,EAAQgN,aACnBhN,QAAS,CACPrC,WAAYqC,EAAQ0K,YAEtBxL,GAAG,eACHC,KAAK,eACLH,SAAU,SAACyL,GAA0C,OACnDQ,GAASwL,EAAAA,EAAAA,IAAehM,EAAMf,OAAOzK,OAAO,EAE9CF,MAAM,QACNE,MAAOuU,EACPpN,aAAalG,EAAAA,EAAAA,KAAC+M,EAAAA,IAAS,OAEzB/M,EAAAA,EAAAA,KAACgK,EAAAA,EAAe,CACdzJ,UAAWT,EAAQgN,aACnBhN,QAAS,CACPrC,WAAYqC,EAAQ0K,YAEtBxL,GAAG,kBACHC,KAAK,kBACLH,SAAU,SAACyL,GAA0C,OACnDQ,GAASyL,EAAAA,EAAAA,IAAkBjM,EAAMf,OAAOzK,OAAO,EAEjDF,MAAM,WACN6G,KAAM8F,EAAe,OAAS,WAC9BzM,MAAOwV,EACPrO,YACEsF,GAAexL,EAAAA,EAAAA,KAACuH,EAAAA,EAAiB,KAAMvH,EAAAA,EAAAA,KAACwH,EAAAA,EAAgB,IAE1DpC,cAAe,kBAAM2F,GAASU,EAAAA,EAAAA,KAAiBD,GAAc,KAG/DrL,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CACFC,GAAI,CACFhL,QAAS,OACTH,WAAY,SACZsF,eAAgB,WAChB,WAAY,CACVT,WAAY,QAEdvC,SAAA,EAEFF,EAAAA,EAAAA,KAACoQ,EAAAA,IAAM,CACLpR,GAAI,UACJ0G,KAAK,SACLnF,UAAWT,EAAQuQ,YACnBzO,QAAQ,UACRiG,QAAS,SAACgO,GACRA,EAAEY,iBACFC,OAAO9L,KAAK,gCAAiC,SAC/C,EACA/L,MAAO,aAETmB,EAAAA,EAAAA,KAACoQ,EAAAA,IAAM,CACLpR,GAAI,uBACJ0G,KAAK,SACL9D,QAAQ,aACRzC,SACE8P,GAC8B,IAA9BqE,EAAYhD,OAAOjM,QACc,IAAjCkQ,EAAejE,OAAOjM,OAExBwD,QAAS,kBAAMkD,EAASmJ,IAAc,EACtCrV,MAAO,uBAKfmB,EAAAA,EAAAA,KAACwQ,EAAe,SAIxB,E,wBC2DA,IAAerT,EAAAA,EAAAA,IA5LA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,IAAYC,EAAAA,EAAAA,GAAC,CACXkN,WAAY,CACVC,SAAU,SAETE,EAAAA,IACF,GAsLL,EApLiB,SAAH/L,GAAaA,EAAPkB,QAA0B,IACtCiL,GAAWC,EAAAA,EAAAA,MAEXuI,GAAiBsB,EAAAA,EAAAA,KACrB,SAAC5D,GAAe,OAAKA,EAAMS,SAAS6B,cAAc,IAE9CyC,GAAoBnB,EAAAA,EAAAA,KACxB,SAAC5D,GAAe,OAAKA,EAAMS,SAASsE,iBAAiB,IAGjDpB,GAAiBC,EAAAA,EAAAA,KACrB,SAAC5D,GAAe,OAAKA,EAAMS,SAASkD,cAAc,IAE9CsB,GAAsBrB,EAAAA,EAAAA,KAC1B,SAAC5D,GAAe,OAAKA,EAAMS,SAASwE,mBAAmB,IAGnDjH,GAAU4F,EAAAA,EAAAA,KAAY,SAAC5D,GAAe,OAAKA,EAAMS,SAASzC,OAAO,IACjE0C,GAAqBkD,EAAAA,EAAAA,KACzB,SAAC5D,GAAe,OAAKA,EAAMS,SAASC,kBAAkB,IAElDmD,GAAoBD,EAAAA,EAAAA,KACxB,SAAC5D,GAAe,OAAKA,EAAMS,SAASoD,iBAAiB,IAEjDC,GAAcF,EAAAA,EAAAA,KAClB,SAAC5D,GAAe,OAAKA,EAAMS,SAASqD,WAAW,IAE3C4B,GAAS9B,EAAAA,EAAAA,KAAY,SAAC5D,GAAe,OAAKA,EAAMS,SAASiF,MAAM,IAErE5P,GACEC,EAAAA,EAAAA,WAAkB,GAAKC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GADlB6P,EAAqB3P,EAAA,GAAE4P,EAAwB5P,EAAA,IAGtDiJ,EAAAA,EAAAA,YAAU,WAER,OAAO,WACLnF,GAASgI,EAAAA,EAAAA,MACX,CACF,GAAG,CAAChI,KAsBJmF,EAAAA,EAAAA,YAAU,WACJ0G,IACF7L,EAAS0F,KACToG,GAAyB,GAE7B,GAAG,CAACD,EAAuBC,EAA0B9L,IAErD,IAAI+L,GAAuC9W,EAAAA,EAAAA,KAACmJ,EAAAA,SAAQ,IAGlD2N,EADEd,GAAqBE,EAAoB7R,OAAS,GAC1BrE,EAAAA,EAAAA,KAAC+W,GAAuB,IACzCxD,GACiBvT,EAAAA,EAAAA,KAACgX,EAAc,KAEfhX,EAAAA,EAAAA,KAACiX,GAAkB,IAG/C,IAAMC,GACJ/W,EAAAA,EAAAA,MAACgJ,EAAAA,SAAQ,CAAAjJ,SAAA,EACPF,EAAAA,EAAAA,KAAC8I,EAAAA,EAAG,CACFC,GAAI,CACFxG,OAAQ,oBACRI,aAAc,MACd5E,QAAS,OACTqK,SAAU,SACV/J,QAAS,QACT6B,SAED4U,GAAqBC,GACpB/U,EAAAA,EAAAA,KAACgJ,EAAiB,CAACE,MAAO6L,EAAY7L,SAEtClJ,EAAAA,EAAAA,KAACmX,EAAc,CAACxI,iBAAkB,4BAGtC3O,EAAAA,EAAAA,KAAC0J,EAAkB,OAIjB0N,GAAsBpX,EAAAA,EAAAA,KAACqX,EAAmB,IAE1CC,GACJnX,EAAAA,EAAAA,MAACgJ,EAAAA,SAAQ,CAAAjJ,SAAA,EACPF,EAAAA,EAAAA,KAAC8I,EAAAA,EAAG,CACFC,GAAI,CACFxG,OAAQ,oBACRI,aAAc,MACd5E,QAAS,OACTqK,SAAU,SACV/J,QAAS,QACT6B,SAED4U,GAAqBC,GACpB/U,EAAAA,EAAAA,KAACgJ,EAAiB,CAACE,MAAO6L,EAAY7L,QAEtC4N,KAIFhC,IAAqB9U,EAAAA,EAAAA,KAAC0J,EAAkB,OAKxC6N,EAAW5F,GADC3R,EAAAA,EAAAA,KAAA,OAAAE,SAAK,cAC2BoX,EAOlD,OALApH,EAAAA,EAAAA,YAAU,WACRnF,GAASyM,EAAAA,EAAAA,IAAY,YAEvB,GAAG,KAGDrX,EAAAA,EAAAA,MAACgJ,EAAAA,SAAQ,CAAAjJ,SAAA,EACPF,EAAAA,EAAAA,KAACyX,GAAAA,EAAiB,CAChB5Y,MAAM,yCACN6Y,SAAS1X,EAAAA,EAAAA,KAAC2X,GAAAA,EAAQ,OAGpBxX,EAAAA,EAAAA,MAACyX,EAAAA,IAAU,CAAA1X,SAAA,EACTC,EAAAA,EAAAA,MAAC0X,EAAAA,EAAI,CACH9Y,MAAO4X,EACP7X,SAAU,SAAC+W,EAA0BiC,GACnC/M,GAASgN,EAAAA,EAAAA,GAAUD,GACrB,EACAE,eAAe,UACfC,UAAU,UACV,aAAW,eACXrW,QAAQ,aACRsW,cAAc,OAAMhY,SAAA,EAEpBF,EAAAA,EAAAA,KAACmY,EAAAA,EAAG,CACFtZ,MAAM,cACNG,GAAG,eACH,gBAAc,wBAEhBgB,EAAAA,EAAAA,KAACmY,EAAAA,EAAG,CACFtZ,MAAM,UACNG,GAAG,eACH,gBAAc,wBAEhBgB,EAAAA,EAAAA,KAACmY,EAAAA,EAAG,CACFtZ,MAAM,UACNG,GAAG,eACH,gBAAc,qBACd6I,QAAS,WA1HboH,GAAW2F,IAGf7J,GAASmE,EAAAA,EAAAA,KAAW,IACpBM,EAAAA,EACGC,OAAO,MAAO,qCACdC,MAAK,SAACC,GACL5E,GAASmE,EAAAA,EAAAA,KAAW,IAChBS,GAAQA,EAAKyI,UACfrN,GAASsN,EAAAA,EAAAA,IAAkB1I,EAAKyI,UAEpC,IACCpI,OAAM,SAACvD,GACN6L,QAAQ7Y,MAAMgN,GACd1B,GAAS2B,EAAAA,EAAAA,IAAqBD,IAC9B1B,GAASmE,EAAAA,EAAAA,KAAW,GACtB,IA0G0C,QAIxClP,EAAAA,EAAAA,KAACuY,EAAAA,EAAQ,CAAChZ,MAAO,EAAGR,MAAO4X,EAAOzW,SAC/BqX,KAEHvX,EAAAA,EAAAA,KAACuY,EAAAA,EAAQ,CAAChZ,MAAO,EAAGR,MAAO4X,EAAOzW,SAC/BgX,KAEHlX,EAAAA,EAAAA,KAACuY,EAAAA,EAAQ,CAAChZ,MAAO,EAAGR,MAAO4X,EAAOzW,SAC/BkX,SAKX,G,sEC9KA,IA7DiC,SAAHxY,GAA4C,IAAD4Z,EAAA5Z,EAArCsK,MAAAA,OAAK,IAAAsP,EAAG,GAAEA,EAC5C,OACErY,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CACFC,GAAI,CACFhH,OAAQ,OACRtD,MAAO,UACPV,QAAS,OACTG,SAAU,WACVoH,IAAK,QACLmT,KAAM,QACN3W,MAAO,oBACPlE,WAAY,SACZsF,eAAgB,gBAChBb,gBAAiB,UACjBhE,QAAS,gBACT,oCAAqC,CACnCN,QAAS,OACTH,WAAY,SACZsF,eAAgB,cAGlB,mBAAoB,CAClBT,WAAY,OAEZ,cAAe,CACbiW,KAAM,aAGVxY,SAAA,EAEFC,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CAACvI,UAAU,iBAAgBL,SAAA,EAC7BF,EAAAA,EAAAA,KAAC8I,EAAAA,EAAG,CAACC,GAAI,CAAErL,SAAU,OAAQgB,WAAY,KAAMwB,SAAC,sBAChDC,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CAACvI,UAAU,gBAAeL,SAAA,EAC5BF,EAAAA,EAAAA,KAAC2Y,EAAAA,GAAY,KACb3Y,EAAAA,EAAAA,KAAC8I,EAAAA,EAAG,CACFC,GAAI,CACFrK,WAAY,KACZwB,SACH,sBAMLC,EAAAA,EAAAA,MAAC2I,EAAAA,EAAG,CACFvI,UAAU,qBACVwI,GAAI,CACFnL,WAAY,SACZsF,eAAgB,aAChBnF,QAAS,CACP2G,GAAI,OACJpE,GAAI,SAENJ,SAAA,EAEFF,EAAAA,EAAAA,KAAC8I,EAAAA,EAAG,CAACC,GAAI,CAAErL,SAAU,OAAQgB,WAAY,KAAMwB,SAAC,oBAChDF,EAAAA,EAAAA,KAAC8I,EAAAA,EAAG,CAACC,GAAI,CAAEtG,WAAY,MAAO/D,WAAY,KAAMwB,SAAEgJ,SAI1D,C","sources":["screens/Console/Common/FormComponents/CommentBoxWrapper/CommentBoxWrapper.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Support/utils.tsx","screens/Console/Support/GetApiKeyModal.tsx","screens/Console/Support/RegisterHelpBox.tsx","screens/Console/Support/ApiKeyRegister.tsx","screens/Console/Support/registerThunks.ts","screens/Console/Support/OfflineRegistration.tsx","screens/Console/Support/SubnetMFAToken.tsx","screens/Console/Support/ClusterRegistrationForm.tsx","screens/Console/Support/OnlineRegistration.tsx","screens/Console/Support/Register.tsx","screens/Console/Support/RegistrationStatusBanner.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 from \"react\";\nimport { Grid, InputLabel, TextField, Tooltip } from \"@mui/material\";\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 { HelpIcon } from \"mds\";\n\ninterface CommentBoxProps {\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 index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontSize: 14,\n margin: 0,\n alignItems: \"flex-start\",\n paddingTop: \"20px\",\n flexWrap: \"wrap\",\n display: \"flex\",\n },\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n cssOutlinedInput: {\n borderColor: \"#EAEAEA\",\n padding: 16,\n },\n rootContainer: {\n \"& .MuiOutlinedInput-inputMultiline\": {\n ...fieldBasic.inputLabel,\n fontSize: 13,\n minHeight: 150,\n },\n \"&.Mui-focused .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"#07193E\",\n borderWidth: 1,\n },\n \"& textarea\": {\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n \"&:placeholder\": {\n color: \"#858585\",\n opacity: 1,\n fontWeight: 400,\n },\n },\n },\n });\n\nconst CommentBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n disabled = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n classes,\n}: CommentBoxProps) => {\n let inputProps: any = { \"data-index\": index };\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n\n
\n \n
\n \n
\n );\n};\n\nexport default withStyles(styles)(CommentBoxWrapper);\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 { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport { HelpIcon } from \"mds\";\nimport clsx from \"clsx\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input/Input\";\n\ninterface IFormSwitch {\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 description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n extraInputProps?: StandardInputProps[\"inputProps\"];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n extraInputProps = {},\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {switchComponent}\n
\n {description !== \"\" && (\n \n \n {description}\n \n \n )}\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\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, { ClipboardEvent, useState } from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { HelpIcon } from \"mds\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n onFocus?: () => void;\n onPaste?: (e: ClipboardEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n }),\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n onFocus,\n onPaste,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n const [toggleTextInput, setToggleTextInput] = useState(false);\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n let inputBoxWrapperIcon = overlayIcon;\n let inputBoxWrapperType = type;\n\n if (type === \"password\" && overlayIcon === null) {\n inputBoxWrapperIcon = toggleTextInput ? (\n \n ) : (\n \n );\n inputBoxWrapperType = toggleTextInput ? \"text\" : \"password\";\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {inputBoxWrapperIcon && (\n \n {\n overlayAction();\n }\n : () => setToggleTextInput(!toggleTextInput)\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {inputBoxWrapperIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\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 Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputBase,\n InputLabel,\n MenuItem,\n Select,\n SelectChangeEvent,\n Tooltip,\n} from \"@mui/material\";\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 { HelpIcon } from \"mds\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n }),\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","import { Box, Grid, Link } from \"@mui/material\";\nimport { Fragment, useState } from \"react\";\nimport { CopyIcon, SettingsIcon } from \"mds\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport RegistrationStatusBanner from \"./RegistrationStatusBanner\";\n\nexport const FormTitle = ({\n icon = null,\n title,\n}: {\n icon?: any;\n title: any;\n}) => {\n return (\n \n {icon}\n
{title}
\n \n );\n};\n\nexport const ClusterRegistered = ({ email }: { email: string }) => {\n return (\n \n \n \n \n Login to{\" \"}\n \n SUBNET\n {\" \"}\n to avail support for this MinIO cluster\n \n \n \n );\n};\n\nexport const ProxyConfiguration = () => {\n const proxyConfigurationCommand =\n \"mc admin config set {alias} subnet proxy={proxy}\";\n const [displaySubnetProxy, setDisplaySubnetProxy] = useState(false);\n return (\n \n \n \n \n \n
\n Proxy Configuration\n
\n \n \n For airgap/firewalled environments it is possible to{\" \"}\n \n configure a proxy\n {\" \"}\n to connect to SUBNET .\n \n \n {displaySubnetProxy && (\n {}}\n label=\"\"\n value={proxyConfigurationCommand}\n overlayIcon={}\n extraInputProps={{\n readOnly: true,\n }}\n overlayAction={() =>\n navigator.clipboard.writeText(proxyConfigurationCommand)\n }\n />\n )}\n \n \n \n ) => {\n setDisplaySubnetProxy(event.target.checked);\n }}\n />\n \n \n
\n );\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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport LockOutlinedIcon from \"@mui/icons-material/LockOutlined\";\nimport {\n containerForHeader,\n spacingUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport React, { useState } from \"react\";\nimport { InfoIcon, UsersIcon } from \"mds\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { useAppDispatch } from \"../../../store\";\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\nimport { Box } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n sizedLabel: {\n minWidth: \"75px\",\n },\n ...containerForHeader,\n ...spacingUtils,\n });\n\ninterface IGetApiKeyModalProps {\n open: boolean;\n closeModal: () => void;\n onSet: (apiKey: string) => void;\n classes: any;\n}\n\nconst GetApiKeyModal = ({\n open,\n closeModal,\n classes,\n onSet,\n}: IGetApiKeyModalProps) => {\n const dispatch = useAppDispatch();\n const [email, setEmail] = useState(\"\");\n const [password, setPassword] = useState(\"\");\n const [showPassword, setShowPassword] = useState(false);\n const [mfaToken, setMfaToken] = useState(\"\");\n const [subnetOTP, setSubnetOTP] = useState(\"\");\n\n const onError = (err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n closeModal();\n setEmail(\"\");\n setPassword(\"\");\n setShowPassword(false);\n setMfaToken(\"\");\n setSubnetOTP(\"\");\n };\n\n const onSuccess = (res: any) => {\n if (res.mfa_token) {\n setMfaToken(res.mfa_token);\n } else if (res.access_token) {\n invokeApi(\"GET\", `/api/v1/subnet/apikey?token=${res.access_token}`);\n } else {\n onSet(res.apiKey);\n closeModal();\n }\n };\n\n const [isLoading, invokeApi] = useApi(onSuccess, onError);\n\n const onConfirm = () => {\n if (mfaToken !== \"\") {\n invokeApi(\"POST\", \"/api/v1/subnet/login/mfa\", {\n username: email,\n otp: subnetOTP,\n mfa_token: mfaToken,\n });\n } else {\n invokeApi(\"POST\", \"/api/v1/subnet/login\", { username: email, password });\n }\n };\n\n const getDialogContent = () => {\n if (mfaToken === \"\") {\n return getCredentialsDialog();\n }\n return getMFADialog();\n };\n\n const getCredentialsDialog = () => {\n return (\n \n ) =>\n setEmail(event.target.value)\n }\n label=\"Email\"\n value={email}\n overlayIcon={}\n />\n ) =>\n setPassword(event.target.value)\n }\n label=\"Password\"\n type={showPassword ? \"text\" : \"password\"}\n value={password}\n overlayIcon={\n showPassword ? : \n }\n overlayAction={() => setShowPassword(!showPassword)}\n />\n \n );\n };\n\n const getMFADialog = () => {\n return (\n \n \n \n Two-Factor Authentication\n \n\n \n Please enter the 6-digit verification code that was sent to your\n email address. This code will be valid for 5 minutes.\n \n\n \n }\n id=\"subnet-otp\"\n name=\"subnet-otp\"\n onChange={(event: React.ChangeEvent) =>\n setSubnetOTP(event.target.value)\n }\n placeholder=\"\"\n label=\"\"\n value={subnetOTP}\n />\n \n \n \n \n );\n };\n\n return open ? (\n }\n isLoading={isLoading}\n cancelText={\"Cancel\"}\n onConfirm={onConfirm}\n onClose={closeModal}\n confirmButtonProps={{\n variant: \"callAction\",\n disabled: !email || !password || isLoading,\n hidden: true,\n }}\n cancelButtonProps={{\n disabled: isLoading,\n }}\n confirmationContent={getDialogContent()}\n />\n ) : null;\n};\n\nexport default withStyles(styles)(GetApiKeyModal);\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 { Box, Link } from \"@mui/material\";\nimport {\n CallHomeFeatureIcon,\n DiagnosticsFeatureIcon,\n ExtraFeaturesIcon,\n HelpIconFilled,\n PerformanceFeatureIcon,\n} from \"mds\";\n\nconst FeatureItem = ({\n icon,\n description,\n}: {\n icon: any;\n description: string | React.ReactNode;\n}) => {\n return (\n \n {icon}{\" \"}\n
\n {description}\n
\n \n );\n};\nconst RegisterHelpBox = ({ hasMargin = true }: { hasMargin?: boolean }) => {\n return (\n \n \n \n
Why should I register?
\n \n \n Registering this cluster with the MinIO Subscription Network (SUBNET)\n provides the following benefits in addition to the commercial license\n and SLA backed support.\n \n\n \n }\n description={`Call Home Monitoring`}\n />\n }\n description={`Health Diagnostics`}\n />\n }\n description={`Performance Analysis`}\n />\n }\n description={\n \n More Features\n \n }\n />\n \n \n );\n};\n\nexport default RegisterHelpBox;\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, useCallback, useEffect, useState } from \"react\";\nimport { Box } from \"@mui/material\";\nimport { Button, OnlineRegistrationIcon } from \"mds\";\nimport { FormTitle } from \"./utils\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport GetApiKeyModal from \"./GetApiKeyModal\";\nimport RegisterHelpBox from \"./RegisterHelpBox\";\nimport { SubnetLoginRequest, SubnetLoginResponse } from \"../License/types\";\nimport api from \"../../../common/api\";\nimport { useAppDispatch } from \"../../../store\";\nimport {\n setErrorSnackMessage,\n setServerNeedsRestart,\n} from \"../../../systemSlice\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { spacingUtils } from \"../Common/FormComponents/common/styleLibrary\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { useNavigate } from \"react-router-dom\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\n\ninterface IApiKeyRegister {\n classes: any;\n registerEndpoint: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n sizedLabel: {\n minWidth: \"75px\",\n },\n ...spacingUtils,\n });\n\nconst ApiKeyRegister = ({ classes, registerEndpoint }: IApiKeyRegister) => {\n const navigate = useNavigate();\n\n const [showApiKeyModal, setShowApiKeyModal] = useState(false);\n const [apiKey, setApiKey] = useState(\"\");\n const [loading, setLoading] = useState(false);\n const [fromModal, setFromModal] = useState(false);\n const dispatch = useAppDispatch();\n\n const onRegister = useCallback(() => {\n if (loading) {\n return;\n }\n setLoading(true);\n let request: SubnetLoginRequest = { apiKey };\n api\n .invoke(\"POST\", registerEndpoint, request)\n .then((resp: SubnetLoginResponse) => {\n setLoading(false);\n if (resp && resp.registered) {\n dispatch(setServerNeedsRestart(true));\n navigate(IAM_PAGES.LICENSE);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoading(false);\n reset();\n });\n }, [apiKey, dispatch, loading, registerEndpoint, navigate]);\n\n useEffect(() => {\n if (fromModal) {\n onRegister();\n }\n }, [fromModal, onRegister]);\n\n const reset = () => {\n setApiKey(\"\");\n setFromModal(false);\n };\n\n return (\n \n \n }\n title={`Register cluster with API key`}\n />\n \n \n \n \n Use your MinIO Subscription Network API Key to register this\n cluster.\n \n \n ) =>\n setApiKey(event.target.value)\n }\n label=\"API Key\"\n value={apiKey}\n />\n\n \n setShowApiKeyModal(true)}\n label={\"Get from SUBNET\"}\n />\n onRegister()}\n label={\"Register\"}\n />\n setShowApiKeyModal(false)}\n onSet={(value) => {\n setApiKey(value);\n setFromModal(true);\n }}\n />\n \n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(ApiKeyRegister);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 {\n resetRegisterForm,\n setClusterRegistered,\n setLicenseInfo,\n setLoading,\n setLoadingLicenseInfo,\n setSelectedSubnetOrganization,\n setSubnetAccessToken,\n setSubnetMFAToken,\n setSubnetOrganizations,\n setSubnetOTP,\n} from \"./registerSlice\";\nimport api from \"../../../common/api\";\nimport {\n SubnetInfo,\n SubnetLoginRequest,\n SubnetLoginResponse,\n SubnetLoginWithMFARequest,\n SubnetRegisterRequest,\n} from \"../License/types\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport {\n setErrorSnackMessage,\n setServerNeedsRestart,\n} from \"../../../systemSlice\";\nimport { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { AppState } from \"../../../store\";\nimport { hasPermission } from \"../../../common/SecureComponent\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_PAGES_PERMISSIONS,\n} from \"../../../common/SecureComponent/permissions\";\n\nexport const fetchLicenseInfo = createAsyncThunk(\n \"register/fetchLicenseInfo\",\n async (_, { getState, dispatch }) => {\n const state = getState() as AppState;\n\n const getSubnetInfo = hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.LICENSE],\n true,\n );\n\n const loadingLicenseInfo = state.register.loadingLicenseInfo;\n\n if (loadingLicenseInfo) {\n return;\n }\n if (getSubnetInfo) {\n dispatch(setLoadingLicenseInfo(true));\n api\n .invoke(\"GET\", `/api/v1/subnet/info`)\n .then((res: SubnetInfo) => {\n dispatch(setLicenseInfo(res));\n dispatch(setClusterRegistered(true));\n dispatch(setLoadingLicenseInfo(false));\n })\n .catch((err: ErrorResponseHandler) => {\n if (\n err.detailedError.toLowerCase() !==\n \"License is not present\".toLowerCase() &&\n err.detailedError.toLowerCase() !==\n \"license not found\".toLowerCase()\n ) {\n dispatch(setErrorSnackMessage(err));\n }\n dispatch(setClusterRegistered(false));\n dispatch(setLoadingLicenseInfo(false));\n });\n } else {\n dispatch(setLoadingLicenseInfo(false));\n }\n },\n);\n\nexport interface ClassRegisterArgs {\n token: string;\n account_id: string;\n}\n\nexport const callRegister = createAsyncThunk(\n \"register/callRegister\",\n async (args: ClassRegisterArgs, { dispatch }) => {\n const request: SubnetRegisterRequest = {\n token: args.token,\n account_id: args.account_id,\n };\n api\n .invoke(\"POST\", \"/api/v1/subnet/register\", request)\n .then(() => {\n dispatch(setLoading(false));\n dispatch(setServerNeedsRestart(true));\n dispatch(resetRegisterForm());\n dispatch(fetchLicenseInfo());\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n dispatch(setLoading(false));\n });\n },\n);\n\nexport const subnetLoginWithMFA = createAsyncThunk(\n \"register/subnetLoginWithMFA\",\n async (_, { getState, rejectWithValue, dispatch }) => {\n const state = getState() as AppState;\n\n const subnetEmail = state.register.subnetEmail;\n const subnetMFAToken = state.register.subnetMFAToken;\n const subnetOTP = state.register.subnetOTP;\n const loading = state.register.loading;\n\n if (loading) {\n return;\n }\n dispatch(setLoading(true));\n const request: SubnetLoginWithMFARequest = {\n username: subnetEmail,\n otp: subnetOTP,\n mfa_token: subnetMFAToken,\n };\n api\n .invoke(\"POST\", \"/api/v1/subnet/login/mfa\", request)\n .then((resp: SubnetLoginResponse) => {\n dispatch(setLoading(false));\n if (resp && resp.access_token && resp.organizations.length > 0) {\n if (resp.organizations.length === 1) {\n dispatch(\n callRegister({\n token: resp.access_token,\n account_id: resp.organizations[0].accountId.toString(),\n }),\n );\n } else {\n dispatch(setSubnetAccessToken(resp.access_token));\n dispatch(setSubnetOrganizations(resp.organizations));\n dispatch(\n setSelectedSubnetOrganization(\n resp.organizations[0].accountId.toString(),\n ),\n );\n }\n }\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n dispatch(setLoading(false));\n dispatch(setSubnetOTP(\"\"));\n });\n },\n);\n\nexport const subnetLogin = createAsyncThunk(\n \"register/subnetLogin\",\n async (_, { getState, rejectWithValue, dispatch }) => {\n const state = getState() as AppState;\n\n const license = state.register.license;\n const subnetPassword = state.register.subnetPassword;\n const subnetEmail = state.register.subnetEmail;\n const loading = state.register.loading;\n\n if (loading) {\n return;\n }\n dispatch(setLoading(true));\n let request: SubnetLoginRequest = {\n username: subnetEmail,\n password: subnetPassword,\n apiKey: license,\n };\n api\n .invoke(\"POST\", \"/api/v1/subnet/login\", request)\n .then((resp: SubnetLoginResponse) => {\n dispatch(setLoading(false));\n if (resp && resp.registered) {\n dispatch(resetRegisterForm());\n dispatch(fetchLicenseInfo());\n } else if (resp && resp.mfa_token) {\n dispatch(setSubnetMFAToken(resp.mfa_token));\n } else if (resp && resp.access_token && resp.organizations.length > 0) {\n dispatch(setSubnetAccessToken(resp.access_token));\n dispatch(setSubnetOrganizations(resp.organizations));\n dispatch(\n setSelectedSubnetOrganization(\n resp.organizations[0].accountId.toString(),\n ),\n );\n }\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n dispatch(setLoading(false));\n dispatch(resetRegisterForm());\n });\n },\n);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 { Box, Link } from \"@mui/material\";\nimport { ClusterRegistered, FormTitle } from \"./utils\";\nimport { Button, CopyIcon, OfflineRegistrationIcon } from \"mds\";\nimport TooltipWrapper from \"../Common/TooltipWrapper/TooltipWrapper\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport RegisterHelpBox from \"./RegisterHelpBox\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { useSelector } from \"react-redux\";\nimport CommentBoxWrapper from \"../Common/FormComponents/CommentBoxWrapper/CommentBoxWrapper\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport { fetchLicenseInfo } from \"./registerThunks\";\nimport {\n setErrorSnackMessage,\n setServerNeedsRestart,\n} from \"../../../systemSlice\";\n\nconst OfflineRegistration = () => {\n const dispatch = useAppDispatch();\n const subnetRegToken = useSelector(\n (state: AppState) => state.register.subnetRegToken,\n );\n const clusterRegistered = useSelector(\n (state: AppState) => state.register.clusterRegistered,\n );\n const licenseInfo = useSelector(\n (state: AppState) => state.register.licenseInfo,\n );\n\n const offlineRegUrl = `https://subnet.min.io/cluster/register?token=${subnetRegToken}`;\n\n const [licenseKey, setLicenseKey] = useState(\"\");\n\n const [isSaving, invokeApplyLicenseApi] = useApi(\n () => {\n dispatch(fetchLicenseInfo());\n dispatch(setServerNeedsRestart(true));\n },\n (err) => {\n dispatch(setErrorSnackMessage(err));\n },\n );\n\n const applyAirGapLicense = () => {\n invokeApplyLicenseApi(\"PUT\", `/api/v1/configs/subnet`, {\n key_values: [{ key: \"license\", value: licenseKey }],\n });\n };\n\n return (\n \n \n {clusterRegistered && licenseInfo ? (\n \n ) : (\n \n \n }\n title={`Register cluster in an Air-gap environment`}\n />\n \n\n \n \n \n \n
\n Click on the link to register this cluster in SUBNET and\n get a License Key for this Air-Gap deployment\n
\n
\n\n \n \n https://subnet.min.io/cluster/register\n \n\n \n \n }\n color={\"primary\"}\n variant={\"regular\"}\n />\n \n \n
\n\n \n Note: If this machine does not have internet connection,\n Copy paste the following URL in a browser where you access\n SUBNET and follow the instructions to complete the\n registration\n \n\n \n \n {\n setLicenseKey(e.target.value);\n }}\n />\n \n \n \n \n \n \n \n \n
\n )}\n \n
\n );\n};\n\nexport default OfflineRegistration;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 } from \"@mui/material\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport LockOutlinedIcon from \"@mui/icons-material/LockOutlined\";\nimport { setSubnetOTP } from \"./registerSlice\";\nimport { Button } from \"mds\";\nimport RegisterHelpBox from \"./RegisterHelpBox\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { useSelector } from \"react-redux\";\nimport { subnetLoginWithMFA } from \"./registerThunks\";\n\nconst SubnetMFAToken = () => {\n const dispatch = useAppDispatch();\n\n const subnetMFAToken = useSelector(\n (state: AppState) => state.register.subnetMFAToken,\n );\n const subnetOTP = useSelector((state: AppState) => state.register.subnetOTP);\n const loading = useSelector((state: AppState) => state.register.loading);\n\n return (\n \n \n \n Two-Factor Authentication\n \n\n \n Please enter the 6-digit verification code that was sent to your email\n address. This code will be valid for 5 minutes.\n \n\n \n }\n id=\"subnet-otp\"\n name=\"subnet-otp\"\n onChange={(event: React.ChangeEvent) =>\n dispatch(setSubnetOTP(event.target.value))\n }\n placeholder=\"\"\n label=\"\"\n value={subnetOTP}\n />\n \n \n dispatch(subnetLoginWithMFA())}\n disabled={\n loading ||\n subnetOTP.trim().length === 0 ||\n subnetMFAToken.trim().length === 0\n }\n variant=\"callAction\"\n label={\"Verify\"}\n />\n \n \n\n \n \n );\n};\nexport default SubnetMFAToken;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 } from \"@mui/material\";\nimport { FormTitle } from \"./utils\";\nimport SelectWrapper from \"../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { setLoading, setSelectedSubnetOrganization } from \"./registerSlice\";\nimport { Button } from \"mds\";\nimport RegisterHelpBox from \"./RegisterHelpBox\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { callRegister } from \"./registerThunks\";\n\nconst ClusterRegistrationForm = () => {\n const dispatch = useAppDispatch();\n\n const subnetAccessToken = useSelector(\n (state: AppState) => state.register.subnetAccessToken,\n );\n const selectedSubnetOrganization = useSelector(\n (state: AppState) => state.register.selectedSubnetOrganization,\n );\n const subnetOrganizations = useSelector(\n (state: AppState) => state.register.subnetOrganizations,\n );\n const loading = useSelector((state: AppState) => state.register.loading);\n\n return (\n \n \n \n \n \n \n \n dispatch(setSelectedSubnetOrganization(e.target.value as string))\n }\n label=\"Select an organization\"\n value={selectedSubnetOrganization}\n options={subnetOrganizations.map((organization) => ({\n label: organization.company,\n value: organization.accountId.toString(),\n }))}\n />\n \n () => {\n if (loading) {\n return;\n }\n dispatch(setLoading(true));\n if (subnetAccessToken && selectedSubnetOrganization) {\n dispatch(\n callRegister({\n token: subnetAccessToken,\n account_id: selectedSubnetOrganization,\n }),\n );\n }\n }}\n disabled={loading || subnetAccessToken.trim().length === 0}\n variant=\"callAction\"\n label={\"Register\"}\n />\n \n \n \n \n \n );\n};\n\nexport default ClusterRegistrationForm;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 { Box } from \"@mui/material\";\nimport { FormTitle } from \"./utils\";\nimport { Button, OnlineRegistrationIcon, UsersIcon } from \"mds\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\nimport RegisterHelpBox from \"./RegisterHelpBox\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { spacingUtils } from \"../Common/FormComponents/common/styleLibrary\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport {\n setShowPassword,\n setSubnetEmail,\n setSubnetPassword,\n} from \"./registerSlice\";\nimport { subnetLogin } from \"./registerThunks\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n sizedLabel: {\n minWidth: \"75px\",\n },\n ...spacingUtils,\n }),\n);\n\nconst OnlineRegistration = () => {\n const classes = useStyles();\n const dispatch = useAppDispatch();\n\n const subnetPassword = useSelector(\n (state: AppState) => state.register.subnetPassword,\n );\n const subnetEmail = useSelector(\n (state: AppState) => state.register.subnetEmail,\n );\n const showPassword = useSelector(\n (state: AppState) => state.register.showPassword,\n );\n const loading = useSelector((state: AppState) => state.register.loading);\n\n return (\n \n \n }\n title={`Online activation of MinIO Subscription Network License`}\n />\n \n \n \n \n Use your MinIO Subscription Network login credentials to register\n this cluster.\n \n \n ) =>\n dispatch(setSubnetEmail(event.target.value))\n }\n label=\"Email\"\n value={subnetEmail}\n overlayIcon={}\n />\n ) =>\n dispatch(setSubnetPassword(event.target.value))\n }\n label=\"Password\"\n type={showPassword ? \"text\" : \"password\"}\n value={subnetPassword}\n overlayIcon={\n showPassword ? : \n }\n overlayAction={() => dispatch(setShowPassword(!showPassword))}\n />\n\n \n {\n e.preventDefault();\n window.open(`https://min.io/signup?ref=con`, \"_blank\");\n }}\n label={\"Sign up\"}\n />\n dispatch(subnetLogin())}\n label={\"Register\"}\n />\n \n \n \n \n \n \n );\n};\n\nexport default OnlineRegistration;\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 createStyles from \"@mui/styles/createStyles\";\nimport { spacingUtils } from \"../Common/FormComponents/common/styleLibrary\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Box } from \"@mui/material\";\nimport api from \"../../../common/api\";\n\nimport { SubnetRegTokenResponse } from \"../License/types\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { useSelector } from \"react-redux\";\nimport { setErrorSnackMessage, setHelpName } from \"../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport Tabs from \"@mui/material/Tabs\";\nimport Tab from \"@mui/material/Tab\";\nimport { TabPanel } from \"../../shared/tabs\";\nimport { ClusterRegistered, ProxyConfiguration } from \"./utils\";\nimport ApiKeyRegister from \"./ApiKeyRegister\";\nimport { fetchLicenseInfo } from \"./registerThunks\";\nimport {\n resetRegisterForm,\n setCurTab,\n setLoading,\n setSubnetRegToken,\n} from \"./registerSlice\";\nimport OfflineRegistration from \"./OfflineRegistration\";\nimport SubnetMFAToken from \"./SubnetMFAToken\";\nimport ClusterRegistrationForm from \"./ClusterRegistrationForm\";\nimport OnlineRegistration from \"./OnlineRegistration\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport { PageLayout } from \"mds\";\nimport HelpMenu from \"../HelpMenu\";\n\ninterface IRegister {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n sizedLabel: {\n minWidth: \"75px\",\n },\n ...spacingUtils,\n });\n\nconst Register = ({ classes }: IRegister) => {\n const dispatch = useAppDispatch();\n\n const subnetMFAToken = useSelector(\n (state: AppState) => state.register.subnetMFAToken,\n );\n const subnetAccessToken = useSelector(\n (state: AppState) => state.register.subnetAccessToken,\n );\n\n const subnetRegToken = useSelector(\n (state: AppState) => state.register.subnetRegToken,\n );\n const subnetOrganizations = useSelector(\n (state: AppState) => state.register.subnetOrganizations,\n );\n\n const loading = useSelector((state: AppState) => state.register.loading);\n const loadingLicenseInfo = useSelector(\n (state: AppState) => state.register.loadingLicenseInfo,\n );\n const clusterRegistered = useSelector(\n (state: AppState) => state.register.clusterRegistered,\n );\n const licenseInfo = useSelector(\n (state: AppState) => state.register.licenseInfo,\n );\n const curTab = useSelector((state: AppState) => state.register.curTab);\n\n const [initialLicenseLoading, setInitialLicenseLoading] =\n useState(true);\n\n useEffect(() => {\n // when unmounted, reset\n return () => {\n dispatch(resetRegisterForm());\n };\n }, [dispatch]);\n\n const fetchSubnetRegToken = () => {\n if (loading || subnetRegToken) {\n return;\n }\n dispatch(setLoading(true));\n api\n .invoke(\"GET\", \"/api/v1/subnet/registration-token\")\n .then((resp: SubnetRegTokenResponse) => {\n dispatch(setLoading(false));\n if (resp && resp.regToken) {\n dispatch(setSubnetRegToken(resp.regToken));\n }\n })\n .catch((err: ErrorResponseHandler) => {\n console.error(err);\n dispatch(setErrorSnackMessage(err));\n dispatch(setLoading(false));\n });\n };\n\n useEffect(() => {\n if (initialLicenseLoading) {\n dispatch(fetchLicenseInfo());\n setInitialLicenseLoading(false);\n }\n }, [initialLicenseLoading, setInitialLicenseLoading, dispatch]);\n\n let clusterRegistrationForm: JSX.Element = ;\n\n if (subnetAccessToken && subnetOrganizations.length > 0) {\n clusterRegistrationForm = ;\n } else if (subnetMFAToken) {\n clusterRegistrationForm = ;\n } else {\n clusterRegistrationForm = ;\n }\n\n const apiKeyRegistration = (\n \n \n {clusterRegistered && licenseInfo ? (\n \n ) : (\n \n )}\n \n \n \n );\n\n const offlineRegistration = ;\n\n const regUi = (\n \n \n {clusterRegistered && licenseInfo ? (\n \n ) : (\n clusterRegistrationForm\n )}\n \n\n {!clusterRegistered && }\n \n );\n\n const loadingUi =
Loading..
;\n const uiToShow = loadingLicenseInfo ? loadingUi : regUi;\n\n useEffect(() => {\n dispatch(setHelpName(\"register\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n }\n />\n\n \n , newValue: number) => {\n dispatch(setCurTab(newValue));\n }}\n indicatorColor=\"primary\"\n textColor=\"primary\"\n aria-label=\"cluster-tabs\"\n variant=\"scrollable\"\n scrollButtons=\"auto\"\n >\n \n \n fetchSubnetRegToken()}\n />\n \n\n \n {uiToShow}\n \n \n {apiKeyRegistration}\n \n \n {offlineRegistration}\n \n \n \n );\n};\n\nexport default withStyles(styles)(Register);\n","import React from \"react\";\nimport { Box } from \"@mui/material\";\nimport { VerifiedIcon } from \"mds\";\n\nconst RegistrationStatusBanner = ({ email = \"\" }: { email?: string }) => {\n return (\n \n \n Register status:\n \n \n \n Registered\n \n \n \n\n \n Registered to:\n {email}\n \n \n );\n};\nexport default RegistrationStatusBanner;\n"],"names":["withStyles","theme","createStyles","_objectSpread","fieldBasic","tooltipHelper","inputLabel","fontSize","margin","alignItems","paddingTop","flexWrap","display","textBoxContainer","flexGrow","position","cssOutlinedInput","borderColor","padding","rootContainer","minHeight","borderWidth","color","fontWeight","opacity","_ref","label","onChange","value","id","name","_ref$disabled","disabled","_ref$tooltip","tooltip","_ref$index","index","_ref$error","error","_ref$required","required","_ref$placeholder","placeholder","classes","inputProps","_jsx","React","children","_jsxs","Grid","item","xs","className","concat","fieldContainer","errorInField","InputLabel","htmlFor","tooltipContainer","Tooltip","title","placement","HelpIcon","TextField","fullWidth","multiline","rows","helperText","InputLabelProps","shrink","InputProps","notchedOutline","root","variant","StyledSwitch","width","height","switchBase","transform","palette","common","white","backgroundColor","boxShadow","border","thumb","marginLeft","track","borderRadius","transition","transitions","create","checked","focusVisible","switchContainer","justifyContent","Switch","indicatorLabelOn","indicatorLabel","fieldDescription","marginTop","actionsTray","_ref$label","_ref$checked","_ref$switchOnly","switchOnly","_ref$description","description","indicatorLabels","_ref$extraInputProps","extraInputProps","switchComponent","clsx","_defineProperty","length","disableRipple","disableFocusRipple","disableTouchRipple","container","sm","md","textAlign","Typography","component","inputStyles","makeStyles","inputFieldStyles","InputField","props","overlayAction","right","top","maxWidth","maxHeight","_ref$type","type","_ref$autoComplete","autoComplete","_ref$multiline","min","max","overlayId","_ref$overlayIcon","overlayIcon","_ref$overlayObject","overlayObject","_ref$noLabelMinWidth","noLabelMinWidth","_ref$pattern","pattern","_ref$autoFocus","autoFocus","_ref$className","onKeyPress","onFocus","onPaste","_useState","useState","_useState2","_slicedToArray","toggleTextInput","setToggleTextInput","inputBoxWrapperIcon","inputBoxWrapperType","VisibilityOffIcon","RemoveRedEyeIcon","inputBoxContainer","noMinWidthLabel","inputRebase","IconButton","onClick","size","SelectStyled","lineHeight","spacing","input","InputBase","flexFlow","options","FormControl","Select","map","option","MenuItem","FormTitle","_ref$icon","icon","Box","sx","ClusterRegistered","_ref2","email","Fragment","RegistrationStatusBanner","cursor","Link","href","target","style","ProxyConfiguration","proxyConfigurationCommand","displaySubnetProxy","setDisplaySubnetProxy","SettingsIcon","marginBottom","InputBoxWrapper","CopyIcon","readOnly","navigator","clipboard","writeText","FormSwitchWrapper","event","sizedLabel","minWidth","containerForHeader","spacingUtils","open","closeModal","onSet","dispatch","useAppDispatch","setEmail","_useState3","_useState4","password","setPassword","_useState5","_useState6","showPassword","setShowPassword","_useState7","_useState8","mfaToken","setMfaToken","_useState9","_useState10","subnetOTP","setSubnetOTP","_useApi","useApi","res","mfa_token","access_token","invokeApi","apiKey","err","setErrorSnackMessage","_useApi2","isLoading","getCredentialsDialog","spacerBottom","UsersIcon","getMFADialog","flex","LockOutlinedIcon","ConfirmDialog","confirmText","isOpen","titleIcon","InfoIcon","cancelText","onConfirm","username","otp","onClose","confirmButtonProps","hidden","cancelButtonProps","confirmationContent","FeatureItem","marginRight","fontStyle","_ref2$hasMargin","hasMargin","HelpIconFilled","CallHomeFeatureIcon","DiagnosticsFeatureIcon","PerformanceFeatureIcon","ExtraFeaturesIcon","registerEndpoint","navigate","useNavigate","showApiKeyModal","setShowApiKeyModal","setApiKey","loading","setLoading","fromModal","setFromModal","onRegister","useCallback","request","api","invoke","then","resp","registered","setServerNeedsRestart","IAM_PAGES","LICENSE","catch","reset","useEffect","OnlineRegistrationIcon","Button","spacerRight","trim","GetApiKeyModal","RegisterHelpBox","fetchLicenseInfo","createAsyncThunk","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_","getState","state","getSubnetInfo","wrap","_context","prev","next","hasPermission","CONSOLE_UI_RESOURCE","IAM_PAGES_PERMISSIONS","register","loadingLicenseInfo","abrupt","setLoadingLicenseInfo","setLicenseInfo","setClusterRegistered","detailedError","toLowerCase","stop","_x","_x2","apply","arguments","callRegister","_ref4","_callee2","args","_ref3","_context2","token","account_id","resetRegisterForm","_x3","_x4","subnetLoginWithMFA","_ref6","_callee3","_ref5","subnetEmail","subnetMFAToken","_context3","rejectWithValue","organizations","accountId","toString","setSubnetAccessToken","setSubnetOrganizations","setSelectedSubnetOrganization","_x5","_x6","subnetLogin","_ref8","_callee4","_ref7","license","subnetPassword","_context4","setSubnetMFAToken","_x7","_x8","subnetRegToken","useSelector","clusterRegistered","licenseInfo","offlineRegUrl","licenseKey","setLicenseKey","isSaving","invokeApplyLicenseApi","OfflineRegistrationIcon","background","gap","TooltipWrapper","CopyToClipboard","text","flexDirection","CommentBoxWrapper","e","key_values","key","subnetAccessToken","selectedSubnetOrganization","subnetOrganizations","SelectWrapper","organization","company","useStyles","setSubnetEmail","setSubnetPassword","preventDefault","window","curTab","initialLicenseLoading","setInitialLicenseLoading","clusterRegistrationForm","ClusterRegistrationForm","SubnetMFAToken","OnlineRegistration","apiKeyRegistration","ApiKeyRegister","offlineRegistration","OfflineRegistration","regUi","uiToShow","setHelpName","PageHeaderWrapper","actions","HelpMenu","PageLayout","Tabs","newValue","setCurTab","indicatorColor","textColor","scrollButtons","Tab","regToken","setSubnetRegToken","console","TabPanel","_ref$email","left","fill","VerifiedIcon"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1516.b3513b8c.chunk.js b/portal-ui/build/static/js/1516.b3513b8c.chunk.js deleted file mode 100644 index e74e25bd4..000000000 --- a/portal-ui/build/static/js/1516.b3513b8c.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1516],{57314:function(e,t,n){"use strict";var r=n(1413),i=n(72791),o=n(61889),s=n(30829),a=n(20068),l=n(27391),c=n(11135),u=n(25787),d=n(23814),p=n(29945),f=n(80184);t.Z=(0,u.Z)((function(e){return(0,c.Z)((0,r.Z)((0,r.Z)((0,r.Z)({},d.YI),d.Hr),{},{inputLabel:(0,r.Z)((0,r.Z)({},d.YI.inputLabel),{},{fontSize:14,margin:0,alignItems:"flex-start",paddingTop:"20px",flexWrap:"wrap",display:"flex"}),textBoxContainer:{flexGrow:1,position:"relative"},cssOutlinedInput:{borderColor:"#EAEAEA",padding:16},rootContainer:{"& .MuiOutlinedInput-inputMultiline":(0,r.Z)((0,r.Z)({},d.YI.inputLabel),{},{fontSize:13,minHeight:150}),"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"#07193E",borderWidth:1},"& textarea":{color:"#07193E",fontSize:13,fontWeight:600,"&:placeholder":{color:"#858585",opacity:1,fontWeight:400}}}}))}))((function(e){var t=e.label,n=e.onChange,r=e.value,c=e.id,u=e.name,d=e.disabled,x=void 0!==d&&d,h=e.tooltip,g=void 0===h?"":h,m=e.index,b=void 0===m?0:m,v=e.error,y=void 0===v?"":v,j=e.required,Z=void 0!==j&&j,w=e.placeholder,C=void 0===w?"":w,k=e.classes,S={"data-index":b};return(0,f.jsx)(i.Fragment,{children:(0,f.jsxs)(o.ZP,{item:!0,xs:12,className:"".concat(k.fieldContainer," ").concat(""!==y?k.errorInField:""),children:[""!==t&&(0,f.jsxs)(s.Z,{htmlFor:c,className:k.inputLabel,children:[(0,f.jsxs)("span",{children:[t,Z?"*":""]}),""!==g&&(0,f.jsx)("div",{className:k.tooltipContainer,children:(0,f.jsx)(a.Z,{title:g,placement:"top-start",children:(0,f.jsx)("div",{className:k.tooltip,children:(0,f.jsx)(p.byK,{})})})})]}),(0,f.jsx)("div",{className:k.textBoxContainer,children:(0,f.jsx)(l.Z,{id:c,name:u,fullWidth:!0,value:r,disabled:x,onChange:n,multiline:!0,rows:5,inputProps:S,error:""!==y,helperText:y,placeholder:C,InputLabelProps:{shrink:!0},InputProps:{classes:{notchedOutline:k.cssOutlinedInput,root:k.rootContainer}},variant:"outlined"})})]})})}))},21435:function(e,t,n){"use strict";var r=n(29439),i=n(1413),o=n(72791),s=n(27391),a=n(61889),l=n(30829),c=n(20068),u=n(13400),d=n(20165),p=n(3579),f=n(11135),x=n(72455),h=n(25787),g=n(23814),m=n(29945),b=n(28182),v=n(80184),y=(0,x.Z)((function(e){return(0,f.Z)((0,i.Z)({},g.gM))}));function j(e){var t=y();return(0,v.jsx)(s.Z,(0,i.Z)({InputProps:{classes:t}},e))}t.Z=(0,h.Z)((function(e){return(0,f.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},g.YI),g.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}}}))}))((function(e){var t=e.label,n=e.onChange,s=e.value,f=e.id,x=e.name,h=e.type,g=void 0===h?"text":h,y=e.autoComplete,Z=void 0===y?"off":y,w=e.disabled,C=void 0!==w&&w,k=e.multiline,S=void 0!==k&&k,I=e.tooltip,T=void 0===I?"":I,P=e.index,O=void 0===P?0:P,L=e.error,z=void 0===L?"":L,E=e.required,F=void 0!==E&&E,R=e.placeholder,N=void 0===R?"":R,A=e.min,_=e.max,B=e.overlayId,M=e.overlayIcon,K=void 0===M?null:M,W=e.overlayObject,D=void 0===W?null:W,U=e.extraInputProps,H=void 0===U?{}:U,G=e.overlayAction,V=e.noLabelMinWidth,Y=void 0!==V&&V,q=e.pattern,X=void 0===q?"":q,Q=e.autoFocus,J=void 0!==Q&&Q,$=e.classes,ee=e.className,te=void 0===ee?"":ee,ne=e.onKeyPress,re=e.onFocus,ie=e.onPaste,oe=(0,i.Z)({"data-index":O},H),se=(0,o.useState)(!1),ae=(0,r.Z)(se,2),le=ae[0],ce=ae[1];"number"===g&&A&&(oe.min=A),"number"===g&&_&&(oe.max=_),""!==X&&(oe.pattern=X);var ue=K,de=g;return"password"===g&&null===K&&(ue=le?(0,v.jsx)(d.Z,{}):(0,v.jsx)(p.Z,{}),de=le?"text":"password"),(0,v.jsx)(o.Fragment,{children:(0,v.jsxs)(a.ZP,{container:!0,className:(0,b.Z)(""!==te?te:"",""!==z?$.errorInField:$.inputBoxContainer),children:[""!==t&&(0,v.jsxs)(l.Z,{htmlFor:f,className:Y?$.noMinWidthLabel:$.inputLabel,children:[(0,v.jsxs)("span",{children:[t,F?"*":""]}),""!==T&&(0,v.jsx)("div",{className:$.tooltipContainer,children:(0,v.jsx)(c.Z,{title:T,placement:"top-start",children:(0,v.jsx)("div",{className:$.tooltip,children:(0,v.jsx)(m.byK,{})})})})]}),(0,v.jsxs)("div",{className:$.textBoxContainer,children:[(0,v.jsx)(j,{id:f,name:x,fullWidth:!0,value:s,autoFocus:J,disabled:C,onChange:n,type:de,multiline:S,autoComplete:Z,inputProps:oe,error:""!==z,helperText:z,placeholder:N,className:$.inputRebase,onKeyPress:ne,onFocus:re,onPaste:ie}),ue&&(0,v.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,v.jsx)(u.Z,{onClick:G?function(){G()}:function(){return ce(!le)},id:B,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:ue})}),D&&(0,v.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==t?"withLabel":""),children:D})]})]})})}))},90673:function(e,t,n){"use strict";var r=n(1413),i=n(72791),o=n(61889),s=n(886),a=n(30829),l=n(20068),c=n(68096),u=n(58406),d=n(77865),p=n(11135),f=n(25787),x=n(23814),h=n(29945),g=n(80184),m=(0,f.Z)((function(e){return(0,p.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(s.ZP);t.Z=(0,f.Z)((function(e){return(0,p.Z)((0,r.Z)((0,r.Z)((0,r.Z)({},x.YI),x.Hr),{},{fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var t=e.classes,n=e.id,r=e.name,s=e.onChange,p=e.options,f=e.label,x=e.tooltip,b=void 0===x?"":x,v=e.value,y=e.disabled,j=void 0!==y&&y;return(0,g.jsx)(i.Fragment,{children:(0,g.jsxs)(o.ZP,{item:!0,xs:12,className:t.fieldContainer,children:[""!==f&&(0,g.jsxs)(a.Z,{htmlFor:n,className:t.inputLabel,children:[(0,g.jsx)("span",{children:f}),""!==b&&(0,g.jsx)("div",{className:t.tooltipContainer,children:(0,g.jsx)(l.Z,{title:b,placement:"top-start",children:(0,g.jsx)("div",{className:t.tooltip,children:(0,g.jsx)(h.byK,{})})})})]}),(0,g.jsx)(c.Z,{fullWidth:!0,children:(0,g.jsx)(u.Z,{id:n,name:r,value:v,onChange:s,input:(0,g.jsx)(m,{}),disabled:j,children:p.map((function(e){return(0,g.jsx)(d.Z,{value:e.value,children:e.label},"select-".concat(r,"-").concat(e.label))}))})})]})})}))},51516:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return oe}});var r=n(29439),i=n(1413),o=n(72791),s=n(11135),a=n(23814),l=n(25787),c=n(64554),u=n(81207),d=n(78687),p=n(87995),f=n(81551),x=n(18073),h=n(43896),g=n(19847),m=n(61889),b=n(50533),v=n(29945),y=n(81159),j=n(21435),Z=n(74440),w=n(80184),C=function(e){var t=e.icon,n=void 0===t?null:t,r=e.title;return(0,w.jsxs)(c.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-start"},children:[n,(0,w.jsx)("div",{className:"title-text",children:r})]})},k=function(e){var t=e.email;return(0,w.jsxs)(o.Fragment,{children:[(0,w.jsx)(Z.Z,{email:t}),(0,w.jsx)(m.ZP,{item:!0,xs:12,marginTop:"25px",children:(0,w.jsxs)(c.Z,{sx:{padding:"20px","& a":{color:"#2781B0",cursor:"pointer"}},children:["Login to"," ",(0,w.jsx)(b.Z,{href:"https://subnet.min.io",target:"_blank",style:{color:"#2781B0",cursor:"pointer"},children:"SUBNET"})," ","to avail support for this MinIO cluster"]})})]})},S=function(){var e="mc admin config set {alias} subnet proxy={proxy}",t=(0,o.useState)(!1),n=(0,r.Z)(t,2),i=n[0],s=n[1];return(0,w.jsx)(o.Fragment,{children:(0,w.jsxs)(c.Z,{sx:{border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",padding:"23px",marginTop:"40px",alignItems:"start",justifyContent:"space-between"},children:[(0,w.jsxs)(c.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,w.jsxs)(c.Z,{sx:{display:"flex","& .min-icon":{height:"22px",width:"22px"}},children:[(0,w.jsx)(v.ewm,{}),(0,w.jsx)("div",{style:{marginLeft:"10px",fontWeight:600},children:"Proxy Configuration"})]}),(0,w.jsxs)(c.Z,{sx:{marginTop:"10px",marginBottom:"10px",fontSize:"14px"},children:["For airgap/firewalled environments it is possible to"," ",(0,w.jsx)(b.Z,{style:{color:"#2781B0",cursor:"pointer"},href:"https://min.io/docs/minio/linux/reference/minio-mc-admin/mc-admin-config.html?ref=con",target:"_blank",children:"configure a proxy"})," ","to connect to SUBNET ."]}),(0,w.jsx)(c.Z,{children:i&&(0,w.jsx)(j.Z,{disabled:!0,id:"subnetProxy",name:"subnetProxy",placeholder:"",onChange:function(){},label:"",value:e,overlayIcon:(0,w.jsx)(v.TIy,{}),extraInputProps:{readOnly:!0},overlayAction:function(){return navigator.clipboard.writeText(e)}})})]}),(0,w.jsx)(c.Z,{sx:{display:"flex"},children:(0,w.jsx)(y.Z,{value:"enableProxy",id:"enableProxy",name:"enableProxy",checked:i,onChange:function(e){s(e.target.checked)}})})]})})},I=n(3579),T=n(20165),P=n(30403),O=n(23508),L=n(9505),z=(0,l.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)({sizedLabel:{minWidth:"75px"}},a.Bz),a.bK))}))((function(e){var t=e.open,n=e.closeModal,i=e.classes,s=e.onSet,a=(0,f.TL)(),l=(0,o.useState)(""),u=(0,r.Z)(l,2),d=u[0],x=u[1],h=(0,o.useState)(""),g=(0,r.Z)(h,2),m=g[0],b=g[1],y=(0,o.useState)(!1),Z=(0,r.Z)(y,2),C=Z[0],k=Z[1],S=(0,o.useState)(""),z=(0,r.Z)(S,2),E=z[0],F=z[1],R=(0,o.useState)(""),N=(0,r.Z)(R,2),A=N[0],_=N[1],B=(0,L.Z)((function(e){e.mfa_token?F(e.mfa_token):e.access_token?W("GET","/api/v1/subnet/apikey?token=".concat(e.access_token)):(s(e.apiKey),n())}),(function(e){a((0,p.Ih)(e)),n(),x(""),b(""),k(!1),F(""),_("")})),M=(0,r.Z)(B,2),K=M[0],W=M[1],D=function(){return(0,w.jsxs)(c.Z,{sx:{width:500},children:[(0,w.jsx)(j.Z,{className:i.spacerBottom,classes:{inputLabel:i.sizedLabel},id:"subnet-email",name:"subnet-email",onChange:function(e){return x(e.target.value)},label:"Email",value:d,overlayIcon:(0,w.jsx)(v.oyc,{})}),(0,w.jsx)(j.Z,{className:i.spacerBottom,classes:{inputLabel:i.sizedLabel},id:"subnet-password",name:"subnet-password",onChange:function(e){return b(e.target.value)},label:"Password",type:C?"text":"password",value:m,overlayIcon:C?(0,w.jsx)(T.Z,{}):(0,w.jsx)(I.Z,{}),overlayAction:function(){return k(!C)}})]})},U=function(){return(0,w.jsx)(c.Z,{sx:{display:"flex"},children:(0,w.jsxs)(c.Z,{sx:{display:"flex",flexFlow:"column",flex:"2"},children:[(0,w.jsx)(c.Z,{sx:{fontSize:"16px",display:"flex",flexFlow:"column",marginTop:"30px",marginBottom:"30px"},children:"Two-Factor Authentication"}),(0,w.jsx)(c.Z,{children:"Please enter the 6-digit verification code that was sent to your email address. This code will be valid for 5 minutes."}),(0,w.jsx)(c.Z,{sx:{flex:"1",marginTop:"30px"},children:(0,w.jsx)(j.Z,{overlayIcon:(0,w.jsx)(P.Z,{}),id:"subnet-otp",name:"subnet-otp",onChange:function(e){return _(e.target.value)},placeholder:"",label:"",value:A})}),(0,w.jsx)(c.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"}})]})})};return t?(0,w.jsx)(O.Z,{title:"Get API Key from SUBNET",confirmText:"Get API Key",isOpen:t,titleIcon:(0,w.jsx)(v.szr,{}),isLoading:K,cancelText:"Cancel",onConfirm:function(){""!==E?W("POST","/api/v1/subnet/login/mfa",{username:d,otp:A,mfa_token:E}):W("POST","/api/v1/subnet/login",{username:d,password:m})},onClose:n,confirmButtonProps:{variant:"callAction",disabled:!d||!m||K,hidden:!0},cancelButtonProps:{disabled:K},confirmationContent:""===E?D():U()}):null})),E=function(e){var t=e.icon,n=e.description;return(0,w.jsxs)(c.Z,{sx:{display:"flex","& .min-icon":{marginRight:"10px",height:"23px",width:"23px",marginBottom:"10px"}},children:[t," ",(0,w.jsx)("div",{style:{fontSize:"14px",fontStyle:"italic",color:"#5E5E5E"},children:n})]})},F=function(e){var t=e.hasMargin,n=void 0===t||t;return(0,w.jsxs)(c.Z,{sx:{flex:1,border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"20px",marginLeft:{xs:"0px",sm:"0px",md:n?"30px":""},marginTop:{xs:"0px",sm:n?"30px":""}},children:[(0,w.jsxs)(c.Z,{sx:{fontSize:"16px",fontWeight:600,display:"flex",alignItems:"center",marginBottom:"16px","& .min-icon":{height:"21px",width:"21px",marginRight:"15px"}},children:[(0,w.jsx)(v.M9A,{}),(0,w.jsx)("div",{children:"Why should I register?"})]}),(0,w.jsx)(c.Z,{sx:{fontSize:"14px",marginBottom:"15px"},children:"Registering this cluster with the MinIO Subscription Network (SUBNET) provides the following benefits in addition to the commercial license and SLA backed support."}),(0,w.jsxs)(c.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,w.jsx)(E,{icon:(0,w.jsx)(v._qw,{}),description:"Call Home Monitoring"}),(0,w.jsx)(E,{icon:(0,w.jsx)(v.toM,{}),description:"Health Diagnostics"}),(0,w.jsx)(E,{icon:(0,w.jsx)(v.Fsz,{}),description:"Performance Analysis"}),(0,w.jsx)(E,{icon:(0,w.jsx)(v.EQx,{}),description:(0,w.jsx)(b.Z,{href:"https://min.io/signup?ref=con",target:"_blank",sx:{color:"#2781B0",cursor:"pointer"},children:"More Features"})})]})]})},R=n(57689),N=n(56087),A=(0,l.Z)((function(e){return(0,s.Z)((0,i.Z)({sizedLabel:{minWidth:"75px"}},a.bK))}))((function(e){var t=e.classes,n=e.registerEndpoint,i=(0,R.s0)(),s=(0,o.useState)(!1),a=(0,r.Z)(s,2),l=a[0],d=a[1],x=(0,o.useState)(""),h=(0,r.Z)(x,2),g=h[0],m=h[1],b=(0,o.useState)(!1),y=(0,r.Z)(b,2),Z=y[0],k=y[1],S=(0,o.useState)(!1),I=(0,r.Z)(S,2),T=I[0],P=I[1],O=(0,f.TL)(),L=(0,o.useCallback)((function(){if(!Z){k(!0);var e={apiKey:g};u.Z.invoke("POST",n,e).then((function(e){k(!1),e&&e.registered&&(O((0,p.cN)(!0)),i(N.gA.LICENSE))})).catch((function(e){O((0,p.Ih)(e)),k(!1),E()}))}}),[g,O,Z,n,i]);(0,o.useEffect)((function(){T&&L()}),[T,L]);var E=function(){m(""),P(!1)};return(0,w.jsxs)(o.Fragment,{children:[(0,w.jsx)(c.Z,{sx:{"& .title-text":{marginLeft:"27px",fontWeight:600}},children:(0,w.jsx)(C,{icon:(0,w.jsx)(v.dRy,{}),title:"Register cluster with API key"})}),(0,w.jsxs)(c.Z,{sx:{display:"flex",flexFlow:{xs:"column",md:"row"}},children:[(0,w.jsxs)(c.Z,{sx:{display:"flex",flexFlow:"column",flex:"2"},children:[(0,w.jsx)(c.Z,{sx:{fontSize:"16px",display:"flex",flexFlow:"column",marginTop:"30px",marginBottom:"30px"},children:"Use your MinIO Subscription Network API Key to register this cluster."}),(0,w.jsxs)(c.Z,{sx:{flex:"1"},children:[(0,w.jsx)(j.Z,{className:t.spacerBottom,classes:{inputLabel:t.sizedLabel},id:"api-key",name:"api-key",onChange:function(e){return m(e.target.value)},label:"API Key",value:g}),(0,w.jsxs)(c.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end","& button":{marginLeft:"8px"}},children:[(0,w.jsx)(v.zxk,{id:"get-from-subnet",variant:"regular",className:t.spacerRight,disabled:Z,onClick:function(){return d(!0)},label:"Get from SUBNET"}),(0,w.jsx)(v.zxk,{id:"register",type:"submit",variant:"callAction",disabled:Z||0===g.trim().length,onClick:function(){return L()},label:"Register"}),(0,w.jsx)(z,{open:l,closeModal:function(){return d(!1)},onSet:function(e){m(e),P(!0)}})]})]})]}),(0,w.jsx)(F,{})]})]})})),_=n(74165),B=n(15861),M=n(36825),K=n(96382),W=n(38442),D=(0,K.hg)("register/fetchLicenseInfo",function(){var e=(0,B.Z)((0,_.Z)().mark((function e(t,n){var r,i,o,s;return(0,_.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.getState,i=n.dispatch,o=r(),s=(0,W.F)(N.C3,N.LC[N.gA.LICENSE],!0),!o.register.loadingLicenseInfo){e.next=6;break}return e.abrupt("return");case 6:s?(i((0,M.pI)(!0)),u.Z.invoke("GET","/api/v1/subnet/info").then((function(e){i((0,M.aO)(e)),i((0,M.Dr)(!0)),i((0,M.pI)(!1))})).catch((function(e){e.detailedError.toLowerCase()!=="License is not present".toLowerCase()&&e.detailedError.toLowerCase()!=="license not found".toLowerCase()&&i((0,p.Ih)(e)),i((0,M.Dr)(!1)),i((0,M.pI)(!1))}))):i((0,M.pI)(!1));case 7:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()),U=(0,K.hg)("register/callRegister",function(){var e=(0,B.Z)((0,_.Z)().mark((function e(t,n){var r,i;return(0,_.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=n.dispatch,i={token:t.token,account_id:t.account_id},u.Z.invoke("POST","/api/v1/subnet/register",i).then((function(){r((0,M.K4)(!1)),r((0,p.cN)(!0)),r((0,M.jS)()),r(D())})).catch((function(e){r((0,p.Ih)(e)),r((0,M.K4)(!1))}));case 3:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()),H=(0,K.hg)("register/subnetLoginWithMFA",function(){var e=(0,B.Z)((0,_.Z)().mark((function e(t,n){var r,i,o,s,a,l,c;return(0,_.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.getState,n.rejectWithValue,i=n.dispatch,o=r(),s=o.register.subnetEmail,a=o.register.subnetMFAToken,l=o.register.subnetOTP,!o.register.loading){e.next=8;break}return e.abrupt("return");case 8:i((0,M.K4)(!0)),c={username:s,otp:l,mfa_token:a},u.Z.invoke("POST","/api/v1/subnet/login/mfa",c).then((function(e){i((0,M.K4)(!1)),e&&e.access_token&&e.organizations.length>0&&(1===e.organizations.length?i(U({token:e.access_token,account_id:e.organizations[0].accountId.toString()})):(i((0,M.t2)(e.access_token)),i((0,M.dl)(e.organizations)),i((0,M.wK)(e.organizations[0].accountId.toString()))))})).catch((function(e){i((0,p.Ih)(e)),i((0,M.K4)(!1)),i((0,M.Z7)(""))}));case 11:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()),G=(0,K.hg)("register/subnetLogin",function(){var e=(0,B.Z)((0,_.Z)().mark((function e(t,n){var r,i,o,s,a,l,c;return(0,_.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.getState,n.rejectWithValue,i=n.dispatch,o=r(),s=o.register.license,a=o.register.subnetPassword,l=o.register.subnetEmail,!o.register.loading){e.next=8;break}return e.abrupt("return");case 8:i((0,M.K4)(!0)),c={username:l,password:a,apiKey:s},u.Z.invoke("POST","/api/v1/subnet/login",c).then((function(e){i((0,M.K4)(!1)),e&&e.registered?(i((0,M.jS)()),i(D())):e&&e.mfa_token?i((0,M.dK)(e.mfa_token)):e&&e.access_token&&e.organizations.length>0&&(i((0,M.t2)(e.access_token)),i((0,M.dl)(e.organizations)),i((0,M.wK)(e.organizations[0].accountId.toString())))})).catch((function(e){i((0,p.Ih)(e)),i((0,M.K4)(!1)),i((0,M.jS)())}));case 11:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()),V=n(27454),Y=n(78029),q=n.n(Y),X=n(57314),Q=function(){var e=(0,f.TL)(),t=(0,d.v9)((function(e){return e.register.subnetRegToken})),n=(0,d.v9)((function(e){return e.register.clusterRegistered})),i=(0,d.v9)((function(e){return e.register.licenseInfo})),s="https://subnet.min.io/cluster/register?token=".concat(t),a=(0,o.useState)(""),l=(0,r.Z)(a,2),u=l[0],x=l[1],h=(0,L.Z)((function(){e(D()),e((0,p.cN)(!0))}),(function(t){e((0,p.Ih)(t))})),g=(0,r.Z)(h,2),m=g[0],y=g[1];return(0,w.jsx)(o.Fragment,{children:(0,w.jsx)(c.Z,{sx:{border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"43px"},children:n&&i?(0,w.jsx)(k,{email:i.email}):(0,w.jsxs)(o.Fragment,{children:[(0,w.jsx)(c.Z,{sx:{"& .title-text":{marginLeft:"27px",fontWeight:600}},children:(0,w.jsx)(C,{icon:(0,w.jsx)(v.YL8,{}),title:"Register cluster in an Air-gap environment"})}),(0,w.jsxs)(c.Z,{sx:{display:"flex"},children:[(0,w.jsx)(c.Z,{sx:{display:"flex",flexFlow:"column",flex:"2",marginTop:"15px","& .step-number":{color:"#ffffff",height:"25px",width:"25px",background:"#081C42",marginRight:"10px",textAlign:"center",fontWeight:600,borderRadius:"50%"},"& .step-row":{fontSize:"16px",display:"flex",marginTop:"15px",marginBottom:"15px"}},children:(0,w.jsxs)(c.Z,{children:[(0,w.jsx)(c.Z,{className:"step-row",children:(0,w.jsx)("div",{className:"step-text",children:"Click on the link to register this cluster in SUBNET and get a License Key for this Air-Gap deployment"})}),(0,w.jsxs)(c.Z,{sx:{flex:"1",display:"flex",alignItems:"center",gap:3},children:[(0,w.jsx)(b.Z,{style:{color:"#2781B0",cursor:"pointer"},color:"inherit",href:s,target:"_blank",children:"https://subnet.min.io/cluster/register"}),(0,w.jsx)(V.Z,{tooltip:"Copy to Clipboard",children:(0,w.jsx)(q(),{text:s,children:(0,w.jsx)(v.zxk,{type:"button",id:"copy-ult-to-clip-board",icon:(0,w.jsx)(v.TIy,{}),color:"primary",variant:"regular"})})})]}),(0,w.jsx)("div",{style:{marginTop:"25px",fontSize:"14px",fontStyle:"italic",color:"#5E5E5E"},children:"Note: If this machine does not have internet connection, Copy paste the following URL in a browser where you access SUBNET and follow the instructions to complete the registration"}),(0,w.jsxs)(c.Z,{sx:{marginTop:"25px",display:"flex",flexDirection:"column"},children:[(0,w.jsxs)("label",{style:{fontWeight:"bold",marginBottom:"10px"},children:["Paste the License Key"," "]}),(0,w.jsx)(X.Z,{value:u,disabled:m,label:"",id:"licenseKey",name:"licenseKey",placeholder:"License Key",onChange:function(e){x(e.target.value)}})]}),(0,w.jsx)(c.Z,{sx:{marginTop:"25px"},children:(0,w.jsx)(v.zxk,{id:"apply-license-key",onClick:function(){y("PUT","/api/v1/configs/subnet",{key_values:[{key:"license",value:u}]})},variant:"callAction",disabled:!u||m,label:"Apply Cluster License"})})]})}),(0,w.jsx)(F,{})]})]})})})},J=function(){var e=(0,f.TL)(),t=(0,d.v9)((function(e){return e.register.subnetMFAToken})),n=(0,d.v9)((function(e){return e.register.subnetOTP})),r=(0,d.v9)((function(e){return e.register.loading}));return(0,w.jsxs)(c.Z,{sx:{display:"flex"},children:[(0,w.jsxs)(c.Z,{sx:{display:"flex",flexFlow:"column",flex:"2"},children:[(0,w.jsx)(c.Z,{sx:{fontSize:"16px",display:"flex",flexFlow:"column",marginTop:"30px",marginBottom:"30px"},children:"Two-Factor Authentication"}),(0,w.jsx)(c.Z,{children:"Please enter the 6-digit verification code that was sent to your email address. This code will be valid for 5 minutes."}),(0,w.jsx)(c.Z,{sx:{flex:"1",marginTop:"30px"},children:(0,w.jsx)(j.Z,{overlayIcon:(0,w.jsx)(P.Z,{}),id:"subnet-otp",name:"subnet-otp",onChange:function(t){return e((0,M.Z7)(t.target.value))},placeholder:"",label:"",value:n})}),(0,w.jsx)(c.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"},children:(0,w.jsx)(v.zxk,{id:"verify",onClick:function(){return e(H())},disabled:r||0===n.trim().length||0===t.trim().length,variant:"callAction",label:"Verify"})})]}),(0,w.jsx)(F,{})]})},$=n(90673),ee=function(){var e=(0,f.TL)(),t=(0,d.v9)((function(e){return e.register.subnetAccessToken})),n=(0,d.v9)((function(e){return e.register.selectedSubnetOrganization})),r=(0,d.v9)((function(e){return e.register.subnetOrganizations})),i=(0,d.v9)((function(e){return e.register.loading}));return(0,w.jsxs)(c.Z,{sx:{display:"flex"},children:[(0,w.jsxs)(c.Z,{sx:{display:"flex",flexFlow:"column",flex:"2"},children:[(0,w.jsx)(c.Z,{sx:{marginTop:"15px",marginBottom:"15px","& .title-text":{marginLeft:"0px"}},children:(0,w.jsx)(C,{title:"Register MinIO cluster"})}),(0,w.jsxs)(c.Z,{children:[(0,w.jsx)($.Z,{id:"subnet-organization",name:"subnet-organization",onChange:function(t){return e((0,M.wK)(t.target.value))},label:"Select an organization",value:n,options:r.map((function(e){return{label:e.company,value:e.accountId.toString()}}))}),(0,w.jsx)(c.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end",marginTop:"15px"},children:(0,w.jsx)(v.zxk,{id:"register-cluster",onClick:function(){return function(){i||(e((0,M.K4)(!0)),t&&n&&e(U({token:t,account_id:n})))}},disabled:i||0===t.trim().length,variant:"callAction",label:"Register"})})]})]}),(0,w.jsx)(F,{})]})},te=(0,n(72455).Z)((function(e){return(0,s.Z)((0,i.Z)({sizedLabel:{minWidth:"75px"}},a.bK))})),ne=function(){var e=te(),t=(0,f.TL)(),n=(0,d.v9)((function(e){return e.register.subnetPassword})),r=(0,d.v9)((function(e){return e.register.subnetEmail})),i=(0,d.v9)((function(e){return e.register.showPassword})),s=(0,d.v9)((function(e){return e.register.loading}));return(0,w.jsxs)(o.Fragment,{children:[(0,w.jsx)(c.Z,{sx:{"& .title-text":{marginLeft:"27px",fontWeight:600}},children:(0,w.jsx)(C,{icon:(0,w.jsx)(v.dRy,{}),title:"Online activation of MinIO Subscription Network License"})}),(0,w.jsxs)(c.Z,{sx:{display:"flex",flexFlow:{xs:"column",md:"row"}},children:[(0,w.jsxs)(c.Z,{sx:{display:"flex",flexFlow:"column",flex:"2"},children:[(0,w.jsx)(c.Z,{sx:{fontSize:"16px",display:"flex",flexFlow:"column",marginTop:"30px",marginBottom:"30px"},children:"Use your MinIO Subscription Network login credentials to register this cluster."}),(0,w.jsxs)(c.Z,{sx:{flex:"1"},children:[(0,w.jsx)(j.Z,{className:e.spacerBottom,classes:{inputLabel:e.sizedLabel},id:"subnet-email",name:"subnet-email",onChange:function(e){return t((0,M.Ze)(e.target.value))},label:"Email",value:r,overlayIcon:(0,w.jsx)(v.oyc,{})}),(0,w.jsx)(j.Z,{className:e.spacerBottom,classes:{inputLabel:e.sizedLabel},id:"subnet-password",name:"subnet-password",onChange:function(e){return t((0,M.lr)(e.target.value))},label:"Password",type:i?"text":"password",value:n,overlayIcon:i?(0,w.jsx)(T.Z,{}):(0,w.jsx)(I.Z,{}),overlayAction:function(){return t((0,M.R5)(!i))}}),(0,w.jsxs)(c.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end","& button":{marginLeft:"8px"}},children:[(0,w.jsx)(v.zxk,{id:"sign-up",type:"submit",className:e.spacerRight,variant:"regular",onClick:function(e){e.preventDefault(),window.open("https://min.io/signup?ref=con","_blank")},label:"Sign up"}),(0,w.jsx)(v.zxk,{id:"register-credentials",type:"submit",variant:"callAction",disabled:s||0===r.trim().length||0===n.trim().length,onClick:function(){return t(G())},label:"Register"})]})]})]}),(0,w.jsx)(F,{})]})]})},re=n(47974),ie=n(99670),oe=(0,l.Z)((function(e){return(0,s.Z)((0,i.Z)({sizedLabel:{minWidth:"75px"}},a.bK))}))((function(e){e.classes;var t=(0,f.TL)(),n=(0,d.v9)((function(e){return e.register.subnetMFAToken})),i=(0,d.v9)((function(e){return e.register.subnetAccessToken})),s=(0,d.v9)((function(e){return e.register.subnetRegToken})),a=(0,d.v9)((function(e){return e.register.subnetOrganizations})),l=(0,d.v9)((function(e){return e.register.loading})),m=(0,d.v9)((function(e){return e.register.loadingLicenseInfo})),b=(0,d.v9)((function(e){return e.register.clusterRegistered})),y=(0,d.v9)((function(e){return e.register.licenseInfo})),j=(0,d.v9)((function(e){return e.register.curTab})),Z=(0,o.useState)(!0),C=(0,r.Z)(Z,2),I=C[0],T=C[1];(0,o.useEffect)((function(){return function(){t((0,M.jS)())}}),[t]);(0,o.useEffect)((function(){I&&(t(D()),T(!1))}),[I,T,t]);var P=(0,w.jsx)(o.Fragment,{});P=i&&a.length>0?(0,w.jsx)(ee,{}):n?(0,w.jsx)(J,{}):(0,w.jsx)(ne,{});var O=(0,w.jsxs)(o.Fragment,{children:[(0,w.jsx)(c.Z,{sx:{border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"43px"},children:b&&y?(0,w.jsx)(k,{email:y.email}):(0,w.jsx)(A,{registerEndpoint:"/api/v1/subnet/login"})}),(0,w.jsx)(S,{})]}),L=(0,w.jsx)(Q,{}),z=(0,w.jsxs)(o.Fragment,{children:[(0,w.jsx)(c.Z,{sx:{border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"43px"},children:b&&y?(0,w.jsx)(k,{email:y.email}):P}),!b&&(0,w.jsx)(S,{})]}),E=m?(0,w.jsx)("div",{children:"Loading.."}):z;return(0,o.useEffect)((function(){t((0,p.Sc)("register"))}),[]),(0,w.jsxs)(o.Fragment,{children:[(0,w.jsx)(re.Z,{label:"Register to MinIO Subscription Network",actions:(0,w.jsx)(ie.Z,{})}),(0,w.jsxs)(v.Xgh,{children:[(0,w.jsxs)(x.Z,{value:j,onChange:function(e,n){t((0,M.m)(n))},indicatorColor:"primary",textColor:"primary","aria-label":"cluster-tabs",variant:"scrollable",scrollButtons:"auto",children:[(0,w.jsx)(h.Z,{label:"Credentials",id:"simple-tab-0","aria-controls":"simple-tab-panel-0"}),(0,w.jsx)(h.Z,{label:"API Key",id:"simple-tab-1","aria-controls":"simple-tab-panel-1"}),(0,w.jsx)(h.Z,{label:"Air-Gap",id:"simple-tab-2","aria-controls":"simple-tab-panel-2",onClick:function(){l||s||(t((0,M.K4)(!0)),u.Z.invoke("GET","/api/v1/subnet/registration-token").then((function(e){t((0,M.K4)(!1)),e&&e.regToken&&t((0,M.wz)(e.regToken))})).catch((function(e){console.error(e),t((0,p.Ih)(e)),t((0,M.K4)(!1))})))}})]}),(0,w.jsx)(g.x,{index:0,value:j,children:E}),(0,w.jsx)(g.x,{index:1,value:j,children:O}),(0,w.jsx)(g.x,{index:2,value:j,children:L})]})]})}))},74440:function(e,t,n){"use strict";n(72791);var r=n(64554),i=n(29945),o=n(80184);t.Z=function(e){var t=e.email,n=void 0===t?"":t;return(0,o.jsxs)(r.Z,{sx:{height:"67px",color:"#ffffff",display:"flex",position:"relative",top:"-30px",left:"-32px",width:"calc(100% + 64px)",alignItems:"center",justifyContent:"space-between",backgroundColor:"#2781B0",padding:"0 25px 0 25px","& .registered-box, .reg-badge-box":{display:"flex",alignItems:"center",justifyContent:"flex-start"},"& .reg-badge-box":{marginLeft:"20px","& .min-icon":{fill:"#2781B0"}}},children:[(0,o.jsxs)(r.Z,{className:"registered-box",children:[(0,o.jsx)(r.Z,{sx:{fontSize:"16px",fontWeight:400},children:"Register status:"}),(0,o.jsxs)(r.Z,{className:"reg-badge-box",children:[(0,o.jsx)(i.SA,{}),(0,o.jsx)(r.Z,{sx:{fontWeight:600},children:"Registered"})]})]}),(0,o.jsxs)(r.Z,{className:"registered-acc-box",sx:{alignItems:"center",justifyContent:"flex-start",display:{sm:"flex",xs:"none"}},children:[(0,o.jsx)(r.Z,{sx:{fontSize:"16px",fontWeight:400},children:"Registered to:"}),(0,o.jsx)(r.Z,{sx:{marginLeft:"8px",fontWeight:600},children:n})]})]})}},30403:function(e,t,n){"use strict";var r=n(64836);t.Z=void 0;var i=r(n(45649)),o=n(80184),s=(0,i.default)((0,o.jsx)("path",{d:"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zM9 6c0-1.66 1.34-3 3-3s3 1.34 3 3v2H9V6zm9 14H6V10h12v10zm-6-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z"}),"LockOutlined");t.Z=s},3579:function(e,t,n){"use strict";var r=n(64836);t.Z=void 0;var i=r(n(45649)),o=n(80184),s=(0,i.default)((0,o.jsx)("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"}),"RemoveRedEye");t.Z=s},20165:function(e,t,n){"use strict";var r=n(64836);t.Z=void 0;var i=r(n(45649)),o=n(80184),s=(0,i.default)((0,o.jsx)("path",{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"}),"VisibilityOff");t.Z=s},45649:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r.createSvgIcon}});var r=n(28610)},31260:function(e,t,n){"use strict";var r=n(78949);t.Z=r.Z},28610:function(e,t,n){"use strict";n.r(t),n.d(t,{capitalize:function(){return i.Z},createChainedFunction:function(){return o.Z},createSvgIcon:function(){return s.Z},debounce:function(){return a.Z},deprecatedPropType:function(){return l},isMuiElement:function(){return c.Z},ownerDocument:function(){return u.Z},ownerWindow:function(){return d.Z},requirePropFactory:function(){return p},setRef:function(){return f},unstable_ClassNameGenerator:function(){return j},unstable_useEnhancedEffect:function(){return x.Z},unstable_useId:function(){return h.Z},unsupportedProp:function(){return g},useControlled:function(){return m.Z},useEventCallback:function(){return b.Z},useForkRef:function(){return v.Z},useIsFocusVisible:function(){return y.Z}});var r=n(55902),i=n(14036),o=n(31260),s=n(76189),a=n(83199);var l=function(e,t){return function(){return null}},c=n(19103),u=n(98301),d=n(17602);n(87462);var p=function(e,t){return function(){return null}},f=n(62971).Z,x=n(40162),h=n(67384);var g=function(e,t,n,r,i){return null},m=n(98278),b=n(89683),v=n(42071),y=n(23031),j={configure:function(e){r.Z.configure(e)}}},19103:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var r=n(72791);var i=function(e,t){return r.isValidElement(e)&&-1!==t.indexOf(e.type.muiName)}},76998:function(e,t,n){"use strict";var r=n(42458),i={"text/plain":"Text","text/html":"Url",default:"Text"};e.exports=function(e,t){var n,o,s,a,l,c,u=!1;t||(t={}),n=t.debug||!1;try{if(s=r(),a=document.createRange(),l=document.getSelection(),(c=document.createElement("span")).textContent=e,c.ariaHidden="true",c.style.all="unset",c.style.position="fixed",c.style.top=0,c.style.clip="rect(0, 0, 0, 0)",c.style.whiteSpace="pre",c.style.webkitUserSelect="text",c.style.MozUserSelect="text",c.style.msUserSelect="text",c.style.userSelect="text",c.addEventListener("copy",(function(r){if(r.stopPropagation(),t.format)if(r.preventDefault(),"undefined"===typeof r.clipboardData){n&&console.warn("unable to use e.clipboardData"),n&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var o=i[t.format]||i.default;window.clipboardData.setData(o,e)}else r.clipboardData.clearData(),r.clipboardData.setData(t.format,e);t.onCopy&&(r.preventDefault(),t.onCopy(r.clipboardData))})),document.body.appendChild(c),a.selectNodeContents(c),l.addRange(a),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");u=!0}catch(d){n&&console.error("unable to copy using execCommand: ",d),n&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",e),t.onCopy&&t.onCopy(window.clipboardData),u=!0}catch(d){n&&console.error("unable to copy using clipboardData: ",d),n&&console.error("falling back to prompt"),o=function(e){var t=(/mac os x/i.test(navigator.userAgent)?"\u2318":"Ctrl")+"+C";return e.replace(/#{\s*key\s*}/g,t)}("message"in t?t.message:"Copy to clipboard: #{key}, Enter"),window.prompt(o,e)}}finally{l&&("function"==typeof l.removeRange?l.removeRange(a):l.removeAllRanges()),c&&document.body.removeChild(c),s()}return u}},568:function(e,t,n){"use strict";function r(e){return r="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},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.CopyToClipboard=void 0;var i=a(n(72791)),o=a(n(76998)),s=["text","onCopy","options","children"];function a(e){return e&&e.__esModule?e:{default:e}}function l(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 c(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function d(e,t){for(var n=0;n.\n\nimport React from \"react\";\nimport { Grid, InputLabel, TextField, Tooltip } from \"@mui/material\";\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 { HelpIcon } from \"mds\";\n\ninterface CommentBoxProps {\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 index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontSize: 14,\n margin: 0,\n alignItems: \"flex-start\",\n paddingTop: \"20px\",\n flexWrap: \"wrap\",\n display: \"flex\",\n },\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n cssOutlinedInput: {\n borderColor: \"#EAEAEA\",\n padding: 16,\n },\n rootContainer: {\n \"& .MuiOutlinedInput-inputMultiline\": {\n ...fieldBasic.inputLabel,\n fontSize: 13,\n minHeight: 150,\n },\n \"&.Mui-focused .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"#07193E\",\n borderWidth: 1,\n },\n \"& textarea\": {\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n \"&:placeholder\": {\n color: \"#858585\",\n opacity: 1,\n fontWeight: 400,\n },\n },\n },\n });\n\nconst CommentBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n disabled = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n classes,\n}: CommentBoxProps) => {\n let inputProps: any = { \"data-index\": index };\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n\n
\n \n
\n \n
\n );\n};\n\nexport default withStyles(styles)(CommentBoxWrapper);\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, { ClipboardEvent, useState } from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { HelpIcon } from \"mds\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n onFocus?: () => void;\n onPaste?: (e: ClipboardEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n }),\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n onFocus,\n onPaste,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n const [toggleTextInput, setToggleTextInput] = useState(false);\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n let inputBoxWrapperIcon = overlayIcon;\n let inputBoxWrapperType = type;\n\n if (type === \"password\" && overlayIcon === null) {\n inputBoxWrapperIcon = toggleTextInput ? (\n \n ) : (\n \n );\n inputBoxWrapperType = toggleTextInput ? \"text\" : \"password\";\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {inputBoxWrapperIcon && (\n \n {\n overlayAction();\n }\n : () => setToggleTextInput(!toggleTextInput)\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {inputBoxWrapperIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\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 Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputBase,\n InputLabel,\n MenuItem,\n Select,\n SelectChangeEvent,\n Tooltip,\n} from \"@mui/material\";\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 { HelpIcon } from \"mds\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n }),\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","import { Box, Grid, Link } from \"@mui/material\";\nimport { Fragment, useState } from \"react\";\nimport { CopyIcon, SettingsIcon } from \"mds\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport RegistrationStatusBanner from \"./RegistrationStatusBanner\";\n\nexport const FormTitle = ({\n icon = null,\n title,\n}: {\n icon?: any;\n title: any;\n}) => {\n return (\n \n {icon}\n
{title}
\n \n );\n};\n\nexport const ClusterRegistered = ({ email }: { email: string }) => {\n return (\n \n \n \n \n Login to{\" \"}\n \n SUBNET\n {\" \"}\n to avail support for this MinIO cluster\n \n \n \n );\n};\n\nexport const ProxyConfiguration = () => {\n const proxyConfigurationCommand =\n \"mc admin config set {alias} subnet proxy={proxy}\";\n const [displaySubnetProxy, setDisplaySubnetProxy] = useState(false);\n return (\n \n \n \n \n \n
\n Proxy Configuration\n
\n \n \n For airgap/firewalled environments it is possible to{\" \"}\n \n configure a proxy\n {\" \"}\n to connect to SUBNET .\n \n \n {displaySubnetProxy && (\n {}}\n label=\"\"\n value={proxyConfigurationCommand}\n overlayIcon={}\n extraInputProps={{\n readOnly: true,\n }}\n overlayAction={() =>\n navigator.clipboard.writeText(proxyConfigurationCommand)\n }\n />\n )}\n \n \n \n ) => {\n setDisplaySubnetProxy(event.target.checked);\n }}\n />\n \n \n
\n );\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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport LockOutlinedIcon from \"@mui/icons-material/LockOutlined\";\nimport {\n containerForHeader,\n spacingUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport React, { useState } from \"react\";\nimport { InfoIcon, UsersIcon } from \"mds\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { useAppDispatch } from \"../../../store\";\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\nimport { Box } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n sizedLabel: {\n minWidth: \"75px\",\n },\n ...containerForHeader,\n ...spacingUtils,\n });\n\ninterface IGetApiKeyModalProps {\n open: boolean;\n closeModal: () => void;\n onSet: (apiKey: string) => void;\n classes: any;\n}\n\nconst GetApiKeyModal = ({\n open,\n closeModal,\n classes,\n onSet,\n}: IGetApiKeyModalProps) => {\n const dispatch = useAppDispatch();\n const [email, setEmail] = useState(\"\");\n const [password, setPassword] = useState(\"\");\n const [showPassword, setShowPassword] = useState(false);\n const [mfaToken, setMfaToken] = useState(\"\");\n const [subnetOTP, setSubnetOTP] = useState(\"\");\n\n const onError = (err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n closeModal();\n setEmail(\"\");\n setPassword(\"\");\n setShowPassword(false);\n setMfaToken(\"\");\n setSubnetOTP(\"\");\n };\n\n const onSuccess = (res: any) => {\n if (res.mfa_token) {\n setMfaToken(res.mfa_token);\n } else if (res.access_token) {\n invokeApi(\"GET\", `/api/v1/subnet/apikey?token=${res.access_token}`);\n } else {\n onSet(res.apiKey);\n closeModal();\n }\n };\n\n const [isLoading, invokeApi] = useApi(onSuccess, onError);\n\n const onConfirm = () => {\n if (mfaToken !== \"\") {\n invokeApi(\"POST\", \"/api/v1/subnet/login/mfa\", {\n username: email,\n otp: subnetOTP,\n mfa_token: mfaToken,\n });\n } else {\n invokeApi(\"POST\", \"/api/v1/subnet/login\", { username: email, password });\n }\n };\n\n const getDialogContent = () => {\n if (mfaToken === \"\") {\n return getCredentialsDialog();\n }\n return getMFADialog();\n };\n\n const getCredentialsDialog = () => {\n return (\n \n ) =>\n setEmail(event.target.value)\n }\n label=\"Email\"\n value={email}\n overlayIcon={}\n />\n ) =>\n setPassword(event.target.value)\n }\n label=\"Password\"\n type={showPassword ? \"text\" : \"password\"}\n value={password}\n overlayIcon={\n showPassword ? : \n }\n overlayAction={() => setShowPassword(!showPassword)}\n />\n \n );\n };\n\n const getMFADialog = () => {\n return (\n \n \n \n Two-Factor Authentication\n \n\n \n Please enter the 6-digit verification code that was sent to your\n email address. This code will be valid for 5 minutes.\n \n\n \n }\n id=\"subnet-otp\"\n name=\"subnet-otp\"\n onChange={(event: React.ChangeEvent) =>\n setSubnetOTP(event.target.value)\n }\n placeholder=\"\"\n label=\"\"\n value={subnetOTP}\n />\n \n \n \n \n );\n };\n\n return open ? (\n }\n isLoading={isLoading}\n cancelText={\"Cancel\"}\n onConfirm={onConfirm}\n onClose={closeModal}\n confirmButtonProps={{\n variant: \"callAction\",\n disabled: !email || !password || isLoading,\n hidden: true,\n }}\n cancelButtonProps={{\n disabled: isLoading,\n }}\n confirmationContent={getDialogContent()}\n />\n ) : null;\n};\n\nexport default withStyles(styles)(GetApiKeyModal);\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 { Box, Link } from \"@mui/material\";\nimport {\n CallHomeFeatureIcon,\n DiagnosticsFeatureIcon,\n ExtraFeaturesIcon,\n HelpIconFilled,\n PerformanceFeatureIcon,\n} from \"mds\";\n\nconst FeatureItem = ({\n icon,\n description,\n}: {\n icon: any;\n description: string | React.ReactNode;\n}) => {\n return (\n \n {icon}{\" \"}\n
\n {description}\n
\n \n );\n};\nconst RegisterHelpBox = ({ hasMargin = true }: { hasMargin?: boolean }) => {\n return (\n \n \n \n
Why should I register?
\n \n \n Registering this cluster with the MinIO Subscription Network (SUBNET)\n provides the following benefits in addition to the commercial license\n and SLA backed support.\n \n\n \n }\n description={`Call Home Monitoring`}\n />\n }\n description={`Health Diagnostics`}\n />\n }\n description={`Performance Analysis`}\n />\n }\n description={\n \n More Features\n \n }\n />\n \n \n );\n};\n\nexport default RegisterHelpBox;\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, useCallback, useEffect, useState } from \"react\";\nimport { Box } from \"@mui/material\";\nimport { Button, OnlineRegistrationIcon } from \"mds\";\nimport { FormTitle } from \"./utils\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport GetApiKeyModal from \"./GetApiKeyModal\";\nimport RegisterHelpBox from \"./RegisterHelpBox\";\nimport { SubnetLoginRequest, SubnetLoginResponse } from \"../License/types\";\nimport api from \"../../../common/api\";\nimport { useAppDispatch } from \"../../../store\";\nimport {\n setErrorSnackMessage,\n setServerNeedsRestart,\n} from \"../../../systemSlice\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { spacingUtils } from \"../Common/FormComponents/common/styleLibrary\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { useNavigate } from \"react-router-dom\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\n\ninterface IApiKeyRegister {\n classes: any;\n registerEndpoint: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n sizedLabel: {\n minWidth: \"75px\",\n },\n ...spacingUtils,\n });\n\nconst ApiKeyRegister = ({ classes, registerEndpoint }: IApiKeyRegister) => {\n const navigate = useNavigate();\n\n const [showApiKeyModal, setShowApiKeyModal] = useState(false);\n const [apiKey, setApiKey] = useState(\"\");\n const [loading, setLoading] = useState(false);\n const [fromModal, setFromModal] = useState(false);\n const dispatch = useAppDispatch();\n\n const onRegister = useCallback(() => {\n if (loading) {\n return;\n }\n setLoading(true);\n let request: SubnetLoginRequest = { apiKey };\n api\n .invoke(\"POST\", registerEndpoint, request)\n .then((resp: SubnetLoginResponse) => {\n setLoading(false);\n if (resp && resp.registered) {\n dispatch(setServerNeedsRestart(true));\n navigate(IAM_PAGES.LICENSE);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoading(false);\n reset();\n });\n }, [apiKey, dispatch, loading, registerEndpoint, navigate]);\n\n useEffect(() => {\n if (fromModal) {\n onRegister();\n }\n }, [fromModal, onRegister]);\n\n const reset = () => {\n setApiKey(\"\");\n setFromModal(false);\n };\n\n return (\n \n \n }\n title={`Register cluster with API key`}\n />\n \n \n \n \n Use your MinIO Subscription Network API Key to register this\n cluster.\n \n \n ) =>\n setApiKey(event.target.value)\n }\n label=\"API Key\"\n value={apiKey}\n />\n\n \n setShowApiKeyModal(true)}\n label={\"Get from SUBNET\"}\n />\n onRegister()}\n label={\"Register\"}\n />\n setShowApiKeyModal(false)}\n onSet={(value) => {\n setApiKey(value);\n setFromModal(true);\n }}\n />\n \n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(ApiKeyRegister);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 {\n resetRegisterForm,\n setClusterRegistered,\n setLicenseInfo,\n setLoading,\n setLoadingLicenseInfo,\n setSelectedSubnetOrganization,\n setSubnetAccessToken,\n setSubnetMFAToken,\n setSubnetOrganizations,\n setSubnetOTP,\n} from \"./registerSlice\";\nimport api from \"../../../common/api\";\nimport {\n SubnetInfo,\n SubnetLoginRequest,\n SubnetLoginResponse,\n SubnetLoginWithMFARequest,\n SubnetRegisterRequest,\n} from \"../License/types\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport {\n setErrorSnackMessage,\n setServerNeedsRestart,\n} from \"../../../systemSlice\";\nimport { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { AppState } from \"../../../store\";\nimport { hasPermission } from \"../../../common/SecureComponent\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_PAGES_PERMISSIONS,\n} from \"../../../common/SecureComponent/permissions\";\n\nexport const fetchLicenseInfo = createAsyncThunk(\n \"register/fetchLicenseInfo\",\n async (_, { getState, dispatch }) => {\n const state = getState() as AppState;\n\n const getSubnetInfo = hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.LICENSE],\n true,\n );\n\n const loadingLicenseInfo = state.register.loadingLicenseInfo;\n\n if (loadingLicenseInfo) {\n return;\n }\n if (getSubnetInfo) {\n dispatch(setLoadingLicenseInfo(true));\n api\n .invoke(\"GET\", `/api/v1/subnet/info`)\n .then((res: SubnetInfo) => {\n dispatch(setLicenseInfo(res));\n dispatch(setClusterRegistered(true));\n dispatch(setLoadingLicenseInfo(false));\n })\n .catch((err: ErrorResponseHandler) => {\n if (\n err.detailedError.toLowerCase() !==\n \"License is not present\".toLowerCase() &&\n err.detailedError.toLowerCase() !==\n \"license not found\".toLowerCase()\n ) {\n dispatch(setErrorSnackMessage(err));\n }\n dispatch(setClusterRegistered(false));\n dispatch(setLoadingLicenseInfo(false));\n });\n } else {\n dispatch(setLoadingLicenseInfo(false));\n }\n },\n);\n\nexport interface ClassRegisterArgs {\n token: string;\n account_id: string;\n}\n\nexport const callRegister = createAsyncThunk(\n \"register/callRegister\",\n async (args: ClassRegisterArgs, { dispatch }) => {\n const request: SubnetRegisterRequest = {\n token: args.token,\n account_id: args.account_id,\n };\n api\n .invoke(\"POST\", \"/api/v1/subnet/register\", request)\n .then(() => {\n dispatch(setLoading(false));\n dispatch(setServerNeedsRestart(true));\n dispatch(resetRegisterForm());\n dispatch(fetchLicenseInfo());\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n dispatch(setLoading(false));\n });\n },\n);\n\nexport const subnetLoginWithMFA = createAsyncThunk(\n \"register/subnetLoginWithMFA\",\n async (_, { getState, rejectWithValue, dispatch }) => {\n const state = getState() as AppState;\n\n const subnetEmail = state.register.subnetEmail;\n const subnetMFAToken = state.register.subnetMFAToken;\n const subnetOTP = state.register.subnetOTP;\n const loading = state.register.loading;\n\n if (loading) {\n return;\n }\n dispatch(setLoading(true));\n const request: SubnetLoginWithMFARequest = {\n username: subnetEmail,\n otp: subnetOTP,\n mfa_token: subnetMFAToken,\n };\n api\n .invoke(\"POST\", \"/api/v1/subnet/login/mfa\", request)\n .then((resp: SubnetLoginResponse) => {\n dispatch(setLoading(false));\n if (resp && resp.access_token && resp.organizations.length > 0) {\n if (resp.organizations.length === 1) {\n dispatch(\n callRegister({\n token: resp.access_token,\n account_id: resp.organizations[0].accountId.toString(),\n }),\n );\n } else {\n dispatch(setSubnetAccessToken(resp.access_token));\n dispatch(setSubnetOrganizations(resp.organizations));\n dispatch(\n setSelectedSubnetOrganization(\n resp.organizations[0].accountId.toString(),\n ),\n );\n }\n }\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n dispatch(setLoading(false));\n dispatch(setSubnetOTP(\"\"));\n });\n },\n);\n\nexport const subnetLogin = createAsyncThunk(\n \"register/subnetLogin\",\n async (_, { getState, rejectWithValue, dispatch }) => {\n const state = getState() as AppState;\n\n const license = state.register.license;\n const subnetPassword = state.register.subnetPassword;\n const subnetEmail = state.register.subnetEmail;\n const loading = state.register.loading;\n\n if (loading) {\n return;\n }\n dispatch(setLoading(true));\n let request: SubnetLoginRequest = {\n username: subnetEmail,\n password: subnetPassword,\n apiKey: license,\n };\n api\n .invoke(\"POST\", \"/api/v1/subnet/login\", request)\n .then((resp: SubnetLoginResponse) => {\n dispatch(setLoading(false));\n if (resp && resp.registered) {\n dispatch(resetRegisterForm());\n dispatch(fetchLicenseInfo());\n } else if (resp && resp.mfa_token) {\n dispatch(setSubnetMFAToken(resp.mfa_token));\n } else if (resp && resp.access_token && resp.organizations.length > 0) {\n dispatch(setSubnetAccessToken(resp.access_token));\n dispatch(setSubnetOrganizations(resp.organizations));\n dispatch(\n setSelectedSubnetOrganization(\n resp.organizations[0].accountId.toString(),\n ),\n );\n }\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n dispatch(setLoading(false));\n dispatch(resetRegisterForm());\n });\n },\n);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 { Box, Link } from \"@mui/material\";\nimport { ClusterRegistered, FormTitle } from \"./utils\";\nimport { Button, CopyIcon, OfflineRegistrationIcon } from \"mds\";\nimport TooltipWrapper from \"../Common/TooltipWrapper/TooltipWrapper\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport RegisterHelpBox from \"./RegisterHelpBox\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { useSelector } from \"react-redux\";\nimport CommentBoxWrapper from \"../Common/FormComponents/CommentBoxWrapper/CommentBoxWrapper\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport { fetchLicenseInfo } from \"./registerThunks\";\nimport {\n setErrorSnackMessage,\n setServerNeedsRestart,\n} from \"../../../systemSlice\";\n\nconst OfflineRegistration = () => {\n const dispatch = useAppDispatch();\n const subnetRegToken = useSelector(\n (state: AppState) => state.register.subnetRegToken,\n );\n const clusterRegistered = useSelector(\n (state: AppState) => state.register.clusterRegistered,\n );\n const licenseInfo = useSelector(\n (state: AppState) => state.register.licenseInfo,\n );\n\n const offlineRegUrl = `https://subnet.min.io/cluster/register?token=${subnetRegToken}`;\n\n const [licenseKey, setLicenseKey] = useState(\"\");\n\n const [isSaving, invokeApplyLicenseApi] = useApi(\n () => {\n dispatch(fetchLicenseInfo());\n dispatch(setServerNeedsRestart(true));\n },\n (err) => {\n dispatch(setErrorSnackMessage(err));\n },\n );\n\n const applyAirGapLicense = () => {\n invokeApplyLicenseApi(\"PUT\", `/api/v1/configs/subnet`, {\n key_values: [{ key: \"license\", value: licenseKey }],\n });\n };\n\n return (\n \n \n {clusterRegistered && licenseInfo ? (\n \n ) : (\n \n \n }\n title={`Register cluster in an Air-gap environment`}\n />\n \n\n \n \n \n \n
\n Click on the link to register this cluster in SUBNET and\n get a License Key for this Air-Gap deployment\n
\n
\n\n \n \n https://subnet.min.io/cluster/register\n \n\n \n \n }\n color={\"primary\"}\n variant={\"regular\"}\n />\n \n \n
\n\n \n Note: If this machine does not have internet connection,\n Copy paste the following URL in a browser where you access\n SUBNET and follow the instructions to complete the\n registration\n \n\n \n \n {\n setLicenseKey(e.target.value);\n }}\n />\n \n \n \n \n \n \n \n \n
\n )}\n \n
\n );\n};\n\nexport default OfflineRegistration;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 } from \"@mui/material\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport LockOutlinedIcon from \"@mui/icons-material/LockOutlined\";\nimport { setSubnetOTP } from \"./registerSlice\";\nimport { Button } from \"mds\";\nimport RegisterHelpBox from \"./RegisterHelpBox\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { useSelector } from \"react-redux\";\nimport { subnetLoginWithMFA } from \"./registerThunks\";\n\nconst SubnetMFAToken = () => {\n const dispatch = useAppDispatch();\n\n const subnetMFAToken = useSelector(\n (state: AppState) => state.register.subnetMFAToken,\n );\n const subnetOTP = useSelector((state: AppState) => state.register.subnetOTP);\n const loading = useSelector((state: AppState) => state.register.loading);\n\n return (\n \n \n \n Two-Factor Authentication\n \n\n \n Please enter the 6-digit verification code that was sent to your email\n address. This code will be valid for 5 minutes.\n \n\n \n }\n id=\"subnet-otp\"\n name=\"subnet-otp\"\n onChange={(event: React.ChangeEvent) =>\n dispatch(setSubnetOTP(event.target.value))\n }\n placeholder=\"\"\n label=\"\"\n value={subnetOTP}\n />\n \n \n dispatch(subnetLoginWithMFA())}\n disabled={\n loading ||\n subnetOTP.trim().length === 0 ||\n subnetMFAToken.trim().length === 0\n }\n variant=\"callAction\"\n label={\"Verify\"}\n />\n \n \n\n \n \n );\n};\nexport default SubnetMFAToken;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 } from \"@mui/material\";\nimport { FormTitle } from \"./utils\";\nimport SelectWrapper from \"../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { setLoading, setSelectedSubnetOrganization } from \"./registerSlice\";\nimport { Button } from \"mds\";\nimport RegisterHelpBox from \"./RegisterHelpBox\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { callRegister } from \"./registerThunks\";\n\nconst ClusterRegistrationForm = () => {\n const dispatch = useAppDispatch();\n\n const subnetAccessToken = useSelector(\n (state: AppState) => state.register.subnetAccessToken,\n );\n const selectedSubnetOrganization = useSelector(\n (state: AppState) => state.register.selectedSubnetOrganization,\n );\n const subnetOrganizations = useSelector(\n (state: AppState) => state.register.subnetOrganizations,\n );\n const loading = useSelector((state: AppState) => state.register.loading);\n\n return (\n \n \n \n \n \n \n \n dispatch(setSelectedSubnetOrganization(e.target.value as string))\n }\n label=\"Select an organization\"\n value={selectedSubnetOrganization}\n options={subnetOrganizations.map((organization) => ({\n label: organization.company,\n value: organization.accountId.toString(),\n }))}\n />\n \n () => {\n if (loading) {\n return;\n }\n dispatch(setLoading(true));\n if (subnetAccessToken && selectedSubnetOrganization) {\n dispatch(\n callRegister({\n token: subnetAccessToken,\n account_id: selectedSubnetOrganization,\n }),\n );\n }\n }}\n disabled={loading || subnetAccessToken.trim().length === 0}\n variant=\"callAction\"\n label={\"Register\"}\n />\n \n \n \n \n \n );\n};\n\nexport default ClusterRegistrationForm;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 { Box } from \"@mui/material\";\nimport { FormTitle } from \"./utils\";\nimport { Button, OnlineRegistrationIcon, UsersIcon } from \"mds\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\nimport RegisterHelpBox from \"./RegisterHelpBox\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { spacingUtils } from \"../Common/FormComponents/common/styleLibrary\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport {\n setShowPassword,\n setSubnetEmail,\n setSubnetPassword,\n} from \"./registerSlice\";\nimport { subnetLogin } from \"./registerThunks\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n sizedLabel: {\n minWidth: \"75px\",\n },\n ...spacingUtils,\n }),\n);\n\nconst OnlineRegistration = () => {\n const classes = useStyles();\n const dispatch = useAppDispatch();\n\n const subnetPassword = useSelector(\n (state: AppState) => state.register.subnetPassword,\n );\n const subnetEmail = useSelector(\n (state: AppState) => state.register.subnetEmail,\n );\n const showPassword = useSelector(\n (state: AppState) => state.register.showPassword,\n );\n const loading = useSelector((state: AppState) => state.register.loading);\n\n return (\n \n \n }\n title={`Online activation of MinIO Subscription Network License`}\n />\n \n \n \n \n Use your MinIO Subscription Network login credentials to register\n this cluster.\n \n \n ) =>\n dispatch(setSubnetEmail(event.target.value))\n }\n label=\"Email\"\n value={subnetEmail}\n overlayIcon={}\n />\n ) =>\n dispatch(setSubnetPassword(event.target.value))\n }\n label=\"Password\"\n type={showPassword ? \"text\" : \"password\"}\n value={subnetPassword}\n overlayIcon={\n showPassword ? : \n }\n overlayAction={() => dispatch(setShowPassword(!showPassword))}\n />\n\n \n {\n e.preventDefault();\n window.open(`https://min.io/signup?ref=con`, \"_blank\");\n }}\n label={\"Sign up\"}\n />\n dispatch(subnetLogin())}\n label={\"Register\"}\n />\n \n \n \n \n \n \n );\n};\n\nexport default OnlineRegistration;\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 createStyles from \"@mui/styles/createStyles\";\nimport { spacingUtils } from \"../Common/FormComponents/common/styleLibrary\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Box } from \"@mui/material\";\nimport api from \"../../../common/api\";\n\nimport { SubnetRegTokenResponse } from \"../License/types\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { useSelector } from \"react-redux\";\nimport { setErrorSnackMessage, setHelpName } from \"../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport Tabs from \"@mui/material/Tabs\";\nimport Tab from \"@mui/material/Tab\";\nimport { TabPanel } from \"../../shared/tabs\";\nimport { ClusterRegistered, ProxyConfiguration } from \"./utils\";\nimport ApiKeyRegister from \"./ApiKeyRegister\";\nimport { fetchLicenseInfo } from \"./registerThunks\";\nimport {\n resetRegisterForm,\n setCurTab,\n setLoading,\n setSubnetRegToken,\n} from \"./registerSlice\";\nimport OfflineRegistration from \"./OfflineRegistration\";\nimport SubnetMFAToken from \"./SubnetMFAToken\";\nimport ClusterRegistrationForm from \"./ClusterRegistrationForm\";\nimport OnlineRegistration from \"./OnlineRegistration\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport { PageLayout } from \"mds\";\nimport HelpMenu from \"../HelpMenu\";\n\ninterface IRegister {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n sizedLabel: {\n minWidth: \"75px\",\n },\n ...spacingUtils,\n });\n\nconst Register = ({ classes }: IRegister) => {\n const dispatch = useAppDispatch();\n\n const subnetMFAToken = useSelector(\n (state: AppState) => state.register.subnetMFAToken,\n );\n const subnetAccessToken = useSelector(\n (state: AppState) => state.register.subnetAccessToken,\n );\n\n const subnetRegToken = useSelector(\n (state: AppState) => state.register.subnetRegToken,\n );\n const subnetOrganizations = useSelector(\n (state: AppState) => state.register.subnetOrganizations,\n );\n\n const loading = useSelector((state: AppState) => state.register.loading);\n const loadingLicenseInfo = useSelector(\n (state: AppState) => state.register.loadingLicenseInfo,\n );\n const clusterRegistered = useSelector(\n (state: AppState) => state.register.clusterRegistered,\n );\n const licenseInfo = useSelector(\n (state: AppState) => state.register.licenseInfo,\n );\n const curTab = useSelector((state: AppState) => state.register.curTab);\n\n const [initialLicenseLoading, setInitialLicenseLoading] =\n useState(true);\n\n useEffect(() => {\n // when unmounted, reset\n return () => {\n dispatch(resetRegisterForm());\n };\n }, [dispatch]);\n\n const fetchSubnetRegToken = () => {\n if (loading || subnetRegToken) {\n return;\n }\n dispatch(setLoading(true));\n api\n .invoke(\"GET\", \"/api/v1/subnet/registration-token\")\n .then((resp: SubnetRegTokenResponse) => {\n dispatch(setLoading(false));\n if (resp && resp.regToken) {\n dispatch(setSubnetRegToken(resp.regToken));\n }\n })\n .catch((err: ErrorResponseHandler) => {\n console.error(err);\n dispatch(setErrorSnackMessage(err));\n dispatch(setLoading(false));\n });\n };\n\n useEffect(() => {\n if (initialLicenseLoading) {\n dispatch(fetchLicenseInfo());\n setInitialLicenseLoading(false);\n }\n }, [initialLicenseLoading, setInitialLicenseLoading, dispatch]);\n\n let clusterRegistrationForm: JSX.Element = ;\n\n if (subnetAccessToken && subnetOrganizations.length > 0) {\n clusterRegistrationForm = ;\n } else if (subnetMFAToken) {\n clusterRegistrationForm = ;\n } else {\n clusterRegistrationForm = ;\n }\n\n const apiKeyRegistration = (\n \n \n {clusterRegistered && licenseInfo ? (\n \n ) : (\n \n )}\n \n \n \n );\n\n const offlineRegistration = ;\n\n const regUi = (\n \n \n {clusterRegistered && licenseInfo ? (\n \n ) : (\n clusterRegistrationForm\n )}\n \n\n {!clusterRegistered && }\n \n );\n\n const loadingUi =
Loading..
;\n const uiToShow = loadingLicenseInfo ? loadingUi : regUi;\n\n useEffect(() => {\n dispatch(setHelpName(\"register\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n }\n />\n\n \n , newValue: number) => {\n dispatch(setCurTab(newValue));\n }}\n indicatorColor=\"primary\"\n textColor=\"primary\"\n aria-label=\"cluster-tabs\"\n variant=\"scrollable\"\n scrollButtons=\"auto\"\n >\n \n \n fetchSubnetRegToken()}\n />\n \n\n \n {uiToShow}\n \n \n {apiKeyRegistration}\n \n \n {offlineRegistration}\n \n \n \n );\n};\n\nexport default withStyles(styles)(Register);\n","import React from \"react\";\nimport { Box } from \"@mui/material\";\nimport { VerifiedIcon } from \"mds\";\n\nconst RegistrationStatusBanner = ({ email = \"\" }: { email?: string }) => {\n return (\n \n \n Register status:\n \n \n \n Registered\n \n \n \n\n \n Registered to:\n {email}\n \n \n );\n};\nexport default RegistrationStatusBanner;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zM9 6c0-1.66 1.34-3 3-3s3 1.34 3 3v2H9V6zm9 14H6V10h12v10zm-6-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z\"\n}), 'LockOutlined');\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n}), 'RemoveRedEye');\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"\n}), 'VisibilityOff');\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");","import { unstable_createChainedFunction as createChainedFunction } from '@mui/utils';\nexport default createChainedFunction;","import { unstable_deprecatedPropType as deprecatedPropType } from '@mui/utils';\nexport default deprecatedPropType;","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return (props, propName, componentName, location, propFullName) => {\n const componentNameSafe = componentName || '<>';\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The ${location} \\`${propFullNameSafe}\\` of ` + `\\`${componentNameSafe}\\` is deprecated. ${reason}`);\n }\n return null;\n };\n}","import { unstable_requirePropFactory as requirePropFactory } from '@mui/utils';\nexport default requirePropFactory;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function requirePropFactory(componentNameInError, Component) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n\n // eslint-disable-next-line react/forbid-foreign-prop-types\n const prevPropTypes = Component ? _extends({}, Component.propTypes) : null;\n const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {\n const propFullNameSafe = propFullName || propName;\n const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];\n if (defaultTypeChecker) {\n const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);\n if (typeCheckerResult) {\n return typeCheckerResult;\n }\n }\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(`The prop \\`${propFullNameSafe}\\` of ` + `\\`${componentNameInError}\\` can only be used together with the \\`${requiredProp}\\` prop.`);\n }\n return null;\n };\n return requireProp;\n}","import { unstable_setRef as setRef } from '@mui/utils';\nexport default setRef;","import { unstable_unsupportedProp as unsupportedProp } from '@mui/utils';\nexport default unsupportedProp;","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","import { unstable_ClassNameGenerator as ClassNameGenerator } from '@mui/base/className';\nexport { default as capitalize } from './capitalize';\nexport { default as createChainedFunction } from './createChainedFunction';\nexport { default as createSvgIcon } from './createSvgIcon';\nexport { default as debounce } from './debounce';\nexport { default as deprecatedPropType } from './deprecatedPropType';\nexport { default as isMuiElement } from './isMuiElement';\nexport { default as ownerDocument } from './ownerDocument';\nexport { default as ownerWindow } from './ownerWindow';\nexport { default as requirePropFactory } from './requirePropFactory';\nexport { default as setRef } from './setRef';\nexport { default as unstable_useEnhancedEffect } from './useEnhancedEffect';\nexport { default as unstable_useId } from './useId';\nexport { default as unsupportedProp } from './unsupportedProp';\nexport { default as useControlled } from './useControlled';\nexport { default as useEventCallback } from './useEventCallback';\nexport { default as useForkRef } from './useForkRef';\nexport { default as useIsFocusVisible } from './useIsFocusVisible';\n// TODO: remove this export once ClassNameGenerator is stable\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const unstable_ClassNameGenerator = {\n configure: generator => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(['MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.', '', \"You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead\", '', 'The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401', '', 'The updated documentation: https://mui.com/guides/classname-generator/'].join('\\n'));\n }\n ClassNameGenerator.configure(generator);\n }\n};","import { unstable_isMuiElement as isMuiElement } from '@mui/utils';\nexport default isMuiElement;","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf(element.type.muiName) !== -1;\n}","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CopyToClipboard = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _copyToClipboard = _interopRequireDefault(require(\"copy-to-clipboard\"));\n\nvar _excluded = [\"text\", \"onCopy\", \"options\", \"children\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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 _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); Object.defineProperty(Constructor, \"prototype\", { writable: false }); 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 } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); 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; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } 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\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\nvar CopyToClipboard = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(CopyToClipboard, _React$PureComponent);\n\n var _super = _createSuper(CopyToClipboard);\n\n function CopyToClipboard() {\n var _this;\n\n _classCallCheck(this, CopyToClipboard);\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\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n var _this$props = _this.props,\n text = _this$props.text,\n onCopy = _this$props.onCopy,\n children = _this$props.children,\n options = _this$props.options;\n\n var elem = _react[\"default\"].Children.only(children);\n\n var result = (0, _copyToClipboard[\"default\"])(text, options);\n\n if (onCopy) {\n onCopy(text, result);\n } // Bypass onClick if it was present\n\n\n if (elem && elem.props && typeof elem.props.onClick === 'function') {\n elem.props.onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(CopyToClipboard, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _text = _this$props2.text,\n _onCopy = _this$props2.onCopy,\n _options = _this$props2.options,\n children = _this$props2.children,\n props = _objectWithoutProperties(_this$props2, _excluded);\n\n var elem = _react[\"default\"].Children.only(children);\n\n return /*#__PURE__*/_react[\"default\"].cloneElement(elem, _objectSpread(_objectSpread({}, props), {}, {\n onClick: this.onClick\n }));\n }\n }]);\n\n return CopyToClipboard;\n}(_react[\"default\"].PureComponent);\n\nexports.CopyToClipboard = CopyToClipboard;\n\n_defineProperty(CopyToClipboard, \"defaultProps\", {\n onCopy: undefined,\n options: undefined\n});","\"use strict\";\n\nvar _require = require('./Component'),\n CopyToClipboard = _require.CopyToClipboard;\n\nCopyToClipboard.CopyToClipboard = CopyToClipboard;\nmodule.exports = CopyToClipboard;","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"names":["withStyles","theme","createStyles","_objectSpread","fieldBasic","tooltipHelper","inputLabel","fontSize","margin","alignItems","paddingTop","flexWrap","display","textBoxContainer","flexGrow","position","cssOutlinedInput","borderColor","padding","rootContainer","minHeight","borderWidth","color","fontWeight","opacity","_ref","label","onChange","value","id","name","_ref$disabled","disabled","_ref$tooltip","tooltip","_ref$index","index","_ref$error","error","_ref$required","required","_ref$placeholder","placeholder","classes","inputProps","_jsx","React","children","_jsxs","Grid","item","xs","className","concat","fieldContainer","errorInField","InputLabel","htmlFor","tooltipContainer","Tooltip","title","placement","HelpIcon","TextField","fullWidth","multiline","rows","helperText","InputLabelProps","shrink","InputProps","notchedOutline","root","variant","inputStyles","makeStyles","inputFieldStyles","InputField","props","overlayAction","right","top","maxWidth","maxHeight","_ref$type","type","_ref$autoComplete","autoComplete","_ref$multiline","min","max","overlayId","_ref$overlayIcon","overlayIcon","_ref$overlayObject","overlayObject","_ref$extraInputProps","extraInputProps","_ref$noLabelMinWidth","noLabelMinWidth","_ref$pattern","pattern","_ref$autoFocus","autoFocus","_ref$className","onKeyPress","onFocus","onPaste","_useState","useState","_useState2","_slicedToArray","toggleTextInput","setToggleTextInput","inputBoxWrapperIcon","inputBoxWrapperType","VisibilityOffIcon","RemoveRedEyeIcon","container","clsx","inputBoxContainer","noMinWidthLabel","inputRebase","IconButton","onClick","size","disableFocusRipple","disableRipple","disableTouchRipple","SelectStyled","height","lineHeight","marginTop","spacing","input","border","borderRadius","backgroundColor","InputBase","flexFlow","options","FormControl","Select","map","option","MenuItem","FormTitle","_ref$icon","icon","Box","sx","justifyContent","ClusterRegistered","_ref2","email","Fragment","RegistrationStatusBanner","cursor","Link","href","target","style","ProxyConfiguration","proxyConfigurationCommand","displaySubnetProxy","setDisplaySubnetProxy","width","SettingsIcon","marginLeft","marginBottom","InputBoxWrapper","CopyIcon","readOnly","navigator","clipboard","writeText","FormSwitchWrapper","checked","event","sizedLabel","minWidth","containerForHeader","spacingUtils","open","closeModal","onSet","dispatch","useAppDispatch","setEmail","_useState3","_useState4","password","setPassword","_useState5","_useState6","showPassword","setShowPassword","_useState7","_useState8","mfaToken","setMfaToken","_useState9","_useState10","subnetOTP","setSubnetOTP","_useApi","useApi","res","mfa_token","access_token","invokeApi","apiKey","err","setErrorSnackMessage","_useApi2","isLoading","getCredentialsDialog","spacerBottom","UsersIcon","getMFADialog","flex","LockOutlinedIcon","ConfirmDialog","confirmText","isOpen","titleIcon","InfoIcon","cancelText","onConfirm","username","otp","onClose","confirmButtonProps","hidden","cancelButtonProps","confirmationContent","FeatureItem","description","marginRight","fontStyle","_ref2$hasMargin","hasMargin","sm","md","HelpIconFilled","CallHomeFeatureIcon","DiagnosticsFeatureIcon","PerformanceFeatureIcon","ExtraFeaturesIcon","registerEndpoint","navigate","useNavigate","showApiKeyModal","setShowApiKeyModal","setApiKey","loading","setLoading","fromModal","setFromModal","onRegister","useCallback","request","api","invoke","then","resp","registered","setServerNeedsRestart","IAM_PAGES","LICENSE","catch","reset","useEffect","OnlineRegistrationIcon","Button","spacerRight","trim","length","GetApiKeyModal","RegisterHelpBox","fetchLicenseInfo","createAsyncThunk","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_","getState","state","getSubnetInfo","wrap","_context","prev","next","hasPermission","CONSOLE_UI_RESOURCE","IAM_PAGES_PERMISSIONS","register","loadingLicenseInfo","abrupt","setLoadingLicenseInfo","setLicenseInfo","setClusterRegistered","detailedError","toLowerCase","stop","_x","_x2","apply","arguments","callRegister","_ref4","_callee2","args","_ref3","_context2","token","account_id","resetRegisterForm","_x3","_x4","subnetLoginWithMFA","_ref6","_callee3","_ref5","subnetEmail","subnetMFAToken","_context3","rejectWithValue","organizations","accountId","toString","setSubnetAccessToken","setSubnetOrganizations","setSelectedSubnetOrganization","_x5","_x6","subnetLogin","_ref8","_callee4","_ref7","license","subnetPassword","_context4","setSubnetMFAToken","_x7","_x8","subnetRegToken","useSelector","clusterRegistered","licenseInfo","offlineRegUrl","licenseKey","setLicenseKey","isSaving","invokeApplyLicenseApi","OfflineRegistrationIcon","background","textAlign","gap","TooltipWrapper","CopyToClipboard","text","flexDirection","CommentBoxWrapper","e","key_values","key","subnetAccessToken","selectedSubnetOrganization","subnetOrganizations","SelectWrapper","organization","company","useStyles","setSubnetEmail","setSubnetPassword","preventDefault","window","curTab","initialLicenseLoading","setInitialLicenseLoading","clusterRegistrationForm","ClusterRegistrationForm","SubnetMFAToken","OnlineRegistration","apiKeyRegistration","ApiKeyRegister","offlineRegistration","OfflineRegistration","regUi","uiToShow","setHelpName","PageHeaderWrapper","actions","HelpMenu","PageLayout","Tabs","newValue","setCurTab","indicatorColor","textColor","scrollButtons","Tab","regToken","setSubnetRegToken","console","TabPanel","_ref$email","left","fill","VerifiedIcon","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","Object","defineProperty","enumerable","get","_utils","createSvgIcon","createChainedFunction","validator","reason","componentNameInError","Component","propName","componentName","location","propFullName","unstable_ClassNameGenerator","configure","generator","ClassNameGenerator","element","muiNames","indexOf","muiName","deselectCurrent","clipboardToIE11Formatting","module","debug","message","reselectPrevious","range","selection","success","document","createRange","getSelection","createElement","textContent","ariaHidden","all","clip","whiteSpace","webkitUserSelect","MozUserSelect","msUserSelect","userSelect","addEventListener","stopPropagation","format","clipboardData","warn","clearData","setData","onCopy","body","appendChild","selectNodeContents","addRange","execCommand","Error","copyKey","test","userAgent","replace","prompt","removeRange","removeAllRanges","removeChild","_typeof","obj","Symbol","iterator","constructor","prototype","_react","_copyToClipboard","_excluded","__esModule","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","i","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","call","_defineProperties","descriptor","configurable","writable","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","_isNativeReflectConstruct","result","Super","_getPrototypeOf","NewTarget","this","self","TypeError","_assertThisInitialized","_possibleConstructorReturn","ReferenceError","getPrototypeOf","_React$PureComponent","subClass","superClass","create","_inherits","Constructor","protoProps","staticProps","_super","_this","instance","_classCallCheck","_len","Array","_key","_this$props","elem","Children","only","_this$props2","cloneElement","PureComponent","undefined","rangeCount","active","activeElement","ranges","getRangeAt","tagName","toUpperCase","blur","focus"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1690.f30e8f7f.chunk.js b/portal-ui/build/static/js/1690.f30e8f7f.chunk.js deleted file mode 100644 index dd545a49c..000000000 --- a/portal-ui/build/static/js/1690.f30e8f7f.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1690],{14917:function(e,n,t){"use strict";t(72791);var r=t(61889),i=t(72455),o=t(80184),s=(0,i.Z)((function(e){return{headerBarIcon:{marginRight:".7rem",color:e.palette.primary.main,"& .min-icon":{width:44,height:44},"@media (max-width: 600px)":{display:"none"}},headerBarSubheader:{color:"grey","@media (max-width: 900px)":{maxWidth:200}},stContainer:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:8,borderBottom:"1px solid #EAEAEA","@media (max-width: 600px)":{flexFlow:"column"}},titleColumn:{height:"auto",justifyContent:"center",display:"flex",flexFlow:"column",alignItems:"flex-start","& h1":{fontSize:19}},leftItems:{display:"flex",alignItems:"center","@media (max-width: 600px)":{flexFlow:"column",width:"100%"}},rightItems:{display:"flex",alignItems:"center","& button":{marginLeft:8},"@media (max-width: 600px)":{width:"100%"}}}}));n.Z=function(e){var n=e.icon,t=e.title,i=e.subTitle,a=e.actions,l=e.className,c=s();return(0,o.jsx)(r.ZP,{container:!0,children:(0,o.jsxs)(r.ZP,{item:!0,xs:12,className:"".concat(c.stContainer," ").concat(l||""),children:[(0,o.jsxs)("div",{className:c.leftItems,children:[n?(0,o.jsx)("div",{className:c.headerBarIcon,children:n}):null,(0,o.jsxs)("div",{className:c.titleColumn,children:[(0,o.jsx)("h1",{style:{margin:0},children:t}),(0,o.jsx)("span",{className:c.headerBarSubheader,children:i})]})]}),(0,o.jsx)("div",{className:c.rightItems,children:a})]})})}},59197:function(e,n,t){"use strict";t.d(n,{Z:function(){return _}});var r=t(1413),i=t(72791),o=t(4942),s=t(63366),a=t(87462),l=t(28182),c=t(82466),u=t(94419),d=t(21217),f=(0,t(44046).ZP)(),p=t(86083),x=t(78519),h=t(85080),m=t(51184),g=t(45682),v=t(80184),y=["component","direction","spacing","divider","children","className","useFlexGap"],j=(0,h.Z)(),b=f("div",{name:"MuiStack",slot:"Root",overridesResolver:function(e,n){return n.root}});function Z(e){return(0,p.Z)({props:e,name:"MuiStack",defaultTheme:j})}function k(e,n){var t=i.Children.toArray(e).filter(Boolean);return t.reduce((function(e,r,o){return e.push(r),o0?l[t[n-1]]:"column";l[e]=r}}));r=(0,c.Z)(r,(0,m.k9)({theme:t},u,(function(e,t){return n.useFlexGap?{gap:(0,g.NA)(i,e)}:{"& > :not(style) + :not(style)":(0,o.Z)({margin:0},"margin".concat((r=t?l[t]:n.direction,{row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"}[r])),(0,g.NA)(i,e))};var r})))}return r=(0,m.dt)(t.breakpoints,r)};var w=t(66934),S=t(31402),D=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.createStyledComponent,t=void 0===n?b:n,r=e.useThemeProps,o=void 0===r?Z:r,c=e.componentName,f=void 0===c?"MuiStack":c,p=t(C),h=i.forwardRef((function(e,n){var t=o(e),r=(0,x.Z)(t),i=r.component,c=void 0===i?"div":i,h=r.direction,m=void 0===h?"column":h,g=r.spacing,j=void 0===g?0:g,b=r.divider,Z=r.children,C=r.className,w=r.useFlexGap,S=void 0!==w&&w,D=(0,s.Z)(r,y),P={direction:m,spacing:j,useFlexGap:S},_=(0,u.Z)({root:["root"]},(function(e){return(0,d.Z)(f,e)}),{});return(0,v.jsx)(p,(0,a.Z)({as:c,ownerState:P,ref:n,className:(0,l.Z)(_.root,C)},D,{children:b?k(Z,b):Z}))}));return h}({createStyledComponent:(0,w.ZP)("div",{name:"MuiStack",slot:"Root",overridesResolver:function(e,n){return n.root}}),useThemeProps:function(e){return(0,S.Z)({props:e,name:"MuiStack"})}}),P=D,_=function(e){var n=e.label,t=void 0===n?null:n,i=e.value,o=void 0===i?"-":i,s=e.orientation,a=void 0===s?"column":s,l=e.stkProps,c=void 0===l?{}:l,u=e.lblProps,d=void 0===u?{}:u,f=e.valProps,p=void 0===f?{}:f;return(0,v.jsxs)(P,(0,r.Z)((0,r.Z)({direction:{xs:"column",sm:a}},c),{},{children:[(0,v.jsx)("label",(0,r.Z)((0,r.Z)({style:{marginRight:5,fontWeight:600}},d),{},{children:t})),(0,v.jsx)("label",(0,r.Z)((0,r.Z)({style:{marginRight:5,fontWeight:500}},p),{},{children:o}))]}))}},90767:function(e,n,t){"use strict";var r=t(29439),i=t(72791),o=t(31776),s=t(82342),a=t(23508),l=t(40986),c=t(29945),u=t(87995),d=t(81551),f=t(80184);n.Z=function(e){var n=e.configurationName,t=e.closeResetModalAndRefresh,p=e.resetOpen,x=(0,d.TL)(),h=(0,i.useState)(!1),m=(0,r.Z)(h,2),g=m[0],v=m[1];(0,i.useEffect)((function(){g&&o.h.configs.resetConfig(n).then((function(){v(!1),t(!0)})).catch((function(e){v(!1),x((0,u.Ih)((0,s.g)(e.error)))}))}),[t,n,g,x]);return(0,f.jsx)(a.Z,{title:"Restore Defaults",confirmText:"Yes, Reset Configuration",isOpen:p,titleIcon:(0,f.jsx)(c.NvT,{}),isLoading:g,onConfirm:function(){v(!0)},onClose:function(){t(!1)},confirmationContent:(0,f.jsxs)(i.Fragment,{children:[g&&(0,f.jsx)(l.Z,{}),(0,f.jsxs)(i.Fragment,{children:["Are you sure you want to restore these configurations to default values?",(0,f.jsx)("br",{}),(0,f.jsx)("b",{style:{maxWidth:"200px",whiteSpace:"normal",wordWrap:"break-word"},children:"Please note that this may cause your system to not be accessible"})]})]})})}},37099:function(e,n,t){"use strict";var r=t(72791),i=t(29945),o=t(80184),s=function(e){var n=e.icon,t=e.description;return(0,o.jsxs)(i.xuv,{sx:{display:"flex","& .min-icon":{marginRight:"10px",height:"23px",width:"23px",marginBottom:"10px"}},children:[n," ",(0,o.jsx)("div",{style:{fontSize:"14px",fontStyle:"italic",color:"#5E5E5E"},children:t})]})};n.Z=function(e){var n=e.helpText,t=e.docLink,a=e.docText,l=e.contents;return(0,o.jsxs)(i.xuv,{sx:{flex:1,border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"20px"},children:[(0,o.jsxs)(i.xuv,{sx:{fontSize:"16px",fontWeight:600,display:"flex",alignItems:"center",marginBottom:"16px",paddingBottom:"20px","& .min-icon":{height:"21px",width:"21px",marginRight:"15px"}},children:[(0,o.jsx)(i.M9A,{}),(0,o.jsx)("div",{children:n})]}),(0,o.jsxs)(i.xuv,{sx:{fontSize:"14px",marginBottom:"15px"},children:[l.map((function(e,n){return(0,o.jsxs)(r.Fragment,{children:[e.icon&&(0,o.jsx)(i.xuv,{sx:{paddingBottom:"20px"},children:(0,o.jsx)(s,{icon:e.icon,description:e.iconDescription})}),(0,o.jsx)(i.xuv,{sx:{paddingBottom:"20px"},children:e.text})]},"feature-item-".concat(n))})),(0,o.jsx)(i.xuv,{sx:{paddingBottom:"20px"},children:(0,o.jsx)("a",{href:t,target:"_blank",rel:"noopener",children:a})})]})]})}},11690:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return I}});var r=t(4942),i=t(1413),o=t(74165),s=t(15861),a=t(29439),l=t(72791),c=t(29945),u=t(31776),d=t(82342),f=t(81551),p=t(87995),x=t(79979),h=t(14917),m=t(59197),g=t(47974),v=t(37099),y=t(93433),j=t(78687),b=t(99779),Z=t(80184),k=function(e){var n=e.name;return(0,Z.jsxs)("h4",{children:[(0,Z.jsx)(c.ZyT,{style:{transform:"rotateZ(90deg)"}}),n]})},C=function(e){var n=e.blockName,t=e.results;return(0,Z.jsxs)(l.Fragment,{children:[(0,Z.jsxs)("strong",{children:[n,":"]}),(0,Z.jsx)("ul",{children:t.map((function(e,t){return(0,Z.jsx)("li",{children:e},"policy-".concat(n,"-").concat(t))}))})]})},w=function(e){var n,t,r,i,o,s,a=e.entityName,u=e.results,d=0;switch(a){case"Group":d=(null===(n=u.groups)||void 0===n?void 0:n.length)||0;break;case"Policy":d=(null===(t=u.policies)||void 0===t?void 0:t.length)||0;break;case"User":d=(null===(r=u.users)||void 0===r?void 0:r.length)||0}return(0,Z.jsxs)(c.xuv,{className:"resultElement",sx:{marginTop:50,"&:first-of-type":{marginTop:0}},children:[(0,Z.jsxs)(c.NZf,{separator:!0,sx:{fontSize:12},icon:(0,Z.jsx)(c.anK,{style:{width:17,height:17}}),actions:(0,Z.jsxs)(c.xuv,{sx:{fontSize:14},children:[(0,Z.jsx)("strong",{children:d})," Entit",1===d?"y":"ies"," Found"]}),children:[a," Mappings"]}),(0,Z.jsxs)(c.xuv,{className:"resultsList",sx:{h4:{borderBottom:"#e2e2e2 1px solid",padding:"12px 0",margin:0,marginBottom:15,display:"flex",alignItems:"center","& svg":{marginRight:10,fill:"#3C77A7"}}},children:["Group"===a&&(null===(i=u.groups)||void 0===i?void 0:i.map((function(e,n){return(0,Z.jsxs)(l.Fragment,{children:[(0,Z.jsx)(k,{name:e.group||""}),e.policies&&(0,Z.jsx)(C,{blockName:"Policies",results:e.policies})]},"policy-res-".concat(n))}))),"User"===a&&(null===(o=u.users)||void 0===o?void 0:o.map((function(e,n){return(0,Z.jsxs)(l.Fragment,{children:[(0,Z.jsx)(k,{name:e.user||""}),e.policies&&(0,Z.jsx)(C,{blockName:"Policies",results:e.policies})]},"users-res-".concat(n))}))),"Policy"===a&&(null===(s=u.policies)||void 0===s?void 0:s.map((function(e,n){return(0,Z.jsxs)(l.Fragment,{children:[(0,Z.jsx)(k,{name:e.policy||""}),e.groups&&(0,Z.jsx)(C,{blockName:"Groups",results:e.groups}),e.users&&(0,Z.jsx)(C,{blockName:"Users",results:e.users})]},"policy-map-".concat(n))})))]})]})},S=t(58400),D=function(){var e=(0,f.TL)(),n=(0,l.useState)(!1),t=(0,a.Z)(n,2),r=t[0],i=t[1],o=(0,l.useState)([""]),s=(0,a.Z)(o,2),x=s[0],h=s[1],m=(0,l.useState)([""]),g=(0,a.Z)(m,2),v=g[0],k=g[1],C=(0,l.useState)(null),D=(0,a.Z)(C,2),P=D[0],_=D[1],N=(0,j.v9)((function(e){return e.createUser.selectedPolicies}));return(0,Z.jsxs)(c.xuv,{sx:{marginTop:15,paddingTop:0},children:[(0,Z.jsxs)(c.rjZ,{container:!0,sx:{marginTop:5},children:[(0,Z.jsxs)(c.rjZ,{item:!0,sm:12,md:6,lg:5,sx:{padding:10,paddingTop:0},children:[(0,Z.jsx)(c.NZf,{children:"Query Filters"}),(0,Z.jsxs)(c.xuv,{sx:{padding:"0 10px",display:"flex",flexDirection:"column",gap:40},children:[(0,Z.jsxs)(c.xuv,{sx:{padding:"10px 26px"},withBorders:!0,children:[(0,Z.jsx)(c.xuv,{sx:{display:"flex"},children:(0,Z.jsx)("h4",{style:{margin:0,marginBottom:10,fontSize:14},children:"Users"})}),(0,Z.jsx)(c.xuv,{sx:{overflowY:"auto",minHeight:50,maxHeight:250,"& > div > div":{width:"100%"}},children:x.map((function(e,n){return(0,Z.jsx)(c.Wzg,{id:"search-user-".concat(n),value:e,onChange:function(e){var t=(0,y.Z)(x);t[n]=e.target.value,h(t)},overlayIcon:x.length===n+1?(0,Z.jsx)(c.dtP,{}):(0,Z.jsx)(c.HFL,{}),overlayAction:function(){!function(e,n){if(e){var t=[].concat((0,y.Z)(x),[""]);h(t)}else{var r=x.filter((function(e,t){return t!==n}));h(r)}}(x.length===n+1,n)}},"search-user-".concat(n))}))})]}),(0,Z.jsxs)(c.xuv,{sx:{padding:"10px 26px"},withBorders:!0,children:[(0,Z.jsx)("h4",{style:{margin:0,marginBottom:10,fontSize:14},children:"Groups"}),(0,Z.jsx)(c.xuv,{sx:{overflowY:"auto",minHeight:50,maxHeight:"calc(100vh - 340px)","& > div > div":{width:"100%"}},children:v.map((function(e,n){return(0,Z.jsx)(c.Wzg,{id:"search-group-".concat(n),value:e,onChange:function(e){var t=(0,y.Z)(v);t[n]=e.target.value,k(t)},overlayIcon:v.length===n+1?(0,Z.jsx)(c.dtP,{}):(0,Z.jsx)(c.HFL,{}),overlayAction:function(){!function(e,n){if(e){var t=[].concat((0,y.Z)(v),[""]);k(t)}else{var r=v.filter((function(e,t){return t!==n}));k(r)}}(v.length===n+1,n)}},"search-group-".concat(n))}))})]}),(0,Z.jsxs)(c.xuv,{sx:{padding:"10px 26px"},withBorders:!0,children:[(0,Z.jsx)("h4",{style:{margin:0,marginBottom:10,fontSize:14},children:"Policies"}),(0,Z.jsx)(c.xuv,{sx:{minHeight:265,maxHeight:"calc(100vh - 740px)"},children:(0,Z.jsx)(S.Z,{selectedPolicy:N,noTitle:!0})})]})]})]}),(0,Z.jsx)(c.rjZ,{item:!0,sm:12,md:6,lg:7,sx:{padding:10,paddingTop:0,display:"flex",flexDirection:"column"},children:r?(0,Z.jsx)(c.xuv,{sx:{textAlign:"center"},children:(0,Z.jsx)(c.aNw,{})}):(0,Z.jsxs)(l.Fragment,{children:[(0,Z.jsx)(c.NZf,{actions:(0,Z.jsx)(c.xuv,{sx:{display:"flex",flexDirection:"row",alignItems:"center",fontSize:14},children:null!==P&&void 0!==P&&P.timestamp?(0,Z.jsxs)(l.Fragment,{children:[(0,Z.jsx)(c.wZd,{style:{width:14,height:14,marginRight:5,fill:"#BEBFBF"}}),b.ou.fromISO(P.timestamp).toFormat("D HH:mm:ss")]}):""}),children:"Query Results"}),P?(0,Z.jsxs)(c.xuv,{sx:{backgroundColor:"#FBFAFA",padding:"8px 22px",flexGrow:1,overflowY:"auto"},children:[!P.groups&&!P.users&&!P.policies&&(0,Z.jsx)(c.xuv,{sx:{textAlign:"center"},children:(0,Z.jsx)("h4",{children:"No Results Available"})}),!!P.groups&&(0,Z.jsx)(w,{results:P,entityName:"Group"}),!!P.users&&(0,Z.jsx)(w,{results:P,entityName:"User"}),!!P.policies&&(0,Z.jsx)(w,{results:P,entityName:"Policy"})]}):(0,Z.jsx)(c.xuv,{sx:{textAlign:"center"},children:"No query results yet"})]})})]}),(0,Z.jsx)(c.rjZ,{container:!0,children:(0,Z.jsx)(c.rjZ,{item:!0,xs:12,sx:{display:"flex",justifyContent:"flex-start",marginTop:45,padding:"0 20px"},children:(0,Z.jsx)(c.zxk,{id:"search-entity",type:"button",variant:"callAction",onClick:function(){i(!0);var n={},t=N.filter((function(e){return""!==e})),r=x.filter((function(e){return""!==e})),o=v.filter((function(e){return""!==e}));t.length>0&&(n.policies=t),r.length>0&&(n.users=r),o.length>0&&(n.groups=o),u.h.ldapEntities.getLdapEntities(n).then((function(e){_(e.data),i(!1)})).catch((function(n){e((0,p.Ih)((0,d.g)(n.error))),i(!1)}))},icon:(0,Z.jsx)(c.W1M,{}),children:"Search"})})})]})},P=t(90767),_=t(99670),N=["server_addr","lookup_bind_dn","lookup_bind_password","user_dn_search_base_dn","user_dn_search_filter"],I=function(){var e=(0,f.TL)(),n=x.iR,t=(0,l.useState)(!0),y=(0,a.Z)(t,2),j=y[0],b=y[1],k=(0,l.useState)(!1),C=(0,a.Z)(k,2),w=C[0],S=C[1],I=(0,l.useState)(!1),E=(0,a.Z)(I,2),A=E[0],F=E[1],L=(0,l.useState)({}),B=(0,a.Z)(L,2),R=B[0],q=B[1],T=(0,l.useState)(void 0),O=(0,a.Z)(T,2),M=O[0],z=O[1],U=(0,l.useState)(!1),G=(0,a.Z)(U,2),H=G[0],K=G[1],W=(0,l.useState)(!1),Y=(0,a.Z)(W,2),Q=Y[0],V=Y[1],$=(0,l.useState)("configuration"),X=(0,a.Z)($,2),J=X[0],ee=X[1],ne=function(){H&&M&&te(M),K(!H)},te=function(e){var n={};if(e&&e.length>0){var t=e.find((function(e){return"enable"===e.key})),r=0;e.forEach((function(e){n[e.key]=e.value,N.includes(e.key)&&e.value&&""!==e.value&&"off"!==e.value&&r++}));var i=r===N.length;t&&"on"!==t.value||!i?S(!1):S(!0),F(i)}q(n)};(0,l.useEffect)((function(){j&&u.h.configs.configInfo("identity_ldap").then((function(e){e.data.length>0&&(z(e.data[0].key_values),te(e.data[0].key_values||[])),b(!1)})).catch((function(n){b(!1),e((0,p.Ih)((0,d.g)(n.error)))}))}),[e,j]);var re=function(){var n=(0,s.Z)((0,o.Z)().mark((function n(t){return(0,o.Z)().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:V(!1),t&&(e((0,p.cN)(t)),z(void 0),q({}),S(!1),F(!1),K(!1));case 2:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}();return(0,l.useEffect)((function(){e((0,p.Sc)("LDAP"))}),[]),(0,Z.jsxs)(c.rjZ,{item:!0,xs:12,children:[Q&&(0,Z.jsx)(P.Z,{configurationName:"identity_ldap",closeResetModalAndRefresh:re,resetOpen:Q}),(0,Z.jsx)(g.Z,{label:"LDAP",actions:(0,Z.jsx)(_.Z,{})}),(0,Z.jsx)(c.Xgh,{variant:"constrained",children:(0,Z.jsx)(c.mQc,{horizontal:!0,options:[{tabConfig:{id:"configuration",label:"Configuration"},content:(0,Z.jsxs)(l.Fragment,{children:[(0,Z.jsx)(h.Z,{title:H?"Edit Configuration":"",actions:H?null:(0,Z.jsxs)(l.Fragment,{children:[(0,Z.jsx)(c.zxk,{id:"edit",type:"button",variant:"callAction",icon:(0,Z.jsx)(c.dY8,{}),onClick:ne,label:"Edit Configuration",disabled:j}),A&&(0,Z.jsx)(c.zxk,{id:"is-configuration-enabled",onClick:function(){return function(n){var t={key_values:[{key:"enable",value:n?"on":"off"}]};u.h.configs.setConfig("identity_ldap",t).then((function(n){S(!w),e((0,p.cN)(n.data.restart||!1)),n.data.restart||e((0,p.y1)("Configuration saved successfully"))})).catch((function(n){e((0,p.Ih)((0,d.g)(n.error)))}))}(!w)},label:w?"Disable LDAP":"Enable LDAP",variant:w?"secondary":"regular"}),(0,Z.jsx)(c.zxk,{id:"refresh-idp-config",onClick:function(){return b(!0)},label:"Refresh",icon:(0,Z.jsx)(c.DuK,{})})]})}),(0,Z.jsx)("br",{}),j?(0,Z.jsx)(c.xuv,{sx:{display:"flex",justifyContent:"center",marginTop:10},children:(0,Z.jsx)(c.aNw,{})}):(0,Z.jsx)(l.Fragment,{children:H?(0,Z.jsx)(l.Fragment,{children:(0,Z.jsxs)(c.ltY,{helpBox:(0,Z.jsx)(v.Z,{helpText:"Learn more about LDAP Configurations",contents:x.Si,docLink:"https://min.io/docs/minio/linux/operations/external-iam.html?ref=con#minio-external-iam-ad-ldap",docText:"Learn more about LDAP Configurations"}),children:[Object.entries(n).map((function(e){var n=(0,a.Z)(e,2);return function(e,n){return"toggle"===n.type?(0,Z.jsx)(c.rsf,{indicatorLabels:["Enabled","Disabled"],checked:"on"===R[e],value:"is-field-enabled",id:"is-field-enabled",name:"is-field-enabled",label:n.label,tooltip:n.tooltip,onChange:function(n){return q((0,i.Z)((0,i.Z)({},R),{},(0,r.Z)({},e,n.target.checked?"on":"off")))},description:"",disabled:!H},e):(0,Z.jsx)(c.Wzg,{id:e,required:n.required,name:e,label:n.label,tooltip:n.tooltip,error:n.hasError(R[e],H),value:R[e]?R[e]:"",onChange:function(n){return q((0,i.Z)((0,i.Z)({},R),{},(0,r.Z)({},e,n.target.value)))},placeholder:n.placeholder,disabled:!H,type:n.type},e)}(n[0],n[1])})),(0,Z.jsxs)(c.xuv,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end",marginTop:"20px",gap:"15px"},children:[H&&(0,Z.jsx)(c.zxk,{id:"clear",type:"button",variant:"secondary",onClick:function(){return V(!0)},label:"Reset Configuration"}),H&&(0,Z.jsx)(c.zxk,{id:"cancel",type:"button",variant:"regular",onClick:ne,label:"Cancel"}),H&&(0,Z.jsx)(c.zxk,{id:"save-key",type:"submit",variant:"callAction",color:"primary",disabled:j||!function(){for(var e=0,t=Object.entries(n);e0?(0,h.jsxs)(o.Fragment,{children:[(0,h.jsx)(a.rjZ,{item:!0,xs:12,className:"inputItem",children:(0,h.jsx)(c.Z,{placeholder:"Start typing to search for a Policy",onChange:function(e){P(e)},value:D,label:t?"":"Assign Policies"})}),(0,h.jsx)(a.wQF,{columns:[{label:"Policy",elementKey:"name"}],onSelect:function(e){var n=e.target,t=n.value,i=n.checked,o=(0,r.Z)(_);i?o.push(t):o=o.filter((function(e){return e!==t})),o=o.filter((function(e){return""!==e})),m((0,f.ue)(o))},selectedItems:_,isLoading:k,records:I,entityName:"Policies",idField:"name",customPaperHeight:"200px"})]}):(0,h.jsx)(a.xuv,{sx:{textAlign:"center",padding:"10px 0"},children:"No Policies Available"})]})}},21639:function(e,n,t){"use strict";t.d(n,{KE:function(){return s},LQ:function(){return r},V2:function(){return o},g4:function(){return i}});var r=function(e,n){if(e.accessKey&&n.accessKey){if(e.accessKey>n.accessKey)return 1;if(e.accessKeyn.name?1:e.namen?1:en.policy?1:e.policy.\n\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\n\ninterface IScreenTitle {\n icon?: any;\n title?: any;\n subTitle?: any;\n actions?: any;\n className?: any;\n}\n\nconst useStyles = makeStyles((theme: Theme) => ({\n headerBarIcon: {\n marginRight: \".7rem\",\n color: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 44,\n height: 44,\n },\n \"@media (max-width: 600px)\": {\n display: \"none\",\n },\n },\n headerBarSubheader: {\n color: \"grey\",\n \"@media (max-width: 900px)\": {\n maxWidth: 200,\n },\n },\n stContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: 8,\n\n borderBottom: \"1px solid #EAEAEA\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n titleColumn: {\n height: \"auto\",\n justifyContent: \"center\",\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n \"& h1\": {\n fontSize: 19,\n },\n },\n leftItems: {\n display: \"flex\",\n alignItems: \"center\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n width: \"100%\",\n },\n },\n rightItems: {\n display: \"flex\",\n alignItems: \"center\",\n \"& button\": {\n marginLeft: 8,\n },\n \"@media (max-width: 600px)\": {\n width: \"100%\",\n },\n },\n}));\n\nconst ScreenTitle = ({\n icon,\n title,\n subTitle,\n actions,\n className,\n}: IScreenTitle) => {\n const classes = useStyles();\n return (\n \n \n
\n {icon ?
{icon}
: null}\n
\n

{title}

\n {subTitle}\n
\n
\n\n
{actions}
\n
\n \n );\n};\n\nexport default ScreenTitle;\n","import createStyled from './createStyled';\nconst styled = createStyled();\nexport default styled;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"component\", \"direction\", \"spacing\", \"divider\", \"children\", \"className\", \"useFlexGap\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { deepmerge, unstable_composeClasses as composeClasses, unstable_generateUtilityClass as generateUtilityClass } from '@mui/utils';\nimport systemStyled from '../styled';\nimport useThemePropsSystem from '../useThemeProps';\nimport { extendSxProp } from '../styleFunctionSx';\nimport createTheme from '../createTheme';\nimport { handleBreakpoints, mergeBreakpointsInOrder, resolveBreakpointValues } from '../breakpoints';\nimport { createUnarySpacing, getValue } from '../spacing';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultTheme = createTheme();\n// widening Theme to any so that the consumer can own the theme structure.\nconst defaultCreateStyledComponent = systemStyled('div', {\n name: 'MuiStack',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n});\nfunction useThemePropsDefault(props) {\n return useThemePropsSystem({\n props,\n name: 'MuiStack',\n defaultTheme\n });\n}\n\n/**\n * Return an array with the separator React element interspersed between\n * each React node of the input children.\n *\n * > joinChildren([1,2,3], 0)\n * [1,0,2,0,3]\n */\nfunction joinChildren(children, separator) {\n const childrenArray = React.Children.toArray(children).filter(Boolean);\n return childrenArray.reduce((output, child, index) => {\n output.push(child);\n if (index < childrenArray.length - 1) {\n output.push( /*#__PURE__*/React.cloneElement(separator, {\n key: `separator-${index}`\n }));\n }\n return output;\n }, []);\n}\nconst getSideFromDirection = direction => {\n return {\n row: 'Left',\n 'row-reverse': 'Right',\n column: 'Top',\n 'column-reverse': 'Bottom'\n }[direction];\n};\nexport const style = ({\n ownerState,\n theme\n}) => {\n let styles = _extends({\n display: 'flex',\n flexDirection: 'column'\n }, handleBreakpoints({\n theme\n }, resolveBreakpointValues({\n values: ownerState.direction,\n breakpoints: theme.breakpoints.values\n }), propValue => ({\n flexDirection: propValue\n })));\n if (ownerState.spacing) {\n const transformer = createUnarySpacing(theme);\n const base = Object.keys(theme.breakpoints.values).reduce((acc, breakpoint) => {\n if (typeof ownerState.spacing === 'object' && ownerState.spacing[breakpoint] != null || typeof ownerState.direction === 'object' && ownerState.direction[breakpoint] != null) {\n acc[breakpoint] = true;\n }\n return acc;\n }, {});\n const directionValues = resolveBreakpointValues({\n values: ownerState.direction,\n base\n });\n const spacingValues = resolveBreakpointValues({\n values: ownerState.spacing,\n base\n });\n if (typeof directionValues === 'object') {\n Object.keys(directionValues).forEach((breakpoint, index, breakpoints) => {\n const directionValue = directionValues[breakpoint];\n if (!directionValue) {\n const previousDirectionValue = index > 0 ? directionValues[breakpoints[index - 1]] : 'column';\n directionValues[breakpoint] = previousDirectionValue;\n }\n });\n }\n const styleFromPropValue = (propValue, breakpoint) => {\n if (ownerState.useFlexGap) {\n return {\n gap: getValue(transformer, propValue)\n };\n }\n return {\n '& > :not(style) + :not(style)': {\n margin: 0,\n [`margin${getSideFromDirection(breakpoint ? directionValues[breakpoint] : ownerState.direction)}`]: getValue(transformer, propValue)\n }\n };\n };\n styles = deepmerge(styles, handleBreakpoints({\n theme\n }, spacingValues, styleFromPropValue));\n }\n styles = mergeBreakpointsInOrder(theme.breakpoints, styles);\n return styles;\n};\nexport default function createStack(options = {}) {\n const {\n // This will allow adding custom styled fn (for example for custom sx style function)\n createStyledComponent = defaultCreateStyledComponent,\n useThemeProps = useThemePropsDefault,\n componentName = 'MuiStack'\n } = options;\n const useUtilityClasses = () => {\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, slot => generateUtilityClass(componentName, slot), {});\n };\n const StackRoot = createStyledComponent(style);\n const Stack = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {\n const themeProps = useThemeProps(inProps);\n const props = extendSxProp(themeProps); // `color` type conflicts with html color attribute.\n const {\n component = 'div',\n direction = 'column',\n spacing = 0,\n divider,\n children,\n className,\n useFlexGap = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = {\n direction,\n spacing,\n useFlexGap\n };\n const classes = useUtilityClasses();\n return /*#__PURE__*/_jsx(StackRoot, _extends({\n as: component,\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className)\n }, other, {\n children: divider ? joinChildren(children, divider) : children\n }));\n });\n process.env.NODE_ENV !== \"production\" ? Stack.propTypes /* remove-proptypes */ = {\n children: PropTypes.node,\n direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),\n divider: PropTypes.node,\n spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n } : void 0;\n return Stack;\n}","import PropTypes from 'prop-types';\nimport { createStack } from '@mui/system';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nconst Stack = createStack({\n createStyledComponent: styled('div', {\n name: 'MuiStack',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n }),\n useThemeProps: inProps => useThemeProps({\n props: inProps,\n name: 'MuiStack'\n })\n});\nprocess.env.NODE_ENV !== \"production\" ? Stack.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\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 * Defines the `flex-direction` style property.\n * It is applied for all screen sizes.\n * @default 'column'\n */\n direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),\n /**\n * Add an element between each child.\n */\n divider: PropTypes.node,\n /**\n * Defines the space between immediate children.\n * @default 0\n */\n spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n /**\n * The system prop, which 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 * If `true`, the CSS flexbox `gap` is used instead of applying `margin` to children.\n *\n * While CSS `gap` removes the [known limitations](https://mui.com/joy-ui/react-stack/#limitations),\n * it is not fully supported in some browsers. We recommend checking https://caniuse.com/?search=flex%20gap before using this flag.\n *\n * To enable this flag globally, follow the [theme's default props](https://mui.com/material-ui/customization/theme-components/#default-props) configuration.\n * @default false\n */\n useFlexGap: PropTypes.bool\n} : void 0;\nexport default Stack;","import React from \"react\";\nimport { Stack } from \"@mui/material\";\n\ntype LabelValuePairProps = {\n label?: any;\n value?: any;\n orientation?: any;\n stkProps?: any;\n lblProps?: any;\n valProps?: any;\n};\n\nconst LabelValuePair = ({\n label = null,\n value = \"-\",\n orientation = \"column\",\n stkProps = {},\n lblProps = {},\n valProps = {},\n}: LabelValuePairProps) => {\n return (\n \n \n \n \n );\n};\n\nexport default LabelValuePair;\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 { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { LinearProgress } from \"@mui/material\";\nimport { ConfirmDeleteIcon } from \"mds\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IResetConfiguration {\n configurationName: string;\n closeResetModalAndRefresh: (reloadConfiguration: boolean) => void;\n resetOpen: boolean;\n}\n\nconst ResetConfigurationModal = ({\n configurationName,\n closeResetModalAndRefresh,\n resetOpen,\n}: IResetConfiguration) => {\n const dispatch = useAppDispatch();\n const [resetLoading, setResetLoading] = useState(false);\n\n useEffect(() => {\n if (resetLoading) {\n api.configs\n .resetConfig(configurationName)\n .then(() => {\n setResetLoading(false);\n closeResetModalAndRefresh(true);\n })\n .catch((err) => {\n setResetLoading(false);\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n });\n }\n }, [closeResetModalAndRefresh, configurationName, resetLoading, dispatch]);\n\n const resetConfiguration = () => {\n setResetLoading(true);\n };\n\n return (\n }\n isLoading={resetLoading}\n onConfirm={resetConfiguration}\n onClose={() => {\n closeResetModalAndRefresh(false);\n }}\n confirmationContent={\n \n {resetLoading && }\n \n Are you sure you want to restore these configurations to default\n values?\n
\n \n Please note that this may cause your system to not be accessible\n \n
\n
\n }\n />\n );\n};\n\nexport default ResetConfigurationModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 { HelpIconFilled, Box } from \"mds\";\n\ninterface IContent {\n icon: React.ReactNode;\n text: string;\n iconDescription: string;\n}\n\ninterface IAddIDPConfigurationHelpBoxProps {\n helpText: string;\n docLink: string;\n docText: string;\n contents: IContent[];\n}\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};\n\nconst AddIDPConfigurationHelpBox = ({\n helpText,\n docLink,\n docText,\n contents,\n}: IAddIDPConfigurationHelpBoxProps) => {\n return (\n \n \n \n
{helpText}
\n \n \n {contents.map((content, index) => (\n \n {content.icon && (\n \n \n \n )}\n {content.text}\n \n ))}\n \n \n {docText}\n \n \n \n \n );\n};\n\nexport default AddIDPConfigurationHelpBox;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 { Box, CollapseCaret, GroupsMenuIcon, SectionTitle } from \"mds\";\nimport { LdapEntities } from \"api/consoleApi\";\n\ninterface IResultBlock {\n entityName: \"Group\" | \"User\" | \"Policy\";\n results: LdapEntities;\n}\n\ninterface IEntityResultName {\n name: string;\n}\n\ninterface IEntityResultItem {\n blockName: \"Policies\" | \"Groups\" | \"Users\";\n results: string[];\n}\n\nconst EntityResultTitle = ({ name }: IEntityResultName) => {\n return (\n

\n \n {name}\n

\n );\n};\n\nconst EntityResultItems = ({ blockName, results }: IEntityResultItem) => {\n return (\n \n {blockName}:\n
    \n {results.map((res, index) => (\n
  • {res}
  • \n ))}\n
\n
\n );\n};\n\nconst LDAPResultsBlock = ({ entityName, results }: IResultBlock) => {\n let entityLength = 0;\n\n switch (entityName) {\n case \"Group\":\n entityLength = results.groups?.length || 0;\n break;\n case \"Policy\":\n entityLength = results.policies?.length || 0;\n break;\n case \"User\":\n entityLength = results.users?.length || 0;\n break;\n }\n\n return (\n \n }\n actions={\n \n {entityLength} Entit\n {entityLength === 1 ? \"y\" : \"ies\"} Found\n \n }\n >\n {entityName} Mappings\n \n \n {entityName === \"Group\" &&\n results.groups?.map((groupData, index) => {\n return (\n \n \n {groupData.policies && (\n \n )}\n \n );\n })}\n {entityName === \"User\" &&\n results.users?.map((groupData, index) => {\n return (\n \n \n {groupData.policies && (\n \n )}\n \n );\n })}\n {entityName === \"Policy\" &&\n results.policies?.map((groupData, index) => {\n return (\n \n \n {groupData.groups && (\n \n )}\n {groupData.users && (\n \n )}\n \n );\n })}\n \n \n );\n};\n\nexport default LDAPResultsBlock;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 {\n AddIcon,\n Box,\n Button,\n Grid,\n InputBox,\n Loader,\n RemoveIcon,\n SearchIcon,\n SectionTitle,\n TimeIcon,\n} from \"mds\";\nimport { useSelector } from \"react-redux\";\nimport { DateTime } from \"luxon\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { LdapEntities } from \"api/consoleApi\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport LDAPResultsBlock from \"./LDAPResultsBlock\";\nimport PolicySelectors from \"../../Policies/PolicySelectors\";\n\nconst LDAPEntitiesQuery = () => {\n const dispatch = useAppDispatch();\n\n const [loading, setLoading] = useState(false);\n const [users, setUsers] = useState([\"\"]);\n const [groups, setGroups] = useState([\"\"]);\n const [results, setResults] = useState(null);\n\n const selectedPolicies = useSelector(\n (state: AppState) => state.createUser.selectedPolicies,\n );\n\n const searchEntities = () => {\n setLoading(true);\n\n let data: any = {};\n\n let cleanPolicies = selectedPolicies.filter((pol) => pol !== \"\");\n let cleanUsers = users.filter((usr) => usr !== \"\");\n let cleanGroups = groups.filter((grp) => grp !== \"\");\n\n if (cleanPolicies.length > 0) {\n data[\"policies\"] = cleanPolicies;\n }\n\n if (cleanUsers.length > 0) {\n data[\"users\"] = cleanUsers;\n }\n\n if (cleanGroups.length > 0) {\n data[\"groups\"] = cleanGroups;\n }\n\n api.ldapEntities\n .getLdapEntities(data)\n .then((result) => {\n setResults(result.data);\n setLoading(false);\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n setLoading(false);\n });\n };\n\n const alterUsersList = (addItem: boolean, index: number) => {\n if (addItem) {\n const alterUsers = [...users, \"\"];\n setUsers(alterUsers);\n\n return;\n }\n\n const filteredUsers = users.filter((_, indx) => indx !== index);\n\n setUsers(filteredUsers);\n };\n\n const alterGroupsList = (addItem: boolean, index: number) => {\n if (addItem) {\n const alterGroups = [...groups, \"\"];\n setGroups(alterGroups);\n\n return;\n }\n\n const filteredGroups = groups.filter((_, indx) => indx !== index);\n\n setGroups(filteredGroups);\n };\n\n return (\n \n \n \n Query Filters\n\n \n \n \n

\n Users\n

\n
\n div > div\": {\n width: \"100%\",\n },\n }}\n >\n {users.map((userDat, index) => {\n return (\n ) => {\n const usersElements = [...users];\n usersElements[index] = e.target.value;\n setUsers(usersElements);\n }}\n overlayIcon={\n users.length === index + 1 ? (\n \n ) : (\n \n )\n }\n overlayAction={() => {\n alterUsersList(users.length === index + 1, index);\n }}\n />\n );\n })}\n
\n
\n \n

\n Groups\n

\n div > div\": {\n width: \"100%\",\n },\n }}\n >\n {groups.map((groupDat, index) => {\n return (\n ) => {\n const groupsElements = [...groups];\n groupsElements[index] = e.target.value;\n setGroups(groupsElements);\n }}\n overlayIcon={\n groups.length === index + 1 ? (\n \n ) : (\n \n )\n }\n overlayAction={() => {\n alterGroupsList(groups.length === index + 1, index);\n }}\n />\n );\n })}\n
\n \n \n

\n Policies\n

\n \n \n
\n \n \n \n \n {loading ? (\n \n \n \n ) : (\n \n \n {results?.timestamp ? (\n \n \n {DateTime.fromISO(results.timestamp).toFormat(\n \"D HH:mm:ss\",\n )}\n \n ) : (\n \"\"\n )}\n \n }\n >\n Query Results\n \n {results ? (\n \n {!results.groups && !results.users && !results.policies && (\n \n

No Results Available

\n
\n )}\n {!!results.groups && (\n \n )}\n {!!results.users && (\n \n )}\n {!!results.policies && (\n \n )}\n \n ) : (\n No query results yet\n )}\n
\n )}\n \n \n \n \n }\n >\n Search\n \n \n \n \n );\n};\n\nexport default LDAPEntitiesQuery;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 {\n Box,\n Button,\n EditIcon,\n FormLayout,\n Grid,\n InputBox,\n Loader,\n PageLayout,\n RefreshIcon,\n Switch,\n Tabs,\n} from \"mds\";\nimport { api } from \"api\";\nimport { ConfigurationKV } from \"api/consoleApi\";\nimport { errorToHandler } from \"api/errors\";\nimport { useAppDispatch } from \"../../../../store\";\nimport {\n setErrorSnackMessage,\n setHelpName,\n setServerNeedsRestart,\n setSnackBarMessage,\n} from \"../../../../systemSlice\";\nimport { ldapFormFields, ldapHelpBoxContents } from \"../utils\";\nimport ScreenTitle from \"../../Common/ScreenTitle/ScreenTitle\";\nimport LabelValuePair from \"../../Common/UsageBarWrapper/LabelValuePair\";\nimport PageHeaderWrapper from \"../../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport AddIDPConfigurationHelpBox from \"../AddIDPConfigurationHelpbox\";\nimport LDAPEntitiesQuery from \"./LDAPEntitiesQuery\";\nimport ResetConfigurationModal from \"../../EventDestinations/CustomForms/ResetConfigurationModal\";\nimport HelpMenu from \"../../HelpMenu\";\n\nconst enabledConfigLDAP = [\n \"server_addr\",\n \"lookup_bind_dn\",\n \"lookup_bind_password\",\n \"user_dn_search_base_dn\",\n \"user_dn_search_filter\",\n];\n\nconst IDPLDAPConfigurationDetails = () => {\n const dispatch = useAppDispatch();\n\n const formFields = ldapFormFields;\n\n const [loading, setLoading] = useState(true);\n const [isEnabled, setIsEnabled] = useState(false);\n const [hasConfiguration, setHasConfiguration] = useState(false);\n const [fields, setFields] = useState({});\n const [record, setRecord] = useState(\n undefined,\n );\n const [editMode, setEditMode] = useState(false);\n const [resetOpen, setResetOpen] = useState(false);\n const [curTab, setCurTab] = useState(\"configuration\");\n\n const toggleEditMode = () => {\n if (editMode && record) {\n parseFields(record);\n }\n setEditMode(!editMode);\n };\n\n const parseFields = (record: ConfigurationKV[]) => {\n let fields: any = {};\n if (record && record.length > 0) {\n const enabled = record.find((item: any) => item.key === \"enable\");\n\n let totalCoincidences = 0;\n\n record.forEach((item: any) => {\n fields[item.key] = item.value;\n\n if (\n enabledConfigLDAP.includes(item.key) &&\n item.value &&\n item.value !== \"\" &&\n item.value !== \"off\"\n ) {\n totalCoincidences++;\n }\n });\n\n const hasConfig = totalCoincidences === enabledConfigLDAP.length;\n\n if ((!enabled || enabled.value === \"on\") && hasConfig) {\n setIsEnabled(true);\n } else {\n setIsEnabled(false);\n }\n\n setHasConfiguration(hasConfig);\n }\n setFields(fields);\n };\n\n useEffect(() => {\n const loadRecord = () => {\n api.configs\n .configInfo(\"identity_ldap\")\n .then((res) => {\n if (res.data.length > 0) {\n setRecord(res.data[0].key_values);\n parseFields(res.data[0].key_values || []);\n }\n setLoading(false);\n })\n .catch((err) => {\n setLoading(false);\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n });\n };\n\n if (loading) {\n loadRecord();\n }\n }, [dispatch, loading]);\n\n const validSave = () => {\n for (const [key, value] of Object.entries(formFields)) {\n if (\n value.required &&\n !(\n fields[key] !== undefined &&\n fields[key] !== null &&\n fields[key] !== \"\"\n )\n ) {\n return false;\n }\n }\n return true;\n };\n\n const saveRecord = () => {\n const keyVals = Object.keys(formFields).map((key) => {\n return {\n key,\n value: fields[key],\n };\n });\n\n api.configs\n .setConfig(\"identity_ldap\", {\n key_values: keyVals,\n })\n .then((res) => {\n setEditMode(false);\n setRecord(keyVals);\n parseFields(keyVals);\n dispatch(setServerNeedsRestart(res.data.restart || false));\n\n if (!res.data.restart) {\n dispatch(setSnackBarMessage(\"Configuration saved successfully\"));\n }\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n });\n };\n\n const closeDeleteModalAndRefresh = async (refresh: boolean) => {\n setResetOpen(false);\n\n if (refresh) {\n dispatch(setServerNeedsRestart(refresh));\n setRecord(undefined);\n setFields({});\n setIsEnabled(false);\n setHasConfiguration(false);\n setEditMode(false);\n }\n };\n\n const toggleConfiguration = (value: boolean) => {\n const payload = {\n key_values: [\n {\n key: \"enable\",\n value: value ? \"on\" : \"off\",\n },\n ],\n };\n\n api.configs\n .setConfig(\"identity_ldap\", payload)\n .then((res) => {\n setIsEnabled(!isEnabled);\n dispatch(setServerNeedsRestart(res.data.restart || false));\n if (!res.data.restart) {\n dispatch(setSnackBarMessage(\"Configuration saved successfully\"));\n }\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n });\n };\n\n const renderFormField = (key: string, value: any) => {\n switch (value.type) {\n case \"toggle\":\n return (\n \n setFields({ ...fields, [key]: e.target.checked ? \"on\" : \"off\" })\n }\n description=\"\"\n disabled={!editMode}\n />\n );\n default:\n return (\n ) =>\n setFields({ ...fields, [key]: e.target.value })\n }\n placeholder={value.placeholder}\n disabled={!editMode}\n type={value.type}\n />\n );\n }\n };\n\n useEffect(() => {\n dispatch(setHelpName(\"LDAP\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n {resetOpen && (\n \n )}\n } />\n \n \n \n }\n onClick={toggleEditMode}\n label={\"Edit Configuration\"}\n disabled={loading}\n />\n {hasConfiguration && (\n toggleConfiguration(!isEnabled)}\n label={isEnabled ? \"Disable LDAP\" : \"Enable LDAP\"}\n variant={isEnabled ? \"secondary\" : \"regular\"}\n />\n )}\n setLoading(true)}\n label={\"Refresh\"}\n icon={}\n />\n
\n ) : null\n }\n />\n
\n {loading ? (\n \n \n \n ) : (\n \n {editMode ? (\n \n \n }\n >\n {Object.entries(formFields).map(([key, value]) =>\n renderFormField(key, value),\n )}\n \n {editMode && (\n setResetOpen(true)}\n label={\"Reset Configuration\"}\n />\n )}\n {editMode && (\n \n )}\n {editMode && (\n \n )}\n \n \n \n ) : (\n \n \n \n {hasConfiguration && (\n \n {Object.entries(formFields).map(\n ([key, value]) => (\n \n ),\n )}\n \n )}\n \n \n )}\n \n )}\n
\n ),\n },\n {\n tabConfig: {\n id: \"entities\",\n label: \"Entities\",\n disabled: !hasConfiguration || !isEnabled,\n },\n content: (\n \n {hasConfiguration && (\n \n \n \n )}\n \n ),\n },\n ]}\n currentTabOrPath={curTab}\n onTabClick={(newTab) => {\n setCurTab(newTab);\n setEditMode(false);\n }}\n />\n \n \n );\n};\n\nexport default IDPLDAPConfigurationDetails;\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 LoginIcon from \"@mui/icons-material/Login\";\nimport { LockIcon } from \"mds\";\n\nexport const ldapHelpBoxContents = [\n {\n text: \"MinIO supports using an Active Directory or LDAP (AD/LDAP) service for external management of user identities. Configuring an external IDentity Provider (IDP) enables Single-Sign On (SSO) workflows, where applications authenticate against the external IDP before accessing MinIO.\",\n icon: ,\n iconDescription: \"Create Configurations\",\n },\n {\n text: \"MinIO queries the configured Active Directory / LDAP server to verify the credentials specified by the application and optionally return a list of groups in which the user has membership. MinIO supports two modes (Lookup-Bind Mode and Username-Bind Mode) for performing these queries\",\n icon: null,\n iconDescription: \"\",\n },\n {\n text: \"MinIO recommends using Lookup-Bind mode as the preferred method for verifying AD/LDAP credentials. Username-Bind mode is a legacy method retained for backwards compatibility only.\",\n icon: null,\n iconDescription: \"\",\n },\n];\n\nexport const openIDHelpBoxContents = [\n {\n text: \"MinIO supports using an OpenID Connect (OIDC) compatible IDentity Provider (IDP) such as Okta, KeyCloak, Dex, Google, or Facebook for external management of user identities.\",\n icon: ,\n iconDescription: \"Create Configurations\",\n },\n {\n text: \"Configuring an external IDP enables Single-Sign On workflows, where applications authenticate against the external IDP before accessing MinIO.\",\n icon: null,\n iconDescription: \"\",\n },\n];\n\nexport const openIDFormFields = {\n config_url: {\n required: true,\n hasError: (s: string, editMode: boolean) => {\n return !s && editMode ? \"Config URL is required\" : \"\";\n },\n label: \"Config URL\",\n tooltip: \"Config URL for identity provider configuration\",\n placeholder:\n \"https://identity-provider-url/.well-known/openid-configuration\",\n type: \"text\",\n },\n client_id: {\n required: true,\n hasError: (s: string, editMode: boolean) => {\n return !s && editMode ? \"Client ID is required\" : \"\";\n },\n label: \"Client ID\",\n tooltip: \"Identity provider Client ID\",\n placeholder: \"Enter Client ID\",\n type: \"text\",\n },\n client_secret: {\n required: true,\n hasError: (s: string, editMode: boolean) => {\n return !s && editMode ? \"Client Secret is required\" : \"\";\n },\n label: \"Client Secret\",\n tooltip: \"Identity provider Client Secret\",\n placeholder: \"Enter Client Secret\",\n type: \"password\",\n },\n claim_name: {\n required: false,\n label: \"Claim Name\",\n tooltip: \"Claim from which MinIO will read the policy or role to use\",\n placeholder: \"Enter Claim Name\",\n type: \"text\",\n hasError: (s: string, editMode: boolean) => \"\",\n },\n display_name: {\n required: false,\n label: \"Display Name\",\n tooltip: \"\",\n placeholder: \"Enter Display Name\",\n type: \"text\",\n hasError: (s: string, editMode: boolean) => \"\",\n },\n claim_prefix: {\n required: false,\n label: \"Claim Prefix\",\n tooltip: \"\",\n placeholder: \"Enter Claim Prefix\",\n type: \"text\",\n hasError: (s: string, editMode: boolean) => \"\",\n },\n scopes: {\n required: false,\n label: \"Scopes\",\n tooltip: \"\",\n placeholder: \"openid,profile,email\",\n type: \"text\",\n hasError: (s: string, editMode: boolean) => \"\",\n },\n redirect_uri: {\n required: false,\n label: \"Redirect URI\",\n tooltip: \"\",\n placeholder: \"https://console-endpoint-url/oauth_callback\",\n type: \"text\",\n hasError: (s: string, editMode: boolean) => \"\",\n },\n role_policy: {\n required: false,\n label: \"Role Policy\",\n tooltip: \"\",\n placeholder: \"readonly\",\n type: \"text\",\n hasError: (s: string, editMode: boolean) => \"\",\n },\n claim_userinfo: {\n required: false,\n label: \"Claim User Info\",\n tooltip: \"\",\n placeholder: \"Claim User Info\",\n type: \"toggle\",\n hasError: (s: string, editMode: boolean) => \"\",\n },\n redirect_uri_dynamic: {\n required: false,\n label: \"Redirect URI Dynamic\",\n tooltip: \"\",\n placeholder: \"Redirect URI Dynamic\",\n type: \"toggle\",\n hasError: (s: string, editMode: boolean) => \"\",\n },\n};\n\nexport const ldapFormFields = {\n server_insecure: {\n required: true,\n hasError: (s: string, editMode: boolean) => {\n return !s && editMode ? \"Server Address is required\" : \"\";\n },\n label: \"Server Insecure\",\n tooltip: \"Disable SSL certificate verification \",\n placeholder: \"myldapserver.com:636\",\n type: \"toggle\",\n },\n server_addr: {\n required: true,\n hasError: (s: string, editMode: boolean) => {\n return !s && editMode ? \"Server Address is required\" : \"\";\n },\n label: \"Server Address\",\n tooltip: 'AD/LDAP server address e.g. \"myldapserver.com:636\"',\n placeholder: \"myldapserver.com:636\",\n type: \"text\",\n },\n lookup_bind_dn: {\n required: true,\n hasError: (s: string, editMode: boolean) => {\n return !s && editMode ? \"Lookup Bind DN is required\" : \"\";\n },\n label: \"Lookup Bind DN\",\n tooltip:\n \"DN (Distinguished Name) for LDAP read-only service account used to perform DN and group lookups\",\n placeholder: \"cn=admin,dc=min,dc=io\",\n type: \"text\",\n },\n lookup_bind_password: {\n required: true,\n hasError: (s: string, editMode: boolean) => {\n return !s && editMode ? \"Lookup Bind Password is required\" : \"\";\n },\n label: \"Lookup Bind Password\",\n tooltip:\n \"Password for LDAP read-only service account used to perform DN and group lookups\",\n placeholder: \"admin\",\n type: \"password\",\n },\n user_dn_search_base_dn: {\n required: true,\n hasError: (s: string, editMode: boolean) => {\n return !s && editMode ? \"User DN Search Base DN is required\" : \"\";\n },\n label: \"User DN Search Base\",\n tooltip: \"\",\n placeholder: \"DC=example,DC=net\",\n type: \"text\",\n },\n user_dn_search_filter: {\n required: true,\n hasError: (s: string, editMode: boolean) => {\n return !s && editMode ? \"User DN Search Filter is required\" : \"\";\n },\n label: \"User DN Search Filter\",\n tooltip: \"\",\n placeholder: \"(sAMAcountName=%s)\",\n type: \"text\",\n },\n group_search_base_dn: {\n required: false,\n hasError: (s: string, editMode: boolean) => \"\",\n label: \"Group Search Base DN\",\n tooltip: \"\",\n placeholder: \"ou=swengg,dc=min,dc=io\",\n type: \"text\",\n },\n group_search_filter: {\n required: false,\n hasError: (s: string, editMode: boolean) => \"\",\n label: \"Group Search Filter\",\n tooltip: \"\",\n placeholder: \"(&(objectclass=groupofnames)(member=%d))\",\n type: \"text\",\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, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { LinearProgress } from \"@mui/material\";\nimport { DataTable, Grid, Box } from \"mds\";\nimport { policySort } from \"../../../utils/sortFunctions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport SearchBox from \"../Common/SearchBox\";\nimport { setModalErrorSnackMessage } from \"../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { setSelectedPolicies } from \"../Users/AddUsersSlice\";\nimport { useSelector } from \"react-redux\";\nimport { api } from \"../../../api\";\nimport {\n Error,\n HttpResponse,\n ListPoliciesResponse,\n} from \"../../../api/consoleApi\";\n\ninterface ISelectPolicyProps {\n selectedPolicy?: string[];\n noTitle?: boolean;\n}\n\nconst PolicySelectors = ({ noTitle = false }: ISelectPolicyProps) => {\n const dispatch = useAppDispatch();\n // Local State\n const [records, setRecords] = useState([]);\n const [loading, isLoading] = useState(false);\n const [filter, setFilter] = useState(\"\");\n\n const currentPolicies = useSelector(\n (state: AppState) => state.createUser.selectedPolicies,\n );\n\n const fetchPolicies = useCallback(() => {\n isLoading(true);\n\n api.policies\n .listPolicies()\n .then((res: HttpResponse) => {\n const policies = res.data.policies ?? [];\n isLoading(false);\n setRecords(policies.sort(policySort));\n })\n .catch((err: ErrorResponseHandler) => {\n isLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n }, [dispatch]);\n\n //Effects\n useEffect(() => {\n isLoading(true);\n }, []);\n\n useEffect(() => {\n if (loading) {\n fetchPolicies();\n }\n }, [loading, fetchPolicies]);\n\n const selectionChanged = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...currentPolicies]; // We clone the checkedUsers array\n\n if (checked) {\n // If the user has checked this field we need to push this to checkedUsersList\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 // remove empty values\n elements = elements.filter((element) => element !== \"\");\n\n dispatch(setSelectedPolicies(elements));\n };\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.name.includes(filter),\n );\n\n return (\n \n {loading && }\n {records.length > 0 ? (\n \n \n {\n setFilter(value);\n }}\n value={filter}\n label={!noTitle ? \"Assign Policies\" : \"\"}\n />\n \n\n \n \n ) : (\n \n No Policies Available\n \n )}\n \n );\n};\n\nexport default PolicySelectors;\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 { Policy, User } from \"api/consoleApi\";\n\ninterface policyDetailsInterface {\n policy: string;\n}\n\nexport const usersSort = (a: User, b: User) => {\n if (a.accessKey && b.accessKey) {\n if (a.accessKey > b.accessKey) {\n return 1;\n }\n if (a.accessKey < b.accessKey) {\n return -1;\n }\n }\n // a must be equal to b\n return 0;\n};\n\nexport const policySort = (a: Policy, b: Policy) => {\n if (a.name! > b.name!) {\n return 1;\n }\n if (a.name! < b.name!) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n\nexport const stringSort = (a: string, b: string) => {\n if (a > b) {\n return 1;\n }\n if (a < b) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n\nexport const policyDetailsSort = (\n a: policyDetailsInterface,\n b: policyDetailsInterface,\n) => {\n if (a.policy > b.policy) {\n return 1;\n }\n if (a.policy < b.policy) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11 7 9.6 8.4l2.6 2.6H2v2h10.2l-2.6 2.6L11 17l5-5-5-5zm9 12h-8v2h8c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-8v2h8v14z\"\n}), 'Login');\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");","import { unstable_createChainedFunction as createChainedFunction } from '@mui/utils';\nexport default createChainedFunction;","import { unstable_deprecatedPropType as deprecatedPropType } from '@mui/utils';\nexport default deprecatedPropType;","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return (props, propName, componentName, location, propFullName) => {\n const componentNameSafe = componentName || '<>';\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The ${location} \\`${propFullNameSafe}\\` of ` + `\\`${componentNameSafe}\\` is deprecated. ${reason}`);\n }\n return null;\n };\n}","import { unstable_requirePropFactory as requirePropFactory } from '@mui/utils';\nexport default requirePropFactory;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function requirePropFactory(componentNameInError, Component) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n\n // eslint-disable-next-line react/forbid-foreign-prop-types\n const prevPropTypes = Component ? _extends({}, Component.propTypes) : null;\n const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {\n const propFullNameSafe = propFullName || propName;\n const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];\n if (defaultTypeChecker) {\n const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);\n if (typeCheckerResult) {\n return typeCheckerResult;\n }\n }\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(`The prop \\`${propFullNameSafe}\\` of ` + `\\`${componentNameInError}\\` can only be used together with the \\`${requiredProp}\\` prop.`);\n }\n return null;\n };\n return requireProp;\n}","import { unstable_setRef as setRef } from '@mui/utils';\nexport default setRef;","import { unstable_unsupportedProp as unsupportedProp } from '@mui/utils';\nexport default unsupportedProp;","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","import { unstable_ClassNameGenerator as ClassNameGenerator } from '@mui/base/className';\nexport { default as capitalize } from './capitalize';\nexport { default as createChainedFunction } from './createChainedFunction';\nexport { default as createSvgIcon } from './createSvgIcon';\nexport { default as debounce } from './debounce';\nexport { default as deprecatedPropType } from './deprecatedPropType';\nexport { default as isMuiElement } from './isMuiElement';\nexport { default as ownerDocument } from './ownerDocument';\nexport { default as ownerWindow } from './ownerWindow';\nexport { default as requirePropFactory } from './requirePropFactory';\nexport { default as setRef } from './setRef';\nexport { default as unstable_useEnhancedEffect } from './useEnhancedEffect';\nexport { default as unstable_useId } from './useId';\nexport { default as unsupportedProp } from './unsupportedProp';\nexport { default as useControlled } from './useControlled';\nexport { default as useEventCallback } from './useEventCallback';\nexport { default as useForkRef } from './useForkRef';\nexport { default as useIsFocusVisible } from './useIsFocusVisible';\n// TODO: remove this export once ClassNameGenerator is stable\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const unstable_ClassNameGenerator = {\n configure: generator => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(['MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.', '', \"You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead\", '', 'The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401', '', 'The updated documentation: https://mui.com/guides/classname-generator/'].join('\\n'));\n }\n ClassNameGenerator.configure(generator);\n }\n};","import { unstable_isMuiElement as isMuiElement } from '@mui/utils';\nexport default isMuiElement;","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf(element.type.muiName) !== -1;\n}","/**\n * Safe chained function.\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n */\nexport default function createChainedFunction(...funcs) {\n return funcs.reduce((acc, func) => {\n if (func == null) {\n return acc;\n }\n return function chainedFunction(...args) {\n acc.apply(this, args);\n func.apply(this, args);\n };\n }, () => {});\n}","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"names":["useStyles","makeStyles","theme","headerBarIcon","marginRight","color","palette","primary","main","width","height","display","headerBarSubheader","maxWidth","stContainer","alignItems","justifyContent","padding","borderBottom","flexFlow","titleColumn","fontSize","leftItems","rightItems","marginLeft","_ref","icon","title","subTitle","actions","className","classes","_jsx","Grid","container","children","_jsxs","item","xs","concat","style","margin","createStyled","_excluded","defaultTheme","createTheme","defaultCreateStyledComponent","systemStyled","name","slot","overridesResolver","props","styles","root","useThemePropsDefault","useThemePropsSystem","joinChildren","separator","childrenArray","React","toArray","filter","Boolean","reduce","output","child","index","push","length","key","ownerState","_extends","flexDirection","handleBreakpoints","resolveBreakpointValues","values","direction","breakpoints","propValue","spacing","transformer","createUnarySpacing","base","Object","keys","acc","breakpoint","directionValues","spacingValues","forEach","previousDirectionValue","deepmerge","useFlexGap","gap","getValue","_defineProperty","row","column","mergeBreakpointsInOrder","Stack","options","arguments","undefined","_options$createStyled","createStyledComponent","_options$useThemeProp","useThemeProps","_options$componentNam","componentName","StackRoot","inProps","ref","themeProps","extendSxProp","_props$component","component","_props$direction","_props$spacing","divider","_props$useFlexGap","other","_objectWithoutPropertiesLoose","composeClasses","generateUtilityClass","as","clsx","createStack","styled","_ref$label","label","_ref$value","value","_ref$orientation","orientation","_ref$stkProps","stkProps","_ref$lblProps","lblProps","_ref$valProps","valProps","_objectSpread","sm","fontWeight","configurationName","closeResetModalAndRefresh","resetOpen","dispatch","useAppDispatch","_useState","useState","_useState2","_slicedToArray","resetLoading","setResetLoading","useEffect","api","configs","resetConfig","then","catch","err","setErrorSnackMessage","errorToHandler","error","ConfirmDialog","confirmText","isOpen","titleIcon","ConfirmDeleteIcon","isLoading","onConfirm","onClose","confirmationContent","Fragment","LinearProgress","whiteSpace","wordWrap","FeatureItem","description","Box","sx","marginBottom","fontStyle","_ref2","helpText","docLink","docText","contents","flex","border","borderRadius","paddingBottom","HelpIconFilled","map","content","iconDescription","text","href","target","rel","EntityResultTitle","CollapseCaret","transform","EntityResultItems","blockName","results","res","_ref3","_results$groups","_results$policies","_results$users","_results$groups2","_results$users2","_results$policies2","entityName","entityLength","groups","policies","users","marginTop","SectionTitle","GroupsMenuIcon","h4","fill","groupData","group","user","policy","loading","setLoading","_useState3","_useState4","setUsers","_useState5","_useState6","setGroups","_useState7","_useState8","setResults","selectedPolicies","useSelector","state","createUser","paddingTop","md","lg","withBorders","overflowY","minHeight","maxHeight","userDat","InputBox","id","onChange","e","usersElements","_toConsumableArray","overlayIcon","AddIcon","RemoveIcon","overlayAction","addItem","alterUsers","filteredUsers","_","indx","alterUsersList","groupDat","groupsElements","alterGroups","filteredGroups","alterGroupsList","PolicySelectors","selectedPolicy","noTitle","textAlign","Loader","timestamp","TimeIcon","DateTime","fromISO","toFormat","backgroundColor","flexGrow","LDAPResultsBlock","Button","type","variant","onClick","data","cleanPolicies","pol","cleanUsers","usr","cleanGroups","grp","ldapEntities","getLdapEntities","result","SearchIcon","enabledConfigLDAP","formFields","ldapFormFields","isEnabled","setIsEnabled","hasConfiguration","setHasConfiguration","fields","setFields","_useState9","_useState10","record","setRecord","_useState11","_useState12","editMode","setEditMode","_useState13","_useState14","setResetOpen","_useState15","_useState16","curTab","setCurTab","toggleEditMode","parseFields","enabled","find","totalCoincidences","includes","hasConfig","configInfo","key_values","closeDeleteModalAndRefresh","_asyncToGenerator","_regeneratorRuntime","mark","_callee","refresh","wrap","_context","prev","next","setServerNeedsRestart","stop","_x","apply","setHelpName","ResetConfigurationModal","PageHeaderWrapper","HelpMenu","PageLayout","Tabs","horizontal","tabConfig","ScreenTitle","EditIcon","disabled","payload","setConfig","restart","setSnackBarMessage","toggleConfiguration","RefreshIcon","FormLayout","helpBox","AddIDPConfigurationHelpBox","ldapHelpBoxContents","entries","Switch","indicatorLabels","checked","tooltip","required","hasError","placeholder","renderFormField","_i","_Object$entries","_Object$entries$_i","validSave","keyVals","gridTemplateColumns","gridAutoFlow","LabelValuePair","_ref5","_ref6","LDAPEntitiesQuery","currentTabOrPath","onTabClick","newTab","LoginIcon","openIDHelpBoxContents","LockIcon","openIDFormFields","config_url","s","client_id","client_secret","claim_name","display_name","claim_prefix","scopes","redirect_uri","role_policy","claim_userinfo","redirect_uri_dynamic","server_insecure","server_addr","lookup_bind_dn","lookup_bind_password","user_dn_search_base_dn","user_dn_search_filter","group_search_base_dn","group_search_filter","_ref$noTitle","records","setRecords","setFilter","currentPolicies","fetchPolicies","useCallback","listPolicies","_res$data$policies","sort","policySort","setModalErrorSnackMessage","filteredRecords","elementItem","SearchBox","DataTable","columns","elementKey","onSelect","targetD","elements","element","setSelectedPolicies","selectedItems","idField","customPaperHeight","usersSort","a","b","accessKey","stringSort","policyDetailsSort","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","defineProperty","enumerable","get","_utils","createSvgIcon","createChainedFunction","validator","reason","componentNameInError","Component","propName","location","propFullName","unstable_ClassNameGenerator","configure","generator","ClassNameGenerator","muiNames","indexOf","muiName","_len","funcs","Array","_key","func","_len2","args","_key2","this","module","obj","__esModule"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1690.fa631de9.chunk.js b/portal-ui/build/static/js/1690.fa631de9.chunk.js new file mode 100644 index 000000000..dd1832073 --- /dev/null +++ b/portal-ui/build/static/js/1690.fa631de9.chunk.js @@ -0,0 +1,2 @@ +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1690],{14917:function(e,n,t){"use strict";t(72791);var r=t(61889),i=t(72455),o=t(80184),s=(0,i.Z)((function(e){return{headerBarIcon:{marginRight:".7rem",color:e.palette.primary.main,"& .min-icon":{width:44,height:44},"@media (max-width: 600px)":{display:"none"}},headerBarSubheader:{color:"grey","@media (max-width: 900px)":{maxWidth:200}},stContainer:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:8,borderBottom:"1px solid #EAEAEA","@media (max-width: 600px)":{flexFlow:"column"}},titleColumn:{height:"auto",justifyContent:"center",display:"flex",flexFlow:"column",alignItems:"flex-start","& h1":{fontSize:19}},leftItems:{display:"flex",alignItems:"center","@media (max-width: 600px)":{flexFlow:"column",width:"100%"}},rightItems:{display:"flex",alignItems:"center","& button":{marginLeft:8},"@media (max-width: 600px)":{width:"100%"}}}}));n.Z=function(e){var n=e.icon,t=e.title,i=e.subTitle,a=e.actions,l=e.className,c=s();return(0,o.jsx)(r.ZP,{container:!0,children:(0,o.jsxs)(r.ZP,{item:!0,xs:12,className:"".concat(c.stContainer," ").concat(l||""),children:[(0,o.jsxs)("div",{className:c.leftItems,children:[n?(0,o.jsx)("div",{className:c.headerBarIcon,children:n}):null,(0,o.jsxs)("div",{className:c.titleColumn,children:[(0,o.jsx)("h1",{style:{margin:0},children:t}),(0,o.jsx)("span",{className:c.headerBarSubheader,children:i})]})]}),(0,o.jsx)("div",{className:c.rightItems,children:a})]})})}},45902:function(e,n,t){"use strict";var r=t(1413),i=(t(72791),t(1582)),o=t(80184);n.Z=function(e){var n=e.label,t=void 0===n?null:n,s=e.value,a=void 0===s?"-":s,l=e.orientation,c=void 0===l?"column":l,u=e.stkProps,d=void 0===u?{}:u,f=e.lblProps,p=void 0===f?{}:f,x=e.valProps,h=void 0===x?{}:x;return(0,o.jsxs)(i.Z,(0,r.Z)((0,r.Z)({direction:{xs:"column",sm:c}},d),{},{children:[(0,o.jsx)("label",(0,r.Z)((0,r.Z)({style:{marginRight:5,fontWeight:600}},p),{},{children:t})),(0,o.jsx)("label",(0,r.Z)((0,r.Z)({style:{marginRight:5,fontWeight:500}},h),{},{children:a}))]}))}},90767:function(e,n,t){"use strict";var r=t(29439),i=t(72791),o=t(31776),s=t(82342),a=t(23508),l=t(40986),c=t(29945),u=t(87995),d=t(81551),f=t(80184);n.Z=function(e){var n=e.configurationName,t=e.closeResetModalAndRefresh,p=e.resetOpen,x=(0,d.TL)(),h=(0,i.useState)(!1),m=(0,r.Z)(h,2),g=m[0],v=m[1];(0,i.useEffect)((function(){g&&o.h.configs.resetConfig(n).then((function(){v(!1),t(!0)})).catch((function(e){v(!1),x((0,u.Ih)((0,s.g)(e.error)))}))}),[t,n,g,x]);return(0,f.jsx)(a.Z,{title:"Restore Defaults",confirmText:"Yes, Reset Configuration",isOpen:p,titleIcon:(0,f.jsx)(c.NvT,{}),isLoading:g,onConfirm:function(){v(!0)},onClose:function(){t(!1)},confirmationContent:(0,f.jsxs)(i.Fragment,{children:[g&&(0,f.jsx)(l.Z,{}),(0,f.jsxs)(i.Fragment,{children:["Are you sure you want to restore these configurations to default values?",(0,f.jsx)("br",{}),(0,f.jsx)("b",{style:{maxWidth:"200px",whiteSpace:"normal",wordWrap:"break-word"},children:"Please note that this may cause your system to not be accessible"})]})]})})}},37099:function(e,n,t){"use strict";var r=t(72791),i=t(29945),o=t(80184),s=function(e){var n=e.icon,t=e.description;return(0,o.jsxs)(i.xuv,{sx:{display:"flex","& .min-icon":{marginRight:"10px",height:"23px",width:"23px",marginBottom:"10px"}},children:[n," ",(0,o.jsx)("div",{style:{fontSize:"14px",fontStyle:"italic",color:"#5E5E5E"},children:t})]})};n.Z=function(e){var n=e.helpText,t=e.docLink,a=e.docText,l=e.contents;return(0,o.jsxs)(i.xuv,{sx:{flex:1,border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"20px"},children:[(0,o.jsxs)(i.xuv,{sx:{fontSize:"16px",fontWeight:600,display:"flex",alignItems:"center",marginBottom:"16px",paddingBottom:"20px","& .min-icon":{height:"21px",width:"21px",marginRight:"15px"}},children:[(0,o.jsx)(i.M9A,{}),(0,o.jsx)("div",{children:n})]}),(0,o.jsxs)(i.xuv,{sx:{fontSize:"14px",marginBottom:"15px"},children:[l.map((function(e,n){return(0,o.jsxs)(r.Fragment,{children:[e.icon&&(0,o.jsx)(i.xuv,{sx:{paddingBottom:"20px"},children:(0,o.jsx)(s,{icon:e.icon,description:e.iconDescription})}),(0,o.jsx)(i.xuv,{sx:{paddingBottom:"20px"},children:e.text})]},"feature-item-".concat(n))})),(0,o.jsx)(i.xuv,{sx:{paddingBottom:"20px"},children:(0,o.jsx)("a",{href:t,target:"_blank",rel:"noopener",children:a})})]})]})}},11690:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return I}});var r=t(4942),i=t(1413),o=t(74165),s=t(15861),a=t(29439),l=t(72791),c=t(29945),u=t(31776),d=t(82342),f=t(81551),p=t(87995),x=t(79979),h=t(14917),m=t(45902),g=t(47974),v=t(37099),y=t(93433),j=t(78687),b=t(99779),Z=t(80184),k=function(e){var n=e.name;return(0,Z.jsxs)("h4",{children:[(0,Z.jsx)(c.ZyT,{style:{transform:"rotateZ(90deg)"}}),n]})},C=function(e){var n=e.blockName,t=e.results;return(0,Z.jsxs)(l.Fragment,{children:[(0,Z.jsxs)("strong",{children:[n,":"]}),(0,Z.jsx)("ul",{children:t.map((function(e,t){return(0,Z.jsx)("li",{children:e},"policy-".concat(n,"-").concat(t))}))})]})},w=function(e){var n,t,r,i,o,s,a=e.entityName,u=e.results,d=0;switch(a){case"Group":d=(null===(n=u.groups)||void 0===n?void 0:n.length)||0;break;case"Policy":d=(null===(t=u.policies)||void 0===t?void 0:t.length)||0;break;case"User":d=(null===(r=u.users)||void 0===r?void 0:r.length)||0}return(0,Z.jsxs)(c.xuv,{className:"resultElement",sx:{marginTop:50,"&:first-of-type":{marginTop:0}},children:[(0,Z.jsxs)(c.NZf,{separator:!0,sx:{fontSize:12},icon:(0,Z.jsx)(c.anK,{style:{width:17,height:17}}),actions:(0,Z.jsxs)(c.xuv,{sx:{fontSize:14},children:[(0,Z.jsx)("strong",{children:d})," Entit",1===d?"y":"ies"," Found"]}),children:[a," Mappings"]}),(0,Z.jsxs)(c.xuv,{className:"resultsList",sx:{h4:{borderBottom:"#e2e2e2 1px solid",padding:"12px 0",margin:0,marginBottom:15,display:"flex",alignItems:"center","& svg":{marginRight:10,fill:"#3C77A7"}}},children:["Group"===a&&(null===(i=u.groups)||void 0===i?void 0:i.map((function(e,n){return(0,Z.jsxs)(l.Fragment,{children:[(0,Z.jsx)(k,{name:e.group||""}),e.policies&&(0,Z.jsx)(C,{blockName:"Policies",results:e.policies})]},"policy-res-".concat(n))}))),"User"===a&&(null===(o=u.users)||void 0===o?void 0:o.map((function(e,n){return(0,Z.jsxs)(l.Fragment,{children:[(0,Z.jsx)(k,{name:e.user||""}),e.policies&&(0,Z.jsx)(C,{blockName:"Policies",results:e.policies})]},"users-res-".concat(n))}))),"Policy"===a&&(null===(s=u.policies)||void 0===s?void 0:s.map((function(e,n){return(0,Z.jsxs)(l.Fragment,{children:[(0,Z.jsx)(k,{name:e.policy||""}),e.groups&&(0,Z.jsx)(C,{blockName:"Groups",results:e.groups}),e.users&&(0,Z.jsx)(C,{blockName:"Users",results:e.users})]},"policy-map-".concat(n))})))]})]})},S=t(58400),D=function(){var e=(0,f.TL)(),n=(0,l.useState)(!1),t=(0,a.Z)(n,2),r=t[0],i=t[1],o=(0,l.useState)([""]),s=(0,a.Z)(o,2),x=s[0],h=s[1],m=(0,l.useState)([""]),g=(0,a.Z)(m,2),v=g[0],k=g[1],C=(0,l.useState)(null),D=(0,a.Z)(C,2),P=D[0],_=D[1],N=(0,j.v9)((function(e){return e.createUser.selectedPolicies}));return(0,Z.jsxs)(c.xuv,{sx:{marginTop:15,paddingTop:0},children:[(0,Z.jsxs)(c.rjZ,{container:!0,sx:{marginTop:5},children:[(0,Z.jsxs)(c.rjZ,{item:!0,sm:12,md:6,lg:5,sx:{padding:10,paddingTop:0},children:[(0,Z.jsx)(c.NZf,{children:"Query Filters"}),(0,Z.jsxs)(c.xuv,{sx:{padding:"0 10px",display:"flex",flexDirection:"column",gap:40},children:[(0,Z.jsxs)(c.xuv,{sx:{padding:"10px 26px"},withBorders:!0,children:[(0,Z.jsx)(c.xuv,{sx:{display:"flex"},children:(0,Z.jsx)("h4",{style:{margin:0,marginBottom:10,fontSize:14},children:"Users"})}),(0,Z.jsx)(c.xuv,{sx:{overflowY:"auto",minHeight:50,maxHeight:250,"& > div > div":{width:"100%"}},children:x.map((function(e,n){return(0,Z.jsx)(c.Wzg,{id:"search-user-".concat(n),value:e,onChange:function(e){var t=(0,y.Z)(x);t[n]=e.target.value,h(t)},overlayIcon:x.length===n+1?(0,Z.jsx)(c.dtP,{}):(0,Z.jsx)(c.HFL,{}),overlayAction:function(){!function(e,n){if(e){var t=[].concat((0,y.Z)(x),[""]);h(t)}else{var r=x.filter((function(e,t){return t!==n}));h(r)}}(x.length===n+1,n)}},"search-user-".concat(n))}))})]}),(0,Z.jsxs)(c.xuv,{sx:{padding:"10px 26px"},withBorders:!0,children:[(0,Z.jsx)("h4",{style:{margin:0,marginBottom:10,fontSize:14},children:"Groups"}),(0,Z.jsx)(c.xuv,{sx:{overflowY:"auto",minHeight:50,maxHeight:"calc(100vh - 340px)","& > div > div":{width:"100%"}},children:v.map((function(e,n){return(0,Z.jsx)(c.Wzg,{id:"search-group-".concat(n),value:e,onChange:function(e){var t=(0,y.Z)(v);t[n]=e.target.value,k(t)},overlayIcon:v.length===n+1?(0,Z.jsx)(c.dtP,{}):(0,Z.jsx)(c.HFL,{}),overlayAction:function(){!function(e,n){if(e){var t=[].concat((0,y.Z)(v),[""]);k(t)}else{var r=v.filter((function(e,t){return t!==n}));k(r)}}(v.length===n+1,n)}},"search-group-".concat(n))}))})]}),(0,Z.jsxs)(c.xuv,{sx:{padding:"10px 26px"},withBorders:!0,children:[(0,Z.jsx)("h4",{style:{margin:0,marginBottom:10,fontSize:14},children:"Policies"}),(0,Z.jsx)(c.xuv,{sx:{minHeight:265,maxHeight:"calc(100vh - 740px)"},children:(0,Z.jsx)(S.Z,{selectedPolicy:N,noTitle:!0})})]})]})]}),(0,Z.jsx)(c.rjZ,{item:!0,sm:12,md:6,lg:7,sx:{padding:10,paddingTop:0,display:"flex",flexDirection:"column"},children:r?(0,Z.jsx)(c.xuv,{sx:{textAlign:"center"},children:(0,Z.jsx)(c.aNw,{})}):(0,Z.jsxs)(l.Fragment,{children:[(0,Z.jsx)(c.NZf,{actions:(0,Z.jsx)(c.xuv,{sx:{display:"flex",flexDirection:"row",alignItems:"center",fontSize:14},children:null!==P&&void 0!==P&&P.timestamp?(0,Z.jsxs)(l.Fragment,{children:[(0,Z.jsx)(c.wZd,{style:{width:14,height:14,marginRight:5,fill:"#BEBFBF"}}),b.ou.fromISO(P.timestamp).toFormat("D HH:mm:ss")]}):""}),children:"Query Results"}),P?(0,Z.jsxs)(c.xuv,{sx:{backgroundColor:"#FBFAFA",padding:"8px 22px",flexGrow:1,overflowY:"auto"},children:[!P.groups&&!P.users&&!P.policies&&(0,Z.jsx)(c.xuv,{sx:{textAlign:"center"},children:(0,Z.jsx)("h4",{children:"No Results Available"})}),!!P.groups&&(0,Z.jsx)(w,{results:P,entityName:"Group"}),!!P.users&&(0,Z.jsx)(w,{results:P,entityName:"User"}),!!P.policies&&(0,Z.jsx)(w,{results:P,entityName:"Policy"})]}):(0,Z.jsx)(c.xuv,{sx:{textAlign:"center"},children:"No query results yet"})]})})]}),(0,Z.jsx)(c.rjZ,{container:!0,children:(0,Z.jsx)(c.rjZ,{item:!0,xs:12,sx:{display:"flex",justifyContent:"flex-start",marginTop:45,padding:"0 20px"},children:(0,Z.jsx)(c.zxk,{id:"search-entity",type:"button",variant:"callAction",onClick:function(){i(!0);var n={},t=N.filter((function(e){return""!==e})),r=x.filter((function(e){return""!==e})),o=v.filter((function(e){return""!==e}));t.length>0&&(n.policies=t),r.length>0&&(n.users=r),o.length>0&&(n.groups=o),u.h.ldapEntities.getLdapEntities(n).then((function(e){_(e.data),i(!1)})).catch((function(n){e((0,p.Ih)((0,d.g)(n.error))),i(!1)}))},icon:(0,Z.jsx)(c.W1M,{}),children:"Search"})})})]})},P=t(90767),_=t(99670),N=["server_addr","lookup_bind_dn","lookup_bind_password","user_dn_search_base_dn","user_dn_search_filter"],I=function(){var e=(0,f.TL)(),n=x.iR,t=(0,l.useState)(!0),y=(0,a.Z)(t,2),j=y[0],b=y[1],k=(0,l.useState)(!1),C=(0,a.Z)(k,2),w=C[0],S=C[1],I=(0,l.useState)(!1),E=(0,a.Z)(I,2),A=E[0],F=E[1],L=(0,l.useState)({}),B=(0,a.Z)(L,2),R=B[0],q=B[1],T=(0,l.useState)(void 0),O=(0,a.Z)(T,2),M=O[0],z=O[1],U=(0,l.useState)(!1),G=(0,a.Z)(U,2),H=G[0],K=G[1],W=(0,l.useState)(!1),Y=(0,a.Z)(W,2),Q=Y[0],V=Y[1],$=(0,l.useState)("configuration"),X=(0,a.Z)($,2),J=X[0],ee=X[1],ne=function(){H&&M&&te(M),K(!H)},te=function(e){var n={};if(e&&e.length>0){var t=e.find((function(e){return"enable"===e.key})),r=0;e.forEach((function(e){n[e.key]=e.value,N.includes(e.key)&&e.value&&""!==e.value&&"off"!==e.value&&r++}));var i=r===N.length;t&&"on"!==t.value||!i?S(!1):S(!0),F(i)}q(n)};(0,l.useEffect)((function(){j&&u.h.configs.configInfo("identity_ldap").then((function(e){e.data.length>0&&(z(e.data[0].key_values),te(e.data[0].key_values||[])),b(!1)})).catch((function(n){b(!1),e((0,p.Ih)((0,d.g)(n.error)))}))}),[e,j]);var re=function(){var n=(0,s.Z)((0,o.Z)().mark((function n(t){return(0,o.Z)().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:V(!1),t&&(e((0,p.cN)(t)),z(void 0),q({}),S(!1),F(!1),K(!1));case 2:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}();return(0,l.useEffect)((function(){e((0,p.Sc)("LDAP"))}),[]),(0,Z.jsxs)(c.rjZ,{item:!0,xs:12,children:[Q&&(0,Z.jsx)(P.Z,{configurationName:"identity_ldap",closeResetModalAndRefresh:re,resetOpen:Q}),(0,Z.jsx)(g.Z,{label:"LDAP",actions:(0,Z.jsx)(_.Z,{})}),(0,Z.jsx)(c.Xgh,{variant:"constrained",children:(0,Z.jsx)(c.mQc,{horizontal:!0,options:[{tabConfig:{id:"configuration",label:"Configuration"},content:(0,Z.jsxs)(l.Fragment,{children:[(0,Z.jsx)(h.Z,{title:H?"Edit Configuration":"",actions:H?null:(0,Z.jsxs)(l.Fragment,{children:[(0,Z.jsx)(c.zxk,{id:"edit",type:"button",variant:"callAction",icon:(0,Z.jsx)(c.dY8,{}),onClick:ne,label:"Edit Configuration",disabled:j}),A&&(0,Z.jsx)(c.zxk,{id:"is-configuration-enabled",onClick:function(){return function(n){var t={key_values:[{key:"enable",value:n?"on":"off"}]};u.h.configs.setConfig("identity_ldap",t).then((function(n){S(!w),e((0,p.cN)(n.data.restart||!1)),n.data.restart||e((0,p.y1)("Configuration saved successfully"))})).catch((function(n){e((0,p.Ih)((0,d.g)(n.error)))}))}(!w)},label:w?"Disable LDAP":"Enable LDAP",variant:w?"secondary":"regular"}),(0,Z.jsx)(c.zxk,{id:"refresh-idp-config",onClick:function(){return b(!0)},label:"Refresh",icon:(0,Z.jsx)(c.DuK,{})})]})}),(0,Z.jsx)("br",{}),j?(0,Z.jsx)(c.xuv,{sx:{display:"flex",justifyContent:"center",marginTop:10},children:(0,Z.jsx)(c.aNw,{})}):(0,Z.jsx)(l.Fragment,{children:H?(0,Z.jsx)(l.Fragment,{children:(0,Z.jsxs)(c.ltY,{helpBox:(0,Z.jsx)(v.Z,{helpText:"Learn more about LDAP Configurations",contents:x.Si,docLink:"https://min.io/docs/minio/linux/operations/external-iam.html?ref=con#minio-external-iam-ad-ldap",docText:"Learn more about LDAP Configurations"}),children:[Object.entries(n).map((function(e){var n=(0,a.Z)(e,2);return function(e,n){return"toggle"===n.type?(0,Z.jsx)(c.rsf,{indicatorLabels:["Enabled","Disabled"],checked:"on"===R[e],value:"is-field-enabled",id:"is-field-enabled",name:"is-field-enabled",label:n.label,tooltip:n.tooltip,onChange:function(n){return q((0,i.Z)((0,i.Z)({},R),{},(0,r.Z)({},e,n.target.checked?"on":"off")))},description:"",disabled:!H},e):(0,Z.jsx)(c.Wzg,{id:e,required:n.required,name:e,label:n.label,tooltip:n.tooltip,error:n.hasError(R[e],H),value:R[e]?R[e]:"",onChange:function(n){return q((0,i.Z)((0,i.Z)({},R),{},(0,r.Z)({},e,n.target.value)))},placeholder:n.placeholder,disabled:!H,type:n.type},e)}(n[0],n[1])})),(0,Z.jsxs)(c.xuv,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end",marginTop:"20px",gap:"15px"},children:[H&&(0,Z.jsx)(c.zxk,{id:"clear",type:"button",variant:"secondary",onClick:function(){return V(!0)},label:"Reset Configuration"}),H&&(0,Z.jsx)(c.zxk,{id:"cancel",type:"button",variant:"regular",onClick:ne,label:"Cancel"}),H&&(0,Z.jsx)(c.zxk,{id:"save-key",type:"submit",variant:"callAction",color:"primary",disabled:j||!function(){for(var e=0,t=Object.entries(n);e0?(0,h.jsxs)(o.Fragment,{children:[(0,h.jsx)(a.rjZ,{item:!0,xs:12,className:"inputItem",children:(0,h.jsx)(c.Z,{placeholder:"Start typing to search for a Policy",onChange:function(e){P(e)},value:D,label:t?"":"Assign Policies"})}),(0,h.jsx)(a.wQF,{columns:[{label:"Policy",elementKey:"name"}],onSelect:function(e){var n=e.target,t=n.value,i=n.checked,o=(0,r.Z)(_);i?o.push(t):o=o.filter((function(e){return e!==t})),o=o.filter((function(e){return""!==e})),m((0,f.ue)(o))},selectedItems:_,isLoading:k,records:I,entityName:"Policies",idField:"name",customPaperHeight:"200px"})]}):(0,h.jsx)(a.xuv,{sx:{textAlign:"center",padding:"10px 0"},children:"No Policies Available"})]})}},21639:function(e,n,t){"use strict";t.d(n,{KE:function(){return s},LQ:function(){return r},V2:function(){return o},g4:function(){return i}});var r=function(e,n){if(e.accessKey&&n.accessKey){if(e.accessKey>n.accessKey)return 1;if(e.accessKeyn.name?1:e.namen?1:en.policy?1:e.policy0?c[t[n-1]]:"column";c[e]=r}}));i=(0,l.Z)(i,(0,h.k9)({theme:t},u,(function(e,t){return n.useFlexGap?{gap:(0,m.NA)(s,e)}:{"& > :not(style) ~ :not(style)":(0,r.Z)({margin:0},"margin".concat((i=t?c[t]:n.direction,{row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"}[i])),(0,m.NA)(s,e))};var i})))}return i=(0,h.dt)(t.breakpoints,i)};var C=t(66934),w=t(31402),S=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.createStyledComponent,t=void 0===n?j:n,r=e.useThemeProps,l=void 0===r?b:r,d=e.componentName,f=void 0===d?"MuiStack":d,x=t(k),h=s.forwardRef((function(e,n){var t=l(e),r=(0,p.Z)(t),s=r.component,d=void 0===s?"div":s,h=r.direction,m=void 0===h?"column":h,y=r.spacing,j=void 0===y?0:y,b=r.divider,k=r.children,C=r.className,w=r.useFlexGap,S=void 0!==w&&w,D=(0,i.Z)(r,v),P={direction:m,spacing:j,useFlexGap:S},_=(0,c.Z)({root:["root"]},(function(e){return(0,u.Z)(f,e)}),{});return(0,g.jsx)(x,(0,o.Z)({as:d,ownerState:P,ref:n,className:(0,a.Z)(_.root,C)},D,{children:b?Z(k,b):k}))}));return h}({createStyledComponent:(0,C.ZP)("div",{name:"MuiStack",slot:"Root",overridesResolver:function(e,n){return n.root}}),useThemeProps:function(e){return(0,w.Z)({props:e,name:"MuiStack"})}}),D=S},31260:function(e,n,t){"use strict";var r=t(78949);n.Z=r.Z},28610:function(e,n,t){"use strict";t.r(n),t.d(n,{capitalize:function(){return i.Z},createChainedFunction:function(){return o.Z},createSvgIcon:function(){return s.Z},debounce:function(){return a.Z},deprecatedPropType:function(){return l},isMuiElement:function(){return c.Z},ownerDocument:function(){return u.Z},ownerWindow:function(){return d.Z},requirePropFactory:function(){return f},setRef:function(){return p},unstable_ClassNameGenerator:function(){return b},unstable_useEnhancedEffect:function(){return x.Z},unstable_useId:function(){return h.Z},unsupportedProp:function(){return m},useControlled:function(){return g.Z},useEventCallback:function(){return v.Z},useForkRef:function(){return y.Z},useIsFocusVisible:function(){return j.Z}});var r=t(55902),i=t(14036),o=t(31260),s=t(76189),a=t(83199);var l=function(e,n){return function(){return null}},c=t(19103),u=t(98301),d=t(17602);t(87462);var f=function(e,n){return function(){return null}},p=t(62971).Z,x=t(40162),h=t(67384);var m=function(e,n,t,r,i){return null},g=t(98278),v=t(89683),y=t(42071),j=t(23031),b={configure:function(e){r.Z.configure(e)}}},19103:function(e,n,t){"use strict";t.d(n,{Z:function(){return i}});var r=t(72791);var i=function(e,n){return r.isValidElement(e)&&-1!==n.indexOf(e.type.muiName)}},78949:function(e,n,t){"use strict";function r(){for(var e=arguments.length,n=new Array(e),t=0;t.\n\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\n\ninterface IScreenTitle {\n icon?: any;\n title?: any;\n subTitle?: any;\n actions?: any;\n className?: any;\n}\n\nconst useStyles = makeStyles((theme: Theme) => ({\n headerBarIcon: {\n marginRight: \".7rem\",\n color: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 44,\n height: 44,\n },\n \"@media (max-width: 600px)\": {\n display: \"none\",\n },\n },\n headerBarSubheader: {\n color: \"grey\",\n \"@media (max-width: 900px)\": {\n maxWidth: 200,\n },\n },\n stContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: 8,\n\n borderBottom: \"1px solid #EAEAEA\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n titleColumn: {\n height: \"auto\",\n justifyContent: \"center\",\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n \"& h1\": {\n fontSize: 19,\n },\n },\n leftItems: {\n display: \"flex\",\n alignItems: \"center\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n width: \"100%\",\n },\n },\n rightItems: {\n display: \"flex\",\n alignItems: \"center\",\n \"& button\": {\n marginLeft: 8,\n },\n \"@media (max-width: 600px)\": {\n width: \"100%\",\n },\n },\n}));\n\nconst ScreenTitle = ({\n icon,\n title,\n subTitle,\n actions,\n className,\n}: IScreenTitle) => {\n const classes = useStyles();\n return (\n \n \n
\n {icon ?
{icon}
: null}\n
\n

{title}

\n {subTitle}\n
\n
\n\n
{actions}
\n
\n \n );\n};\n\nexport default ScreenTitle;\n","import React from \"react\";\nimport { Stack } from \"@mui/material\";\n\ntype LabelValuePairProps = {\n label?: any;\n value?: any;\n orientation?: any;\n stkProps?: any;\n lblProps?: any;\n valProps?: any;\n};\n\nconst LabelValuePair = ({\n label = null,\n value = \"-\",\n orientation = \"column\",\n stkProps = {},\n lblProps = {},\n valProps = {},\n}: LabelValuePairProps) => {\n return (\n \n \n \n \n );\n};\n\nexport default LabelValuePair;\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 { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { LinearProgress } from \"@mui/material\";\nimport { ConfirmDeleteIcon } from \"mds\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IResetConfiguration {\n configurationName: string;\n closeResetModalAndRefresh: (reloadConfiguration: boolean) => void;\n resetOpen: boolean;\n}\n\nconst ResetConfigurationModal = ({\n configurationName,\n closeResetModalAndRefresh,\n resetOpen,\n}: IResetConfiguration) => {\n const dispatch = useAppDispatch();\n const [resetLoading, setResetLoading] = useState(false);\n\n useEffect(() => {\n if (resetLoading) {\n api.configs\n .resetConfig(configurationName)\n .then(() => {\n setResetLoading(false);\n closeResetModalAndRefresh(true);\n })\n .catch((err) => {\n setResetLoading(false);\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n });\n }\n }, [closeResetModalAndRefresh, configurationName, resetLoading, dispatch]);\n\n const resetConfiguration = () => {\n setResetLoading(true);\n };\n\n return (\n }\n isLoading={resetLoading}\n onConfirm={resetConfiguration}\n onClose={() => {\n closeResetModalAndRefresh(false);\n }}\n confirmationContent={\n \n {resetLoading && }\n \n Are you sure you want to restore these configurations to default\n values?\n
\n \n Please note that this may cause your system to not be accessible\n \n
\n
\n }\n />\n );\n};\n\nexport default ResetConfigurationModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 { HelpIconFilled, Box } from \"mds\";\n\ninterface IContent {\n icon: React.ReactNode;\n text: string;\n iconDescription: string;\n}\n\ninterface IAddIDPConfigurationHelpBoxProps {\n helpText: string;\n docLink: string;\n docText: string;\n contents: IContent[];\n}\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};\n\nconst AddIDPConfigurationHelpBox = ({\n helpText,\n docLink,\n docText,\n contents,\n}: IAddIDPConfigurationHelpBoxProps) => {\n return (\n \n \n \n
{helpText}
\n \n \n {contents.map((content, index) => (\n \n {content.icon && (\n \n \n \n )}\n {content.text}\n \n ))}\n \n \n {docText}\n \n \n \n \n );\n};\n\nexport default AddIDPConfigurationHelpBox;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 { Box, CollapseCaret, GroupsMenuIcon, SectionTitle } from \"mds\";\nimport { LdapEntities } from \"api/consoleApi\";\n\ninterface IResultBlock {\n entityName: \"Group\" | \"User\" | \"Policy\";\n results: LdapEntities;\n}\n\ninterface IEntityResultName {\n name: string;\n}\n\ninterface IEntityResultItem {\n blockName: \"Policies\" | \"Groups\" | \"Users\";\n results: string[];\n}\n\nconst EntityResultTitle = ({ name }: IEntityResultName) => {\n return (\n

\n \n {name}\n

\n );\n};\n\nconst EntityResultItems = ({ blockName, results }: IEntityResultItem) => {\n return (\n \n {blockName}:\n
    \n {results.map((res, index) => (\n
  • {res}
  • \n ))}\n
\n
\n );\n};\n\nconst LDAPResultsBlock = ({ entityName, results }: IResultBlock) => {\n let entityLength = 0;\n\n switch (entityName) {\n case \"Group\":\n entityLength = results.groups?.length || 0;\n break;\n case \"Policy\":\n entityLength = results.policies?.length || 0;\n break;\n case \"User\":\n entityLength = results.users?.length || 0;\n break;\n }\n\n return (\n \n }\n actions={\n \n {entityLength} Entit\n {entityLength === 1 ? \"y\" : \"ies\"} Found\n \n }\n >\n {entityName} Mappings\n \n \n {entityName === \"Group\" &&\n results.groups?.map((groupData, index) => {\n return (\n \n \n {groupData.policies && (\n \n )}\n \n );\n })}\n {entityName === \"User\" &&\n results.users?.map((groupData, index) => {\n return (\n \n \n {groupData.policies && (\n \n )}\n \n );\n })}\n {entityName === \"Policy\" &&\n results.policies?.map((groupData, index) => {\n return (\n \n \n {groupData.groups && (\n \n )}\n {groupData.users && (\n \n )}\n \n );\n })}\n \n \n );\n};\n\nexport default LDAPResultsBlock;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 {\n AddIcon,\n Box,\n Button,\n Grid,\n InputBox,\n Loader,\n RemoveIcon,\n SearchIcon,\n SectionTitle,\n TimeIcon,\n} from \"mds\";\nimport { useSelector } from \"react-redux\";\nimport { DateTime } from \"luxon\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { LdapEntities } from \"api/consoleApi\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport LDAPResultsBlock from \"./LDAPResultsBlock\";\nimport PolicySelectors from \"../../Policies/PolicySelectors\";\n\nconst LDAPEntitiesQuery = () => {\n const dispatch = useAppDispatch();\n\n const [loading, setLoading] = useState(false);\n const [users, setUsers] = useState([\"\"]);\n const [groups, setGroups] = useState([\"\"]);\n const [results, setResults] = useState(null);\n\n const selectedPolicies = useSelector(\n (state: AppState) => state.createUser.selectedPolicies,\n );\n\n const searchEntities = () => {\n setLoading(true);\n\n let data: any = {};\n\n let cleanPolicies = selectedPolicies.filter((pol) => pol !== \"\");\n let cleanUsers = users.filter((usr) => usr !== \"\");\n let cleanGroups = groups.filter((grp) => grp !== \"\");\n\n if (cleanPolicies.length > 0) {\n data[\"policies\"] = cleanPolicies;\n }\n\n if (cleanUsers.length > 0) {\n data[\"users\"] = cleanUsers;\n }\n\n if (cleanGroups.length > 0) {\n data[\"groups\"] = cleanGroups;\n }\n\n api.ldapEntities\n .getLdapEntities(data)\n .then((result) => {\n setResults(result.data);\n setLoading(false);\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n setLoading(false);\n });\n };\n\n const alterUsersList = (addItem: boolean, index: number) => {\n if (addItem) {\n const alterUsers = [...users, \"\"];\n setUsers(alterUsers);\n\n return;\n }\n\n const filteredUsers = users.filter((_, indx) => indx !== index);\n\n setUsers(filteredUsers);\n };\n\n const alterGroupsList = (addItem: boolean, index: number) => {\n if (addItem) {\n const alterGroups = [...groups, \"\"];\n setGroups(alterGroups);\n\n return;\n }\n\n const filteredGroups = groups.filter((_, indx) => indx !== index);\n\n setGroups(filteredGroups);\n };\n\n return (\n \n \n \n Query Filters\n\n \n \n \n

\n Users\n

\n
\n div > div\": {\n width: \"100%\",\n },\n }}\n >\n {users.map((userDat, index) => {\n return (\n ) => {\n const usersElements = [...users];\n usersElements[index] = e.target.value;\n setUsers(usersElements);\n }}\n overlayIcon={\n users.length === index + 1 ? (\n \n ) : (\n \n )\n }\n overlayAction={() => {\n alterUsersList(users.length === index + 1, index);\n }}\n />\n );\n })}\n
\n
\n \n

\n Groups\n

\n div > div\": {\n width: \"100%\",\n },\n }}\n >\n {groups.map((groupDat, index) => {\n return (\n ) => {\n const groupsElements = [...groups];\n groupsElements[index] = e.target.value;\n setGroups(groupsElements);\n }}\n overlayIcon={\n groups.length === index + 1 ? (\n \n ) : (\n \n )\n }\n overlayAction={() => {\n alterGroupsList(groups.length === index + 1, index);\n }}\n />\n );\n })}\n
\n \n \n

\n Policies\n

\n \n \n
\n \n \n \n \n {loading ? (\n \n \n \n ) : (\n \n \n {results?.timestamp ? (\n \n \n {DateTime.fromISO(results.timestamp).toFormat(\n \"D HH:mm:ss\",\n )}\n \n ) : (\n \"\"\n )}\n \n }\n >\n Query Results\n \n {results ? (\n \n {!results.groups && !results.users && !results.policies && (\n \n

No Results Available

\n
\n )}\n {!!results.groups && (\n \n )}\n {!!results.users && (\n \n )}\n {!!results.policies && (\n \n )}\n \n ) : (\n No query results yet\n )}\n
\n )}\n \n \n \n \n }\n >\n Search\n \n \n \n \n );\n};\n\nexport default LDAPEntitiesQuery;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 {\n Box,\n Button,\n EditIcon,\n FormLayout,\n Grid,\n InputBox,\n Loader,\n PageLayout,\n RefreshIcon,\n Switch,\n Tabs,\n} from \"mds\";\nimport { api } from \"api\";\nimport { ConfigurationKV } from \"api/consoleApi\";\nimport { errorToHandler } from \"api/errors\";\nimport { useAppDispatch } from \"../../../../store\";\nimport {\n setErrorSnackMessage,\n setHelpName,\n setServerNeedsRestart,\n setSnackBarMessage,\n} from \"../../../../systemSlice\";\nimport { ldapFormFields, ldapHelpBoxContents } from \"../utils\";\nimport ScreenTitle from \"../../Common/ScreenTitle/ScreenTitle\";\nimport LabelValuePair from \"../../Common/UsageBarWrapper/LabelValuePair\";\nimport PageHeaderWrapper from \"../../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport AddIDPConfigurationHelpBox from \"../AddIDPConfigurationHelpbox\";\nimport LDAPEntitiesQuery from \"./LDAPEntitiesQuery\";\nimport ResetConfigurationModal from \"../../EventDestinations/CustomForms/ResetConfigurationModal\";\nimport HelpMenu from \"../../HelpMenu\";\n\nconst enabledConfigLDAP = [\n \"server_addr\",\n \"lookup_bind_dn\",\n \"lookup_bind_password\",\n \"user_dn_search_base_dn\",\n \"user_dn_search_filter\",\n];\n\nconst IDPLDAPConfigurationDetails = () => {\n const dispatch = useAppDispatch();\n\n const formFields = ldapFormFields;\n\n const [loading, setLoading] = useState(true);\n const [isEnabled, setIsEnabled] = useState(false);\n const [hasConfiguration, setHasConfiguration] = useState(false);\n const [fields, setFields] = useState({});\n const [record, setRecord] = useState(\n undefined,\n );\n const [editMode, setEditMode] = useState(false);\n const [resetOpen, setResetOpen] = useState(false);\n const [curTab, setCurTab] = useState(\"configuration\");\n\n const toggleEditMode = () => {\n if (editMode && record) {\n parseFields(record);\n }\n setEditMode(!editMode);\n };\n\n const parseFields = (record: ConfigurationKV[]) => {\n let fields: any = {};\n if (record && record.length > 0) {\n const enabled = record.find((item: any) => item.key === \"enable\");\n\n let totalCoincidences = 0;\n\n record.forEach((item: any) => {\n fields[item.key] = item.value;\n\n if (\n enabledConfigLDAP.includes(item.key) &&\n item.value &&\n item.value !== \"\" &&\n item.value !== \"off\"\n ) {\n totalCoincidences++;\n }\n });\n\n const hasConfig = totalCoincidences === enabledConfigLDAP.length;\n\n if ((!enabled || enabled.value === \"on\") && hasConfig) {\n setIsEnabled(true);\n } else {\n setIsEnabled(false);\n }\n\n setHasConfiguration(hasConfig);\n }\n setFields(fields);\n };\n\n useEffect(() => {\n const loadRecord = () => {\n api.configs\n .configInfo(\"identity_ldap\")\n .then((res) => {\n if (res.data.length > 0) {\n setRecord(res.data[0].key_values);\n parseFields(res.data[0].key_values || []);\n }\n setLoading(false);\n })\n .catch((err) => {\n setLoading(false);\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n });\n };\n\n if (loading) {\n loadRecord();\n }\n }, [dispatch, loading]);\n\n const validSave = () => {\n for (const [key, value] of Object.entries(formFields)) {\n if (\n value.required &&\n !(\n fields[key] !== undefined &&\n fields[key] !== null &&\n fields[key] !== \"\"\n )\n ) {\n return false;\n }\n }\n return true;\n };\n\n const saveRecord = () => {\n const keyVals = Object.keys(formFields).map((key) => {\n return {\n key,\n value: fields[key],\n };\n });\n\n api.configs\n .setConfig(\"identity_ldap\", {\n key_values: keyVals,\n })\n .then((res) => {\n setEditMode(false);\n setRecord(keyVals);\n parseFields(keyVals);\n dispatch(setServerNeedsRestart(res.data.restart || false));\n\n if (!res.data.restart) {\n dispatch(setSnackBarMessage(\"Configuration saved successfully\"));\n }\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n });\n };\n\n const closeDeleteModalAndRefresh = async (refresh: boolean) => {\n setResetOpen(false);\n\n if (refresh) {\n dispatch(setServerNeedsRestart(refresh));\n setRecord(undefined);\n setFields({});\n setIsEnabled(false);\n setHasConfiguration(false);\n setEditMode(false);\n }\n };\n\n const toggleConfiguration = (value: boolean) => {\n const payload = {\n key_values: [\n {\n key: \"enable\",\n value: value ? \"on\" : \"off\",\n },\n ],\n };\n\n api.configs\n .setConfig(\"identity_ldap\", payload)\n .then((res) => {\n setIsEnabled(!isEnabled);\n dispatch(setServerNeedsRestart(res.data.restart || false));\n if (!res.data.restart) {\n dispatch(setSnackBarMessage(\"Configuration saved successfully\"));\n }\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n });\n };\n\n const renderFormField = (key: string, value: any) => {\n switch (value.type) {\n case \"toggle\":\n return (\n \n setFields({ ...fields, [key]: e.target.checked ? \"on\" : \"off\" })\n }\n description=\"\"\n disabled={!editMode}\n />\n );\n default:\n return (\n ) =>\n setFields({ ...fields, [key]: e.target.value })\n }\n placeholder={value.placeholder}\n disabled={!editMode}\n type={value.type}\n />\n );\n }\n };\n\n useEffect(() => {\n dispatch(setHelpName(\"LDAP\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n {resetOpen && (\n \n )}\n } />\n \n \n \n }\n onClick={toggleEditMode}\n label={\"Edit Configuration\"}\n disabled={loading}\n />\n {hasConfiguration && (\n toggleConfiguration(!isEnabled)}\n label={isEnabled ? \"Disable LDAP\" : \"Enable LDAP\"}\n variant={isEnabled ? \"secondary\" : \"regular\"}\n />\n )}\n setLoading(true)}\n label={\"Refresh\"}\n icon={}\n />\n \n ) : null\n }\n />\n
\n {loading ? (\n \n \n \n ) : (\n \n {editMode ? (\n \n \n }\n >\n {Object.entries(formFields).map(([key, value]) =>\n renderFormField(key, value),\n )}\n \n {editMode && (\n setResetOpen(true)}\n label={\"Reset Configuration\"}\n />\n )}\n {editMode && (\n \n )}\n {editMode && (\n \n )}\n \n \n \n ) : (\n \n \n \n {hasConfiguration && (\n \n {Object.entries(formFields).map(\n ([key, value]) => (\n \n ),\n )}\n \n )}\n \n \n )}\n \n )}\n \n ),\n },\n {\n tabConfig: {\n id: \"entities\",\n label: \"Entities\",\n disabled: !hasConfiguration || !isEnabled,\n },\n content: (\n \n {hasConfiguration && (\n \n \n \n )}\n \n ),\n },\n ]}\n currentTabOrPath={curTab}\n onTabClick={(newTab) => {\n setCurTab(newTab);\n setEditMode(false);\n }}\n />\n
\n
\n );\n};\n\nexport default IDPLDAPConfigurationDetails;\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 LoginIcon from \"@mui/icons-material/Login\";\nimport { LockIcon } from \"mds\";\n\nexport const ldapHelpBoxContents = [\n {\n text: \"MinIO supports using an Active Directory or LDAP (AD/LDAP) service for external management of user identities. Configuring an external IDentity Provider (IDP) enables Single-Sign On (SSO) workflows, where applications authenticate against the external IDP before accessing MinIO.\",\n icon: ,\n iconDescription: \"Create Configurations\",\n },\n {\n text: \"MinIO queries the configured Active Directory / LDAP server to verify the credentials specified by the application and optionally return a list of groups in which the user has membership. MinIO supports two modes (Lookup-Bind Mode and Username-Bind Mode) for performing these queries\",\n icon: null,\n iconDescription: \"\",\n },\n {\n text: \"MinIO recommends using Lookup-Bind mode as the preferred method for verifying AD/LDAP credentials. Username-Bind mode is a legacy method retained for backwards compatibility only.\",\n icon: null,\n iconDescription: \"\",\n },\n];\n\nexport const openIDHelpBoxContents = [\n {\n text: \"MinIO supports using an OpenID Connect (OIDC) compatible IDentity Provider (IDP) such as Okta, KeyCloak, Dex, Google, or Facebook for external management of user identities.\",\n icon: ,\n iconDescription: \"Create Configurations\",\n },\n {\n text: \"Configuring an external IDP enables Single-Sign On workflows, where applications authenticate against the external IDP before accessing MinIO.\",\n icon: null,\n iconDescription: \"\",\n },\n];\n\nexport const openIDFormFields = {\n config_url: {\n required: true,\n hasError: (s: string, editMode: boolean) => {\n return !s && editMode ? \"Config URL is required\" : \"\";\n },\n label: \"Config URL\",\n tooltip: \"Config URL for identity provider configuration\",\n placeholder:\n \"https://identity-provider-url/.well-known/openid-configuration\",\n type: \"text\",\n },\n client_id: {\n required: true,\n hasError: (s: string, editMode: boolean) => {\n return !s && editMode ? \"Client ID is required\" : \"\";\n },\n label: \"Client ID\",\n tooltip: \"Identity provider Client ID\",\n placeholder: \"Enter Client ID\",\n type: \"text\",\n },\n client_secret: {\n required: true,\n hasError: (s: string, editMode: boolean) => {\n return !s && editMode ? \"Client Secret is required\" : \"\";\n },\n label: \"Client Secret\",\n tooltip: \"Identity provider Client Secret\",\n placeholder: \"Enter Client Secret\",\n type: \"password\",\n },\n claim_name: {\n required: false,\n label: \"Claim Name\",\n tooltip: \"Claim from which MinIO will read the policy or role to use\",\n placeholder: \"Enter Claim Name\",\n type: \"text\",\n hasError: (s: string, editMode: boolean) => \"\",\n },\n display_name: {\n required: false,\n label: \"Display Name\",\n tooltip: \"\",\n placeholder: \"Enter Display Name\",\n type: \"text\",\n hasError: (s: string, editMode: boolean) => \"\",\n },\n claim_prefix: {\n required: false,\n label: \"Claim Prefix\",\n tooltip: \"\",\n placeholder: \"Enter Claim Prefix\",\n type: \"text\",\n hasError: (s: string, editMode: boolean) => \"\",\n },\n scopes: {\n required: false,\n label: \"Scopes\",\n tooltip: \"\",\n placeholder: \"openid,profile,email\",\n type: \"text\",\n hasError: (s: string, editMode: boolean) => \"\",\n },\n redirect_uri: {\n required: false,\n label: \"Redirect URI\",\n tooltip: \"\",\n placeholder: \"https://console-endpoint-url/oauth_callback\",\n type: \"text\",\n hasError: (s: string, editMode: boolean) => \"\",\n },\n role_policy: {\n required: false,\n label: \"Role Policy\",\n tooltip: \"\",\n placeholder: \"readonly\",\n type: \"text\",\n hasError: (s: string, editMode: boolean) => \"\",\n },\n claim_userinfo: {\n required: false,\n label: \"Claim User Info\",\n tooltip: \"\",\n placeholder: \"Claim User Info\",\n type: \"toggle\",\n hasError: (s: string, editMode: boolean) => \"\",\n },\n redirect_uri_dynamic: {\n required: false,\n label: \"Redirect URI Dynamic\",\n tooltip: \"\",\n placeholder: \"Redirect URI Dynamic\",\n type: \"toggle\",\n hasError: (s: string, editMode: boolean) => \"\",\n },\n};\n\nexport const ldapFormFields = {\n server_insecure: {\n required: true,\n hasError: (s: string, editMode: boolean) => {\n return !s && editMode ? \"Server Address is required\" : \"\";\n },\n label: \"Server Insecure\",\n tooltip: \"Disable SSL certificate verification \",\n placeholder: \"myldapserver.com:636\",\n type: \"toggle\",\n },\n server_addr: {\n required: true,\n hasError: (s: string, editMode: boolean) => {\n return !s && editMode ? \"Server Address is required\" : \"\";\n },\n label: \"Server Address\",\n tooltip: 'AD/LDAP server address e.g. \"myldapserver.com:636\"',\n placeholder: \"myldapserver.com:636\",\n type: \"text\",\n },\n lookup_bind_dn: {\n required: true,\n hasError: (s: string, editMode: boolean) => {\n return !s && editMode ? \"Lookup Bind DN is required\" : \"\";\n },\n label: \"Lookup Bind DN\",\n tooltip:\n \"DN (Distinguished Name) for LDAP read-only service account used to perform DN and group lookups\",\n placeholder: \"cn=admin,dc=min,dc=io\",\n type: \"text\",\n },\n lookup_bind_password: {\n required: true,\n hasError: (s: string, editMode: boolean) => {\n return !s && editMode ? \"Lookup Bind Password is required\" : \"\";\n },\n label: \"Lookup Bind Password\",\n tooltip:\n \"Password for LDAP read-only service account used to perform DN and group lookups\",\n placeholder: \"admin\",\n type: \"password\",\n },\n user_dn_search_base_dn: {\n required: true,\n hasError: (s: string, editMode: boolean) => {\n return !s && editMode ? \"User DN Search Base DN is required\" : \"\";\n },\n label: \"User DN Search Base\",\n tooltip: \"\",\n placeholder: \"DC=example,DC=net\",\n type: \"text\",\n },\n user_dn_search_filter: {\n required: true,\n hasError: (s: string, editMode: boolean) => {\n return !s && editMode ? \"User DN Search Filter is required\" : \"\";\n },\n label: \"User DN Search Filter\",\n tooltip: \"\",\n placeholder: \"(sAMAcountName=%s)\",\n type: \"text\",\n },\n group_search_base_dn: {\n required: false,\n hasError: (s: string, editMode: boolean) => \"\",\n label: \"Group Search Base DN\",\n tooltip: \"\",\n placeholder: \"ou=swengg,dc=min,dc=io\",\n type: \"text\",\n },\n group_search_filter: {\n required: false,\n hasError: (s: string, editMode: boolean) => \"\",\n label: \"Group Search Filter\",\n tooltip: \"\",\n placeholder: \"(&(objectclass=groupofnames)(member=%d))\",\n type: \"text\",\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, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { LinearProgress } from \"@mui/material\";\nimport { DataTable, Grid, Box } from \"mds\";\nimport { policySort } from \"../../../utils/sortFunctions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport SearchBox from \"../Common/SearchBox\";\nimport { setModalErrorSnackMessage } from \"../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { setSelectedPolicies } from \"../Users/AddUsersSlice\";\nimport { useSelector } from \"react-redux\";\nimport { api } from \"../../../api\";\nimport {\n Error,\n HttpResponse,\n ListPoliciesResponse,\n} from \"../../../api/consoleApi\";\n\ninterface ISelectPolicyProps {\n selectedPolicy?: string[];\n noTitle?: boolean;\n}\n\nconst PolicySelectors = ({ noTitle = false }: ISelectPolicyProps) => {\n const dispatch = useAppDispatch();\n // Local State\n const [records, setRecords] = useState([]);\n const [loading, isLoading] = useState(false);\n const [filter, setFilter] = useState(\"\");\n\n const currentPolicies = useSelector(\n (state: AppState) => state.createUser.selectedPolicies,\n );\n\n const fetchPolicies = useCallback(() => {\n isLoading(true);\n\n api.policies\n .listPolicies()\n .then((res: HttpResponse) => {\n const policies = res.data.policies ?? [];\n isLoading(false);\n setRecords(policies.sort(policySort));\n })\n .catch((err: ErrorResponseHandler) => {\n isLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n }, [dispatch]);\n\n //Effects\n useEffect(() => {\n isLoading(true);\n }, []);\n\n useEffect(() => {\n if (loading) {\n fetchPolicies();\n }\n }, [loading, fetchPolicies]);\n\n const selectionChanged = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...currentPolicies]; // We clone the checkedUsers array\n\n if (checked) {\n // If the user has checked this field we need to push this to checkedUsersList\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 // remove empty values\n elements = elements.filter((element) => element !== \"\");\n\n dispatch(setSelectedPolicies(elements));\n };\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.name.includes(filter),\n );\n\n return (\n \n {loading && }\n {records.length > 0 ? (\n \n \n {\n setFilter(value);\n }}\n value={filter}\n label={!noTitle ? \"Assign Policies\" : \"\"}\n />\n \n\n \n \n ) : (\n \n No Policies Available\n \n )}\n \n );\n};\n\nexport default PolicySelectors;\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 { Policy, User } from \"api/consoleApi\";\n\ninterface policyDetailsInterface {\n policy: string;\n}\n\nexport const usersSort = (a: User, b: User) => {\n if (a.accessKey && b.accessKey) {\n if (a.accessKey > b.accessKey) {\n return 1;\n }\n if (a.accessKey < b.accessKey) {\n return -1;\n }\n }\n // a must be equal to b\n return 0;\n};\n\nexport const policySort = (a: Policy, b: Policy) => {\n if (a.name! > b.name!) {\n return 1;\n }\n if (a.name! < b.name!) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n\nexport const stringSort = (a: string, b: string) => {\n if (a > b) {\n return 1;\n }\n if (a < b) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n\nexport const policyDetailsSort = (\n a: policyDetailsInterface,\n b: policyDetailsInterface,\n) => {\n if (a.policy > b.policy) {\n return 1;\n }\n if (a.policy < b.policy) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11 7 9.6 8.4l2.6 2.6H2v2h10.2l-2.6 2.6L11 17l5-5-5-5zm9 12h-8v2h8c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-8v2h8v14z\"\n}), 'Login');\nexports.default = _default;","\"use strict\";\n'use client';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");","import createStyled from './createStyled';\nconst styled = createStyled();\nexport default styled;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"component\", \"direction\", \"spacing\", \"divider\", \"children\", \"className\", \"useFlexGap\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { deepmerge, unstable_composeClasses as composeClasses, unstable_generateUtilityClass as generateUtilityClass } from '@mui/utils';\nimport systemStyled from '../styled';\nimport useThemePropsSystem from '../useThemeProps';\nimport { extendSxProp } from '../styleFunctionSx';\nimport createTheme from '../createTheme';\nimport { handleBreakpoints, mergeBreakpointsInOrder, resolveBreakpointValues } from '../breakpoints';\nimport { createUnarySpacing, getValue } from '../spacing';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultTheme = createTheme();\n// widening Theme to any so that the consumer can own the theme structure.\nconst defaultCreateStyledComponent = systemStyled('div', {\n name: 'MuiStack',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n});\nfunction useThemePropsDefault(props) {\n return useThemePropsSystem({\n props,\n name: 'MuiStack',\n defaultTheme\n });\n}\n\n/**\n * Return an array with the separator React element interspersed between\n * each React node of the input children.\n *\n * > joinChildren([1,2,3], 0)\n * [1,0,2,0,3]\n */\nfunction joinChildren(children, separator) {\n const childrenArray = React.Children.toArray(children).filter(Boolean);\n return childrenArray.reduce((output, child, index) => {\n output.push(child);\n if (index < childrenArray.length - 1) {\n output.push( /*#__PURE__*/React.cloneElement(separator, {\n key: `separator-${index}`\n }));\n }\n return output;\n }, []);\n}\nconst getSideFromDirection = direction => {\n return {\n row: 'Left',\n 'row-reverse': 'Right',\n column: 'Top',\n 'column-reverse': 'Bottom'\n }[direction];\n};\nexport const style = ({\n ownerState,\n theme\n}) => {\n let styles = _extends({\n display: 'flex',\n flexDirection: 'column'\n }, handleBreakpoints({\n theme\n }, resolveBreakpointValues({\n values: ownerState.direction,\n breakpoints: theme.breakpoints.values\n }), propValue => ({\n flexDirection: propValue\n })));\n if (ownerState.spacing) {\n const transformer = createUnarySpacing(theme);\n const base = Object.keys(theme.breakpoints.values).reduce((acc, breakpoint) => {\n if (typeof ownerState.spacing === 'object' && ownerState.spacing[breakpoint] != null || typeof ownerState.direction === 'object' && ownerState.direction[breakpoint] != null) {\n acc[breakpoint] = true;\n }\n return acc;\n }, {});\n const directionValues = resolveBreakpointValues({\n values: ownerState.direction,\n base\n });\n const spacingValues = resolveBreakpointValues({\n values: ownerState.spacing,\n base\n });\n if (typeof directionValues === 'object') {\n Object.keys(directionValues).forEach((breakpoint, index, breakpoints) => {\n const directionValue = directionValues[breakpoint];\n if (!directionValue) {\n const previousDirectionValue = index > 0 ? directionValues[breakpoints[index - 1]] : 'column';\n directionValues[breakpoint] = previousDirectionValue;\n }\n });\n }\n const styleFromPropValue = (propValue, breakpoint) => {\n if (ownerState.useFlexGap) {\n return {\n gap: getValue(transformer, propValue)\n };\n }\n return {\n '& > :not(style) ~ :not(style)': {\n margin: 0,\n [`margin${getSideFromDirection(breakpoint ? directionValues[breakpoint] : ownerState.direction)}`]: getValue(transformer, propValue)\n }\n };\n };\n styles = deepmerge(styles, handleBreakpoints({\n theme\n }, spacingValues, styleFromPropValue));\n }\n styles = mergeBreakpointsInOrder(theme.breakpoints, styles);\n return styles;\n};\nexport default function createStack(options = {}) {\n const {\n // This will allow adding custom styled fn (for example for custom sx style function)\n createStyledComponent = defaultCreateStyledComponent,\n useThemeProps = useThemePropsDefault,\n componentName = 'MuiStack'\n } = options;\n const useUtilityClasses = () => {\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, slot => generateUtilityClass(componentName, slot), {});\n };\n const StackRoot = createStyledComponent(style);\n const Stack = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {\n const themeProps = useThemeProps(inProps);\n const props = extendSxProp(themeProps); // `color` type conflicts with html color attribute.\n const {\n component = 'div',\n direction = 'column',\n spacing = 0,\n divider,\n children,\n className,\n useFlexGap = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = {\n direction,\n spacing,\n useFlexGap\n };\n const classes = useUtilityClasses();\n return /*#__PURE__*/_jsx(StackRoot, _extends({\n as: component,\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className)\n }, other, {\n children: divider ? joinChildren(children, divider) : children\n }));\n });\n process.env.NODE_ENV !== \"production\" ? Stack.propTypes /* remove-proptypes */ = {\n children: PropTypes.node,\n direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),\n divider: PropTypes.node,\n spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n } : void 0;\n return Stack;\n}","'use client';\n\nimport PropTypes from 'prop-types';\nimport { createStack } from '@mui/system';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nconst Stack = createStack({\n createStyledComponent: styled('div', {\n name: 'MuiStack',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n }),\n useThemeProps: inProps => useThemeProps({\n props: inProps,\n name: 'MuiStack'\n })\n});\nprocess.env.NODE_ENV !== \"production\" ? Stack.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\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 * Defines the `flex-direction` style property.\n * It is applied for all screen sizes.\n * @default 'column'\n */\n direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),\n /**\n * Add an element between each child.\n */\n divider: PropTypes.node,\n /**\n * Defines the space between immediate children.\n * @default 0\n */\n spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n /**\n * The system prop, which 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 * If `true`, the CSS flexbox `gap` is used instead of applying `margin` to children.\n *\n * While CSS `gap` removes the [known limitations](https://mui.com/joy-ui/react-stack/#limitations),\n * it is not fully supported in some browsers. We recommend checking https://caniuse.com/?search=flex%20gap before using this flag.\n *\n * To enable this flag globally, follow the [theme's default props](https://mui.com/material-ui/customization/theme-components/#default-props) configuration.\n * @default false\n */\n useFlexGap: PropTypes.bool\n} : void 0;\nexport default Stack;","import { unstable_createChainedFunction as createChainedFunction } from '@mui/utils';\nexport default createChainedFunction;","import { unstable_deprecatedPropType as deprecatedPropType } from '@mui/utils';\nexport default deprecatedPropType;","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return (props, propName, componentName, location, propFullName) => {\n const componentNameSafe = componentName || '<>';\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The ${location} \\`${propFullNameSafe}\\` of ` + `\\`${componentNameSafe}\\` is deprecated. ${reason}`);\n }\n return null;\n };\n}","import { unstable_requirePropFactory as requirePropFactory } from '@mui/utils';\nexport default requirePropFactory;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function requirePropFactory(componentNameInError, Component) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n\n // eslint-disable-next-line react/forbid-foreign-prop-types\n const prevPropTypes = Component ? _extends({}, Component.propTypes) : null;\n const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {\n const propFullNameSafe = propFullName || propName;\n const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];\n if (defaultTypeChecker) {\n const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);\n if (typeCheckerResult) {\n return typeCheckerResult;\n }\n }\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(`The prop \\`${propFullNameSafe}\\` of ` + `\\`${componentNameInError}\\` can only be used together with the \\`${requiredProp}\\` prop.`);\n }\n return null;\n };\n return requireProp;\n}","import { unstable_setRef as setRef } from '@mui/utils';\nexport default setRef;","import { unstable_unsupportedProp as unsupportedProp } from '@mui/utils';\nexport default unsupportedProp;","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","'use client';\n\nimport { unstable_ClassNameGenerator as ClassNameGenerator } from '@mui/base/className';\nexport { default as capitalize } from './capitalize';\nexport { default as createChainedFunction } from './createChainedFunction';\nexport { default as createSvgIcon } from './createSvgIcon';\nexport { default as debounce } from './debounce';\nexport { default as deprecatedPropType } from './deprecatedPropType';\nexport { default as isMuiElement } from './isMuiElement';\nexport { default as ownerDocument } from './ownerDocument';\nexport { default as ownerWindow } from './ownerWindow';\nexport { default as requirePropFactory } from './requirePropFactory';\nexport { default as setRef } from './setRef';\nexport { default as unstable_useEnhancedEffect } from './useEnhancedEffect';\nexport { default as unstable_useId } from './useId';\nexport { default as unsupportedProp } from './unsupportedProp';\nexport { default as useControlled } from './useControlled';\nexport { default as useEventCallback } from './useEventCallback';\nexport { default as useForkRef } from './useForkRef';\nexport { default as useIsFocusVisible } from './useIsFocusVisible';\n// TODO: remove this export once ClassNameGenerator is stable\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const unstable_ClassNameGenerator = {\n configure: generator => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(['MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.', '', \"You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead\", '', 'The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401', '', 'The updated documentation: https://mui.com/guides/classname-generator/'].join('\\n'));\n }\n ClassNameGenerator.configure(generator);\n }\n};","import { unstable_isMuiElement as isMuiElement } from '@mui/utils';\nexport default isMuiElement;","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf(element.type.muiName) !== -1;\n}","/**\n * Safe chained function.\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n */\nexport default function createChainedFunction(...funcs) {\n return funcs.reduce((acc, func) => {\n if (func == null) {\n return acc;\n }\n return function chainedFunction(...args) {\n acc.apply(this, args);\n func.apply(this, args);\n };\n }, () => {});\n}","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"names":["useStyles","makeStyles","theme","headerBarIcon","marginRight","color","palette","primary","main","width","height","display","headerBarSubheader","maxWidth","stContainer","alignItems","justifyContent","padding","borderBottom","flexFlow","titleColumn","fontSize","leftItems","rightItems","marginLeft","_ref","icon","title","subTitle","actions","className","classes","_jsx","Grid","container","children","_jsxs","item","xs","concat","style","margin","_ref$label","label","_ref$value","value","_ref$orientation","orientation","_ref$stkProps","stkProps","_ref$lblProps","lblProps","_ref$valProps","valProps","Stack","_objectSpread","direction","sm","fontWeight","configurationName","closeResetModalAndRefresh","resetOpen","dispatch","useAppDispatch","_useState","useState","_useState2","_slicedToArray","resetLoading","setResetLoading","useEffect","api","configs","resetConfig","then","catch","err","setErrorSnackMessage","errorToHandler","error","ConfirmDialog","confirmText","isOpen","titleIcon","ConfirmDeleteIcon","isLoading","onConfirm","onClose","confirmationContent","Fragment","LinearProgress","whiteSpace","wordWrap","FeatureItem","description","Box","sx","marginBottom","fontStyle","_ref2","helpText","docLink","docText","contents","flex","border","borderRadius","paddingBottom","HelpIconFilled","map","content","index","iconDescription","text","href","target","rel","EntityResultTitle","name","CollapseCaret","transform","EntityResultItems","blockName","results","res","_ref3","_results$groups","_results$policies","_results$users","_results$groups2","_results$users2","_results$policies2","entityName","entityLength","groups","length","policies","users","marginTop","SectionTitle","separator","GroupsMenuIcon","h4","fill","groupData","group","user","policy","loading","setLoading","_useState3","_useState4","setUsers","_useState5","_useState6","setGroups","_useState7","_useState8","setResults","selectedPolicies","useSelector","state","createUser","paddingTop","md","lg","flexDirection","gap","withBorders","overflowY","minHeight","maxHeight","userDat","InputBox","id","onChange","e","usersElements","_toConsumableArray","overlayIcon","AddIcon","RemoveIcon","overlayAction","addItem","alterUsers","filteredUsers","filter","_","indx","alterUsersList","groupDat","groupsElements","alterGroups","filteredGroups","alterGroupsList","PolicySelectors","selectedPolicy","noTitle","textAlign","Loader","timestamp","TimeIcon","DateTime","fromISO","toFormat","backgroundColor","flexGrow","LDAPResultsBlock","Button","type","variant","onClick","data","cleanPolicies","pol","cleanUsers","usr","cleanGroups","grp","ldapEntities","getLdapEntities","result","SearchIcon","enabledConfigLDAP","formFields","ldapFormFields","isEnabled","setIsEnabled","hasConfiguration","setHasConfiguration","fields","setFields","_useState9","undefined","_useState10","record","setRecord","_useState11","_useState12","editMode","setEditMode","_useState13","_useState14","setResetOpen","_useState15","_useState16","curTab","setCurTab","toggleEditMode","parseFields","enabled","find","key","totalCoincidences","forEach","includes","hasConfig","configInfo","key_values","closeDeleteModalAndRefresh","_asyncToGenerator","_regeneratorRuntime","mark","_callee","refresh","wrap","_context","prev","next","setServerNeedsRestart","stop","_x","apply","arguments","setHelpName","ResetConfigurationModal","PageHeaderWrapper","HelpMenu","PageLayout","Tabs","horizontal","options","tabConfig","ScreenTitle","EditIcon","disabled","payload","setConfig","restart","setSnackBarMessage","toggleConfiguration","RefreshIcon","FormLayout","helpBox","AddIDPConfigurationHelpBox","ldapHelpBoxContents","Object","entries","Switch","indicatorLabels","checked","tooltip","_defineProperty","required","hasError","placeholder","renderFormField","_i","_Object$entries","_Object$entries$_i","validSave","keyVals","keys","gridTemplateColumns","gridAutoFlow","LabelValuePair","_ref5","_ref6","LDAPEntitiesQuery","currentTabOrPath","onTabClick","newTab","LoginIcon","openIDHelpBoxContents","LockIcon","openIDFormFields","config_url","s","client_id","client_secret","claim_name","display_name","claim_prefix","scopes","redirect_uri","role_policy","claim_userinfo","redirect_uri_dynamic","server_insecure","server_addr","lookup_bind_dn","lookup_bind_password","user_dn_search_base_dn","user_dn_search_filter","group_search_base_dn","group_search_filter","_ref$noTitle","records","setRecords","setFilter","currentPolicies","fetchPolicies","useCallback","listPolicies","_res$data$policies","sort","policySort","setModalErrorSnackMessage","filteredRecords","elementItem","SearchBox","DataTable","columns","elementKey","onSelect","targetD","elements","push","element","setSelectedPolicies","selectedItems","idField","customPaperHeight","usersSort","a","b","accessKey","stringSort","policyDetailsSort","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","defineProperty","enumerable","get","_utils","createSvgIcon","createStyled","_excluded","defaultTheme","createTheme","defaultCreateStyledComponent","systemStyled","slot","overridesResolver","props","styles","root","useThemePropsDefault","useThemePropsSystem","joinChildren","childrenArray","React","toArray","Boolean","reduce","output","child","ownerState","_extends","handleBreakpoints","resolveBreakpointValues","values","breakpoints","propValue","spacing","transformer","createUnarySpacing","base","acc","breakpoint","directionValues","spacingValues","previousDirectionValue","deepmerge","useFlexGap","getValue","row","column","mergeBreakpointsInOrder","_options$createStyled","createStyledComponent","_options$useThemeProp","useThemeProps","_options$componentNam","componentName","StackRoot","inProps","ref","themeProps","extendSxProp","_props$component","component","_props$direction","_props$spacing","divider","_props$useFlexGap","other","_objectWithoutPropertiesLoose","composeClasses","generateUtilityClass","as","clsx","createStack","styled","createChainedFunction","validator","reason","componentNameInError","Component","propName","location","propFullName","unstable_ClassNameGenerator","configure","generator","ClassNameGenerator","muiNames","indexOf","muiName","_len","funcs","Array","_key","func","_len2","args","_key2","this","module","obj","__esModule"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1715.b85c256f.chunk.js.map b/portal-ui/build/static/js/1715.b85c256f.chunk.js.map index 87f492e82..1779e9662 100644 --- a/portal-ui/build/static/js/1715.b85c256f.chunk.js.map +++ b/portal-ui/build/static/js/1715.b85c256f.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/1715.b85c256f.chunk.js","mappings":"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","sources":["../node_modules/@mui/material/List/listClasses.js","../node_modules/@mui/material/List/List.js","../node_modules/@mui/material/utils/getScrollbarSize.js","../node_modules/@mui/material/MenuList/MenuList.js","../node_modules/@mui/material/Menu/menuClasses.js","../node_modules/@mui/material/Menu/Menu.js"],"sourcesContent":["import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getListUtilityClass(slot) {\n return generateUtilityClass('MuiList', slot);\n}\nconst listClasses = generateUtilityClasses('MuiList', ['root', 'padding', 'dense', 'subheader']);\nexport default listClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"component\", \"dense\", \"disablePadding\", \"subheader\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from './ListContext';\nimport { getListUtilityClass } from './listClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePadding,\n dense,\n subheader\n } = ownerState;\n const slots = {\n root: ['root', !disablePadding && 'padding', dense && 'dense', subheader && 'subheader']\n };\n return composeClasses(slots, getListUtilityClass, classes);\n};\nconst ListRoot = styled('ul', {\n name: 'MuiList',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disablePadding && styles.padding, ownerState.dense && styles.dense, ownerState.subheader && styles.subheader];\n }\n})(({\n ownerState\n}) => _extends({\n listStyle: 'none',\n margin: 0,\n padding: 0,\n position: 'relative'\n}, !ownerState.disablePadding && {\n paddingTop: 8,\n paddingBottom: 8\n}, ownerState.subheader && {\n paddingTop: 0\n}));\nconst List = /*#__PURE__*/React.forwardRef(function List(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiList'\n });\n const {\n children,\n className,\n component = 'ul',\n dense = false,\n disablePadding = false,\n subheader\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = React.useMemo(() => ({\n dense\n }), [dense]);\n const ownerState = _extends({}, props, {\n component,\n dense,\n disablePadding\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: context,\n children: /*#__PURE__*/_jsxs(ListRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState\n }, other, {\n children: [subheader, children]\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? List.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 * If `true`, compact vertical padding designed for keyboard and mouse input is used for\n * the list and list items.\n * The prop is available to descendant components as the `dense` context.\n * @default false\n */\n dense: PropTypes.bool,\n /**\n * If `true`, vertical padding is removed from the list.\n * @default false\n */\n disablePadding: PropTypes.bool,\n /**\n * The content of the subheader, normally `ListSubheader`.\n */\n subheader: PropTypes.node,\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} : void 0;\nexport default List;","import { unstable_getScrollbarSize as getScrollbarSize } from '@mui/utils';\nexport default getScrollbarSize;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"actions\", \"autoFocus\", \"autoFocusItem\", \"children\", \"className\", \"disabledItemsFocusable\", \"disableListWrap\", \"onKeyDown\", \"variant\"];\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport ownerDocument from '../utils/ownerDocument';\nimport List from '../List';\nimport getScrollbarSize from '../utils/getScrollbarSize';\nimport useForkRef from '../utils/useForkRef';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction nextItem(list, item, disableListWrap) {\n if (list === item) {\n return list.firstChild;\n }\n if (item && item.nextElementSibling) {\n return item.nextElementSibling;\n }\n return disableListWrap ? null : list.firstChild;\n}\nfunction previousItem(list, item, disableListWrap) {\n if (list === item) {\n return disableListWrap ? list.firstChild : list.lastChild;\n }\n if (item && item.previousElementSibling) {\n return item.previousElementSibling;\n }\n return disableListWrap ? null : list.lastChild;\n}\nfunction textCriteriaMatches(nextFocus, textCriteria) {\n if (textCriteria === undefined) {\n return true;\n }\n let text = nextFocus.innerText;\n if (text === undefined) {\n // jsdom doesn't support innerText\n text = nextFocus.textContent;\n }\n text = text.trim().toLowerCase();\n if (text.length === 0) {\n return false;\n }\n if (textCriteria.repeating) {\n return text[0] === textCriteria.keys[0];\n }\n return text.indexOf(textCriteria.keys.join('')) === 0;\n}\nfunction moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, traversalFunction, textCriteria) {\n let wrappedOnce = false;\n let nextFocus = traversalFunction(list, currentFocus, currentFocus ? disableListWrap : false);\n while (nextFocus) {\n // Prevent infinite loop.\n if (nextFocus === list.firstChild) {\n if (wrappedOnce) {\n return false;\n }\n wrappedOnce = true;\n }\n\n // Same logic as useAutocomplete.js\n const nextFocusDisabled = disabledItemsFocusable ? false : nextFocus.disabled || nextFocus.getAttribute('aria-disabled') === 'true';\n if (!nextFocus.hasAttribute('tabindex') || !textCriteriaMatches(nextFocus, textCriteria) || nextFocusDisabled) {\n // Move to the next element.\n nextFocus = traversalFunction(list, nextFocus, disableListWrap);\n } else {\n nextFocus.focus();\n return true;\n }\n }\n return false;\n}\n\n/**\n * A permanently displayed menu following https://www.w3.org/WAI/ARIA/apg/patterns/menu-button/.\n * It's exposed to help customization of the [`Menu`](/material-ui/api/menu/) component if you\n * use it separately you need to move focus into the component manually. Once\n * the focus is placed inside the component it is fully keyboard accessible.\n */\nconst MenuList = /*#__PURE__*/React.forwardRef(function MenuList(props, ref) {\n const {\n // private\n // eslint-disable-next-line react/prop-types\n actions,\n autoFocus = false,\n autoFocusItem = false,\n children,\n className,\n disabledItemsFocusable = false,\n disableListWrap = false,\n onKeyDown,\n variant = 'selectedMenu'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const listRef = React.useRef(null);\n const textCriteriaRef = React.useRef({\n keys: [],\n repeating: true,\n previousKeyMatched: true,\n lastTime: null\n });\n useEnhancedEffect(() => {\n if (autoFocus) {\n listRef.current.focus();\n }\n }, [autoFocus]);\n React.useImperativeHandle(actions, () => ({\n adjustStyleForScrollbar: (containerElement, theme) => {\n // Let's ignore that piece of logic if users are already overriding the width\n // of the menu.\n const noExplicitWidth = !listRef.current.style.width;\n if (containerElement.clientHeight < listRef.current.clientHeight && noExplicitWidth) {\n const scrollbarSize = `${getScrollbarSize(ownerDocument(containerElement))}px`;\n listRef.current.style[theme.direction === 'rtl' ? 'paddingLeft' : 'paddingRight'] = scrollbarSize;\n listRef.current.style.width = `calc(100% + ${scrollbarSize})`;\n }\n return listRef.current;\n }\n }), []);\n const handleKeyDown = event => {\n const list = listRef.current;\n const key = event.key;\n /**\n * @type {Element} - will always be defined since we are in a keydown handler\n * attached to an element. A keydown event is either dispatched to the activeElement\n * or document.body or document.documentElement. Only the first case will\n * trigger this specific handler.\n */\n const currentFocus = ownerDocument(list).activeElement;\n if (key === 'ArrowDown') {\n // Prevent scroll of the page\n event.preventDefault();\n moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, nextItem);\n } else if (key === 'ArrowUp') {\n event.preventDefault();\n moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, previousItem);\n } else if (key === 'Home') {\n event.preventDefault();\n moveFocus(list, null, disableListWrap, disabledItemsFocusable, nextItem);\n } else if (key === 'End') {\n event.preventDefault();\n moveFocus(list, null, disableListWrap, disabledItemsFocusable, previousItem);\n } else if (key.length === 1) {\n const criteria = textCriteriaRef.current;\n const lowerKey = key.toLowerCase();\n const currTime = performance.now();\n if (criteria.keys.length > 0) {\n // Reset\n if (currTime - criteria.lastTime > 500) {\n criteria.keys = [];\n criteria.repeating = true;\n criteria.previousKeyMatched = true;\n } else if (criteria.repeating && lowerKey !== criteria.keys[0]) {\n criteria.repeating = false;\n }\n }\n criteria.lastTime = currTime;\n criteria.keys.push(lowerKey);\n const keepFocusOnCurrent = currentFocus && !criteria.repeating && textCriteriaMatches(currentFocus, criteria);\n if (criteria.previousKeyMatched && (keepFocusOnCurrent || moveFocus(list, currentFocus, false, disabledItemsFocusable, nextItem, criteria))) {\n event.preventDefault();\n } else {\n criteria.previousKeyMatched = false;\n }\n }\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n const handleRef = useForkRef(listRef, ref);\n\n /**\n * the index of the item should receive focus\n * in a `variant=\"selectedMenu\"` it's the first `selected` item\n * otherwise it's the very first item.\n */\n let activeItemIndex = -1;\n // since we inject focus related props into children we have to do a lookahead\n // to check if there is a `selected` item. We're looking for the last `selected`\n // item and use the first valid item as a fallback\n React.Children.forEach(children, (child, index) => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n if (activeItemIndex === index) {\n activeItemIndex += 1;\n if (activeItemIndex >= children.length) {\n // there are no focusable items within the list.\n activeItemIndex = -1;\n }\n }\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"MUI: The Menu component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n if (!child.props.disabled) {\n if (variant === 'selectedMenu' && child.props.selected) {\n activeItemIndex = index;\n } else if (activeItemIndex === -1) {\n activeItemIndex = index;\n }\n }\n if (activeItemIndex === index && (child.props.disabled || child.props.muiSkipListHighlight || child.type.muiSkipListHighlight)) {\n activeItemIndex += 1;\n if (activeItemIndex >= children.length) {\n // there are no focusable items within the list.\n activeItemIndex = -1;\n }\n }\n });\n const items = React.Children.map(children, (child, index) => {\n if (index === activeItemIndex) {\n const newChildProps = {};\n if (autoFocusItem) {\n newChildProps.autoFocus = true;\n }\n if (child.props.tabIndex === undefined && variant === 'selectedMenu') {\n newChildProps.tabIndex = 0;\n }\n return /*#__PURE__*/React.cloneElement(child, newChildProps);\n }\n return child;\n });\n return /*#__PURE__*/_jsx(List, _extends({\n role: \"menu\",\n ref: handleRef,\n className: className,\n onKeyDown: handleKeyDown,\n tabIndex: autoFocus ? 0 : -1\n }, other, {\n children: items\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuList.propTypes /* remove-proptypes */ = {\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 * If `true`, will focus the `[role=\"menu\"]` container and move into tab order.\n * @default false\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true`, will focus the first menuitem if `variant=\"menu\"` or selected item\n * if `variant=\"selectedMenu\"`.\n * @default false\n */\n autoFocusItem: PropTypes.bool,\n /**\n * MenuList contents, normally `MenuItem`s.\n */\n children: PropTypes.node,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, will allow focus on disabled items.\n * @default false\n */\n disabledItemsFocusable: PropTypes.bool,\n /**\n * If `true`, the menu items will not wrap focus.\n * @default false\n */\n disableListWrap: PropTypes.bool,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * The variant to use. Use `menu` to prevent selected items from impacting the initial focus\n * and the vertical alignment relative to the anchor element.\n * @default 'selectedMenu'\n */\n variant: PropTypes.oneOf(['menu', 'selectedMenu'])\n} : void 0;\nexport default MenuList;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getMenuUtilityClass(slot) {\n return generateUtilityClass('MuiMenu', slot);\n}\nconst menuClasses = generateUtilityClasses('MuiMenu', ['root', 'paper', 'list']);\nexport default menuClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"onEntering\"],\n _excluded2 = [\"autoFocus\", \"children\", \"disableAutoFocusItem\", \"MenuListProps\", \"onClose\", \"open\", \"PaperProps\", \"PopoverClasses\", \"transitionDuration\", \"TransitionProps\", \"variant\"];\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { HTMLElementType } from '@mui/utils';\nimport MenuList from '../MenuList';\nimport Popover, { PopoverPaper } from '../Popover';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useTheme from '../styles/useTheme';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getMenuUtilityClass } from './menuClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst RTL_ORIGIN = {\n vertical: 'top',\n horizontal: 'right'\n};\nconst LTR_ORIGIN = {\n vertical: 'top',\n horizontal: 'left'\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n paper: ['paper'],\n list: ['list']\n };\n return composeClasses(slots, getMenuUtilityClass, classes);\n};\nconst MenuRoot = styled(Popover, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenu',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nexport const MenuPaper = styled(PopoverPaper, {\n name: 'MuiMenu',\n slot: 'Paper',\n overridesResolver: (props, styles) => styles.paper\n})({\n // specZ: The maximum height of a simple menu should be one or more rows less than the view\n // height. This ensures a tappable area outside of the simple menu with which to dismiss\n // the menu.\n maxHeight: 'calc(100% - 96px)',\n // Add iOS momentum scrolling for iOS < 13.0\n WebkitOverflowScrolling: 'touch'\n});\nconst MenuMenuList = styled(MenuList, {\n name: 'MuiMenu',\n slot: 'List',\n overridesResolver: (props, styles) => styles.list\n})({\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0\n});\nconst Menu = /*#__PURE__*/React.forwardRef(function Menu(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenu'\n });\n const {\n autoFocus = true,\n children,\n disableAutoFocusItem = false,\n MenuListProps = {},\n onClose,\n open,\n PaperProps = {},\n PopoverClasses,\n transitionDuration = 'auto',\n TransitionProps: {\n onEntering\n } = {},\n variant = 'selectedMenu'\n } = props,\n TransitionProps = _objectWithoutPropertiesLoose(props.TransitionProps, _excluded),\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n const theme = useTheme();\n const isRtl = theme.direction === 'rtl';\n const ownerState = _extends({}, props, {\n autoFocus,\n disableAutoFocusItem,\n MenuListProps,\n onEntering,\n PaperProps,\n transitionDuration,\n TransitionProps,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const autoFocusItem = autoFocus && !disableAutoFocusItem && open;\n const menuListActionsRef = React.useRef(null);\n const handleEntering = (element, isAppearing) => {\n if (menuListActionsRef.current) {\n menuListActionsRef.current.adjustStyleForScrollbar(element, theme);\n }\n if (onEntering) {\n onEntering(element, isAppearing);\n }\n };\n const handleListKeyDown = event => {\n if (event.key === 'Tab') {\n event.preventDefault();\n if (onClose) {\n onClose(event, 'tabKeyDown');\n }\n }\n };\n\n /**\n * the index of the item should receive focus\n * in a `variant=\"selectedMenu\"` it's the first `selected` item\n * otherwise it's the very first item.\n */\n let activeItemIndex = -1;\n // since we inject focus related props into children we have to do a lookahead\n // to check if there is a `selected` item. We're looking for the last `selected`\n // item and use the first valid item as a fallback\n React.Children.map(children, (child, index) => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"MUI: The Menu component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n if (!child.props.disabled) {\n if (variant === 'selectedMenu' && child.props.selected) {\n activeItemIndex = index;\n } else if (activeItemIndex === -1) {\n activeItemIndex = index;\n }\n }\n });\n return /*#__PURE__*/_jsx(MenuRoot, _extends({\n onClose: onClose,\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: isRtl ? 'right' : 'left'\n },\n transformOrigin: isRtl ? RTL_ORIGIN : LTR_ORIGIN,\n slots: {\n paper: MenuPaper\n },\n slotProps: {\n paper: _extends({}, PaperProps, {\n classes: _extends({}, PaperProps.classes, {\n root: classes.paper\n })\n })\n },\n className: classes.root,\n open: open,\n ref: ref,\n transitionDuration: transitionDuration,\n TransitionProps: _extends({\n onEntering: handleEntering\n }, TransitionProps),\n ownerState: ownerState\n }, other, {\n classes: PopoverClasses,\n children: /*#__PURE__*/_jsx(MenuMenuList, _extends({\n onKeyDown: handleListKeyDown,\n actions: menuListActionsRef,\n autoFocus: autoFocus && (activeItemIndex === -1 || disableAutoFocusItem),\n autoFocusItem: autoFocusItem,\n variant: variant\n }, MenuListProps, {\n className: clsx(classes.list, MenuListProps.className),\n children: children\n }))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Menu.propTypes /* remove-proptypes */ = {\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 * An HTML element, or a function that returns one.\n * It's used to set the position of the menu.\n */\n anchorEl: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * If `true` (Default) will focus the `[role=\"menu\"]` if no focusable child is found. Disabled\n * children are not focusable. If you set this prop to `false` focus will be placed\n * on the parent modal container. This has severe accessibility implications\n * and should only be considered if you manage focus otherwise.\n * @default true\n */\n autoFocus: PropTypes.bool,\n /**\n * Menu contents, normally `MenuItem`s.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * When opening the menu will not focus the active item but the `[role=\"menu\"]`\n * unless `autoFocus` is also set to `false`. Not using the default means not\n * following WAI-ARIA authoring practices. Please be considerate about possible\n * accessibility implications.\n * @default false\n */\n disableAutoFocusItem: PropTypes.bool,\n /**\n * Props applied to the [`MenuList`](/material-ui/api/menu-list/) element.\n * @default {}\n */\n MenuListProps: PropTypes.object,\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {object} event The event source of the callback.\n * @param {string} reason Can be: `\"escapeKeyDown\"`, `\"backdropClick\"`, `\"tabKeyDown\"`.\n */\n onClose: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * @ignore\n */\n PaperProps: PropTypes.object,\n /**\n * `classes` prop applied to the [`Popover`](/material-ui/api/popover/) element.\n */\n PopoverClasses: PropTypes.object,\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 * The length of the transition in `ms`, or 'auto'\n * @default 'auto'\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](http://reactcommunity.org/react-transition-group/transition/) component.\n * @default {}\n */\n TransitionProps: PropTypes.object,\n /**\n * The variant to use. Use `menu` to prevent selected items from impacting the initial focus.\n * @default 'selectedMenu'\n */\n variant: PropTypes.oneOf(['menu', 'selectedMenu'])\n} : void 0;\nexport default Menu;"],"names":["getListUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","ListRoot","styled","name","overridesResolver","props","styles","ownerState","root","disablePadding","padding","dense","subheader","_ref","_extends","listStyle","margin","position","paddingTop","paddingBottom","React","inProps","ref","useThemeProps","children","className","_props$component","component","_props$dense","_props$disablePadding","other","_objectWithoutPropertiesLoose","context","classes","slots","composeClasses","useUtilityClasses","_jsx","ListContext","Provider","value","_jsxs","as","clsx","nextItem","list","item","disableListWrap","firstChild","nextElementSibling","previousItem","lastChild","previousElementSibling","textCriteriaMatches","nextFocus","textCriteria","undefined","text","innerText","textContent","trim","toLowerCase","length","repeating","keys","indexOf","join","moveFocus","currentFocus","disabledItemsFocusable","traversalFunction","wrappedOnce","nextFocusDisabled","disabled","getAttribute","hasAttribute","focus","actions","_props$autoFocus","autoFocus","_props$autoFocusItem","autoFocusItem","_props$disabledItemsF","_props$disableListWra","onKeyDown","_props$variant","variant","listRef","textCriteriaRef","previousKeyMatched","lastTime","useEnhancedEffect","current","adjustStyleForScrollbar","containerElement","theme","noExplicitWidth","style","width","clientHeight","scrollbarSize","concat","getScrollbarSize","ownerDocument","direction","handleRef","useForkRef","activeItemIndex","forEach","child","index","selected","muiSkipListHighlight","type","items","map","newChildProps","tabIndex","List","role","event","key","activeElement","preventDefault","criteria","lowerKey","currTime","performance","now","push","keepFocusOnCurrent","getMenuUtilityClass","_excluded2","RTL_ORIGIN","vertical","horizontal","LTR_ORIGIN","MenuRoot","Popover","shouldForwardProp","prop","rootShouldForwardProp","MenuPaper","PopoverPaper","paper","maxHeight","WebkitOverflowScrolling","MenuMenuList","MenuList","outline","_props$disableAutoFoc","disableAutoFocusItem","_props$MenuListProps","MenuListProps","onClose","open","_props$PaperProps","PaperProps","PopoverClasses","_props$transitionDura","transitionDuration","_props$TransitionProp","TransitionProps","onEntering","useTheme","isRtl","menuListActionsRef","anchorOrigin","transformOrigin","slotProps","element","isAppearing"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/1715.b85c256f.chunk.js","mappings":"+PAEO,SAASA,EAAoBC,GAClC,OAAOC,EAAAA,EAAAA,GAAqB,UAAWD,EACzC,EACoBE,EAAAA,EAAAA,GAAuB,UAAW,CAAC,OAAQ,UAAW,QAAS,cAAnF,I,WCDMC,EAAY,CAAC,WAAY,YAAa,YAAa,QAAS,iBAAkB,aAuB9EC,GAAWC,EAAAA,EAAAA,IAAO,KAAM,CAC5BC,KAAM,UACNN,KAAM,OACNO,kBAAmB,SAACC,EAAOC,GACzB,IACEC,EACEF,EADFE,WAEF,MAAO,CAACD,EAAOE,MAAOD,EAAWE,gBAAkBH,EAAOI,QAASH,EAAWI,OAASL,EAAOK,MAAOJ,EAAWK,WAAaN,EAAOM,UACtI,GAReV,EASd,SAAAW,GAAA,IACDN,EAAUM,EAAVN,WAAU,OACNO,EAAAA,EAAAA,GAAS,CACbC,UAAW,OACXC,OAAQ,EACRN,QAAS,EACTO,SAAU,aACRV,EAAWE,gBAAkB,CAC/BS,WAAY,EACZC,cAAe,GACdZ,EAAWK,WAAa,CACzBM,WAAY,GACZ,IA+EF,EA9E0BE,EAAAA,YAAiB,SAAcC,EAASC,GAChE,IAAMjB,GAAQkB,EAAAA,EAAAA,GAAc,CAC1BlB,MAAOgB,EACPlB,KAAM,YAGJqB,EAMEnB,EANFmB,SACAC,EAKEpB,EALFoB,UAASC,EAKPrB,EAJFsB,UAAAA,OAAS,IAAAD,EAAG,KAAIA,EAAAE,EAIdvB,EAHFM,MAAAA,OAAK,IAAAiB,GAAQA,EAAAC,EAGXxB,EAFFI,eAAAA,OAAc,IAAAoB,GAAQA,EACtBjB,EACEP,EADFO,UAEFkB,GAAQC,EAAAA,EAAAA,GAA8B1B,EAAOL,GACzCgC,EAAUZ,EAAAA,SAAc,iBAAO,CACnCT,MAAAA,EACD,GAAG,CAACA,IACCJ,GAAaO,EAAAA,EAAAA,GAAS,CAAC,EAAGT,EAAO,CACrCsB,UAAAA,EACAhB,MAAAA,EACAF,eAAAA,IAEIwB,EAxDkB,SAAA1B,GACxB,IACE0B,EAIE1B,EAJF0B,QAKIC,EAAQ,CACZ1B,KAAM,CAAC,QAFLD,EAHFE,gBAKkC,UAFhCF,EAFFI,OAIsD,QAFpDJ,EADFK,WAG4E,cAE9E,OAAOuB,EAAAA,EAAAA,GAAeD,EAAOtC,EAAqBqC,EACpD,CA6CkBG,CAAkB7B,GAClC,OAAoB8B,EAAAA,EAAAA,KAAKC,EAAAA,EAAYC,SAAU,CAC7CC,MAAOR,EACPR,UAAuBiB,EAAAA,EAAAA,MAAMxC,GAAUa,EAAAA,EAAAA,GAAS,CAC9C4B,GAAIf,EACJF,WAAWkB,EAAAA,EAAAA,GAAKV,EAAQzB,KAAMiB,GAC9BH,IAAKA,EACLf,WAAYA,GACXuB,EAAO,CACRN,SAAU,CAACZ,EAAWY,OAG5B,G,oJClFA,E,SAA+B,E,iCCGzBxB,EAAY,CAAC,UAAW,YAAa,gBAAiB,WAAY,YAAa,yBAA0B,kBAAmB,YAAa,WAU/I,SAAS4C,EAASC,EAAMC,EAAMC,GAC5B,OAAIF,IAASC,EACJD,EAAKG,WAEVF,GAAQA,EAAKG,mBACRH,EAAKG,mBAEPF,EAAkB,KAAOF,EAAKG,UACvC,CACA,SAASE,EAAaL,EAAMC,EAAMC,GAChC,OAAIF,IAASC,EACJC,EAAkBF,EAAKG,WAAaH,EAAKM,UAE9CL,GAAQA,EAAKM,uBACRN,EAAKM,uBAEPL,EAAkB,KAAOF,EAAKM,SACvC,CACA,SAASE,EAAoBC,EAAWC,GACtC,QAAqBC,IAAjBD,EACF,OAAO,EAET,IAAIE,EAAOH,EAAUI,UAMrB,YALaF,IAATC,IAEFA,EAAOH,EAAUK,aAGC,KADpBF,EAAOA,EAAKG,OAAOC,eACVC,SAGLP,EAAaQ,UACRN,EAAK,KAAOF,EAAaS,KAAK,GAEa,IAA7CP,EAAKQ,QAAQV,EAAaS,KAAKE,KAAK,KAC7C,CACA,SAASC,EAAUtB,EAAMuB,EAAcrB,EAAiBsB,EAAwBC,EAAmBf,GAGjG,IAFA,IAAIgB,GAAc,EACdjB,EAAYgB,EAAkBzB,EAAMuB,IAAcA,GAAerB,GAC9DO,GAAW,CAEhB,GAAIA,IAAcT,EAAKG,WAAY,CACjC,GAAIuB,EACF,OAAO,EAETA,GAAc,CAChB,CAGA,IAAMC,GAAoBH,IAAiCf,EAAUmB,UAAwD,SAA5CnB,EAAUoB,aAAa,kBACxG,GAAKpB,EAAUqB,aAAa,aAAgBtB,EAAoBC,EAAWC,KAAiBiB,EAK1F,OADAlB,EAAUsB,SACH,EAHPtB,EAAYgB,EAAkBzB,EAAMS,EAAWP,EAKnD,CACA,OAAO,CACT,CAQA,IAwMA,EAxM8B3B,EAAAA,YAAiB,SAAkBf,EAAOiB,GACtE,IAGIuD,EASExE,EATFwE,QAAOC,EASLzE,EARF0E,UAAAA,OAAS,IAAAD,GAAQA,EAAAE,EAQf3E,EAPF4E,cAAAA,OAAa,IAAAD,GAAQA,EACrBxD,EAMEnB,EANFmB,SACAC,EAKEpB,EALFoB,UAASyD,EAKP7E,EAJFgE,uBAAAA,OAAsB,IAAAa,GAAQA,EAAAC,EAI5B9E,EAHF0C,gBAAAA,OAAe,IAAAoC,GAAQA,EACvBC,EAEE/E,EAFF+E,UAASC,EAEPhF,EADFiF,QAAAA,OAAO,IAAAD,EAAG,eAAcA,EAE1BvD,GAAQC,EAAAA,EAAAA,GAA8B1B,EAAOL,GACzCuF,EAAUnE,EAAAA,OAAa,MACvBoE,EAAkBpE,EAAAA,OAAa,CACnC4C,KAAM,GACND,WAAW,EACX0B,oBAAoB,EACpBC,SAAU,QAEZC,EAAAA,EAAAA,IAAkB,WACZZ,GACFQ,EAAQK,QAAQhB,OAEpB,GAAG,CAACG,IACJ3D,EAAAA,oBAA0ByD,GAAS,iBAAO,CACxCgB,wBAAyB,SAACC,EAAkBC,GAG1C,IAAMC,GAAmBT,EAAQK,QAAQK,MAAMC,MAC/C,GAAIJ,EAAiBK,aAAeZ,EAAQK,QAAQO,cAAgBH,EAAiB,CACnF,IAAMI,EAAgB,GAAHC,OAAMC,GAAiBC,EAAAA,EAAAA,GAAcT,IAAkB,MAC1EP,EAAQK,QAAQK,MAA0B,QAApBF,EAAMS,UAAsB,cAAgB,gBAAkBJ,EACpFb,EAAQK,QAAQK,MAAMC,MAAQ,eAAHG,OAAkBD,EAAa,IAC5D,CACA,OAAOb,EAAQK,OACjB,EACD,GAAG,IACJ,IAkDMa,GAAYC,EAAAA,EAAAA,GAAWnB,EAASjE,GAOlCqF,GAAmB,EAIvBvF,EAAAA,SAAewF,QAAQpF,GAAU,SAACqF,EAAOC,GACpB1F,EAAAA,eAAqByF,IAenCA,EAAMxG,MAAMoE,WACC,iBAAZa,GAA8BuB,EAAMxG,MAAM0G,WAEd,IAArBJ,KADTA,EAAkBG,GAKlBH,IAAoBG,IAAUD,EAAMxG,MAAMoE,UAAYoC,EAAMxG,MAAM2G,sBAAwBH,EAAMI,KAAKD,wBACvGL,GAAmB,IACInF,EAASsC,SAE9B6C,GAAmB,IAzBjBA,IAAoBG,IACtBH,GAAmB,IACInF,EAASsC,SAE9B6C,GAAmB,EAwB3B,IACA,IAAMO,EAAQ9F,EAAAA,SAAe+F,IAAI3F,GAAU,SAACqF,EAAOC,GACjD,GAAIA,IAAUH,EAAiB,CAC7B,IAAMS,EAAgB,CAAC,EAOvB,OANInC,IACFmC,EAAcrC,WAAY,QAECvB,IAAzBqD,EAAMxG,MAAMgH,UAAsC,iBAAZ/B,IACxC8B,EAAcC,SAAW,GAEPjG,EAAAA,aAAmByF,EAAOO,EAChD,CACA,OAAOP,CACT,IACA,OAAoBxE,EAAAA,EAAAA,KAAKiF,EAAAA,GAAMxG,EAAAA,EAAAA,GAAS,CACtCyG,KAAM,OACNjG,IAAKmF,EACLhF,UAAWA,EACX2D,UA7GoB,SAAAoC,GACpB,IAAM3E,EAAO0C,EAAQK,QACf6B,EAAMD,EAAMC,IAOZrD,GAAemC,EAAAA,EAAAA,GAAc1D,GAAM6E,cACzC,GAAY,cAARD,EAEFD,EAAMG,iBACNxD,EAAUtB,EAAMuB,EAAcrB,EAAiBsB,EAAwBzB,QAClE,GAAY,YAAR6E,EACTD,EAAMG,iBACNxD,EAAUtB,EAAMuB,EAAcrB,EAAiBsB,EAAwBnB,QAClE,GAAY,SAARuE,EACTD,EAAMG,iBACNxD,EAAUtB,EAAM,KAAME,EAAiBsB,EAAwBzB,QAC1D,GAAY,QAAR6E,EACTD,EAAMG,iBACNxD,EAAUtB,EAAM,KAAME,EAAiBsB,EAAwBnB,QAC1D,GAAmB,IAAfuE,EAAI3D,OAAc,CAC3B,IAAM8D,EAAWpC,EAAgBI,QAC3BiC,EAAWJ,EAAI5D,cACfiE,EAAWC,YAAYC,MACzBJ,EAAS5D,KAAKF,OAAS,IAErBgE,EAAWF,EAASlC,SAAW,KACjCkC,EAAS5D,KAAO,GAChB4D,EAAS7D,WAAY,EACrB6D,EAASnC,oBAAqB,GACrBmC,EAAS7D,WAAa8D,IAAaD,EAAS5D,KAAK,KAC1D4D,EAAS7D,WAAY,IAGzB6D,EAASlC,SAAWoC,EACpBF,EAAS5D,KAAKiE,KAAKJ,GACnB,IAAMK,EAAqB9D,IAAiBwD,EAAS7D,WAAaV,EAAoBe,EAAcwD,GAChGA,EAASnC,qBAAuByC,GAAsB/D,EAAUtB,EAAMuB,GAAc,EAAOC,EAAwBzB,EAAUgF,IAC/HJ,EAAMG,iBAENC,EAASnC,oBAAqB,CAElC,CACIL,GACFA,EAAUoC,EAEd,EA6DEH,SAAUtC,EAAY,GAAK,GAC1BjD,EAAO,CACRN,SAAU0F,IAEd,I,kECzOO,SAASiB,EAAoBtI,GAClC,OAAOC,EAAAA,EAAAA,GAAqB,UAAWD,EACzC,EACoBE,EAAAA,EAAAA,GAAuB,UAAW,CAAC,OAAQ,QAAS,SAAxE,ICDMC,EAAY,CAAC,cACjBoI,EAAa,CAAC,YAAa,WAAY,uBAAwB,gBAAiB,UAAW,OAAQ,aAAc,iBAAkB,qBAAsB,kBAAmB,WAcxKC,EAAa,CACjBC,SAAU,MACVC,WAAY,SAERC,EAAa,CACjBF,SAAU,MACVC,WAAY,QAaRE,GAAWvI,EAAAA,EAAAA,IAAOwI,EAAAA,GAAS,CAC/BC,kBAAmB,SAAAC,GAAI,OAAIC,EAAAA,EAAAA,IAAsBD,IAAkB,YAATA,CAAkB,EAC5EzI,KAAM,UACNN,KAAM,OACNO,kBAAmB,SAACC,EAAOC,GAAM,OAAKA,EAAOE,IAAI,GAJlCN,CAKd,CAAC,GACS4I,GAAY5I,EAAAA,EAAAA,IAAO6I,EAAAA,GAAc,CAC5C5I,KAAM,UACNN,KAAM,QACNO,kBAAmB,SAACC,EAAOC,GAAM,OAAKA,EAAO0I,KAAK,GAH3B9I,CAItB,CAID+I,UAAW,oBAEXC,wBAAyB,UAErBC,GAAejJ,EAAAA,EAAAA,IAAOkJ,EAAU,CACpCjJ,KAAM,UACNN,KAAM,OACNO,kBAAmB,SAACC,EAAOC,GAAM,OAAKA,EAAOuC,IAAI,GAH9B3C,CAIlB,CAEDmJ,QAAS,IA4MX,EA1M0BjI,EAAAA,YAAiB,SAAcC,EAASC,GAChE,IAAMjB,GAAQkB,EAAAA,EAAAA,GAAc,CAC1BlB,MAAOgB,EACPlB,KAAM,YAER2E,EAcMzE,EAbF0E,UAAAA,OAAS,IAAAD,GAAOA,EAChBtD,EAYEnB,EAZFmB,SAAQ8H,EAYNjJ,EAXFkJ,qBAAAA,OAAoB,IAAAD,GAAQA,EAAAE,EAW1BnJ,EAVFoJ,cAAAA,OAAa,IAAAD,EAAG,CAAC,EAACA,EAClBE,EASErJ,EATFqJ,QACAC,EAQEtJ,EARFsJ,KAAIC,EAQFvJ,EAPFwJ,WAAAA,OAAU,IAAAD,EAAG,CAAC,EAACA,EACfE,EAMEzJ,EANFyJ,eAAcC,EAMZ1J,EALF2J,mBAAAA,OAAkB,IAAAD,EAAG,OAAMA,EAAAE,EAKzB5J,EAJF6J,gBACEC,QADa,IAAAF,EAEX,CAAC,EAACA,GADJE,WAAU9E,EAGVhF,EADFiF,QAAAA,OAAO,IAAAD,EAAG,eAAcA,EAE1B6E,GAAkBnI,EAAAA,EAAAA,GAA8B1B,EAAM6J,gBAAiBlK,GACvE8B,GAAQC,EAAAA,EAAAA,GAA8B1B,EAAO+H,GACzCrC,GAAQqE,EAAAA,EAAAA,KACRC,EAA4B,QAApBtE,EAAMS,UACdjG,GAAaO,EAAAA,EAAAA,GAAS,CAAC,EAAGT,EAAO,CACrC0E,UAAAA,EACAwE,qBAAAA,EACAE,cAAAA,EACAU,WAAAA,EACAN,WAAAA,EACAG,mBAAAA,EACAE,gBAAAA,EACA5E,QAAAA,IAEIrD,EAvEkB,SAAA1B,GACxB,IACE0B,EACE1B,EADF0B,QAOF,OAAOE,EAAAA,EAAAA,GALO,CACZ3B,KAAM,CAAC,QACPwI,MAAO,CAAC,SACRnG,KAAM,CAAC,SAEoBsF,EAAqBlG,EACpD,CA6DkBG,CAAkB7B,GAC5B0E,EAAgBF,IAAcwE,GAAwBI,EACtDW,EAAqBlJ,EAAAA,OAAa,MAuBpCuF,GAAmB,EAqBvB,OAjBAvF,EAAAA,SAAe+F,IAAI3F,GAAU,SAACqF,EAAOC,GAChB1F,EAAAA,eAAqByF,KAQnCA,EAAMxG,MAAMoE,WACC,iBAAZa,GAA8BuB,EAAMxG,MAAM0G,WAEd,IAArBJ,KADTA,EAAkBG,GAKxB,KACoBzE,EAAAA,EAAAA,KAAKoG,GAAU3H,EAAAA,EAAAA,GAAS,CAC1C4I,QAASA,EACTa,aAAc,CACZjC,SAAU,SACVC,WAAY8B,EAAQ,QAAU,QAEhCG,gBAAiBH,EAAQhC,EAAaG,EACtCtG,MAAO,CACL8G,MAAOF,GAET2B,UAAW,CACTzB,OAAOlI,EAAAA,EAAAA,GAAS,CAAC,EAAG+I,EAAY,CAC9B5H,SAASnB,EAAAA,EAAAA,GAAS,CAAC,EAAG+I,EAAW5H,QAAS,CACxCzB,KAAMyB,EAAQ+G,WAIpBvH,UAAWQ,EAAQzB,KACnBmJ,KAAMA,EACNrI,IAAKA,EACL0I,mBAAoBA,EACpBE,iBAAiBpJ,EAAAA,EAAAA,GAAS,CACxBqJ,WAjEmB,SAACO,EAASC,GAC3BL,EAAmB1E,SACrB0E,EAAmB1E,QAAQC,wBAAwB6E,EAAS3E,GAE1DoE,GACFA,EAAWO,EAASC,EAExB,GA2DKT,GACH3J,WAAYA,GACXuB,EAAO,CACRG,QAAS6H,EACTtI,UAAuBa,EAAAA,EAAAA,KAAK8G,GAAcrI,EAAAA,EAAAA,GAAS,CACjDsE,UA/DsB,SAAAoC,GACN,QAAdA,EAAMC,MACRD,EAAMG,iBACF+B,GACFA,EAAQlC,EAAO,cAGrB,EAyDI3C,QAASyF,EACTvF,UAAWA,KAAmC,IAArB4B,GAA0B4C,GACnDtE,cAAeA,EACfK,QAASA,GACRmE,EAAe,CAChBhI,WAAWkB,EAAAA,EAAAA,GAAKV,EAAQY,KAAM4G,EAAchI,WAC5CD,SAAUA,OAGhB,G","sources":["../node_modules/@mui/material/List/listClasses.js","../node_modules/@mui/material/List/List.js","../node_modules/@mui/material/utils/getScrollbarSize.js","../node_modules/@mui/material/MenuList/MenuList.js","../node_modules/@mui/material/Menu/menuClasses.js","../node_modules/@mui/material/Menu/Menu.js"],"sourcesContent":["import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getListUtilityClass(slot) {\n return generateUtilityClass('MuiList', slot);\n}\nconst listClasses = generateUtilityClasses('MuiList', ['root', 'padding', 'dense', 'subheader']);\nexport default listClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"component\", \"dense\", \"disablePadding\", \"subheader\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from './ListContext';\nimport { getListUtilityClass } from './listClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePadding,\n dense,\n subheader\n } = ownerState;\n const slots = {\n root: ['root', !disablePadding && 'padding', dense && 'dense', subheader && 'subheader']\n };\n return composeClasses(slots, getListUtilityClass, classes);\n};\nconst ListRoot = styled('ul', {\n name: 'MuiList',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disablePadding && styles.padding, ownerState.dense && styles.dense, ownerState.subheader && styles.subheader];\n }\n})(({\n ownerState\n}) => _extends({\n listStyle: 'none',\n margin: 0,\n padding: 0,\n position: 'relative'\n}, !ownerState.disablePadding && {\n paddingTop: 8,\n paddingBottom: 8\n}, ownerState.subheader && {\n paddingTop: 0\n}));\nconst List = /*#__PURE__*/React.forwardRef(function List(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiList'\n });\n const {\n children,\n className,\n component = 'ul',\n dense = false,\n disablePadding = false,\n subheader\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = React.useMemo(() => ({\n dense\n }), [dense]);\n const ownerState = _extends({}, props, {\n component,\n dense,\n disablePadding\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: context,\n children: /*#__PURE__*/_jsxs(ListRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState\n }, other, {\n children: [subheader, children]\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? List.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 * If `true`, compact vertical padding designed for keyboard and mouse input is used for\n * the list and list items.\n * The prop is available to descendant components as the `dense` context.\n * @default false\n */\n dense: PropTypes.bool,\n /**\n * If `true`, vertical padding is removed from the list.\n * @default false\n */\n disablePadding: PropTypes.bool,\n /**\n * The content of the subheader, normally `ListSubheader`.\n */\n subheader: PropTypes.node,\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} : void 0;\nexport default List;","import { unstable_getScrollbarSize as getScrollbarSize } from '@mui/utils';\nexport default getScrollbarSize;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"actions\", \"autoFocus\", \"autoFocusItem\", \"children\", \"className\", \"disabledItemsFocusable\", \"disableListWrap\", \"onKeyDown\", \"variant\"];\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport ownerDocument from '../utils/ownerDocument';\nimport List from '../List';\nimport getScrollbarSize from '../utils/getScrollbarSize';\nimport useForkRef from '../utils/useForkRef';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction nextItem(list, item, disableListWrap) {\n if (list === item) {\n return list.firstChild;\n }\n if (item && item.nextElementSibling) {\n return item.nextElementSibling;\n }\n return disableListWrap ? null : list.firstChild;\n}\nfunction previousItem(list, item, disableListWrap) {\n if (list === item) {\n return disableListWrap ? list.firstChild : list.lastChild;\n }\n if (item && item.previousElementSibling) {\n return item.previousElementSibling;\n }\n return disableListWrap ? null : list.lastChild;\n}\nfunction textCriteriaMatches(nextFocus, textCriteria) {\n if (textCriteria === undefined) {\n return true;\n }\n let text = nextFocus.innerText;\n if (text === undefined) {\n // jsdom doesn't support innerText\n text = nextFocus.textContent;\n }\n text = text.trim().toLowerCase();\n if (text.length === 0) {\n return false;\n }\n if (textCriteria.repeating) {\n return text[0] === textCriteria.keys[0];\n }\n return text.indexOf(textCriteria.keys.join('')) === 0;\n}\nfunction moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, traversalFunction, textCriteria) {\n let wrappedOnce = false;\n let nextFocus = traversalFunction(list, currentFocus, currentFocus ? disableListWrap : false);\n while (nextFocus) {\n // Prevent infinite loop.\n if (nextFocus === list.firstChild) {\n if (wrappedOnce) {\n return false;\n }\n wrappedOnce = true;\n }\n\n // Same logic as useAutocomplete.js\n const nextFocusDisabled = disabledItemsFocusable ? false : nextFocus.disabled || nextFocus.getAttribute('aria-disabled') === 'true';\n if (!nextFocus.hasAttribute('tabindex') || !textCriteriaMatches(nextFocus, textCriteria) || nextFocusDisabled) {\n // Move to the next element.\n nextFocus = traversalFunction(list, nextFocus, disableListWrap);\n } else {\n nextFocus.focus();\n return true;\n }\n }\n return false;\n}\n\n/**\n * A permanently displayed menu following https://www.w3.org/WAI/ARIA/apg/patterns/menu-button/.\n * It's exposed to help customization of the [`Menu`](/material-ui/api/menu/) component if you\n * use it separately you need to move focus into the component manually. Once\n * the focus is placed inside the component it is fully keyboard accessible.\n */\nconst MenuList = /*#__PURE__*/React.forwardRef(function MenuList(props, ref) {\n const {\n // private\n // eslint-disable-next-line react/prop-types\n actions,\n autoFocus = false,\n autoFocusItem = false,\n children,\n className,\n disabledItemsFocusable = false,\n disableListWrap = false,\n onKeyDown,\n variant = 'selectedMenu'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const listRef = React.useRef(null);\n const textCriteriaRef = React.useRef({\n keys: [],\n repeating: true,\n previousKeyMatched: true,\n lastTime: null\n });\n useEnhancedEffect(() => {\n if (autoFocus) {\n listRef.current.focus();\n }\n }, [autoFocus]);\n React.useImperativeHandle(actions, () => ({\n adjustStyleForScrollbar: (containerElement, theme) => {\n // Let's ignore that piece of logic if users are already overriding the width\n // of the menu.\n const noExplicitWidth = !listRef.current.style.width;\n if (containerElement.clientHeight < listRef.current.clientHeight && noExplicitWidth) {\n const scrollbarSize = `${getScrollbarSize(ownerDocument(containerElement))}px`;\n listRef.current.style[theme.direction === 'rtl' ? 'paddingLeft' : 'paddingRight'] = scrollbarSize;\n listRef.current.style.width = `calc(100% + ${scrollbarSize})`;\n }\n return listRef.current;\n }\n }), []);\n const handleKeyDown = event => {\n const list = listRef.current;\n const key = event.key;\n /**\n * @type {Element} - will always be defined since we are in a keydown handler\n * attached to an element. A keydown event is either dispatched to the activeElement\n * or document.body or document.documentElement. Only the first case will\n * trigger this specific handler.\n */\n const currentFocus = ownerDocument(list).activeElement;\n if (key === 'ArrowDown') {\n // Prevent scroll of the page\n event.preventDefault();\n moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, nextItem);\n } else if (key === 'ArrowUp') {\n event.preventDefault();\n moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, previousItem);\n } else if (key === 'Home') {\n event.preventDefault();\n moveFocus(list, null, disableListWrap, disabledItemsFocusable, nextItem);\n } else if (key === 'End') {\n event.preventDefault();\n moveFocus(list, null, disableListWrap, disabledItemsFocusable, previousItem);\n } else if (key.length === 1) {\n const criteria = textCriteriaRef.current;\n const lowerKey = key.toLowerCase();\n const currTime = performance.now();\n if (criteria.keys.length > 0) {\n // Reset\n if (currTime - criteria.lastTime > 500) {\n criteria.keys = [];\n criteria.repeating = true;\n criteria.previousKeyMatched = true;\n } else if (criteria.repeating && lowerKey !== criteria.keys[0]) {\n criteria.repeating = false;\n }\n }\n criteria.lastTime = currTime;\n criteria.keys.push(lowerKey);\n const keepFocusOnCurrent = currentFocus && !criteria.repeating && textCriteriaMatches(currentFocus, criteria);\n if (criteria.previousKeyMatched && (keepFocusOnCurrent || moveFocus(list, currentFocus, false, disabledItemsFocusable, nextItem, criteria))) {\n event.preventDefault();\n } else {\n criteria.previousKeyMatched = false;\n }\n }\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n const handleRef = useForkRef(listRef, ref);\n\n /**\n * the index of the item should receive focus\n * in a `variant=\"selectedMenu\"` it's the first `selected` item\n * otherwise it's the very first item.\n */\n let activeItemIndex = -1;\n // since we inject focus related props into children we have to do a lookahead\n // to check if there is a `selected` item. We're looking for the last `selected`\n // item and use the first valid item as a fallback\n React.Children.forEach(children, (child, index) => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n if (activeItemIndex === index) {\n activeItemIndex += 1;\n if (activeItemIndex >= children.length) {\n // there are no focusable items within the list.\n activeItemIndex = -1;\n }\n }\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"MUI: The Menu component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n if (!child.props.disabled) {\n if (variant === 'selectedMenu' && child.props.selected) {\n activeItemIndex = index;\n } else if (activeItemIndex === -1) {\n activeItemIndex = index;\n }\n }\n if (activeItemIndex === index && (child.props.disabled || child.props.muiSkipListHighlight || child.type.muiSkipListHighlight)) {\n activeItemIndex += 1;\n if (activeItemIndex >= children.length) {\n // there are no focusable items within the list.\n activeItemIndex = -1;\n }\n }\n });\n const items = React.Children.map(children, (child, index) => {\n if (index === activeItemIndex) {\n const newChildProps = {};\n if (autoFocusItem) {\n newChildProps.autoFocus = true;\n }\n if (child.props.tabIndex === undefined && variant === 'selectedMenu') {\n newChildProps.tabIndex = 0;\n }\n return /*#__PURE__*/React.cloneElement(child, newChildProps);\n }\n return child;\n });\n return /*#__PURE__*/_jsx(List, _extends({\n role: \"menu\",\n ref: handleRef,\n className: className,\n onKeyDown: handleKeyDown,\n tabIndex: autoFocus ? 0 : -1\n }, other, {\n children: items\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuList.propTypes /* remove-proptypes */ = {\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 * If `true`, will focus the `[role=\"menu\"]` container and move into tab order.\n * @default false\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true`, will focus the first menuitem if `variant=\"menu\"` or selected item\n * if `variant=\"selectedMenu\"`.\n * @default false\n */\n autoFocusItem: PropTypes.bool,\n /**\n * MenuList contents, normally `MenuItem`s.\n */\n children: PropTypes.node,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, will allow focus on disabled items.\n * @default false\n */\n disabledItemsFocusable: PropTypes.bool,\n /**\n * If `true`, the menu items will not wrap focus.\n * @default false\n */\n disableListWrap: PropTypes.bool,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * The variant to use. Use `menu` to prevent selected items from impacting the initial focus\n * and the vertical alignment relative to the anchor element.\n * @default 'selectedMenu'\n */\n variant: PropTypes.oneOf(['menu', 'selectedMenu'])\n} : void 0;\nexport default MenuList;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getMenuUtilityClass(slot) {\n return generateUtilityClass('MuiMenu', slot);\n}\nconst menuClasses = generateUtilityClasses('MuiMenu', ['root', 'paper', 'list']);\nexport default menuClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"onEntering\"],\n _excluded2 = [\"autoFocus\", \"children\", \"disableAutoFocusItem\", \"MenuListProps\", \"onClose\", \"open\", \"PaperProps\", \"PopoverClasses\", \"transitionDuration\", \"TransitionProps\", \"variant\"];\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { HTMLElementType } from '@mui/utils';\nimport MenuList from '../MenuList';\nimport Popover, { PopoverPaper } from '../Popover';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useTheme from '../styles/useTheme';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getMenuUtilityClass } from './menuClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst RTL_ORIGIN = {\n vertical: 'top',\n horizontal: 'right'\n};\nconst LTR_ORIGIN = {\n vertical: 'top',\n horizontal: 'left'\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n paper: ['paper'],\n list: ['list']\n };\n return composeClasses(slots, getMenuUtilityClass, classes);\n};\nconst MenuRoot = styled(Popover, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenu',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nexport const MenuPaper = styled(PopoverPaper, {\n name: 'MuiMenu',\n slot: 'Paper',\n overridesResolver: (props, styles) => styles.paper\n})({\n // specZ: The maximum height of a simple menu should be one or more rows less than the view\n // height. This ensures a tappable area outside of the simple menu with which to dismiss\n // the menu.\n maxHeight: 'calc(100% - 96px)',\n // Add iOS momentum scrolling for iOS < 13.0\n WebkitOverflowScrolling: 'touch'\n});\nconst MenuMenuList = styled(MenuList, {\n name: 'MuiMenu',\n slot: 'List',\n overridesResolver: (props, styles) => styles.list\n})({\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0\n});\nconst Menu = /*#__PURE__*/React.forwardRef(function Menu(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenu'\n });\n const {\n autoFocus = true,\n children,\n disableAutoFocusItem = false,\n MenuListProps = {},\n onClose,\n open,\n PaperProps = {},\n PopoverClasses,\n transitionDuration = 'auto',\n TransitionProps: {\n onEntering\n } = {},\n variant = 'selectedMenu'\n } = props,\n TransitionProps = _objectWithoutPropertiesLoose(props.TransitionProps, _excluded),\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n const theme = useTheme();\n const isRtl = theme.direction === 'rtl';\n const ownerState = _extends({}, props, {\n autoFocus,\n disableAutoFocusItem,\n MenuListProps,\n onEntering,\n PaperProps,\n transitionDuration,\n TransitionProps,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const autoFocusItem = autoFocus && !disableAutoFocusItem && open;\n const menuListActionsRef = React.useRef(null);\n const handleEntering = (element, isAppearing) => {\n if (menuListActionsRef.current) {\n menuListActionsRef.current.adjustStyleForScrollbar(element, theme);\n }\n if (onEntering) {\n onEntering(element, isAppearing);\n }\n };\n const handleListKeyDown = event => {\n if (event.key === 'Tab') {\n event.preventDefault();\n if (onClose) {\n onClose(event, 'tabKeyDown');\n }\n }\n };\n\n /**\n * the index of the item should receive focus\n * in a `variant=\"selectedMenu\"` it's the first `selected` item\n * otherwise it's the very first item.\n */\n let activeItemIndex = -1;\n // since we inject focus related props into children we have to do a lookahead\n // to check if there is a `selected` item. We're looking for the last `selected`\n // item and use the first valid item as a fallback\n React.Children.map(children, (child, index) => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"MUI: The Menu component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n if (!child.props.disabled) {\n if (variant === 'selectedMenu' && child.props.selected) {\n activeItemIndex = index;\n } else if (activeItemIndex === -1) {\n activeItemIndex = index;\n }\n }\n });\n return /*#__PURE__*/_jsx(MenuRoot, _extends({\n onClose: onClose,\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: isRtl ? 'right' : 'left'\n },\n transformOrigin: isRtl ? RTL_ORIGIN : LTR_ORIGIN,\n slots: {\n paper: MenuPaper\n },\n slotProps: {\n paper: _extends({}, PaperProps, {\n classes: _extends({}, PaperProps.classes, {\n root: classes.paper\n })\n })\n },\n className: classes.root,\n open: open,\n ref: ref,\n transitionDuration: transitionDuration,\n TransitionProps: _extends({\n onEntering: handleEntering\n }, TransitionProps),\n ownerState: ownerState\n }, other, {\n classes: PopoverClasses,\n children: /*#__PURE__*/_jsx(MenuMenuList, _extends({\n onKeyDown: handleListKeyDown,\n actions: menuListActionsRef,\n autoFocus: autoFocus && (activeItemIndex === -1 || disableAutoFocusItem),\n autoFocusItem: autoFocusItem,\n variant: variant\n }, MenuListProps, {\n className: clsx(classes.list, MenuListProps.className),\n children: children\n }))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Menu.propTypes /* remove-proptypes */ = {\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 * An HTML element, or a function that returns one.\n * It's used to set the position of the menu.\n */\n anchorEl: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * If `true` (Default) will focus the `[role=\"menu\"]` if no focusable child is found. Disabled\n * children are not focusable. If you set this prop to `false` focus will be placed\n * on the parent modal container. This has severe accessibility implications\n * and should only be considered if you manage focus otherwise.\n * @default true\n */\n autoFocus: PropTypes.bool,\n /**\n * Menu contents, normally `MenuItem`s.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * When opening the menu will not focus the active item but the `[role=\"menu\"]`\n * unless `autoFocus` is also set to `false`. Not using the default means not\n * following WAI-ARIA authoring practices. Please be considerate about possible\n * accessibility implications.\n * @default false\n */\n disableAutoFocusItem: PropTypes.bool,\n /**\n * Props applied to the [`MenuList`](/material-ui/api/menu-list/) element.\n * @default {}\n */\n MenuListProps: PropTypes.object,\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {object} event The event source of the callback.\n * @param {string} reason Can be: `\"escapeKeyDown\"`, `\"backdropClick\"`, `\"tabKeyDown\"`.\n */\n onClose: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * @ignore\n */\n PaperProps: PropTypes.object,\n /**\n * `classes` prop applied to the [`Popover`](/material-ui/api/popover/) element.\n */\n PopoverClasses: PropTypes.object,\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 * The length of the transition in `ms`, or 'auto'\n * @default 'auto'\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](http://reactcommunity.org/react-transition-group/transition/) component.\n * @default {}\n */\n TransitionProps: PropTypes.object,\n /**\n * The variant to use. Use `menu` to prevent selected items from impacting the initial focus.\n * @default 'selectedMenu'\n */\n variant: PropTypes.oneOf(['menu', 'selectedMenu'])\n} : void 0;\nexport default Menu;"],"names":["getListUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","ListRoot","styled","name","overridesResolver","props","styles","ownerState","root","disablePadding","padding","dense","subheader","_ref","_extends","listStyle","margin","position","paddingTop","paddingBottom","React","inProps","ref","useThemeProps","children","className","_props$component","component","_props$dense","_props$disablePadding","other","_objectWithoutPropertiesLoose","context","classes","slots","composeClasses","useUtilityClasses","_jsx","ListContext","Provider","value","_jsxs","as","clsx","nextItem","list","item","disableListWrap","firstChild","nextElementSibling","previousItem","lastChild","previousElementSibling","textCriteriaMatches","nextFocus","textCriteria","undefined","text","innerText","textContent","trim","toLowerCase","length","repeating","keys","indexOf","join","moveFocus","currentFocus","disabledItemsFocusable","traversalFunction","wrappedOnce","nextFocusDisabled","disabled","getAttribute","hasAttribute","focus","actions","_props$autoFocus","autoFocus","_props$autoFocusItem","autoFocusItem","_props$disabledItemsF","_props$disableListWra","onKeyDown","_props$variant","variant","listRef","textCriteriaRef","previousKeyMatched","lastTime","useEnhancedEffect","current","adjustStyleForScrollbar","containerElement","theme","noExplicitWidth","style","width","clientHeight","scrollbarSize","concat","getScrollbarSize","ownerDocument","direction","handleRef","useForkRef","activeItemIndex","forEach","child","index","selected","muiSkipListHighlight","type","items","map","newChildProps","tabIndex","List","role","event","key","activeElement","preventDefault","criteria","lowerKey","currTime","performance","now","push","keepFocusOnCurrent","getMenuUtilityClass","_excluded2","RTL_ORIGIN","vertical","horizontal","LTR_ORIGIN","MenuRoot","Popover","shouldForwardProp","prop","rootShouldForwardProp","MenuPaper","PopoverPaper","paper","maxHeight","WebkitOverflowScrolling","MenuMenuList","MenuList","outline","_props$disableAutoFoc","disableAutoFocusItem","_props$MenuListProps","MenuListProps","onClose","open","_props$PaperProps","PaperProps","PopoverClasses","_props$transitionDura","transitionDuration","_props$TransitionProp","TransitionProps","onEntering","useTheme","isRtl","menuListActionsRef","anchorOrigin","transformOrigin","slotProps","element","isAppearing"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1829.0e821c64.chunk.js b/portal-ui/build/static/js/1829.0e821c64.chunk.js new file mode 100644 index 000000000..e58f09394 --- /dev/null +++ b/portal-ui/build/static/js/1829.0e821c64.chunk.js @@ -0,0 +1,2 @@ +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1829],{47986:function(e,n,t){"use strict";t(72791);var a=t(61889),o=t(64554),r=t(29945),i=t(80184);n.Z=function(e){var n=e.iconComponent,t=e.entity;return(0,i.jsx)(a.ZP,{container:!0,alignItems:"center",children:(0,i.jsx)(a.ZP,{item:!0,xs:12,children:(0,i.jsx)(r.KfX,{title:"".concat(t," not available"),iconComponent:n,help:(0,i.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,i.jsx)("div",{children:"This feature is not available for a single-disk setup."}),(0,i.jsxs)("div",{children:["Please deploy a server in"," ",(0,i.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:"noopener",children:"Distributed Mode"})," ","to use this feature."]})]})})})})}},34866:function(e,n,t){"use strict";var a=t(1413),o=t(72791),r=t(61889),i=t(94454),s=t(30829),c=t(20068),l=t(11135),d=t(25787),u=t(23814),f=t(29945),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,b=void 0!==x&&x,m=e.noTopMargin,g=void 0!==m&&m,j=e.tooltip,v=void 0===j?"":j,Z=e.overrideLabelClasses,y=void 0===Z?"":Z,k=e.overrideCheckboxStyles,C=e.classes,S=e.className;return(0,h.jsx)(o.Fragment,{children:(0,h.jsxs)(r.ZP,{item:!0,xs:12,className:"".concat(C.fieldContainer," ").concat(g?C.noTopMargin:""," ").concat(S||""),children:[(0,h.jsx)("div",{children:(0,h.jsx)(i.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:b,disableRipple:!0,disableFocusRipple:!0,focusRipple:!1,centerRipple:!1,disableTouchRipple:!0,style:k||{}})}),""!==n&&(0,h.jsxs)(s.Z,{htmlFor:l,className:"".concat(C.noMinWidthLabel," ").concat(y),children:[(0,h.jsx)("span",{children:n}),""!==v&&(0,h.jsx)("div",{className:C.tooltipContainer,children:(0,h.jsx)(c.Z,{title:v,placement:"top-start",children:(0,h.jsx)("div",{className:C.tooltip,children:(0,h.jsx)(f.byK,{})})})})]})]})})}))},61829:function(e,n,t){"use strict";t.r(n);var a=t(29439),o=t(1413),r=t(72791),i=t(78687),s=t(76098),c=t(61889),l=t(68096),d=t(58406),u=t(77865),f=t(27391),h=t(95087),p=t(29945),x=t(11135),b=t(25787),m=t(26824),g=t(45248),j=t(23814),v=t(56087),Z=t(34866),y=t(38442),k=t(47986),C=t(87995),S=t(72455),w=t(47974),N=t(20601),T=t(38725),H=t(82839),E=t(90466),D=t(12891),I=t(35667),P=t(57702),B=t(83672),R=t(99670),_=t(81551),A=t(31776),F=t(82342),O=t(80184),G=(0,S.Z)((function(e){return(0,x.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)({},j.qg.searchField),{},{marginLeft:10,flex:1}),actionsTray:(0,o.Z)((0,o.Z)({},j.OR.actionsTray),{},{marginBottom:0})},j.IX),j.qg),j.Bz))})),z=(0,b.Z)((function(e){return(0,x.Z)({root:{lineHeight:"50px",marginRight:15,"label + &":{marginTop:e.spacing(3)},"& .MuiSelect-select:focus":{backgroundColor:"transparent"}}})}))(s.ZP);n.default=function(){var e=G(),n=(0,i.v9)(C.N5),t=(0,r.useState)(!1),o=(0,a.Z)(t,2),s=o[0],x=o[1],b=(0,r.useState)(""),j=(0,a.Z)(b,2),S=j[0],M=j[1],L=(0,r.useState)([]),K=(0,a.Z)(L,2),Y=K[0],U=K[1],W=(0,r.useState)(""),q=(0,a.Z)(W,2),X=q[0],$=q[1],J=(0,r.useState)(!1),V=(0,a.Z)(J,2),Q=V[0],ee=V[1],ne=(0,r.useState)(!1),te=(0,a.Z)(ne,2),ae=te[0],oe=te[1],re=(0,r.useState)(!1),ie=(0,a.Z)(re,2),se=ie[0],ce=ie[1],le=(0,r.useState)({beforeHeal:[0,0,0,0],afterHeal:[0,0,0,0],objectsHealed:0,objectsScanned:0,healDuration:0,sizeScanned:""}),de=(0,a.Z)(le,2),ue=de[0],fe=de[1];(0,r.useEffect)((function(){A.h.buckets.listBuckets().then((function(e){var n=[];e.data.buckets&&(n=e.data.buckets),U(n)})).catch((function(e){console.error((0,F.g)(e.error))}))}),[]),(0,r.useEffect)((function(){!0===ae&&ce(!1)}),[ae]),(0,r.useEffect)((function(){!0===se&&oe(!1)}),[se]);var he=function(e){return[e.Green,e.Yellow,e.Red,e.Grey]};(0,r.useEffect)((function(){if(s){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,r=new URL(document.baseURI).pathname,i=(0,m.x2)(t.protocol),c=new h.w3cwebsocket("".concat(i,"://").concat(t.hostname,":").concat(o).concat(r,"ws/heal/").concat(S,"?prefix=").concat(X,"&recursive=").concat(Q,"&force-start=").concat(ae,"&force-stop=").concat(se));if(null!==c)return c.onopen=function(){console.log("WebSocket Client Connected"),c.send("ok")},c.onmessage=function(t){for(var o=JSON.parse(t.data.toString()),r=0,i=Object.entries(o.healthAfterCols);r.\n\nimport React from \"react\";\nimport { Box, Grid } from \"@mui/material\";\nimport { HelpBox } from \"mds\";\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 \"mds\";\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 {\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, HealIcon, PageLayout } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { wsProtocol } from \"../../../utils/wsUtils\";\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 CheckboxWrapper from \"../Common/FormComponents/CheckboxWrapper/CheckboxWrapper\";\nimport { SecureComponent } from \"../../../common/SecureComponent\";\nimport DistributedOnly from \"../Common/DistributedOnly/DistributedOnly\";\nimport { selDistSet, setHelpName } from \"../../../systemSlice\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport {\n Bar,\n BarChart,\n CartesianGrid,\n ResponsiveContainer,\n Tooltip,\n XAxis,\n YAxis,\n} from \"recharts\";\nimport { Legend } from \"recharts\";\nimport HelpMenu from \"../HelpMenu\";\nimport { useAppDispatch } from \"../../../store\";\nimport { api } from \"api\";\nimport { Bucket } from \"api/consoleApi\";\nimport { errorToHandler } from \"api/errors\";\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,\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.buckets\n .listBuckets()\n .then((res) => {\n let buckets: Bucket[] = [];\n if (res.data.buckets) {\n buckets = res.data.buckets;\n }\n setBucketList(buckets);\n })\n .catch((err) => {\n console.error(errorToHandler(err.error));\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 {\n name: \"Green\",\n ah: hStatus.afterHeal[0],\n bh: hStatus.beforeHeal[0],\n amt: 100,\n },\n {\n name: \"Yellow\",\n ah: hStatus.afterHeal[1],\n bh: hStatus.beforeHeal[1],\n amt: 100,\n },\n {\n name: \"Red\",\n ah: hStatus.afterHeal[2],\n bh: hStatus.beforeHeal[2],\n amt: 100,\n },\n {\n name: \"Grey\",\n ah: hStatus.afterHeal[3],\n bh: hStatus.beforeHeal[3],\n amt: 100,\n },\n ];\n const bucketNames = bucketList.map((bucketName) => ({\n label: bucketName.name,\n value: bucketName.name,\n }));\n const dispatch = useAppDispatch();\n useEffect(() => {\n dispatch(setHelpName(\"heal\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \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 \n \n \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 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","var naiveFallback = function () {\n\tif (typeof self === \"object\" && self) return self;\n\tif (typeof window === \"object\" && window) return window;\n\tthrow new Error(\"Unable to resolve global `this`\");\n};\n\nmodule.exports = (function () {\n\tif (this) return this;\n\n\t// Unexpected strict mode (may happen if e.g. bundled into ESM module)\n\n\t// Fallback to standard globalThis if available\n\tif (typeof globalThis === \"object\" && globalThis) return globalThis;\n\n\t// Thanks @mathiasbynens -> https://mathiasbynens.be/notes/globalthis\n\t// In all ES5+ engines global object inherits from Object.prototype\n\t// (if you approached one that doesn't please report)\n\ttry {\n\t\tObject.defineProperty(Object.prototype, \"__global__\", {\n\t\t\tget: function () { return this; },\n\t\t\tconfigurable: true\n\t\t});\n\t} catch (error) {\n\t\t// Unfortunate case of updates to Object.prototype being restricted\n\t\t// via preventExtensions, seal or freeze\n\t\treturn naiveFallback();\n\t}\n\ttry {\n\t\t// Safari case (window.__global__ works, but __global__ does not)\n\t\tif (!__global__) return naiveFallback();\n\t\treturn __global__;\n\t} finally {\n\t\tdelete Object.prototype.__global__;\n\t}\n})();\n","/**\n * @fileOverview Bar Chart\n */\nimport { generateCategoricalChart } from './generateCategoricalChart';\nimport { Bar } from '../cartesian/Bar';\nimport { XAxis } from '../cartesian/XAxis';\nimport { YAxis } from '../cartesian/YAxis';\nimport { formatAxisMap } from '../util/CartesianUtils';\nexport var BarChart = generateCategoricalChart({\n chartName: 'BarChart',\n GraphicalChild: Bar,\n defaultTooltipEventType: 'axis',\n validateTooltipEventTypes: ['axis', 'item'],\n axisComponents: [{\n axisType: 'xAxis',\n AxisComp: XAxis\n }, {\n axisType: 'yAxis',\n AxisComp: YAxis\n }],\n formatAxisMap: formatAxisMap\n});","var _globalThis;\nif (typeof globalThis === 'object') {\n\t_globalThis = globalThis;\n} else {\n\ttry {\n\t\t_globalThis = require('es5-ext/global');\n\t} catch (error) {\n\t} finally {\n\t\tif (!_globalThis && typeof window !== 'undefined') { _globalThis = window; }\n\t\tif (!_globalThis) { throw new Error('Could not determine global this'); }\n\t}\n}\n\nvar NativeWebSocket = _globalThis.WebSocket || _globalThis.MozWebSocket;\nvar websocket_version = require('./version');\n\n\n/**\n * Expose a W3C WebSocket class with just one or two arguments.\n */\nfunction W3CWebSocket(uri, protocols) {\n\tvar native_instance;\n\n\tif (protocols) {\n\t\tnative_instance = new NativeWebSocket(uri, protocols);\n\t}\n\telse {\n\t\tnative_instance = new NativeWebSocket(uri);\n\t}\n\n\t/**\n\t * 'native_instance' is an instance of nativeWebSocket (the browser's WebSocket\n\t * class). Since it is an Object it will be returned as it is when creating an\n\t * instance of W3CWebSocket via 'new W3CWebSocket()'.\n\t *\n\t * ECMAScript 5: http://bclary.com/2004/11/07/#a-13.2.2\n\t */\n\treturn native_instance;\n}\nif (NativeWebSocket) {\n\t['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'].forEach(function(prop) {\n\t\tObject.defineProperty(W3CWebSocket, prop, {\n\t\t\tget: function() { return NativeWebSocket[prop]; }\n\t\t});\n\t});\n}\n\n/**\n * Module exports.\n */\nmodule.exports = {\n 'w3cwebsocket' : NativeWebSocket ? W3CWebSocket : null,\n 'version' : websocket_version\n};\n","module.exports = require('../package.json').version;\n"],"names":["_ref","iconComponent","entity","_jsx","Grid","container","alignItems","children","item","xs","HelpBox","title","concat","help","_jsxs","Box","sx","fontSize","display","border","flexFlow","md","color","theme","colors","link","textDecoration","href","target","rel","withStyles","createStyles","_objectSpread","fieldBasic","tooltipHelper","checkboxIcons","fieldContainer","justifyContent","margin","marginBottom","flexBasis","flexWrap","noTopMargin","marginTop","label","onChange","value","id","name","_ref$checked","checked","_ref$disabled","disabled","_ref$noTopMargin","_ref$tooltip","tooltip","_ref$overrideLabelCla","overrideLabelClasses","overrideCheckboxStyles","classes","className","React","Checkbox","inputProps","checkedIcon","icon","unCheckedIcon","disableRipple","disableFocusRipple","focusRipple","centerRipple","disableTouchRipple","style","InputLabel","htmlFor","noMinWidthLabel","tooltipContainer","Tooltip","placement","HelpIcon","useStyles","makeStyles","graphContainer","backgroundColor","borderRadius","padding","scanInfo","flexDirection","scanData","formBox","buttonBar","bucketField","flex","prefixField","searchField","marginLeft","actionsTray","inlineCheckboxes","containerForHeader","SelectStyled","root","lineHeight","marginRight","spacing","InputBase","distributedSetup","useSelector","selDistSet","_useState","useState","_useState2","_slicedToArray","start","setStart","_useState3","_useState4","bucketName","setBucketName","_useState5","_useState6","bucketList","setBucketList","_useState7","_useState8","prefix","setPrefix","_useState9","_useState10","recursive","setRecursive","_useState11","_useState12","forceStart","setForceStart","_useState13","_useState14","forceStop","setForceStop","_useState15","beforeHeal","afterHeal","objectsHealed","objectsScanned","healDuration","sizeScanned","_useState16","hStatus","setHStatus","useEffect","api","buckets","listBuckets","then","res","data","catch","err","console","error","errorToHandler","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","_i","_Object$entries","Object","entries","healthAfterCols","length","_Object$entries$_i","key","itemsScanned","_i2","_Object$entries2","healthBeforeCols","_Object$entries2$_i","niceBytes","bytesScanned","onclose","close","ah","bh","amt","bucketNames","map","dispatch","useAppDispatch","setHelpName","Fragment","PageHeaderWrapper","actions","HelpMenu","PageLayout","SecureComponent","scopes","IAM_SCOPES","ADMIN_HEAL","resource","CONSOLE_UI_RESOURCE","FormControl","variant","Select","e","input","displayEmpty","MenuItem","option","TextField","InputProps","disableUnderline","CheckboxWrapper","Button","type","onClick","ResponsiveContainer","width","height","BarChart","top","right","left","bottom","CartesianGrid","strokeDasharray","XAxis","dataKey","YAxis","Legend","verticalAlign","layout","Bar","fill","stroke","DistributedOnly","HealIcon","WSCloseAbnormalClosure","WSClosePolicyViolation","WSCloseInternalServerErr","naiveFallback","self","Error","module","exports","this","globalThis","defineProperty","prototype","get","configurable","__global__","generateCategoricalChart","chartName","GraphicalChild","defaultTooltipEventType","validateTooltipEventTypes","axisComponents","axisType","AxisComp","formatAxisMap","_globalThis","require","NativeWebSocket","WebSocket","MozWebSocket","websocket_version","uri","protocols","forEach","prop"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1829.11d4b426.chunk.js b/portal-ui/build/static/js/1829.11d4b426.chunk.js deleted file mode 100644 index ea2e50ad0..000000000 --- a/portal-ui/build/static/js/1829.11d4b426.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1829],{47986:function(e,n,t){"use strict";t(72791);var a=t(61889),o=t(64554),r=t(29945),i=t(80184);n.Z=function(e){var n=e.iconComponent,t=e.entity;return(0,i.jsx)(a.ZP,{container:!0,alignItems:"center",children:(0,i.jsx)(a.ZP,{item:!0,xs:12,children:(0,i.jsx)(r.KfX,{title:"".concat(t," not available"),iconComponent:n,help:(0,i.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,i.jsx)("div",{children:"This feature is not available for a single-disk setup."}),(0,i.jsxs)("div",{children:["Please deploy a server in"," ",(0,i.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:"noopener",children:"Distributed Mode"})," ","to use this feature."]})]})})})})}},34866:function(e,n,t){"use strict";var a=t(1413),o=t(72791),r=t(61889),i=t(94454),c=t(30829),s=t(20068),l=t(11135),d=t(25787),u=t(23814),f=t(29945),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,m=e.disabled,b=void 0!==m&&m,x=e.noTopMargin,v=void 0!==x&&x,g=e.tooltip,Z=void 0===g?"":g,j=e.overrideLabelClasses,k=void 0===j?"":j,y=e.overrideCheckboxStyles,C=e.classes,S=e.className;return(0,h.jsx)(o.Fragment,{children:(0,h.jsxs)(r.ZP,{item:!0,xs:12,className:"".concat(C.fieldContainer," ").concat(v?C.noTopMargin:""," ").concat(S||""),children:[(0,h.jsx)("div",{children:(0,h.jsx)(i.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:b,disableRipple:!0,disableFocusRipple:!0,focusRipple:!1,centerRipple:!1,disableTouchRipple:!0,style:y||{}})}),""!==n&&(0,h.jsxs)(c.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)(s.Z,{title:Z,placement:"top-start",children:(0,h.jsx)("div",{className:C.tooltip,children:(0,h.jsx)(f.byK,{})})})})]})]})})}))},61829:function(e,n,t){"use strict";t.r(n);var a=t(29439),o=t(1413),r=t(72791),i=t(78687),c=t(886),s=t(61889),l=t(68096),d=t(58406),u=t(77865),f=t(27391),h=t(95087),p=t(29945),m=t(11135),b=t(25787),x=t(26824),v=t(45248),g=t(23814),Z=t(56087),j=t(34866),k=t(38442),y=t(47986),C=t(87995),S=t(72455),w=t(47974),N=t(20601),I=t(38725),P=t(82839),R=t(90466),B=t(12891),H=t(35667),F=t(57702),E=t(83672),z=t(99670),T=t(81551),O=t(31776),D=t(82342),M=t(80184),_=(0,S.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)({},g.qg.searchField),{},{marginLeft:10,flex:1}),actionsTray:(0,o.Z)((0,o.Z)({},g.OR.actionsTray),{},{marginBottom:0})},g.IX),g.qg),g.Bz))})),A=(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=_(),n=(0,i.v9)(C.N5),t=(0,r.useState)(!1),o=(0,a.Z)(t,2),c=o[0],m=o[1],b=(0,r.useState)(""),g=(0,a.Z)(b,2),S=g[0],L=g[1],G=(0,r.useState)([]),q=(0,a.Z)(G,2),K=q[0],Y=q[1],U=(0,r.useState)(""),V=(0,a.Z)(U,2),W=V[0],X=V[1],$=(0,r.useState)(!1),J=(0,a.Z)($,2),Q=J[0],ee=J[1],ne=(0,r.useState)(!1),te=(0,a.Z)(ne,2),ae=te[0],oe=te[1],re=(0,r.useState)(!1),ie=(0,a.Z)(re,2),ce=ie[0],se=ie[1],le=(0,r.useState)({beforeHeal:[0,0,0,0],afterHeal:[0,0,0,0],objectsHealed:0,objectsScanned:0,healDuration:0,sizeScanned:""}),de=(0,a.Z)(le,2),ue=de[0],fe=de[1];(0,r.useEffect)((function(){O.h.buckets.listBuckets().then((function(e){var n=[];e.data.buckets&&(n=e.data.buckets),Y(n)})).catch((function(e){console.error((0,D.g)(e.error))}))}),[]),(0,r.useEffect)((function(){!0===ae&&se(!1)}),[ae]),(0,r.useEffect)((function(){!0===ce&&oe(!1)}),[ce]);var he=function(e){return[e.Green,e.Yellow,e.Red,e.Grey]};(0,r.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,r=new URL(document.baseURI).pathname,i=(0,x.x2)(t.protocol),s=new h.w3cwebsocket("".concat(i,"://").concat(t.hostname,":").concat(o).concat(r,"ws/heal/").concat(S,"?prefix=").concat(W,"&recursive=").concat(Q,"&force-start=").concat(ae,"&force-stop=").concat(ce));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()),r=0,i=Object.entries(o.healthAfterCols);r.\n\nimport React from \"react\";\nimport { Box, Grid } from \"@mui/material\";\nimport { HelpBox } from \"mds\";\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 \"mds\";\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 {\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, HealIcon, PageLayout } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { wsProtocol } from \"../../../utils/wsUtils\";\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 CheckboxWrapper from \"../Common/FormComponents/CheckboxWrapper/CheckboxWrapper\";\nimport { SecureComponent } from \"../../../common/SecureComponent\";\nimport DistributedOnly from \"../Common/DistributedOnly/DistributedOnly\";\nimport { selDistSet, setHelpName } from \"../../../systemSlice\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport {\n Bar,\n BarChart,\n CartesianGrid,\n ResponsiveContainer,\n Tooltip,\n XAxis,\n YAxis,\n} from \"recharts\";\nimport { Legend } from \"recharts\";\nimport HelpMenu from \"../HelpMenu\";\nimport { useAppDispatch } from \"../../../store\";\nimport { api } from \"api\";\nimport { Bucket } from \"api/consoleApi\";\nimport { errorToHandler } from \"api/errors\";\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,\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.buckets\n .listBuckets()\n .then((res) => {\n let buckets: Bucket[] = [];\n if (res.data.buckets) {\n buckets = res.data.buckets;\n }\n setBucketList(buckets);\n })\n .catch((err) => {\n console.error(errorToHandler(err.error));\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 {\n name: \"Green\",\n ah: hStatus.afterHeal[0],\n bh: hStatus.beforeHeal[0],\n amt: 100,\n },\n {\n name: \"Yellow\",\n ah: hStatus.afterHeal[1],\n bh: hStatus.beforeHeal[1],\n amt: 100,\n },\n {\n name: \"Red\",\n ah: hStatus.afterHeal[2],\n bh: hStatus.beforeHeal[2],\n amt: 100,\n },\n {\n name: \"Grey\",\n ah: hStatus.afterHeal[3],\n bh: hStatus.beforeHeal[3],\n amt: 100,\n },\n ];\n const bucketNames = bucketList.map((bucketName) => ({\n label: bucketName.name,\n value: bucketName.name,\n }));\n const dispatch = useAppDispatch();\n useEffect(() => {\n dispatch(setHelpName(\"heal\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \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 \n \n \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 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","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\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/**\n * @ignore - internal component.\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/**\n * @ignore - internal component.\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 { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\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\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\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\";\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};\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}));\nconst defaultCheckedIcon = /*#__PURE__*/_jsx(CheckBoxIcon, {});\nconst defaultIcon = /*#__PURE__*/_jsx(CheckBoxOutlineBlankIcon, {});\nconst defaultIndeterminateIcon = /*#__PURE__*/_jsx(IndeterminateCheckBoxIcon, {});\nconst Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(inProps, ref) {\n var _icon$props$fontSize, _indeterminateIcon$pr;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCheckbox'\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 className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const icon = indeterminate ? indeterminateIconProp : iconProp;\n const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;\n const ownerState = _extends({}, props, {\n color,\n indeterminate,\n size\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 className: clsx(classes.root, className)\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Checkbox.propTypes /* remove-proptypes */ = {\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 * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n * @default \n */\n checkedIcon: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * The icon to display when the component is unchecked.\n * @default \n */\n icon: PropTypes.node,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\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 * The icon to display when the component is indeterminate.\n * @default \n */\n indeterminateIcon: PropTypes.node,\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 * Pass a ref to the `input` element.\n */\n inputRef: refType,\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 * If `true`, the `input` element is required.\n * @default false\n */\n required: PropTypes.bool,\n /**\n * The size of the component.\n * `small` is equivalent to the dense checkbox styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\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 * 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 { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getSwitchBaseUtilityClass(slot) {\n return generateUtilityClass('PrivateSwitchBase', slot);\n}\nconst switchBaseClasses = generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);\nexport default switchBaseClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"checked\", \"checkedIcon\", \"className\", \"defaultChecked\", \"disabled\", \"disableFocusRipple\", \"edge\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useControlled from '../utils/useControlled';\nimport useFormControl from '../FormControl/useFormControl';\nimport ButtonBase from '../ButtonBase';\nimport { getSwitchBaseUtilityClass } from './switchBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n checked,\n disabled,\n edge\n } = ownerState;\n const slots = {\n root: ['root', checked && 'checked', disabled && 'disabled', edge && `edge${capitalize(edge)}`],\n input: ['input']\n };\n return composeClasses(slots, getSwitchBaseUtilityClass, classes);\n};\nconst SwitchBaseRoot = styled(ButtonBase)(({\n ownerState\n}) => _extends({\n padding: 9,\n borderRadius: '50%'\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}));\nconst SwitchBaseInput = styled('input')({\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n});\n\n/**\n * @ignore - internal component.\n */\nconst SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref) {\n const {\n autoFocus,\n checked: checkedProp,\n checkedIcon,\n className,\n defaultChecked,\n disabled: disabledProp,\n disableFocusRipple = false,\n edge = false,\n icon,\n id,\n inputProps,\n inputRef,\n name,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n required = false,\n tabIndex,\n type,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const [checked, setCheckedState] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n });\n const muiFormControl = useFormControl();\n const handleFocus = event => {\n if (onFocus) {\n onFocus(event);\n }\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n const handleInputChange = event => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented) {\n return;\n }\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n if (onChange) {\n // TODO v6: remove the second argument.\n onChange(event, newChecked);\n }\n };\n let disabled = disabledProp;\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n const hasLabelFor = type === 'checkbox' || type === 'radio';\n const ownerState = _extends({}, props, {\n checked,\n disabled,\n disableFocusRipple,\n edge\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SwitchBaseRoot, _extends({\n component: \"span\",\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/_jsx(SwitchBaseInput, _extends({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor ? id : undefined,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n ownerState: ownerState,\n tabIndex: tabIndex,\n type: type\n }, type === 'checkbox' && value === undefined ? {} : {\n value\n }, inputProps)), checked ? checkedIcon : icon]\n }));\n});\n\n// NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\nprocess.env.NODE_ENV !== \"production\" ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node.isRequired,\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * @ignore\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node.isRequired,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\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 * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /*\n * @ignore\n */\n name: PropTypes.string,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} 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 * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.object,\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * The input component prop `type`.\n */\n type: PropTypes.string.isRequired,\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default SwitchBase;","var naiveFallback = function () {\n\tif (typeof self === \"object\" && self) return self;\n\tif (typeof window === \"object\" && window) return window;\n\tthrow new Error(\"Unable to resolve global `this`\");\n};\n\nmodule.exports = (function () {\n\tif (this) return this;\n\n\t// Unexpected strict mode (may happen if e.g. bundled into ESM module)\n\n\t// Fallback to standard globalThis if available\n\tif (typeof globalThis === \"object\" && globalThis) return globalThis;\n\n\t// Thanks @mathiasbynens -> https://mathiasbynens.be/notes/globalthis\n\t// In all ES5+ engines global object inherits from Object.prototype\n\t// (if you approached one that doesn't please report)\n\ttry {\n\t\tObject.defineProperty(Object.prototype, \"__global__\", {\n\t\t\tget: function () { return this; },\n\t\t\tconfigurable: true\n\t\t});\n\t} catch (error) {\n\t\t// Unfortunate case of updates to Object.prototype being restricted\n\t\t// via preventExtensions, seal or freeze\n\t\treturn naiveFallback();\n\t}\n\ttry {\n\t\t// Safari case (window.__global__ works, but __global__ does not)\n\t\tif (!__global__) return naiveFallback();\n\t\treturn __global__;\n\t} finally {\n\t\tdelete Object.prototype.__global__;\n\t}\n})();\n","/**\n * @fileOverview Bar Chart\n */\nimport { generateCategoricalChart } from './generateCategoricalChart';\nimport { Bar } from '../cartesian/Bar';\nimport { XAxis } from '../cartesian/XAxis';\nimport { YAxis } from '../cartesian/YAxis';\nimport { formatAxisMap } from '../util/CartesianUtils';\nexport var BarChart = generateCategoricalChart({\n chartName: 'BarChart',\n GraphicalChild: Bar,\n defaultTooltipEventType: 'axis',\n validateTooltipEventTypes: ['axis', 'item'],\n axisComponents: [{\n axisType: 'xAxis',\n AxisComp: XAxis\n }, {\n axisType: 'yAxis',\n AxisComp: YAxis\n }],\n formatAxisMap: formatAxisMap\n});","var _globalThis;\nif (typeof globalThis === 'object') {\n\t_globalThis = globalThis;\n} else {\n\ttry {\n\t\t_globalThis = require('es5-ext/global');\n\t} catch (error) {\n\t} finally {\n\t\tif (!_globalThis && typeof window !== 'undefined') { _globalThis = window; }\n\t\tif (!_globalThis) { throw new Error('Could not determine global this'); }\n\t}\n}\n\nvar NativeWebSocket = _globalThis.WebSocket || _globalThis.MozWebSocket;\nvar websocket_version = require('./version');\n\n\n/**\n * Expose a W3C WebSocket class with just one or two arguments.\n */\nfunction W3CWebSocket(uri, protocols) {\n\tvar native_instance;\n\n\tif (protocols) {\n\t\tnative_instance = new NativeWebSocket(uri, protocols);\n\t}\n\telse {\n\t\tnative_instance = new NativeWebSocket(uri);\n\t}\n\n\t/**\n\t * 'native_instance' is an instance of nativeWebSocket (the browser's WebSocket\n\t * class). Since it is an Object it will be returned as it is when creating an\n\t * instance of W3CWebSocket via 'new W3CWebSocket()'.\n\t *\n\t * ECMAScript 5: http://bclary.com/2004/11/07/#a-13.2.2\n\t */\n\treturn native_instance;\n}\nif (NativeWebSocket) {\n\t['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'].forEach(function(prop) {\n\t\tObject.defineProperty(W3CWebSocket, prop, {\n\t\t\tget: function() { return NativeWebSocket[prop]; }\n\t\t});\n\t});\n}\n\n/**\n * Module exports.\n */\nmodule.exports = {\n 'w3cwebsocket' : NativeWebSocket ? W3CWebSocket : null,\n 'version' : websocket_version\n};\n","module.exports = require('../package.json').version;\n"],"names":["_ref","iconComponent","entity","_jsx","Grid","container","alignItems","children","item","xs","HelpBox","title","concat","help","_jsxs","Box","sx","fontSize","display","border","flexFlow","md","color","theme","colors","link","textDecoration","href","target","rel","withStyles","createStyles","_objectSpread","fieldBasic","tooltipHelper","checkboxIcons","fieldContainer","justifyContent","margin","marginBottom","flexBasis","flexWrap","noTopMargin","marginTop","label","onChange","value","id","name","_ref$checked","checked","_ref$disabled","disabled","_ref$noTopMargin","_ref$tooltip","tooltip","_ref$overrideLabelCla","overrideLabelClasses","overrideCheckboxStyles","classes","className","React","Checkbox","inputProps","checkedIcon","icon","unCheckedIcon","disableRipple","disableFocusRipple","focusRipple","centerRipple","disableTouchRipple","style","InputLabel","htmlFor","noMinWidthLabel","tooltipContainer","Tooltip","placement","HelpIcon","useStyles","makeStyles","graphContainer","backgroundColor","borderRadius","padding","scanInfo","flexDirection","scanData","formBox","buttonBar","bucketField","flex","prefixField","searchField","marginLeft","actionsTray","inlineCheckboxes","containerForHeader","SelectStyled","root","lineHeight","marginRight","spacing","InputBase","distributedSetup","useSelector","selDistSet","_useState","useState","_useState2","_slicedToArray","start","setStart","_useState3","_useState4","bucketName","setBucketName","_useState5","_useState6","bucketList","setBucketList","_useState7","_useState8","prefix","setPrefix","_useState9","_useState10","recursive","setRecursive","_useState11","_useState12","forceStart","setForceStart","_useState13","_useState14","forceStop","setForceStop","_useState15","beforeHeal","afterHeal","objectsHealed","objectsScanned","healDuration","sizeScanned","_useState16","hStatus","setHStatus","useEffect","api","buckets","listBuckets","then","res","data","catch","err","console","error","errorToHandler","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","_i","_Object$entries","Object","entries","healthAfterCols","length","_Object$entries$_i","key","itemsScanned","_i2","_Object$entries2","healthBeforeCols","_Object$entries2$_i","niceBytes","bytesScanned","onclose","close","ah","bh","amt","bucketNames","map","dispatch","useAppDispatch","setHelpName","Fragment","PageHeaderWrapper","actions","HelpMenu","PageLayout","SecureComponent","scopes","IAM_SCOPES","ADMIN_HEAL","resource","CONSOLE_UI_RESOURCE","FormControl","variant","Select","e","input","displayEmpty","MenuItem","option","TextField","InputProps","disableUnderline","CheckboxWrapper","Button","type","onClick","ResponsiveContainer","width","height","BarChart","top","right","left","bottom","CartesianGrid","strokeDasharray","XAxis","dataKey","YAxis","Legend","verticalAlign","layout","Bar","fill","stroke","DistributedOnly","HealIcon","WSCloseAbnormalClosure","WSClosePolicyViolation","WSCloseInternalServerErr","createSvgIcon","d","getCheckboxUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","CheckboxRoot","styled","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","props","styles","ownerState","indeterminate","capitalize","_ref2","_extends","vars","palette","text","secondary","action","activeChannel","primary","mainChannel","hoverOpacity","alpha","active","main","_defineProperty","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","inProps","ref","_icon$props$fontSize","_indeterminateIcon$pr","useThemeProps","_props$checkedIcon","_props$color","_props$icon","iconProp","_props$indeterminate","_props$indeterminateI","indeterminateIcon","indeterminateIconProp","_props$size","size","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","clsx","getSwitchBaseUtilityClass","SwitchBaseRoot","ButtonBase","edge","SwitchBaseInput","cursor","position","opacity","zIndex","autoFocus","checkedProp","defaultChecked","disabledProp","_props$disableFocusRi","_props$edge","inputRef","onBlur","onFocus","readOnly","_props$required","required","tabIndex","_useControlled","useControlled","controlled","default","Boolean","state","_useControlled2","setCheckedState","muiFormControl","useFormControl","hasLabelFor","component","role","undefined","event","nativeEvent","defaultPrevented","newChecked","naiveFallback","self","Error","module","exports","this","globalThis","defineProperty","prototype","get","configurable","__global__","generateCategoricalChart","chartName","GraphicalChild","defaultTooltipEventType","validateTooltipEventTypes","axisComponents","axisType","AxisComp","formatAxisMap","_globalThis","require","NativeWebSocket","WebSocket","MozWebSocket","websocket_version","uri","protocols","forEach"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2032.54dedb37.chunk.js.map b/portal-ui/build/static/js/2032.54dedb37.chunk.js.map index 91ee405c2..761bf0270 100644 --- a/portal-ui/build/static/js/2032.54dedb37.chunk.js.map +++ b/portal-ui/build/static/js/2032.54dedb37.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/2032.54dedb37.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/WarningMessage/WarningMessage.tsx","screens/Console/KMS/DeleteKMSModal.tsx","../node_modules/@mui/icons-material/RemoveRedEye.js","../node_modules/@mui/icons-material/VisibilityOff.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 .\nimport React, { ClipboardEvent, useState } from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { HelpIcon } from \"mds\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n onFocus?: () => void;\n onPaste?: (e: ClipboardEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n }),\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n onFocus,\n onPaste,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n const [toggleTextInput, setToggleTextInput] = useState(false);\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n let inputBoxWrapperIcon = overlayIcon;\n let inputBoxWrapperType = type;\n\n if (type === \"password\" && overlayIcon === null) {\n inputBoxWrapperIcon = toggleTextInput ? (\n \n ) : (\n \n );\n inputBoxWrapperType = toggleTextInput ? \"text\" : \"password\";\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {inputBoxWrapperIcon && (\n \n {\n overlayAction();\n }\n : () => setToggleTextInput(!toggleTextInput)\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {inputBoxWrapperIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\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 withStyles from \"@mui/styles/withStyles\";\n\ninterface IWarningMessage {\n classes: any;\n label: any;\n title: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n backgroundColor: \"#e78794\",\n borderRadius: 3,\n marginBottom: 20,\n padding: 1,\n paddingBottom: 15,\n },\n labelHeadline: {\n color: \"#000000\",\n fontSize: 14,\n marginLeft: 20,\n },\n labelText: {\n color: \"#000000\",\n fontSize: 14,\n marginLeft: 20,\n marginRight: 40,\n },\n });\n\nconst WarningMessage = ({ classes, label, title }: IWarningMessage) => {\n return (\n
\n

{title}

\n
{label}
\n
\n );\n};\n\nexport default withStyles(styles)(WarningMessage);\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\";\n\nimport { DialogContentText, Grid } from \"@mui/material\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport WarningMessage from \"../Common/WarningMessage/WarningMessage\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { ConfirmDeleteIcon } from \"mds\";\n\ninterface IDeleteKMSModalProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedItem: string;\n endpoint: string;\n element: string;\n}\n\nconst DeleteKMSModal = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedItem,\n endpoint,\n element,\n}: IDeleteKMSModalProps) => {\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 [retypeKey, setRetypeKey] = useState(\"\");\n\n if (!selectedItem) {\n return null;\n }\n\n const onConfirmDelete = () => {\n invokeDeleteApi(\"DELETE\", `${endpoint}${selectedItem}`);\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmButtonProps={{\n disabled: retypeKey !== selectedItem || deleteLoading,\n }}\n confirmationContent={\n \n \n \n \n To continue please type {selectedItem} in the box.\n \n ) => {\n setRetypeKey(event.target.value);\n }}\n onPaste={(e) => e.preventDefault()}\n label=\"\"\n value={retypeKey}\n />\n \n \n }\n />\n );\n};\n\nexport default DeleteKMSModal;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n}), 'RemoveRedEye');\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"\n}), 'VisibilityOff');\nexports.default = _default;"],"names":["inputStyles","makeStyles","theme","createStyles","_objectSpread","inputFieldStyles","InputField","props","classes","_jsx","TextField","InputProps","withStyles","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","_ref","label","onChange","value","id","name","_ref$type","type","_ref$autoComplete","autoComplete","_ref$disabled","disabled","_ref$multiline","multiline","_ref$tooltip","tooltip","_ref$index","index","_ref$error","error","_ref$required","required","_ref$placeholder","placeholder","min","max","overlayId","_ref$overlayIcon","overlayIcon","_ref$overlayObject","overlayObject","_ref$extraInputProps","extraInputProps","_ref$noLabelMinWidth","noLabelMinWidth","_ref$pattern","pattern","_ref$autoFocus","autoFocus","_ref$className","className","onKeyPress","onFocus","onPaste","inputProps","_useState","useState","_useState2","_slicedToArray","toggleTextInput","setToggleTextInput","inputBoxWrapperIcon","inputBoxWrapperType","VisibilityOffIcon","RemoveRedEyeIcon","React","children","_jsxs","Grid","container","clsx","errorInField","inputBoxContainer","InputLabel","htmlFor","noMinWidthLabel","inputLabel","tooltipContainer","Tooltip","title","placement","HelpIcon","fullWidth","helperText","inputRebase","concat","IconButton","onClick","size","disableFocusRipple","disableRipple","disableTouchRipple","headerContainer","backgroundColor","borderRadius","marginBottom","padding","paddingBottom","labelHeadline","color","fontSize","marginLeft","labelText","marginRight","closeDeleteModalAndRefresh","deleteOpen","selectedItem","endpoint","element","dispatch","useAppDispatch","_useApi","useApi","err","setErrorSnackMessage","_useApi2","deleteLoading","invokeDeleteApi","retypeKey","setRetypeKey","ConfirmDialog","confirmText","isOpen","titleIcon","ConfirmDeleteIcon","isLoading","onConfirm","onClose","confirmButtonProps","confirmationContent","DialogContentText","item","xs","WarningMessage","InputBoxWrapper","event","target","e","preventDefault","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/2032.54dedb37.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/WarningMessage/WarningMessage.tsx","screens/Console/KMS/DeleteKMSModal.tsx","../node_modules/@mui/icons-material/RemoveRedEye.js","../node_modules/@mui/icons-material/VisibilityOff.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 .\nimport React, { ClipboardEvent, useState } from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { HelpIcon } from \"mds\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n onFocus?: () => void;\n onPaste?: (e: ClipboardEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n }),\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n onFocus,\n onPaste,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n const [toggleTextInput, setToggleTextInput] = useState(false);\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n let inputBoxWrapperIcon = overlayIcon;\n let inputBoxWrapperType = type;\n\n if (type === \"password\" && overlayIcon === null) {\n inputBoxWrapperIcon = toggleTextInput ? (\n \n ) : (\n \n );\n inputBoxWrapperType = toggleTextInput ? \"text\" : \"password\";\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {inputBoxWrapperIcon && (\n \n {\n overlayAction();\n }\n : () => setToggleTextInput(!toggleTextInput)\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {inputBoxWrapperIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\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 withStyles from \"@mui/styles/withStyles\";\n\ninterface IWarningMessage {\n classes: any;\n label: any;\n title: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n backgroundColor: \"#e78794\",\n borderRadius: 3,\n marginBottom: 20,\n padding: 1,\n paddingBottom: 15,\n },\n labelHeadline: {\n color: \"#000000\",\n fontSize: 14,\n marginLeft: 20,\n },\n labelText: {\n color: \"#000000\",\n fontSize: 14,\n marginLeft: 20,\n marginRight: 40,\n },\n });\n\nconst WarningMessage = ({ classes, label, title }: IWarningMessage) => {\n return (\n
\n

{title}

\n
{label}
\n
\n );\n};\n\nexport default withStyles(styles)(WarningMessage);\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\";\n\nimport { DialogContentText, Grid } from \"@mui/material\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport WarningMessage from \"../Common/WarningMessage/WarningMessage\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { ConfirmDeleteIcon } from \"mds\";\n\ninterface IDeleteKMSModalProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedItem: string;\n endpoint: string;\n element: string;\n}\n\nconst DeleteKMSModal = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedItem,\n endpoint,\n element,\n}: IDeleteKMSModalProps) => {\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 [retypeKey, setRetypeKey] = useState(\"\");\n\n if (!selectedItem) {\n return null;\n }\n\n const onConfirmDelete = () => {\n invokeDeleteApi(\"DELETE\", `${endpoint}${selectedItem}`);\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmButtonProps={{\n disabled: retypeKey !== selectedItem || deleteLoading,\n }}\n confirmationContent={\n \n \n \n \n To continue please type {selectedItem} in the box.\n \n ) => {\n setRetypeKey(event.target.value);\n }}\n onPaste={(e) => e.preventDefault()}\n label=\"\"\n value={retypeKey}\n />\n \n \n }\n />\n );\n};\n\nexport default DeleteKMSModal;\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n}), 'RemoveRedEye');\nexports.default = _default;","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"\n}), 'VisibilityOff');\nexports.default = _default;"],"names":["inputStyles","makeStyles","theme","createStyles","_objectSpread","inputFieldStyles","InputField","props","classes","_jsx","TextField","InputProps","withStyles","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","_ref","label","onChange","value","id","name","_ref$type","type","_ref$autoComplete","autoComplete","_ref$disabled","disabled","_ref$multiline","multiline","_ref$tooltip","tooltip","_ref$index","index","_ref$error","error","_ref$required","required","_ref$placeholder","placeholder","min","max","overlayId","_ref$overlayIcon","overlayIcon","_ref$overlayObject","overlayObject","_ref$extraInputProps","extraInputProps","_ref$noLabelMinWidth","noLabelMinWidth","_ref$pattern","pattern","_ref$autoFocus","autoFocus","_ref$className","className","onKeyPress","onFocus","onPaste","inputProps","_useState","useState","_useState2","_slicedToArray","toggleTextInput","setToggleTextInput","inputBoxWrapperIcon","inputBoxWrapperType","VisibilityOffIcon","RemoveRedEyeIcon","React","children","_jsxs","Grid","container","clsx","errorInField","inputBoxContainer","InputLabel","htmlFor","noMinWidthLabel","inputLabel","tooltipContainer","Tooltip","title","placement","HelpIcon","fullWidth","helperText","inputRebase","concat","IconButton","onClick","size","disableFocusRipple","disableRipple","disableTouchRipple","headerContainer","backgroundColor","borderRadius","marginBottom","padding","paddingBottom","labelHeadline","color","fontSize","marginLeft","labelText","marginRight","closeDeleteModalAndRefresh","deleteOpen","selectedItem","endpoint","element","dispatch","useAppDispatch","_useApi","useApi","err","setErrorSnackMessage","_useApi2","deleteLoading","invokeDeleteApi","retypeKey","setRetypeKey","ConfirmDialog","confirmText","isOpen","titleIcon","ConfirmDeleteIcon","isLoading","onConfirm","onClose","confirmButtonProps","confirmationContent","DialogContentText","item","xs","WarningMessage","InputBoxWrapper","event","target","e","preventDefault","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/222.7f3906bd.chunk.js b/portal-ui/build/static/js/222.7f3906bd.chunk.js deleted file mode 100644 index 19d2f890d..000000000 --- a/portal-ui/build/static/js/222.7f3906bd.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[222],{93840:function(e,t,r){var o=r(72791).createContext(void 0);t.Z=o},76147:function(e,t,r){function o(e){var t=e.props,r=e.states,o=e.muiFormControl;return r.reduce((function(e,r){return e[r]=t[r],o&&"undefined"===typeof t[r]&&(e[r]=o[r]),e}),{})}r.d(t,{Z:function(){return o}})},52930:function(e,t,r){r.d(t,{Z:function(){return n}});var o=r(72791),a=r(93840);function n(){return o.useContext(a.Z)}},17133:function(e,t,r){var o=r(4942),a=r(63366),n=r(87462),i=r(72791),c=r(28182),s=r(94419),l=r(76147),d=r(52930),u=r(14036),p=r(31402),m=r(66934),h=r(10843),f=r(80184),v=["children","className","color","component","disabled","error","filled","focused","required"],Z=(0,m.ZP)("label",{name:"MuiFormLabel",slot:"Root",overridesResolver:function(e,t){var r=e.ownerState;return(0,n.Z)({},t.root,"secondary"===r.color&&t.colorSecondary,r.filled&&t.filled)}})((function(e){var t,r=e.theme,a=e.ownerState;return(0,n.Z)({color:(r.vars||r).palette.text.secondary},r.typography.body1,(t={lineHeight:"1.4375em",padding:0,position:"relative"},(0,o.Z)(t,"&.".concat(h.Z.focused),{color:(r.vars||r).palette[a.color].main}),(0,o.Z)(t,"&.".concat(h.Z.disabled),{color:(r.vars||r).palette.text.disabled}),(0,o.Z)(t,"&.".concat(h.Z.error),{color:(r.vars||r).palette.error.main}),t))})),b=(0,m.ZP)("span",{name:"MuiFormLabel",slot:"Asterisk",overridesResolver:function(e,t){return t.asterisk}})((function(e){var t=e.theme;return(0,o.Z)({},"&.".concat(h.Z.error),{color:(t.vars||t).palette.error.main})})),k=i.forwardRef((function(e,t){var r=(0,p.Z)({props:e,name:"MuiFormLabel"}),o=r.children,i=r.className,m=r.component,k=void 0===m?"label":m,g=(0,a.Z)(r,v),x=(0,d.Z)(),w=(0,l.Z)({props:r,muiFormControl:x,states:["color","required","focused","disabled","error","filled"]}),S=(0,n.Z)({},r,{color:w.color||"primary",component:k,disabled:w.disabled,error:w.error,filled:w.filled,focused:w.focused,required:w.required}),y=function(e){var t=e.classes,r=e.color,o=e.focused,a=e.disabled,n=e.error,i=e.filled,c=e.required,l={root:["root","color".concat((0,u.Z)(r)),a&&"disabled",n&&"error",i&&"filled",o&&"focused",c&&"required"],asterisk:["asterisk",n&&"error"]};return(0,s.Z)(l,h.M,t)}(S);return(0,f.jsxs)(Z,(0,n.Z)({as:k,ownerState:S,className:(0,c.Z)(y.root,i),ref:t},g,{children:[o,w.required&&(0,f.jsxs)(b,{ownerState:S,"aria-hidden":!0,className:y.asterisk,children:["\u2009","*"]})]}))}));t.Z=k},10843:function(e,t,r){r.d(t,{M:function(){return n}});var o=r(75878),a=r(21217);function n(e){return(0,a.Z)("MuiFormLabel",e)}var i=(0,o.Z)("MuiFormLabel",["root","colorSecondary","focused","disabled","error","filled","required","asterisk"]);t.Z=i},30829:function(e,t,r){r.d(t,{Z:function(){return x}});var o=r(4942),a=r(63366),n=r(87462),i=r(72791),c=r(94419),s=r(28182),l=r(76147),d=r(52930),u=r(17133),p=r(10843),m=r(31402),h=r(66934),f=r(75878),v=r(21217);function Z(e){return(0,v.Z)("MuiInputLabel",e)}(0,f.Z)("MuiInputLabel",["root","focused","disabled","error","required","asterisk","formControl","sizeSmall","shrink","animated","standard","filled","outlined"]);var b=r(80184),k=["disableAnimation","margin","shrink","variant","className"],g=(0,h.ZP)(u.Z,{shouldForwardProp:function(e){return(0,h.FO)(e)||"classes"===e},name:"MuiInputLabel",slot:"Root",overridesResolver:function(e,t){var r=e.ownerState;return[(0,o.Z)({},"& .".concat(p.Z.asterisk),t.asterisk),t.root,r.formControl&&t.formControl,"small"===r.size&&t.sizeSmall,r.shrink&&t.shrink,!r.disableAnimation&&t.animated,t[r.variant]]}})((function(e){var t=e.theme,r=e.ownerState;return(0,n.Z)({display:"block",transformOrigin:"top left",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"100%"},r.formControl&&{position:"absolute",left:0,top:0,transform:"translate(0, 20px) scale(1)"},"small"===r.size&&{transform:"translate(0, 17px) scale(1)"},r.shrink&&{transform:"translate(0, -1.5px) scale(0.75)",transformOrigin:"top left",maxWidth:"133%"},!r.disableAnimation&&{transition:t.transitions.create(["color","transform","max-width"],{duration:t.transitions.duration.shorter,easing:t.transitions.easing.easeOut})},"filled"===r.variant&&(0,n.Z)({zIndex:1,pointerEvents:"none",transform:"translate(12px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},"small"===r.size&&{transform:"translate(12px, 13px) scale(1)"},r.shrink&&(0,n.Z)({userSelect:"none",pointerEvents:"auto",transform:"translate(12px, 7px) scale(0.75)",maxWidth:"calc(133% - 24px)"},"small"===r.size&&{transform:"translate(12px, 4px) scale(0.75)"})),"outlined"===r.variant&&(0,n.Z)({zIndex:1,pointerEvents:"none",transform:"translate(14px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},"small"===r.size&&{transform:"translate(14px, 9px) scale(1)"},r.shrink&&{userSelect:"none",pointerEvents:"auto",maxWidth:"calc(133% - 32px)",transform:"translate(14px, -9px) scale(0.75)"}))})),x=i.forwardRef((function(e,t){var r=(0,m.Z)({name:"MuiInputLabel",props:e}),o=r.disableAnimation,i=void 0!==o&&o,u=r.shrink,p=r.className,h=(0,a.Z)(r,k),f=(0,d.Z)(),v=u;"undefined"===typeof v&&f&&(v=f.filled||f.focused||f.adornedStart);var x=(0,l.Z)({props:r,muiFormControl:f,states:["size","variant","required"]}),w=(0,n.Z)({},r,{disableAnimation:i,formControl:f,shrink:v,size:x.size,variant:x.variant,required:x.required}),S=function(e){var t=e.classes,r=e.formControl,o=e.size,a=e.shrink,i={root:["root",r&&"formControl",!e.disableAnimation&&"animated",a&&"shrink","small"===o&&"sizeSmall",e.variant],asterisk:[e.required&&"asterisk"]},s=(0,c.Z)(i,Z,t);return(0,n.Z)({},t,s)}(w);return(0,b.jsx)(g,(0,n.Z)({"data-shrink":v,ownerState:w,ref:t,className:(0,s.Z)(S.root,p)},h,{classes:S}))}))},9955:function(e,t,r){r.d(t,{Z:function(){return y}});var o=r(4942),a=r(63366),n=r(87462),i=r(72791),c=r(28182),s=r(94419),l=r(12065),d=r(14036),u=r(97278),p=r(31402),m=r(66934),h=r(75878),f=r(21217);function v(e){return(0,f.Z)("MuiSwitch",e)}var Z=(0,h.Z)("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),b=r(80184),k=["className","color","edge","size","sx"],g=(0,m.ZP)("span",{name:"MuiSwitch",slot:"Root",overridesResolver:function(e,t){var r=e.ownerState;return[t.root,r.edge&&t["edge".concat((0,d.Z)(r.edge))],t["size".concat((0,d.Z)(r.size))]]}})((function(e){var t,r=e.ownerState;return(0,n.Z)({display:"inline-flex",width:58,height:38,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"}},"start"===r.edge&&{marginLeft:-8},"end"===r.edge&&{marginRight:-8},"small"===r.size&&(t={width:40,height:24,padding:7},(0,o.Z)(t,"& .".concat(Z.thumb),{width:16,height:16}),(0,o.Z)(t,"& .".concat(Z.switchBase),(0,o.Z)({padding:4},"&.".concat(Z.checked),{transform:"translateX(16px)"})),t))})),x=(0,m.ZP)(u.Z,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:function(e,t){var r=e.ownerState;return[t.switchBase,(0,o.Z)({},"& .".concat(Z.input),t.input),"default"!==r.color&&t["color".concat((0,d.Z)(r.color))]]}})((function(e){var t,r=e.theme;return t={position:"absolute",top:0,left:0,zIndex:1,color:r.vars?r.vars.palette.Switch.defaultColor:"".concat("light"===r.palette.mode?r.palette.common.white:r.palette.grey[300]),transition:r.transitions.create(["left","transform"],{duration:r.transitions.duration.shortest})},(0,o.Z)(t,"&.".concat(Z.checked),{transform:"translateX(20px)"}),(0,o.Z)(t,"&.".concat(Z.disabled),{color:r.vars?r.vars.palette.Switch.defaultDisabledColor:"".concat("light"===r.palette.mode?r.palette.grey[100]:r.palette.grey[600])}),(0,o.Z)(t,"&.".concat(Z.checked," + .").concat(Z.track),{opacity:.5}),(0,o.Z)(t,"&.".concat(Z.disabled," + .").concat(Z.track),{opacity:r.vars?r.vars.opacity.switchTrackDisabled:"".concat("light"===r.palette.mode?.12:.2)}),(0,o.Z)(t,"& .".concat(Z.input),{left:"-100%",width:"300%"}),t}),(function(e){var t,r=e.theme,a=e.ownerState;return(0,n.Z)({"&:hover":{backgroundColor:r.vars?"rgba(".concat(r.vars.palette.action.activeChannel," / ").concat(r.vars.palette.action.hoverOpacity,")"):(0,l.Fq)(r.palette.action.active,r.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==a.color&&(t={},(0,o.Z)(t,"&.".concat(Z.checked),(0,o.Z)({color:(r.vars||r).palette[a.color].main,"&:hover":{backgroundColor:r.vars?"rgba(".concat(r.vars.palette[a.color].mainChannel," / ").concat(r.vars.palette.action.hoverOpacity,")"):(0,l.Fq)(r.palette[a.color].main,r.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"&.".concat(Z.disabled),{color:r.vars?r.vars.palette.Switch["".concat(a.color,"DisabledColor")]:"".concat("light"===r.palette.mode?(0,l.$n)(r.palette[a.color].main,.62):(0,l._j)(r.palette[a.color].main,.55))})),(0,o.Z)(t,"&.".concat(Z.checked," + .").concat(Z.track),{backgroundColor:(r.vars||r).palette[a.color].main}),t))})),w=(0,m.ZP)("span",{name:"MuiSwitch",slot:"Track",overridesResolver:function(e,t){return t.track}})((function(e){var t=e.theme;return{height:"100%",width:"100%",borderRadius:7,zIndex:-1,transition:t.transitions.create(["opacity","background-color"],{duration:t.transitions.duration.shortest}),backgroundColor:t.vars?t.vars.palette.common.onBackground:"".concat("light"===t.palette.mode?t.palette.common.black:t.palette.common.white),opacity:t.vars?t.vars.opacity.switchTrack:"".concat("light"===t.palette.mode?.38:.3)}})),S=(0,m.ZP)("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:function(e,t){return t.thumb}})((function(e){var t=e.theme;return{boxShadow:(t.vars||t).shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}})),y=i.forwardRef((function(e,t){var r=(0,p.Z)({props:e,name:"MuiSwitch"}),o=r.className,i=r.color,l=void 0===i?"primary":i,u=r.edge,m=void 0!==u&&u,h=r.size,f=void 0===h?"medium":h,Z=r.sx,y=(0,a.Z)(r,k),C=(0,n.Z)({},r,{color:l,edge:m,size:f}),z=function(e){var t=e.classes,r=e.edge,o=e.size,a=e.color,i=e.checked,c=e.disabled,l={root:["root",r&&"edge".concat((0,d.Z)(r)),"size".concat((0,d.Z)(o))],switchBase:["switchBase","color".concat((0,d.Z)(a)),i&&"checked",c&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},u=(0,s.Z)(l,v,t);return(0,n.Z)({},t,u)}(C),R=(0,b.jsx)(S,{className:z.thumb,ownerState:C});return(0,b.jsxs)(g,{className:(0,c.Z)(z.root,o),sx:Z,ownerState:C,children:[(0,b.jsx)(x,(0,n.Z)({type:"checkbox",icon:R,checkedIcon:R,ref:t,ownerState:C},y,{classes:(0,n.Z)({},z,{root:z.switchBase})})),(0,b.jsx)(w,{className:z.track,ownerState:C})]})}))},97278:function(e,t,r){r.d(t,{Z:function(){return x}});var o=r(29439),a=r(63366),n=r(87462),i=r(72791),c=r(28182),s=r(94419),l=r(14036),d=r(66934),u=r(98278),p=r(52930),m=r(95080),h=r(75878),f=r(21217);function v(e){return(0,f.Z)("PrivateSwitchBase",e)}(0,h.Z)("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);var Z=r(80184),b=["autoFocus","checked","checkedIcon","className","defaultChecked","disabled","disableFocusRipple","edge","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"],k=(0,d.ZP)(m.Z)((function(e){var t=e.ownerState;return(0,n.Z)({padding:9,borderRadius:"50%"},"start"===t.edge&&{marginLeft:"small"===t.size?-3:-12},"end"===t.edge&&{marginRight:"small"===t.size?-3:-12})})),g=(0,d.ZP)("input")({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),x=i.forwardRef((function(e,t){var r=e.autoFocus,i=e.checked,d=e.checkedIcon,m=e.className,h=e.defaultChecked,f=e.disabled,x=e.disableFocusRipple,w=void 0!==x&&x,S=e.edge,y=void 0!==S&&S,C=e.icon,z=e.id,R=e.inputProps,F=e.inputRef,M=e.name,q=e.onBlur,B=e.onChange,I=e.onFocus,N=e.readOnly,P=e.required,O=void 0!==P&&P,j=e.tabIndex,L=e.type,A=e.value,E=(0,a.Z)(e,b),W=(0,u.Z)({controlled:i,default:Boolean(h),name:"SwitchBase",state:"checked"}),T=(0,o.Z)(W,2),D=T[0],_=T[1],X=(0,p.Z)(),H=f;X&&"undefined"===typeof H&&(H=X.disabled);var $="checkbox"===L||"radio"===L,G=(0,n.Z)({},e,{checked:D,disabled:H,disableFocusRipple:w,edge:y}),J=function(e){var t=e.classes,r=e.checked,o=e.disabled,a=e.edge,n={root:["root",r&&"checked",o&&"disabled",a&&"edge".concat((0,l.Z)(a))],input:["input"]};return(0,s.Z)(n,v,t)}(G);return(0,Z.jsxs)(k,(0,n.Z)({component:"span",className:(0,c.Z)(J.root,m),centerRipple:!0,focusRipple:!w,disabled:H,tabIndex:null,role:void 0,onFocus:function(e){I&&I(e),X&&X.onFocus&&X.onFocus(e)},onBlur:function(e){q&&q(e),X&&X.onBlur&&X.onBlur(e)},ownerState:G,ref:t},E,{children:[(0,Z.jsx)(g,(0,n.Z)({autoFocus:r,checked:i,defaultChecked:h,className:J.input,disabled:H,id:$?z:void 0,name:M,onChange:function(e){if(!e.nativeEvent.defaultPrevented){var t=e.target.checked;_(t),B&&B(e,t)}},readOnly:N,ref:F,required:O,ownerState:G,tabIndex:j,type:L},"checkbox"===L&&void 0===A?{}:{value:A},R)),D?d:C]}))}))}}]); -//# sourceMappingURL=222.7f3906bd.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/222.7f3906bd.chunk.js.map b/portal-ui/build/static/js/222.7f3906bd.chunk.js.map deleted file mode 100644 index 7625e7292..000000000 --- a/portal-ui/build/static/js/222.7f3906bd.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/222.7f3906bd.chunk.js","mappings":"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","sources":["../node_modules/@mui/material/FormControl/FormControlContext.js","../node_modules/@mui/material/FormControl/formControlState.js","../node_modules/@mui/material/FormControl/useFormControl.js","../node_modules/@mui/material/FormLabel/FormLabel.js","../node_modules/@mui/material/FormLabel/formLabelClasses.js","../node_modules/@mui/material/InputLabel/inputLabelClasses.js","../node_modules/@mui/material/InputLabel/InputLabel.js","../node_modules/@mui/material/Switch/switchClasses.js","../node_modules/@mui/material/Switch/Switch.js","../node_modules/@mui/material/internal/switchBaseClasses.js","../node_modules/@mui/material/internal/SwitchBase.js"],"sourcesContent":["import * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst FormControlContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== 'production') {\n FormControlContext.displayName = 'FormControlContext';\n}\nexport default FormControlContext;","export default function formControlState({\n props,\n states,\n muiFormControl\n}) {\n return states.reduce((acc, state) => {\n acc[state] = props[state];\n if (muiFormControl) {\n if (typeof props[state] === 'undefined') {\n acc[state] = muiFormControl[state];\n }\n }\n return acc;\n }, {});\n}","import * as React from 'react';\nimport FormControlContext from './FormControlContext';\nexport default function useFormControl() {\n return React.useContext(FormControlContext);\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"disabled\", \"error\", \"filled\", \"focused\", \"required\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport formLabelClasses, { getFormLabelUtilityClasses } from './formLabelClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n focused,\n disabled,\n error,\n filled,\n required\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, disabled && 'disabled', error && 'error', filled && 'filled', focused && 'focused', required && 'required'],\n asterisk: ['asterisk', error && 'error']\n };\n return composeClasses(slots, getFormLabelUtilityClasses, classes);\n};\nexport const FormLabelRoot = styled('label', {\n name: 'MuiFormLabel',\n slot: 'Root',\n overridesResolver: ({\n ownerState\n }, styles) => {\n return _extends({}, styles.root, ownerState.color === 'secondary' && styles.colorSecondary, ownerState.filled && styles.filled);\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, theme.typography.body1, {\n lineHeight: '1.4375em',\n padding: 0,\n position: 'relative',\n [`&.${formLabelClasses.focused}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${formLabelClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n },\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst AsteriskComponent = styled('span', {\n name: 'MuiFormLabel',\n slot: 'Asterisk',\n overridesResolver: (props, styles) => styles.asterisk\n})(({\n theme\n}) => ({\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst FormLabel = /*#__PURE__*/React.forwardRef(function FormLabel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormLabel'\n });\n const {\n children,\n className,\n component = 'label'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['color', 'required', 'focused', 'disabled', 'error', 'filled']\n });\n const ownerState = _extends({}, props, {\n color: fcs.color || 'primary',\n component,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(FormLabelRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: [children, fcs.required && /*#__PURE__*/_jsxs(AsteriskComponent, {\n ownerState: ownerState,\n \"aria-hidden\": true,\n className: classes.asterisk,\n children: [\"\\u2009\", '*']\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormLabel.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\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 * If `true`, the label should be displayed in a disabled state.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the label should use filled classes key.\n */\n filled: PropTypes.bool,\n /**\n * If `true`, the input of this label is focused (used by `FormGroup` components).\n */\n focused: PropTypes.bool,\n /**\n * If `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\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} : void 0;\nexport default FormLabel;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getFormLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiFormLabel', slot);\n}\nconst formLabelClasses = generateUtilityClasses('MuiFormLabel', ['root', 'colorSecondary', 'focused', 'disabled', 'error', 'filled', 'required', 'asterisk']);\nexport default formLabelClasses;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getInputLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiInputLabel', slot);\n}\nconst inputLabelClasses = generateUtilityClasses('MuiInputLabel', ['root', 'focused', 'disabled', 'error', 'required', 'asterisk', 'formControl', 'sizeSmall', 'shrink', 'animated', 'standard', 'filled', 'outlined']);\nexport default inputLabelClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"disableAnimation\", \"margin\", \"shrink\", \"variant\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport clsx from 'clsx';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport FormLabel, { formLabelClasses } from '../FormLabel';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { getInputLabelUtilityClasses } from './inputLabelClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n formControl,\n size,\n shrink,\n disableAnimation,\n variant,\n required\n } = ownerState;\n const slots = {\n root: ['root', formControl && 'formControl', !disableAnimation && 'animated', shrink && 'shrink', size === 'small' && 'sizeSmall', variant],\n asterisk: [required && 'asterisk']\n };\n const composedClasses = composeClasses(slots, getInputLabelUtilityClasses, classes);\n return _extends({}, classes, composedClasses);\n};\nconst InputLabelRoot = styled(FormLabel, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiInputLabel',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${formLabelClasses.asterisk}`]: styles.asterisk\n }, styles.root, ownerState.formControl && styles.formControl, ownerState.size === 'small' && styles.sizeSmall, ownerState.shrink && styles.shrink, !ownerState.disableAnimation && styles.animated, styles[ownerState.variant]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'block',\n transformOrigin: 'top left',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: '100%'\n}, ownerState.formControl && {\n position: 'absolute',\n left: 0,\n top: 0,\n // slight alteration to spec spacing to match visual spec result\n transform: 'translate(0, 20px) scale(1)'\n}, ownerState.size === 'small' && {\n // Compensation for the `Input.inputSizeSmall` style.\n transform: 'translate(0, 17px) scale(1)'\n}, ownerState.shrink && {\n transform: 'translate(0, -1.5px) scale(0.75)',\n transformOrigin: 'top left',\n maxWidth: '133%'\n}, !ownerState.disableAnimation && {\n transition: theme.transitions.create(['color', 'transform', 'max-width'], {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n })\n}, ownerState.variant === 'filled' && _extends({\n // Chrome's autofill feature gives the input field a yellow background.\n // Since the input field is behind the label in the HTML tree,\n // the input field is drawn last and hides the label with an opaque background color.\n // zIndex: 1 will raise the label above opaque background-colors of input.\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(12px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 13px) scale(1)'\n}, ownerState.shrink && _extends({\n userSelect: 'none',\n pointerEvents: 'auto',\n transform: 'translate(12px, 7px) scale(0.75)',\n maxWidth: 'calc(133% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 4px) scale(0.75)'\n})), ownerState.variant === 'outlined' && _extends({\n // see comment above on filled.zIndex\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(14px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(14px, 9px) scale(1)'\n}, ownerState.shrink && {\n userSelect: 'none',\n pointerEvents: 'auto',\n // Theoretically, we should have (8+5)*2/0.75 = 34px\n // but it feels a better when it bleeds a bit on the left, so 32px.\n maxWidth: 'calc(133% - 32px)',\n transform: 'translate(14px, -9px) scale(0.75)'\n})));\nconst InputLabel = /*#__PURE__*/React.forwardRef(function InputLabel(inProps, ref) {\n const props = useThemeProps({\n name: 'MuiInputLabel',\n props: inProps\n });\n const {\n disableAnimation = false,\n shrink: shrinkProp,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n let shrink = shrinkProp;\n if (typeof shrink === 'undefined' && muiFormControl) {\n shrink = muiFormControl.filled || muiFormControl.focused || muiFormControl.adornedStart;\n }\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['size', 'variant', 'required']\n });\n const ownerState = _extends({}, props, {\n disableAnimation,\n formControl: muiFormControl,\n shrink,\n size: fcs.size,\n variant: fcs.variant,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(InputLabelRoot, _extends({\n \"data-shrink\": shrink,\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? InputLabel.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the transition animation is disabled.\n * @default false\n */\n disableAnimation: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` of this label is focused.\n */\n focused: PropTypes.bool,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: PropTypes.oneOf(['dense']),\n /**\n * if `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n /**\n * If `true`, the label is shrunk.\n */\n shrink: PropTypes.bool,\n /**\n * The size of the component.\n * @default 'normal'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['normal', 'small']), PropTypes.string]),\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 * The variant to use.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputLabel;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getSwitchUtilityClass(slot) {\n return generateUtilityClass('MuiSwitch', slot);\n}\nconst switchClasses = generateUtilityClasses('MuiSwitch', ['root', 'edgeStart', 'edgeEnd', 'switchBase', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium', 'checked', 'disabled', 'input', 'thumb', 'track']);\nexport default switchClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"edge\", \"size\", \"sx\"];\n// @inheritedComponent IconButton\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha, darken, lighten } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport SwitchBase from '../internal/SwitchBase';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport switchClasses, { getSwitchUtilityClass } from './switchClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n edge,\n size,\n color,\n checked,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`],\n switchBase: ['switchBase', `color${capitalize(color)}`, checked && 'checked', disabled && 'disabled'],\n thumb: ['thumb'],\n track: ['track'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getSwitchUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst SwitchRoot = styled('span', {\n name: 'MuiSwitch',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n }\n}, ownerState.edge === 'start' && {\n marginLeft: -8\n}, ownerState.edge === 'end' && {\n marginRight: -8\n}, ownerState.size === 'small' && {\n width: 40,\n height: 24,\n padding: 7,\n [`& .${switchClasses.thumb}`]: {\n width: 16,\n height: 16\n },\n [`& .${switchClasses.switchBase}`]: {\n padding: 4,\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(16px)'\n }\n }\n}));\nconst SwitchSwitchBase = styled(SwitchBase, {\n name: 'MuiSwitch',\n slot: 'SwitchBase',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.switchBase, {\n [`& .${switchClasses.input}`]: styles.input\n }, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme\n}) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.vars ? theme.vars.palette.Switch.defaultColor : `${theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300]}`,\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(20px)'\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.vars ? theme.vars.palette.Switch.defaultDisabledColor : `${theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]}`\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n opacity: 0.5\n },\n [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {\n opacity: theme.vars ? theme.vars.opacity.switchTrackDisabled : `${theme.palette.mode === 'light' ? 0.12 : 0.2}`\n },\n [`& .${switchClasses.input}`]: {\n left: '-100%',\n width: '300%'\n }\n}), ({\n theme,\n ownerState\n}) => _extends({\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.action.active, 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 [`&.${switchClasses.checked}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main,\n '&:hover': {\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 '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.vars ? theme.vars.palette.Switch[`${ownerState.color}DisabledColor`] : `${theme.palette.mode === 'light' ? lighten(theme.palette[ownerState.color].main, 0.62) : darken(theme.palette[ownerState.color].main, 0.55)}`\n }\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].main\n }\n}));\nconst SwitchTrack = styled('span', {\n name: 'MuiSwitch',\n slot: 'Track',\n overridesResolver: (props, styles) => styles.track\n})(({\n theme\n}) => ({\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.vars ? theme.vars.palette.common.onBackground : `${theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white}`,\n opacity: theme.vars ? theme.vars.opacity.switchTrack : `${theme.palette.mode === 'light' ? 0.38 : 0.3}`\n}));\nconst SwitchThumb = styled('span', {\n name: 'MuiSwitch',\n slot: 'Thumb',\n overridesResolver: (props, styles) => styles.thumb\n})(({\n theme\n}) => ({\n boxShadow: (theme.vars || theme).shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n}));\nconst Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSwitch'\n });\n const {\n className,\n color = 'primary',\n edge = false,\n size = 'medium',\n sx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n edge,\n size\n });\n const classes = useUtilityClasses(ownerState);\n const icon = /*#__PURE__*/_jsx(SwitchThumb, {\n className: classes.thumb,\n ownerState: ownerState\n });\n return /*#__PURE__*/_jsxs(SwitchRoot, {\n className: clsx(classes.root, className),\n sx: sx,\n ownerState: ownerState,\n children: [/*#__PURE__*/_jsx(SwitchSwitchBase, _extends({\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n ref: ref,\n ownerState: ownerState\n }, other, {\n classes: _extends({}, classes, {\n root: classes.switchBase\n })\n })), /*#__PURE__*/_jsx(SwitchTrack, {\n className: classes.track,\n ownerState: ownerState\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Switch.propTypes /* remove-proptypes */ = {\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 * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\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 * Pass a ref to the `input` element.\n */\n inputRef: refType,\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 value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * If `true`, the `input` element is required.\n * @default false\n */\n required: PropTypes.bool,\n /**\n * The size of the component.\n * `small` is equivalent to the dense switch styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\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 * 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 Switch;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getSwitchBaseUtilityClass(slot) {\n return generateUtilityClass('PrivateSwitchBase', slot);\n}\nconst switchBaseClasses = generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);\nexport default switchBaseClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"checked\", \"checkedIcon\", \"className\", \"defaultChecked\", \"disabled\", \"disableFocusRipple\", \"edge\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useControlled from '../utils/useControlled';\nimport useFormControl from '../FormControl/useFormControl';\nimport ButtonBase from '../ButtonBase';\nimport { getSwitchBaseUtilityClass } from './switchBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n checked,\n disabled,\n edge\n } = ownerState;\n const slots = {\n root: ['root', checked && 'checked', disabled && 'disabled', edge && `edge${capitalize(edge)}`],\n input: ['input']\n };\n return composeClasses(slots, getSwitchBaseUtilityClass, classes);\n};\nconst SwitchBaseRoot = styled(ButtonBase)(({\n ownerState\n}) => _extends({\n padding: 9,\n borderRadius: '50%'\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}));\nconst SwitchBaseInput = styled('input')({\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n});\n\n/**\n * @ignore - internal component.\n */\nconst SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref) {\n const {\n autoFocus,\n checked: checkedProp,\n checkedIcon,\n className,\n defaultChecked,\n disabled: disabledProp,\n disableFocusRipple = false,\n edge = false,\n icon,\n id,\n inputProps,\n inputRef,\n name,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n required = false,\n tabIndex,\n type,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const [checked, setCheckedState] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n });\n const muiFormControl = useFormControl();\n const handleFocus = event => {\n if (onFocus) {\n onFocus(event);\n }\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n const handleInputChange = event => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented) {\n return;\n }\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n if (onChange) {\n // TODO v6: remove the second argument.\n onChange(event, newChecked);\n }\n };\n let disabled = disabledProp;\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n const hasLabelFor = type === 'checkbox' || type === 'radio';\n const ownerState = _extends({}, props, {\n checked,\n disabled,\n disableFocusRipple,\n edge\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SwitchBaseRoot, _extends({\n component: \"span\",\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/_jsx(SwitchBaseInput, _extends({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor ? id : undefined,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n ownerState: ownerState,\n tabIndex: tabIndex,\n type: type\n }, type === 'checkbox' && value === undefined ? {} : {\n value\n }, inputProps)), checked ? checkedIcon : icon]\n }));\n});\n\n// NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\nprocess.env.NODE_ENV !== \"production\" ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node.isRequired,\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * @ignore\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node.isRequired,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\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 * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /*\n * @ignore\n */\n name: PropTypes.string,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} 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 * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.object,\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * The input component prop `type`.\n */\n type: PropTypes.string.isRequired,\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default SwitchBase;"],"names":["FormControlContext","React","undefined","formControlState","_ref","props","states","muiFormControl","reduce","acc","state","useFormControl","_excluded","FormLabelRoot","styled","name","slot","overridesResolver","styles","ownerState","_extends","root","color","colorSecondary","filled","_ref2","_extends2","theme","vars","palette","text","secondary","typography","body1","lineHeight","padding","position","_defineProperty","concat","formLabelClasses","focused","main","disabled","error","AsteriskComponent","asterisk","_ref3","FormLabel","inProps","ref","useThemeProps","children","className","_props$component","component","other","_objectWithoutPropertiesLoose","fcs","required","classes","slots","capitalize","composeClasses","getFormLabelUtilityClasses","useUtilityClasses","_jsxs","as","clsx","generateUtilityClass","generateUtilityClasses","getInputLabelUtilityClasses","InputLabelRoot","shouldForwardProp","prop","rootShouldForwardProp","formControl","size","sizeSmall","shrink","disableAnimation","animated","variant","display","transformOrigin","whiteSpace","overflow","textOverflow","maxWidth","left","top","transform","transition","transitions","create","duration","shorter","easing","easeOut","zIndex","pointerEvents","userSelect","_props$disableAnimati","shrinkProp","adornedStart","composedClasses","_jsx","getSwitchUtilityClass","SwitchRoot","edge","width","height","boxSizing","flexShrink","verticalAlign","colorAdjust","marginLeft","marginRight","switchClasses","thumb","switchBase","checked","SwitchSwitchBase","SwitchBase","input","_ref4","_ref5","Switch","defaultColor","mode","common","white","grey","shortest","defaultDisabledColor","track","opacity","switchTrackDisabled","_ref6","_ref7","backgroundColor","action","activeChannel","hoverOpacity","alpha","active","mainChannel","lighten","darken","SwitchTrack","_ref8","borderRadius","onBackground","black","switchTrack","SwitchThumb","_ref9","boxShadow","shadows","_props$color","_props$edge","_props$size","sx","icon","type","checkedIcon","getSwitchBaseUtilityClass","SwitchBaseRoot","ButtonBase","SwitchBaseInput","cursor","margin","autoFocus","checkedProp","defaultChecked","disabledProp","_props$disableFocusRi","disableFocusRipple","id","inputProps","inputRef","onBlur","onChange","onFocus","readOnly","_props$required","tabIndex","value","_useControlled","useControlled","controlled","default","Boolean","_useControlled2","_slicedToArray","setCheckedState","hasLabelFor","centerRipple","focusRipple","role","event","nativeEvent","defaultPrevented","newChecked","target"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/225.a62217d0.chunk.js b/portal-ui/build/static/js/225.a62217d0.chunk.js new file mode 100644 index 000000000..d1b0d0fc3 --- /dev/null +++ b/portal-ui/build/static/js/225.a62217d0.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[225],{81918:function(e,a,o){o.d(a,{Z:function(){return w}});var t=o(4942),c=o(63366),l=o(87462),r=o(72791),n=o(28182),i=o(94419),s=o(12065),d=o(76189),p=o(80184),v=(0,d.Z)((0,p.jsx)("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}),"Cancel"),u=o(42071),m=o(14036),b=o(95080),Z=o(31402),f=o(66934),g=o(75878),C=o(21217);function h(e){return(0,C.Z)("MuiChip",e)}var y=(0,g.Z)("MuiChip",["root","sizeSmall","sizeMedium","colorError","colorInfo","colorPrimary","colorSecondary","colorSuccess","colorWarning","disabled","clickable","clickableColorPrimary","clickableColorSecondary","deletable","deletableColorPrimary","deletableColorSecondary","outlined","filled","outlinedPrimary","outlinedSecondary","filledPrimary","filledSecondary","avatar","avatarSmall","avatarMedium","avatarColorPrimary","avatarColorSecondary","icon","iconSmall","iconMedium","iconColorPrimary","iconColorSecondary","label","labelSmall","labelMedium","deleteIcon","deleteIconSmall","deleteIconMedium","deleteIconColorPrimary","deleteIconColorSecondary","deleteIconOutlinedColorPrimary","deleteIconOutlinedColorSecondary","deleteIconFilledColorPrimary","deleteIconFilledColorSecondary","focusVisible"]),k=["avatar","className","clickable","color","component","deleteIcon","disabled","icon","label","onClick","onDelete","onKeyDown","onKeyUp","size","variant","tabIndex","skipFocusWhenDisabled"],S=(0,f.ZP)("div",{name:"MuiChip",slot:"Root",overridesResolver:function(e,a){var o=e.ownerState,c=o.color,l=o.iconColor,r=o.clickable,n=o.onDelete,i=o.size,s=o.variant;return[(0,t.Z)({},"& .".concat(y.avatar),a.avatar),(0,t.Z)({},"& .".concat(y.avatar),a["avatar".concat((0,m.Z)(i))]),(0,t.Z)({},"& .".concat(y.avatar),a["avatarColor".concat((0,m.Z)(c))]),(0,t.Z)({},"& .".concat(y.icon),a.icon),(0,t.Z)({},"& .".concat(y.icon),a["icon".concat((0,m.Z)(i))]),(0,t.Z)({},"& .".concat(y.icon),a["iconColor".concat((0,m.Z)(l))]),(0,t.Z)({},"& .".concat(y.deleteIcon),a.deleteIcon),(0,t.Z)({},"& .".concat(y.deleteIcon),a["deleteIcon".concat((0,m.Z)(i))]),(0,t.Z)({},"& .".concat(y.deleteIcon),a["deleteIconColor".concat((0,m.Z)(c))]),(0,t.Z)({},"& .".concat(y.deleteIcon),a["deleteIcon".concat((0,m.Z)(s),"Color").concat((0,m.Z)(c))]),a.root,a["size".concat((0,m.Z)(i))],a["color".concat((0,m.Z)(c))],r&&a.clickable,r&&"default"!==c&&a["clickableColor".concat((0,m.Z)(c),")")],n&&a.deletable,n&&"default"!==c&&a["deletableColor".concat((0,m.Z)(c))],a[s],a["".concat(s).concat((0,m.Z)(c))]]}})((function(e){var a,o=e.theme,c=e.ownerState,r="light"===o.palette.mode?o.palette.grey[700]:o.palette.grey[300];return(0,l.Z)((a={maxWidth:"100%",fontFamily:o.typography.fontFamily,fontSize:o.typography.pxToRem(13),display:"inline-flex",alignItems:"center",justifyContent:"center",height:32,color:(o.vars||o).palette.text.primary,backgroundColor:(o.vars||o).palette.action.selected,borderRadius:16,whiteSpace:"nowrap",transition:o.transitions.create(["background-color","box-shadow"]),outline:0,textDecoration:"none",border:0,padding:0,verticalAlign:"middle",boxSizing:"border-box"},(0,t.Z)(a,"&.".concat(y.disabled),{opacity:(o.vars||o).palette.action.disabledOpacity,pointerEvents:"none"}),(0,t.Z)(a,"& .".concat(y.avatar),{marginLeft:5,marginRight:-6,width:24,height:24,color:o.vars?o.vars.palette.Chip.defaultAvatarColor:r,fontSize:o.typography.pxToRem(12)}),(0,t.Z)(a,"& .".concat(y.avatarColorPrimary),{color:(o.vars||o).palette.primary.contrastText,backgroundColor:(o.vars||o).palette.primary.dark}),(0,t.Z)(a,"& .".concat(y.avatarColorSecondary),{color:(o.vars||o).palette.secondary.contrastText,backgroundColor:(o.vars||o).palette.secondary.dark}),(0,t.Z)(a,"& .".concat(y.avatarSmall),{marginLeft:4,marginRight:-4,width:18,height:18,fontSize:o.typography.pxToRem(10)}),(0,t.Z)(a,"& .".concat(y.icon),(0,l.Z)({marginLeft:5,marginRight:-6},"small"===c.size&&{fontSize:18,marginLeft:4,marginRight:-4},c.iconColor===c.color&&(0,l.Z)({color:o.vars?o.vars.palette.Chip.defaultIconColor:r},"default"!==c.color&&{color:"inherit"}))),(0,t.Z)(a,"& .".concat(y.deleteIcon),(0,l.Z)({WebkitTapHighlightColor:"transparent",color:o.vars?"rgba(".concat(o.vars.palette.text.primaryChannel," / 0.26)"):(0,s.Fq)(o.palette.text.primary,.26),fontSize:22,cursor:"pointer",margin:"0 5px 0 -6px","&:hover":{color:o.vars?"rgba(".concat(o.vars.palette.text.primaryChannel," / 0.4)"):(0,s.Fq)(o.palette.text.primary,.4)}},"small"===c.size&&{fontSize:16,marginRight:4,marginLeft:-4},"default"!==c.color&&{color:o.vars?"rgba(".concat(o.vars.palette[c.color].contrastTextChannel," / 0.7)"):(0,s.Fq)(o.palette[c.color].contrastText,.7),"&:hover, &:active":{color:(o.vars||o).palette[c.color].contrastText}})),a),"small"===c.size&&{height:24},"default"!==c.color&&{backgroundColor:(o.vars||o).palette[c.color].main,color:(o.vars||o).palette[c.color].contrastText},c.onDelete&&(0,t.Z)({},"&.".concat(y.focusVisible),{backgroundColor:o.vars?"rgba(".concat(o.vars.palette.action.selectedChannel," / calc(").concat(o.vars.palette.action.selectedOpacity," + ").concat(o.vars.palette.action.focusOpacity,"))"):(0,s.Fq)(o.palette.action.selected,o.palette.action.selectedOpacity+o.palette.action.focusOpacity)}),c.onDelete&&"default"!==c.color&&(0,t.Z)({},"&.".concat(y.focusVisible),{backgroundColor:(o.vars||o).palette[c.color].dark}))}),(function(e){var a,o=e.theme,c=e.ownerState;return(0,l.Z)({},c.clickable&&(a={userSelect:"none",WebkitTapHighlightColor:"transparent",cursor:"pointer","&:hover":{backgroundColor:o.vars?"rgba(".concat(o.vars.palette.action.selectedChannel," / calc(").concat(o.vars.palette.action.selectedOpacity," + ").concat(o.vars.palette.action.hoverOpacity,"))"):(0,s.Fq)(o.palette.action.selected,o.palette.action.selectedOpacity+o.palette.action.hoverOpacity)}},(0,t.Z)(a,"&.".concat(y.focusVisible),{backgroundColor:o.vars?"rgba(".concat(o.vars.palette.action.selectedChannel," / calc(").concat(o.vars.palette.action.selectedOpacity," + ").concat(o.vars.palette.action.focusOpacity,"))"):(0,s.Fq)(o.palette.action.selected,o.palette.action.selectedOpacity+o.palette.action.focusOpacity)}),(0,t.Z)(a,"&:active",{boxShadow:(o.vars||o).shadows[1]}),a),c.clickable&&"default"!==c.color&&(0,t.Z)({},"&:hover, &.".concat(y.focusVisible),{backgroundColor:(o.vars||o).palette[c.color].dark}))}),(function(e){var a,o,c=e.theme,r=e.ownerState;return(0,l.Z)({},"outlined"===r.variant&&(a={backgroundColor:"transparent",border:c.vars?"1px solid ".concat(c.vars.palette.Chip.defaultBorder):"1px solid ".concat("light"===c.palette.mode?c.palette.grey[400]:c.palette.grey[700])},(0,t.Z)(a,"&.".concat(y.clickable,":hover"),{backgroundColor:(c.vars||c).palette.action.hover}),(0,t.Z)(a,"&.".concat(y.focusVisible),{backgroundColor:(c.vars||c).palette.action.focus}),(0,t.Z)(a,"& .".concat(y.avatar),{marginLeft:4}),(0,t.Z)(a,"& .".concat(y.avatarSmall),{marginLeft:2}),(0,t.Z)(a,"& .".concat(y.icon),{marginLeft:4}),(0,t.Z)(a,"& .".concat(y.iconSmall),{marginLeft:2}),(0,t.Z)(a,"& .".concat(y.deleteIcon),{marginRight:5}),(0,t.Z)(a,"& .".concat(y.deleteIconSmall),{marginRight:3}),a),"outlined"===r.variant&&"default"!==r.color&&(o={color:(c.vars||c).palette[r.color].main,border:"1px solid ".concat(c.vars?"rgba(".concat(c.vars.palette[r.color].mainChannel," / 0.7)"):(0,s.Fq)(c.palette[r.color].main,.7))},(0,t.Z)(o,"&.".concat(y.clickable,":hover"),{backgroundColor:c.vars?"rgba(".concat(c.vars.palette[r.color].mainChannel," / ").concat(c.vars.palette.action.hoverOpacity,")"):(0,s.Fq)(c.palette[r.color].main,c.palette.action.hoverOpacity)}),(0,t.Z)(o,"&.".concat(y.focusVisible),{backgroundColor:c.vars?"rgba(".concat(c.vars.palette[r.color].mainChannel," / ").concat(c.vars.palette.action.focusOpacity,")"):(0,s.Fq)(c.palette[r.color].main,c.palette.action.focusOpacity)}),(0,t.Z)(o,"& .".concat(y.deleteIcon),{color:c.vars?"rgba(".concat(c.vars.palette[r.color].mainChannel," / 0.7)"):(0,s.Fq)(c.palette[r.color].main,.7),"&:hover, &:active":{color:(c.vars||c).palette[r.color].main}}),o))})),I=(0,f.ZP)("span",{name:"MuiChip",slot:"Label",overridesResolver:function(e,a){var o=e.ownerState.size;return[a.label,a["label".concat((0,m.Z)(o))]]}})((function(e){var a=e.ownerState;return(0,l.Z)({overflow:"hidden",textOverflow:"ellipsis",paddingLeft:12,paddingRight:12,whiteSpace:"nowrap"},"small"===a.size&&{paddingLeft:8,paddingRight:8})}));function x(e){return"Backspace"===e.key||"Delete"===e.key}var w=r.forwardRef((function(e,a){var o=(0,Z.Z)({props:e,name:"MuiChip"}),t=o.avatar,s=o.className,d=o.clickable,f=o.color,g=void 0===f?"default":f,C=o.component,y=o.deleteIcon,w=o.disabled,z=void 0!==w&&w,O=o.icon,R=o.label,F=o.onClick,D=o.onDelete,P=o.onKeyDown,L=o.onKeyUp,T=o.size,V=void 0===T?"medium":T,N=o.variant,E=void 0===N?"filled":N,M=o.tabIndex,q=o.skipFocusWhenDisabled,K=void 0!==q&&q,W=(0,c.Z)(o,k),j=r.useRef(null),U=(0,u.Z)(j,a),A=function(e){e.stopPropagation(),D&&D(e)},B=!(!1===d||!F)||d,H=B||D?b.Z:C||"div",_=(0,l.Z)({},o,{component:H,disabled:z,size:V,color:g,iconColor:r.isValidElement(O)&&O.props.color||g,onDelete:!!D,clickable:B,variant:E}),G=function(e){var a=e.classes,o=e.disabled,t=e.size,c=e.color,l=e.iconColor,r=e.onDelete,n=e.clickable,s=e.variant,d={root:["root",s,o&&"disabled","size".concat((0,m.Z)(t)),"color".concat((0,m.Z)(c)),n&&"clickable",n&&"clickableColor".concat((0,m.Z)(c)),r&&"deletable",r&&"deletableColor".concat((0,m.Z)(c)),"".concat(s).concat((0,m.Z)(c))],label:["label","label".concat((0,m.Z)(t))],avatar:["avatar","avatar".concat((0,m.Z)(t)),"avatarColor".concat((0,m.Z)(c))],icon:["icon","icon".concat((0,m.Z)(t)),"iconColor".concat((0,m.Z)(l))],deleteIcon:["deleteIcon","deleteIcon".concat((0,m.Z)(t)),"deleteIconColor".concat((0,m.Z)(c)),"deleteIcon".concat((0,m.Z)(s),"Color").concat((0,m.Z)(c))]};return(0,i.Z)(d,h,a)}(_),J=H===b.Z?(0,l.Z)({component:C||"div",focusVisibleClassName:G.focusVisible},D&&{disableRipple:!0}):{},Q=null;D&&(Q=y&&r.isValidElement(y)?r.cloneElement(y,{className:(0,n.Z)(y.props.className,G.deleteIcon),onClick:A}):(0,p.jsx)(v,{className:(0,n.Z)(G.deleteIcon),onClick:A}));var X=null;t&&r.isValidElement(t)&&(X=r.cloneElement(t,{className:(0,n.Z)(G.avatar,t.props.className)}));var Y=null;return O&&r.isValidElement(O)&&(Y=r.cloneElement(O,{className:(0,n.Z)(G.icon,O.props.className)})),(0,p.jsxs)(S,(0,l.Z)({as:H,className:(0,n.Z)(G.root,s),disabled:!(!B||!z)||void 0,onClick:F,onKeyDown:function(e){e.currentTarget===e.target&&x(e)&&e.preventDefault(),P&&P(e)},onKeyUp:function(e){e.currentTarget===e.target&&(D&&x(e)?D(e):"Escape"===e.key&&j.current&&j.current.blur()),L&&L(e)},ref:U,tabIndex:K&&z?-1:M,ownerState:_},J,W,{children:[X||Y,(0,p.jsx)(I,{className:(0,n.Z)(G.label),ownerState:_,children:R}),Q]}))}))},36229:function(e,a,o){var t=o(72791);a.Z=function(e){var a=t.useRef({});return t.useEffect((function(){a.current=e})),a.current}}}]); +//# sourceMappingURL=225.a62217d0.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/225.a62217d0.chunk.js.map b/portal-ui/build/static/js/225.a62217d0.chunk.js.map new file mode 100644 index 000000000..eee288e26 --- /dev/null +++ b/portal-ui/build/static/js/225.a62217d0.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/225.a62217d0.chunk.js","mappings":"kPASA,GAAeA,EAAAA,EAAAA,IAA4BC,EAAAA,EAAAA,KAAK,OAAQ,CACtDC,EAAG,oLACD,U,6ECTG,SAASC,EAAoBC,GAClC,OAAOC,EAAAA,EAAAA,GAAqB,UAAWD,EACzC,CACA,IACA,GADoBE,EAAAA,EAAAA,GAAuB,UAAW,CAAC,OAAQ,YAAa,aAAc,aAAc,YAAa,eAAgB,iBAAkB,eAAgB,eAAgB,WAAY,YAAa,wBAAyB,0BAA2B,YAAa,wBAAyB,0BAA2B,WAAY,SAAU,kBAAmB,oBAAqB,gBAAiB,kBAAmB,SAAU,cAAe,eAAgB,qBAAsB,uBAAwB,OAAQ,YAAa,aAAc,mBAAoB,qBAAsB,QAAS,aAAc,cAAe,aAAc,kBAAmB,mBAAoB,yBAA0B,2BAA4B,iCAAkC,mCAAoC,+BAAgC,iCAAkC,iBCD91BC,EAAY,CAAC,SAAU,YAAa,YAAa,QAAS,YAAa,aAAc,WAAY,OAAQ,QAAS,UAAW,WAAY,YAAa,UAAW,OAAQ,UAAW,WAAY,yBAoChMC,GAAWC,EAAAA,EAAAA,IAAO,MAAO,CAC7BC,KAAM,UACNN,KAAM,OACNO,kBAAmB,SAACC,EAAOC,GACzB,IACEC,EACEF,EADFE,WAGAC,EAMED,EANFC,MACAC,EAKEF,EALFE,UACAC,EAIEH,EAJFG,UACAC,EAGEJ,EAHFI,SACAC,EAEEL,EAFFK,KACAC,EACEN,EADFM,QAEF,MAAO,EAAAC,EAAAA,EAAAA,GAAA,SAAAC,OACEC,EAAYC,QAAWX,EAAOW,SAAMH,EAAAA,EAAAA,GAAA,SAAAC,OAEpCC,EAAYC,QAAWX,EAAO,SAADS,QAAUG,EAAAA,EAAAA,GAAWN,OAAQE,EAAAA,EAAAA,GAAA,SAAAC,OAE1DC,EAAYC,QAAWX,EAAO,cAADS,QAAeG,EAAAA,EAAAA,GAAWV,OAASM,EAAAA,EAAAA,GAAA,SAAAC,OAEhEC,EAAYG,MAASb,EAAOa,OAAIL,EAAAA,EAAAA,GAAA,SAAAC,OAEhCC,EAAYG,MAASb,EAAO,OAADS,QAAQG,EAAAA,EAAAA,GAAWN,OAAQE,EAAAA,EAAAA,GAAA,SAAAC,OAEtDC,EAAYG,MAASb,EAAO,YAADS,QAAaG,EAAAA,EAAAA,GAAWT,OAAaK,EAAAA,EAAAA,GAAA,SAAAC,OAEhEC,EAAYI,YAAed,EAAOc,aAAUN,EAAAA,EAAAA,GAAA,SAAAC,OAE5CC,EAAYI,YAAed,EAAO,aAADS,QAAcG,EAAAA,EAAAA,GAAWN,OAAQE,EAAAA,EAAAA,GAAA,SAAAC,OAElEC,EAAYI,YAAed,EAAO,kBAADS,QAAmBG,EAAAA,EAAAA,GAAWV,OAASM,EAAAA,EAAAA,GAAA,SAAAC,OAExEC,EAAYI,YAAed,EAAO,aAADS,QAAcG,EAAAA,EAAAA,GAAWL,GAAQ,SAAAE,QAAQG,EAAAA,EAAAA,GAAWV,MAC3FF,EAAOe,KAAMf,EAAO,OAADS,QAAQG,EAAAA,EAAAA,GAAWN,KAAUN,EAAO,QAADS,QAASG,EAAAA,EAAAA,GAAWV,KAAWE,GAAaJ,EAAOI,UAAWA,GAAuB,YAAVF,GAAuBF,EAAO,iBAADS,QAAkBG,EAAAA,EAAAA,GAAWV,GAAM,MAAMG,GAAYL,EAAOgB,UAAWX,GAAsB,YAAVH,GAAuBF,EAAO,iBAADS,QAAkBG,EAAAA,EAAAA,GAAWV,KAAWF,EAAOO,GAAUP,EAAO,GAADS,OAAIF,GAAOE,QAAGG,EAAAA,EAAAA,GAAWV,KAC3W,GApCeN,EAqCd,SAAAqB,GAGG,IAAAC,EAFJC,EAAKF,EAALE,MACAlB,EAAUgB,EAAVhB,WAEMmB,EAAmC,UAAvBD,EAAME,QAAQC,KAAmBH,EAAME,QAAQE,KAAK,KAAOJ,EAAME,QAAQE,KAAK,KAChG,OAAOC,EAAAA,EAAAA,IAAQN,EAAA,CACbO,SAAU,OACVC,WAAYP,EAAMQ,WAAWD,WAC7BE,SAAUT,EAAMQ,WAAWE,QAAQ,IACnCC,QAAS,cACTC,WAAY,SACZC,eAAgB,SAChBC,OAAQ,GACR/B,OAAQiB,EAAMe,MAAQf,GAAOE,QAAQc,KAAKC,QAC1CC,iBAAkBlB,EAAMe,MAAQf,GAAOE,QAAQiB,OAAOC,SACtDC,aAAc,GACdC,WAAY,SACZC,WAAYvB,EAAMwB,YAAYC,OAAO,CAAC,mBAAoB,eAE1DC,QAAS,EACTC,eAAgB,OAChBC,OAAQ,EAERC,QAAS,EAETC,cAAe,SACfC,UAAW,eAAY1C,EAAAA,EAAAA,GAAAU,EAAA,KAAAT,OACjBC,EAAYyC,UAAa,CAC7BC,SAAUjC,EAAMe,MAAQf,GAAOE,QAAQiB,OAAOe,gBAC9CC,cAAe,UAChB9C,EAAAA,EAAAA,GAAAU,EAAA,MAAAT,OACMC,EAAYC,QAAW,CAC5B4C,WAAY,EACZC,aAAc,EACdC,MAAO,GACPxB,OAAQ,GACR/B,MAAOiB,EAAMe,KAAOf,EAAMe,KAAKb,QAAQqC,KAAKC,mBAAqBvC,EACjEQ,SAAUT,EAAMQ,WAAWE,QAAQ,OACpCrB,EAAAA,EAAAA,GAAAU,EAAA,MAAAT,OACMC,EAAYkD,oBAAuB,CACxC1D,OAAQiB,EAAMe,MAAQf,GAAOE,QAAQe,QAAQyB,aAC7CxB,iBAAkBlB,EAAMe,MAAQf,GAAOE,QAAQe,QAAQ0B,QACxDtD,EAAAA,EAAAA,GAAAU,EAAA,MAAAT,OACMC,EAAYqD,sBAAyB,CAC1C7D,OAAQiB,EAAMe,MAAQf,GAAOE,QAAQ2C,UAAUH,aAC/CxB,iBAAkBlB,EAAMe,MAAQf,GAAOE,QAAQ2C,UAAUF,QAC1DtD,EAAAA,EAAAA,GAAAU,EAAA,MAAAT,OACMC,EAAYuD,aAAgB,CACjCV,WAAY,EACZC,aAAc,EACdC,MAAO,GACPxB,OAAQ,GACRL,SAAUT,EAAMQ,WAAWE,QAAQ,OACpCrB,EAAAA,EAAAA,GAAAU,EAAA,MAAAT,OACMC,EAAYG,OAASW,EAAAA,EAAAA,GAAS,CACnC+B,WAAY,EACZC,aAAc,GACO,UAApBvD,EAAWK,MAAoB,CAChCsB,SAAU,GACV2B,WAAY,EACZC,aAAc,GACbvD,EAAWE,YAAcF,EAAWC,QAASsB,EAAAA,EAAAA,GAAS,CACvDtB,MAAOiB,EAAMe,KAAOf,EAAMe,KAAKb,QAAQqC,KAAKQ,iBAAmB9C,GACzC,YAArBnB,EAAWC,OAAuB,CACnCA,MAAO,eACNM,EAAAA,EAAAA,GAAAU,EAAA,MAAAT,OACIC,EAAYI,aAAeU,EAAAA,EAAAA,GAAS,CACzC2C,wBAAyB,cACzBjE,MAAOiB,EAAMe,KAAO,QAAHzB,OAAWU,EAAMe,KAAKb,QAAQc,KAAKiC,eAAc,aAAaC,EAAAA,EAAAA,IAAMlD,EAAME,QAAQc,KAAKC,QAAS,KACjHR,SAAU,GACV0C,OAAQ,UACRC,OAAQ,eACR,UAAW,CACTrE,MAAOiB,EAAMe,KAAO,QAAHzB,OAAWU,EAAMe,KAAKb,QAAQc,KAAKiC,eAAc,YAAYC,EAAAA,EAAAA,IAAMlD,EAAME,QAAQc,KAAKC,QAAS,MAE7F,UAApBnC,EAAWK,MAAoB,CAChCsB,SAAU,GACV4B,YAAa,EACbD,YAAa,GACS,YAArBtD,EAAWC,OAAuB,CACnCA,MAAOiB,EAAMe,KAAO,QAAHzB,OAAWU,EAAMe,KAAKb,QAAQpB,EAAWC,OAAOsE,oBAAmB,YAAYH,EAAAA,EAAAA,IAAMlD,EAAME,QAAQpB,EAAWC,OAAO2D,aAAc,IACpJ,oBAAqB,CACnB3D,OAAQiB,EAAMe,MAAQf,GAAOE,QAAQpB,EAAWC,OAAO2D,iBAEzD3C,GACmB,UAApBjB,EAAWK,MAAoB,CAChC2B,OAAQ,IACc,YAArBhC,EAAWC,OAAuB,CACnCmC,iBAAkBlB,EAAMe,MAAQf,GAAOE,QAAQpB,EAAWC,OAAOuE,KACjEvE,OAAQiB,EAAMe,MAAQf,GAAOE,QAAQpB,EAAWC,OAAO2D,cACtD5D,EAAWI,WAAQG,EAAAA,EAAAA,GAAA,QAAAC,OACdC,EAAYgE,cAAiB,CACjCrC,gBAAiBlB,EAAMe,KAAO,QAAHzB,OAAWU,EAAMe,KAAKb,QAAQiB,OAAOqC,gBAAe,YAAAlE,OAAWU,EAAMe,KAAKb,QAAQiB,OAAOsC,gBAAe,OAAAnE,OAAMU,EAAMe,KAAKb,QAAQiB,OAAOuC,aAAY,OAAOR,EAAAA,EAAAA,IAAMlD,EAAME,QAAQiB,OAAOC,SAAUpB,EAAME,QAAQiB,OAAOsC,gBAAkBzD,EAAME,QAAQiB,OAAOuC,gBAExR5E,EAAWI,UAAiC,YAArBJ,EAAWC,QAAmBM,EAAAA,EAAAA,GAAA,QAAAC,OAChDC,EAAYgE,cAAiB,CACjCrC,iBAAkBlB,EAAMe,MAAQf,GAAOE,QAAQpB,EAAWC,OAAO4D,OAGvE,IAAG,SAAAgB,GAAA,IAAAC,EACD5D,EAAK2D,EAAL3D,MACAlB,EAAU6E,EAAV7E,WAAU,OACNuB,EAAAA,EAAAA,GAAS,CAAC,EAAGvB,EAAWG,YAAS2E,EAAA,CACrCC,WAAY,OACZb,wBAAyB,cACzBG,OAAQ,UACR,UAAW,CACTjC,gBAAiBlB,EAAMe,KAAO,QAAHzB,OAAWU,EAAMe,KAAKb,QAAQiB,OAAOqC,gBAAe,YAAAlE,OAAWU,EAAMe,KAAKb,QAAQiB,OAAOsC,gBAAe,OAAAnE,OAAMU,EAAMe,KAAKb,QAAQiB,OAAO2C,aAAY,OAAOZ,EAAAA,EAAAA,IAAMlD,EAAME,QAAQiB,OAAOC,SAAUpB,EAAME,QAAQiB,OAAOsC,gBAAkBzD,EAAME,QAAQiB,OAAO2C,iBACxRzE,EAAAA,EAAAA,GAAAuE,EAAA,KAAAtE,OACKC,EAAYgE,cAAiB,CACjCrC,gBAAiBlB,EAAMe,KAAO,QAAHzB,OAAWU,EAAMe,KAAKb,QAAQiB,OAAOqC,gBAAe,YAAAlE,OAAWU,EAAMe,KAAKb,QAAQiB,OAAOsC,gBAAe,OAAAnE,OAAMU,EAAMe,KAAKb,QAAQiB,OAAOuC,aAAY,OAAOR,EAAAA,EAAAA,IAAMlD,EAAME,QAAQiB,OAAOC,SAAUpB,EAAME,QAAQiB,OAAOsC,gBAAkBzD,EAAME,QAAQiB,OAAOuC,iBACxRrE,EAAAA,EAAAA,GAAAuE,EACD,WAAY,CACVG,WAAY/D,EAAMe,MAAQf,GAAOgE,QAAQ,KAC1CJ,GACA9E,EAAWG,WAAkC,YAArBH,EAAWC,QAAmBM,EAAAA,EAAAA,GAAA,iBAAAC,OACxCC,EAAYgE,cAAiB,CAC1CrC,iBAAkBlB,EAAMe,MAAQf,GAAOE,QAAQpB,EAAWC,OAAO4D,OAEnE,IAAE,SAAAsB,GAAA,IAAAC,EAAAC,EACFnE,EAAKiE,EAALjE,MACAlB,EAAUmF,EAAVnF,WAAU,OACNuB,EAAAA,EAAAA,GAAS,CAAC,EAA0B,aAAvBvB,EAAWM,UAAsB8E,EAAA,CAClDhD,gBAAiB,cACjBU,OAAQ5B,EAAMe,KAAO,aAAHzB,OAAgBU,EAAMe,KAAKb,QAAQqC,KAAK6B,eAAa,aAAA9E,OAAyC,UAAvBU,EAAME,QAAQC,KAAmBH,EAAME,QAAQE,KAAK,KAAOJ,EAAME,QAAQE,KAAK,QAAMf,EAAAA,EAAAA,GAAA6E,EAAA,KAAA5E,OACvKC,EAAYN,UAAS,UAAW,CACpCiC,iBAAkBlB,EAAMe,MAAQf,GAAOE,QAAQiB,OAAOkD,SACvDhF,EAAAA,EAAAA,GAAA6E,EAAA,KAAA5E,OACKC,EAAYgE,cAAiB,CACjCrC,iBAAkBlB,EAAMe,MAAQf,GAAOE,QAAQiB,OAAOmD,SACvDjF,EAAAA,EAAAA,GAAA6E,EAAA,MAAA5E,OACMC,EAAYC,QAAW,CAC5B4C,WAAY,KACb/C,EAAAA,EAAAA,GAAA6E,EAAA,MAAA5E,OACMC,EAAYuD,aAAgB,CACjCV,WAAY,KACb/C,EAAAA,EAAAA,GAAA6E,EAAA,MAAA5E,OACMC,EAAYG,MAAS,CAC1B0C,WAAY,KACb/C,EAAAA,EAAAA,GAAA6E,EAAA,MAAA5E,OACMC,EAAYgF,WAAc,CAC/BnC,WAAY,KACb/C,EAAAA,EAAAA,GAAA6E,EAAA,MAAA5E,OACMC,EAAYI,YAAe,CAChC0C,YAAa,KACdhD,EAAAA,EAAAA,GAAA6E,EAAA,MAAA5E,OACMC,EAAYiF,iBAAoB,CACrCnC,YAAa,IACd6B,GACuB,aAAvBpF,EAAWM,SAA+C,YAArBN,EAAWC,QAAmBoF,EAAA,CACpEpF,OAAQiB,EAAMe,MAAQf,GAAOE,QAAQpB,EAAWC,OAAOuE,KACvD1B,OAAQ,aAAFtC,OAAeU,EAAMe,KAAO,QAAHzB,OAAWU,EAAMe,KAAKb,QAAQpB,EAAWC,OAAO0F,YAAW,YAAYvB,EAAAA,EAAAA,IAAMlD,EAAME,QAAQpB,EAAWC,OAAOuE,KAAM,OAAMjE,EAAAA,EAAAA,GAAA8E,EAAA,KAAA7E,OAClJC,EAAYN,UAAS,UAAW,CACpCiC,gBAAiBlB,EAAMe,KAAO,QAAHzB,OAAWU,EAAMe,KAAKb,QAAQpB,EAAWC,OAAO0F,YAAW,OAAAnF,OAAMU,EAAMe,KAAKb,QAAQiB,OAAO2C,aAAY,MAAMZ,EAAAA,EAAAA,IAAMlD,EAAME,QAAQpB,EAAWC,OAAOuE,KAAMtD,EAAME,QAAQiB,OAAO2C,iBAC1MzE,EAAAA,EAAAA,GAAA8E,EAAA,KAAA7E,OACKC,EAAYgE,cAAiB,CACjCrC,gBAAiBlB,EAAMe,KAAO,QAAHzB,OAAWU,EAAMe,KAAKb,QAAQpB,EAAWC,OAAO0F,YAAW,OAAAnF,OAAMU,EAAMe,KAAKb,QAAQiB,OAAOuC,aAAY,MAAMR,EAAAA,EAAAA,IAAMlD,EAAME,QAAQpB,EAAWC,OAAOuE,KAAMtD,EAAME,QAAQiB,OAAOuC,iBAC1MrE,EAAAA,EAAAA,GAAA8E,EAAA,MAAA7E,OACMC,EAAYI,YAAe,CAChCZ,MAAOiB,EAAMe,KAAO,QAAHzB,OAAWU,EAAMe,KAAKb,QAAQpB,EAAWC,OAAO0F,YAAW,YAAYvB,EAAAA,EAAAA,IAAMlD,EAAME,QAAQpB,EAAWC,OAAOuE,KAAM,IACpI,oBAAqB,CACnBvE,OAAQiB,EAAMe,MAAQf,GAAOE,QAAQpB,EAAWC,OAAOuE,QAE1Da,GACD,IACIO,GAAYjG,EAAAA,EAAAA,IAAO,OAAQ,CAC/BC,KAAM,UACNN,KAAM,QACNO,kBAAmB,SAACC,EAAOC,GACzB,IAIEM,EAFEP,EADFE,WAGAK,KAEF,MAAO,CAACN,EAAO8F,MAAO9F,EAAO,QAADS,QAASG,EAAAA,EAAAA,GAAWN,KAClD,GAXgBV,EAYf,SAAAmG,GAAA,IACD9F,EAAU8F,EAAV9F,WAAU,OACNuB,EAAAA,EAAAA,GAAS,CACbwE,SAAU,SACVC,aAAc,WACdC,YAAa,GACbC,aAAc,GACd1D,WAAY,UACS,UAApBxC,EAAWK,MAAoB,CAChC4F,YAAa,EACbC,aAAc,GACd,IACF,SAASC,EAAsBC,GAC7B,MAA6B,cAAtBA,EAAcC,KAA6C,WAAtBD,EAAcC,GAC5D,CAKA,IAgOA,EAhO0BC,EAAAA,YAAiB,SAAcC,EAASC,GAChE,IAAM1G,GAAQ2G,EAAAA,EAAAA,GAAc,CAC1B3G,MAAOyG,EACP3G,KAAM,YAGI8G,EAiBN5G,EAjBFY,OACAiG,EAgBE7G,EAhBF6G,UACWC,EAeT9G,EAfFK,UAAS0G,EAeP/G,EAdFG,MAAAA,OAAK,IAAA4G,EAAG,UAASA,EACNC,EAaThH,EAbFiH,UACYC,EAYVlH,EAZFe,WAAUoG,EAYRnH,EAXFoD,SAAAA,OAAQ,IAAA+D,GAAQA,EACVC,EAUJpH,EAVFc,KACAiF,EASE/F,EATF+F,MACAsB,EAQErH,EARFqH,QACA/G,EAOEN,EAPFM,SACAgH,EAMEtH,EANFsH,UACAC,EAKEvH,EALFuH,QAAOC,EAKLxH,EAJFO,KAAAA,OAAI,IAAAiH,EAAG,SAAQA,EAAAC,EAIbzH,EAHFQ,QAAAA,OAAO,IAAAiH,EAAG,SAAQA,EAClBC,EAEE1H,EAFF0H,SAAQC,EAEN3H,EADF4H,sBAAAA,OAAqB,IAAAD,GAAQA,EAE/BE,GAAQC,EAAAA,EAAAA,GAA8B9H,EAAOL,GACzCoI,EAAUvB,EAAAA,OAAa,MACvBwB,GAAYC,EAAAA,EAAAA,GAAWF,EAASrB,GAChCwB,EAAwB,SAAAC,GAE5BA,EAAMC,kBACF9H,GACFA,EAAS6H,EAEb,EAyBM9H,KAA8B,IAAlByG,IAA2BO,IAAiBP,EACxDG,EAAY5G,GAAaC,EAAW+H,EAAAA,EAAarB,GAAiB,MAClE9G,GAAauB,EAAAA,EAAAA,GAAS,CAAC,EAAGzB,EAAO,CACrCiH,UAAAA,EACA7D,SAAAA,EACA7C,KAAAA,EACAJ,MAAAA,EACAC,UAAwBoG,EAAAA,eAAqBY,IAAYA,EAASpH,MAAMG,OAAiBA,EACzFG,WAAYA,EACZD,UAAAA,EACAG,QAAAA,IAEI8H,EAnUkB,SAAApI,GACxB,IACEoI,EAQEpI,EARFoI,QACAlF,EAOElD,EAPFkD,SACA7C,EAMEL,EANFK,KACAJ,EAKED,EALFC,MACAC,EAIEF,EAJFE,UACAE,EAGEJ,EAHFI,SACAD,EAEEH,EAFFG,UACAG,EACEN,EADFM,QAEI+H,EAAQ,CACZvH,KAAM,CAAC,OAAQR,EAAS4C,GAAY,WAAY,OAAF1C,QAASG,EAAAA,EAAAA,GAAWN,IAAK,QAAAG,QAAYG,EAAAA,EAAAA,GAAWV,IAAUE,GAAa,YAAaA,GAAa,iBAAJK,QAAqBG,EAAAA,EAAAA,GAAWV,IAAUG,GAAY,YAAaA,GAAY,iBAAJI,QAAqBG,EAAAA,EAAAA,GAAWV,IAAU,GAAFO,OAAKF,GAAOE,QAAGG,EAAAA,EAAAA,GAAWV,KACxR4F,MAAO,CAAC,QAAS,QAAFrF,QAAUG,EAAAA,EAAAA,GAAWN,KACpCK,OAAQ,CAAC,SAAU,SAAFF,QAAWG,EAAAA,EAAAA,GAAWN,IAAK,cAAAG,QAAkBG,EAAAA,EAAAA,GAAWV,KACzEW,KAAM,CAAC,OAAQ,OAAFJ,QAASG,EAAAA,EAAAA,GAAWN,IAAK,YAAAG,QAAgBG,EAAAA,EAAAA,GAAWT,KACjEW,WAAY,CAAC,aAAc,aAAFL,QAAeG,EAAAA,EAAAA,GAAWN,IAAK,kBAAAG,QAAsBG,EAAAA,EAAAA,GAAWV,IAAM,aAAAO,QAAiBG,EAAAA,EAAAA,GAAWL,GAAQ,SAAAE,QAAQG,EAAAA,EAAAA,GAAWV,MAExJ,OAAOqI,EAAAA,EAAAA,GAAeD,EAAOhJ,EAAqB+I,EACpD,CAgTkBG,CAAkBvI,GAC5BwI,EAAYzB,IAAcoB,EAAAA,GAAa5G,EAAAA,EAAAA,GAAS,CACpDwF,UAAWD,GAAiB,MAC5B2B,sBAAuBL,EAAQ3D,cAC9BrE,GAAY,CACbsI,eAAe,IACZ,CAAC,EACF7H,EAAa,KACbT,IACFS,EAAamG,GAA+BV,EAAAA,eAAqBU,GAA+BV,EAAAA,aAAmBU,EAAgB,CACjIL,WAAWgC,EAAAA,EAAAA,GAAK3B,EAAelH,MAAM6G,UAAWyB,EAAQvH,YACxDsG,QAASa,KACO7I,EAAAA,EAAAA,KAAKyJ,EAAY,CACjCjC,WAAWgC,EAAAA,EAAAA,GAAKP,EAAQvH,YACxBsG,QAASa,KAGb,IAAItH,EAAS,KACTgG,GAA2BJ,EAAAA,eAAqBI,KAClDhG,EAAsB4F,EAAAA,aAAmBI,EAAY,CACnDC,WAAWgC,EAAAA,EAAAA,GAAKP,EAAQ1H,OAAQgG,EAAW5G,MAAM6G,cAGrD,IAAI/F,EAAO,KAWX,OAVIsG,GAAyBZ,EAAAA,eAAqBY,KAChDtG,EAAoB0F,EAAAA,aAAmBY,EAAU,CAC/CP,WAAWgC,EAAAA,EAAAA,GAAKP,EAAQxH,KAAMsG,EAASpH,MAAM6G,eAQ7BkC,EAAAA,EAAAA,MAAMnJ,GAAU6B,EAAAA,EAAAA,GAAS,CAC3CuH,GAAI/B,EACJJ,WAAWgC,EAAAA,EAAAA,GAAKP,EAAQtH,KAAM6F,GAC9BzD,YAAU/C,IAAa+C,SAAkB6F,EACzC5B,QAASA,EACTC,UA3EoB,SAAAa,GAEhBA,EAAMe,gBAAkBf,EAAMgB,QAAU9C,EAAsB8B,IAGhEA,EAAMiB,iBAEJ9B,GACFA,EAAUa,EAEd,EAkEEZ,QAjEkB,SAAAY,GAEdA,EAAMe,gBAAkBf,EAAMgB,SAC5B7I,GAAY+F,EAAsB8B,GACpC7H,EAAS6H,GACc,WAAdA,EAAM5B,KAAoBwB,EAAQsB,SAC3CtB,EAAQsB,QAAQC,QAGhB/B,GACFA,EAAQY,EAEZ,EAsDEzB,IAAKsB,EACLN,SAAUE,GAAyBxE,GAAY,EAAIsE,EACnDxH,WAAYA,GACXwI,EAAWb,EAAO,CACnB0B,SAAU,CAAC3I,GAAUE,GAAmBzB,EAAAA,EAAAA,KAAKyG,EAAW,CACtDe,WAAWgC,EAAAA,EAAAA,GAAKP,EAAQvC,OACxB7F,WAAYA,EACZqJ,SAAUxD,IACRhF,KAER,G,uCChYA,IAPyB,SAAAyI,GACvB,IAAM9C,EAAMF,EAAAA,OAAa,CAAC,GAI1B,OAHAA,EAAAA,WAAgB,WACdE,EAAI2C,QAAUG,CAChB,IACO9C,EAAI2C,OACb,C","sources":["../node_modules/@mui/material/internal/svg-icons/Cancel.js","../node_modules/@mui/material/Chip/chipClasses.js","../node_modules/@mui/material/Chip/Chip.js","../node_modules/@mui/utils/esm/usePreviousProps.js"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z\"\n}), 'Cancel');","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getChipUtilityClass(slot) {\n return generateUtilityClass('MuiChip', slot);\n}\nconst chipClasses = generateUtilityClasses('MuiChip', ['root', 'sizeSmall', 'sizeMedium', 'colorError', 'colorInfo', 'colorPrimary', 'colorSecondary', 'colorSuccess', 'colorWarning', 'disabled', 'clickable', 'clickableColorPrimary', 'clickableColorSecondary', 'deletable', 'deletableColorPrimary', 'deletableColorSecondary', 'outlined', 'filled', 'outlinedPrimary', 'outlinedSecondary', 'filledPrimary', 'filledSecondary', 'avatar', 'avatarSmall', 'avatarMedium', 'avatarColorPrimary', 'avatarColorSecondary', 'icon', 'iconSmall', 'iconMedium', 'iconColorPrimary', 'iconColorSecondary', 'label', 'labelSmall', 'labelMedium', 'deleteIcon', 'deleteIconSmall', 'deleteIconMedium', 'deleteIconColorPrimary', 'deleteIconColorSecondary', 'deleteIconOutlinedColorPrimary', 'deleteIconOutlinedColorSecondary', 'deleteIconFilledColorPrimary', 'deleteIconFilledColorSecondary', 'focusVisible']);\nexport default chipClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"avatar\", \"className\", \"clickable\", \"color\", \"component\", \"deleteIcon\", \"disabled\", \"icon\", \"label\", \"onClick\", \"onDelete\", \"onKeyDown\", \"onKeyUp\", \"size\", \"variant\", \"tabIndex\", \"skipFocusWhenDisabled\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport CancelIcon from '../internal/svg-icons/Cancel';\nimport useForkRef from '../utils/useForkRef';\nimport unsupportedProp from '../utils/unsupportedProp';\nimport capitalize from '../utils/capitalize';\nimport ButtonBase from '../ButtonBase';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport chipClasses, { getChipUtilityClass } from './chipClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disabled,\n size,\n color,\n iconColor,\n onDelete,\n clickable,\n variant\n } = ownerState;\n const slots = {\n root: ['root', variant, disabled && 'disabled', `size${capitalize(size)}`, `color${capitalize(color)}`, clickable && 'clickable', clickable && `clickableColor${capitalize(color)}`, onDelete && 'deletable', onDelete && `deletableColor${capitalize(color)}`, `${variant}${capitalize(color)}`],\n label: ['label', `label${capitalize(size)}`],\n avatar: ['avatar', `avatar${capitalize(size)}`, `avatarColor${capitalize(color)}`],\n icon: ['icon', `icon${capitalize(size)}`, `iconColor${capitalize(iconColor)}`],\n deleteIcon: ['deleteIcon', `deleteIcon${capitalize(size)}`, `deleteIconColor${capitalize(color)}`, `deleteIcon${capitalize(variant)}Color${capitalize(color)}`]\n };\n return composeClasses(slots, getChipUtilityClass, classes);\n};\nconst ChipRoot = styled('div', {\n name: 'MuiChip',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n const {\n color,\n iconColor,\n clickable,\n onDelete,\n size,\n variant\n } = ownerState;\n return [{\n [`& .${chipClasses.avatar}`]: styles.avatar\n }, {\n [`& .${chipClasses.avatar}`]: styles[`avatar${capitalize(size)}`]\n }, {\n [`& .${chipClasses.avatar}`]: styles[`avatarColor${capitalize(color)}`]\n }, {\n [`& .${chipClasses.icon}`]: styles.icon\n }, {\n [`& .${chipClasses.icon}`]: styles[`icon${capitalize(size)}`]\n }, {\n [`& .${chipClasses.icon}`]: styles[`iconColor${capitalize(iconColor)}`]\n }, {\n [`& .${chipClasses.deleteIcon}`]: styles.deleteIcon\n }, {\n [`& .${chipClasses.deleteIcon}`]: styles[`deleteIcon${capitalize(size)}`]\n }, {\n [`& .${chipClasses.deleteIcon}`]: styles[`deleteIconColor${capitalize(color)}`]\n }, {\n [`& .${chipClasses.deleteIcon}`]: styles[`deleteIcon${capitalize(variant)}Color${capitalize(color)}`]\n }, styles.root, styles[`size${capitalize(size)}`], styles[`color${capitalize(color)}`], clickable && styles.clickable, clickable && color !== 'default' && styles[`clickableColor${capitalize(color)})`], onDelete && styles.deletable, onDelete && color !== 'default' && styles[`deletableColor${capitalize(color)}`], styles[variant], styles[`${variant}${capitalize(color)}`]];\n }\n})(({\n theme,\n ownerState\n}) => {\n const textColor = theme.palette.mode === 'light' ? theme.palette.grey[700] : theme.palette.grey[300];\n return _extends({\n maxWidth: '100%',\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.pxToRem(13),\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: 32,\n color: (theme.vars || theme).palette.text.primary,\n backgroundColor: (theme.vars || theme).palette.action.selected,\n borderRadius: 32 / 2,\n whiteSpace: 'nowrap',\n transition: theme.transitions.create(['background-color', 'box-shadow']),\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n textDecoration: 'none',\n border: 0,\n // Remove `button` border\n padding: 0,\n // Remove `button` padding\n verticalAlign: 'middle',\n boxSizing: 'border-box',\n [`&.${chipClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity,\n pointerEvents: 'none'\n },\n [`& .${chipClasses.avatar}`]: {\n marginLeft: 5,\n marginRight: -6,\n width: 24,\n height: 24,\n color: theme.vars ? theme.vars.palette.Chip.defaultAvatarColor : textColor,\n fontSize: theme.typography.pxToRem(12)\n },\n [`& .${chipClasses.avatarColorPrimary}`]: {\n color: (theme.vars || theme).palette.primary.contrastText,\n backgroundColor: (theme.vars || theme).palette.primary.dark\n },\n [`& .${chipClasses.avatarColorSecondary}`]: {\n color: (theme.vars || theme).palette.secondary.contrastText,\n backgroundColor: (theme.vars || theme).palette.secondary.dark\n },\n [`& .${chipClasses.avatarSmall}`]: {\n marginLeft: 4,\n marginRight: -4,\n width: 18,\n height: 18,\n fontSize: theme.typography.pxToRem(10)\n },\n [`& .${chipClasses.icon}`]: _extends({\n marginLeft: 5,\n marginRight: -6\n }, ownerState.size === 'small' && {\n fontSize: 18,\n marginLeft: 4,\n marginRight: -4\n }, ownerState.iconColor === ownerState.color && _extends({\n color: theme.vars ? theme.vars.palette.Chip.defaultIconColor : textColor\n }, ownerState.color !== 'default' && {\n color: 'inherit'\n })),\n [`& .${chipClasses.deleteIcon}`]: _extends({\n WebkitTapHighlightColor: 'transparent',\n color: theme.vars ? `rgba(${theme.vars.palette.text.primaryChannel} / 0.26)` : alpha(theme.palette.text.primary, 0.26),\n fontSize: 22,\n cursor: 'pointer',\n margin: '0 5px 0 -6px',\n '&:hover': {\n color: theme.vars ? `rgba(${theme.vars.palette.text.primaryChannel} / 0.4)` : alpha(theme.palette.text.primary, 0.4)\n }\n }, ownerState.size === 'small' && {\n fontSize: 16,\n marginRight: 4,\n marginLeft: -4\n }, ownerState.color !== 'default' && {\n color: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].contrastTextChannel} / 0.7)` : alpha(theme.palette[ownerState.color].contrastText, 0.7),\n '&:hover, &:active': {\n color: (theme.vars || theme).palette[ownerState.color].contrastText\n }\n })\n }, ownerState.size === 'small' && {\n height: 24\n }, ownerState.color !== 'default' && {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].main,\n color: (theme.vars || theme).palette[ownerState.color].contrastText\n }, ownerState.onDelete && {\n [`&.${chipClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.selectedChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.action.selected, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n }, ownerState.onDelete && ownerState.color !== 'default' && {\n [`&.${chipClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].dark\n }\n });\n}, ({\n theme,\n ownerState\n}) => _extends({}, ownerState.clickable && {\n userSelect: 'none',\n WebkitTapHighlightColor: 'transparent',\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.selectedChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.action.selected, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity)\n },\n [`&.${chipClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.selectedChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.action.selected, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n },\n '&:active': {\n boxShadow: (theme.vars || theme).shadows[1]\n }\n}, ownerState.clickable && ownerState.color !== 'default' && {\n [`&:hover, &.${chipClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].dark\n }\n}), ({\n theme,\n ownerState\n}) => _extends({}, ownerState.variant === 'outlined' && {\n backgroundColor: 'transparent',\n border: theme.vars ? `1px solid ${theme.vars.palette.Chip.defaultBorder}` : `1px solid ${theme.palette.mode === 'light' ? theme.palette.grey[400] : theme.palette.grey[700]}`,\n [`&.${chipClasses.clickable}:hover`]: {\n backgroundColor: (theme.vars || theme).palette.action.hover\n },\n [`&.${chipClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`& .${chipClasses.avatar}`]: {\n marginLeft: 4\n },\n [`& .${chipClasses.avatarSmall}`]: {\n marginLeft: 2\n },\n [`& .${chipClasses.icon}`]: {\n marginLeft: 4\n },\n [`& .${chipClasses.iconSmall}`]: {\n marginLeft: 2\n },\n [`& .${chipClasses.deleteIcon}`]: {\n marginRight: 5\n },\n [`& .${chipClasses.deleteIconSmall}`]: {\n marginRight: 3\n }\n}, ownerState.variant === 'outlined' && ownerState.color !== 'default' && {\n color: (theme.vars || theme).palette[ownerState.color].main,\n border: `1px solid ${theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / 0.7)` : alpha(theme.palette[ownerState.color].main, 0.7)}`,\n [`&.${chipClasses.clickable}:hover`]: {\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 },\n [`&.${chipClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.focusOpacity})` : alpha(theme.palette[ownerState.color].main, theme.palette.action.focusOpacity)\n },\n [`& .${chipClasses.deleteIcon}`]: {\n color: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / 0.7)` : alpha(theme.palette[ownerState.color].main, 0.7),\n '&:hover, &:active': {\n color: (theme.vars || theme).palette[ownerState.color].main\n }\n }\n}));\nconst ChipLabel = styled('span', {\n name: 'MuiChip',\n slot: 'Label',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n const {\n size\n } = ownerState;\n return [styles.label, styles[`label${capitalize(size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n paddingLeft: 12,\n paddingRight: 12,\n whiteSpace: 'nowrap'\n}, ownerState.size === 'small' && {\n paddingLeft: 8,\n paddingRight: 8\n}));\nfunction isDeleteKeyboardEvent(keyboardEvent) {\n return keyboardEvent.key === 'Backspace' || keyboardEvent.key === 'Delete';\n}\n\n/**\n * Chips represent complex entities in small blocks, such as a contact.\n */\nconst Chip = /*#__PURE__*/React.forwardRef(function Chip(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiChip'\n });\n const {\n avatar: avatarProp,\n className,\n clickable: clickableProp,\n color = 'default',\n component: ComponentProp,\n deleteIcon: deleteIconProp,\n disabled = false,\n icon: iconProp,\n label,\n onClick,\n onDelete,\n onKeyDown,\n onKeyUp,\n size = 'medium',\n variant = 'filled',\n tabIndex,\n skipFocusWhenDisabled = false // TODO v6: Rename to `focusableWhenDisabled`.\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const chipRef = React.useRef(null);\n const handleRef = useForkRef(chipRef, ref);\n const handleDeleteIconClick = event => {\n // Stop the event from bubbling up to the `Chip`\n event.stopPropagation();\n if (onDelete) {\n onDelete(event);\n }\n };\n const handleKeyDown = event => {\n // Ignore events from children of `Chip`.\n if (event.currentTarget === event.target && isDeleteKeyboardEvent(event)) {\n // Will be handled in keyUp, otherwise some browsers\n // might init navigation\n event.preventDefault();\n }\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n const handleKeyUp = event => {\n // Ignore events from children of `Chip`.\n if (event.currentTarget === event.target) {\n if (onDelete && isDeleteKeyboardEvent(event)) {\n onDelete(event);\n } else if (event.key === 'Escape' && chipRef.current) {\n chipRef.current.blur();\n }\n }\n if (onKeyUp) {\n onKeyUp(event);\n }\n };\n const clickable = clickableProp !== false && onClick ? true : clickableProp;\n const component = clickable || onDelete ? ButtonBase : ComponentProp || 'div';\n const ownerState = _extends({}, props, {\n component,\n disabled,\n size,\n color,\n iconColor: /*#__PURE__*/React.isValidElement(iconProp) ? iconProp.props.color || color : color,\n onDelete: !!onDelete,\n clickable,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const moreProps = component === ButtonBase ? _extends({\n component: ComponentProp || 'div',\n focusVisibleClassName: classes.focusVisible\n }, onDelete && {\n disableRipple: true\n }) : {};\n let deleteIcon = null;\n if (onDelete) {\n deleteIcon = deleteIconProp && /*#__PURE__*/React.isValidElement(deleteIconProp) ? /*#__PURE__*/React.cloneElement(deleteIconProp, {\n className: clsx(deleteIconProp.props.className, classes.deleteIcon),\n onClick: handleDeleteIconClick\n }) : /*#__PURE__*/_jsx(CancelIcon, {\n className: clsx(classes.deleteIcon),\n onClick: handleDeleteIconClick\n });\n }\n let avatar = null;\n if (avatarProp && /*#__PURE__*/React.isValidElement(avatarProp)) {\n avatar = /*#__PURE__*/React.cloneElement(avatarProp, {\n className: clsx(classes.avatar, avatarProp.props.className)\n });\n }\n let icon = null;\n if (iconProp && /*#__PURE__*/React.isValidElement(iconProp)) {\n icon = /*#__PURE__*/React.cloneElement(iconProp, {\n className: clsx(classes.icon, iconProp.props.className)\n });\n }\n if (process.env.NODE_ENV !== 'production') {\n if (avatar && icon) {\n console.error('MUI: The Chip component can not handle the avatar ' + 'and the icon prop at the same time. Pick one.');\n }\n }\n return /*#__PURE__*/_jsxs(ChipRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n disabled: clickable && disabled ? true : undefined,\n onClick: onClick,\n onKeyDown: handleKeyDown,\n onKeyUp: handleKeyUp,\n ref: handleRef,\n tabIndex: skipFocusWhenDisabled && disabled ? -1 : tabIndex,\n ownerState: ownerState\n }, moreProps, other, {\n children: [avatar || icon, /*#__PURE__*/_jsx(ChipLabel, {\n className: clsx(classes.label),\n ownerState: ownerState,\n children: label\n }), deleteIcon]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Chip.propTypes /* remove-proptypes */ = {\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 * The Avatar element to display.\n */\n avatar: PropTypes.element,\n /**\n * This prop isn't supported.\n * Use the `component` prop if you need to change the children structure.\n */\n children: unsupportedProp,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the chip will appear clickable, and will raise when pressed,\n * even if the onClick prop is not defined.\n * If `false`, the chip will not appear clickable, even if onClick prop is defined.\n * This can be used, for example,\n * along with the component prop to indicate an anchor Chip is clickable.\n * Note: this controls the UI and does not affect the onClick event.\n */\n clickable: PropTypes.bool,\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 'default'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\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 * Override the default delete icon element. Shown only if `onDelete` is set.\n */\n deleteIcon: PropTypes.element,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * Icon element.\n */\n icon: PropTypes.element,\n /**\n * The content of the component.\n */\n label: PropTypes.node,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * Callback fired when the delete icon is clicked.\n * If set, the delete icon will be shown.\n */\n onDelete: PropTypes.func,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * @ignore\n */\n onKeyUp: PropTypes.func,\n /**\n * The size of the component.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * If `true`, allows the disabled chip to escape focus.\n * If `false`, allows the disabled chip to receive focus.\n * @default false\n */\n skipFocusWhenDisabled: PropTypes.bool,\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 * @ignore\n */\n tabIndex: PropTypes.number,\n /**\n * The variant to use.\n * @default 'filled'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['filled', 'outlined']), PropTypes.string])\n} : void 0;\nexport default Chip;","'use client';\n\nimport * as React from 'react';\nconst usePreviousProps = value => {\n const ref = React.useRef({});\n React.useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n};\nexport default usePreviousProps;"],"names":["createSvgIcon","_jsx","d","getChipUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","ChipRoot","styled","name","overridesResolver","props","styles","ownerState","color","iconColor","clickable","onDelete","size","variant","_defineProperty","concat","chipClasses","avatar","capitalize","icon","deleteIcon","root","deletable","_ref11","_extends2","theme","textColor","palette","mode","grey","_extends","maxWidth","fontFamily","typography","fontSize","pxToRem","display","alignItems","justifyContent","height","vars","text","primary","backgroundColor","action","selected","borderRadius","whiteSpace","transition","transitions","create","outline","textDecoration","border","padding","verticalAlign","boxSizing","disabled","opacity","disabledOpacity","pointerEvents","marginLeft","marginRight","width","Chip","defaultAvatarColor","avatarColorPrimary","contrastText","dark","avatarColorSecondary","secondary","avatarSmall","defaultIconColor","WebkitTapHighlightColor","primaryChannel","alpha","cursor","margin","contrastTextChannel","main","focusVisible","selectedChannel","selectedOpacity","focusOpacity","_ref14","_ref15","userSelect","hoverOpacity","boxShadow","shadows","_ref17","_ref18","_ref19","defaultBorder","hover","focus","iconSmall","deleteIconSmall","mainChannel","ChipLabel","label","_ref20","overflow","textOverflow","paddingLeft","paddingRight","isDeleteKeyboardEvent","keyboardEvent","key","React","inProps","ref","useThemeProps","avatarProp","className","clickableProp","_props$color","ComponentProp","component","deleteIconProp","_props$disabled","iconProp","onClick","onKeyDown","onKeyUp","_props$size","_props$variant","tabIndex","_props$skipFocusWhenD","skipFocusWhenDisabled","other","_objectWithoutPropertiesLoose","chipRef","handleRef","useForkRef","handleDeleteIconClick","event","stopPropagation","ButtonBase","classes","slots","composeClasses","useUtilityClasses","moreProps","focusVisibleClassName","disableRipple","clsx","CancelIcon","_jsxs","as","undefined","currentTarget","target","preventDefault","current","blur","children","value"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2260.c0246fc5.chunk.js b/portal-ui/build/static/js/2260.c0246fc5.chunk.js deleted file mode 100644 index e870768fe..000000000 --- a/portal-ui/build/static/js/2260.c0246fc5.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2260],{67252:function(e,t,n){n.d(t,{Z:function(){return oe}});var o=n(4942),r=n(63366),a=n(87462),i=n(72791),l=n(28182),c=n(94419),s=n(29439),u=n(18252),p=n(88637),d=n(36229),f=n(97054),v=n(62971);function g(e){return"undefined"!==typeof e.normalize?e.normalize("NFD").replace(/[\u0300-\u036f]/g,""):e}function m(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{},t=e.ignoreAccents,n=void 0===t||t,o=e.ignoreCase,r=void 0===o||o,a=e.limit,i=e.matchFrom,l=void 0===i?"any":i,c=e.stringify,s=e.trim,u=void 0!==s&&s;return function(e,t){var o=t.inputValue,i=t.getOptionLabel,s=u?o.trim():o;r&&(s=s.toLowerCase()),n&&(s=g(s));var p=s?e.filter((function(e){var t=(c||i)(e);return r&&(t=t.toLowerCase()),n&&(t=g(t)),"start"===l?0===t.indexOf(s):t.indexOf(s)>-1})):e;return"number"===typeof a?p.slice(0,a):p}}(),b=function(e){var t;return null!==e.current&&(null==(t=e.current.parentElement)?void 0:t.contains(document.activeElement))};function Z(e){var t,n=e.unstable_isActiveElementInListbox,o=void 0===n?b:n,r=e.unstable_classNamePrefix,l=void 0===r?"Mui":r,c=e.autoComplete,g=void 0!==c&&c,Z=e.autoHighlight,x=void 0!==Z&&Z,y=e.autoSelect,S=void 0!==y&&y,O=e.blurOnSelect,I=void 0!==O&&O,k=e.clearOnBlur,C=void 0===k?!e.freeSolo:k,P=e.clearOnEscape,w=void 0!==P&&P,L=e.componentName,A=void 0===L?"useAutocomplete":L,R=e.defaultValue,T=void 0===R?e.multiple?[]:null:R,M=e.disableClearable,z=void 0!==M&&M,N=e.disableCloseOnSelect,F=void 0!==N&&N,D=e.disabled,E=e.disabledItemsFocusable,W=void 0!==E&&E,j=e.disableListWrap,q=void 0!==j&&j,H=e.filterOptions,V=void 0===H?h:H,B=e.filterSelectedOptions,G=void 0!==B&&B,K=e.freeSolo,U=void 0!==K&&K,_=e.getOptionDisabled,J=e.getOptionLabel,Q=void 0===J?function(e){var t;return null!=(t=e.label)?t:e}:J,X=e.groupBy,Y=e.handleHomeEndKeys,$=void 0===Y?!e.freeSolo:Y,ee=e.id,te=e.includeInputInList,ne=void 0!==te&&te,oe=e.inputValue,re=e.isOptionEqualToValue,ae=void 0===re?function(e,t){return e===t}:re,ie=e.multiple,le=void 0!==ie&&ie,ce=e.onChange,se=e.onClose,ue=e.onHighlightChange,pe=e.onInputChange,de=e.onOpen,fe=e.open,ve=e.openOnFocus,ge=void 0!==ve&&ve,me=e.options,he=e.readOnly,be=void 0!==he&&he,Ze=e.selectOnFocus,xe=void 0===Ze?!e.freeSolo:Ze,ye=e.value,Se=(0,u.Z)(ee);t=function(e){var t=Q(e);return"string"!==typeof t?String(t):t};var Oe=i.useRef(!1),Ie=i.useRef(!0),ke=i.useRef(null),Ce=i.useRef(null),Pe=i.useState(null),we=(0,s.Z)(Pe,2),Le=we[0],Ae=we[1],Re=i.useState(-1),Te=(0,s.Z)(Re,2),Me=Te[0],ze=Te[1],Ne=x?0:-1,Fe=i.useRef(Ne),De=(0,p.Z)({controlled:ye,default:T,name:A}),Ee=(0,s.Z)(De,2),We=Ee[0],je=Ee[1],qe=(0,p.Z)({controlled:oe,default:"",name:A,state:"inputValue"}),He=(0,s.Z)(qe,2),Ve=He[0],Be=He[1],Ge=i.useState(!1),Ke=(0,s.Z)(Ge,2),Ue=Ke[0],_e=Ke[1],Je=i.useCallback((function(e,n){if((le?We.length0&&!be,st=(0,f.Z)((function(e){-1===e?ke.current.focus():Le.querySelector('[data-tag-index="'.concat(e,'"]')).focus()}));i.useEffect((function(){le&&Me>We.length-1&&(ze(-1),st(-1))}),[We,le,Me,st]);var ut=(0,f.Z)((function(e){var t=e.event,n=e.index,o=e.reason,r=void 0===o?"auto":o;if(Fe.current=n,-1===n?ke.current.removeAttribute("aria-activedescendant"):ke.current.setAttribute("aria-activedescendant","".concat(Se,"-option-").concat(n)),ue&&ue(t,-1===n?null:it[n],r),Ce.current){var a=Ce.current.querySelector('[role="option"].'.concat(l,"-focused"));a&&(a.classList.remove("".concat(l,"-focused")),a.classList.remove("".concat(l,"-focusVisible")));var i=Ce.current;if("listbox"!==Ce.current.getAttribute("role")&&(i=Ce.current.parentElement.querySelector('[role="listbox"]')),i)if(-1!==n){var c=Ce.current.querySelector('[data-option-index="'.concat(n,'"]'));if(c&&(c.classList.add("".concat(l,"-focused")),"keyboard"===r&&c.classList.add("".concat(l,"-focusVisible")),i.scrollHeight>i.clientHeight&&"mouse"!==r)){var s=c,u=i.clientHeight+i.scrollTop,p=s.offsetTop+s.offsetHeight;p>u?i.scrollTop=p-i.clientHeight:s.offsetTop-s.offsetHeight*(X?1.3:0)1?0:e:t>e?t===e+1&&ne?-1:q||Math.abs(o)>1?e:0:t}(),a);if(ut({index:c,reason:l,event:n}),g&&"reset"!==o)if(-1===c)ke.current.value=Ve;else{var s=t(it[c]);ke.current.value=s,0===s.toLowerCase().indexOf(Ve.toLowerCase())&&Ve.length>0&&ke.current.setSelectionRange(Ve.length,s.length)}}})),dt=i.useCallback((function(){if(at&&!function(){var e,n;if(-1!==Fe.current&<.filteredOptions&<.filteredOptions.length!==it.length&<.inputValue===Ve&&(le?We.length===lt.value.length&<.value.every((function(e,n){return t(We[n])===t(e)})):(e=lt.value,n=We,(e?t(e):"")===(n?t(n):"")))){var o=lt.filteredOptions[Fe.current];if(o&&it.some((function(e){return t(e)===t(o)})))return!0}return!1}()){var e=le?We[0]:We;if(0!==it.length&&null!=e){if(Ce.current)if(null==e)Fe.current>=it.length-1?ut({index:it.length-1}):ut({index:Fe.current});else{var n=it[Fe.current];if(le&&n&&-1!==m(We,(function(e){return ae(n,e)})))return;var o=m(it,(function(t){return ae(t,e)}));-1===o?pt({diff:"reset"}):ut({index:o})}}else pt({diff:"reset"})}}),[it.length,!le&&We,G,pt,ut,at,Ve,le]),ft=(0,f.Z)((function(e){(0,v.Z)(Ce,e),e&&dt()}));i.useEffect((function(){dt()}),[dt]);var vt=function(e){Ye||($e(!0),ot(!0),de&&de(e))},gt=function(e,t){Ye&&($e(!1),se&&se(e,t))},mt=function(e,t,n,o){if(le){if(We.length===t.length&&We.every((function(e,n){return e===t[n]})))return}else if(We===t)return;ce&&ce(e,t,n,o),je(t)},ht=i.useRef(!1),bt=function(e,t){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"options",o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"selectOption",r=t;if(le){var a=m(r=Array.isArray(We)?We.slice():[],(function(e){return ae(t,e)}));-1===a?r.push(t):"freeSolo"!==n&&(r.splice(a,1),o="removeOption")}Je(e,r),mt(e,r,o,{option:t}),F||e&&(e.ctrlKey||e.metaKey)||gt(e,o),(!0===I||"touch"===I&&ht.current||"mouse"===I&&!ht.current)&&ke.current.blur()};var Zt=function(e,t){if(le){""===Ve&>(e,"toggleInput");var n=Me;-1===Me?""===Ve&&"previous"===t&&(n=We.length-1):((n+="next"===t?1:-1)<0&&(n=0),n===We.length&&(n=-1)),n=function(e,t){if(-1===e)return-1;for(var n=e;;){if("next"===t&&n===We.length||"previous"===t&&-1===n)return-1;var o=Le.querySelector('[data-tag-index="'.concat(n,'"]'));if(o&&o.hasAttribute("tabindex")&&!o.disabled&&"true"!==o.getAttribute("aria-disabled"))return n;n+="next"===t?1:-1}}(n,t),ze(n),st(n)}},xt=function(e){Oe.current=!0,Be(""),pe&&pe(e,"","clear"),mt(e,le?[]:null,"clear")},yt=function(e){return function(t){if(e.onKeyDown&&e.onKeyDown(t),!t.defaultMuiPrevented&&(-1!==Me&&-1===["ArrowLeft","ArrowRight"].indexOf(t.key)&&(ze(-1),st(-1)),229!==t.which))switch(t.key){case"Home":at&&$&&(t.preventDefault(),pt({diff:"start",direction:"next",reason:"keyboard",event:t}));break;case"End":at&&$&&(t.preventDefault(),pt({diff:"end",direction:"previous",reason:"keyboard",event:t}));break;case"PageUp":t.preventDefault(),pt({diff:-5,direction:"previous",reason:"keyboard",event:t}),vt(t);break;case"PageDown":t.preventDefault(),pt({diff:5,direction:"next",reason:"keyboard",event:t}),vt(t);break;case"ArrowDown":t.preventDefault(),pt({diff:1,direction:"next",reason:"keyboard",event:t}),vt(t);break;case"ArrowUp":t.preventDefault(),pt({diff:-1,direction:"previous",reason:"keyboard",event:t}),vt(t);break;case"ArrowLeft":Zt(t,"previous");break;case"ArrowRight":Zt(t,"next");break;case"Enter":if(-1!==Fe.current&&at){var n=it[Fe.current],o=!!_&&_(n);if(t.preventDefault(),o)return;bt(t,n,"selectOption"),g&&ke.current.setSelectionRange(ke.current.value.length,ke.current.value.length)}else U&&""!==Ve&&!1===rt&&(le&&t.preventDefault(),bt(t,Ve,"createOption","freeSolo"));break;case"Escape":at?(t.preventDefault(),t.stopPropagation(),gt(t,"escape")):w&&(""!==Ve||le&&We.length>0)&&(t.preventDefault(),t.stopPropagation(),xt(t));break;case"Backspace":if(le&&!be&&""===Ve&&We.length>0){var r=-1===Me?We.length-1:Me,a=We.slice();a.splice(r,1),mt(t,a,"removeOption",{option:We[r]})}break;case"Delete":if(le&&!be&&""===Ve&&We.length>0&&-1!==Me){var i=Me,l=We.slice();l.splice(i,1),mt(t,l,"removeOption",{option:We[i]})}}}},St=function(e){_e(!0),ge&&!Oe.current&&vt(e)},Ot=function(e){o(Ce)?ke.current.focus():(_e(!1),Ie.current=!0,Oe.current=!1,S&&-1!==Fe.current&&at?bt(e,it[Fe.current],"blur"):S&&U&&""!==Ve?bt(e,Ve,"blur","freeSolo"):C&&Je(e,We),gt(e,"blur"))},It=function(e){var t=e.target.value;Ve!==t&&(Be(t),ot(!1),pe&&pe(e,t,"input")),""===t?z||le||mt(e,null,"clear"):vt(e)},kt=function(e){var t=Number(e.currentTarget.getAttribute("data-option-index"));Fe.current!==t&&ut({event:e,index:t,reason:"mouse"})},Ct=function(e){ut({event:e,index:Number(e.currentTarget.getAttribute("data-option-index")),reason:"touch"}),ht.current=!0},Pt=function(e){var t=Number(e.currentTarget.getAttribute("data-option-index"));bt(e,it[t],"selectOption"),ht.current=!1},wt=function(e){return function(t){var n=We.slice();n.splice(e,1),mt(t,n,"removeOption",{option:We[e]})}},Lt=function(e){Ye?gt(e,"toggleInput"):vt(e)},At=function(e){e.currentTarget.contains(e.target)&&e.target.getAttribute("id")!==Se&&e.preventDefault()},Rt=function(e){e.currentTarget.contains(e.target)&&(ke.current.focus(),xe&&Ie.current&&ke.current.selectionEnd-ke.current.selectionStart===0&&ke.current.select(),Ie.current=!1)},Tt=function(e){""!==Ve&&Ye||Lt(e)},Mt=U&&Ve.length>0;Mt=Mt||(le?We.length>0:null!==We);var zt=it;if(X){new Map;zt=it.reduce((function(e,t,n){var o=X(t);return e.length>0&&e[e.length-1].group===o?e[e.length-1].options.push(t):e.push({key:n,index:n,group:o,options:[t]}),e}),[])}return D&&Ue&&Ot(),{getRootProps:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(0,a.Z)({"aria-owns":ct?"".concat(Se,"-listbox"):null},e,{onKeyDown:yt(e),onMouseDown:At,onClick:Rt})},getInputLabelProps:function(){return{id:"".concat(Se,"-label"),htmlFor:Se}},getInputProps:function(){return{id:Se,value:Ve,onBlur:Ot,onFocus:St,onChange:It,onMouseDown:Tt,"aria-activedescendant":at?"":null,"aria-autocomplete":g?"both":"list","aria-controls":ct?"".concat(Se,"-listbox"):void 0,"aria-expanded":ct,autoComplete:"off",ref:ke,autoCapitalize:"none",spellCheck:"false",role:"combobox",disabled:D}},getClearProps:function(){return{tabIndex:-1,onClick:xt}},getPopupIndicatorProps:function(){return{tabIndex:-1,onClick:Lt}},getTagProps:function(e){var t=e.index;return(0,a.Z)({key:t,"data-tag-index":t,tabIndex:-1},!be&&{onDelete:wt(t)})},getListboxProps:function(){return{role:"listbox",id:"".concat(Se,"-listbox"),"aria-labelledby":"".concat(Se,"-label"),ref:ft,onMouseDown:function(e){e.preventDefault()}}},getOptionProps:function(e){var n=e.index,o=e.option,r=(le?We:[We]).some((function(e){return null!=e&&ae(o,e)})),a=!!_&&_(o);return{key:t(o),tabIndex:-1,role:"option",id:"".concat(Se,"-option-").concat(n),onMouseMove:kt,onClick:Pt,onTouchStart:Ct,"data-option-index":n,"aria-disabled":a,"aria-selected":r}},id:Se,inputValue:Ve,value:We,dirty:Mt,expanded:at&&Le,popupOpen:at,focused:Ue||-1!==Me,anchorEl:Le,setAnchorEl:Ae,focusedTag:Me,groupedOptions:zt}}var x=n(12065),y=n(41),S=n(79834),O=n(35527),I=n(13400),k=n(81918),C=n(86779),P=n(55891),w=n(56059),L=n(96285),A=n(76189),R=n(80184),T=(0,A.Z)((0,R.jsx)("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close"),M=n(89059),z=n(31402),N=n(66934),F=n(75878),D=n(21217);function E(e){return(0,D.Z)("MuiAutocomplete",e)}var W,j,q=(0,F.Z)("MuiAutocomplete",["root","expanded","fullWidth","focused","focusVisible","tag","tagSizeSmall","tagSizeMedium","hasPopupIcon","hasClearIcon","inputRoot","input","inputFocused","endAdornment","clearIndicator","popupIndicator","popupIndicatorOpen","popper","popperDisablePortal","paper","listbox","loading","noOptions","option","groupLabel","groupUl"]),H=n(14036),V=n(42071),B=["autoComplete","autoHighlight","autoSelect","blurOnSelect","ChipProps","className","clearIcon","clearOnBlur","clearOnEscape","clearText","closeText","componentsProps","defaultValue","disableClearable","disableCloseOnSelect","disabled","disabledItemsFocusable","disableListWrap","disablePortal","filterOptions","filterSelectedOptions","forcePopupIcon","freeSolo","fullWidth","getLimitTagsText","getOptionDisabled","getOptionLabel","isOptionEqualToValue","groupBy","handleHomeEndKeys","id","includeInputInList","inputValue","limitTags","ListboxComponent","ListboxProps","loading","loadingText","multiple","noOptionsText","onChange","onClose","onHighlightChange","onInputChange","onOpen","open","openOnFocus","openText","options","PaperComponent","PopperComponent","popupIcon","readOnly","renderGroup","renderInput","renderOption","renderTags","selectOnFocus","size","slotProps","value"],G=["ref"],K=(0,N.ZP)("div",{name:"MuiAutocomplete",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState,r=n.fullWidth,a=n.hasClearIcon,i=n.hasPopupIcon,l=n.inputFocused,c=n.size;return[(0,o.Z)({},"& .".concat(q.tag),t.tag),(0,o.Z)({},"& .".concat(q.tag),t["tagSize".concat((0,H.Z)(c))]),(0,o.Z)({},"& .".concat(q.inputRoot),t.inputRoot),(0,o.Z)({},"& .".concat(q.input),t.input),(0,o.Z)({},"& .".concat(q.input),l&&t.inputFocused),t.root,r&&t.fullWidth,i&&t.hasPopupIcon,a&&t.hasClearIcon]}})((function(e){var t,n,r,i,l,c=e.ownerState;return(0,a.Z)((t={},(0,o.Z)(t,"&.".concat(q.focused," .").concat(q.clearIndicator),{visibility:"visible"}),(0,o.Z)(t,"@media (pointer: fine)",(0,o.Z)({},"&:hover .".concat(q.clearIndicator),{visibility:"visible"})),t),c.fullWidth&&{width:"100%"},(l={},(0,o.Z)(l,"& .".concat(q.tag),(0,a.Z)({margin:3,maxWidth:"calc(100% - 6px)"},"small"===c.size&&{margin:2,maxWidth:"calc(100% - 4px)"})),(0,o.Z)(l,"& .".concat(q.inputRoot),(n={flexWrap:"wrap"},(0,o.Z)(n,".".concat(q.hasPopupIcon,"&, .").concat(q.hasClearIcon,"&"),{paddingRight:30}),(0,o.Z)(n,".".concat(q.hasPopupIcon,".").concat(q.hasClearIcon,"&"),{paddingRight:56}),(0,o.Z)(n,"& .".concat(q.input),{width:0,minWidth:30}),n)),(0,o.Z)(l,"& .".concat(C.Z.root),{paddingBottom:1,"& .MuiInput-input":{padding:"4px 4px 4px 0px"}}),(0,o.Z)(l,"& .".concat(C.Z.root,".").concat(P.Z.sizeSmall),(0,o.Z)({},"& .".concat(C.Z.input),{padding:"2px 4px 3px 0"})),(0,o.Z)(l,"& .".concat(w.Z.root),(r={padding:9},(0,o.Z)(r,".".concat(q.hasPopupIcon,"&, .").concat(q.hasClearIcon,"&"),{paddingRight:39}),(0,o.Z)(r,".".concat(q.hasPopupIcon,".").concat(q.hasClearIcon,"&"),{paddingRight:65}),(0,o.Z)(r,"& .".concat(q.input),{padding:"7.5px 4px 7.5px 5px"}),(0,o.Z)(r,"& .".concat(q.endAdornment),{right:9}),r)),(0,o.Z)(l,"& .".concat(w.Z.root,".").concat(P.Z.sizeSmall),(0,o.Z)({paddingTop:6,paddingBottom:6,paddingLeft:6},"& .".concat(q.input),{padding:"2.5px 4px 2.5px 8px"})),(0,o.Z)(l,"& .".concat(L.Z.root),(i={paddingTop:19,paddingLeft:8},(0,o.Z)(i,".".concat(q.hasPopupIcon,"&, .").concat(q.hasClearIcon,"&"),{paddingRight:39}),(0,o.Z)(i,".".concat(q.hasPopupIcon,".").concat(q.hasClearIcon,"&"),{paddingRight:65}),(0,o.Z)(i,"& .".concat(L.Z.input),{padding:"7px 4px"}),(0,o.Z)(i,"& .".concat(q.endAdornment),{right:9}),i)),(0,o.Z)(l,"& .".concat(L.Z.root,".").concat(P.Z.sizeSmall),(0,o.Z)({paddingBottom:1},"& .".concat(L.Z.input),{padding:"2.5px 4px"})),(0,o.Z)(l,"& .".concat(P.Z.hiddenLabel),{paddingTop:8}),(0,o.Z)(l,"& .".concat(L.Z.root,".").concat(P.Z.hiddenLabel),(0,o.Z)({paddingTop:0,paddingBottom:0},"& .".concat(q.input),{paddingTop:16,paddingBottom:17})),(0,o.Z)(l,"& .".concat(L.Z.root,".").concat(P.Z.hiddenLabel,".").concat(P.Z.sizeSmall),(0,o.Z)({},"& .".concat(q.input),{paddingTop:8,paddingBottom:9})),(0,o.Z)(l,"& .".concat(q.input),(0,a.Z)({flexGrow:1,textOverflow:"ellipsis",opacity:0},c.inputFocused&&{opacity:1})),l))})),U=(0,N.ZP)("div",{name:"MuiAutocomplete",slot:"EndAdornment",overridesResolver:function(e,t){return t.endAdornment}})({position:"absolute",right:0,top:"calc(50% - 14px)"}),_=(0,N.ZP)(I.Z,{name:"MuiAutocomplete",slot:"ClearIndicator",overridesResolver:function(e,t){return t.clearIndicator}})({marginRight:-2,padding:4,visibility:"hidden"}),J=(0,N.ZP)(I.Z,{name:"MuiAutocomplete",slot:"PopupIndicator",overridesResolver:function(e,t){var n=e.ownerState;return(0,a.Z)({},t.popupIndicator,n.popupOpen&&t.popupIndicatorOpen)}})((function(e){var t=e.ownerState;return(0,a.Z)({padding:2,marginRight:-2},t.popupOpen&&{transform:"rotate(180deg)"})})),Q=(0,N.ZP)(y.Z,{name:"MuiAutocomplete",slot:"Popper",overridesResolver:function(e,t){var n=e.ownerState;return[(0,o.Z)({},"& .".concat(q.option),t.option),t.popper,n.disablePortal&&t.popperDisablePortal]}})((function(e){var t=e.theme,n=e.ownerState;return(0,a.Z)({zIndex:(t.vars||t).zIndex.modal},n.disablePortal&&{position:"absolute"})})),X=(0,N.ZP)(O.Z,{name:"MuiAutocomplete",slot:"Paper",overridesResolver:function(e,t){return t.paper}})((function(e){var t=e.theme;return(0,a.Z)({},t.typography.body1,{overflow:"auto"})})),Y=(0,N.ZP)("div",{name:"MuiAutocomplete",slot:"Loading",overridesResolver:function(e,t){return t.loading}})((function(e){var t=e.theme;return{color:(t.vars||t).palette.text.secondary,padding:"14px 16px"}})),$=(0,N.ZP)("div",{name:"MuiAutocomplete",slot:"NoOptions",overridesResolver:function(e,t){return t.noOptions}})((function(e){var t=e.theme;return{color:(t.vars||t).palette.text.secondary,padding:"14px 16px"}})),ee=(0,N.ZP)("div",{name:"MuiAutocomplete",slot:"Listbox",overridesResolver:function(e,t){return t.listbox}})((function(e){var t,n,r=e.theme;return(0,o.Z)({listStyle:"none",margin:0,padding:"8px 0",maxHeight:"40vh",overflow:"auto",position:"relative"},"& .".concat(q.option),(n={minHeight:48,display:"flex",overflow:"hidden",justifyContent:"flex-start",alignItems:"center",cursor:"pointer",paddingTop:6,boxSizing:"border-box",outline:"0",WebkitTapHighlightColor:"transparent",paddingBottom:6,paddingLeft:16,paddingRight:16},(0,o.Z)(n,r.breakpoints.up("sm"),{minHeight:"auto"}),(0,o.Z)(n,"&.".concat(q.focused),{backgroundColor:(r.vars||r).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}),(0,o.Z)(n,'&[aria-disabled="true"]',{opacity:(r.vars||r).palette.action.disabledOpacity,pointerEvents:"none"}),(0,o.Z)(n,"&.".concat(q.focusVisible),{backgroundColor:(r.vars||r).palette.action.focus}),(0,o.Z)(n,'&[aria-selected="true"]',(t={backgroundColor:r.vars?"rgba(".concat(r.vars.palette.primary.mainChannel," / ").concat(r.vars.palette.action.selectedOpacity,")"):(0,x.Fq)(r.palette.primary.main,r.palette.action.selectedOpacity)},(0,o.Z)(t,"&.".concat(q.focused),{backgroundColor:r.vars?"rgba(".concat(r.vars.palette.primary.mainChannel," / calc(").concat(r.vars.palette.action.selectedOpacity," + ").concat(r.vars.palette.action.hoverOpacity,"))"):(0,x.Fq)(r.palette.primary.main,r.palette.action.selectedOpacity+r.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(r.vars||r).palette.action.selected}}),(0,o.Z)(t,"&.".concat(q.focusVisible),{backgroundColor:r.vars?"rgba(".concat(r.vars.palette.primary.mainChannel," / calc(").concat(r.vars.palette.action.selectedOpacity," + ").concat(r.vars.palette.action.focusOpacity,"))"):(0,x.Fq)(r.palette.primary.main,r.palette.action.selectedOpacity+r.palette.action.focusOpacity)}),t)),n))})),te=(0,N.ZP)(S.Z,{name:"MuiAutocomplete",slot:"GroupLabel",overridesResolver:function(e,t){return t.groupLabel}})((function(e){var t=e.theme;return{backgroundColor:(t.vars||t).palette.background.paper,top:-8}})),ne=(0,N.ZP)("ul",{name:"MuiAutocomplete",slot:"GroupUl",overridesResolver:function(e,t){return t.groupUl}})((0,o.Z)({padding:0},"& .".concat(q.option),{paddingLeft:24})),oe=i.forwardRef((function(e,t){var n,o,s,u,p,d=(0,z.Z)({props:e,name:"MuiAutocomplete"}),f=(d.autoComplete,d.autoHighlight,d.autoSelect,d.blurOnSelect,d.ChipProps),v=d.className,g=d.clearIcon,m=void 0===g?W||(W=(0,R.jsx)(T,{fontSize:"small"})):g,h=d.clearOnBlur,b=(void 0===h&&d.freeSolo,d.clearOnEscape,d.clearText),x=void 0===b?"Clear":b,S=d.closeText,I=void 0===S?"Close":S,C=d.componentsProps,P=void 0===C?{}:C,w=d.defaultValue,L=(void 0===w&&d.multiple,d.disableClearable),A=void 0!==L&&L,N=(d.disableCloseOnSelect,d.disabled),F=void 0!==N&&N,D=(d.disabledItemsFocusable,d.disableListWrap,d.disablePortal),q=void 0!==D&&D,oe=(d.filterSelectedOptions,d.forcePopupIcon),re=void 0===oe?"auto":oe,ae=d.freeSolo,ie=void 0!==ae&&ae,le=d.fullWidth,ce=void 0!==le&&le,se=d.getLimitTagsText,ue=void 0===se?function(e){return"+".concat(e)}:se,pe=d.getOptionLabel,de=void 0===pe?function(e){var t;return null!=(t=e.label)?t:e}:pe,fe=d.groupBy,ve=d.handleHomeEndKeys,ge=(void 0===ve&&d.freeSolo,d.includeInputInList,d.limitTags),me=void 0===ge?-1:ge,he=d.ListboxComponent,be=void 0===he?"ul":he,Ze=d.ListboxProps,xe=d.loading,ye=void 0!==xe&&xe,Se=d.loadingText,Oe=void 0===Se?"Loading\u2026":Se,Ie=d.multiple,ke=void 0!==Ie&&Ie,Ce=d.noOptionsText,Pe=void 0===Ce?"No options":Ce,we=(d.openOnFocus,d.openText),Le=void 0===we?"Open":we,Ae=d.PaperComponent,Re=void 0===Ae?O.Z:Ae,Te=d.PopperComponent,Me=void 0===Te?y.Z:Te,ze=d.popupIcon,Ne=void 0===ze?j||(j=(0,R.jsx)(M.Z,{})):ze,Fe=d.readOnly,De=void 0!==Fe&&Fe,Ee=d.renderGroup,We=d.renderInput,je=d.renderOption,qe=d.renderTags,He=d.selectOnFocus,Ve=(void 0===He&&d.freeSolo,d.size),Be=void 0===Ve?"medium":Ve,Ge=d.slotProps,Ke=void 0===Ge?{}:Ge,Ue=(0,r.Z)(d,B),_e=Z((0,a.Z)({},d,{componentName:"Autocomplete"})),Je=_e.getRootProps,Qe=_e.getInputProps,Xe=_e.getInputLabelProps,Ye=_e.getPopupIndicatorProps,$e=_e.getClearProps,et=_e.getTagProps,tt=_e.getListboxProps,nt=_e.getOptionProps,ot=_e.value,rt=_e.dirty,at=_e.expanded,it=_e.id,lt=_e.popupOpen,ct=_e.focused,st=_e.focusedTag,ut=_e.anchorEl,pt=_e.setAnchorEl,dt=_e.inputValue,ft=_e.groupedOptions,vt=!A&&!F&&rt&&!De,gt=(!ie||!0===re)&&!1!==re,mt=Qe().onMouseDown,ht=(null!=Ze?Ze:{}).ref,bt=tt(),Zt=bt.ref,xt=(0,r.Z)(bt,G),yt=(0,V.Z)(Zt,ht),St=(0,a.Z)({},d,{disablePortal:q,expanded:at,focused:ct,fullWidth:ce,hasClearIcon:vt,hasPopupIcon:gt,inputFocused:-1===st,popupOpen:lt,size:Be}),Ot=function(e){var t=e.classes,n=e.disablePortal,o=e.expanded,r=e.focused,a=e.fullWidth,i=e.hasClearIcon,l=e.hasPopupIcon,s=e.inputFocused,u=e.popupOpen,p=e.size,d={root:["root",o&&"expanded",r&&"focused",a&&"fullWidth",i&&"hasClearIcon",l&&"hasPopupIcon"],inputRoot:["inputRoot"],input:["input",s&&"inputFocused"],tag:["tag","tagSize".concat((0,H.Z)(p))],endAdornment:["endAdornment"],clearIndicator:["clearIndicator"],popupIndicator:["popupIndicator",u&&"popupIndicatorOpen"],popper:["popper",n&&"popperDisablePortal"],paper:["paper"],listbox:["listbox"],loading:["loading"],noOptions:["noOptions"],option:["option"],groupLabel:["groupLabel"],groupUl:["groupUl"]};return(0,c.Z)(d,E,t)}(St);if(ke&&ot.length>0){var It=function(e){return(0,a.Z)({className:Ot.tag,disabled:F},et(e))};p=qe?qe(ot,It,St):ot.map((function(e,t){return(0,R.jsx)(k.Z,(0,a.Z)({label:de(e),size:Be},It({index:t}),f))}))}if(me>-1&&Array.isArray(p)){var kt=p.length-me;!ct&&kt>0&&(p=p.splice(0,me)).push((0,R.jsx)("span",{className:Ot.tag,children:ue(kt)},p.length))}var Ct=Ee||function(e){return(0,R.jsxs)("li",{children:[(0,R.jsx)(te,{className:Ot.groupLabel,ownerState:St,component:"div",children:e.group}),(0,R.jsx)(ne,{className:Ot.groupUl,ownerState:St,children:e.children})]},e.key)},Pt=je||function(e,t){return(0,R.jsx)("li",(0,a.Z)({},e,{children:de(t)}))},wt=function(e,t){var n=nt({option:e,index:t});return Pt((0,a.Z)({},n,{className:Ot.option}),e,{selected:n["aria-selected"],index:t,inputValue:dt})},Lt=null!=(n=Ke.clearIndicator)?n:P.clearIndicator,At=null!=(o=Ke.paper)?o:P.paper,Rt=null!=(s=Ke.popper)?s:P.popper,Tt=null!=(u=Ke.popupIndicator)?u:P.popupIndicator;return(0,R.jsxs)(i.Fragment,{children:[(0,R.jsx)(K,(0,a.Z)({ref:t,className:(0,l.Z)(Ot.root,v),ownerState:St},Je(Ue),{children:We({id:it,disabled:F,fullWidth:!0,size:"small"===Be?"small":void 0,InputLabelProps:Xe(),InputProps:(0,a.Z)({ref:pt,className:Ot.inputRoot,startAdornment:p,onClick:function(e){e.target===e.currentTarget&&mt(e)}},(vt||gt)&&{endAdornment:(0,R.jsxs)(U,{className:Ot.endAdornment,ownerState:St,children:[vt?(0,R.jsx)(_,(0,a.Z)({},$e(),{"aria-label":x,title:x,ownerState:St},Lt,{className:(0,l.Z)(Ot.clearIndicator,null==Lt?void 0:Lt.className),children:m})):null,gt?(0,R.jsx)(J,(0,a.Z)({},Ye(),{disabled:F,"aria-label":lt?I:Le,title:lt?I:Le,ownerState:St},Tt,{className:(0,l.Z)(Ot.popupIndicator,null==Tt?void 0:Tt.className),children:Ne})):null]})}),inputProps:(0,a.Z)({className:Ot.input,disabled:F,readOnly:De},Qe())})})),ut?(0,R.jsx)(Q,(0,a.Z)({as:Me,disablePortal:q,style:{width:ut?ut.clientWidth:null},ownerState:St,role:"presentation",anchorEl:ut,open:lt},Rt,{className:(0,l.Z)(Ot.popper,null==Rt?void 0:Rt.className),children:(0,R.jsxs)(X,(0,a.Z)({ownerState:St,as:Re},At,{className:(0,l.Z)(Ot.paper,null==At?void 0:At.className),children:[ye&&0===ft.length?(0,R.jsx)(Y,{className:Ot.loading,ownerState:St,children:Oe}):null,0!==ft.length||ie||ye?null:(0,R.jsx)($,{className:Ot.noOptions,ownerState:St,role:"presentation",onMouseDown:function(e){e.preventDefault()},children:Pe}),ft.length>0?(0,R.jsx)(ee,(0,a.Z)({as:be,className:Ot.listbox,ownerState:St},xt,Ze,{ref:yt,children:ft.map((function(e,t){return fe?Ct({key:e.key,group:e.group,children:e.options.map((function(t,n){return wt(t,e.index+n)}))}):wt(e,t)}))})):null]}))})):null]})}))},93840:function(e,t,n){var o=n(72791).createContext(void 0);t.Z=o},76147:function(e,t,n){function o(e){var t=e.props,n=e.states,o=e.muiFormControl;return n.reduce((function(e,n){return e[n]=t[n],o&&"undefined"===typeof t[n]&&(e[n]=o[n]),e}),{})}n.d(t,{Z:function(){return o}})},52930:function(e,t,n){n.d(t,{Z:function(){return a}});var o=n(72791),r=n(93840);function a(){return o.useContext(r.Z)}},17133:function(e,t,n){var o=n(4942),r=n(63366),a=n(87462),i=n(72791),l=n(28182),c=n(94419),s=n(76147),u=n(52930),p=n(14036),d=n(31402),f=n(66934),v=n(10843),g=n(80184),m=["children","className","color","component","disabled","error","filled","focused","required"],h=(0,f.ZP)("label",{name:"MuiFormLabel",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return(0,a.Z)({},t.root,"secondary"===n.color&&t.colorSecondary,n.filled&&t.filled)}})((function(e){var t,n=e.theme,r=e.ownerState;return(0,a.Z)({color:(n.vars||n).palette.text.secondary},n.typography.body1,(t={lineHeight:"1.4375em",padding:0,position:"relative"},(0,o.Z)(t,"&.".concat(v.Z.focused),{color:(n.vars||n).palette[r.color].main}),(0,o.Z)(t,"&.".concat(v.Z.disabled),{color:(n.vars||n).palette.text.disabled}),(0,o.Z)(t,"&.".concat(v.Z.error),{color:(n.vars||n).palette.error.main}),t))})),b=(0,f.ZP)("span",{name:"MuiFormLabel",slot:"Asterisk",overridesResolver:function(e,t){return t.asterisk}})((function(e){var t=e.theme;return(0,o.Z)({},"&.".concat(v.Z.error),{color:(t.vars||t).palette.error.main})})),Z=i.forwardRef((function(e,t){var n=(0,d.Z)({props:e,name:"MuiFormLabel"}),o=n.children,i=n.className,f=n.component,Z=void 0===f?"label":f,x=(0,r.Z)(n,m),y=(0,u.Z)(),S=(0,s.Z)({props:n,muiFormControl:y,states:["color","required","focused","disabled","error","filled"]}),O=(0,a.Z)({},n,{color:S.color||"primary",component:Z,disabled:S.disabled,error:S.error,filled:S.filled,focused:S.focused,required:S.required}),I=function(e){var t=e.classes,n=e.color,o=e.focused,r=e.disabled,a=e.error,i=e.filled,l=e.required,s={root:["root","color".concat((0,p.Z)(n)),r&&"disabled",a&&"error",i&&"filled",o&&"focused",l&&"required"],asterisk:["asterisk",a&&"error"]};return(0,c.Z)(s,v.M,t)}(O);return(0,g.jsxs)(h,(0,a.Z)({as:Z,ownerState:O,className:(0,l.Z)(I.root,i),ref:t},x,{children:[o,S.required&&(0,g.jsxs)(b,{ownerState:O,"aria-hidden":!0,className:I.asterisk,children:["\u2009","*"]})]}))}));t.Z=Z},10843:function(e,t,n){n.d(t,{M:function(){return a}});var o=n(75878),r=n(21217);function a(e){return(0,r.Z)("MuiFormLabel",e)}var i=(0,o.Z)("MuiFormLabel",["root","colorSecondary","focused","disabled","error","filled","required","asterisk"]);t.Z=i},30829:function(e,t,n){n.d(t,{Z:function(){return y}});var o=n(4942),r=n(63366),a=n(87462),i=n(72791),l=n(94419),c=n(28182),s=n(76147),u=n(52930),p=n(17133),d=n(10843),f=n(31402),v=n(66934),g=n(75878),m=n(21217);function h(e){return(0,m.Z)("MuiInputLabel",e)}(0,g.Z)("MuiInputLabel",["root","focused","disabled","error","required","asterisk","formControl","sizeSmall","shrink","animated","standard","filled","outlined"]);var b=n(80184),Z=["disableAnimation","margin","shrink","variant","className"],x=(0,v.ZP)(p.Z,{shouldForwardProp:function(e){return(0,v.FO)(e)||"classes"===e},name:"MuiInputLabel",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[(0,o.Z)({},"& .".concat(d.Z.asterisk),t.asterisk),t.root,n.formControl&&t.formControl,"small"===n.size&&t.sizeSmall,n.shrink&&t.shrink,!n.disableAnimation&&t.animated,t[n.variant]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,a.Z)({display:"block",transformOrigin:"top left",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"100%"},n.formControl&&{position:"absolute",left:0,top:0,transform:"translate(0, 20px) scale(1)"},"small"===n.size&&{transform:"translate(0, 17px) scale(1)"},n.shrink&&{transform:"translate(0, -1.5px) scale(0.75)",transformOrigin:"top left",maxWidth:"133%"},!n.disableAnimation&&{transition:t.transitions.create(["color","transform","max-width"],{duration:t.transitions.duration.shorter,easing:t.transitions.easing.easeOut})},"filled"===n.variant&&(0,a.Z)({zIndex:1,pointerEvents:"none",transform:"translate(12px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},"small"===n.size&&{transform:"translate(12px, 13px) scale(1)"},n.shrink&&(0,a.Z)({userSelect:"none",pointerEvents:"auto",transform:"translate(12px, 7px) scale(0.75)",maxWidth:"calc(133% - 24px)"},"small"===n.size&&{transform:"translate(12px, 4px) scale(0.75)"})),"outlined"===n.variant&&(0,a.Z)({zIndex:1,pointerEvents:"none",transform:"translate(14px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},"small"===n.size&&{transform:"translate(14px, 9px) scale(1)"},n.shrink&&{userSelect:"none",pointerEvents:"auto",maxWidth:"calc(133% - 32px)",transform:"translate(14px, -9px) scale(0.75)"}))})),y=i.forwardRef((function(e,t){var n=(0,f.Z)({name:"MuiInputLabel",props:e}),o=n.disableAnimation,i=void 0!==o&&o,p=n.shrink,d=n.className,v=(0,r.Z)(n,Z),g=(0,u.Z)(),m=p;"undefined"===typeof m&&g&&(m=g.filled||g.focused||g.adornedStart);var y=(0,s.Z)({props:n,muiFormControl:g,states:["size","variant","required"]}),S=(0,a.Z)({},n,{disableAnimation:i,formControl:g,shrink:m,size:y.size,variant:y.variant,required:y.required}),O=function(e){var t=e.classes,n=e.formControl,o=e.size,r=e.shrink,i={root:["root",n&&"formControl",!e.disableAnimation&&"animated",r&&"shrink","small"===o&&"sizeSmall",e.variant],asterisk:[e.required&&"asterisk"]},c=(0,l.Z)(i,h,t);return(0,a.Z)({},t,c)}(S);return(0,b.jsx)(x,(0,a.Z)({"data-shrink":m,ownerState:S,ref:t,className:(0,c.Z)(O.root,d)},v,{classes:O}))}))},79834:function(e,t,n){n.d(t,{Z:function(){return b}});var o=n(63366),r=n(87462),a=n(72791),i=n(28182),l=n(94419),c=n(66934),s=n(31402),u=n(14036),p=n(75878),d=n(21217);function f(e){return(0,d.Z)("MuiListSubheader",e)}(0,p.Z)("MuiListSubheader",["root","colorPrimary","colorInherit","gutters","inset","sticky"]);var v=n(80184),g=["className","color","component","disableGutters","disableSticky","inset"],m=(0,c.ZP)("li",{name:"MuiListSubheader",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,"default"!==n.color&&t["color".concat((0,u.Z)(n.color))],!n.disableGutters&&t.gutters,n.inset&&t.inset,!n.disableSticky&&t.sticky]}})((function(e){var t=e.theme,n=e.ownerState;return(0,r.Z)({boxSizing:"border-box",lineHeight:"48px",listStyle:"none",color:(t.vars||t).palette.text.secondary,fontFamily:t.typography.fontFamily,fontWeight:t.typography.fontWeightMedium,fontSize:t.typography.pxToRem(14)},"primary"===n.color&&{color:(t.vars||t).palette.primary.main},"inherit"===n.color&&{color:"inherit"},!n.disableGutters&&{paddingLeft:16,paddingRight:16},n.inset&&{paddingLeft:72},!n.disableSticky&&{position:"sticky",top:0,zIndex:1,backgroundColor:(t.vars||t).palette.background.paper})})),h=a.forwardRef((function(e,t){var n=(0,s.Z)({props:e,name:"MuiListSubheader"}),a=n.className,c=n.color,p=void 0===c?"default":c,d=n.component,h=void 0===d?"li":d,b=n.disableGutters,Z=void 0!==b&&b,x=n.disableSticky,y=void 0!==x&&x,S=n.inset,O=void 0!==S&&S,I=(0,o.Z)(n,g),k=(0,r.Z)({},n,{color:p,component:h,disableGutters:Z,disableSticky:y,inset:O}),C=function(e){var t=e.classes,n=e.color,o=e.disableGutters,r=e.inset,a=e.disableSticky,i={root:["root","default"!==n&&"color".concat((0,u.Z)(n)),!o&&"gutters",r&&"inset",!a&&"sticky"]};return(0,l.Z)(i,f,t)}(k);return(0,v.jsx)(m,(0,r.Z)({as:h,className:(0,i.Z)(C.root,a),ref:t,ownerState:k},I))}));h.muiSkipListHighlight=!0;var b=h}}]); -//# sourceMappingURL=2260.c0246fc5.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2260.c0246fc5.chunk.js.map b/portal-ui/build/static/js/2260.c0246fc5.chunk.js.map deleted file mode 100644 index d3de922cb..000000000 --- a/portal-ui/build/static/js/2260.c0246fc5.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/2260.c0246fc5.chunk.js","mappings":"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","sources":["../node_modules/@mui/material/node_modules/@mui/base/useAutocomplete/useAutocomplete.js","../node_modules/@mui/material/internal/svg-icons/Close.js","../node_modules/@mui/material/Autocomplete/autocompleteClasses.js","../node_modules/@mui/material/Autocomplete/Autocomplete.js","../node_modules/@mui/material/FormControl/FormControlContext.js","../node_modules/@mui/material/FormControl/formControlState.js","../node_modules/@mui/material/FormControl/useFormControl.js","../node_modules/@mui/material/FormLabel/FormLabel.js","../node_modules/@mui/material/FormLabel/formLabelClasses.js","../node_modules/@mui/material/InputLabel/inputLabelClasses.js","../node_modules/@mui/material/InputLabel/InputLabel.js","../node_modules/@mui/material/ListSubheader/listSubheaderClasses.js","../node_modules/@mui/material/ListSubheader/ListSubheader.js"],"sourcesContent":["import _extends from \"@babel/runtime/helpers/esm/extends\";\n/* eslint-disable no-constant-condition */\nimport * as React from 'react';\nimport { unstable_setRef as setRef, unstable_useEventCallback as useEventCallback, unstable_useControlled as useControlled, unstable_useId as useId, usePreviousProps } from '@mui/utils';\n\n// https://stackoverflow.com/questions/990904/remove-accents-diacritics-in-a-string-in-javascript\n// Give up on IE11 support for this feature\nfunction stripDiacritics(string) {\n return typeof string.normalize !== 'undefined' ? string.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '') : string;\n}\nexport function createFilterOptions(config = {}) {\n const {\n ignoreAccents = true,\n ignoreCase = true,\n limit,\n matchFrom = 'any',\n stringify,\n trim = false\n } = config;\n return (options, {\n inputValue,\n getOptionLabel\n }) => {\n let input = trim ? inputValue.trim() : inputValue;\n if (ignoreCase) {\n input = input.toLowerCase();\n }\n if (ignoreAccents) {\n input = stripDiacritics(input);\n }\n const filteredOptions = !input ? options : options.filter(option => {\n let candidate = (stringify || getOptionLabel)(option);\n if (ignoreCase) {\n candidate = candidate.toLowerCase();\n }\n if (ignoreAccents) {\n candidate = stripDiacritics(candidate);\n }\n return matchFrom === 'start' ? candidate.indexOf(input) === 0 : candidate.indexOf(input) > -1;\n });\n return typeof limit === 'number' ? filteredOptions.slice(0, limit) : filteredOptions;\n };\n}\n\n// To replace with .findIndex() once we stop IE11 support.\nfunction findIndex(array, comp) {\n for (let i = 0; i < array.length; i += 1) {\n if (comp(array[i])) {\n return i;\n }\n }\n return -1;\n}\nconst defaultFilterOptions = createFilterOptions();\n\n// Number of options to jump in list box when `Page Up` and `Page Down` keys are used.\nconst pageSize = 5;\nconst defaultIsActiveElementInListbox = listboxRef => {\n var _listboxRef$current$p;\n return listboxRef.current !== null && ((_listboxRef$current$p = listboxRef.current.parentElement) == null ? void 0 : _listboxRef$current$p.contains(document.activeElement));\n};\nexport default function useAutocomplete(props) {\n const {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n unstable_isActiveElementInListbox = defaultIsActiveElementInListbox,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n unstable_classNamePrefix = 'Mui',\n autoComplete = false,\n autoHighlight = false,\n autoSelect = false,\n blurOnSelect = false,\n clearOnBlur = !props.freeSolo,\n clearOnEscape = false,\n componentName = 'useAutocomplete',\n defaultValue = props.multiple ? [] : null,\n disableClearable = false,\n disableCloseOnSelect = false,\n disabled: disabledProp,\n disabledItemsFocusable = false,\n disableListWrap = false,\n filterOptions = defaultFilterOptions,\n filterSelectedOptions = false,\n freeSolo = false,\n getOptionDisabled,\n getOptionLabel: getOptionLabelProp = option => {\n var _option$label;\n return (_option$label = option.label) != null ? _option$label : option;\n },\n groupBy,\n handleHomeEndKeys = !props.freeSolo,\n id: idProp,\n includeInputInList = false,\n inputValue: inputValueProp,\n isOptionEqualToValue = (option, value) => option === value,\n multiple = false,\n onChange,\n onClose,\n onHighlightChange,\n onInputChange,\n onOpen,\n open: openProp,\n openOnFocus = false,\n options,\n readOnly = false,\n selectOnFocus = !props.freeSolo,\n value: valueProp\n } = props;\n const id = useId(idProp);\n let getOptionLabel = getOptionLabelProp;\n getOptionLabel = option => {\n const optionLabel = getOptionLabelProp(option);\n if (typeof optionLabel !== 'string') {\n if (process.env.NODE_ENV !== 'production') {\n const erroneousReturn = optionLabel === undefined ? 'undefined' : `${typeof optionLabel} (${optionLabel})`;\n console.error(`MUI: The \\`getOptionLabel\\` method of ${componentName} returned ${erroneousReturn} instead of a string for ${JSON.stringify(option)}.`);\n }\n return String(optionLabel);\n }\n return optionLabel;\n };\n const ignoreFocus = React.useRef(false);\n const firstFocus = React.useRef(true);\n const inputRef = React.useRef(null);\n const listboxRef = React.useRef(null);\n const [anchorEl, setAnchorEl] = React.useState(null);\n const [focusedTag, setFocusedTag] = React.useState(-1);\n const defaultHighlighted = autoHighlight ? 0 : -1;\n const highlightedIndexRef = React.useRef(defaultHighlighted);\n const [value, setValueState] = useControlled({\n controlled: valueProp,\n default: defaultValue,\n name: componentName\n });\n const [inputValue, setInputValueState] = useControlled({\n controlled: inputValueProp,\n default: '',\n name: componentName,\n state: 'inputValue'\n });\n const [focused, setFocused] = React.useState(false);\n const resetInputValue = React.useCallback((event, newValue) => {\n // retain current `inputValue` if new option isn't selected and `clearOnBlur` is false\n // When `multiple` is enabled, `newValue` is an array of all selected items including the newly selected item\n const isOptionSelected = multiple ? value.length < newValue.length : newValue !== null;\n if (!isOptionSelected && !clearOnBlur) {\n return;\n }\n let newInputValue;\n if (multiple) {\n newInputValue = '';\n } else if (newValue == null) {\n newInputValue = '';\n } else {\n const optionLabel = getOptionLabel(newValue);\n newInputValue = typeof optionLabel === 'string' ? optionLabel : '';\n }\n if (inputValue === newInputValue) {\n return;\n }\n setInputValueState(newInputValue);\n if (onInputChange) {\n onInputChange(event, newInputValue, 'reset');\n }\n }, [getOptionLabel, inputValue, multiple, onInputChange, setInputValueState, clearOnBlur, value]);\n const [open, setOpenState] = useControlled({\n controlled: openProp,\n default: false,\n name: componentName,\n state: 'open'\n });\n const [inputPristine, setInputPristine] = React.useState(true);\n const inputValueIsSelectedValue = !multiple && value != null && inputValue === getOptionLabel(value);\n const popupOpen = open && !readOnly;\n const filteredOptions = popupOpen ? filterOptions(options.filter(option => {\n if (filterSelectedOptions && (multiple ? value : [value]).some(value2 => value2 !== null && isOptionEqualToValue(option, value2))) {\n return false;\n }\n return true;\n }),\n // we use the empty string to manipulate `filterOptions` to not filter any options\n // i.e. the filter predicate always returns true\n {\n inputValue: inputValueIsSelectedValue && inputPristine ? '' : inputValue,\n getOptionLabel\n }) : [];\n const previousProps = usePreviousProps({\n filteredOptions,\n value,\n inputValue\n });\n React.useEffect(() => {\n const valueChange = value !== previousProps.value;\n if (focused && !valueChange) {\n return;\n }\n\n // Only reset the input's value when freeSolo if the component's value changes.\n if (freeSolo && !valueChange) {\n return;\n }\n resetInputValue(null, value);\n }, [value, resetInputValue, focused, previousProps.value, freeSolo]);\n const listboxAvailable = open && filteredOptions.length > 0 && !readOnly;\n if (process.env.NODE_ENV !== 'production') {\n if (value !== null && !freeSolo && options.length > 0) {\n const missingValue = (multiple ? value : [value]).filter(value2 => !options.some(option => isOptionEqualToValue(option, value2)));\n if (missingValue.length > 0) {\n console.warn([`MUI: The value provided to ${componentName} is invalid.`, `None of the options match with \\`${missingValue.length > 1 ? JSON.stringify(missingValue) : JSON.stringify(missingValue[0])}\\`.`, 'You can use the `isOptionEqualToValue` prop to customize the equality test.'].join('\\n'));\n }\n }\n }\n const focusTag = useEventCallback(tagToFocus => {\n if (tagToFocus === -1) {\n inputRef.current.focus();\n } else {\n anchorEl.querySelector(`[data-tag-index=\"${tagToFocus}\"]`).focus();\n }\n });\n\n // Ensure the focusedTag is never inconsistent\n React.useEffect(() => {\n if (multiple && focusedTag > value.length - 1) {\n setFocusedTag(-1);\n focusTag(-1);\n }\n }, [value, multiple, focusedTag, focusTag]);\n function validOptionIndex(index, direction) {\n if (!listboxRef.current || index === -1) {\n return -1;\n }\n let nextFocus = index;\n while (true) {\n // Out of range\n if (direction === 'next' && nextFocus === filteredOptions.length || direction === 'previous' && nextFocus === -1) {\n return -1;\n }\n const option = listboxRef.current.querySelector(`[data-option-index=\"${nextFocus}\"]`);\n\n // Same logic as MenuList.js\n const nextFocusDisabled = disabledItemsFocusable ? false : !option || option.disabled || option.getAttribute('aria-disabled') === 'true';\n if (option && !option.hasAttribute('tabindex') || nextFocusDisabled) {\n // Move to the next element.\n nextFocus += direction === 'next' ? 1 : -1;\n } else {\n return nextFocus;\n }\n }\n }\n const setHighlightedIndex = useEventCallback(({\n event,\n index,\n reason = 'auto'\n }) => {\n highlightedIndexRef.current = index;\n\n // does the index exist?\n if (index === -1) {\n inputRef.current.removeAttribute('aria-activedescendant');\n } else {\n inputRef.current.setAttribute('aria-activedescendant', `${id}-option-${index}`);\n }\n if (onHighlightChange) {\n onHighlightChange(event, index === -1 ? null : filteredOptions[index], reason);\n }\n if (!listboxRef.current) {\n return;\n }\n const prev = listboxRef.current.querySelector(`[role=\"option\"].${unstable_classNamePrefix}-focused`);\n if (prev) {\n prev.classList.remove(`${unstable_classNamePrefix}-focused`);\n prev.classList.remove(`${unstable_classNamePrefix}-focusVisible`);\n }\n let listboxNode = listboxRef.current;\n if (listboxRef.current.getAttribute('role') !== 'listbox') {\n listboxNode = listboxRef.current.parentElement.querySelector('[role=\"listbox\"]');\n }\n\n // \"No results\"\n if (!listboxNode) {\n return;\n }\n if (index === -1) {\n listboxNode.scrollTop = 0;\n return;\n }\n const option = listboxRef.current.querySelector(`[data-option-index=\"${index}\"]`);\n if (!option) {\n return;\n }\n option.classList.add(`${unstable_classNamePrefix}-focused`);\n if (reason === 'keyboard') {\n option.classList.add(`${unstable_classNamePrefix}-focusVisible`);\n }\n\n // Scroll active descendant into view.\n // Logic copied from https://www.w3.org/WAI/content-assets/wai-aria-practices/patterns/combobox/examples/js/select-only.js\n //\n // Consider this API instead once it has a better browser support:\n // .scrollIntoView({ scrollMode: 'if-needed', block: 'nearest' });\n if (listboxNode.scrollHeight > listboxNode.clientHeight && reason !== 'mouse') {\n const element = option;\n const scrollBottom = listboxNode.clientHeight + listboxNode.scrollTop;\n const elementBottom = element.offsetTop + element.offsetHeight;\n if (elementBottom > scrollBottom) {\n listboxNode.scrollTop = elementBottom - listboxNode.clientHeight;\n } else if (element.offsetTop - element.offsetHeight * (groupBy ? 1.3 : 0) < listboxNode.scrollTop) {\n listboxNode.scrollTop = element.offsetTop - element.offsetHeight * (groupBy ? 1.3 : 0);\n }\n }\n });\n const changeHighlightedIndex = useEventCallback(({\n event,\n diff,\n direction = 'next',\n reason = 'auto'\n }) => {\n if (!popupOpen) {\n return;\n }\n const getNextIndex = () => {\n const maxIndex = filteredOptions.length - 1;\n if (diff === 'reset') {\n return defaultHighlighted;\n }\n if (diff === 'start') {\n return 0;\n }\n if (diff === 'end') {\n return maxIndex;\n }\n const newIndex = highlightedIndexRef.current + diff;\n if (newIndex < 0) {\n if (newIndex === -1 && includeInputInList) {\n return -1;\n }\n if (disableListWrap && highlightedIndexRef.current !== -1 || Math.abs(diff) > 1) {\n return 0;\n }\n return maxIndex;\n }\n if (newIndex > maxIndex) {\n if (newIndex === maxIndex + 1 && includeInputInList) {\n return -1;\n }\n if (disableListWrap || Math.abs(diff) > 1) {\n return maxIndex;\n }\n return 0;\n }\n return newIndex;\n };\n const nextIndex = validOptionIndex(getNextIndex(), direction);\n setHighlightedIndex({\n index: nextIndex,\n reason,\n event\n });\n\n // Sync the content of the input with the highlighted option.\n if (autoComplete && diff !== 'reset') {\n if (nextIndex === -1) {\n inputRef.current.value = inputValue;\n } else {\n const option = getOptionLabel(filteredOptions[nextIndex]);\n inputRef.current.value = option;\n\n // The portion of the selected suggestion that has not been typed by the user,\n // a completion string, appears inline after the input cursor in the textbox.\n const index = option.toLowerCase().indexOf(inputValue.toLowerCase());\n if (index === 0 && inputValue.length > 0) {\n inputRef.current.setSelectionRange(inputValue.length, option.length);\n }\n }\n }\n });\n const checkHighlightedOptionExists = () => {\n const isSameValue = (value1, value2) => {\n const label1 = value1 ? getOptionLabel(value1) : '';\n const label2 = value2 ? getOptionLabel(value2) : '';\n return label1 === label2;\n };\n if (highlightedIndexRef.current !== -1 && previousProps.filteredOptions && previousProps.filteredOptions.length !== filteredOptions.length && previousProps.inputValue === inputValue && (multiple ? value.length === previousProps.value.length && previousProps.value.every((val, i) => getOptionLabel(value[i]) === getOptionLabel(val)) : isSameValue(previousProps.value, value))) {\n const previousHighlightedOption = previousProps.filteredOptions[highlightedIndexRef.current];\n if (previousHighlightedOption) {\n const previousHighlightedOptionExists = filteredOptions.some(option => {\n return getOptionLabel(option) === getOptionLabel(previousHighlightedOption);\n });\n if (previousHighlightedOptionExists) {\n return true;\n }\n }\n }\n return false;\n };\n const syncHighlightedIndex = React.useCallback(() => {\n if (!popupOpen) {\n return;\n }\n\n // Check if the previously highlighted option still exists in the updated filtered options list and if the value and inputValue haven't changed\n // If it exists and the value and the inputValue haven't changed, return, otherwise continue execution\n if (checkHighlightedOptionExists()) {\n return;\n }\n const valueItem = multiple ? value[0] : value;\n\n // The popup is empty, reset\n if (filteredOptions.length === 0 || valueItem == null) {\n changeHighlightedIndex({\n diff: 'reset'\n });\n return;\n }\n if (!listboxRef.current) {\n return;\n }\n\n // Synchronize the value with the highlighted index\n if (valueItem != null) {\n const currentOption = filteredOptions[highlightedIndexRef.current];\n\n // Keep the current highlighted index if possible\n if (multiple && currentOption && findIndex(value, val => isOptionEqualToValue(currentOption, val)) !== -1) {\n return;\n }\n const itemIndex = findIndex(filteredOptions, optionItem => isOptionEqualToValue(optionItem, valueItem));\n if (itemIndex === -1) {\n changeHighlightedIndex({\n diff: 'reset'\n });\n } else {\n setHighlightedIndex({\n index: itemIndex\n });\n }\n return;\n }\n\n // Prevent the highlighted index to leak outside the boundaries.\n if (highlightedIndexRef.current >= filteredOptions.length - 1) {\n setHighlightedIndex({\n index: filteredOptions.length - 1\n });\n return;\n }\n\n // Restore the focus to the previous index.\n setHighlightedIndex({\n index: highlightedIndexRef.current\n });\n // Ignore filteredOptions (and options, isOptionEqualToValue, getOptionLabel) not to break the scroll position\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n // Only sync the highlighted index when the option switch between empty and not\n filteredOptions.length,\n // Don't sync the highlighted index with the value when multiple\n // eslint-disable-next-line react-hooks/exhaustive-deps\n multiple ? false : value, filterSelectedOptions, changeHighlightedIndex, setHighlightedIndex, popupOpen, inputValue, multiple]);\n const handleListboxRef = useEventCallback(node => {\n setRef(listboxRef, node);\n if (!node) {\n return;\n }\n syncHighlightedIndex();\n });\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n if (!inputRef.current || inputRef.current.nodeName !== 'INPUT') {\n if (inputRef.current && inputRef.current.nodeName === 'TEXTAREA') {\n console.warn([`A textarea element was provided to ${componentName} where input was expected.`, `This is not a supported scenario but it may work under certain conditions.`, `A textarea keyboard navigation may conflict with Autocomplete controls (e.g. enter and arrow keys).`, `Make sure to test keyboard navigation and add custom event handlers if necessary.`].join('\\n'));\n } else {\n console.error([`MUI: Unable to find the input element. It was resolved to ${inputRef.current} while an HTMLInputElement was expected.`, `Instead, ${componentName} expects an input element.`, '', componentName === 'useAutocomplete' ? 'Make sure you have bound getInputProps correctly and that the normal ref/effect resolutions order is guaranteed.' : 'Make sure you have customized the input component correctly.'].join('\\n'));\n }\n }\n }, [componentName]);\n }\n React.useEffect(() => {\n syncHighlightedIndex();\n }, [syncHighlightedIndex]);\n const handleOpen = event => {\n if (open) {\n return;\n }\n setOpenState(true);\n setInputPristine(true);\n if (onOpen) {\n onOpen(event);\n }\n };\n const handleClose = (event, reason) => {\n if (!open) {\n return;\n }\n setOpenState(false);\n if (onClose) {\n onClose(event, reason);\n }\n };\n const handleValue = (event, newValue, reason, details) => {\n if (multiple) {\n if (value.length === newValue.length && value.every((val, i) => val === newValue[i])) {\n return;\n }\n } else if (value === newValue) {\n return;\n }\n if (onChange) {\n onChange(event, newValue, reason, details);\n }\n setValueState(newValue);\n };\n const isTouch = React.useRef(false);\n const selectNewValue = (event, option, reasonProp = 'selectOption', origin = 'options') => {\n let reason = reasonProp;\n let newValue = option;\n if (multiple) {\n newValue = Array.isArray(value) ? value.slice() : [];\n if (process.env.NODE_ENV !== 'production') {\n const matches = newValue.filter(val => isOptionEqualToValue(option, val));\n if (matches.length > 1) {\n console.error([`MUI: The \\`isOptionEqualToValue\\` method of ${componentName} does not handle the arguments correctly.`, `The component expects a single value to match a given option but found ${matches.length} matches.`].join('\\n'));\n }\n }\n const itemIndex = findIndex(newValue, valueItem => isOptionEqualToValue(option, valueItem));\n if (itemIndex === -1) {\n newValue.push(option);\n } else if (origin !== 'freeSolo') {\n newValue.splice(itemIndex, 1);\n reason = 'removeOption';\n }\n }\n resetInputValue(event, newValue);\n handleValue(event, newValue, reason, {\n option\n });\n if (!disableCloseOnSelect && (!event || !event.ctrlKey && !event.metaKey)) {\n handleClose(event, reason);\n }\n if (blurOnSelect === true || blurOnSelect === 'touch' && isTouch.current || blurOnSelect === 'mouse' && !isTouch.current) {\n inputRef.current.blur();\n }\n };\n function validTagIndex(index, direction) {\n if (index === -1) {\n return -1;\n }\n let nextFocus = index;\n while (true) {\n // Out of range\n if (direction === 'next' && nextFocus === value.length || direction === 'previous' && nextFocus === -1) {\n return -1;\n }\n const option = anchorEl.querySelector(`[data-tag-index=\"${nextFocus}\"]`);\n\n // Same logic as MenuList.js\n if (!option || !option.hasAttribute('tabindex') || option.disabled || option.getAttribute('aria-disabled') === 'true') {\n nextFocus += direction === 'next' ? 1 : -1;\n } else {\n return nextFocus;\n }\n }\n }\n const handleFocusTag = (event, direction) => {\n if (!multiple) {\n return;\n }\n if (inputValue === '') {\n handleClose(event, 'toggleInput');\n }\n let nextTag = focusedTag;\n if (focusedTag === -1) {\n if (inputValue === '' && direction === 'previous') {\n nextTag = value.length - 1;\n }\n } else {\n nextTag += direction === 'next' ? 1 : -1;\n if (nextTag < 0) {\n nextTag = 0;\n }\n if (nextTag === value.length) {\n nextTag = -1;\n }\n }\n nextTag = validTagIndex(nextTag, direction);\n setFocusedTag(nextTag);\n focusTag(nextTag);\n };\n const handleClear = event => {\n ignoreFocus.current = true;\n setInputValueState('');\n if (onInputChange) {\n onInputChange(event, '', 'clear');\n }\n handleValue(event, multiple ? [] : null, 'clear');\n };\n const handleKeyDown = other => event => {\n if (other.onKeyDown) {\n other.onKeyDown(event);\n }\n if (event.defaultMuiPrevented) {\n return;\n }\n if (focusedTag !== -1 && ['ArrowLeft', 'ArrowRight'].indexOf(event.key) === -1) {\n setFocusedTag(-1);\n focusTag(-1);\n }\n\n // Wait until IME is settled.\n if (event.which !== 229) {\n switch (event.key) {\n case 'Home':\n if (popupOpen && handleHomeEndKeys) {\n // Prevent scroll of the page\n event.preventDefault();\n changeHighlightedIndex({\n diff: 'start',\n direction: 'next',\n reason: 'keyboard',\n event\n });\n }\n break;\n case 'End':\n if (popupOpen && handleHomeEndKeys) {\n // Prevent scroll of the page\n event.preventDefault();\n changeHighlightedIndex({\n diff: 'end',\n direction: 'previous',\n reason: 'keyboard',\n event\n });\n }\n break;\n case 'PageUp':\n // Prevent scroll of the page\n event.preventDefault();\n changeHighlightedIndex({\n diff: -pageSize,\n direction: 'previous',\n reason: 'keyboard',\n event\n });\n handleOpen(event);\n break;\n case 'PageDown':\n // Prevent scroll of the page\n event.preventDefault();\n changeHighlightedIndex({\n diff: pageSize,\n direction: 'next',\n reason: 'keyboard',\n event\n });\n handleOpen(event);\n break;\n case 'ArrowDown':\n // Prevent cursor move\n event.preventDefault();\n changeHighlightedIndex({\n diff: 1,\n direction: 'next',\n reason: 'keyboard',\n event\n });\n handleOpen(event);\n break;\n case 'ArrowUp':\n // Prevent cursor move\n event.preventDefault();\n changeHighlightedIndex({\n diff: -1,\n direction: 'previous',\n reason: 'keyboard',\n event\n });\n handleOpen(event);\n break;\n case 'ArrowLeft':\n handleFocusTag(event, 'previous');\n break;\n case 'ArrowRight':\n handleFocusTag(event, 'next');\n break;\n case 'Enter':\n if (highlightedIndexRef.current !== -1 && popupOpen) {\n const option = filteredOptions[highlightedIndexRef.current];\n const disabled = getOptionDisabled ? getOptionDisabled(option) : false;\n\n // Avoid early form validation, let the end-users continue filling the form.\n event.preventDefault();\n if (disabled) {\n return;\n }\n selectNewValue(event, option, 'selectOption');\n\n // Move the selection to the end.\n if (autoComplete) {\n inputRef.current.setSelectionRange(inputRef.current.value.length, inputRef.current.value.length);\n }\n } else if (freeSolo && inputValue !== '' && inputValueIsSelectedValue === false) {\n if (multiple) {\n // Allow people to add new values before they submit the form.\n event.preventDefault();\n }\n selectNewValue(event, inputValue, 'createOption', 'freeSolo');\n }\n break;\n case 'Escape':\n if (popupOpen) {\n // Avoid Opera to exit fullscreen mode.\n event.preventDefault();\n // Avoid the Modal to handle the event.\n event.stopPropagation();\n handleClose(event, 'escape');\n } else if (clearOnEscape && (inputValue !== '' || multiple && value.length > 0)) {\n // Avoid Opera to exit fullscreen mode.\n event.preventDefault();\n // Avoid the Modal to handle the event.\n event.stopPropagation();\n handleClear(event);\n }\n break;\n case 'Backspace':\n if (multiple && !readOnly && inputValue === '' && value.length > 0) {\n const index = focusedTag === -1 ? value.length - 1 : focusedTag;\n const newValue = value.slice();\n newValue.splice(index, 1);\n handleValue(event, newValue, 'removeOption', {\n option: value[index]\n });\n }\n break;\n case 'Delete':\n if (multiple && !readOnly && inputValue === '' && value.length > 0 && focusedTag !== -1) {\n const index = focusedTag;\n const newValue = value.slice();\n newValue.splice(index, 1);\n handleValue(event, newValue, 'removeOption', {\n option: value[index]\n });\n }\n break;\n default:\n }\n }\n };\n const handleFocus = event => {\n setFocused(true);\n if (openOnFocus && !ignoreFocus.current) {\n handleOpen(event);\n }\n };\n const handleBlur = event => {\n // Ignore the event when using the scrollbar with IE11\n if (unstable_isActiveElementInListbox(listboxRef)) {\n inputRef.current.focus();\n return;\n }\n setFocused(false);\n firstFocus.current = true;\n ignoreFocus.current = false;\n if (autoSelect && highlightedIndexRef.current !== -1 && popupOpen) {\n selectNewValue(event, filteredOptions[highlightedIndexRef.current], 'blur');\n } else if (autoSelect && freeSolo && inputValue !== '') {\n selectNewValue(event, inputValue, 'blur', 'freeSolo');\n } else if (clearOnBlur) {\n resetInputValue(event, value);\n }\n handleClose(event, 'blur');\n };\n const handleInputChange = event => {\n const newValue = event.target.value;\n if (inputValue !== newValue) {\n setInputValueState(newValue);\n setInputPristine(false);\n if (onInputChange) {\n onInputChange(event, newValue, 'input');\n }\n }\n if (newValue === '') {\n if (!disableClearable && !multiple) {\n handleValue(event, null, 'clear');\n }\n } else {\n handleOpen(event);\n }\n };\n const handleOptionMouseMove = event => {\n const index = Number(event.currentTarget.getAttribute('data-option-index'));\n if (highlightedIndexRef.current !== index) {\n setHighlightedIndex({\n event,\n index,\n reason: 'mouse'\n });\n }\n };\n const handleOptionTouchStart = event => {\n setHighlightedIndex({\n event,\n index: Number(event.currentTarget.getAttribute('data-option-index')),\n reason: 'touch'\n });\n isTouch.current = true;\n };\n const handleOptionClick = event => {\n const index = Number(event.currentTarget.getAttribute('data-option-index'));\n selectNewValue(event, filteredOptions[index], 'selectOption');\n isTouch.current = false;\n };\n const handleTagDelete = index => event => {\n const newValue = value.slice();\n newValue.splice(index, 1);\n handleValue(event, newValue, 'removeOption', {\n option: value[index]\n });\n };\n const handlePopupIndicator = event => {\n if (open) {\n handleClose(event, 'toggleInput');\n } else {\n handleOpen(event);\n }\n };\n\n // Prevent input blur when interacting with the combobox\n const handleMouseDown = event => {\n // Prevent focusing the input if click is anywhere outside the Autocomplete\n if (!event.currentTarget.contains(event.target)) {\n return;\n }\n if (event.target.getAttribute('id') !== id) {\n event.preventDefault();\n }\n };\n\n // Focus the input when interacting with the combobox\n const handleClick = event => {\n // Prevent focusing the input if click is anywhere outside the Autocomplete\n if (!event.currentTarget.contains(event.target)) {\n return;\n }\n inputRef.current.focus();\n if (selectOnFocus && firstFocus.current && inputRef.current.selectionEnd - inputRef.current.selectionStart === 0) {\n inputRef.current.select();\n }\n firstFocus.current = false;\n };\n const handleInputMouseDown = event => {\n if (inputValue === '' || !open) {\n handlePopupIndicator(event);\n }\n };\n let dirty = freeSolo && inputValue.length > 0;\n dirty = dirty || (multiple ? value.length > 0 : value !== null);\n let groupedOptions = filteredOptions;\n if (groupBy) {\n // used to keep track of key and indexes in the result array\n const indexBy = new Map();\n let warn = false;\n groupedOptions = filteredOptions.reduce((acc, option, index) => {\n const group = groupBy(option);\n if (acc.length > 0 && acc[acc.length - 1].group === group) {\n acc[acc.length - 1].options.push(option);\n } else {\n if (process.env.NODE_ENV !== 'production') {\n if (indexBy.get(group) && !warn) {\n console.warn(`MUI: The options provided combined with the \\`groupBy\\` method of ${componentName} returns duplicated headers.`, 'You can solve the issue by sorting the options with the output of `groupBy`.');\n warn = true;\n }\n indexBy.set(group, true);\n }\n acc.push({\n key: index,\n index,\n group,\n options: [option]\n });\n }\n return acc;\n }, []);\n }\n if (disabledProp && focused) {\n handleBlur();\n }\n return {\n getRootProps: (other = {}) => _extends({\n 'aria-owns': listboxAvailable ? `${id}-listbox` : null\n }, other, {\n onKeyDown: handleKeyDown(other),\n onMouseDown: handleMouseDown,\n onClick: handleClick\n }),\n getInputLabelProps: () => ({\n id: `${id}-label`,\n htmlFor: id\n }),\n getInputProps: () => ({\n id,\n value: inputValue,\n onBlur: handleBlur,\n onFocus: handleFocus,\n onChange: handleInputChange,\n onMouseDown: handleInputMouseDown,\n // if open then this is handled imperatively so don't let react override\n // only have an opinion about this when closed\n 'aria-activedescendant': popupOpen ? '' : null,\n 'aria-autocomplete': autoComplete ? 'both' : 'list',\n 'aria-controls': listboxAvailable ? `${id}-listbox` : undefined,\n 'aria-expanded': listboxAvailable,\n // Disable browser's suggestion that might overlap with the popup.\n // Handle autocomplete but not autofill.\n autoComplete: 'off',\n ref: inputRef,\n autoCapitalize: 'none',\n spellCheck: 'false',\n role: 'combobox',\n disabled: disabledProp\n }),\n getClearProps: () => ({\n tabIndex: -1,\n onClick: handleClear\n }),\n getPopupIndicatorProps: () => ({\n tabIndex: -1,\n onClick: handlePopupIndicator\n }),\n getTagProps: ({\n index\n }) => _extends({\n key: index,\n 'data-tag-index': index,\n tabIndex: -1\n }, !readOnly && {\n onDelete: handleTagDelete(index)\n }),\n getListboxProps: () => ({\n role: 'listbox',\n id: `${id}-listbox`,\n 'aria-labelledby': `${id}-label`,\n ref: handleListboxRef,\n onMouseDown: event => {\n // Prevent blur\n event.preventDefault();\n }\n }),\n getOptionProps: ({\n index,\n option\n }) => {\n const selected = (multiple ? value : [value]).some(value2 => value2 != null && isOptionEqualToValue(option, value2));\n const disabled = getOptionDisabled ? getOptionDisabled(option) : false;\n return {\n key: getOptionLabel(option),\n tabIndex: -1,\n role: 'option',\n id: `${id}-option-${index}`,\n onMouseMove: handleOptionMouseMove,\n onClick: handleOptionClick,\n onTouchStart: handleOptionTouchStart,\n 'data-option-index': index,\n 'aria-disabled': disabled,\n 'aria-selected': selected\n };\n },\n id,\n inputValue,\n value,\n dirty,\n expanded: popupOpen && anchorEl,\n popupOpen,\n focused: focused || focusedTag !== -1,\n anchorEl,\n setAnchorEl,\n focusedTag,\n groupedOptions\n };\n}","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n *\n * Alias to `Clear`.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getAutocompleteUtilityClass(slot) {\n return generateUtilityClass('MuiAutocomplete', slot);\n}\nconst autocompleteClasses = generateUtilityClasses('MuiAutocomplete', ['root', 'expanded', 'fullWidth', 'focused', 'focusVisible', 'tag', 'tagSizeSmall', 'tagSizeMedium', 'hasPopupIcon', 'hasClearIcon', 'inputRoot', 'input', 'inputFocused', 'endAdornment', 'clearIndicator', 'popupIndicator', 'popupIndicatorOpen', 'popper', 'popperDisablePortal', 'paper', 'listbox', 'loading', 'noOptions', 'option', 'groupLabel', 'groupUl']);\nexport default autocompleteClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nvar _ClearIcon, _ArrowDropDownIcon;\nconst _excluded = [\"autoComplete\", \"autoHighlight\", \"autoSelect\", \"blurOnSelect\", \"ChipProps\", \"className\", \"clearIcon\", \"clearOnBlur\", \"clearOnEscape\", \"clearText\", \"closeText\", \"componentsProps\", \"defaultValue\", \"disableClearable\", \"disableCloseOnSelect\", \"disabled\", \"disabledItemsFocusable\", \"disableListWrap\", \"disablePortal\", \"filterOptions\", \"filterSelectedOptions\", \"forcePopupIcon\", \"freeSolo\", \"fullWidth\", \"getLimitTagsText\", \"getOptionDisabled\", \"getOptionLabel\", \"isOptionEqualToValue\", \"groupBy\", \"handleHomeEndKeys\", \"id\", \"includeInputInList\", \"inputValue\", \"limitTags\", \"ListboxComponent\", \"ListboxProps\", \"loading\", \"loadingText\", \"multiple\", \"noOptionsText\", \"onChange\", \"onClose\", \"onHighlightChange\", \"onInputChange\", \"onOpen\", \"open\", \"openOnFocus\", \"openText\", \"options\", \"PaperComponent\", \"PopperComponent\", \"popupIcon\", \"readOnly\", \"renderGroup\", \"renderInput\", \"renderOption\", \"renderTags\", \"selectOnFocus\", \"size\", \"slotProps\", \"value\"],\n _excluded2 = [\"ref\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { chainPropTypes, integerPropType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses, useAutocomplete, createFilterOptions } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport Popper from '../Popper';\nimport ListSubheader from '../ListSubheader';\nimport Paper from '../Paper';\nimport IconButton from '../IconButton';\nimport Chip from '../Chip';\nimport inputClasses from '../Input/inputClasses';\nimport inputBaseClasses from '../InputBase/inputBaseClasses';\nimport outlinedInputClasses from '../OutlinedInput/outlinedInputClasses';\nimport filledInputClasses from '../FilledInput/filledInputClasses';\nimport ClearIcon from '../internal/svg-icons/Close';\nimport ArrowDropDownIcon from '../internal/svg-icons/ArrowDropDown';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport autocompleteClasses, { getAutocompleteUtilityClass } from './autocompleteClasses';\nimport capitalize from '../utils/capitalize';\nimport useForkRef from '../utils/useForkRef';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePortal,\n expanded,\n focused,\n fullWidth,\n hasClearIcon,\n hasPopupIcon,\n inputFocused,\n popupOpen,\n size\n } = ownerState;\n const slots = {\n root: ['root', expanded && 'expanded', focused && 'focused', fullWidth && 'fullWidth', hasClearIcon && 'hasClearIcon', hasPopupIcon && 'hasPopupIcon'],\n inputRoot: ['inputRoot'],\n input: ['input', inputFocused && 'inputFocused'],\n tag: ['tag', `tagSize${capitalize(size)}`],\n endAdornment: ['endAdornment'],\n clearIndicator: ['clearIndicator'],\n popupIndicator: ['popupIndicator', popupOpen && 'popupIndicatorOpen'],\n popper: ['popper', disablePortal && 'popperDisablePortal'],\n paper: ['paper'],\n listbox: ['listbox'],\n loading: ['loading'],\n noOptions: ['noOptions'],\n option: ['option'],\n groupLabel: ['groupLabel'],\n groupUl: ['groupUl']\n };\n return composeClasses(slots, getAutocompleteUtilityClass, classes);\n};\nconst AutocompleteRoot = styled('div', {\n name: 'MuiAutocomplete',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n const {\n fullWidth,\n hasClearIcon,\n hasPopupIcon,\n inputFocused,\n size\n } = ownerState;\n return [{\n [`& .${autocompleteClasses.tag}`]: styles.tag\n }, {\n [`& .${autocompleteClasses.tag}`]: styles[`tagSize${capitalize(size)}`]\n }, {\n [`& .${autocompleteClasses.inputRoot}`]: styles.inputRoot\n }, {\n [`& .${autocompleteClasses.input}`]: styles.input\n }, {\n [`& .${autocompleteClasses.input}`]: inputFocused && styles.inputFocused\n }, styles.root, fullWidth && styles.fullWidth, hasPopupIcon && styles.hasPopupIcon, hasClearIcon && styles.hasClearIcon];\n }\n})(({\n ownerState\n}) => _extends({\n [`&.${autocompleteClasses.focused} .${autocompleteClasses.clearIndicator}`]: {\n visibility: 'visible'\n },\n /* Avoid double tap issue on iOS */\n '@media (pointer: fine)': {\n [`&:hover .${autocompleteClasses.clearIndicator}`]: {\n visibility: 'visible'\n }\n }\n}, ownerState.fullWidth && {\n width: '100%'\n}, {\n [`& .${autocompleteClasses.tag}`]: _extends({\n margin: 3,\n maxWidth: 'calc(100% - 6px)'\n }, ownerState.size === 'small' && {\n margin: 2,\n maxWidth: 'calc(100% - 4px)'\n }),\n [`& .${autocompleteClasses.inputRoot}`]: {\n flexWrap: 'wrap',\n [`.${autocompleteClasses.hasPopupIcon}&, .${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 26 + 4\n },\n [`.${autocompleteClasses.hasPopupIcon}.${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 52 + 4\n },\n [`& .${autocompleteClasses.input}`]: {\n width: 0,\n minWidth: 30\n }\n },\n [`& .${inputClasses.root}`]: {\n paddingBottom: 1,\n '& .MuiInput-input': {\n padding: '4px 4px 4px 0px'\n }\n },\n [`& .${inputClasses.root}.${inputBaseClasses.sizeSmall}`]: {\n [`& .${inputClasses.input}`]: {\n padding: '2px 4px 3px 0'\n }\n },\n [`& .${outlinedInputClasses.root}`]: {\n padding: 9,\n [`.${autocompleteClasses.hasPopupIcon}&, .${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 26 + 4 + 9\n },\n [`.${autocompleteClasses.hasPopupIcon}.${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 52 + 4 + 9\n },\n [`& .${autocompleteClasses.input}`]: {\n padding: '7.5px 4px 7.5px 5px'\n },\n [`& .${autocompleteClasses.endAdornment}`]: {\n right: 9\n }\n },\n [`& .${outlinedInputClasses.root}.${inputBaseClasses.sizeSmall}`]: {\n // Don't specify paddingRight, as it overrides the default value set when there is only\n // one of the popup or clear icon as the specificity is equal so the latter one wins\n paddingTop: 6,\n paddingBottom: 6,\n paddingLeft: 6,\n [`& .${autocompleteClasses.input}`]: {\n padding: '2.5px 4px 2.5px 8px'\n }\n },\n [`& .${filledInputClasses.root}`]: {\n paddingTop: 19,\n paddingLeft: 8,\n [`.${autocompleteClasses.hasPopupIcon}&, .${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 26 + 4 + 9\n },\n [`.${autocompleteClasses.hasPopupIcon}.${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 52 + 4 + 9\n },\n [`& .${filledInputClasses.input}`]: {\n padding: '7px 4px'\n },\n [`& .${autocompleteClasses.endAdornment}`]: {\n right: 9\n }\n },\n [`& .${filledInputClasses.root}.${inputBaseClasses.sizeSmall}`]: {\n paddingBottom: 1,\n [`& .${filledInputClasses.input}`]: {\n padding: '2.5px 4px'\n }\n },\n [`& .${inputBaseClasses.hiddenLabel}`]: {\n paddingTop: 8\n },\n [`& .${filledInputClasses.root}.${inputBaseClasses.hiddenLabel}`]: {\n paddingTop: 0,\n paddingBottom: 0,\n [`& .${autocompleteClasses.input}`]: {\n paddingTop: 16,\n paddingBottom: 17\n }\n },\n [`& .${filledInputClasses.root}.${inputBaseClasses.hiddenLabel}.${inputBaseClasses.sizeSmall}`]: {\n [`& .${autocompleteClasses.input}`]: {\n paddingTop: 8,\n paddingBottom: 9\n }\n },\n [`& .${autocompleteClasses.input}`]: _extends({\n flexGrow: 1,\n textOverflow: 'ellipsis',\n opacity: 0\n }, ownerState.inputFocused && {\n opacity: 1\n })\n}));\nconst AutocompleteEndAdornment = styled('div', {\n name: 'MuiAutocomplete',\n slot: 'EndAdornment',\n overridesResolver: (props, styles) => styles.endAdornment\n})({\n // We use a position absolute to support wrapping tags.\n position: 'absolute',\n right: 0,\n top: 'calc(50% - 14px)' // Center vertically\n});\n\nconst AutocompleteClearIndicator = styled(IconButton, {\n name: 'MuiAutocomplete',\n slot: 'ClearIndicator',\n overridesResolver: (props, styles) => styles.clearIndicator\n})({\n marginRight: -2,\n padding: 4,\n visibility: 'hidden'\n});\nconst AutocompletePopupIndicator = styled(IconButton, {\n name: 'MuiAutocomplete',\n slot: 'PopupIndicator',\n overridesResolver: ({\n ownerState\n }, styles) => _extends({}, styles.popupIndicator, ownerState.popupOpen && styles.popupIndicatorOpen)\n})(({\n ownerState\n}) => _extends({\n padding: 2,\n marginRight: -2\n}, ownerState.popupOpen && {\n transform: 'rotate(180deg)'\n}));\nconst AutocompletePopper = styled(Popper, {\n name: 'MuiAutocomplete',\n slot: 'Popper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${autocompleteClasses.option}`]: styles.option\n }, styles.popper, ownerState.disablePortal && styles.popperDisablePortal];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n zIndex: (theme.vars || theme).zIndex.modal\n}, ownerState.disablePortal && {\n position: 'absolute'\n}));\nconst AutocompletePaper = styled(Paper, {\n name: 'MuiAutocomplete',\n slot: 'Paper',\n overridesResolver: (props, styles) => styles.paper\n})(({\n theme\n}) => _extends({}, theme.typography.body1, {\n overflow: 'auto'\n}));\nconst AutocompleteLoading = styled('div', {\n name: 'MuiAutocomplete',\n slot: 'Loading',\n overridesResolver: (props, styles) => styles.loading\n})(({\n theme\n}) => ({\n color: (theme.vars || theme).palette.text.secondary,\n padding: '14px 16px'\n}));\nconst AutocompleteNoOptions = styled('div', {\n name: 'MuiAutocomplete',\n slot: 'NoOptions',\n overridesResolver: (props, styles) => styles.noOptions\n})(({\n theme\n}) => ({\n color: (theme.vars || theme).palette.text.secondary,\n padding: '14px 16px'\n}));\nconst AutocompleteListbox = styled('div', {\n name: 'MuiAutocomplete',\n slot: 'Listbox',\n overridesResolver: (props, styles) => styles.listbox\n})(({\n theme\n}) => ({\n listStyle: 'none',\n margin: 0,\n padding: '8px 0',\n maxHeight: '40vh',\n overflow: 'auto',\n position: 'relative',\n [`& .${autocompleteClasses.option}`]: {\n minHeight: 48,\n display: 'flex',\n overflow: 'hidden',\n justifyContent: 'flex-start',\n alignItems: 'center',\n cursor: 'pointer',\n paddingTop: 6,\n boxSizing: 'border-box',\n outline: '0',\n WebkitTapHighlightColor: 'transparent',\n paddingBottom: 6,\n paddingLeft: 16,\n paddingRight: 16,\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n },\n [`&.${autocompleteClasses.focused}`]: {\n backgroundColor: (theme.vars || theme).palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n '&[aria-disabled=\"true\"]': {\n opacity: (theme.vars || theme).palette.action.disabledOpacity,\n pointerEvents: 'none'\n },\n [`&.${autocompleteClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n '&[aria-selected=\"true\"]': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${autocompleteClasses.focused}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: (theme.vars || theme).palette.action.selected\n }\n },\n [`&.${autocompleteClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n }\n }\n}));\nconst AutocompleteGroupLabel = styled(ListSubheader, {\n name: 'MuiAutocomplete',\n slot: 'GroupLabel',\n overridesResolver: (props, styles) => styles.groupLabel\n})(({\n theme\n}) => ({\n backgroundColor: (theme.vars || theme).palette.background.paper,\n top: -8\n}));\nconst AutocompleteGroupUl = styled('ul', {\n name: 'MuiAutocomplete',\n slot: 'GroupUl',\n overridesResolver: (props, styles) => styles.groupUl\n})({\n padding: 0,\n [`& .${autocompleteClasses.option}`]: {\n paddingLeft: 24\n }\n});\nexport { createFilterOptions };\nconst Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps, ref) {\n var _slotProps$clearIndic, _slotProps$paper, _slotProps$popper, _slotProps$popupIndic;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiAutocomplete'\n });\n /* eslint-disable @typescript-eslint/no-unused-vars */\n const {\n autoComplete = false,\n autoHighlight = false,\n autoSelect = false,\n blurOnSelect = false,\n ChipProps,\n className,\n clearIcon = _ClearIcon || (_ClearIcon = /*#__PURE__*/_jsx(ClearIcon, {\n fontSize: \"small\"\n })),\n clearOnBlur = !props.freeSolo,\n clearOnEscape = false,\n clearText = 'Clear',\n closeText = 'Close',\n componentsProps = {},\n defaultValue = props.multiple ? [] : null,\n disableClearable = false,\n disableCloseOnSelect = false,\n disabled = false,\n disabledItemsFocusable = false,\n disableListWrap = false,\n disablePortal = false,\n filterSelectedOptions = false,\n forcePopupIcon = 'auto',\n freeSolo = false,\n fullWidth = false,\n getLimitTagsText = more => `+${more}`,\n getOptionLabel = option => {\n var _option$label;\n return (_option$label = option.label) != null ? _option$label : option;\n },\n groupBy,\n handleHomeEndKeys = !props.freeSolo,\n includeInputInList = false,\n limitTags = -1,\n ListboxComponent = 'ul',\n ListboxProps,\n loading = false,\n loadingText = 'Loading…',\n multiple = false,\n noOptionsText = 'No options',\n openOnFocus = false,\n openText = 'Open',\n PaperComponent = Paper,\n PopperComponent = Popper,\n popupIcon = _ArrowDropDownIcon || (_ArrowDropDownIcon = /*#__PURE__*/_jsx(ArrowDropDownIcon, {})),\n readOnly = false,\n renderGroup: renderGroupProp,\n renderInput,\n renderOption: renderOptionProp,\n renderTags,\n selectOnFocus = !props.freeSolo,\n size = 'medium',\n slotProps = {}\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n /* eslint-enable @typescript-eslint/no-unused-vars */\n\n const {\n getRootProps,\n getInputProps,\n getInputLabelProps,\n getPopupIndicatorProps,\n getClearProps,\n getTagProps,\n getListboxProps,\n getOptionProps,\n value,\n dirty,\n expanded,\n id,\n popupOpen,\n focused,\n focusedTag,\n anchorEl,\n setAnchorEl,\n inputValue,\n groupedOptions\n } = useAutocomplete(_extends({}, props, {\n componentName: 'Autocomplete'\n }));\n const hasClearIcon = !disableClearable && !disabled && dirty && !readOnly;\n const hasPopupIcon = (!freeSolo || forcePopupIcon === true) && forcePopupIcon !== false;\n const {\n onMouseDown: handleInputMouseDown\n } = getInputProps();\n const {\n ref: externalListboxRef\n } = ListboxProps != null ? ListboxProps : {};\n const _getListboxProps = getListboxProps(),\n {\n ref: listboxRef\n } = _getListboxProps,\n otherListboxProps = _objectWithoutPropertiesLoose(_getListboxProps, _excluded2);\n const combinedListboxRef = useForkRef(listboxRef, externalListboxRef);\n\n // If you modify this, make sure to keep the `AutocompleteOwnerState` type in sync.\n const ownerState = _extends({}, props, {\n disablePortal,\n expanded,\n focused,\n fullWidth,\n hasClearIcon,\n hasPopupIcon,\n inputFocused: focusedTag === -1,\n popupOpen,\n size\n });\n const classes = useUtilityClasses(ownerState);\n let startAdornment;\n if (multiple && value.length > 0) {\n const getCustomizedTagProps = params => _extends({\n className: classes.tag,\n disabled\n }, getTagProps(params));\n if (renderTags) {\n startAdornment = renderTags(value, getCustomizedTagProps, ownerState);\n } else {\n startAdornment = value.map((option, index) => /*#__PURE__*/_jsx(Chip, _extends({\n label: getOptionLabel(option),\n size: size\n }, getCustomizedTagProps({\n index\n }), ChipProps)));\n }\n }\n if (limitTags > -1 && Array.isArray(startAdornment)) {\n const more = startAdornment.length - limitTags;\n if (!focused && more > 0) {\n startAdornment = startAdornment.splice(0, limitTags);\n startAdornment.push( /*#__PURE__*/_jsx(\"span\", {\n className: classes.tag,\n children: getLimitTagsText(more)\n }, startAdornment.length));\n }\n }\n const defaultRenderGroup = params => /*#__PURE__*/_jsxs(\"li\", {\n children: [/*#__PURE__*/_jsx(AutocompleteGroupLabel, {\n className: classes.groupLabel,\n ownerState: ownerState,\n component: \"div\",\n children: params.group\n }), /*#__PURE__*/_jsx(AutocompleteGroupUl, {\n className: classes.groupUl,\n ownerState: ownerState,\n children: params.children\n })]\n }, params.key);\n const renderGroup = renderGroupProp || defaultRenderGroup;\n const defaultRenderOption = (props2, option) => /*#__PURE__*/_jsx(\"li\", _extends({}, props2, {\n children: getOptionLabel(option)\n }));\n const renderOption = renderOptionProp || defaultRenderOption;\n const renderListOption = (option, index) => {\n const optionProps = getOptionProps({\n option,\n index\n });\n return renderOption(_extends({}, optionProps, {\n className: classes.option\n }), option, {\n selected: optionProps['aria-selected'],\n index,\n inputValue\n });\n };\n const clearIndicatorSlotProps = (_slotProps$clearIndic = slotProps.clearIndicator) != null ? _slotProps$clearIndic : componentsProps.clearIndicator;\n const paperSlotProps = (_slotProps$paper = slotProps.paper) != null ? _slotProps$paper : componentsProps.paper;\n const popperSlotProps = (_slotProps$popper = slotProps.popper) != null ? _slotProps$popper : componentsProps.popper;\n const popupIndicatorSlotProps = (_slotProps$popupIndic = slotProps.popupIndicator) != null ? _slotProps$popupIndic : componentsProps.popupIndicator;\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(AutocompleteRoot, _extends({\n ref: ref,\n className: clsx(classes.root, className),\n ownerState: ownerState\n }, getRootProps(other), {\n children: renderInput({\n id,\n disabled,\n fullWidth: true,\n size: size === 'small' ? 'small' : undefined,\n InputLabelProps: getInputLabelProps(),\n InputProps: _extends({\n ref: setAnchorEl,\n className: classes.inputRoot,\n startAdornment,\n onClick: event => {\n if (event.target === event.currentTarget) {\n handleInputMouseDown(event);\n }\n }\n }, (hasClearIcon || hasPopupIcon) && {\n endAdornment: /*#__PURE__*/_jsxs(AutocompleteEndAdornment, {\n className: classes.endAdornment,\n ownerState: ownerState,\n children: [hasClearIcon ? /*#__PURE__*/_jsx(AutocompleteClearIndicator, _extends({}, getClearProps(), {\n \"aria-label\": clearText,\n title: clearText,\n ownerState: ownerState\n }, clearIndicatorSlotProps, {\n className: clsx(classes.clearIndicator, clearIndicatorSlotProps == null ? void 0 : clearIndicatorSlotProps.className),\n children: clearIcon\n })) : null, hasPopupIcon ? /*#__PURE__*/_jsx(AutocompletePopupIndicator, _extends({}, getPopupIndicatorProps(), {\n disabled: disabled,\n \"aria-label\": popupOpen ? closeText : openText,\n title: popupOpen ? closeText : openText,\n ownerState: ownerState\n }, popupIndicatorSlotProps, {\n className: clsx(classes.popupIndicator, popupIndicatorSlotProps == null ? void 0 : popupIndicatorSlotProps.className),\n children: popupIcon\n })) : null]\n })\n }),\n inputProps: _extends({\n className: classes.input,\n disabled,\n readOnly\n }, getInputProps())\n })\n })), anchorEl ? /*#__PURE__*/_jsx(AutocompletePopper, _extends({\n as: PopperComponent,\n disablePortal: disablePortal,\n style: {\n width: anchorEl ? anchorEl.clientWidth : null\n },\n ownerState: ownerState,\n role: \"presentation\",\n anchorEl: anchorEl,\n open: popupOpen\n }, popperSlotProps, {\n className: clsx(classes.popper, popperSlotProps == null ? void 0 : popperSlotProps.className),\n children: /*#__PURE__*/_jsxs(AutocompletePaper, _extends({\n ownerState: ownerState,\n as: PaperComponent\n }, paperSlotProps, {\n className: clsx(classes.paper, paperSlotProps == null ? void 0 : paperSlotProps.className),\n children: [loading && groupedOptions.length === 0 ? /*#__PURE__*/_jsx(AutocompleteLoading, {\n className: classes.loading,\n ownerState: ownerState,\n children: loadingText\n }) : null, groupedOptions.length === 0 && !freeSolo && !loading ? /*#__PURE__*/_jsx(AutocompleteNoOptions, {\n className: classes.noOptions,\n ownerState: ownerState,\n role: \"presentation\",\n onMouseDown: event => {\n // Prevent input blur when interacting with the \"no options\" content\n event.preventDefault();\n },\n children: noOptionsText\n }) : null, groupedOptions.length > 0 ? /*#__PURE__*/_jsx(AutocompleteListbox, _extends({\n as: ListboxComponent,\n className: classes.listbox,\n ownerState: ownerState\n }, otherListboxProps, ListboxProps, {\n ref: combinedListboxRef,\n children: groupedOptions.map((option, index) => {\n if (groupBy) {\n return renderGroup({\n key: option.key,\n group: option.group,\n children: option.options.map((option2, index2) => renderListOption(option2, option.index + index2))\n });\n }\n return renderListOption(option, index);\n })\n })) : null]\n }))\n })) : null]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Autocomplete.propTypes /* remove-proptypes */ = {\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 * If `true`, the portion of the selected suggestion that has not been typed by the user,\n * known as the completion string, appears inline after the input cursor in the textbox.\n * The inline completion string is visually highlighted and has a selected state.\n * @default false\n */\n autoComplete: PropTypes.bool,\n /**\n * If `true`, the first option is automatically highlighted.\n * @default false\n */\n autoHighlight: PropTypes.bool,\n /**\n * If `true`, the selected option becomes the value of the input\n * when the Autocomplete loses focus unless the user chooses\n * a different option or changes the character string in the input.\n *\n * When using `freeSolo` mode, the typed value will be the input value\n * if the Autocomplete loses focus without highlighting an option.\n * @default false\n */\n autoSelect: PropTypes.bool,\n /**\n * Control if the input should be blurred when an option is selected:\n *\n * - `false` the input is not blurred.\n * - `true` the input is always blurred.\n * - `touch` the input is blurred after a touch event.\n * - `mouse` the input is blurred after a mouse event.\n * @default false\n */\n blurOnSelect: PropTypes.oneOfType([PropTypes.oneOf(['mouse', 'touch']), PropTypes.bool]),\n /**\n * Props applied to the [`Chip`](/material-ui/api/chip/) element.\n */\n ChipProps: PropTypes.object,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The icon to display in place of the default clear icon.\n * @default \n */\n clearIcon: PropTypes.node,\n /**\n * If `true`, the input's text is cleared on blur if no value is selected.\n *\n * Set to `true` if you want to help the user enter a new value.\n * Set to `false` if you want to help the user resume their search.\n * @default !props.freeSolo\n */\n clearOnBlur: PropTypes.bool,\n /**\n * If `true`, clear all values when the user presses escape and the popup is closed.\n * @default false\n */\n clearOnEscape: PropTypes.bool,\n /**\n * Override the default text for the *clear* icon button.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'Clear'\n */\n clearText: PropTypes.string,\n /**\n * Override the default text for the *close popup* icon button.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'Close'\n */\n closeText: PropTypes.string,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n componentsProps: PropTypes.shape({\n clearIndicator: PropTypes.object,\n paper: PropTypes.object,\n popper: PropTypes.object,\n popupIndicator: PropTypes.object\n }),\n /**\n * The default value. Use when the component is not controlled.\n * @default props.multiple ? [] : null\n */\n defaultValue: chainPropTypes(PropTypes.any, props => {\n if (props.multiple && props.defaultValue !== undefined && !Array.isArray(props.defaultValue)) {\n return new Error(['MUI: The Autocomplete expects the `defaultValue` prop to be an array when `multiple={true}` or undefined.', `However, ${props.defaultValue} was provided.`].join('\\n'));\n }\n return null;\n }),\n /**\n * If `true`, the input can't be cleared.\n * @default false\n */\n disableClearable: PropTypes.bool,\n /**\n * If `true`, the popup won't close when a value is selected.\n * @default false\n */\n disableCloseOnSelect: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, will allow focus on disabled items.\n * @default false\n */\n disabledItemsFocusable: PropTypes.bool,\n /**\n * If `true`, the list box in the popup will not wrap focus.\n * @default false\n */\n disableListWrap: PropTypes.bool,\n /**\n * If `true`, the `Popper` content will be under the DOM hierarchy of the parent component.\n * @default false\n */\n disablePortal: PropTypes.bool,\n /**\n * A function that determines the filtered options to be rendered on search.\n *\n * @default createFilterOptions()\n * @param {T[]} options The options to render.\n * @param {object} state The state of the component.\n * @returns {T[]}\n */\n filterOptions: PropTypes.func,\n /**\n * If `true`, hide the selected options from the list box.\n * @default false\n */\n filterSelectedOptions: PropTypes.bool,\n /**\n * Force the visibility display of the popup icon.\n * @default 'auto'\n */\n forcePopupIcon: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.bool]),\n /**\n * If `true`, the Autocomplete is free solo, meaning that the user input is not bound to provided options.\n * @default false\n */\n freeSolo: PropTypes.bool,\n /**\n * If `true`, the input will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * The label to display when the tags are truncated (`limitTags`).\n *\n * @param {number} more The number of truncated tags.\n * @returns {ReactNode}\n * @default (more) => `+${more}`\n */\n getLimitTagsText: PropTypes.func,\n /**\n * Used to determine the disabled state for a given option.\n *\n * @param {T} option The option to test.\n * @returns {boolean}\n */\n getOptionDisabled: PropTypes.func,\n /**\n * Used to determine the string value for a given option.\n * It's used to fill the input (and the list box options if `renderOption` is not provided).\n *\n * If used in free solo mode, it must accept both the type of the options and a string.\n *\n * @param {T} option\n * @returns {string}\n * @default (option) => option.label ?? option\n */\n getOptionLabel: PropTypes.func,\n /**\n * If provided, the options will be grouped under the returned string.\n * The groupBy value is also used as the text for group headings when `renderGroup` is not provided.\n *\n * @param {T} options The options to group.\n * @returns {string}\n */\n groupBy: PropTypes.func,\n /**\n * If `true`, the component handles the \"Home\" and \"End\" keys when the popup is open.\n * It should move focus to the first option and last option, respectively.\n * @default !props.freeSolo\n */\n handleHomeEndKeys: PropTypes.bool,\n /**\n * This prop is used to help implement the accessibility logic.\n * If you don't provide an id it will fall back to a randomly generated one.\n */\n id: PropTypes.string,\n /**\n * If `true`, the highlight can move to the input.\n * @default false\n */\n includeInputInList: PropTypes.bool,\n /**\n * The input value.\n */\n inputValue: PropTypes.string,\n /**\n * Used to determine if the option represents the given value.\n * Uses strict equality by default.\n * ⚠️ Both arguments need to be handled, an option can only match with one value.\n *\n * @param {T} option The option to test.\n * @param {T} value The value to test against.\n * @returns {boolean}\n */\n isOptionEqualToValue: PropTypes.func,\n /**\n * The maximum number of tags that will be visible when not focused.\n * Set `-1` to disable the limit.\n * @default -1\n */\n limitTags: integerPropType,\n /**\n * The component used to render the listbox.\n * @default 'ul'\n */\n ListboxComponent: PropTypes.elementType,\n /**\n * Props applied to the Listbox element.\n */\n ListboxProps: PropTypes.object,\n /**\n * If `true`, the component is in a loading state.\n * This shows the `loadingText` in place of suggestions (only if there are no suggestions to show, e.g. `options` are empty).\n * @default false\n */\n loading: PropTypes.bool,\n /**\n * Text to display when in a loading state.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'Loading…'\n */\n loadingText: PropTypes.node,\n /**\n * If `true`, `value` must be an array and the menu will support multiple selections.\n * @default false\n */\n multiple: PropTypes.bool,\n /**\n * Text to display when there are no options.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'No options'\n */\n noOptionsText: PropTypes.node,\n /**\n * Callback fired when the value changes.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * @param {T|T[]} value The new value of the component.\n * @param {string} reason One of \"createOption\", \"selectOption\", \"removeOption\", \"blur\" or \"clear\".\n * @param {string} [details]\n */\n onChange: PropTypes.func,\n /**\n * Callback fired when the popup requests to be closed.\n * Use in controlled mode (see open).\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * @param {string} reason Can be: `\"toggleInput\"`, `\"escape\"`, `\"selectOption\"`, `\"removeOption\"`, `\"blur\"`.\n */\n onClose: PropTypes.func,\n /**\n * Callback fired when the highlight option changes.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * @param {T} option The highlighted option.\n * @param {string} reason Can be: `\"keyboard\"`, `\"auto\"`, `\"mouse\"`, `\"touch\"`.\n */\n onHighlightChange: PropTypes.func,\n /**\n * Callback fired when the input value changes.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * @param {string} value The new value of the text input.\n * @param {string} reason Can be: `\"input\"` (user input), `\"reset\"` (programmatic change), `\"clear\"`.\n */\n onInputChange: PropTypes.func,\n /**\n * Callback fired when the popup requests to be opened.\n * Use in controlled mode (see open).\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n */\n onOpen: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool,\n /**\n * If `true`, the popup will open on input focus.\n * @default false\n */\n openOnFocus: PropTypes.bool,\n /**\n * Override the default text for the *open popup* icon button.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'Open'\n */\n openText: PropTypes.string,\n /**\n * Array of options.\n */\n options: PropTypes.array.isRequired,\n /**\n * The component used to render the body of the popup.\n * @default Paper\n */\n PaperComponent: PropTypes.elementType,\n /**\n * The component used to position the popup.\n * @default Popper\n */\n PopperComponent: PropTypes.elementType,\n /**\n * The icon to display in place of the default popup icon.\n * @default \n */\n popupIcon: PropTypes.node,\n /**\n * If `true`, the component becomes readonly. It is also supported for multiple tags where the tag cannot be deleted.\n * @default false\n */\n readOnly: PropTypes.bool,\n /**\n * Render the group.\n *\n * @param {AutocompleteRenderGroupParams} params The group to render.\n * @returns {ReactNode}\n */\n renderGroup: PropTypes.func,\n /**\n * Render the input.\n *\n * @param {object} params\n * @returns {ReactNode}\n */\n renderInput: PropTypes.func.isRequired,\n /**\n * Render the option, use `getOptionLabel` by default.\n *\n * @param {object} props The props to apply on the li element.\n * @param {T} option The option to render.\n * @param {object} state The state of the component.\n * @returns {ReactNode}\n */\n renderOption: PropTypes.func,\n /**\n * Render the selected value.\n *\n * @param {T[]} value The `value` provided to the component.\n * @param {function} getTagProps A tag props getter.\n * @param {object} ownerState The state of the Autocomplete component.\n * @returns {ReactNode}\n */\n renderTags: PropTypes.func,\n /**\n * If `true`, the input's text is selected on focus.\n * It helps the user clear the selected value.\n * @default !props.freeSolo\n */\n selectOnFocus: PropTypes.bool,\n /**\n * The size of the component.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium']), PropTypes.string]),\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n clearIndicator: PropTypes.object,\n paper: PropTypes.object,\n popper: PropTypes.object,\n popupIndicator: PropTypes.object\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 * The value of the autocomplete.\n *\n * The value must have reference equality with the option in order to be selected.\n * You can customize the equality behavior with the `isOptionEqualToValue` prop.\n */\n value: chainPropTypes(PropTypes.any, props => {\n if (props.multiple && props.value !== undefined && !Array.isArray(props.value)) {\n return new Error(['MUI: The Autocomplete expects the `value` prop to be an array when `multiple={true}` or undefined.', `However, ${props.value} was provided.`].join('\\n'));\n }\n return null;\n })\n} : void 0;\nexport default Autocomplete;","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst FormControlContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== 'production') {\n FormControlContext.displayName = 'FormControlContext';\n}\nexport default FormControlContext;","export default function formControlState({\n props,\n states,\n muiFormControl\n}) {\n return states.reduce((acc, state) => {\n acc[state] = props[state];\n if (muiFormControl) {\n if (typeof props[state] === 'undefined') {\n acc[state] = muiFormControl[state];\n }\n }\n return acc;\n }, {});\n}","import * as React from 'react';\nimport FormControlContext from './FormControlContext';\nexport default function useFormControl() {\n return React.useContext(FormControlContext);\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"disabled\", \"error\", \"filled\", \"focused\", \"required\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport formLabelClasses, { getFormLabelUtilityClasses } from './formLabelClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n focused,\n disabled,\n error,\n filled,\n required\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, disabled && 'disabled', error && 'error', filled && 'filled', focused && 'focused', required && 'required'],\n asterisk: ['asterisk', error && 'error']\n };\n return composeClasses(slots, getFormLabelUtilityClasses, classes);\n};\nexport const FormLabelRoot = styled('label', {\n name: 'MuiFormLabel',\n slot: 'Root',\n overridesResolver: ({\n ownerState\n }, styles) => {\n return _extends({}, styles.root, ownerState.color === 'secondary' && styles.colorSecondary, ownerState.filled && styles.filled);\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, theme.typography.body1, {\n lineHeight: '1.4375em',\n padding: 0,\n position: 'relative',\n [`&.${formLabelClasses.focused}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${formLabelClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n },\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst AsteriskComponent = styled('span', {\n name: 'MuiFormLabel',\n slot: 'Asterisk',\n overridesResolver: (props, styles) => styles.asterisk\n})(({\n theme\n}) => ({\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst FormLabel = /*#__PURE__*/React.forwardRef(function FormLabel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormLabel'\n });\n const {\n children,\n className,\n component = 'label'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['color', 'required', 'focused', 'disabled', 'error', 'filled']\n });\n const ownerState = _extends({}, props, {\n color: fcs.color || 'primary',\n component,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(FormLabelRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: [children, fcs.required && /*#__PURE__*/_jsxs(AsteriskComponent, {\n ownerState: ownerState,\n \"aria-hidden\": true,\n className: classes.asterisk,\n children: [\"\\u2009\", '*']\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormLabel.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\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 * If `true`, the label should be displayed in a disabled state.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the label should use filled classes key.\n */\n filled: PropTypes.bool,\n /**\n * If `true`, the input of this label is focused (used by `FormGroup` components).\n */\n focused: PropTypes.bool,\n /**\n * If `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\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} : void 0;\nexport default FormLabel;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getFormLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiFormLabel', slot);\n}\nconst formLabelClasses = generateUtilityClasses('MuiFormLabel', ['root', 'colorSecondary', 'focused', 'disabled', 'error', 'filled', 'required', 'asterisk']);\nexport default formLabelClasses;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getInputLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiInputLabel', slot);\n}\nconst inputLabelClasses = generateUtilityClasses('MuiInputLabel', ['root', 'focused', 'disabled', 'error', 'required', 'asterisk', 'formControl', 'sizeSmall', 'shrink', 'animated', 'standard', 'filled', 'outlined']);\nexport default inputLabelClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"disableAnimation\", \"margin\", \"shrink\", \"variant\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport clsx from 'clsx';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport FormLabel, { formLabelClasses } from '../FormLabel';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { getInputLabelUtilityClasses } from './inputLabelClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n formControl,\n size,\n shrink,\n disableAnimation,\n variant,\n required\n } = ownerState;\n const slots = {\n root: ['root', formControl && 'formControl', !disableAnimation && 'animated', shrink && 'shrink', size === 'small' && 'sizeSmall', variant],\n asterisk: [required && 'asterisk']\n };\n const composedClasses = composeClasses(slots, getInputLabelUtilityClasses, classes);\n return _extends({}, classes, composedClasses);\n};\nconst InputLabelRoot = styled(FormLabel, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiInputLabel',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${formLabelClasses.asterisk}`]: styles.asterisk\n }, styles.root, ownerState.formControl && styles.formControl, ownerState.size === 'small' && styles.sizeSmall, ownerState.shrink && styles.shrink, !ownerState.disableAnimation && styles.animated, styles[ownerState.variant]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'block',\n transformOrigin: 'top left',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: '100%'\n}, ownerState.formControl && {\n position: 'absolute',\n left: 0,\n top: 0,\n // slight alteration to spec spacing to match visual spec result\n transform: 'translate(0, 20px) scale(1)'\n}, ownerState.size === 'small' && {\n // Compensation for the `Input.inputSizeSmall` style.\n transform: 'translate(0, 17px) scale(1)'\n}, ownerState.shrink && {\n transform: 'translate(0, -1.5px) scale(0.75)',\n transformOrigin: 'top left',\n maxWidth: '133%'\n}, !ownerState.disableAnimation && {\n transition: theme.transitions.create(['color', 'transform', 'max-width'], {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n })\n}, ownerState.variant === 'filled' && _extends({\n // Chrome's autofill feature gives the input field a yellow background.\n // Since the input field is behind the label in the HTML tree,\n // the input field is drawn last and hides the label with an opaque background color.\n // zIndex: 1 will raise the label above opaque background-colors of input.\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(12px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 13px) scale(1)'\n}, ownerState.shrink && _extends({\n userSelect: 'none',\n pointerEvents: 'auto',\n transform: 'translate(12px, 7px) scale(0.75)',\n maxWidth: 'calc(133% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 4px) scale(0.75)'\n})), ownerState.variant === 'outlined' && _extends({\n // see comment above on filled.zIndex\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(14px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(14px, 9px) scale(1)'\n}, ownerState.shrink && {\n userSelect: 'none',\n pointerEvents: 'auto',\n // Theoretically, we should have (8+5)*2/0.75 = 34px\n // but it feels a better when it bleeds a bit on the left, so 32px.\n maxWidth: 'calc(133% - 32px)',\n transform: 'translate(14px, -9px) scale(0.75)'\n})));\nconst InputLabel = /*#__PURE__*/React.forwardRef(function InputLabel(inProps, ref) {\n const props = useThemeProps({\n name: 'MuiInputLabel',\n props: inProps\n });\n const {\n disableAnimation = false,\n shrink: shrinkProp,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n let shrink = shrinkProp;\n if (typeof shrink === 'undefined' && muiFormControl) {\n shrink = muiFormControl.filled || muiFormControl.focused || muiFormControl.adornedStart;\n }\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['size', 'variant', 'required']\n });\n const ownerState = _extends({}, props, {\n disableAnimation,\n formControl: muiFormControl,\n shrink,\n size: fcs.size,\n variant: fcs.variant,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(InputLabelRoot, _extends({\n \"data-shrink\": shrink,\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? InputLabel.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the transition animation is disabled.\n * @default false\n */\n disableAnimation: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` of this label is focused.\n */\n focused: PropTypes.bool,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: PropTypes.oneOf(['dense']),\n /**\n * if `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n /**\n * If `true`, the label is shrunk.\n */\n shrink: PropTypes.bool,\n /**\n * The size of the component.\n * @default 'normal'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['normal', 'small']), PropTypes.string]),\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 * The variant to use.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputLabel;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getListSubheaderUtilityClass(slot) {\n return generateUtilityClass('MuiListSubheader', slot);\n}\nconst listSubheaderClasses = generateUtilityClasses('MuiListSubheader', ['root', 'colorPrimary', 'colorInherit', 'gutters', 'inset', 'sticky']);\nexport default listSubheaderClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"component\", \"disableGutters\", \"disableSticky\", \"inset\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport capitalize from '../utils/capitalize';\nimport { getListSubheaderUtilityClass } from './listSubheaderClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n disableGutters,\n inset,\n disableSticky\n } = ownerState;\n const slots = {\n root: ['root', color !== 'default' && `color${capitalize(color)}`, !disableGutters && 'gutters', inset && 'inset', !disableSticky && 'sticky']\n };\n return composeClasses(slots, getListSubheaderUtilityClass, classes);\n};\nconst ListSubheaderRoot = styled('li', {\n name: 'MuiListSubheader',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`], !ownerState.disableGutters && styles.gutters, ownerState.inset && styles.inset, !ownerState.disableSticky && styles.sticky];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n boxSizing: 'border-box',\n lineHeight: '48px',\n listStyle: 'none',\n color: (theme.vars || theme).palette.text.secondary,\n fontFamily: theme.typography.fontFamily,\n fontWeight: theme.typography.fontWeightMedium,\n fontSize: theme.typography.pxToRem(14)\n}, ownerState.color === 'primary' && {\n color: (theme.vars || theme).palette.primary.main\n}, ownerState.color === 'inherit' && {\n color: 'inherit'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.inset && {\n paddingLeft: 72\n}, !ownerState.disableSticky && {\n position: 'sticky',\n top: 0,\n zIndex: 1,\n backgroundColor: (theme.vars || theme).palette.background.paper\n}));\nconst ListSubheader = /*#__PURE__*/React.forwardRef(function ListSubheader(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiListSubheader'\n });\n const {\n className,\n color = 'default',\n component = 'li',\n disableGutters = false,\n disableSticky = false,\n inset = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n component,\n disableGutters,\n disableSticky,\n inset\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ListSubheaderRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState\n }, other));\n});\nListSubheader.muiSkipListHighlight = true;\nprocess.env.NODE_ENV !== \"production\" ? ListSubheader.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'default'\n */\n color: PropTypes.oneOf(['default', 'inherit', 'primary']),\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 * If `true`, the List Subheader will not have gutters.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * If `true`, the List Subheader will not stick to the top during scroll.\n * @default false\n */\n disableSticky: PropTypes.bool,\n /**\n * If `true`, the List Subheader is indented.\n * @default false\n */\n inset: PropTypes.bool,\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} : void 0;\nexport default ListSubheader;"],"names":["stripDiacritics","string","normalize","replace","findIndex","array","comp","i","length","defaultFilterOptions","config","arguments","undefined","_config$ignoreAccents","ignoreAccents","_config$ignoreCase","ignoreCase","limit","_config$matchFrom","matchFrom","stringify","_config$trim","trim","options","_ref","inputValue","getOptionLabel","input","toLowerCase","filteredOptions","filter","option","candidate","indexOf","slice","createFilterOptions","defaultIsActiveElementInListbox","listboxRef","_listboxRef$current$p","current","parentElement","contains","document","activeElement","useAutocomplete","props","_props$unstable_isAct","unstable_isActiveElementInListbox","_props$unstable_class","unstable_classNamePrefix","_props$autoComplete","autoComplete","_props$autoHighlight","autoHighlight","_props$autoSelect","autoSelect","_props$blurOnSelect","blurOnSelect","_props$clearOnBlur","clearOnBlur","freeSolo","_props$clearOnEscape","clearOnEscape","_props$componentName","componentName","_props$defaultValue","defaultValue","multiple","_props$disableClearab","disableClearable","_props$disableCloseOn","disableCloseOnSelect","disabledProp","disabled","_props$disabledItemsF","disabledItemsFocusable","_props$disableListWra","disableListWrap","_props$filterOptions","filterOptions","_props$filterSelected","filterSelectedOptions","_props$freeSolo","getOptionDisabled","_props$getOptionLabel","getOptionLabelProp","_option$label","label","groupBy","_props$handleHomeEndK","handleHomeEndKeys","idProp","id","_props$includeInputIn","includeInputInList","inputValueProp","_props$isOptionEqualT","isOptionEqualToValue","value","_props$multiple","onChange","onClose","onHighlightChange","onInputChange","onOpen","openProp","open","_props$openOnFocus","openOnFocus","_props$readOnly","readOnly","_props$selectOnFocus","selectOnFocus","valueProp","useId","optionLabel","String","ignoreFocus","React","firstFocus","inputRef","_React$useState","_React$useState2","_slicedToArray","anchorEl","setAnchorEl","_React$useState3","_React$useState4","focusedTag","setFocusedTag","defaultHighlighted","highlightedIndexRef","_useControlled","useControlled","controlled","default","name","_useControlled2","setValueState","_useControlled3","state","_useControlled4","setInputValueState","_React$useState5","_React$useState6","focused","setFocused","resetInputValue","event","newValue","newInputValue","_useControlled5","_useControlled6","setOpenState","_React$useState7","_React$useState8","inputPristine","setInputPristine","inputValueIsSelectedValue","popupOpen","some","value2","previousProps","usePreviousProps","valueChange","listboxAvailable","focusTag","useEventCallback","tagToFocus","focus","querySelector","concat","setHighlightedIndex","_ref2","index","_ref2$reason","reason","removeAttribute","setAttribute","prev","classList","remove","listboxNode","getAttribute","add","scrollHeight","clientHeight","element","scrollBottom","scrollTop","elementBottom","offsetTop","offsetHeight","changeHighlightedIndex","_ref3","diff","_ref3$direction","direction","_ref3$reason","nextIndex","nextFocus","nextFocusDisabled","hasAttribute","validOptionIndex","maxIndex","newIndex","Math","abs","getNextIndex","setSelectionRange","syncHighlightedIndex","value1","every","val","previousHighlightedOption","checkHighlightedOptionExists","valueItem","currentOption","itemIndex","optionItem","handleListboxRef","node","setRef","handleOpen","handleClose","handleValue","details","isTouch","selectNewValue","origin","Array","isArray","push","splice","ctrlKey","metaKey","blur","handleFocusTag","nextTag","validTagIndex","handleClear","handleKeyDown","other","onKeyDown","defaultMuiPrevented","key","which","preventDefault","stopPropagation","handleFocus","handleBlur","handleInputChange","target","handleOptionMouseMove","Number","currentTarget","handleOptionTouchStart","handleOptionClick","handleTagDelete","handlePopupIndicator","handleMouseDown","handleClick","selectionEnd","selectionStart","select","handleInputMouseDown","dirty","groupedOptions","Map","reduce","acc","group","getRootProps","_extends","onMouseDown","onClick","getInputLabelProps","htmlFor","getInputProps","onBlur","onFocus","ref","autoCapitalize","spellCheck","role","getClearProps","tabIndex","getPopupIndicatorProps","getTagProps","_ref4","onDelete","getListboxProps","getOptionProps","_ref5","selected","onMouseMove","onTouchStart","expanded","createSvgIcon","_jsx","d","getAutocompleteUtilityClass","slot","generateUtilityClass","_ClearIcon","_ArrowDropDownIcon","generateUtilityClasses","_excluded","_excluded2","AutocompleteRoot","styled","overridesResolver","styles","ownerState","fullWidth","hasClearIcon","hasPopupIcon","inputFocused","size","_defineProperty","autocompleteClasses","tag","capitalize","inputRoot","root","_ref6","_extends2","_$concat","_$concat2","_$concat3","_extends3","clearIndicator","visibility","width","margin","maxWidth","flexWrap","paddingRight","minWidth","inputClasses","paddingBottom","padding","inputBaseClasses","sizeSmall","outlinedInputClasses","endAdornment","right","paddingTop","paddingLeft","filledInputClasses","hiddenLabel","flexGrow","textOverflow","opacity","AutocompleteEndAdornment","position","top","AutocompleteClearIndicator","IconButton","marginRight","AutocompletePopupIndicator","_ref7","popupIndicator","popupIndicatorOpen","_ref8","transform","AutocompletePopper","Popper","popper","disablePortal","popperDisablePortal","_ref10","theme","zIndex","vars","modal","AutocompletePaper","Paper","paper","_ref11","typography","body1","overflow","AutocompleteLoading","loading","_ref12","color","palette","text","secondary","AutocompleteNoOptions","noOptions","_ref13","AutocompleteListbox","listbox","_ref14","_ariaSelectedTru","_$concat4","listStyle","maxHeight","minHeight","display","justifyContent","alignItems","cursor","boxSizing","outline","WebkitTapHighlightColor","breakpoints","up","backgroundColor","action","hover","disabledOpacity","pointerEvents","focusVisible","primary","mainChannel","selectedOpacity","alpha","main","hoverOpacity","focusOpacity","AutocompleteGroupLabel","ListSubheader","groupLabel","_ref16","background","AutocompleteGroupUl","groupUl","inProps","_slotProps$clearIndic","_slotProps$paper","_slotProps$popper","_slotProps$popupIndic","startAdornment","useThemeProps","ChipProps","className","_props$clearIcon","clearIcon","ClearIcon","fontSize","_props$clearText","clearText","_props$closeText","closeText","_props$componentsProp","componentsProps","_props$disabled","_props$disablePortal","_props$forcePopupIcon","forcePopupIcon","_props$fullWidth","_props$getLimitTagsTe","getLimitTagsText","more","_props$limitTags","limitTags","_props$ListboxCompone","ListboxComponent","ListboxProps","_props$loading","_props$loadingText","loadingText","_props$noOptionsText","noOptionsText","_props$openText","openText","_props$PaperComponent","PaperComponent","_props$PopperComponen","PopperComponent","_props$popupIcon","popupIcon","ArrowDropDownIcon","renderGroupProp","renderGroup","renderInput","renderOptionProp","renderOption","renderTags","_props$size","_props$slotProps","slotProps","_objectWithoutPropertiesLoose","_useAutocomplete","externalListboxRef","_getListboxProps","otherListboxProps","combinedListboxRef","useForkRef","classes","slots","composeClasses","useUtilityClasses","getCustomizedTagProps","params","map","Chip","children","_jsxs","component","props2","renderListOption","optionProps","clearIndicatorSlotProps","paperSlotProps","popperSlotProps","popupIndicatorSlotProps","clsx","InputLabelProps","InputProps","title","inputProps","as","style","clientWidth","option2","index2","FormControlContext","formControlState","states","muiFormControl","useFormControl","FormLabelRoot","colorSecondary","filled","lineHeight","formLabelClasses","error","AsteriskComponent","asterisk","FormLabel","_props$component","fcs","required","getFormLabelUtilityClasses","getInputLabelUtilityClasses","InputLabelRoot","shouldForwardProp","prop","rootShouldForwardProp","formControl","shrink","disableAnimation","animated","variant","transformOrigin","whiteSpace","left","transition","transitions","create","duration","shorter","easing","easeOut","userSelect","_props$disableAnimati","shrinkProp","adornedStart","composedClasses","getListSubheaderUtilityClass","ListSubheaderRoot","disableGutters","gutters","inset","disableSticky","sticky","fontFamily","fontWeight","fontWeightMedium","pxToRem","_props$color","_props$disableGutters","_props$disableSticky","_props$inset","muiSkipListHighlight"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/247.2a7f8e21.chunk.js.map b/portal-ui/build/static/js/247.2a7f8e21.chunk.js.map index 2f36ac683..816b19352 100644 --- a/portal-ui/build/static/js/247.2a7f8e21.chunk.js.map +++ b/portal-ui/build/static/js/247.2a7f8e21.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/247.2a7f8e21.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/AddBucketTagModal.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","../node_modules/@mui/icons-material/RemoveRedEye.js","../node_modules/@mui/icons-material/VisibilityOff.js","../node_modules/@mui/icons-material/utils/createSvgIcon.js","../node_modules/@mui/material/FormControl/FormControlContext.js","../node_modules/@mui/material/FormControl/formControlState.js","../node_modules/@mui/material/FormControl/useFormControl.js","../node_modules/@mui/material/FormLabel/FormLabel.js","../node_modules/@mui/material/FormLabel/formLabelClasses.js","../node_modules/@mui/material/InputLabel/inputLabelClasses.js","../node_modules/@mui/material/InputLabel/InputLabel.js","../node_modules/@mui/material/utils/createChainedFunction.js","../node_modules/@mui/material/utils/deprecatedPropType.js","../node_modules/@mui/utils/esm/deprecatedPropType.js","../node_modules/@mui/material/utils/requirePropFactory.js","../node_modules/@mui/utils/esm/requirePropFactory.js","../node_modules/@mui/material/utils/setRef.js","../node_modules/@mui/material/utils/unsupportedProp.js","../node_modules/@mui/utils/esm/unsupportedProp.js","../node_modules/@mui/material/utils/index.js","../node_modules/@mui/material/utils/isMuiElement.js","../node_modules/@mui/utils/esm/isMuiElement.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.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 { AddNewTagIcon, Button } from \"mds\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport { setModalErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\n\ninterface IBucketTagModal {\n modalOpen: boolean;\n currentTags: any;\n bucketName: string;\n onCloseAndUpdate: (refresh: boolean) => void;\n\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n });\n\nconst AddBucketTagModal = ({\n modalOpen,\n currentTags,\n onCloseAndUpdate,\n bucketName,\n\n classes,\n}: IBucketTagModal) => {\n const dispatch = useAppDispatch();\n const [newKey, setNewKey] = useState(\"\");\n const [newLabel, setNewLabel] = useState(\"\");\n const [isSending, setIsSending] = useState(false);\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 api.buckets\n .putBucketTags(bucketName, {\n tags: newTagList,\n })\n .then(() => {\n setIsSending(false);\n onCloseAndUpdate(true);\n })\n .catch((error) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(error.error)));\n setIsSending(false);\n });\n };\n\n return (\n {\n onCloseAndUpdate(false);\n }}\n titleIcon={}\n >\n \n
\n Bucket: {bucketName}\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\nexport default withStyles(styles)(AddBucketTagModal);\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, { ClipboardEvent, useState } from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { HelpIcon } from \"mds\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n onFocus?: () => void;\n onPaste?: (e: ClipboardEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n }),\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n onFocus,\n onPaste,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n const [toggleTextInput, setToggleTextInput] = useState(false);\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n let inputBoxWrapperIcon = overlayIcon;\n let inputBoxWrapperType = type;\n\n if (type === \"password\" && overlayIcon === null) {\n inputBoxWrapperIcon = toggleTextInput ? (\n \n ) : (\n \n );\n inputBoxWrapperType = toggleTextInput ? \"text\" : \"password\";\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {inputBoxWrapperIcon && (\n \n {\n overlayAction();\n }\n : () => setToggleTextInput(!toggleTextInput)\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {inputBoxWrapperIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n}), 'RemoveRedEye');\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"\n}), 'VisibilityOff');\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst FormControlContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== 'production') {\n FormControlContext.displayName = 'FormControlContext';\n}\nexport default FormControlContext;","export default function formControlState({\n props,\n states,\n muiFormControl\n}) {\n return states.reduce((acc, state) => {\n acc[state] = props[state];\n if (muiFormControl) {\n if (typeof props[state] === 'undefined') {\n acc[state] = muiFormControl[state];\n }\n }\n return acc;\n }, {});\n}","import * as React from 'react';\nimport FormControlContext from './FormControlContext';\nexport default function useFormControl() {\n return React.useContext(FormControlContext);\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"disabled\", \"error\", \"filled\", \"focused\", \"required\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport formLabelClasses, { getFormLabelUtilityClasses } from './formLabelClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n focused,\n disabled,\n error,\n filled,\n required\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, disabled && 'disabled', error && 'error', filled && 'filled', focused && 'focused', required && 'required'],\n asterisk: ['asterisk', error && 'error']\n };\n return composeClasses(slots, getFormLabelUtilityClasses, classes);\n};\nexport const FormLabelRoot = styled('label', {\n name: 'MuiFormLabel',\n slot: 'Root',\n overridesResolver: ({\n ownerState\n }, styles) => {\n return _extends({}, styles.root, ownerState.color === 'secondary' && styles.colorSecondary, ownerState.filled && styles.filled);\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, theme.typography.body1, {\n lineHeight: '1.4375em',\n padding: 0,\n position: 'relative',\n [`&.${formLabelClasses.focused}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${formLabelClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n },\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst AsteriskComponent = styled('span', {\n name: 'MuiFormLabel',\n slot: 'Asterisk',\n overridesResolver: (props, styles) => styles.asterisk\n})(({\n theme\n}) => ({\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst FormLabel = /*#__PURE__*/React.forwardRef(function FormLabel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormLabel'\n });\n const {\n children,\n className,\n component = 'label'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['color', 'required', 'focused', 'disabled', 'error', 'filled']\n });\n const ownerState = _extends({}, props, {\n color: fcs.color || 'primary',\n component,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(FormLabelRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: [children, fcs.required && /*#__PURE__*/_jsxs(AsteriskComponent, {\n ownerState: ownerState,\n \"aria-hidden\": true,\n className: classes.asterisk,\n children: [\"\\u2009\", '*']\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormLabel.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\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 * If `true`, the label should be displayed in a disabled state.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the label should use filled classes key.\n */\n filled: PropTypes.bool,\n /**\n * If `true`, the input of this label is focused (used by `FormGroup` components).\n */\n focused: PropTypes.bool,\n /**\n * If `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\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} : void 0;\nexport default FormLabel;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getFormLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiFormLabel', slot);\n}\nconst formLabelClasses = generateUtilityClasses('MuiFormLabel', ['root', 'colorSecondary', 'focused', 'disabled', 'error', 'filled', 'required', 'asterisk']);\nexport default formLabelClasses;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getInputLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiInputLabel', slot);\n}\nconst inputLabelClasses = generateUtilityClasses('MuiInputLabel', ['root', 'focused', 'disabled', 'error', 'required', 'asterisk', 'formControl', 'sizeSmall', 'shrink', 'animated', 'standard', 'filled', 'outlined']);\nexport default inputLabelClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"disableAnimation\", \"margin\", \"shrink\", \"variant\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport clsx from 'clsx';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport FormLabel, { formLabelClasses } from '../FormLabel';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { getInputLabelUtilityClasses } from './inputLabelClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n formControl,\n size,\n shrink,\n disableAnimation,\n variant,\n required\n } = ownerState;\n const slots = {\n root: ['root', formControl && 'formControl', !disableAnimation && 'animated', shrink && 'shrink', size === 'small' && 'sizeSmall', variant],\n asterisk: [required && 'asterisk']\n };\n const composedClasses = composeClasses(slots, getInputLabelUtilityClasses, classes);\n return _extends({}, classes, composedClasses);\n};\nconst InputLabelRoot = styled(FormLabel, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiInputLabel',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${formLabelClasses.asterisk}`]: styles.asterisk\n }, styles.root, ownerState.formControl && styles.formControl, ownerState.size === 'small' && styles.sizeSmall, ownerState.shrink && styles.shrink, !ownerState.disableAnimation && styles.animated, styles[ownerState.variant]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'block',\n transformOrigin: 'top left',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: '100%'\n}, ownerState.formControl && {\n position: 'absolute',\n left: 0,\n top: 0,\n // slight alteration to spec spacing to match visual spec result\n transform: 'translate(0, 20px) scale(1)'\n}, ownerState.size === 'small' && {\n // Compensation for the `Input.inputSizeSmall` style.\n transform: 'translate(0, 17px) scale(1)'\n}, ownerState.shrink && {\n transform: 'translate(0, -1.5px) scale(0.75)',\n transformOrigin: 'top left',\n maxWidth: '133%'\n}, !ownerState.disableAnimation && {\n transition: theme.transitions.create(['color', 'transform', 'max-width'], {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n })\n}, ownerState.variant === 'filled' && _extends({\n // Chrome's autofill feature gives the input field a yellow background.\n // Since the input field is behind the label in the HTML tree,\n // the input field is drawn last and hides the label with an opaque background color.\n // zIndex: 1 will raise the label above opaque background-colors of input.\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(12px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 13px) scale(1)'\n}, ownerState.shrink && _extends({\n userSelect: 'none',\n pointerEvents: 'auto',\n transform: 'translate(12px, 7px) scale(0.75)',\n maxWidth: 'calc(133% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 4px) scale(0.75)'\n})), ownerState.variant === 'outlined' && _extends({\n // see comment above on filled.zIndex\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(14px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(14px, 9px) scale(1)'\n}, ownerState.shrink && {\n userSelect: 'none',\n pointerEvents: 'auto',\n // Theoretically, we should have (8+5)*2/0.75 = 34px\n // but it feels a better when it bleeds a bit on the left, so 32px.\n maxWidth: 'calc(133% - 32px)',\n transform: 'translate(14px, -9px) scale(0.75)'\n})));\nconst InputLabel = /*#__PURE__*/React.forwardRef(function InputLabel(inProps, ref) {\n const props = useThemeProps({\n name: 'MuiInputLabel',\n props: inProps\n });\n const {\n disableAnimation = false,\n shrink: shrinkProp,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n let shrink = shrinkProp;\n if (typeof shrink === 'undefined' && muiFormControl) {\n shrink = muiFormControl.filled || muiFormControl.focused || muiFormControl.adornedStart;\n }\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['size', 'variant', 'required']\n });\n const ownerState = _extends({}, props, {\n disableAnimation,\n formControl: muiFormControl,\n shrink,\n size: fcs.size,\n variant: fcs.variant,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(InputLabelRoot, _extends({\n \"data-shrink\": shrink,\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? InputLabel.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the transition animation is disabled.\n * @default false\n */\n disableAnimation: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` of this label is focused.\n */\n focused: PropTypes.bool,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: PropTypes.oneOf(['dense']),\n /**\n * if `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n /**\n * If `true`, the label is shrunk.\n */\n shrink: PropTypes.bool,\n /**\n * The size of the component.\n * @default 'normal'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['normal', 'small']), PropTypes.string]),\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 * The variant to use.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputLabel;","import { unstable_createChainedFunction as createChainedFunction } from '@mui/utils';\nexport default createChainedFunction;","import { unstable_deprecatedPropType as deprecatedPropType } from '@mui/utils';\nexport default deprecatedPropType;","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return (props, propName, componentName, location, propFullName) => {\n const componentNameSafe = componentName || '<>';\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The ${location} \\`${propFullNameSafe}\\` of ` + `\\`${componentNameSafe}\\` is deprecated. ${reason}`);\n }\n return null;\n };\n}","import { unstable_requirePropFactory as requirePropFactory } from '@mui/utils';\nexport default requirePropFactory;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function requirePropFactory(componentNameInError, Component) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n\n // eslint-disable-next-line react/forbid-foreign-prop-types\n const prevPropTypes = Component ? _extends({}, Component.propTypes) : null;\n const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {\n const propFullNameSafe = propFullName || propName;\n const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];\n if (defaultTypeChecker) {\n const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);\n if (typeCheckerResult) {\n return typeCheckerResult;\n }\n }\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(`The prop \\`${propFullNameSafe}\\` of ` + `\\`${componentNameInError}\\` can only be used together with the \\`${requiredProp}\\` prop.`);\n }\n return null;\n };\n return requireProp;\n}","import { unstable_setRef as setRef } from '@mui/utils';\nexport default setRef;","import { unstable_unsupportedProp as unsupportedProp } from '@mui/utils';\nexport default unsupportedProp;","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","import { unstable_ClassNameGenerator as ClassNameGenerator } from '@mui/base/className';\nexport { default as capitalize } from './capitalize';\nexport { default as createChainedFunction } from './createChainedFunction';\nexport { default as createSvgIcon } from './createSvgIcon';\nexport { default as debounce } from './debounce';\nexport { default as deprecatedPropType } from './deprecatedPropType';\nexport { default as isMuiElement } from './isMuiElement';\nexport { default as ownerDocument } from './ownerDocument';\nexport { default as ownerWindow } from './ownerWindow';\nexport { default as requirePropFactory } from './requirePropFactory';\nexport { default as setRef } from './setRef';\nexport { default as unstable_useEnhancedEffect } from './useEnhancedEffect';\nexport { default as unstable_useId } from './useId';\nexport { default as unsupportedProp } from './unsupportedProp';\nexport { default as useControlled } from './useControlled';\nexport { default as useEventCallback } from './useEventCallback';\nexport { default as useForkRef } from './useForkRef';\nexport { default as useIsFocusVisible } from './useIsFocusVisible';\n// TODO: remove this export once ClassNameGenerator is stable\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const unstable_ClassNameGenerator = {\n configure: generator => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(['MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.', '', \"You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead\", '', 'The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401', '', 'The updated documentation: https://mui.com/guides/classname-generator/'].join('\\n'));\n }\n ClassNameGenerator.configure(generator);\n }\n};","import { unstable_isMuiElement as isMuiElement } from '@mui/utils';\nexport default isMuiElement;","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf(element.type.muiName) !== -1;\n}","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"names":["withStyles","theme","createStyles","_objectSpread","formFieldStyles","modalStyleUtils","spacingUtils","_ref","modalOpen","currentTags","onCloseAndUpdate","bucketName","classes","dispatch","useAppDispatch","_useState","useState","_useState2","_slicedToArray","newKey","setNewKey","_useState3","_useState4","newLabel","setNewLabel","_useState5","_useState6","isSending","setIsSending","_jsx","ModalWrapper","title","onClose","titleIcon","AddNewTagIcon","children","_jsxs","Grid","container","className","spacerBottom","item","xs","formFieldRow","InputBoxWrapper","value","label","id","name","placeholder","onChange","e","target","modalButtonBar","Button","type","variant","onClick","color","disabled","trim","newTag","newTagList","api","buckets","putBucketTags","tags","then","catch","error","setModalErrorSnackMessage","errorToHandler","inputStyles","makeStyles","inputFieldStyles","InputField","props","TextField","InputProps","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","_ref$type","_ref$autoComplete","autoComplete","_ref$disabled","_ref$multiline","multiline","_ref$tooltip","tooltip","_ref$index","index","_ref$error","_ref$required","required","_ref$placeholder","min","max","overlayId","_ref$overlayIcon","overlayIcon","_ref$overlayObject","overlayObject","_ref$extraInputProps","extraInputProps","_ref$noLabelMinWidth","noLabelMinWidth","_ref$pattern","pattern","_ref$autoFocus","autoFocus","_ref$className","onKeyPress","onFocus","onPaste","inputProps","toggleTextInput","setToggleTextInput","inputBoxWrapperIcon","inputBoxWrapperType","VisibilityOffIcon","RemoveRedEyeIcon","React","clsx","errorInField","inputBoxContainer","InputLabel","htmlFor","noMinWidthLabel","inputLabel","tooltipContainer","Tooltip","placement","HelpIcon","fullWidth","helperText","inputRebase","concat","IconButton","size","disableFocusRipple","disableRipple","disableTouchRipple","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","Object","defineProperty","enumerable","get","_utils","createSvgIcon","FormControlContext","undefined","formControlState","states","muiFormControl","reduce","acc","state","useFormControl","_excluded","FormLabelRoot","styled","slot","overridesResolver","styles","ownerState","_extends","root","colorSecondary","filled","_ref2","_extends2","vars","palette","text","secondary","typography","body1","lineHeight","padding","_defineProperty","formLabelClasses","focused","main","AsteriskComponent","asterisk","_ref3","FormLabel","inProps","ref","useThemeProps","_props$component","component","other","_objectWithoutPropertiesLoose","fcs","slots","capitalize","composeClasses","getFormLabelUtilityClasses","useUtilityClasses","as","generateUtilityClass","generateUtilityClasses","getInputLabelUtilityClasses","InputLabelRoot","shouldForwardProp","prop","rootShouldForwardProp","formControl","sizeSmall","shrink","disableAnimation","animated","display","transformOrigin","whiteSpace","overflow","textOverflow","left","transform","transition","transitions","create","duration","shorter","easing","easeOut","zIndex","pointerEvents","userSelect","_props$disableAnimati","shrinkProp","adornedStart","composedClasses","createChainedFunction","validator","reason","componentNameInError","Component","propName","componentName","location","propFullName","unstable_ClassNameGenerator","configure","generator","ClassNameGenerator","element","muiNames","indexOf","muiName","module","obj","__esModule"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/247.2a7f8e21.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/AddBucketTagModal.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","../node_modules/@mui/icons-material/RemoveRedEye.js","../node_modules/@mui/icons-material/VisibilityOff.js","../node_modules/@mui/icons-material/utils/createSvgIcon.js","../node_modules/@mui/material/FormControl/FormControlContext.js","../node_modules/@mui/material/FormControl/formControlState.js","../node_modules/@mui/material/FormControl/useFormControl.js","../node_modules/@mui/material/FormLabel/FormLabel.js","../node_modules/@mui/material/FormLabel/formLabelClasses.js","../node_modules/@mui/material/InputLabel/inputLabelClasses.js","../node_modules/@mui/material/InputLabel/InputLabel.js","../node_modules/@mui/material/utils/createChainedFunction.js","../node_modules/@mui/material/utils/deprecatedPropType.js","../node_modules/@mui/utils/esm/deprecatedPropType.js","../node_modules/@mui/material/utils/requirePropFactory.js","../node_modules/@mui/utils/esm/requirePropFactory.js","../node_modules/@mui/material/utils/setRef.js","../node_modules/@mui/material/utils/unsupportedProp.js","../node_modules/@mui/utils/esm/unsupportedProp.js","../node_modules/@mui/material/utils/index.js","../node_modules/@mui/material/utils/isMuiElement.js","../node_modules/@mui/utils/esm/isMuiElement.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.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 { AddNewTagIcon, Button } from \"mds\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport { setModalErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\n\ninterface IBucketTagModal {\n modalOpen: boolean;\n currentTags: any;\n bucketName: string;\n onCloseAndUpdate: (refresh: boolean) => void;\n\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n });\n\nconst AddBucketTagModal = ({\n modalOpen,\n currentTags,\n onCloseAndUpdate,\n bucketName,\n\n classes,\n}: IBucketTagModal) => {\n const dispatch = useAppDispatch();\n const [newKey, setNewKey] = useState(\"\");\n const [newLabel, setNewLabel] = useState(\"\");\n const [isSending, setIsSending] = useState(false);\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 api.buckets\n .putBucketTags(bucketName, {\n tags: newTagList,\n })\n .then(() => {\n setIsSending(false);\n onCloseAndUpdate(true);\n })\n .catch((error) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(error.error)));\n setIsSending(false);\n });\n };\n\n return (\n {\n onCloseAndUpdate(false);\n }}\n titleIcon={}\n >\n \n
\n Bucket: {bucketName}\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\nexport default withStyles(styles)(AddBucketTagModal);\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, { ClipboardEvent, useState } from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { HelpIcon } from \"mds\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n onFocus?: () => void;\n onPaste?: (e: ClipboardEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n }),\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n onFocus,\n onPaste,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n const [toggleTextInput, setToggleTextInput] = useState(false);\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n let inputBoxWrapperIcon = overlayIcon;\n let inputBoxWrapperType = type;\n\n if (type === \"password\" && overlayIcon === null) {\n inputBoxWrapperIcon = toggleTextInput ? (\n \n ) : (\n \n );\n inputBoxWrapperType = toggleTextInput ? \"text\" : \"password\";\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {inputBoxWrapperIcon && (\n \n {\n overlayAction();\n }\n : () => setToggleTextInput(!toggleTextInput)\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {inputBoxWrapperIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n}), 'RemoveRedEye');\nexports.default = _default;","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"\n}), 'VisibilityOff');\nexports.default = _default;","\"use strict\";\n'use client';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst FormControlContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== 'production') {\n FormControlContext.displayName = 'FormControlContext';\n}\nexport default FormControlContext;","export default function formControlState({\n props,\n states,\n muiFormControl\n}) {\n return states.reduce((acc, state) => {\n acc[state] = props[state];\n if (muiFormControl) {\n if (typeof props[state] === 'undefined') {\n acc[state] = muiFormControl[state];\n }\n }\n return acc;\n }, {});\n}","'use client';\n\nimport * as React from 'react';\nimport FormControlContext from './FormControlContext';\nexport default function useFormControl() {\n return React.useContext(FormControlContext);\n}","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"disabled\", \"error\", \"filled\", \"focused\", \"required\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport formLabelClasses, { getFormLabelUtilityClasses } from './formLabelClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n focused,\n disabled,\n error,\n filled,\n required\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, disabled && 'disabled', error && 'error', filled && 'filled', focused && 'focused', required && 'required'],\n asterisk: ['asterisk', error && 'error']\n };\n return composeClasses(slots, getFormLabelUtilityClasses, classes);\n};\nexport const FormLabelRoot = styled('label', {\n name: 'MuiFormLabel',\n slot: 'Root',\n overridesResolver: ({\n ownerState\n }, styles) => {\n return _extends({}, styles.root, ownerState.color === 'secondary' && styles.colorSecondary, ownerState.filled && styles.filled);\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, theme.typography.body1, {\n lineHeight: '1.4375em',\n padding: 0,\n position: 'relative',\n [`&.${formLabelClasses.focused}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${formLabelClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n },\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst AsteriskComponent = styled('span', {\n name: 'MuiFormLabel',\n slot: 'Asterisk',\n overridesResolver: (props, styles) => styles.asterisk\n})(({\n theme\n}) => ({\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst FormLabel = /*#__PURE__*/React.forwardRef(function FormLabel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormLabel'\n });\n const {\n children,\n className,\n component = 'label'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['color', 'required', 'focused', 'disabled', 'error', 'filled']\n });\n const ownerState = _extends({}, props, {\n color: fcs.color || 'primary',\n component,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(FormLabelRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: [children, fcs.required && /*#__PURE__*/_jsxs(AsteriskComponent, {\n ownerState: ownerState,\n \"aria-hidden\": true,\n className: classes.asterisk,\n children: [\"\\u2009\", '*']\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormLabel.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\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 * If `true`, the label should be displayed in a disabled state.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the label should use filled classes key.\n */\n filled: PropTypes.bool,\n /**\n * If `true`, the input of this label is focused (used by `FormGroup` components).\n */\n focused: PropTypes.bool,\n /**\n * If `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\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} : void 0;\nexport default FormLabel;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getFormLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiFormLabel', slot);\n}\nconst formLabelClasses = generateUtilityClasses('MuiFormLabel', ['root', 'colorSecondary', 'focused', 'disabled', 'error', 'filled', 'required', 'asterisk']);\nexport default formLabelClasses;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getInputLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiInputLabel', slot);\n}\nconst inputLabelClasses = generateUtilityClasses('MuiInputLabel', ['root', 'focused', 'disabled', 'error', 'required', 'asterisk', 'formControl', 'sizeSmall', 'shrink', 'animated', 'standard', 'filled', 'outlined']);\nexport default inputLabelClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"disableAnimation\", \"margin\", \"shrink\", \"variant\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport clsx from 'clsx';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport FormLabel, { formLabelClasses } from '../FormLabel';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { getInputLabelUtilityClasses } from './inputLabelClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n formControl,\n size,\n shrink,\n disableAnimation,\n variant,\n required\n } = ownerState;\n const slots = {\n root: ['root', formControl && 'formControl', !disableAnimation && 'animated', shrink && 'shrink', size === 'small' && 'sizeSmall', variant],\n asterisk: [required && 'asterisk']\n };\n const composedClasses = composeClasses(slots, getInputLabelUtilityClasses, classes);\n return _extends({}, classes, composedClasses);\n};\nconst InputLabelRoot = styled(FormLabel, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiInputLabel',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${formLabelClasses.asterisk}`]: styles.asterisk\n }, styles.root, ownerState.formControl && styles.formControl, ownerState.size === 'small' && styles.sizeSmall, ownerState.shrink && styles.shrink, !ownerState.disableAnimation && styles.animated, styles[ownerState.variant]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'block',\n transformOrigin: 'top left',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: '100%'\n}, ownerState.formControl && {\n position: 'absolute',\n left: 0,\n top: 0,\n // slight alteration to spec spacing to match visual spec result\n transform: 'translate(0, 20px) scale(1)'\n}, ownerState.size === 'small' && {\n // Compensation for the `Input.inputSizeSmall` style.\n transform: 'translate(0, 17px) scale(1)'\n}, ownerState.shrink && {\n transform: 'translate(0, -1.5px) scale(0.75)',\n transformOrigin: 'top left',\n maxWidth: '133%'\n}, !ownerState.disableAnimation && {\n transition: theme.transitions.create(['color', 'transform', 'max-width'], {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n })\n}, ownerState.variant === 'filled' && _extends({\n // Chrome's autofill feature gives the input field a yellow background.\n // Since the input field is behind the label in the HTML tree,\n // the input field is drawn last and hides the label with an opaque background color.\n // zIndex: 1 will raise the label above opaque background-colors of input.\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(12px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 13px) scale(1)'\n}, ownerState.shrink && _extends({\n userSelect: 'none',\n pointerEvents: 'auto',\n transform: 'translate(12px, 7px) scale(0.75)',\n maxWidth: 'calc(133% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 4px) scale(0.75)'\n})), ownerState.variant === 'outlined' && _extends({\n // see comment above on filled.zIndex\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(14px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(14px, 9px) scale(1)'\n}, ownerState.shrink && {\n userSelect: 'none',\n pointerEvents: 'auto',\n // Theoretically, we should have (8+5)*2/0.75 = 34px\n // but it feels a better when it bleeds a bit on the left, so 32px.\n maxWidth: 'calc(133% - 32px)',\n transform: 'translate(14px, -9px) scale(0.75)'\n})));\nconst InputLabel = /*#__PURE__*/React.forwardRef(function InputLabel(inProps, ref) {\n const props = useThemeProps({\n name: 'MuiInputLabel',\n props: inProps\n });\n const {\n disableAnimation = false,\n shrink: shrinkProp,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n let shrink = shrinkProp;\n if (typeof shrink === 'undefined' && muiFormControl) {\n shrink = muiFormControl.filled || muiFormControl.focused || muiFormControl.adornedStart;\n }\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['size', 'variant', 'required']\n });\n const ownerState = _extends({}, props, {\n disableAnimation,\n formControl: muiFormControl,\n shrink,\n size: fcs.size,\n variant: fcs.variant,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(InputLabelRoot, _extends({\n \"data-shrink\": shrink,\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? InputLabel.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the transition animation is disabled.\n * @default false\n */\n disableAnimation: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` of this label is focused.\n */\n focused: PropTypes.bool,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: PropTypes.oneOf(['dense']),\n /**\n * if `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n /**\n * If `true`, the label is shrunk.\n */\n shrink: PropTypes.bool,\n /**\n * The size of the component.\n * @default 'normal'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['normal', 'small']), PropTypes.string]),\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 * The variant to use.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputLabel;","import { unstable_createChainedFunction as createChainedFunction } from '@mui/utils';\nexport default createChainedFunction;","import { unstable_deprecatedPropType as deprecatedPropType } from '@mui/utils';\nexport default deprecatedPropType;","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return (props, propName, componentName, location, propFullName) => {\n const componentNameSafe = componentName || '<>';\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The ${location} \\`${propFullNameSafe}\\` of ` + `\\`${componentNameSafe}\\` is deprecated. ${reason}`);\n }\n return null;\n };\n}","import { unstable_requirePropFactory as requirePropFactory } from '@mui/utils';\nexport default requirePropFactory;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function requirePropFactory(componentNameInError, Component) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n\n // eslint-disable-next-line react/forbid-foreign-prop-types\n const prevPropTypes = Component ? _extends({}, Component.propTypes) : null;\n const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {\n const propFullNameSafe = propFullName || propName;\n const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];\n if (defaultTypeChecker) {\n const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);\n if (typeCheckerResult) {\n return typeCheckerResult;\n }\n }\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(`The prop \\`${propFullNameSafe}\\` of ` + `\\`${componentNameInError}\\` can only be used together with the \\`${requiredProp}\\` prop.`);\n }\n return null;\n };\n return requireProp;\n}","import { unstable_setRef as setRef } from '@mui/utils';\nexport default setRef;","import { unstable_unsupportedProp as unsupportedProp } from '@mui/utils';\nexport default unsupportedProp;","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","'use client';\n\nimport { unstable_ClassNameGenerator as ClassNameGenerator } from '@mui/base/className';\nexport { default as capitalize } from './capitalize';\nexport { default as createChainedFunction } from './createChainedFunction';\nexport { default as createSvgIcon } from './createSvgIcon';\nexport { default as debounce } from './debounce';\nexport { default as deprecatedPropType } from './deprecatedPropType';\nexport { default as isMuiElement } from './isMuiElement';\nexport { default as ownerDocument } from './ownerDocument';\nexport { default as ownerWindow } from './ownerWindow';\nexport { default as requirePropFactory } from './requirePropFactory';\nexport { default as setRef } from './setRef';\nexport { default as unstable_useEnhancedEffect } from './useEnhancedEffect';\nexport { default as unstable_useId } from './useId';\nexport { default as unsupportedProp } from './unsupportedProp';\nexport { default as useControlled } from './useControlled';\nexport { default as useEventCallback } from './useEventCallback';\nexport { default as useForkRef } from './useForkRef';\nexport { default as useIsFocusVisible } from './useIsFocusVisible';\n// TODO: remove this export once ClassNameGenerator is stable\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const unstable_ClassNameGenerator = {\n configure: generator => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(['MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.', '', \"You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead\", '', 'The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401', '', 'The updated documentation: https://mui.com/guides/classname-generator/'].join('\\n'));\n }\n ClassNameGenerator.configure(generator);\n }\n};","import { unstable_isMuiElement as isMuiElement } from '@mui/utils';\nexport default isMuiElement;","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf(element.type.muiName) !== -1;\n}","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"names":["withStyles","theme","createStyles","_objectSpread","formFieldStyles","modalStyleUtils","spacingUtils","_ref","modalOpen","currentTags","onCloseAndUpdate","bucketName","classes","dispatch","useAppDispatch","_useState","useState","_useState2","_slicedToArray","newKey","setNewKey","_useState3","_useState4","newLabel","setNewLabel","_useState5","_useState6","isSending","setIsSending","_jsx","ModalWrapper","title","onClose","titleIcon","AddNewTagIcon","children","_jsxs","Grid","container","className","spacerBottom","item","xs","formFieldRow","InputBoxWrapper","value","label","id","name","placeholder","onChange","e","target","modalButtonBar","Button","type","variant","onClick","color","disabled","trim","newTag","newTagList","api","buckets","putBucketTags","tags","then","catch","error","setModalErrorSnackMessage","errorToHandler","inputStyles","makeStyles","inputFieldStyles","InputField","props","TextField","InputProps","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","_ref$type","_ref$autoComplete","autoComplete","_ref$disabled","_ref$multiline","multiline","_ref$tooltip","tooltip","_ref$index","index","_ref$error","_ref$required","required","_ref$placeholder","min","max","overlayId","_ref$overlayIcon","overlayIcon","_ref$overlayObject","overlayObject","_ref$extraInputProps","extraInputProps","_ref$noLabelMinWidth","noLabelMinWidth","_ref$pattern","pattern","_ref$autoFocus","autoFocus","_ref$className","onKeyPress","onFocus","onPaste","inputProps","toggleTextInput","setToggleTextInput","inputBoxWrapperIcon","inputBoxWrapperType","VisibilityOffIcon","RemoveRedEyeIcon","React","clsx","errorInField","inputBoxContainer","InputLabel","htmlFor","noMinWidthLabel","inputLabel","tooltipContainer","Tooltip","placement","HelpIcon","fullWidth","helperText","inputRebase","concat","IconButton","size","disableFocusRipple","disableRipple","disableTouchRipple","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","Object","defineProperty","enumerable","get","_utils","createSvgIcon","FormControlContext","undefined","formControlState","states","muiFormControl","reduce","acc","state","useFormControl","_excluded","FormLabelRoot","styled","slot","overridesResolver","styles","ownerState","_extends","root","colorSecondary","filled","_ref2","_extends2","vars","palette","text","secondary","typography","body1","lineHeight","padding","_defineProperty","formLabelClasses","focused","main","AsteriskComponent","asterisk","_ref3","FormLabel","inProps","ref","useThemeProps","_props$component","component","other","_objectWithoutPropertiesLoose","fcs","slots","capitalize","composeClasses","getFormLabelUtilityClasses","useUtilityClasses","as","generateUtilityClass","generateUtilityClasses","getInputLabelUtilityClasses","InputLabelRoot","shouldForwardProp","prop","rootShouldForwardProp","formControl","sizeSmall","shrink","disableAnimation","animated","display","transformOrigin","whiteSpace","overflow","textOverflow","left","transform","transition","transitions","create","duration","shorter","easing","easeOut","zIndex","pointerEvents","userSelect","_props$disableAnimati","shrinkProp","adornedStart","composedClasses","createChainedFunction","validator","reason","componentNameInError","Component","propName","componentName","location","propFullName","unstable_ClassNameGenerator","configure","generator","ClassNameGenerator","element","muiNames","indexOf","muiName","module","obj","__esModule"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2603.19110315.chunk.js b/portal-ui/build/static/js/2603.19110315.chunk.js new file mode 100644 index 000000000..9d3c82da9 --- /dev/null +++ b/portal-ui/build/static/js/2603.19110315.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2603,4619],{94619:function(e,n,t){t.r(n);var i=t(29439),o=t(72791),r=t(56028),a=t(29945),s=t(31776),c=t(82342),l=t(23814),d=t(87995),u=t(81551),f=t(80184);n.default=function(e){var n=e.modalOpen,t=e.onClose,h=e.bucket,m=e.prefilledRoute,p=(0,u.TL)(),x=(0,o.useState)(""),b=(0,i.Z)(x,2),v=b[0],j=b[1],g=(0,o.useState)("readonly"),_=(0,i.Z)(g,2),S=_[0],w=_[1];(0,o.useEffect)((function(){m&&j(m)}),[m]);return(0,f.jsx)(r.Z,{modalOpen:n,title:"Add Anonymous Access Rule",onClose:t,titleIcon:(0,f.jsx)(a.sR0,{}),children:(0,f.jsxs)(a.ltY,{withBorders:!1,containerPadding:!1,children:[(0,f.jsx)(a.Wzg,{value:v,label:"Prefix",id:"prefix",name:"prefix",placeholder:"Enter Prefix",onChange:function(e){j(e.target.value)},tooltip:"Enter '/' to apply the rule to all prefixes and objects at the bucket root. Do not include the wildcard asterisk '*' as part of the prefix *unless* it is an explicit part of the prefix name. The Console automatically appends an asterisk to the appropriate sections of the resulting IAM policy."}),(0,f.jsx)(a.PhF,{id:"access",name:"Access",onChange:function(e){w(e)},label:"Access",value:S,options:[{label:"readonly",value:"readonly"},{label:"writeonly",value:"writeonly"},{label:"readwrite",value:"readwrite"}],disabled:!1}),(0,f.jsxs)(a.rjZ,{item:!0,xs:12,sx:l.ID.modalButtonBar,children:[(0,f.jsx)(a.zxk,{id:"clear",type:"button",variant:"regular",onClick:function(){j(""),w("readonly")},label:"Clear"}),(0,f.jsx)(a.zxk,{id:"add-access-save",type:"submit",variant:"callAction",disabled:""===v.trim(),onClick:function(){s.h.bucket.setAccessRuleWithBucket(h,{prefix:v,access:S}).then((function(e){p((0,d.y1)("Access Rule added successfully")),t()})).catch((function(e){p((0,d.Ih)((0,c.g)(e))),t()}))},label:"Save"})]})]})})}},32603:function(e,n,t){t.r(n),t.d(n,{default:function(){return Ln}});var i,o=t(1413),r=t(72791),a=t(78687),s=t(57689),c=t(11135),l=t(25787),d=t(81551),u=t(23814),f=t(93433),h=t(29439),m=t(43954),p=t(29945),x=t(99779),b=t(61889),v=t(26181),j=t.n(v),g=t(45248),_=t(29472),S=t(78029),w=t.n(S),Z=t(72455),C=t(11087),T=t(38442),y=t(56087),N=t(75578),F=t(87995),E=t(54756),O=function(e){return(e.match(/\.([^.]*?)(?=\?|#|$)/)||[])[1]},I=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],i=Object.keys(e).reduce((function(t,i){return O(i)&&i.includes(n)&&(t[i]=e[i]),t}),{});return Object.keys(i).filter((function(e){var o=i[e].some((function(e){return t.find((function(n){var t=!1;if(-1!==n.indexOf("*")){var i=n.substring(0,n.length-1);t=e.includes(i)}return t||e===n}))})),r=e.substring(0,e.indexOf("/*."))==="arn:aws:s3:::".concat(n);return o&&(r&&"arn:aws:s3:::*"!==e)}))},k=t(80184),L=(0,N.Z)(r.lazy((function(){return t.e(2185).then(t.bind(t,62185))}))),B=(0,Z.Z)((function(e){return(0,c.Z)((0,o.Z)((0,o.Z)({},u.cx),{},{slashSpacingStyle:{margin:"0 5px"}}))})),P=function(e){var n=e.bucketName,t=e.internalPaths,i=e.hidePathButton,o=e.additionalOptions,c=(0,d.TL)(),l=(0,s.s0)(),u=B(),m=(0,a.v9)((function(e){return e.objectBrowser.rewind.rewindEnabled})),x=(0,a.v9)((function(e){return e.objectBrowser.versionsMode})),b=(0,a.v9)((function(e){return e.objectBrowser.versionedFile})),v=(0,a.v9)((function(e){return e.system.anonymousMode})),j=(0,r.useState)(!1),_=(0,h.Z)(j,2),S=_[0],Z=_[1],N=[y.Ft.S3_PUT_OBJECT,y.Ft.S3_PUT_ACTIONS],O=(0,a.v9)((function(e){return e.console.session&&e.console.session.permissions||{}})),P=t;""!==t&&(P="/".concat(t));var A=P.split("/").filter((function(e){return""!==e})),D=A.length-1,R=n+P||n,M=I(O,R,N),U=(0,T.F)([R].concat((0,f.Z)(M)),N)||v,z=A.map((function(e,t){var i="".concat(A.slice(0,t+1).join("/"),"/"),o="/browser/".concat(n,"/").concat(i?"".concat((0,g.LL)(i)):"");return t===D&&e===b?null:(0,k.jsxs)(r.Fragment,{children:[(0,k.jsx)("span",{className:u.slashSpacingStyle,children:"/"}),t===D?(0,k.jsx)("span",{style:{cursor:"default",whiteSpace:"pre"},children:(0,g.eC)(e)}):(0,k.jsx)(C.rU,{style:{whiteSpace:"pre"},to:o,onClick:function(){c((0,E.db)({status:!1,objectName:""}))},children:(0,g.eC)(e)})]},"breadcrumbs-".concat(t.toString()))})),G=[];x&&(G=[(0,k.jsx)(r.Fragment,{children:(0,k.jsxs)("span",{children:[(0,k.jsx)("span",{className:u.slashSpacingStyle,children:"/"}),b," - Versions"]})},"breadcrumbs-versionedItem")]);var W=[(0,k.jsx)(r.Fragment,{children:(0,k.jsx)(C.rU,{to:"/browser/".concat(n),onClick:function(){c((0,E.db)({status:!1,objectName:""}))},children:n})},"breadcrumbs-root-path")].concat((0,f.Z)(z),(0,f.Z)(G));return(0,k.jsxs)(r.Fragment,{children:[(0,k.jsxs)("div",{className:u.breadcrumbsMain,children:[S&&(0,k.jsx)(L,{modalOpen:S,bucketName:n,folderName:t,onClose:function(){Z(!1)}}),(0,k.jsx)(p.OoM,{sx:{whiteSpace:"pre"},goBackFunction:function(){if(x)c((0,E.db)({status:!1,objectName:""}));else{if(0===A.length)return void l("/browser");var e=A.slice(0,-1);l("/browser/".concat(n).concat(e.length>0?"/".concat((0,g.LL)("".concat(e.join("/"),"/"))):""))}},additionalOptions:(0,k.jsxs)(r.Fragment,{children:[(0,k.jsx)(w(),{text:"".concat(n,"/").concat(A.join("/")),children:(0,k.jsx)(p.zxk,{id:"copy-path",icon:(0,k.jsx)(p.TIy,{style:{width:"12px",height:"12px",fill:"#969FA8",marginTop:-1}}),variant:"regular",onClick:function(){c((0,F.y1)("Path copied to clipboard"))},style:{width:"28px",height:"28px",color:"#969FA8",border:"#969FA8 1px solid",marginRight:5}})}),(0,k.jsx)("div",{className:u.additionalOptions,children:o})]}),children:W}),!i&&(0,k.jsx)(p.ua7,{tooltip:U?"Choose or create a new path":(0,y.MK)([y.Ft.S3_PUT_OBJECT,y.Ft.S3_PUT_ACTIONS],"create a new path"),children:(0,k.jsx)(p.zxk,{id:"new-path",onClick:function(){Z(!0)},disabled:!v&&(m||!U),icon:(0,k.jsx)(p.N$q,{style:{fill:"#969FA8"}}),style:{whiteSpace:"nowrap"},variant:"regular",label:"Create new path"})})]}),(0,k.jsx)("div",{className:u.breadcrumbsSecond,children:o})]})},A=t(47922),D=t(71715),R=t(77865),M=t(49900),U=t(57064),z=t(27454),G=(0,l.Z)((function(e){return(0,c.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,o=void 0!==i&&i,s=e.uploadFileFunction,c=e.uploadFolderFunction,l=e.classes,d=e.overrideStyles,u=void 0===d?{}:d,m=(0,a.v9)((function(e){return e.system.anonymousMode})),x=(0,a.v9)((function(e){return e.console.session&&e.console.session.permissions||{}})),b=[y.Ft.S3_PUT_OBJECT,y.Ft.S3_PUT_ACTIONS],v=I(x,n,b),j=(0,r.useState)(null),g=(0,h.Z)(j,2),_=g[0],S=g[1],w=Boolean(_),Z=function(){S(null)},C=(0,T.F)([n].concat((0,f.Z)(v)),b)||m,N=(0,T.F)([t].concat((0,f.Z)(v)),b,!1,!0),F=C||N;return(0,k.jsxs)(r.Fragment,{children:[(0,k.jsx)(z.Z,{tooltip:F?"Upload Files":(0,y.MK)([y.Ft.S3_PUT_OBJECT,y.Ft.S3_PUT_ACTIONS],"upload files to this bucket"),children:(0,k.jsx)(p.zxk,{id:"upload-main","aria-controls":"upload-main-menu","aria-haspopup":"true","aria-expanded":w?"true":void 0,onClick:function(e){S(e.currentTarget)},label:"Upload",icon:(0,k.jsx)(p.rG2,{}),variant:"callAction",disabled:o||!F,sx:u})}),(0,k.jsxs)(D.Z,{id:"upload-main-menu","aria-labelledby":"upload-main",anchorEl:_,open:w,onClose:function(){Z()},anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:[(0,k.jsxs)(R.Z,{onClick:function(){s(Z)},disabled:!C||o,children:[(0,k.jsx)(U.Z,{className:l.listUploadIcons,children:(0,k.jsx)(p.rG2,{})}),(0,k.jsx)(M.Z,{children:"Upload File"})]}),(0,k.jsxs)(R.Z,{onClick:function(){c(Z)},disabled:!N||o,children:[(0,k.jsx)(U.Z,{className:l.listUploadIcons,children:(0,k.jsx)(p.oXh,{})}),(0,k.jsx)(M.Z,{children:"Upload Folder"})]})]})]})})),W=(0,Z.Z)((function(e){return(0,c.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}}}})})),K=function(e){var n=e.open,t=e.closePanel,i=e.className,o=void 0===i?"":i,r=e.children,a=W();return(0,k.jsxs)(p.rjZ,{item:!0,className:"".concat(a.detailsList," ").concat(n?"open":""," ").concat(o),children:[(0,k.jsx)(p.zxk,{variant:"text",id:"close-details-list",onClick:t,icon:(0,k.jsx)(p.oto,{}),sx:{position:"absolute",right:5,top:18,padding:0,height:14,"&:hover:not(:disabled)":{backgroundColor:"transparent"}}}),r]})},H=t(64554),V=t(34433),J=[{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"}],Y=Array.from(Array(31),(function(e,n){return{value:(n+1).toString(),label:(n+1).toString()}})),q=(new Date).getFullYear(),$=Array.from(Array(50),(function(e,n){return{value:(n+q).toString(),label:(n+q).toString()}})),X=t(56028),Q=t(4942),ee=t(28182),ne=(0,r.forwardRef)((function(e,n){var t=e.classes,i=e.id,o=e.label,a=e.disableOptions,s=void 0!==a&&a,c=e.addSwitch,l=void 0!==c&&c,d=e.tooltip,u=void 0===d?"":d,m=e.borderBottom,x=void 0!==m&&m,b=e.onDateChange,v=e.value,j=void 0===v?"":v;(0,r.useImperativeHandle)(n,(function(){return{resetDate:A}}));var g=(0,r.useState)(!1),_=(0,h.Z)(g,2),S=_[0],w=_[1],Z=(0,r.useState)(""),C=(0,h.Z)(Z,2),T=C[0],y=C[1],N=(0,r.useState)(""),F=(0,h.Z)(N,2),E=F[0],O=F[1],I=(0,r.useState)(""),L=(0,h.Z)(I,2),B=L[0],P=L[1];(0,r.useEffect)((function(){if(""!==j){var e=j.split("-");P(e[0]),y(e[1]),O("".concat(parseInt(e[2])))}}),[j]),(0,r.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),r=parseInt(t),a=o<10?"0".concat(o):o,s=r<10?"0".concat(r):r,c=new Date(i).toISOString().split("T")[0],l="".concat(e,"-").concat(a,"-").concat(s);return[c===l,l]}(B,T,E),n=(0,h.Z)(e,2),t=n[0],i=n[1];b(i,t)}),[T,E,B,b]);var A=function(){y(""),O(""),P("")},D=function(){return s||!!l&&!S},R=[{value:"",label:""}].concat((0,f.Z)(J)),M=[{value:"",label:""}].concat((0,f.Z)(Y)),U=[{value:"",label:""}].concat((0,f.Z)($));return(0,k.jsxs)(p.rjZ,{item:!0,xs:12,className:(0,ee.Z)(t.fieldContainer,(0,Q.Z)({},t.fieldContainerBorder,x)),children:[(0,k.jsx)("div",{className:t.labelContainer,children:(0,k.jsxs)(p.rjZ,{container:!0,children:[(0,k.jsxs)(p.AZs,{htmlFor:i,children:[(0,k.jsx)("span",{children:o}),""!==u&&(0,k.jsx)("div",{className:t.tooltipContainer,children:(0,k.jsx)(p.ua7,{tooltip:u,placement:"top",children:(0,k.jsx)("div",{className:t.tooltip,children:(0,k.jsx)(p.byK,{})})})})]}),l&&(0,k.jsx)(p.rsf,{indicatorLabels:["Specific Date","Default (7 Days)"],checked:S,value:"date_enabled",id:"date-status",name:"date-status",onChange:function(e){w(e.target.checked),e.target.checked||b("",!0)},switchOnly:!0})]})}),(0,k.jsxs)(p.xuv,{sx:{display:"flex",gap:12},children:[(0,k.jsx)(p.PhF,{id:"".concat(i,"-month"),name:"".concat(i,"-month"),value:T,onChange:function(e){y(e)},options:R,label:"",disabled:D()}),(0,k.jsx)(p.PhF,{id:"".concat(i,"-day"),name:"".concat(i,"-day"),value:E,onChange:function(e){O(e)},options:M,label:"",disabled:D()}),(0,k.jsx)(p.PhF,{id:"".concat(i,"-year"),name:"".concat(i,"-year"),value:B,onChange:function(e){P(e)},options:U,label:"",disabled:D()})]})]})})),te=(0,l.Z)((function(e){return(0,c.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},u.YI),u.Hr),{},{fieldContainer:(0,o.Z)((0,o.Z)({},u.YI.fieldContainer),{},{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:10,marginTop:11,marginBottom:6})}))}))(ne),ie=t(66315),oe=t(31776),re=t(82342),ae=(0,l.Z)((function(e){return(0,c.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},u.DF),u.ID),u.bK))}))((function(e){var n=e.classes,t=e.open,i=e.closeModalAndRefresh,o=e.objectName,s=e.objectInfo,c=e.bucketName,l=(0,d.TL)(),u=(0,a.v9)((function(e){return e.objectBrowser.retentionConfig})),f=(0,r.useState)(!0),m=(0,h.Z)(f,2),x=m[0],b=m[1],v=(0,r.useState)(""),j=(0,h.Z)(v,2),_=j[0],S=j[1],w=(0,r.useState)(""),Z=(0,h.Z)(w,2),C=Z[0],T=Z[1],y=(0,r.useState)(!1),N=(0,h.Z)(y,2),E=N[0],O=N[1],I=(0,r.useState)(!1),L=(0,h.Z)(I,2),B=L[0],P=L[1],A=(0,r.useState)(!1),D=(0,h.Z)(A,2),R=D[0],M=D[1];(0,r.useEffect)((function(){if(s.retention_mode&&(S((null===u||void 0===u?void 0:u.mode)||ie.oO.Governance),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)||T("".concat(n,"-").concat(t,"-").concat(i))}M(!0)}var o}),[s,null===u||void 0===u?void 0:u.mode]);var U=(0,r.useRef)(null),z=function(){b(!1),S(ie.oO.Governance),U.current&&U.current.resetDate()},G=R&&("governance"===_||""===_);return(0,k.jsxs)(X.Z,{title:"Set Retention Policy",modalOpen:t,onClose:function(){z(),i(!1)},children:[(0,k.jsxs)("div",{className:n.spacerBottom,children:[(0,k.jsx)("strong",{children:"Selected Object"}),": ",o]}),(0,k.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault()}(e)},children:[G&&(0,k.jsx)(p.rjZ,{item:!0,xs:12,className:n.formFieldRow,children:(0,k.jsx)(p.rsf,{value:"status",id:"status",name:"status",checked:x,onChange:function(e){b(!x)},label:"Status",indicatorLabels:["Enabled","Disabled"]})}),(0,k.jsx)(p.rjZ,{item:!0,xs:12,className:n.formFieldRow,children:(0,k.jsx)(p.Eep,{currentValue:_,id:"type",name:"type",label:"Type",disableOptions:!x||R&&""!==_,onChange:function(e){S(e.target.value)},selectorOptions:[{label:"Governance",value:ie.oO.Governance},{label:"Compliance",value:ie.oO.Compliance}]})}),(0,k.jsx)(p.rjZ,{item:!0,xs:12,className:"".concat(n.dateSelector," "),children:(0,k.jsx)(te,{id:"date",label:"Date",disableOptions:!(x&&("governance"===_||"compliance"===_)),ref:U,value:C,borderBottom:!0,onDateChange:function(e,n){O(n),n&&T(e)}})}),(0,k.jsxs)(p.rjZ,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,k.jsx)(p.zxk,{id:"reset",type:"button",variant:"regular",onClick:z,label:"Reset"}),(0,k.jsx)(p.zxk,{id:"save",type:"submit",variant:"callAction",disabled:x&&""===_||x&&!E||B,onClick:function(){P(!0);var e=s.name||"",n=s.version_id||null,t=x||"governance"!==_?"".concat(C,"T23:59:59Z"):"";x||"governance"!==_?function(e,n,t){oe.h.buckets.putObjectRetention(c,{prefix:(0,g.LL)(e),version_id:n||""},{expires:t,mode:_}).then((function(){P(!1),i(!0)})).catch((function(e){l((0,F.zb)((0,re.g)(e.error))),P(!1)}))}(e,n,t):function(e,n){oe.h.buckets.deleteObjectRetention(c,{prefix:(0,g.LL)(e),version_id:n||""}).then((function(){P(!1),i(!0)})).catch((function(e){l((0,F.zb)((0,re.g)(e.error))),P(!1)}))}(e,n)},label:"Save"})]})]})]})})),se=t(23508),ce=t(9505),le=function(e){return"Enabled"===e||"Suspended"===e},de=function(e){var n=e.closeDeleteModalAndRefresh,t=e.deleteOpen,i=e.selectedBucket,o=e.selectedObject,s=e.versioningInfo,c=e.selectedVersion,l=void 0===c?"":c,u=(0,d.TL)(),f=(0,ce.Z)((function(){return n(!0)}),(function(e){u((0,F.Ih)(e)),"Access Denied."===e.detailedError&&n(!0)})),m=(0,h.Z)(f,2),x=m[0],b=m[1],v=(0,r.useState)(!1),j=(0,h.Z)(v,2),_=j[0],S=j[1],w=(0,r.useState)(!1),Z=(0,h.Z)(w,2),C=Z[0],N=Z[1],E=(0,a.v9)((function(e){return e.objectBrowser.retentionConfig})),O=(0,T.F)([i],[y.Ft.S3_BYPASS_GOVERNANCE_RETENTION])&&"governance"===(null===E||void 0===E?void 0:E.mode);if(!o)return null;return(0,k.jsx)(se.Z,{title:"Delete Object",confirmText:"Delete",isOpen:t,titleIcon:(0,k.jsx)(p.NvT,{}),isLoading:x,onConfirm:function(){var e=(0,g.IO)(o).endsWith("/");b("DELETE","/api/v1/buckets/".concat(i,"/objects?path=").concat(o).concat(""!==l?"&version_id=".concat(l):"&recursive=".concat(e,"&all_versions=").concat(_)).concat(C?"&bypass=true":""))},onClose:function(){return n(!1)},confirmationContent:(0,k.jsxs)(r.Fragment,{children:["Are you sure you want to delete: ",(0,k.jsx)("br",{}),(0,k.jsx)("b",{children:(0,g.IO)(o)})," ",""!==l?(0,k.jsxs)(r.Fragment,{children:[(0,k.jsx)("br",{}),(0,k.jsx)("br",{}),"Version ID:",(0,k.jsx)("br",{}),(0,k.jsx)("strong",{children:l})]}):"","? ",(0,k.jsx)("br",{}),(0,k.jsx)("br",{}),le(null===s||void 0===s?void 0:s.status)&&""===l&&(0,k.jsx)(r.Fragment,{children:(0,k.jsx)(p.rsf,{label:"Delete All Versions",indicatorLabels:["Yes","No"],checked:_,value:"delete_versions",id:"delete-versions",name:"delete-versions",onChange:function(e){S(!_)},description:""})}),O&&(_||""!==l)&&(0,k.jsx)(r.Fragment,{children:(0,k.jsx)("div",{style:{marginTop:10},children:(0,k.jsx)(p.rsf,{label:"Bypass Governance Mode",indicatorLabels:["Yes","No"],checked:C,value:"bypass_governance",id:"bypass_governance",name:"bypass_governance",onChange:function(e){N(!C)},description:""})})}),_&&(0,k.jsxs)(r.Fragment,{children:[(0,k.jsxs)("div",{style:{marginTop:10,border:"#c83b51 1px solid",borderRadius:3,padding:5,backgroundColor:"#c83b5120",color:"#c83b51"},children:["This will remove the object as well as all of its versions,"," ",(0,k.jsx)("br",{}),"This action is irreversible."]}),(0,k.jsx)("br",{}),"Are you sure you want to continue?"]})]})})},ue=(0,l.Z)((function(e){return(0,c.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},u.DF),u.ID),u.bK))}))((function(e){var n=e.classes,t=e.open,i=e.closeModalAndRefresh,o=e.objectName,a=e.bucketName,s=e.actualInfo,c=(0,d.TL)(),l=(0,r.useState)(!1),u=(0,h.Z)(l,2),f=u[0],m=u[1],x=(0,r.useState)(!1),b=(0,h.Z)(x,2),v=b[0],_=b[1],S=s.version_id;(0,r.useEffect)((function(){var e=j()(s,"legal_hold_status","OFF");m("ON"===e)}),[s]);var w=function(){m(!1)};return(0,k.jsxs)(X.Z,{title:"Set Legal Hold",modalOpen:t,onClose:function(){w(),i(!1)},children:[(0,k.jsxs)(p.rjZ,{item:!0,xs:12,className:n.spacerBottom,children:["Object: ",a]}),(0,k.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault(),_(!0),oe.h.buckets.putObjectLegalHold(a,{prefix:(0,g.LL)(o),version_id:S||""},{status:f?ie.nY.Enabled:ie.nY.Disabled}).then((function(){_(!1),i(!0)})).catch((function(e){c((0,F.zb)((0,re.g)(e.error))),_(!1)}))}(e)},children:[(0,k.jsx)(p.rjZ,{item:!0,xs:12,className:n.formFieldRow,children:(0,k.jsx)(p.rsf,{value:"legalhold",id:"legalhold",name:"legalhold",checked:f,onChange:function(e){m(!f)},label:"Legal Hold Status",indicatorLabels:["Enabled","Disabled"],tooltip:"To enable this feature you need to enable versioning on the bucket before creation"})}),(0,k.jsxs)(p.rjZ,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,k.jsx)(p.zxk,{id:"clear",type:"button",variant:"regular",onClick:w,label:"Clear"}),(0,k.jsx)(p.zxk,{id:"save",type:"submit",variant:"callAction",disabled:v,label:" Save"})]})]})]})})),fe=t(78562),he=t(79836),me=t(53382),pe=t(35855),xe=t(53994),be=function(e){return Array.isArray(e)?e.map(g.eC).join(", "):(0,g.eC)(e)},ve=(0,l.Z)((function(e){return(0,c.Z)((0,o.Z)((0,o.Z)({titleItem:{width:"35%"}},u.bK),u.$b))}))((function(e){var n=e.metaData,t=e.classes,i=e.linear,o=void 0!==i&&i,a=Object.keys(n);return o?(0,k.jsx)(r.Fragment,{children:a.map((function(e,i){var o=be(n[e]);return(0,k.jsxs)(H.Z,{className:t.metadataLinear,children:[(0,k.jsx)("strong",{children:e}),(0,k.jsx)("br",{}),o]},"box-meta-".concat(e,"-").concat(i.toString()))}))}):(0,k.jsxs)(b.ZP,{container:!0,children:[(0,k.jsx)(b.ZP,{item:!0,xs:12,sx:{marginTop:"25px",marginBottom:"5px"},children:(0,k.jsx)("h3",{style:{marginTop:"0",marginBottom:"0"},children:"Object Metadata"})}),(0,k.jsx)(b.ZP,{item:!0,xs:12,children:(0,k.jsx)(he.Z,{className:t.table,"aria-label":"simple table",children:(0,k.jsx)(me.Z,{children:a.map((function(e,i){var o=be(n[e]);return(0,k.jsxs)(pe.Z,{children:[(0,k.jsx)(xe.Z,{component:"th",scope:"row",className:t.titleItem,children:e}),(0,k.jsx)(xe.Z,{align:"right",children:o})]},"tRow-".concat(i.toString()))}))})})})]})})),je=t(37762),ge=(0,l.Z)((function(e){return(0,c.Z)({fileName:{display:"flex",alignItems:"center","& .min-icon":{width:16,height:16,marginRight:4,minWidth:16,minHeight:16}},fileNameText:{whiteSpace:"pre",overflow:"hidden",textOverflow:"ellipsis"}})}))((function(e){var n=e.classes,t=e.icon,i=e.strings;return(0,k.jsxs)("div",{className:n.fileName,children:[t,(0,k.jsx)("span",{className:n.fileNameText,children:(0,g.e3)(i[i.length-1])})]})})),_e=[{icon:(0,k.jsx)(p.n9O,{}),extensions:["mp4","mov","avi","mpeg","mpg"]},{icon:(0,k.jsx)(p.mYf,{}),extensions:["mp3","m4a","aac"]},{icon:(0,k.jsx)(p.UU9,{}),extensions:["pdf"]},{icon:(0,k.jsx)(p.hjP,{}),extensions:["ppt","pptx"]},{icon:(0,k.jsx)(p.hz9,{}),extensions:["xls","xlsx"]},{icon:(0,k.jsx)(p.xDw,{}),extensions:["cer","crt","pem"]},{icon:(0,k.jsx)(p.jG9,{}),extensions:["html","xml","css","py","go","php","cpp","h","java"]},{icon:(0,k.jsx)(p.NqG,{}),extensions:["cfg","yaml"]},{icon:(0,k.jsx)(p.OkY,{}),extensions:["sql"]},{icon:(0,k.jsx)(p.ZAy,{}),extensions:["ttf","otf"]},{icon:(0,k.jsx)(p.p2x,{}),extensions:["doc","docx","txt","rtf"]},{icon:(0,k.jsx)(p.xhr,{}),extensions:["zip","rar","tar","gz"]},{icon:(0,k.jsx)(p.rtI,{}),extensions:["epub","mobi","azw","azw3"]},{icon:(0,k.jsx)(p.q$4,{}),extensions:["jpeg","jpg","gif","tiff","png","heic","dng"]}],Se=function(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=e,i=(0,k.jsx)(p.MoH,{});e.endsWith("/")&&(i=(0,k.jsx)(p.BI,{}),t=e.slice(0,-1));for(var o=e.toLowerCase(),r=0,a=_e;r 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,t=e.modalOpen,i=e.onCloseAndUpdate,s=e.bucketName,c=e.actualInfo,l=e.classes,u=(0,d.TL)(),f=(0,a.v9)(F.N5),m=(0,r.useState)(""),x=(0,h.Z)(m,2),v=x[0],_=x[1],S=(0,r.useState)(""),w=(0,h.Z)(S,2),Z=w[0],C=w[1],N=(0,r.useState)(!1),E=(0,h.Z)(N,2),O=E[0],I=E[1],L=(0,r.useState)(!1),B=(0,h.Z)(L,2),P=B[0],A=B[1],D=(0,r.useState)(""),R=(0,h.Z)(D,2),M=R[0],U=R[1],z=(0,r.useState)(""),G=(0,h.Z)(z,2),W=G[0],K=G[1],V=(0,g.LL)(c.name||""),J=c.tags,Y=Object.keys(J||{}),q=null===(n=c.name)||void 0===n?void 0:n.split("/"),$=(null===q||void 0===q?void 0:q.pop())||"",Q=function(e){return(0,k.jsxs)("div",{className:l.tagsForLabel,children:["Tag",e?"s":""," for: ",(0,k.jsx)("strong",{children:$})]})};return(0,k.jsx)(r.Fragment,{children:(0,k.jsx)(X.Z,{modalOpen:t,title:P?"Delete Tag":"Edit Tags",onClose:function(){i(!0)},titleIcon:P?(0,k.jsx)(p.dRf,{style:{fill:"#C83B51"}}):(0,k.jsx)(p.T0F,{}),children:P?(0,k.jsx)(r.Fragment,{children:(0,k.jsxs)(b.ZP,{container:!0,children:[Q(!1),"Are you sure you want to delete the tag"," ",(0,k.jsxs)("b",{className:l.deleteTag,children:[M," : ",W]})," ","?",(0,k.jsxs)(b.ZP,{item:!0,xs:12,className:l.modalButtonBar,children:[(0,k.jsx)(p.zxk,{id:"cancel",type:"button",variant:"regular",onClick:function(){U(""),K(""),A(!1)},label:"Cancel"}),(0,k.jsx)(p.zxk,{type:"submit",variant:"secondary",onClick:function(){var e=(0,o.Z)({},J);delete e[M];var n=f?c.version_id||"":"null";oe.h.buckets.putObjectTags(s,{prefix:V,version_id:n},{tags:e}).then((function(){i(!0),I(!1)})).catch((function(e){u((0,F.zb)((0,re.g)(e.error))),I(!1)}))},id:"deleteTag",label:"Delete Tag"})]})]})}):(0,k.jsxs)(b.ZP,{container:!0,children:[(0,k.jsx)(T.s,{scopes:[y.Ft.S3_GET_OBJECT_TAGGING,y.Ft.S3_GET_ACTIONS],resource:s,children:(0,k.jsxs)(H.Z,{sx:{display:"flex",flexFlow:"column",width:"100%"},children:[Q(!0),(0,k.jsxs)("div",{className:l.currentTagsContainer,children:["Current Tags:",(0,k.jsx)("br",{}),0===Y.length?(0,k.jsx)("span",{className:l.noTagsForObject,children:"There are no tags for this object"}):(0,k.jsx)(r.Fragment,{}),(0,k.jsx)(H.Z,{sx:{marginTop:"5px",marginBottom:"15px"},children:Y.map((function(e,n){var t=j()(J,"".concat(e),"");return""!==t?(0,k.jsx)(T.s,{scopes:[y.Ft.S3_DELETE_OBJECT_TAGGING],resource:s,errorProps:{deleteIcon:null,onDelete:null},children:(0,k.jsx)(we.Z,{style:{textTransform:"none",marginRight:"5px",marginBottom:"5px"},size:"small",label:"".concat(e," : ").concat(t),color:"primary",deleteIcon:(0,k.jsx)(Ze.Z,{}),onDelete:function(){!function(e,n){U(e),K(n),A(!0)}(e,t)}})},"chip-".concat(n)):null}))})]})]})}),(0,k.jsx)(T.s,{scopes:[y.Ft.S3_PUT_OBJECT_TAGGING,y.Ft.S3_PUT_ACTIONS],resource:s,errorProps:{disabled:!0,onClick:null},children:(0,k.jsxs)(b.ZP,{container:!0,children:[(0,k.jsx)(p.NZf,{icon:(0,k.jsx)(p.OCT,{}),separator:!1,children:"Add New Tag"}),(0,k.jsx)(b.ZP,{item:!0,xs:12,className:l.formFieldRow,children:(0,k.jsx)(p.Wzg,{value:v,label:"Tag Key",id:"newTagKey",name:"newTagKey",placeholder:"Enter Tag Key",onChange:function(e){_(e.target.value)}})}),(0,k.jsx)(b.ZP,{item:!0,xs:12,className:l.formFieldRow,children:(0,k.jsx)(p.Wzg,{value:Z,label:"Tag Label",id:"newTagLabel",name:"newTagLabel",placeholder:"Enter Tag Label",onChange:function(e){C(e.target.value)}})}),(0,k.jsxs)(b.ZP,{item:!0,xs:12,className:l.modalButtonBar,children:[(0,k.jsx)(p.zxk,{id:"clear",type:"button",variant:"regular",color:"primary",onClick:function(){C(""),_("")},label:"Clear"}),(0,k.jsx)(p.zxk,{type:"submit",variant:"callAction",disabled:""===Z.trim()||""===v.trim()||O,onClick:function(){I(!0);var e={};e[v]=Z;var n=(0,o.Z)((0,o.Z)({},J),e),t=f?c.version_id||"":"null";oe.h.buckets.putObjectTags(s,{prefix:V,version_id:t},{tags:n}).then((function(){i(!0),I(!1)})).catch((function(e){u((0,F.zb)((0,re.g)(e.error))),I(!1)}))},id:"saveTag",label:"Save"})]})]})})]})})})})),Te=t(74165),ye=t(15861),Ne=t(51691),Fe=t(73669),Ee=(0,l.Z)((function(e){return(0,c.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},u.DF),u.ID),u.bK))}))((function(e){var n=e.classes,t=e.closeInspectModalAndRefresh,i=e.inspectOpen,o=e.inspectPath,a=e.volumeName,s=(0,d.TL)(),c=function(){return t(!1)},l=(0,r.useState)(!0),u=(0,h.Z)(l,2),f=u[0],m=u[1],x=(0,r.useState)(""),b=(0,h.Z)(x,2),v=b[0],j=b[1],_=(0,r.useState)(""),S=(0,h.Z)(_,2),w=S[0],Z=S[1];if(!o)return null;var C=function(){var e=(0,ye.Z)((0,Te.Z)().mark((function e(n){return(0,Te.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)}}(),T=function(){var e=(0,ye.Z)((0,Te.Z)().mark((function e(){var n,t,i;return(0,Te.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=(0,g.LL)(o+"/xl.meta"),t=(0,g.LL)(a),i="/api/v1/admin/inspect?volume=".concat(t,"&file=").concat(n,"&encrypt=").concat(f),C(i).then(function(){var e=(0,ye.Z)((0,Te.Z)().mark((function e(n){var t,i,o,r;return(0,Te.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,s((0,F.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],r=(0,g.Do)(o)||"",(0,g.zZ)(i,o),Z(o),""!==r){e.next=15;break}return c(),e.abrupt("return");case 15:j(r);case 16:case"end":return e.stop()}}),e)})));return function(n){return e.apply(this,arguments)}}()).catch((function(e){s((0,F.Ih)(e))}));case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return(0,k.jsxs)(r.Fragment,{children:[!v&&(0,k.jsx)(X.Z,{modalOpen:i,titleIcon:(0,k.jsx)(p.Gp8,{}),title:"Inspect Object",onClose:c,children:(0,k.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault()}(e)},children:["Would you like to encrypt ",(0,k.jsx)("b",{children:(0,g.IO)(o)}),"?"," ",(0,k.jsx)("br",{}),(0,k.jsx)(p.rsf,{label:"Encrypt",indicatorLabels:["Yes","No"],checked:f,value:"encrypt",id:"encrypt",name:"encrypt",onChange:function(e){m(!f)},description:""}),(0,k.jsx)(p.rjZ,{item:!0,xs:12,className:n.modalButtonBar,children:(0,k.jsx)(p.zxk,{id:"inspect",type:"submit",variant:"callAction",color:"primary",onClick:T,label:"Inspect"})})]})}),v?(0,k.jsx)(X.Z,{modalOpen:i,title:"Inspect Decryption Key",onClose:function(){(0,g.kT)(w),c(),j("")},titleIcon:(0,k.jsx)(p.tvm,{}),children:(0,k.jsxs)(Ne.Z,{children:[(0,k.jsxs)(p.xuv,{children:["This will be displayed only once. It cannot be recovered.",(0,k.jsx)("br",{}),"Use secure medium to share this key."]}),(0,k.jsx)(p.xuv,{children:(0,k.jsx)(Fe.Z,{value:v})})]})}):null]})})),Oe=t(21435),Ie=t(81159),ke=t(76610),Le=function(e,n,t,i){var o,r=(0,g.LL)("".concat(n,"-").concat(i.name,"-").concat((new Date).getTime(),"-").concat(Math.random())),a=(0,g.mv)().toLowerCase().includes("win");if(((null===(o=i.name)||void 0===o?void 0:o.length)||0)>200&&a)e((0,E.Hg)(!0));else{var s=(0,ke.YO)(8),c=(0,A.LR)(n,t,i.version_id,i.size||0,null,s,(function(n){e((0,E.RO)({instanceID:r,progress:n}))}),(function(){e((0,E.oK)(r))}),(function(n){e((0,E.qJ)({instanceID:r,msg:n}))}),(function(){e((0,E.Im)(r))}),(function(){e((0,F.y1)("File download will be handled directly by the browser."))}));(0,ke.EN)(s,c),e((0,E.Mc)({ID:s,bucketName:n,done:!1,instanceID:r,percentage:0,prefix:i.name||"",type:"download",waitingForFile:!0,failed:!1,cancelled:!1,errorMessage:""}))}},Be=(0,Z.Z)((function(e){return(0,c.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},u.ID),u.DF),u.bK),u.Bz))})),Pe=function(e){var n=e.open,t=e.closeModal,i=e.currentItem,o=e.internalPaths,a=e.actualInfo,s=e.bucketName,c=Be(),l=(0,d.TL)(),u=(0,r.useState)(i),f=(0,h.Z)(u,2),m=f[0],x=f[1],v=(0,r.useState)(!1),j=(0,h.Z)(v,2),g=j[0],_=j[1];return(0,k.jsxs)(X.Z,{title:"Rename Download",modalOpen:n,onClose:t,titleIcon:(0,k.jsx)(p.dY8,{}),children:[(0,k.jsxs)("div",{children:["The file you are trying to download has a long name.",(0,k.jsx)("br",{}),"This can cause issues on Windows Systems by trimming the file name after download.",(0,k.jsx)("br",{}),(0,k.jsx)("br",{})," We recommend to rename the file download"]}),(0,k.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault(),Le(l,s,o,a),t()}(e)},children:(0,k.jsxs)(b.ZP,{container:!0,children:[(0,k.jsxs)(b.ZP,{item:!0,xs:12,className:c.modalFormScrollable,children:[(0,k.jsx)(b.ZP,{item:!0,xs:12,className:c.formFieldRow,children:(0,k.jsx)(Oe.Z,{id:"download-filename",name:"download-filename",onChange:function(e){x(e.target.value)},label:"",type:"text",value:m,error:m.length>200&&!g?"Filename should be less than 200 characters long.":""})}),(0,k.jsx)(b.ZP,{item:!0,xs:12,className:c.formFieldRow,children:(0,k.jsx)(Ie.Z,{value:"acceptLongName",id:"acceptLongName",name:"acceptLongName",checked:g,onChange:function(e){_(e.target.checked),e.target.checked&&x(i)},label:"Use Original Name"})})]}),(0,k.jsx)(b.ZP,{item:!0,xs:12,className:c.modalButtonBar,children:(0,k.jsx)(p.zxk,{id:"download-file",type:"submit",variant:"callAction",color:"primary",disabled:m.length>200&&!g,label:"Download File"})})]})})]})},Ae={is_latest:!0,last_modified:"",legal_hold_status:"",name:"",retention_mode:"",retention_until_date:"",size:0,tags:{},version_id:void 0},De=(0,l.Z)((function(){return(0,c.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.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},capitalizeFirst:{textTransform:"capitalize"}},u.OR),u.bK),u.VI),u.$b))}))((function(e){var n=e.classes,t=e.internalPaths,i=e.bucketName,o=e.versioningInfo,s=e.locking,c=e.onClosePanel,l=(0,d.TL)(),u=(0,a.v9)(F.N5),f=(0,a.v9)((function(e){return e.objectBrowser.versionsMode})),m=(0,a.v9)((function(e){return e.objectBrowser.selectedVersion})),x=(0,a.v9)((function(e){return e.objectBrowser.loadingObjectInfo})),v=(0,r.useState)(!1),_=(0,h.Z)(v,2),S=_[0],w=_[1],Z=(0,r.useState)(!1),C=(0,h.Z)(Z,2),N=C[0],O=C[1],I=(0,r.useState)(!1),L=(0,h.Z)(I,2),B=L[0],P=L[1],D=(0,r.useState)(!1),R=(0,h.Z)(D,2),M=R[0],U=R[1],G=(0,r.useState)(!1),W=(0,h.Z)(G,2),K=W[0],J=W[1],Y=(0,r.useState)(null),q=(0,h.Z)(Y,2),$=q[0],X=q[1],Q=(0,r.useState)([]),ee=(0,h.Z)(Q,2),ne=ee[0],te=ee[1],ie=(0,r.useState)(null),re=(0,h.Z)(ie,2),se=re[0],ce=re[1],le=(0,r.useState)([]),he=(0,h.Z)(le,2),me=he[0],pe=he[1],xe=(0,r.useState)(!1),be=(0,h.Z)(xe,2),je=be[0],ge=be[1],_e=(0,r.useState)(!1),we=(0,h.Z)(_e,2),Ze=we[0],Te=we[1],ye=(0,r.useState)(0),Ne=(0,h.Z)(ye,2),Fe=Ne[0],Oe=Ne[1],Ie=(0,r.useState)(!1),ke=(0,h.Z)(Ie,2),Be=ke[0],De=ke[1],Re=(0,r.useState)(null),Me=(0,h.Z)(Re,2),Ue=Me[0],ze=Me[1],Ge=(0,r.useState)(!1),We=(0,h.Z)(Ge,2),Ke=We[0],He=We[1],Ve=((0,g.IO)(t)||"").split("/").pop()||"",Je=[];$&&$.name&&(Je=$.name.split("/")),(0,r.useEffect)((function(){if(u&&ne&&ne.length>=1){var e=ne.find((function(e){return e.is_latest}))||Ae;""!==m&&(e=ne.find((function(e){return e.version_id===m}))||Ae),e.is_delete_marker||He(!0),X(e)}}),[m,u,ne]),(0,r.useEffect)((function(){x&&""!==t&&oe.h.buckets.listObjects(i,{prefix:t,with_versions:u}).then((function(e){var n=e.data.objects||[];if(u){te(n),pe(n);var t=n.reduce((function(e,n){return null!==n&&void 0!==n&&n.size?e+n.size:e}),0);Oe(t)}else{var i=n[0];X(i),pe([]),i.is_delete_marker||He(!0)}l((0,E.vH)(!1))})).catch((function(e){console.error("Error loading object details",e.error),l((0,E.vH)(!1))}))}),[x,i,t,l,u,m]),(0,r.useEffect)((function(){Ke&&""!==t&&oe.h.buckets.getObjectMetadata(i,{prefix:t}).then((function(e){var n=j()(e.data,"objectMetadata",{});ze(n),He(!1)})).catch((function(e){console.error("Error Getting Metadata Status: ",e.detailedError),He(!1)}))}),[i,t,Ke]);var Ye=[];$&&$.tags&&(Ye=Object.keys($.tags));var qe=(0,k.jsx)("div",{style:{textAlign:"center",marginTop:35},children:(0,k.jsx)(p.aNw,{})});if(!$)return x?qe:null;var $e=Je.length>0?Je[Je.length-1]:$.name,Xe=[i,Ve,[i,$.name].join("/")],Qe=(0,T.F)(i,[y.Ft.S3_PUT_OBJECT_LEGAL_HOLD,y.Ft.S3_PUT_ACTIONS]),en=(0,T.F)(Xe,[y.Ft.S3_PUT_OBJECT_TAGGING,y.Ft.S3_PUT_ACTIONS]),nn=(0,T.F)(Xe,[y.Ft.S3_GET_OBJECT_RETENTION,y.Ft.S3_PUT_OBJECT_RETENTION,y.Ft.S3_GET_ACTIONS,y.Ft.S3_PUT_ACTIONS],!0),tn=(0,T.F)(Xe,[y.Ft.ADMIN_INSPECT_DATA]),on=(0,T.F)(Xe,[y.Ft.S3_GET_BUCKET_VERSIONING,y.Ft.S3_PUT_BUCKET_VERSIONING,y.Ft.S3_GET_OBJECT_VERSION,y.Ft.S3_GET_ACTIONS,y.Ft.S3_PUT_ACTIONS]),rn=(0,T.F)(Xe,[y.Ft.S3_GET_OBJECT,y.Ft.S3_GET_ACTIONS]),an=(0,T.F)([i,Ve,[i,$.name].join("/")],[y.Ft.S3_DELETE_OBJECT]),sn=(0,A.s7)(Ue,Ve),cn=[{action:function(){Le(l,i,t,$)},label:"Download",disabled:!!$.is_delete_marker||!rn,icon:(0,k.jsx)(p._8t,{}),tooltip:rn?"Download this Object":(0,y.MK)([y.Ft.S3_GET_OBJECT,y.Ft.S3_GET_ACTIONS],"download this object")},{action:function(){w(!0)},label:"Share",disabled:!!$.is_delete_marker||!rn,icon:(0,k.jsx)(p.aAc,{}),tooltip:rn?"Share this File":(0,y.MK)([y.Ft.S3_GET_OBJECT,y.Ft.S3_GET_ACTIONS],"share this object")},{action:function(){Te(!0)},label:"Preview",disabled:!!$.is_delete_marker||"none"===sn&&!rn,icon:(0,k.jsx)(p.P99,{}),tooltip:rn?"Preview this File":(0,y.MK)([y.Ft.S3_GET_OBJECT,y.Ft.S3_GET_ACTIONS],"preview this object")},{action:function(){U(!0)},label:"Legal Hold",disabled:!s||!u||!!$.is_delete_marker||!Qe||""!==m,icon:(0,k.jsx)(p.fNL,{}),tooltip:Qe?s?"Change Legal Hold rules for this File":"Object Locking must be enabled on this bucket in order to set Legal Hold":(0,y.MK)([y.Ft.S3_PUT_OBJECT_LEGAL_HOLD,y.Ft.S3_PUT_ACTIONS],"change legal hold settings for this object")},{action:function(){O(!0)},label:"Retention",disabled:!u||!!$.is_delete_marker||!nn||""!==m||!s,icon:(0,k.jsx)(p.E9d,{}),tooltip:nn?s?"Change Retention rules for this File":"Object Locking must be enabled on this bucket in order to set Retention Rules":(0,y.MK)([y.Ft.S3_GET_OBJECT_RETENTION,y.Ft.S3_PUT_OBJECT_RETENTION,y.Ft.S3_GET_ACTIONS,y.Ft.S3_PUT_ACTIONS],"change Retention Rules for this object")},{action:function(){P(!0)},label:"Tags",disabled:!!$.is_delete_marker||""!==m||!en,icon:(0,k.jsx)(p.DgT,{}),tooltip:en?"Change Tags for this File":(0,y.MK)([y.Ft.S3_PUT_OBJECT_TAGGING,y.Ft.S3_GET_OBJECT_TAGGING,y.Ft.S3_GET_ACTIONS,y.Ft.S3_PUT_ACTIONS],"set Tags on this object")},{action:function(){J(!0)},label:"Inspect",disabled:!u||!!$.is_delete_marker||""!==m||!tn,icon:(0,k.jsx)(p.Gp8,{}),tooltip:tn?"Inspect this file":(0,y.MK)([y.Ft.ADMIN_INSPECT_DATA],"inspect this file")},{action:function(){l((0,E.db)({status:!f,objectName:$e}))},label:f?"Hide Object Versions":"Display Object Versions",icon:(0,k.jsx)(p.cRd,{}),disabled:!u||!($.version_id&&"null"!==$.version_id)||!on,tooltip:on?$.version_id&&"null"!==$.version_id?"Display Versions for this file":"":(0,y.MK)([y.Ft.S3_GET_BUCKET_VERSIONING,y.Ft.S3_PUT_BUCKET_VERSIONING,y.Ft.S3_GET_OBJECT_VERSION,y.Ft.S3_GET_ACTIONS,y.Ft.S3_PUT_ACTIONS],"display all versions of this object")}];return(0,k.jsxs)(r.Fragment,{children:[S&&$&&(0,k.jsx)(V.default,{open:S,closeModalAndRefresh:function(){ce(null),w(!1)},bucketName:i,dataObject:se||$}),N&&$&&(0,k.jsx)(ae,{open:N,closeModalAndRefresh:function(e){O(!1),e&&l((0,E.vH)(!0))},objectName:Ve,objectInfo:$,bucketName:i}),je&&(0,k.jsx)(de,{deleteOpen:je,selectedBucket:i,selectedObject:t,closeDeleteModalAndRefresh:function(e){ge(!1),e&&""===m?c(!0):(l((0,E.Eq)(!0)),l((0,E.M3)("")),l((0,E.vH)(!0)))},versioningInfo:u?o:void 0,selectedVersion:m}),M&&$&&(0,k.jsx)(ue,{open:M,closeModalAndRefresh:function(e){U(!1),e&&l((0,E.vH)(!0))},objectName:$.name||"",bucketName:i,actualInfo:$}),Ze&&$&&(0,k.jsx)(fe.default,{open:Ze,bucketName:i,object:{name:$.name||"",version_id:$.version_id||"null",size:$.size||0,content_type:"",last_modified:$.last_modified||""},onClosePreview:function(){Te(!1)}}),B&&$&&(0,k.jsx)(Ce,{modalOpen:B,bucketName:i,actualInfo:$,onCloseAndUpdate:function(e){P(!1),e&&l((0,E.vH)(!0))}}),K&&$&&(0,k.jsx)(Ee,{inspectOpen:K,volumeName:i,inspectPath:$.name||"",closeInspectModalAndRefresh:function(e){J(!1),e&&l((0,E.vH)(!0))}}),Be&&$&&(0,k.jsx)(Pe,{open:Be,closeModal:function(){De(!1)},currentItem:Ve,bucketName:i,internalPaths:t,actualInfo:$}),x?(0,k.jsx)(r.Fragment,{children:qe}):(0,k.jsxs)(r.Fragment,{children:[(0,k.jsx)(p.Wk,{title:(0,k.jsxs)("div",{className:n.ObjectDetailsTitle,children:[Se($e||"",!0),(0,k.jsx)("span",{className:n.objectNameContainer,children:$e})]}),items:cn}),(0,k.jsx)(z.Z,{tooltip:an?"":(0,y.MK)([y.Ft.S3_DELETE_OBJECT],"delete this object"),children:(0,k.jsx)(b.ZP,{item:!0,xs:12,sx:{justifyContent:"center",display:"flex"},children:(0,k.jsx)(T.s,{resource:[i,Ve,[i,$.name].join("/")],scopes:[y.Ft.S3_DELETE_OBJECT],errorProps:{disabled:!0},children:(0,k.jsx)(p.zxk,{id:"delete-element-click",icon:(0,k.jsx)(p.pJl,{}),iconLocation:"start",fullWidth:!0,variant:"secondary",onClick:function(){ge(!0)},disabled:""===m&&$.is_delete_marker,sx:{width:"calc(100% - 44px)",margin:"8px 0"},label:"Delete".concat(""!==m?" version":"")})})})}),(0,k.jsx)(p.AG2,{icon:(0,k.jsx)(p.Gvh,{}),label:"Object Info"}),(0,k.jsxs)(H.Z,{className:n.detailContainer,children:[(0,k.jsx)("strong",{children:"Name:"}),(0,k.jsx)("br",{}),(0,k.jsx)("div",{style:{overflowWrap:"break-word"},children:$e})]}),""!==m&&(0,k.jsxs)(H.Z,{className:n.detailContainer,children:[(0,k.jsx)("strong",{children:"Version ID:"}),(0,k.jsx)("br",{}),m]}),(0,k.jsxs)(H.Z,{className:n.detailContainer,children:[(0,k.jsx)("strong",{children:"Size:"}),(0,k.jsx)("br",{}),(0,g.ae)("".concat($.size||"0"))]}),$.version_id&&"null"!==$.version_id&&""===m&&(0,k.jsxs)(H.Z,{className:n.detailContainer,children:[(0,k.jsx)("strong",{children:"Versions:"}),(0,k.jsx)("br",{}),me.length," version",1!==me.length?"s":"",","," ",(0,g.l5)(Fe)]}),""===m&&(0,k.jsxs)(H.Z,{className:n.detailContainer,children:[(0,k.jsx)("strong",{children:"Last Modified:"}),(0,k.jsx)("br",{}),function(e){var n=new Date,t=new Date(e),i=n.getTime()-t.getTime(),o=(0,g.nF)(i,"ms");return""!==o.trim()?"".concat(o," ago"):"Just now"}($.last_modified||"")]}),(0,k.jsxs)(H.Z,{className:n.detailContainer,children:[(0,k.jsx)("strong",{children:"ETAG:"}),(0,k.jsx)("br",{}),$.etag||"N/A"]}),(0,k.jsxs)(H.Z,{className:n.detailContainer,children:[(0,k.jsx)("strong",{children:"Tags:"}),(0,k.jsx)("br",{}),0===Ye.length?"N/A":Ye.map((function(e,n){return(0,k.jsxs)("span",{children:[e,":",j()($,"tags.".concat(e),""),n div":{borderBottomColor:j()(n,"boxBackground","#F8F8F8")}}},"& .versionContainer":{fontSize:16,fontWeight:"bold",display:"flex",alignItems:"center","& svg.min-icon":{width:18,height:18,minWidth:18,minHeight:18,marginRight:10}},"& .buttonContainer":{textAlign:"right","& button":{marginLeft:"1.5rem"}},"& .versionID":{fontSize:"12px",margin:"2px 0",whiteSpace:"nowrap",textOverflow:"ellipsis",maxWidth:"95%",overflow:"hidden"},"& .versionData":{marginRight:"10px",fontSize:12,color:"#868686"},"@media (max-width: 600px)":{"& .buttonContainer":{"& button":{marginLeft:"5px"}}},"@media (max-width: 799px)":{"&:before":{display:"none"},"& .mainFileVersionItem":{padding:"5px 0px",margin:0},"& .intermediateLayer":{margin:0,"&:hover, &.selected":{backgroundColor:"transparent","& > div":{borderBottomColor:j()(n,"boxBackground","#F8F8F8")}}},"& .versionContainer":{fontSize:14,"& svg.min-icon":{display:"none"}},"& .versionData":{textOverflow:"ellipsis",maxWidth:"95%",overflow:"hidden",whiteSpace:"nowrap"},"& .collapsableInfo":{display:"flex",flexDirection:"column"},"& .versionItem":{display:"none"}}}})),Ke=function(e){var n=e.fileName,t=e.versionInfo,i=e.isSelected,o=e.checkable,r=e.isChecked,a=e.onCheck,s=e.onShare,c=e.onDownload,l=e.onRestore,d=e.onPreview,u=e.globalClick,f=e.index,h=e.key,m=e.style,b=t.is_delete_marker,v=[{icon:(0,k.jsx)(p.P99,{}),action:d,tooltip:"Preview"},{icon:(0,k.jsx)(p._8t,{}),action:c,tooltip:"Download this version"},{icon:(0,k.jsx)(p.aAc,{}),action:s,tooltip:"Share this version"},{icon:(0,k.jsx)(p.D7Y,{}),action:l,tooltip:"Restore this version"}],j=null;t.is_delete_marker?j="deleted":t.is_latest?j="current":"null"===t.version_id&&(j="null");var _=x.ou.now();return t.last_modified&&(_=x.ou.fromISO(t.last_modified)),(0,k.jsx)(We,{children:(0,k.jsx)(p.rjZ,{container:!0,className:"ctrItem",onClick:function(){u(t)},style:m,children:(0,k.jsx)(p.rjZ,{item:!0,xs:12,className:"intermediateLayer".concat(" ",i?"selected":""),children:(0,k.jsxs)(p.rjZ,{item:!0,xs:!0,className:"mainFileVersionItem ".concat(t.is_delete_marker?"deleted":""),children:[(0,k.jsx)(p.rjZ,{item:!0,xs:12,children:(0,k.jsxs)(p.rjZ,{container:!0,children:[(0,k.jsxs)(p.rjZ,{item:!0,xs:!0,md:4,className:"versionContainer",children:[o&&(0,k.jsx)(Ge.Z,{checked:r,id:"select-".concat(t.version_id),label:"",name:"select-".concat(t.version_id),onChange:function(e){e.stopPropagation(),e.preventDefault(),a(t.version_id||"")},value:t.version_id||"",disabled:t.is_delete_marker,overrideCheckboxStyles:{paddingLeft:0,height:34,width:25},noTopMargin:!0}),Se(n,!0)," v",f.toString(),(0,k.jsx)("span",{className:"versionItem",children:j&&(0,k.jsx)(ze,{type:j})})]}),(0,k.jsx)(p.rjZ,{item:!0,xs:10,md:8,className:"buttonContainer",children:v.map((function(e,n){return(0,k.jsx)(p.ua7,{tooltip:e.tooltip,children:(0,k.jsx)(p.hU,{size:"small",id:"version-action-".concat(e.tooltip,"-").concat(n.toString()),className:"spacing".concat(" ",b?"buttonDisabled":""),disabled:b,onClick:function(n){n.stopPropagation(),b?n.preventDefault():e.action(t)},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(n.toString()))}))})]})}),(0,k.jsx)(p.rjZ,{item:!0,xs:12,className:"versionID",children:"null"!==t.version_id?t.version_id:"-"}),(0,k.jsxs)(p.rjZ,{item:!0,xs:12,className:"collapsableInfo",children:[(0,k.jsxs)("span",{className:"versionData",children:[(0,k.jsx)("strong",{children:"Last modified:"})," ",_.toFormat("ccc, LLL dd yyyy HH:mm:ss (ZZZZ)")]}),(0,k.jsxs)("span",{className:"versionData",children:[(0,k.jsx)("strong",{children:"Size:"})," ",(0,g.ae)("".concat(t.size||"0"))]})]})]})})},h)})},He=function(e){var n=e.closeDeleteModalAndRefresh,t=e.deleteOpen,i=e.selectedBucket,o=e.selectedObject,s=(0,d.TL)(),c=(0,r.useState)(!1),l=(0,h.Z)(c,2),u=l[0],f=l[1],m=(0,r.useState)(""),x=(0,h.Z)(m,2),b=x[0],v=x[1],j=(0,r.useState)(!1),_=(0,h.Z)(j,2),S=_[0],w=_[1],Z=(0,a.v9)((function(e){return e.objectBrowser.retentionConfig})),C=(0,T.F)([i],[y.Ft.S3_BYPASS_GOVERNANCE_RETENTION])&&"governance"===(null===Z||void 0===Z?void 0:Z.mode);if((0,r.useEffect)((function(){u&&oe.h.buckets.deleteObject(i,{path:o,non_current_versions:!0,bypass:S}).then((function(){n(!0)})).catch((function(e){s((0,F.Ih)((0,re.g)(e.error))),f(!1)}))}),[u,n,s,o,i,S]),!o)return null;return(0,k.jsx)(se.Z,{title:"Delete Non-Current versions",confirmText:"Delete",isOpen:t,titleIcon:(0,k.jsx)(p.NvT,{}),isLoading:u,onConfirm:function(){f(!0)},onClose:function(){return n(!1)},confirmButtonProps:{disabled:"YES, PROCEED"!==b||u},confirmationContent:(0,k.jsxs)(r.Fragment,{children:["Are you sure you want to delete all the non-current versions for:"," ",(0,k.jsx)("b",{children:(0,g.IO)(o)}),"? ",(0,k.jsx)("br",{}),C&&(0,k.jsx)(r.Fragment,{children:(0,k.jsx)("div",{style:{marginTop:10},children:(0,k.jsx)(p.rsf,{label:"Bypass Governance Mode",indicatorLabels:["Yes","No"],checked:S,value:"bypass_governance",id:"bypass_governance",name:"bypass_governance",onChange:function(e){w(!S)},description:""})})}),(0,k.jsx)("br",{}),"To continue please type ",(0,k.jsx)("b",{children:"YES, PROCEED"})," in the box.",(0,k.jsx)("br",{}),(0,k.jsx)("br",{}),(0,k.jsx)(p.rjZ,{item:!0,xs:12,children:(0,k.jsx)(p.Wzg,{id:"type-confirm",name:"retype-tenant",onChange:function(e){v(e.target.value)},label:"",value:b})})]})})},Ve=function(e){var n=e.closeDeleteModalAndRefresh,t=e.deleteOpen,i=e.selectedBucket,o=e.selectedVersions,s=e.selectedObject,c=(0,d.TL)(),l=(0,r.useState)(!1),u=(0,h.Z)(l,2),f=u[0],m=u[1],x=(0,r.useState)(!1),b=(0,h.Z)(x,2),v=b[0],j=b[1],g=(0,a.v9)((function(e){return e.objectBrowser.retentionConfig})),_=(0,T.F)([i],[y.Ft.S3_BYPASS_GOVERNANCE_RETENTION])&&"governance"===(null===g||void 0===g?void 0:g.mode);return(0,r.useEffect)((function(){if(f){var e=o.map((function(e){return{path:s,versionID:e,recursive:!1}}));e.length>0&&oe.h.buckets.deleteMultipleObjects(i,e,{all_versions:!1,bypass:v}).then((function(){m(!1),n(!0)})).catch((function(e){c((0,F.Ih)((0,re.g)(e.error))),m(!1)}))}}),[f,n,i,s,o,v,c]),o?(0,k.jsx)(se.Z,{title:"Delete Selected Versions",confirmText:"Delete",isOpen:t,titleIcon:(0,k.jsx)(p.NvT,{}),isLoading:f,onConfirm:function(){m(!0)},onClose:function(){return n(!1)},confirmationContent:(0,k.jsxs)(r.Fragment,{children:["Are you sure you want to delete the selected ",o.length," ","versions for ",(0,k.jsx)("strong",{children:s}),"?",_&&(0,k.jsx)(r.Fragment,{children:(0,k.jsx)("div",{style:{marginTop:10},children:(0,k.jsx)(p.rsf,{label:"Bypass Governance Mode",indicatorLabels:["Yes","No"],checked:v,value:"bypass_governance",id:"bypass_governance",name:"bypass_governance",onChange:function(e){j(!v)},description:""})})})]})}):null},Je=t(5171),Ye={is_latest:!0,last_modified:"",legal_hold_status:"",name:"",retention_mode:"",retention_until_date:"",size:0,tags:{},version_id:void 0},qe=(0,l.Z)((function(e){return(0,c.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.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","@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.OR),u.VX),u.bK),u.VI),u.cx),u.C4),u.Bz))}))((function(e){var n=e.classes,t=e.internalPaths,i=e.bucketName,o=(0,d.TL)(),s=(0,a.v9)((function(e){return e.objectBrowser.searchVersions})),c=(0,a.v9)((function(e){return e.objectBrowser.loadingVersions})),l=(0,a.v9)((function(e){return e.objectBrowser.selectedVersion})),u=(0,a.v9)(F.N5),m=(0,r.useState)(!1),x=(0,h.Z)(m,2),v=x[0],_=x[1],S=(0,r.useState)(null),w=(0,h.Z)(S,2),Z=w[0],C=w[1],T=(0,r.useState)(null),y=(0,h.Z)(T,2),N=y[0],O=y[1],I=(0,r.useState)([]),L=(0,h.Z)(I,2),B=L[0],A=L[1],D=(0,r.useState)(!1),R=(0,h.Z)(D,2),M=R[0],U=R[1],G=(0,r.useState)(null),W=(0,h.Z)(G,2),K=W[0],H=W[1],J=(0,r.useState)("date"),Y=(0,h.Z)(J,2),q=Y[0],$=Y[1],X=(0,r.useState)(!1),Q=(0,h.Z)(X,2),ee=Q[0],ne=Q[1],te=(0,r.useState)(!1),ie=(0,h.Z)(te,2),ae=ie[0],se=ie[1],ce=(0,r.useState)(!1),le=(0,h.Z)(ce,2),de=le[0],ue=le[1],he=(0,r.useState)([]),me=(0,h.Z)(he,2),pe=me[0],xe=me[1],be=(0,r.useState)(!1),ve=(0,h.Z)(be,2),je=ve[0],ge=ve[1],_e=[];Z&&Z.name&&(_e=Z.name.split("/")),(0,r.useEffect)((function(){c||Z||o((0,E.Eq)(!0))}),[c,Z,o]),(0,r.useEffect)((function(){c&&""!==t&&oe.h.buckets.listObjects(i,{prefix:t,with_versions:u}).then((function(e){var n=j()(e.data,"objects",[]),i=(0,g.IO)(t),r=n.filter((function(e){return e.name===i}));u?(C(r.find((function(e){return e.is_latest}))||Ye),A(r)):(C(r[0]),A([])),o((0,E.Eq)(!1))})).catch((function(e){o((0,F.Ih)((0,re.g)(e.error))),o((0,E.Eq)(!1))}))}),[c,i,t,o,u]);var Se=function(e){O(e),_(!0)},we=function(e){O(e),ne(!0)},Ze=function(e){H(e),U(!0)},Ce=function(e){Le(o,i,t,e)},Te=function(e){o((0,E.M3)(e.version_id||""))},ye=B.filter((function(e){return!!e.version_id&&e.version_id.includes(s)})),Ne=B.reduce((function(e,n){return n.size?e+n.size:e}),0);ye.sort((function(e,n){if("size"===q)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 Fe=function(e){if(pe.includes(e)){var n=pe.filter((function(n){return n!==e}));xe(n)}else{var t=(0,f.Z)(pe);t.push(e),xe(t)}};return(0,k.jsxs)(r.Fragment,{children:[v&&Z&&(0,k.jsx)(V.default,{open:v,closeModalAndRefresh:function(){O(null),_(!1),ne(!1)},bucketName:i,dataObject:N||Z}),M&&Z&&K&&(0,k.jsx)(Me,{restoreOpen:M,bucketName:i,versionToRestore:K,objectPath:Z.name||"",onCloseAndUpdate:function(e){U(!1),H(null),e&&(o((0,E.Eq)(!0)),o((0,E.vH)(!0)))}}),ee&&Z&&(0,k.jsx)(fe.default,{open:ee,bucketName:i,object:{name:Z.name||"",version_id:N&&N.version_id?N.version_id:"null",size:N&&N.size?N.size:0,content_type:"",last_modified:Z.last_modified||""},onClosePreview:function(){ne(!1)}}),ae&&(0,k.jsx)(He,{deleteOpen:ae,closeDeleteModalAndRefresh:function(e){se(!1),e&&(o((0,E.Eq)(!0)),o((0,E.M3)("")),o((0,E.vH)(!0)))},selectedBucket:i,selectedObject:t}),je&&(0,k.jsx)(Ve,{selectedBucket:i,selectedObject:(0,g.IO)(t),deleteOpen:je,selectedVersions:pe,closeDeleteModalAndRefresh:function(e){ge(!1),e&&(o((0,E.Eq)(!0)),o((0,E.M3)("")),o((0,E.vH)(!0)),xe([]))}}),(0,k.jsxs)(b.ZP,{container:!0,className:n.versionsContainer,children:[!Z&&(0,k.jsx)(b.ZP,{item:!0,xs:12,children:(0,k.jsx)(Re.Z,{})}),Z&&(0,k.jsxs)(r.Fragment,{children:[(0,k.jsx)(b.ZP,{item:!0,xs:12,children:(0,k.jsx)(P,{bucketName:i,internalPaths:(0,g.IO)(t),hidePathButton:!0})}),(0,k.jsx)(b.ZP,{item:!0,xs:12,className:n.screenTitleContainer,children:(0,k.jsx)(p.UHn,{icon:(0,k.jsx)("span",{className:n.listIcon,children:(0,k.jsx)(p.cRd,{})}),title:"".concat(_e.length>0?_e[_e.length-1]:Z.name," Versions"),subTitle:(0,k.jsxs)(r.Fragment,{children:[(0,k.jsx)("span",{className:n.detailsSpacer,children:(0,k.jsxs)("strong",{children:[B.length," Version",1===B.length?"":"s","\xa0\xa0\xa0"]})}),(0,k.jsx)("span",{className:n.detailsSpacer,children:(0,k.jsx)("strong",{children:(0,g.l5)(Ne)})})]}),actions:(0,k.jsxs)(r.Fragment,{children:[(0,k.jsx)(z.Z,{tooltip:"Select Multiple Versions",children:(0,k.jsx)(p.zxk,{id:"select-multiple-versions",onClick:function(){ue(!de)},icon:(0,k.jsx)(p.amE,{}),variant:de?"callAction":"regular",style:{marginRight:8}})}),de&&(0,k.jsx)(z.Z,{tooltip:"Delete Selected Versions",children:(0,k.jsx)(p.zxk,{id:"delete-multiple-versions",onClick:function(){ge(!0)},icon:(0,k.jsx)(p.pJl,{}),variant:"secondary",style:{marginRight:8},disabled:0===pe.length})}),(0,k.jsx)(z.Z,{tooltip:"Delete Non Current Versions",children:(0,k.jsx)(p.zxk,{id:"delete-non-current",onClick:function(){se(!0)},icon:(0,k.jsx)(p.utM,{}),variant:"secondary",style:{marginRight:15},disabled:B.length<=1})}),(0,k.jsx)(p.PhF,{id:"sort-by",options:[{label:"Date",value:"date"},{label:"Size",value:"size"}],value:q,label:"Sort by",onChange:function(e){$(e)},noLabelMinWidth:!0})]}),bottomBorder:!1})}),(0,k.jsx)(b.ZP,{item:!0,xs:12,className:n.versionsVirtualPanel,children:Z.version_id&&"null"!==Z.version_id&&(0,k.jsx)(Je.aV,{style:{width:"100%"},containerStyle:{width:"100%",maxWidth:"100%"},width:1,height:800,rowCount:ye.length,rowHeight:108,rowRenderer:function(e){var n=e.key,t=e.index,i=(e.isScrolling,e.isVisible,e.style),o=B.length-t;return(0,k.jsx)(Ke,{style:i,fileName:(null===Z||void 0===Z?void 0:Z.name)||"",versionInfo:ye[t],index:o,onDownload:Ce,onRestore:Ze,onShare:Se,onPreview:we,globalClick:Te,isSelected:l===ye[t].version_id,checkable:de,onCheck:Fe,isChecked:pe.includes(ye[t].version_id||"")},n)}})})]})]})]})})),$e=t(9859),Xe=function(e){if(e.name.endsWith("/"))return"";var n=x.ou.now(),t=x.ou.fromISO(e.last_modified);return n.hasSame(t,"day")&&n.hasSame(t,"month")&&n.hasSame(t,"year")?"Today, ".concat(t.toFormat("HH:mm")):t.toFormat("ccc, LLL dd yyyy HH:mm (ZZZZ)")},Qe=function(e){return e.name.endsWith("/")||!e.size?"-":(0,g.ae)(String(e.size))},en=[{label:"Name",elementKey:"name",renderFunction:Se,enableSort:!0},{label:"Last Modified",elementKey:"last_modified",renderFunction:Xe,renderFullObject:!0,enableSort:!0},{label:"Size",elementKey:"size",renderFunction:Qe,renderFullObject:!0,width:100,enableSort:!0}],nn=[{label:"Name",elementKey:"name",renderFunction:Se,enableSort:!0},{label:"Object Date",elementKey:"last_modified",renderFunction:Xe,renderFullObject:!0,enableSort:!0},{label:"Size",elementKey:"size",renderFunction:Qe,renderFullObject:!0,width:100,enableSort:!0},{label:"Deleted",elementKey:"delete_flag",renderFunction:function(e){return e?"Yes":"No"},width:60}],tn=t(46078),on=(0,Z.Z)((function(e){return(0,c.Z)({browsePaper:{border:0,"@media (max-width: 800px)":{width:800}},parentWrapper:{position:"relative",height:"calc(100% - 60px)","@media (max-width: 800px)":{overflowX:"auto"},"@media (max-width: 1060px)":{height:"calc(100% - 115px)"}},"@global":{".rowLine:hover .iconFileElm":{backgroundImage:"url(/images/ob_file_filled.svg)"},".rowLine:hover .iconFolderElm":{backgroundImage:"url(/images/ob_folder_filled.svg)"}}})})),rn=function(e){var n=e.internalPaths,t=on(),i=(0,d.TL)(),o=(0,s.UO)(),c=(0,s.s0)(),l=(0,r.useState)("ASC"),u=(0,h.Z)(l,2),m=u[0],x=u[1],b=(0,r.useState)("name"),v=(0,h.Z)(b,2),_=v[0],S=v[1],w=o.bucketName||"",Z=(0,a.v9)((function(e){return e.objectBrowser.objectDetailsOpen})),C=(0,a.v9)((function(e){return e.objectBrowser.loadingObjects})),N=(0,a.v9)(tn.$4),F=!(null===N||void 0===N||!N.includes("object-browser-only")),O=(0,a.v9)((function(e){return e.objectBrowser.rewind.rewindEnabled})),I=(0,a.v9)((function(e){return e.objectBrowser.records})),L=(0,a.v9)((function(e){return e.objectBrowser.searchObjects})),B=(0,a.v9)((function(e){return e.objectBrowser.selectedObjects})),P=(0,a.v9)((function(e){return e.objectBrowser.connectionError})),D=(0,a.v9)((function(e){return e.system.anonymousMode})),R=(0,T.F)(w,[y.Ft.S3_LIST_BUCKET,y.Ft.S3_ALL_LIST_BUCKET]),M=I.filter((function(e){return""===L||e.name.toLowerCase().indexOf(L.toLowerCase())>=0})).sort((0,A.P_)(_)),U=[];U="ASC"===m?M:M.reverse();var z=[{type:"view",label:"View",onClick:function(e){var t,o=e.name||"",r="/browser/".concat(w).concat(o?"/".concat((0,g.LL)(o)):"");!D||null===n||null!==(t=e.name)&&void 0!==t&&t.endsWith("/")?(i((0,E.S2)([])),c(r),D||(i((0,E.vb)(!0)),i((0,E.Eq)(!0)),i((0,E.d_)(!0))),i((0,E.EE)("".concat(o?"".concat((0,g.LL)(o)):"")))):Le(i,w,"".concat((0,g.LL)(o)),e)},sendOnlyId:!1}],G=R||D?"This location is empty".concat(O?"":", please try uploading a new file"):(0,y.MK)([y.Ft.S3_LIST_BUCKET,y.Ft.S3_ALL_LIST_BUCKET],"view Objects in this bucket");P&&(G="Objects List unavailable. Please review your WebSockets configuration and try again");var W="calc(100vh - 290px)";return F&&(W="calc(100vh - 315px)"),(0,k.jsx)(p.wQF,{itemActions:z,columns:O?nn:en,isLoading:C,entityName:"Objects",idField:"name",records:U,customPaperHeight:W,selectedItems:B,onSelect:D?void 0:function(e){var n=e.target,t=n.value,o=n.checked,r=(0,f.Z)(B);return o?r.push(t):r=r.filter((function(e){return e!==t})),i((0,E.S2)(r)),i((0,E.EE)(null)),r},customEmptyMessage:G,sortConfig:{currentSort:_,currentDirection:m,triggerSort:function(e){var n=j()(e,"sortDirection","DESC");S(e.sortBy),x(n),i((0,E.Cn)(!0))}},onSelectAll:function(){if(i((0,E.EE)(null)),B.length!==U.length){var e=U.map((function(e){return e.name}));i((0,E.S2)(e))}else i((0,E.S2)([]))},rowStyle:function(e){var n,t=e.index;return null!==(n=U[t])&&void 0!==n&&n.delete_flag?"deleted":""},parentClassName:t.parentWrapper,sx:{minHeight:Z?"100%":"initial"},noBackground:!0})},an=t(96382),sn=(0,an.hg)("objectBrowser/downloadSelected",function(){var e=(0,ye.Z)((0,Te.Z)().mark((function e(n,t){var i,o,r,a,s,c,l,d;return(0,Te.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=t.getState,t.rejectWithValue,o=t.dispatch,r=i(),a=function(e){var t=(0,g.LL)("".concat(n,"-").concat(e.name,"-").concat((new Date).getTime(),"-").concat(Math.random())),i=(0,ke.YO)(8),r=(0,A.LR)(n,(0,g.LL)(e.name),e.version_id,e.size,null,i,(function(e){o((0,E.RO)({instanceID:t,progress:e}))}),(function(){o((0,E.oK)(t))}),(function(e){o((0,E.qJ)({instanceID:t,msg:e}))}),(function(){o((0,E.Im)(t))}),(function(){o((0,F.y1)("File download will be handled directly by the browser."))}));(0,ke.EN)(i,r),o((0,E.Mc)({ID:i,bucketName:n,done:!1,instanceID:t,percentage:0,prefix:e.name,type:"download",waitingForFile:!0,failed:!1,cancelled:!1,errorMessage:""}))},0===r.objectBrowser.selectedObjects.length){e.next=26;break}if(s=[],c=function(e){return r.objectBrowser.selectedObjects.includes(e.name)},1!==(s=r.objectBrowser.records.filter(c)).length){e.next=16;break}if(!(s[0].name.length>200&&(0,g.mv)().toLowerCase().includes("win"))){e.next=13;break}return o((0,E.$y)(s[0])),e.abrupt("return");case 13:a(s[0]);case 14:e.next=26;break;case 16:if(1!==s.length){e.next=20;break}a(s[0]),e.next=26;break;case 20:if(!(s.length>1)){e.next=26;break}return l="".concat(x.ou.now().toFormat("LL-dd-yyyy-HH-mm-ss"),"_files_list.zip"),d=s.reduce((function(e,n){var t=null===n||void 0===n?void 0:n.delete_flag;return n&&!t?e.push(n.name):console.log("Skipping ".concat(null===n||void 0===n?void 0:n.name," from download.")),e}),[]),e.next=25,(0,A.Sv)(n,d,l);case 25:return e.abrupt("return");case 26:case"end":return e.stop()}}),e)})));return function(n,t){return e.apply(this,arguments)}}()),cn=(0,an.hg)("objectBrowser/openPreview",function(){var e=(0,ye.Z)((0,Te.Z)().mark((function e(n,t){var i,o,r,a,s;return(0,Te.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=t.getState,t.rejectWithValue,o=t.dispatch,1===(r=i()).objectBrowser.selectedObjects.length&&(s=function(e){return r.objectBrowser.selectedObjects.includes(e.name)},(a=r.objectBrowser.records.find(s))&&(o((0,E.eP)(a)),o((0,E.ei)(!0))));case 3:case"end":return e.stop()}}),e)})));return function(n,t){return e.apply(this,arguments)}}()),ln=(0,an.hg)("objectBrowser/openShare",function(){var e=(0,ye.Z)((0,Te.Z)().mark((function e(n,t){var i,o,r,a,s;return(0,Te.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=t.getState,t.rejectWithValue,o=t.dispatch,1===(r=i()).objectBrowser.selectedObjects.length&&(s=function(e){return r.objectBrowser.selectedObjects.includes(e.name)},(a=r.objectBrowser.records.find(s))&&(o((0,E.eP)(a)),o((0,E.Qf)(!0))));case 3:case"end":return e.stop()}}),e)})));return function(n,t){return e.apply(this,arguments)}}()),dn=(0,an.hg)("objectBrowser/openAnonymousAccess",function(){var e=(0,ye.Z)((0,Te.Z)().mark((function e(n,t){var i,o,r;return(0,Te.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=t.getState,o=t.dispatch,1===(r=i()).objectBrowser.selectedObjects.length&&r.objectBrowser.selectedObjects[0].endsWith("/")&&o((0,E.xV)(!0));case 3:case"end":return e.stop()}}),e)})));return function(n,t){return e.apply(this,arguments)}}()),un=t(59114),fn=function(){var e=(0,d.TL)(),n=(0,a.v9)((function(e){return e.objectBrowser.searchObjects}));return(0,k.jsx)(un.Z,{placeholder:"Start typing to filter objects in the bucket",onChange:function(n){e((0,E.G4)(n))},value:n})},hn=t(94619),mn=(0,N.Z)(r.lazy((function(){return t.e(711).then(t.bind(t,50711))}))),pn=(0,N.Z)(r.lazy((function(){return Promise.resolve().then(t.bind(t,34433))}))),xn=(0,N.Z)(r.lazy((function(){return Promise.all([t.e(7847),t.e(6901)]).then(t.bind(t,26901))}))),bn=(0,N.Z)(r.lazy((function(){return Promise.resolve().then(t.bind(t,78562))}))),vn=(0,Z.Z)((function(e){return(0,c.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)({badgeOverlap:{"& .MuiBadge-badge":{top:10,right:1,width:5,height:5,minWidth:5}}},u.VX),u.OR),u.qg),{},{searchField:(0,o.Z)((0,o.Z)({},u.qg.searchField),{},{maxWidth:380}),screenTitleContainer:{border:"#EAEDEE 1px solid",padding:"0 5px"},labelStyle:{color:"#969FA8",fontSize:"12px"},breadcrumbsContainer:{padding:"12px 14px 5px"},fullContainer:{width:"100%",position:"relative","&.detailsOpen":{"@media (max-width: 799px)":{display:"none"}}},hideListOnSmall:{"@media (max-width: 799px)":{display:"none"}},actionsSection:{display:"flex",justifyContent:"space-between",width:"100%"}},u.C4),u.cx),u.Bz))})),jn={borderWidth:2,borderRadius:2,borderColor:"#eeeeee",outline:"none"},gn={borderStyle:"dashed",backgroundColor:"#fafafa",borderColor:"#2196f3"},_n={borderStyle:"dashed",backgroundColor:"#fafafa",borderColor:"#00e676"},Sn=function(){var e,n=vn(),t=(0,d.TL)(),i=(0,s.UO)(),c=(0,s.s0)(),l=(0,s.TH)(),u=(0,a.v9)((function(e){return e.objectBrowser.rewind.rewindEnabled})),v=(0,a.v9)((function(e){return e.objectBrowser.rewind.bucketToRewind})),S=(0,a.v9)((function(e){return e.objectBrowser.versionsMode})),w=(0,a.v9)((function(e){return e.objectBrowser.showDeleted})),Z=(0,a.v9)((function(e){return e.objectBrowser.objectDetailsOpen})),C=(0,a.v9)((function(e){return e.objectBrowser.selectedInternalPaths})),N=(0,a.v9)((function(e){return e.objectBrowser.loadingObjects})),L=(0,a.v9)((function(e){return e.objectBrowser.simplePath})),B=(0,a.v9)((function(e){return e.objectBrowser.versionInfo})),D=(0,a.v9)((function(e){return e.objectBrowser.lockingEnabled})),R=(0,a.v9)((function(e){return e.objectBrowser.downloadRenameModal})),M=(0,a.v9)((function(e){return e.objectBrowser.selectedPreview})),U=(0,a.v9)((function(e){return e.objectBrowser.shareFileModalOpen})),W=(0,a.v9)((function(e){return e.objectBrowser.previewOpen})),H=(0,a.v9)((function(e){return e.objectBrowser.selectedBucket})),V=(0,a.v9)((function(e){return e.system.anonymousMode})),J=(0,a.v9)((function(e){return e.objectBrowser.anonymousAccessOpen})),Y=(0,a.v9)($e.HQ),q=(0,a.v9)($e.G6),$=(0,r.useState)(!1),X=(0,h.Z)($,2),Q=X[0],ee=X[1],ne=(0,r.useState)(!1),te=(0,h.Z)(ne,2),ie=te[0],ae=te[1],se=(0,r.useState)(!1),ce=(0,h.Z)(se,2),de=ce[0],ue=ce[1],fe=(0,r.useState)(!1),he=(0,h.Z)(fe,2),me=he[0],pe=he[1],xe=(0,r.useState)(!1),be=(0,h.Z)(xe,2),ve=be[0],je=be[1],ge=(0,r.useState)(null),_e=(0,h.Z)(ge,2),Se=_e[0],we=_e[1],Ze=(0,r.useState)(null),Ce=(0,h.Z)(Ze,2),Te=Ce[0],ye=Ce[1],Ne=(0,r.useState)(!1),Fe=(0,h.Z)(Ne,2),Ee=Fe[0],Oe=Fe[1],Ie=le(B.status),Le=i.bucketName||"",Be=l.pathname.split("/browser/".concat(Le,"/")),Ae=2===Be.length?Be[1]:"",Re=(0,g.IO)(Ae),Me=Re.split("/").filter((function(e){return""!==e})),Ue=[Le];Me.length>0&&(Ue=Ue.concat(Me));var ze=(0,r.useRef)(null),We=(0,r.useRef)(null),Ke=(0,a.v9)((function(e){return e.console.session&&e.console.session.permissions||{}})),He=[y.Ft.S3_PUT_OBJECT,y.Ft.S3_PUT_ACTIONS],Ve=Ue.join("/"),Je=function(e,n){var t=I(e,n,arguments.length>2&&void 0!==arguments[2]?arguments[2]:[]).reduce((function(e,n){var t=O(n);return t&&e.push(".".concat(t)),e}),[]);return(0,f.Z)(new Set(t)).join(",")}(Ke,Ve,He),Ye=I(Ke,Ve,He),Xe=(0,T.F)([Ve].concat((0,f.Z)(Ye)),[y.Ft.S3_GET_OBJECT,y.Ft.S3_GET_ACTIONS]),Qe=(0,T.F)([Ve].concat((0,f.Z)(Ye)),[y.Ft.S3_DELETE_OBJECT]),en=(0,T.F)([Ve].concat((0,f.Z)(Ye)),He)||V,nn=(0,T.F)(Le,[y.Ft.S3_GET_BUCKET_POLICY,y.Ft.S3_PUT_BUCKET_POLICY,y.Ft.S3_GET_ACTIONS,y.Ft.S3_PUT_ACTIONS]),tn=(0,a.v9)((function(e){return e.objectBrowser.selectedObjects})),on=(0,r.useCallback)((function(){var e=tn[0];if(!Ee){var n=(0,g.LL)(e);oe.h.buckets.getObjectMetadata(Le,{prefix:n}).then((function(e){var n=j()(e.data,"objectMetadata",{});Oe(!0),ye(n)})).catch((function(e){console.error("Error Getting Metadata Status: ",e,null===e||void 0===e?void 0:e.detailedError),Oe(!0)}))}}),[Le,tn,Ee]);(0,r.useEffect)((function(){Le&&1===tn.length&&on()}),[Le,tn,on]),(0,r.useEffect)((function(){t((0,E.G4)("")),t((0,E.Cn)(!0)),t((0,E.S2)([]))}),[L,t]),(0,r.useEffect)((function(){u&&v!==Le&&t((0,E._w)())}),[u,v,Le,t]),(0,r.useEffect)((function(){null!==We.current&&(We.current.setAttribute("directory",""),We.current.setAttribute("webkitdirectory",""))}),[We]),(0,r.useEffect)((function(){if(1===tn.length){var e=tn[0],n=(0,A.s7)(Te,e);je(!("none"===n||!Xe)),e.endsWith("/")||Xe?pe(!0):pe(!1)}else pe(!1),je(!1)}),[tn,Xe,Te]),(0,r.useEffect)((function(){Se||V||oe.h.buckets.getBucketQuota(Le).then((function(e){var n=null;e.data.quota&&(n=e.data),we(n)})).catch((function(e){console.error("Error Getting Quota Status: ",e.error.detailedMessage),we(null)}))}),[Se,Le,V]),(0,r.useEffect)((function(){tn.length>0?t((0,E.vb)(!0)):0!==tn.length||null!==C||N||t((0,E.vb)(!1))}),[tn,C,t,N]),(0,r.useEffect)((function(){de||(t((0,$e.d5)(!0)),ue(!0))}),[de,t,ue]),(0,r.useEffect)((function(){!N&&!Y||V||oe.h.buckets.bucketInfo(Le).then((function(e){t((0,$e.d5)(!1)),t((0,$e.f4)(e.data)),t((0,E.RS)(Le))})).catch((function(e){t((0,$e.d5)(!1)),t((0,F.Ih)((0,re.g)(e)))}))}),[Le,Y,t,V,N]),(0,r.useEffect)((function(){""!==H&&oe.h.buckets.getBucketRetentionConfig(H).then((function(e){t((0,E.c8)(e.data))})).catch((function(){t((0,E.c8)(null))}))}),[H,t]);var an=function(e){if(null!==e&&void 0!==e&&null!==e.target.files&&void 0!==e.target.files){e.preventDefault();for(var n=[],t=0;t1,w="An error occurred while uploading the file".concat(S?"s":"","."),Z={413:"Error - File size too large"};_.withCredentials=!1,_.onload=function(e){if(_.status>=200&&_.status<300)t((0,E.oK)(v)),a({status:_.status}),(0,ke.GM)(p);else{if(Z[_.status])w=Z[_.status];else if(_.response)try{var n=JSON.parse(_.response);w=n.detailedMessage}catch(i){w="something went wrong"}t((0,E.qJ)({instanceID:v,msg:w})),s({status:_.status,message:w}),(0,ke.GM)(p)}},_.upload.addEventListener("error",(function(e){s(w),t((0,E.qJ)({instanceID:v,msg:"A network error occurred."}))})),_.upload.addEventListener("progress",(function(e){var n=Math.floor(100*e.loaded/e.total);t((0,E.RO)({instanceID:v,progress:n}))})),_.onerror=function(){s(w),t((0,E.qJ)({instanceID:v,msg:"A network error occurred."}))},_.onloadend=function(){0===e.length&&t((0,E.Cn)(!0))},_.onabort=function(){t((0,E.Im)(v))};var C=new FormData;void 0!==r.size&&(C.append(r.size.toString(),d,l),(0,ke.EN)(p,_),t((0,E.Mc)({ID:p,bucketName:n,done:!1,instanceID:v,percentage:0,prefix:"".concat((0,g.IO)(u)).concat(l),type:"upload",waitingForFile:!1,failed:!1,cancelled:!1,errorMessage:""})),(0,ke.N5)(p,C))}))},a=[];t((0,E.LD)());for(var s=0;s0){var i=a.length,o=a.length-n.length,r={errorMessage:"There were some errors during file upload",detailedError:"Uploaded files ".concat(o,"/").concat(i)};t((0,F.Ih)(r))}t((0,E.Cn)(!0)),t((0,E.S2)([]))}))}(e,Le,i,n)}),[Le,t,L,V]),Sn=(0,r.useCallback)((function(e){if(e&&e.length>0&&en){var n,i,o=e[0].path,r=[];if((r=Je.length>0?e.filter((function(e){var n=O(e.name);return Je.includes(n)})):e).length)un(r,o),(n=console).log.apply(n,["".concat(r.length," Allowed Files Processed out of ").concat(e.length,"."),Ve].concat((0,f.Z)(Ye))),r.length!==e.length&&t((0,F.Ih)({errorMessage:"Upload is restricted.",detailedError:(0,y.MK)([y.Ft.S3_PUT_OBJECT,y.Ft.S3_PUT_ACTIONS],"upload objects to this location")}));else t((0,F.Ih)({errorMessage:"Could not process drag and drop.",detailedError:(0,y.MK)([y.Ft.S3_PUT_OBJECT,y.Ft.S3_PUT_ACTIONS],"upload objects to this location")})),(i=console).error.apply(i,["Could not process drag and drop . upload may be restricted.",Ve].concat((0,f.Z)(Ye)))}en||t((0,F.Ih)({errorMessage:"Upload not allowed",detailedError:(0,y.MK)([y.Ft.S3_PUT_OBJECT,y.Ft.S3_PUT_ACTIONS],"upload objects to this location")}))}),[un]),wn=(0,m.uI)({noClick:!0,onDrop:Sn}),Zn=wn.getRootProps,Cn=wn.getInputProps,Tn=wn.isDragActive,yn=wn.isDragAccept,Nn=(0,r.useMemo)((function(){return(0,o.Z)((0,o.Z)((0,o.Z)({},jn),Tn?gn:{}),yn?_n:{})}),[Tn,yn]),Fn=function(e){if(t((0,E.EE)(null)),t((0,E.db)({status:!1})),Z&&null!==C){var n=(0,g.IO)(Ae).split("/");n.pop();var i="";n&&n.length>0&&(i="".concat(n.join("/"),"/")),c("/browser/".concat(Le,"/").concat((0,g.LL)(i)))}t((0,E.vb)(!1)),t((0,E.S2)([])),e&&t((0,E.Cn)(!0))},En=x.ou.now();null!==q&&void 0!==q&&q.creation_date&&(En=x.ou.fromISO(q.creation_date));var On=(null===tn||void 0===tn?void 0:tn.length)<=1?"Download Selected":" Download selected objects as Zip. Any Deleted objects in the selection would be skipped from download.",In=[{action:function(){t(sn(Le))},label:"Download",disabled:!Xe||0===(null===tn||void 0===tn?void 0:tn.length),icon:(0,k.jsx)(p._8t,{}),tooltip:Xe?On:(0,y.MK)([y.Ft.S3_GET_OBJECT,y.Ft.S3_GET_ACTIONS],"download objects from this bucket")},{action:function(){t(ln())},label:"Share",disabled:1!==tn.length||!me,icon:(0,k.jsx)(p.aAc,{}),tooltip:me?"Share Selected File":"Sharing unavailable"},{action:function(){t(cn())},label:"Preview",disabled:1!==tn.length||!ve,icon:(0,k.jsx)(p.P99,{}),tooltip:ve?"Preview Selected File":"Preview unavailable"},{action:function(){t(dn())},label:"Anonymous Access",disabled:1!==tn.length||!tn[0].endsWith("/")||!nn,icon:(0,k.jsx)(p.cuP,{}),tooltip:1===tn.length&&tn[0].endsWith("/")?"Set Anonymous Access to this Folder":"Anonymous Access unavailable"},{action:function(){ee(!0)},label:"Delete",icon:(0,k.jsx)(p.pJl,{}),disabled:!Qe||0===tn.length,tooltip:Qe?"Delete Selected Files":(0,y.MK)([y.Ft.S3_DELETE_OBJECT],"delete objects in this bucket")}];return(0,k.jsxs)(r.Fragment,{children:[U&&M&&(0,k.jsx)(pn,{open:U,closeModalAndRefresh:function(){t((0,E.Qf)(!1)),t((0,E.eP)(null))},bucketName:Le,dataObject:{name:M.name,last_modified:"",version_id:M.version_id}}),Q&&(0,k.jsx)(mn,{deleteOpen:Q,selectedBucket:Le,selectedObjects:tn,closeDeleteModalAndRefresh:function(e){ee(!1),e&&(t((0,F.y1)("Objects deleted successfully.")),t((0,E.S2)([])),t((0,E.Cn)(!0)))},versioning:B}),ie&&(0,k.jsx)(xn,{open:ie,closeModalAndRefresh:function(){ae(!1)},bucketName:Le}),W&&(0,k.jsx)(bn,{open:W,bucketName:Le,object:M,onClosePreview:function(){t((0,E.ei)(!1)),t((0,E.eP)(null))}}),!!R&&(0,k.jsx)(Pe,{open:!!R,closeModal:function(){t((0,E.$y)(null))},currentItem:(null===(e=R.name.split("/"))||void 0===e?void 0:e.pop())||"",bucketName:Le,internalPaths:Ae,actualInfo:{name:R.name,last_modified:"",version_id:R.version_id,size:R.size}}),J&&(0,k.jsx)(hn.default,{onClose:function(){t((0,E.xV)(!1))},bucket:Le,modalOpen:J,prefilledRoute:"".concat(tn[0],"*")}),(0,k.jsxs)(p.Xgh,{variant:"full",children:[V&&(0,k.jsx)("div",{style:{paddingBottom:16},children:(0,k.jsx)(fn,{})}),(0,k.jsx)(b.ZP,{item:!0,xs:12,className:n.screenTitleContainer,children:(0,k.jsx)(p.UHn,{icon:(0,k.jsx)("span",{children:(0,k.jsx)(p.wNb,{style:{width:30}})}),title:Le,subTitle:V?null:(0,k.jsxs)(r.Fragment,{children:[(0,k.jsxs)("span",{className:n.detailsSpacer,children:["Created on:\xa0\xa0",(0,k.jsx)("strong",{children:null!==q&&void 0!==q&&q.creation_date?En.toFormat("ccc, LLL dd yyyy HH:mm:ss (ZZZZ)"):""})]}),(0,k.jsxs)("span",{className:n.detailsSpacer,children:["Access:\xa0\xa0\xa0",(0,k.jsx)("strong",{children:(null===q||void 0===q?void 0:q.access)||""})]}),q&&(0,k.jsx)(r.Fragment,{children:(0,k.jsxs)("span",{className:n.detailsSpacer,children:[q.size&&(0,k.jsx)(r.Fragment,{children:(0,g.l5)(q.size)}),q.size&&Se&&(0,k.jsxs)(r.Fragment,{children:[" ","/ ",(0,g.l5)(Se.quota||0)]}),q.size&&q.objects?" - ":"",q.objects&&(0,k.jsxs)(r.Fragment,{children:[q.objects,"\xa0Object",q.objects&&1!==q.objects?"s":""]})]})})]}),actions:(0,k.jsxs)(r.Fragment,{children:[!V&&(0,k.jsx)(z.Z,{tooltip:"Rewind Bucket",children:(0,k.jsx)(p.zxk,{id:"rewind-objects-list",label:"Rewind",icon:(0,k.jsx)(_.Z,{badgeContent:" ",color:"secondary",variant:"dot",invisible:!u,className:n.badgeOverlap,sx:{height:16},children:(0,k.jsx)(p.F_y,{style:{minWidth:16,minHeight:16,width:16,height:16,marginTop:-3}})}),variant:"regular",onClick:function(){ae(!0)},disabled:!Ie||!(0,T.F)(Le,[y.Ft.S3_GET_OBJECT,y.Ft.S3_GET_ACTIONS])})}),(0,k.jsx)(z.Z,{tooltip:"Reload List",children:(0,k.jsx)(p.zxk,{id:"refresh-objects-list",label:"Refresh",icon:(0,k.jsx)(p.DuK,{}),variant:"regular",onClick:function(){S?t((0,E.Eq)(!0)):(t((0,E.o_)()),t((0,E._D)(!0)),t((0,E.Cn)(!0)))},disabled:!V&&(!(0,T.F)(Le,[y.Ft.S3_LIST_BUCKET,y.Ft.S3_ALL_LIST_BUCKET])||u)})}),(0,k.jsx)("input",{type:"file",multiple:!0,accept:Je||void 0,onChange:an,style:{display:"none"},ref:ze}),(0,k.jsx)("input",{type:"file",multiple:!0,onChange:an,style:{display:"none"},ref:We}),(0,k.jsx)(G,{bucketName:Le,uploadPath:Ve,uploadFileFunction:function(e){ze&&ze.current&&ze.current.click(),e()},uploadFolderFunction:function(e){We&&We.current&&We.current.click(),e()}})]}),bottomBorder:!1})}),(0,k.jsxs)("div",(0,o.Z)((0,o.Z)({id:"object-list-wrapper"},Zn({style:(0,o.Z)({},Nn)})),{},{children:[(0,k.jsx)("input",(0,o.Z)({},Cn())),(0,k.jsxs)(b.ZP,{item:!0,xs:12,className:n.tableBlock,sx:{border:"#EAEDEE 1px solid",borderTop:0},children:[S?(0,k.jsx)(r.Fragment,{children:null!==C&&(0,k.jsx)(qe,{internalPaths:C,bucketName:Le})}):(0,k.jsx)(T.s,{scopes:[y.Ft.S3_LIST_BUCKET,y.Ft.S3_ALL_LIST_BUCKET],resource:Le,errorProps:{disabled:!0},children:(0,k.jsxs)(b.ZP,{item:!0,xs:12,className:"".concat(n.fullContainer," ").concat(Z?"detailsOpen":""," "),children:[!V&&(0,k.jsx)(b.ZP,{item:!0,xs:12,className:n.breadcrumbsContainer,children:(0,k.jsx)(P,{bucketName:Le,internalPaths:Re,additionalOptions:!Ie||u?null:(0,k.jsx)("div",{children:(0,k.jsx)(Ge.Z,{name:"deleted_objects",id:"showDeletedObjects",value:"deleted_on",label:"Show deleted objects",onChange:function(){t((0,E.o_)()),t((0,E.mz)(!w)),Fn(!0)},checked:w,overrideLabelClasses:n.labelStyle,className:n.overrideShowDeleted,noTopMargin:!0})}),hidePathButton:!1})}),(0,k.jsx)(rn,{internalPaths:C})]})}),!V&&(0,k.jsx)(T.s,{scopes:[y.Ft.S3_LIST_BUCKET,y.Ft.S3_ALL_LIST_BUCKET],resource:Le,errorProps:{disabled:!0},children:(0,k.jsxs)(K,{open:Z,closePanel:function(){Fn(!1)},className:"".concat(S?n.hideListOnSmall:""),children:[tn.length>0&&(0,k.jsx)(p.Wk,{items:In,title:"Selected Objects:"}),null!==C&&(0,k.jsx)(De,{internalPaths:C,bucketName:Le,onClosePanel:Fn,versioningInfo:B,locking:D})]})})]})]}))]})]})},wn=t(49535),Zn=t(26824),Cn=t(73996),Tn=t(47974),yn=t(4677),Nn=t(99670),Fn=function(e){var n=e.bucketName,t=(0,d.TL)(),i=(0,a.v9)(tn.$4),o=(0,a.v9)((function(e){return e.objectBrowser.versionsMode})),c=(0,a.v9)((function(e){return e.objectBrowser.versionedFile})),l=(0,a.v9)((function(e){return e.objectBrowser.searchVersions})),u=!(null===i||void 0===i||!i.includes("object-browser-only")),f=(0,s.s0)(),h=(0,wn.Z)(n,[y.Ft.S3_GET_BUCKET_POLICY,y.Ft.S3_PUT_BUCKET_POLICY,y.Ft.S3_GET_BUCKET_VERSIONING,y.Ft.S3_PUT_BUCKET_VERSIONING,y.Ft.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION,y.Ft.S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION,y.Ft.S3_DELETE_BUCKET,y.Ft.S3_GET_BUCKET_NOTIFICATIONS,y.Ft.S3_PUT_BUCKET_NOTIFICATIONS,y.Ft.S3_GET_REPLICATION_CONFIGURATION,y.Ft.S3_PUT_REPLICATION_CONFIGURATION,y.Ft.S3_GET_LIFECYCLE_CONFIGURATION,y.Ft.S3_PUT_LIFECYCLE_CONFIGURATION,y.Ft.ADMIN_GET_BUCKET_QUOTA,y.Ft.ADMIN_SET_BUCKET_QUOTA,y.Ft.S3_PUT_BUCKET_TAGGING,y.Ft.S3_GET_BUCKET_TAGGING,y.Ft.S3_LIST_BUCKET_VERSIONS,y.Ft.S3_GET_BUCKET_POLICY_STATUS,y.Ft.S3_DELETE_BUCKET_POLICY,y.Ft.S3_GET_ACTIONS,y.Ft.S3_PUT_ACTIONS]),m=(0,k.jsx)(r.Fragment,{children:o?(0,k.jsx)(r.Fragment,{children:(0,k.jsx)(un.Z,{placeholder:"Start typing to filter versions of ".concat(c),onChange:function(e){t((0,E.Pr)(e))},value:l})}):(0,k.jsx)(T.s,{scopes:[y.Ft.S3_LIST_BUCKET,y.Ft.S3_ALL_LIST_BUCKET],resource:n,errorProps:{disabled:!0},children:(0,k.jsx)(fn,{})})});return(0,r.useEffect)((function(){t((0,F.Sc)("object_browser"))}),[]),(0,k.jsx)(r.Fragment,{children:u?(0,k.jsxs)(p.rjZ,{container:!0,sx:{padding:"20px 32px 0"},children:[(0,k.jsx)(p.rjZ,{children:(0,k.jsx)(Cn.Z,{marginRight:30,marginTop:10})}),(0,k.jsxs)(p.rjZ,{item:!0,xs:!0,sx:{display:"flex",gap:10},children:[m,(0,k.jsx)(yn.Z,{})]})]}):(0,k.jsx)(Tn.Z,{label:(0,k.jsx)(p.hbI,{label:"Object Browser",onClick:function(){f(y.gA.OBJECT_BROWSER_VIEW)}}),actions:(0,k.jsxs)(r.Fragment,{children:[(0,k.jsx)(T.s,{scopes:y.D[y.EI.BUCKET_ADMIN],resource:n,errorProps:{disabled:!0},children:(0,k.jsx)(z.Z,{tooltip:h?"Configure Bucket":"You do not have the required permissions to configure this bucket. Please contact your MinIO administrator to request "+y.EI.BUCKET_ADMIN+" permisions.",children:(0,k.jsx)(p.zxk,{id:"configure-bucket-main",color:"primary","aria-label":"Configure Bucket",onClick:function(){return f("/buckets/".concat(n,"/admin"))},icon:(0,k.jsx)(p.ewm,{style:{width:20,height:20,marginTop:-3}}),style:{padding:"0 10px"}})})}),(0,k.jsx)(Nn.Z,{})]}),middleComponent:m})})},En=0,On=0,In=!1,kn=function e(n,t,o){if(!In){In=!0;var r=new URL(window.location.toString()),a=r.port,s=new URL(document.baseURI).pathname,c=(0,Zn.x2)(r.protocol);(i=new WebSocket("".concat(c,"://").concat(r.hostname,":").concat(a).concat(s,"ws/objectManager"))).onopen=function(){In=!1,n&&n(),On=0},t&&(i.onmessage=t);var l=function(){On<=5?(e((function(){}),t,o),On+=1):(console.error("Websocket not available. Please review that your environment settings are enabled to allow websocket connections and that requests are made from the same origin."),o&&o("Couldn't establish WebSocket connection. Please review your configuration and try again."))};i.onclose=function(){In=!1,console.warn("Websocket Disconnected. Attempting Reconnection..."),setTimeout(l,3e3)},i.onerror=function(){In=!1,console.error("Error in websocket connection. Attempting reconnection...")}}},Ln=(0,l.Z)((function(e){return(0,c.Z)((0,o.Z)({},u.Bz))}))((function(){var e=(0,d.TL)(),n=(0,s.UO)(),t=(0,s.TH)(),o=(0,a.v9)((function(e){return e.objectBrowser.loadingVersioning})),c=(0,a.v9)((function(e){return e.objectBrowser.rewind.rewindEnabled})),l=(0,a.v9)((function(e){return e.objectBrowser.rewind.dateToRewind})),u=(0,a.v9)((function(e){return e.objectBrowser.showDeleted})),f=(0,a.v9)((function(e){return e.console.session.allowResources})),h=(0,a.v9)((function(e){return e.objectBrowser.loadingObjects})),m=(0,a.v9)((function(e){return e.objectBrowser.loadingLocking})),p=(0,a.v9)((function(e){return e.objectBrowser.loadRecords})),x=(0,a.v9)((function(e){return e.objectBrowser.selectedInternalPaths})),b=(0,a.v9)((function(e){return e.objectBrowser.simplePath})),v=(0,a.v9)((function(e){return e.objectBrowser.isOpeningObjectDetail})),j=(0,a.v9)((function(e){return e.system.anonymousMode})),_=n.bucketName||"",S=t.pathname.split("/browser/".concat(_,"/")),w=2===S.length?S[1]:"",Z=(0,r.useCallback)((function(n){e((0,E.Cn)(!1));var t=JSON.parse(n.data.toString());if(En===t.request_id){if(t.request_id!==En)return;if("The Access Key Id you provided does not exist in our records."===t.error)window.location.reload();else if("Access Denied."===t.error){var i=t.prefix,o="";if(i){var r=(0,g.IO)(i);o=r.endsWith("/")?r:r+"/"}var a=(0,A.kh)(t.bucketName||_,o,f||[]);return void(a&&0!==a.length?e((0,E.ZJ)(a)):e((0,F.Ih)({errorMessage:t.error,detailedError:t.error})))}if(t.request_end)return e((0,E.Cn)(!1)),void e((0,E._D)(!1));t.data&&e((0,E.rW)(t.data))}}),[e,f,_]),C=(0,r.useCallback)((function(n,t){if(i&&1===i.readyState)try{var o=En+1;e((0,E.o_)()),e((0,E.ZR)(!1));var r={bucket_name:_,prefix:(0,g.LL)(n),mode:c||u?"rewind":"objects",date:t.toISOString(),request_id:o};i.send(JSON.stringify(r)),En=o}catch(a){console.error(a)}else{kn((function(){C(n,t)}),Z,(function(n){e((0,F.Ih)({errorMessage:n,detailedError:n})),e((0,E.ZR)(!0))}))}}),[_,c,u,e,Z]);(0,r.useEffect)((function(){return function(){var e={mode:"cancel",request_id:En};i&&1===i.readyState&&i.send(JSON.stringify(e))}}),[]),(0,r.useEffect)((function(){var n=(0,g.IO)(w);e((0,E.IJ)(!0)),n.endsWith("/")||""===n?(e((0,E.vb)(!1)),e((0,E.EE)(null)),e((0,E.Su)(""===n?"/":n)),e((0,E.Jn)(!0))):(e((0,E.vH)(!0)),e((0,E.vb)(!0)),e((0,E.Eq)(!0)),e((0,E.EE)("".concat(n?"".concat((0,g.LL)(n)):""))),e((0,E.Su)("".concat(n.split("/").slice(0,-1).join("/"),"/"))))}),[_,w,l,c,e]),(0,r.useEffect)((function(){if(!h&&!p&&!c&&!v){var n=(0,g.IO)(w);if(!n.endsWith("/")&&b!==n&&""!==n){(0,E._D)(!0);var t="".concat(n.split("/").slice(0,-1).join("/"),"/");C(t,new Date)}}e((0,E.d_)(!1))}),[h,p,e,w,C,c,b]);var T=(0,wn.Z)(_,[y.Ft.S3_LIST_BUCKET,y.Ft.S3_ALL_LIST_BUCKET])||j;return(0,r.useEffect)((function(){if(h&&T){var n="";if(w){var t=(0,g.IO)(w);n=x===w?"".concat((0,g.IO)(w).split("/").slice(0,-1).join("/"),"/"):t.endsWith("/")?t:t+"/"}var i=new Date;c&&l&&(i=new Date(l)),C(n,i)}else e((0,E.Cn)(!1))}),[h,w,e,l,c,T,C]),(0,r.useEffect)((function(){e((0,E.db)({status:!1}))}),[w,e]),(0,r.useEffect)((function(){o&&!j&&(T?oe.h.buckets.getBucketVersioning(_).then((function(n){e((0,E.lS)(n.data)),e((0,E.IJ)(!1))})).catch((function(n){console.error("Error Getting Object Versioning Status: ",n.error.detailedMessage),e((0,E.IJ)(!1))})):(e((0,E.IJ)(!1)),e((0,E.o_)())))}),[_,o,e,T,j]),(0,r.useEffect)((function(){m&&(T?oe.h.buckets.getBucketObjectLockingStatus(_).then((function(n){e((0,E.lY)(n.data.object_locking_enabled)),e((0,E.Jn)(!1))})).catch((function(n){console.error("Error Getting Object Locking Status: ",n.error.detailedMessage),e((0,E.Jn)(!1))})):(e((0,E.o_)()),e((0,E.Jn)(!1))))}),[_,m,e,T]),(0,r.useEffect)((function(){var n=(0,A.kh)(_,"",f||[]);if(_&&(!n||0===n.length)){e((0,E.o_)()),e((0,E._D)(!0)),e((0,E.Cn)(!0));var t="";if(w){var i=(0,g.IO)(w);t=x===w?"".concat((0,g.IO)(w).split("/").slice(0,-1).join("/"),"/"):i.endsWith("/")?i:i+"/"}C(t,new Date)}}),[_,e,C,f,w,x]),(0,k.jsxs)(r.Fragment,{children:[!j&&(0,k.jsx)(Fn,{bucketName:_}),(0,k.jsx)(Sn,{})]})}))},34433:function(e,n,t){t.r(n),t.d(n,{default:function(){return w}});var i=t(29439),o=t(72791),r=t(78687),a=t(29945),s=t(78029),c=t.n(s),l=t(40986),d=t(56028),u=t(1413),f=t(99779),h=t(11135),m=t(25787),p=t(23814),x=t(80184),b=(0,m.Z)((function(e){return(0,h.Z)((0,u.Z)((0,u.Z)((0,u.Z)({},p.YI),p.Hr),{},{labelContainer:{display:"flex",alignItems:"center",marginBottom:15},fieldContainer:(0,u.Z)((0,u.Z)({},p.YI.fieldContainer),{},{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:10,marginTop:11,marginBottom:6}),durationInputs:{display:"flex",alignItems:"flex-start",justifyContent:"flex-start",gap:10},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,r=e.initialDate,s=e.label,c=e.maxDays,l=e.entity,d=e.onChange,u=(0,o.useState)(7),h=(0,i.Z)(u,2),m=h[0],p=h[1],b=(0,o.useState)(0),v=(0,i.Z)(b,2),j=v[0],g=v[1],_=(0,o.useState)(0),S=(0,i.Z)(_,2),w=S[0],Z=S[1],C=(0,o.useState)(!0),T=(0,i.Z)(C,2),y=T[0],N=T[1],F=(0,o.useState)(f.ou.now()),E=(0,i.Z)(F,2),O=E[0],I=E[1];(0,o.useEffect)((function(){isNaN(j)||isNaN(m)||isNaN(w)||I(function(e,n,t,i){return f.ou.fromJSDate(e).plus({days:n,hours:t,minutes:i})}(r,m,j,w))}),[r,m,j,w]),(0,o.useEffect)((function(){if(y){var e=O.toFormat("yyyy-MM-dd HH:mm:ss");d(e.split(" ").join("T"),!0)}else d("0000-00-00",!1)}),[O,d,y]),(0,o.useEffect)((function(){var e=!0;(m<0||c&&m>c||isNaN(m))&&(e=!1),(j<0||j>23||isNaN(j))&&(e=!1),(w<0||w>59||isNaN(w))&&(e=!1),!c||m!==c||0===j&&0===w||(e=!1),m<=0&&j<=0&&w<=0&&(e=!1),N(e)}),[O,c,d,m,j,w]);var k={"& .textBoxContainer":{minWidth:0},"& input":{textAlign:"center",paddingRight:10,paddingLeft:10,width:40}};return(0,x.jsx)(o.Fragment,{children:(0,x.jsxs)(a.rjZ,{container:!0,className:n.fieldContainer,children:[(0,x.jsx)(a.rjZ,{item:!0,xs:12,className:n.labelContainer,children:(0,x.jsx)(a.AZs,{htmlFor:t,children:s})}),(0,x.jsxs)(a.rjZ,{item:!0,xs:12,className:n.durationInputs,children:[(0,x.jsx)(a.rjZ,{item:!0,xs:!0,className:n.dateInputContainer,children:(0,x.jsx)(a.Wzg,{id:t,className:"".concat(n.reverseInput," removeArrows"),type:"number",min:"0",max:c?c.toString():"999",label:"Days",name:t,onChange:function(e){p(parseInt(e.target.value))},value:m.toString(),sx:k,noLabelMinWidth:!0})}),(0,x.jsx)(a.rjZ,{item:!0,xs:!0,className:n.dateInputContainer,children:(0,x.jsx)(a.Wzg,{id:t,className:"".concat(n.reverseInput," removeArrows"),type:"number",min:"0",max:"23",label:"Hours",name:t,onChange:function(e){g(parseInt(e.target.value))},value:j.toString(),sx:k,noLabelMinWidth:!0})}),(0,x.jsx)(a.rjZ,{item:!0,xs:!0,className:n.dateInputContainer,children:(0,x.jsx)(a.Wzg,{id:t,className:"".concat(n.reverseInput," removeArrows"),type:"number",min:"0",max:"59",label:"Minutes",name:t,onChange:function(e){Z(parseInt(e.target.value))},value:w.toString(),sx:k,noLabelMinWidth:!0})})]}),(0,x.jsx)(a.rjZ,{item:!0,xs:12,className:"".concat(n.validityIndicator," ").concat(n.formFieldRow),children:y?(0,x.jsxs)("div",{className:n.validityText,children:[(0,x.jsx)(a.xPt,{}),(0,x.jsxs)("div",{className:n.validityLabel,children:[l," will be available until:"]})," ",(0,x.jsx)("div",{className:n.validTill,children:O.toFormat("MM/dd/yyyy HH:mm:ss")})]}):(0,x.jsx)("div",{className:n.invalidDurationText,children:"Please select a valid duration."})})]})})})),v=t(45248),j=t(87995),g=t(81551),_=t(31776),S=t(82342),w=function(e){var n=e.open,t=e.closeModalAndRefresh,s=e.bucketName,u=e.dataObject,f=(0,g.TL)(),h=(0,r.v9)(j.N5),m=(0,o.useState)(""),p=(0,i.Z)(m,2),w=p[0],Z=p[1],C=(0,o.useState)(!0),T=(0,i.Z)(C,2),y=T[0],N=T[1],F=(0,o.useState)(!1),E=(0,i.Z)(F,2),O=E[0],I=E[1],k=(0,o.useState)(""),L=(0,i.Z)(k,2),B=L[0],P=L[1],A=(0,o.useState)(!0),D=(0,i.Z)(A,2),R=D[0],M=D[1],U=(0,o.useState)("null"),z=(0,i.Z)(U,2),G=z[0],W=z[1],K=new Date;return(0,o.useEffect)((function(){if(void 0===u.version_id)return h?(_.h.buckets.listObjects(s,{prefix:(0,v.LL)(u.name||""),with_versions:h}).then((function(e){var n=(e.data.objects||[]).find((function(e){return e.is_latest}));W(n?"".concat(n.version_id):"null")})).catch((function(e){f((0,j.zb)((0,S.g)(e.error)))})),void N(!1)):(W("null"),void N(!1));W(u.version_id||"null"),N(!1)}),[s,u,h,f]),(0,o.useEffect)((function(){if(R&&!y){I(!0),Z("");var e=new Date("".concat(B)),n=new Date,t=Math.ceil((e.getTime()-n.getTime())/1e3);t>0&&_.h.buckets.shareObject(s,{prefix:(0,v.LL)(u.name||""),version_id:G,expires:""!==B?"".concat(t,"s"):""}).then((function(e){Z(e.data),I(!1)})).catch((function(e){f((0,j.zb)((0,S.g)(e.error))),Z(""),I(!1)}))}}),[u,B,s,R,Z,f,h,y,G]),(0,x.jsx)(o.Fragment,{children:(0,x.jsxs)(d.Z,{title:"Share File",titleIcon:(0,x.jsx)(a.aAc,{style:{fill:"#4CCB92"}}),modalOpen:n,onClose:function(){t()},children:[y&&(0,x.jsx)(a.rjZ,{item:!0,xs:12,children:(0,x.jsx)(l.Z,{})}),!y&&(0,x.jsxs)(o.Fragment,{children:[(0,x.jsxs)(a.rjZ,{item:!0,xs:12,sx:{fontSize:14,fontWeight:400},children:["This is a temporary URL with integrated access credentials for sharing objects valid for up to 7 days.",(0,x.jsx)("br",{}),(0,x.jsx)("br",{}),"The temporary URL expires after the configured time limit."]}),(0,x.jsx)("br",{}),(0,x.jsx)(a.rjZ,{item:!0,xs:12,children:(0,x.jsx)(b,{initialDate:K,id:"date",label:"Active for",maxDays:7,onChange:function(e,n){M(n),n?P(e):(P(""),Z(""))},entity:"Link"})}),(0,x.jsx)(a.rjZ,{item:!0,xs:12,sx:{marginBottom:10},children:(0,x.jsx)(a.bSr,{actionButton:(0,x.jsx)(c(),{text:w,children:(0,x.jsx)(a.zxk,{id:"copy-path",variant:"regular",onClick:function(){f((0,j.MK)("Share URL Copied to clipboard"))},disabled:""===w||O,style:{width:"28px",height:"28px",padding:"0px"},icon:(0,x.jsx)(a.TIy,{})})}),children:w})})]})]})})}},78562:function(e,n,t){t.r(n),t.d(n,{default:function(){return _}});var i=t(72791),o=t(56028),r=t(4942),a=t(29439),s=t(11135),c=t(25787),l=t(61889),d=t(40986),u=t(47922),f=t(45248),h=t(28182),m=t(16502),p=t(31776),x=t(26181),b=t.n(x),v=t(80184),j=(0,c.Z)((function(){return(0,s.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,s=void 0!==o&&o,c=e.classes,x=(0,i.useState)(!0),j=(0,a.Z)(x,2),g=j[0],_=j[1],S=(0,i.useState)(null),w=(0,a.Z)(S,2),Z=w[0],C=w[1],T=(0,i.useState)(!1),y=(0,a.Z)(T,2),N=y[0],F=y[1],E=(null===t||void 0===t?void 0:t.name)||"",O=(0,i.useCallback)((function(){if(!N){var e=(0,f.LL)(E);p.h.buckets.getObjectMetadata(n,{prefix:e}).then((function(e){var n=b()(e.data,"objectMetadata",{});F(!0),C(n)})).catch((function(e){console.error("Error Getting Metadata Status: ",e,null===e||void 0===e?void 0:e.detailedError),F(!0)}))}}),[n,E,N]);(0,i.useEffect)((function(){n&&E&&O()}),[n,E,O]);var I="";if(t){var k=(0,f.LL)(t.name),L=document.baseURI.replace(window.location.origin,"");I="".concat(window.location.origin).concat(L,"api/v1/buckets/").concat(n,"/objects/download?preview=true&prefix=").concat(k),t.version_id&&(I=I.concat("&version_id=".concat(t.version_id)))}var B=(0,u.s7)(Z,E),P=function(){_(!1)};return(0,v.jsxs)(i.Fragment,{children:["none"!==B&&g&&(0,v.jsx)(l.ZP,{item:!0,xs:12,children:(0,v.jsx)(d.Z,{})}),N?(0,v.jsxs)("div",{style:{textAlign:"center"},children:["video"===B&&(0,v.jsx)("video",{style:{width:"auto",height:"auto",maxWidth:"calc(100vw - 100px)",maxHeight:"calc(100vh - 200px)"},autoPlay:!0,controls:!0,muted:!1,playsInline:!0,onPlay:P,children:(0,v.jsx)("source",{src:I,type:"video/mp4"})}),"audio"===B&&(0,v.jsx)("audio",{style:{width:"100%",height:"auto"},autoPlay:!0,controls:!0,muted:!1,playsInline:!0,onPlay:P,children:(0,v.jsx)("source",{src:I,type:"audio/mpeg"})}),"image"===B&&(0,v.jsx)("img",{style:{width:"auto",height:"auto",maxWidth:"100vw",maxHeight:"100vh"},src:I,alt:"preview",onLoad:P}),"none"===B&&(0,v.jsx)("div",{children:(0,v.jsx)(m.Z,{label:" File couldn't be previewed using file extension or mime type. Please try Download instead",title:"Preview unavailable "})}),"none"!==B&&"video"!==B&&"audio"!==B&&"image"!==B&&(0,v.jsx)("div",{className:(0,h.Z)(c.iframeBase,(0,r.Z)({},c.iframeHidden,g)),children:(0,v.jsx)("iframe",{src:I,title:"File Preview",allowTransparency:!0,className:"".concat(c.iframeContainer," ").concat(s?"fullHeight":B),onLoad:P,children:"File couldn't be loaded. Please try Download instead"})})]}):null]})})),g=t(29945),_=function(e){var n=e.open,t=e.bucketName,r=e.object,a=e.onClosePreview;return(0,v.jsx)(i.Fragment,{children:(0,v.jsx)(o.Z,{modalOpen:n,title:"Preview - ".concat(null===r||void 0===r?void 0:r.name),onClose:a,wideLimit:!1,titleIcon:(0,v.jsx)(g.$30,{}),children:(0,v.jsx)(j,{bucketName:t,object:r})})})}},47922:function(e,n,t){t.d(n,{LR:function(){return p},P_:function(){return v},Sv:function(){return m},kh:function(){return j},s7:function(){return b}});var i=t(15671),o=t(43144),r=t(74165),a=t(15861),s=t(45248),c=t(76610),l=t(81551),d=t(66315),u=t(31776),f=t(87995),h=function(e,n){var t=document.createElement("a");t.href=e,t.download=n,document.body.appendChild(t),t.click(),document.body.removeChild(t)},m=function(){var e=(0,a.Z)((0,r.Z)().mark((function e(n,t,i){var o,a,s,c,m;return(0,r.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=l.ZP.getState(),a=o.system.anonymousMode,e.prev=2,e.next=5,u.h.buckets.downloadMultipleObjects(n,t,{type:d.zc.Json,headers:a?{"X-Anonymous":"1"}:void 0});case 5:return s=e.sent,e.next=8,s.blob();case 8:c=e.sent,m=window.URL.createObjectURL(c),h(m,i),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(2),l.ZP.dispatch((0,f.Ih)({errorMessage:"Download of multiple files failed. ".concat(e.t0.statusText),detailedError:""}));case 16:case"end":return e.stop()}}),e,null,[[2,13]])})));return function(n,t,i){return e.apply(this,arguments)}}(),p=function(e,n,t,i){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,r=arguments.length>5?arguments[5]:void 0,a=arguments.length>6?arguments[6]:void 0,d=arguments.length>7?arguments[7]:void 0,u=arguments.length>8?arguments[8]:void 0,f=arguments.length>9?arguments[9]:void 0,m=arguments.length>10?arguments[10]:void 0,p=document.baseURI.replace(window.location.origin,""),b=l.ZP.getState().system.anonymousMode,v="".concat(window.location.origin).concat(p,"api/v1/buckets/").concat(e,"/objects/download?prefix=").concat(n).concat(null!==o&&""!==o.trim()?"&override_file_name=".concat((0,s.LL)(o||"")):"");if(t&&(v=v.concat("&version_id=".concat(t))),i>53687091200)return new x(v,r,d,m);var j=new XMLHttpRequest;return j.open("GET",v,!0),b&&j.setRequestHeader("X-Anonymous","1"),j.addEventListener("progress",(function(e){var n=Math.round(e.loaded/i*100);a&&a(n)}),!1),j.responseType="blob",j.onreadystatechange=function(){if(4===j.readyState)if(200===j.status){var e=j.getResponseHeader("Content-Disposition"),n="download";if(e)n=decodeURIComponent(e).split('"')[1];d&&d(),(0,c.GM)(r),h(window.URL.createObjectURL(j.response),n)}else{if("application/json"===j.getResponseHeader("Content-Type")){var t=JSON.parse(j.response);if(t.detailedMessage)return void u(t.detailedMessage)}u("Unexpected response status code (".concat(j.status,")."))}},j.onerror=function(){u&&u("A network error occurred.")},j.onabort=function(){f&&f()},j},x=function(){function e(n,t,o,r){(0,i.Z)(this,e),this.path=void 0,this.id=void 0,this.completeCallback=void 0,this.toastCallback=void 0,this.path=n,this.id=t,this.completeCallback=o,this.toastCallback=r}return(0,o.Z)(e,[{key:"send",value:function(){this.toastCallback();var e=document.createElement("a");e.href=this.path,document.body.appendChild(e),e.click(),document.body.removeChild(e),this.completeCallback(),(0,c.GM)(this.id)}}]),e}(),b=function(e,n){var t=(e&&e["Content-Type"]||"").toString(),i=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"].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"}(n||""),o=function(e){if(e){var n=(e||"").toLowerCase();if(n.includes("image"))return"image";if(n.includes("text"))return"text";if(n.includes("audio"))return"audio";if(n.includes("video"))return"video"}return"none"}(t),r=i;return i===o?r=i:"none"===i&&"none"!==o?r=o:"none"===o&&"none"!==i&&(r=i),r},v=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)}}},j=function(e,n,t){if(0===t.length)return null;var i=t.filter((function(n){var t,i;return(null===(t=n.resource)||void 0===t?void 0:t.endsWith(":".concat(e)))||(null===(i=n.resource)||void 0===i?void 0:i.includes(":".concat(e,"/")))}));if(0===i.length)return null;var o=[],r=n.split("/");if(i.forEach((function(e){var t,i,a=null===(t=e.resource)||void 0===t?void 0:t.split(":"),s=((null===a||void 0===a?void 0:a.pop())||"").split("/");(s.length>1&&s.every((function(e,n){return"*"!==e&&((!r[n]||r[n]===e)&&(r[n]||o.push({name:"".concat(e,"/"),size:0,last_modified:"",version_id:""}),!0))})),"StringEquals"===e.conditionOperator||"StringLike"===e.conditionOperator)&&(null===(i=e.prefixes)||void 0===i||i.forEach((function(e){if(""!==e){var t=e.split("/"),i=[],a=n.replace(/\/$/,"");if(!e.startsWith(a)&&""!==n)return;t.every((function(e,n){return!e.includes("*")&&""!==e&&(e!==r[n]?(o.push({name:"".concat(i.join("/")).concat(i.length>0?"/":"").concat(e,"/"),size:0,last_modified:"",version_id:""}),!1):(""!==e&&i.push(e),!0))}))}})))})),o.length>0){var a=[],s=[];o.forEach((function(e){s.includes(e.name)||(a.push(e),s.push(e.name))})),o=a}return o}},75578:function(e,n,t){var i=t(1413),o=t(72791),r=t(80184);n.Z=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return function(t){return(0,r.jsx)(o.Suspense,{fallback:n,children:(0,r.jsx)(e,(0,i.Z)({},t))})}}},34866:function(e,n,t){var i=t(1413),o=t(72791),r=t(61889),a=t(94454),s=t(30829),c=t(20068),l=t(11135),d=t(25787),u=t(23814),f=t(29945),h=t(80184);n.Z=(0,d.Z)((function(e){return(0,l.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},u.YI),u.Hr),u.lM),{},{fieldContainer:(0,i.Z)((0,i.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,i=e.value,l=e.id,d=e.name,u=e.checked,m=void 0!==u&&u,p=e.disabled,x=void 0!==p&&p,b=e.noTopMargin,v=void 0!==b&&b,j=e.tooltip,g=void 0===j?"":j,_=e.overrideLabelClasses,S=void 0===_?"":_,w=e.overrideCheckboxStyles,Z=e.classes,C=e.className;return(0,h.jsx)(o.Fragment,{children:(0,h.jsxs)(r.ZP,{item:!0,xs:12,className:"".concat(Z.fieldContainer," ").concat(v?Z.noTopMargin:""," ").concat(C||""),children:[(0,h.jsx)("div",{children:(0,h.jsx)(a.Z,{name:d,id:l,value:i,color:"primary",inputProps:{"aria-label":"secondary checkbox"},checked:m,onChange:t,checkedIcon:(0,h.jsx)("span",{className:Z.checkedIcon}),icon:(0,h.jsx)("span",{className:Z.unCheckedIcon}),disabled:x,disableRipple:!0,disableFocusRipple:!0,focusRipple:!1,centerRipple:!1,disableTouchRipple:!0,style:w||{}})}),""!==n&&(0,h.jsxs)(s.Z,{htmlFor:l,className:"".concat(Z.noMinWidthLabel," ").concat(S),children:[(0,h.jsx)("span",{children:n}),""!==g&&(0,h.jsx)("div",{className:Z.tooltipContainer,children:(0,h.jsx)(c.Z,{title:g,placement:"top-start",children:(0,h.jsx)("div",{className:Z.tooltip,children:(0,h.jsx)(f.byK,{})})})})]})]})})}))},81159:function(e,n,t){var i=t(4942),o=t(1413),r=t(72791),a=t(11135),s=t(25787),c=t(9955),l=t(30829),d=t(20068),u=t(20890),f=t(61889),h=t(23814),m=t(29945),p=t(28182),x=t(80184),b=(0,s.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(c.Z);n.Z=(0,s.Z)((function(e){return(0,a.Z)((0,o.Z)((0,o.Z)({indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},h.OR),h.YI))}))((function(e){var n=e.label,t=void 0===n?"":n,a=e.onChange,s=e.value,c=e.id,h=e.name,v=e.checked,j=void 0!==v&&v,g=e.disabled,_=void 0!==g&&g,S=e.switchOnly,w=void 0!==S&&S,Z=e.tooltip,C=void 0===Z?"":Z,T=e.description,y=void 0===T?"":T,N=e.classes,F=e.indicatorLabels,E=e.extraInputProps,O=void 0===E?{}:E,I=(0,x.jsxs)(r.Fragment,{children:[!w&&(0,x.jsx)("span",{className:(0,p.Z)(N.indicatorLabel,(0,i.Z)({},N.indicatorLabelOn,!j)),children:F&&F.length>1?F[1]:"OFF"}),(0,x.jsx)(b,{checked:j,onChange:a,color:"primary",name:h,inputProps:(0,o.Z)({"aria-label":"primary checkbox"},O),disabled:_,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:s,id:c}),!w&&(0,x.jsx)("span",{className:(0,p.Z)(N.indicatorLabel,(0,i.Z)({},N.indicatorLabelOn,j)),children:F?F[0]:"ON"})]});return w?I:(0,x.jsx)("div",{children:(0,x.jsxs)(f.ZP,{container:!0,alignItems:"center",children:[(0,x.jsx)(f.ZP,{item:!0,xs:12,sm:8,md:8,children:""!==t&&(0,x.jsxs)(l.Z,{htmlFor:c,className:N.inputLabel,children:[(0,x.jsx)("span",{children:t}),""!==C&&(0,x.jsx)("div",{className:N.tooltipContainer,children:(0,x.jsx)(d.Z,{title:C,placement:"top-start",children:(0,x.jsx)("div",{className:N.tooltip,children:(0,x.jsx)(m.byK,{})})})})]})}),(0,x.jsx)(f.ZP,{item:!0,xs:12,sm:""!==t?4:12,md:""!==t?4:12,textAlign:"right",justifyContent:"end",className:N.switchContainer,children:I}),""!==y&&(0,x.jsx)(f.ZP,{item:!0,xs:12,textAlign:"left",children:(0,x.jsx)(u.Z,{component:"p",className:N.fieldDescription,children:y})})]})})}))},21435:function(e,n,t){var i=t(29439),o=t(1413),r=t(72791),a=t(27391),s=t(61889),c=t(30829),l=t(20068),d=t(13400),u=t(20165),f=t(3579),h=t(11135),m=t(72455),p=t(25787),x=t(23814),b=t(29945),v=t(28182),j=t(80184),g=(0,m.Z)((function(e){return(0,h.Z)((0,o.Z)({},x.gM))}));function _(e){var n=g();return(0,j.jsx)(a.Z,(0,o.Z)({InputProps:{classes:n}},e))}n.Z=(0,p.Z)((function(e){return(0,h.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},x.YI),x.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}}}))}))((function(e){var n=e.label,t=e.onChange,a=e.value,h=e.id,m=e.name,p=e.type,x=void 0===p?"text":p,g=e.autoComplete,S=void 0===g?"off":g,w=e.disabled,Z=void 0!==w&&w,C=e.multiline,T=void 0!==C&&C,y=e.tooltip,N=void 0===y?"":y,F=e.index,E=void 0===F?0:F,O=e.error,I=void 0===O?"":O,k=e.required,L=void 0!==k&&k,B=e.placeholder,P=void 0===B?"":B,A=e.min,D=e.max,R=e.overlayId,M=e.overlayIcon,U=void 0===M?null:M,z=e.overlayObject,G=void 0===z?null:z,W=e.extraInputProps,K=void 0===W?{}:W,H=e.overlayAction,V=e.noLabelMinWidth,J=void 0!==V&&V,Y=e.pattern,q=void 0===Y?"":Y,$=e.autoFocus,X=void 0!==$&&$,Q=e.classes,ee=e.className,ne=void 0===ee?"":ee,te=e.onKeyPress,ie=e.onFocus,oe=e.onPaste,re=(0,o.Z)({"data-index":E},K),ae=(0,r.useState)(!1),se=(0,i.Z)(ae,2),ce=se[0],le=se[1];"number"===x&&A&&(re.min=A),"number"===x&&D&&(re.max=D),""!==q&&(re.pattern=q);var de=U,ue=x;return"password"===x&&null===U&&(de=ce?(0,j.jsx)(u.Z,{}):(0,j.jsx)(f.Z,{}),ue=ce?"text":"password"),(0,j.jsx)(r.Fragment,{children:(0,j.jsxs)(s.ZP,{container:!0,className:(0,v.Z)(""!==ne?ne:"",""!==I?Q.errorInField:Q.inputBoxContainer),children:[""!==n&&(0,j.jsxs)(c.Z,{htmlFor:h,className:J?Q.noMinWidthLabel:Q.inputLabel,children:[(0,j.jsxs)("span",{children:[n,L?"*":""]}),""!==N&&(0,j.jsx)("div",{className:Q.tooltipContainer,children:(0,j.jsx)(l.Z,{title:N,placement:"top-start",children:(0,j.jsx)("div",{className:Q.tooltip,children:(0,j.jsx)(b.byK,{})})})})]}),(0,j.jsxs)("div",{className:Q.textBoxContainer,children:[(0,j.jsx)(_,{id:h,name:m,fullWidth:!0,value:a,autoFocus:X,disabled:Z,onChange:t,type:ue,multiline:T,autoComplete:S,inputProps:re,error:""!==I,helperText:I,placeholder:P,className:Q.inputRebase,onKeyPress:te,onFocus:ie,onPaste:oe}),de&&(0,j.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,j.jsx)(d.Z,{onClick:H?function(){H()}:function(){return le(!ce)},id:R,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:de})}),G&&(0,j.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==n?"withLabel":""),children:G})]})]})})}))},16502:function(e,n,t){t(72791);var i=t(11135),o=t(25787),r=t(80184);n.Z=(0,o.Z)((function(e){return(0,i.Z)({headerContainer:{backgroundColor:"#e78794",borderRadius:3,marginBottom:20,padding:1,paddingBottom:15},labelHeadline:{color:"#000000",fontSize:14,marginLeft:20},labelText:{color:"#000000",fontSize:14,marginLeft:20,marginRight:40}})}))((function(e){var n=e.classes,t=e.label,i=e.title;return(0,r.jsxs)("div",{className:n.headerContainer,children:[(0,r.jsx)("h4",{className:n.labelHeadline,children:i}),(0,r.jsx)("div",{className:n.labelText,children:t})]})}))},73669:function(e,n,t){var i=t(29439),o=t(72791),r=t(64554),a=t(29945),s=t(21435),c=t(80184);n.Z=function(e){var n=e.value,t=(0,o.useState)(!1),l=(0,i.Z)(t,2),d=l[0],u=l[1];return(0,c.jsxs)(r.Z,{sx:{display:"flex",alignItems:"center",flexFlow:{sm:"row",xs:"column"}},children:[(0,c.jsx)(s.Z,{id:"inspect-dec-key",name:"inspect-dec-key",placeholder:"",label:"",type:d?"text":"password",onChange:function(){},value:n,overlayIcon:(0,c.jsx)(a.TIy,{}),extraInputProps:{readOnly:!0},overlayAction:function(){return navigator.clipboard.writeText(n)}}),(0,c.jsx)(a.zxk,{id:"show-hide-key",style:{marginLeft:"10px"},variant:"callAction",onClick:function(){return u(!d)},label:"Show/Hide"})]})}},26824:function(e,n,t){t.d(n,{HE:function(){return r},V9:function(){return i},ci:function(){return o},x2:function(){return a}});var i=1006,o=1008,r=1011,a=function(e){var n="ws";return"https:"===e&&(n="wss"),n}}}]); +//# sourceMappingURL=2603.19110315.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2603.19110315.chunk.js.map b/portal-ui/build/static/js/2603.19110315.chunk.js.map new file mode 100644 index 000000000..4e473bfbb --- /dev/null +++ b/portal-ui/build/static/js/2603.19110315.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2603.19110315.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/AddAccessRule.tsx","screens/Console/Buckets/BucketDetails/BrowserHandler.tsx","screens/Console/Buckets/ListBuckets/UploadPermissionUtils.ts","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","utils/validationFunctions.ts","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/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/utils.ts","screens/Console/ObjectBrowser/RenameLongFilename.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.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/ListObjectsHelpers.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjectsTable.tsx","screens/Console/ObjectBrowser/objectBrowserThunks.ts","screens/Console/ObjectBrowser/FilterObjectsSB.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjects.tsx","screens/Console/ObjectBrowser/OBHeader.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/withSuspense.tsx","screens/Console/Common/FormComponents/CheckboxWrapper/CheckboxWrapper.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/WarningMessage/WarningMessage.tsx","screens/Console/Tools/KeyRevealer.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, { useEffect, useState } from \"react\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport {\n AddAccessRuleIcon,\n Button,\n FormLayout,\n Grid,\n InputBox,\n Select,\n} from \"mds\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { modalStyleUtils } from \"../../Common/FormComponents/common/styleLibrary\";\nimport {\n setErrorSnackMessage,\n setSnackBarMessage,\n} from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IAddAccessRule {\n modalOpen: boolean;\n onClose: () => any;\n bucket: string;\n prefilledRoute?: string;\n}\n\nconst AddAccessRule = ({\n modalOpen,\n onClose,\n bucket,\n prefilledRoute,\n}: IAddAccessRule) => {\n const dispatch = useAppDispatch();\n\n const [prefix, setPrefix] = useState(\"\");\n const [selectedAccess, setSelectedAccess] = useState(\"readonly\");\n\n useEffect(() => {\n if (prefilledRoute) {\n setPrefix(prefilledRoute);\n }\n }, [prefilledRoute]);\n\n const accessOptions = [\n { label: \"readonly\", value: \"readonly\" },\n { label: \"writeonly\", value: \"writeonly\" },\n { label: \"readwrite\", value: \"readwrite\" },\n ];\n\n const resetForm = () => {\n setPrefix(\"\");\n setSelectedAccess(\"readonly\");\n };\n\n const createProcess = () => {\n api.bucket\n .setAccessRuleWithBucket(bucket, {\n prefix: prefix,\n access: selectedAccess,\n })\n .then((res: any) => {\n dispatch(setSnackBarMessage(\"Access Rule added successfully\"));\n onClose();\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err)));\n onClose();\n });\n };\n\n return (\n }\n >\n \n {\n setPrefix(e.target.value);\n }}\n tooltip={\n \"Enter '/' to apply the rule to all prefixes and objects at the bucket root. Do not include the wildcard asterisk '*' as part of the prefix *unless* it is an explicit part of the prefix name. The Console automatically appends an asterisk to the appropriate sections of the resulting IAM policy.\"\n }\n />\n {\n setSelectedAccess(value);\n }}\n label=\"Access\"\n value={selectedAccess}\n options={accessOptions}\n disabled={false}\n />\n \n \n\n \n \n \n \n );\n};\n\nexport default AddAccessRule;\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, useCallback, useEffect } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useLocation, useParams } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport { containerForHeader } from \"../../Common/FormComponents/common/styleLibrary\";\n\nimport ListObjects from \"../ListBuckets/Objects/ListObjects/ListObjects\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\nimport {\n errorInConnection,\n newMessage,\n resetMessages,\n setIsOpeningOD,\n setIsVersioned,\n setLoadingLocking,\n setLoadingObjectInfo,\n setLoadingObjects,\n setLoadingRecords,\n setLoadingVersioning,\n setLoadingVersions,\n setLockingEnabled,\n setObjectDetailsView,\n setRecords,\n setSelectedObjectView,\n setSimplePathHandler,\n setVersionsModeEnabled,\n} from \"../../ObjectBrowser/objectBrowserSlice\";\nimport hasPermission from \"../../../../common/SecureComponent/accessControl\";\nimport { IMessageEvent } from \"websocket\";\nimport { wsProtocol } from \"../../../../utils/wsUtils\";\nimport {\n WebsocketRequest,\n WebsocketResponse,\n} from \"../ListBuckets/Objects/ListObjects/types\";\nimport { decodeURLString, encodeURLString } from \"../../../../common/utils\";\nimport { permissionItems } from \"../ListBuckets/Objects/utils\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport OBHeader from \"../../ObjectBrowser/OBHeader\";\nimport { api } from \"api\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...containerForHeader,\n });\n\nlet objectsWS: WebSocket;\nlet currentRequestID: number = 0;\nlet errorCounter: number = 0;\nlet wsInFlight: boolean = false;\n\nconst initWSConnection = (\n openCallback?: () => void,\n onMessageCallback?: (message: IMessageEvent) => void,\n connErrorCallback?: (message: string) => void,\n) => {\n if (wsInFlight) {\n return;\n }\n wsInFlight = true;\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\n objectsWS = new WebSocket(\n `${wsProt}://${url.hostname}:${port}${baseUrl}ws/objectManager`,\n );\n\n objectsWS.onopen = () => {\n wsInFlight = false;\n if (openCallback) {\n openCallback();\n }\n errorCounter = 0;\n };\n\n if (onMessageCallback) {\n objectsWS.onmessage = onMessageCallback;\n }\n\n const reconnectFn = () => {\n if (errorCounter <= 5) {\n initWSConnection(() => {}, onMessageCallback, connErrorCallback);\n errorCounter += 1;\n } else {\n console.error(\n \"Websocket not available. Please review that your environment settings are enabled to allow websocket connections and that requests are made from the same origin.\",\n );\n if (connErrorCallback) {\n connErrorCallback(\n \"Couldn't establish WebSocket connection. Please review your configuration and try again.\",\n );\n }\n }\n };\n\n objectsWS.onclose = () => {\n wsInFlight = false;\n console.warn(\"Websocket Disconnected. Attempting Reconnection...\");\n\n // We reconnect after 3 seconds\n setTimeout(reconnectFn, 3000);\n };\n\n objectsWS.onerror = () => {\n wsInFlight = false;\n console.error(\"Error in websocket connection. Attempting reconnection...\");\n // Onclose will be triggered by specification, reconnect function will be executed there to avoid duplicated requests\n };\n};\n\nconst BrowserHandler = () => {\n const dispatch = useAppDispatch();\n const params = useParams();\n const location = useLocation();\n\n const loadingVersioning = useSelector(\n (state: AppState) => state.objectBrowser.loadingVersioning,\n );\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 showDeleted = useSelector(\n (state: AppState) => state.objectBrowser.showDeleted,\n );\n const allowResources = useSelector(\n (state: AppState) => state.console.session.allowResources,\n );\n const loadingObjects = useSelector(\n (state: AppState) => state.objectBrowser.loadingObjects,\n );\n const loadingLocking = useSelector(\n (state: AppState) => state.objectBrowser.loadingLocking,\n );\n const loadRecords = useSelector(\n (state: AppState) => state.objectBrowser.loadRecords,\n );\n const selectedInternalPaths = useSelector(\n (state: AppState) => state.objectBrowser.selectedInternalPaths,\n );\n const simplePath = useSelector(\n (state: AppState) => state.objectBrowser.simplePath,\n );\n const isOpeningOD = useSelector(\n (state: AppState) => state.objectBrowser.isOpeningObjectDetail,\n );\n const anonymousMode = useSelector(\n (state: AppState) => state.system.anonymousMode,\n );\n\n const bucketName = params.bucketName || \"\";\n const pathSegment = location.pathname.split(`/browser/${bucketName}/`);\n const internalPaths = pathSegment.length === 2 ? pathSegment[1] : \"\";\n\n /*WS Request Handlers*/\n const onMessageCallBack = useCallback(\n (message: IMessageEvent) => {\n // reset start status\n dispatch(setLoadingObjects(false));\n\n const response: WebsocketResponse = JSON.parse(message.data.toString());\n if (currentRequestID === response.request_id) {\n // If response is not from current request, we can omit\n if (response.request_id !== currentRequestID) {\n return;\n }\n\n if (\n response.error ===\n \"The Access Key Id you provided does not exist in our records.\"\n ) {\n // Session expired.\n window.location.reload();\n } else if (response.error === \"Access Denied.\") {\n const internalPathsPrefix = response.prefix;\n let pathPrefix = \"\";\n\n if (internalPathsPrefix) {\n const decodedPath = decodeURLString(internalPathsPrefix);\n\n pathPrefix = decodedPath.endsWith(\"/\")\n ? decodedPath\n : decodedPath + \"/\";\n }\n\n const permitItems = permissionItems(\n response.bucketName || bucketName,\n pathPrefix,\n allowResources || [],\n );\n\n if (!permitItems || permitItems.length === 0) {\n dispatch(\n setErrorSnackMessage({\n errorMessage: response.error,\n detailedError: response.error,\n }),\n );\n } else {\n dispatch(setRecords(permitItems));\n }\n\n return;\n }\n\n // This indicates final messages is received.\n if (response.request_end) {\n dispatch(setLoadingObjects(false));\n dispatch(setLoadingRecords(false));\n return;\n }\n\n if (response.data) {\n dispatch(newMessage(response.data));\n }\n }\n },\n [dispatch, allowResources, bucketName],\n );\n\n const initWSRequest = useCallback(\n (path: string, date: Date) => {\n if (objectsWS && objectsWS.readyState === 1) {\n try {\n const newRequestID = currentRequestID + 1;\n dispatch(resetMessages());\n dispatch(errorInConnection(false));\n\n const request: WebsocketRequest = {\n bucket_name: bucketName,\n prefix: encodeURLString(path),\n mode: rewindEnabled || showDeleted ? \"rewind\" : \"objects\",\n date: date.toISOString(),\n request_id: newRequestID,\n };\n\n objectsWS.send(JSON.stringify(request));\n\n // We store the new ID for the requestID\n currentRequestID = newRequestID;\n } catch (e) {\n console.error(e);\n }\n } else {\n // Socket is disconnected, we request reconnection but will need to recreate call\n const dupRequest = () => {\n initWSRequest(path, date);\n };\n\n const fatalWSError = (message: string) => {\n dispatch(\n setErrorSnackMessage({\n errorMessage: message,\n detailedError: message,\n }),\n );\n dispatch(errorInConnection(true));\n };\n\n initWSConnection(dupRequest, onMessageCallBack, fatalWSError);\n }\n },\n [bucketName, rewindEnabled, showDeleted, dispatch, onMessageCallBack],\n );\n\n useEffect(() => {\n return () => {\n const request: WebsocketRequest = {\n mode: \"cancel\",\n request_id: currentRequestID,\n };\n\n if (objectsWS && objectsWS.readyState === 1) {\n objectsWS.send(JSON.stringify(request));\n }\n };\n }, []);\n\n useEffect(() => {\n const decodedIPaths = decodeURLString(internalPaths);\n\n dispatch(setLoadingVersioning(true));\n\n if (decodedIPaths.endsWith(\"/\") || decodedIPaths === \"\") {\n dispatch(setObjectDetailsView(false));\n dispatch(setSelectedObjectView(null));\n dispatch(\n setSimplePathHandler(decodedIPaths === \"\" ? \"/\" : decodedIPaths),\n );\n dispatch(setLoadingLocking(true));\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 }, [bucketName, internalPaths, rewindDate, rewindEnabled, dispatch]);\n\n // Direct file access effect / prefix\n useEffect(() => {\n if (!loadingObjects && !loadRecords && !rewindEnabled && !isOpeningOD) {\n // No requests are in progress, We review current path, if it doesn't end in '/' and current list is empty then we trigger a new request.\n const decodedInternalPaths = decodeURLString(internalPaths);\n\n if (\n !decodedInternalPaths.endsWith(\"/\") &&\n simplePath !== decodedInternalPaths &&\n decodedInternalPaths !== \"\"\n ) {\n setLoadingRecords(true);\n const parentPath = `${decodedInternalPaths\n .split(\"/\")\n .slice(0, -1)\n .join(\"/\")}/`;\n\n initWSRequest(parentPath, new Date());\n }\n }\n dispatch(setIsOpeningOD(false));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n loadingObjects,\n loadRecords,\n dispatch,\n internalPaths,\n initWSRequest,\n rewindEnabled,\n simplePath,\n ]);\n\n const displayListObjects =\n hasPermission(bucketName, [\n IAM_SCOPES.S3_LIST_BUCKET,\n IAM_SCOPES.S3_ALL_LIST_BUCKET,\n ]) || anonymousMode;\n\n // Common objects list\n useEffect(() => {\n // begin watch if bucketName in bucketList and start pressed\n if (loadingObjects && displayListObjects) {\n let pathPrefix = \"\";\n if (internalPaths) {\n const decodedPath = decodeURLString(internalPaths);\n\n // internalPaths are selected (file details), we split and get parent folder\n if (selectedInternalPaths === internalPaths) {\n pathPrefix = `${decodeURLString(internalPaths)\n .split(\"/\")\n .slice(0, -1)\n .join(\"/\")}/`;\n } else {\n pathPrefix = decodedPath.endsWith(\"/\")\n ? decodedPath\n : decodedPath + \"/\";\n }\n }\n\n let requestDate = new Date();\n\n if (rewindEnabled && rewindDate) {\n requestDate = new Date(rewindDate);\n }\n initWSRequest(pathPrefix, requestDate);\n } else {\n dispatch(setLoadingObjects(false));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n loadingObjects,\n internalPaths,\n dispatch,\n rewindDate,\n rewindEnabled,\n displayListObjects,\n initWSRequest,\n ]);\n\n useEffect(() => {\n dispatch(setVersionsModeEnabled({ status: false }));\n }, [internalPaths, dispatch]);\n\n useEffect(() => {\n if (loadingVersioning && !anonymousMode) {\n if (displayListObjects) {\n api.buckets\n .getBucketVersioning(bucketName)\n .then((res) => {\n dispatch(setIsVersioned(res.data));\n dispatch(setLoadingVersioning(false));\n })\n .catch((err) => {\n console.error(\n \"Error Getting Object Versioning Status: \",\n err.error.detailedMessage,\n );\n dispatch(setLoadingVersioning(false));\n });\n } else {\n dispatch(setLoadingVersioning(false));\n dispatch(resetMessages());\n }\n }\n }, [\n bucketName,\n loadingVersioning,\n dispatch,\n displayListObjects,\n anonymousMode,\n ]);\n\n useEffect(() => {\n if (loadingLocking) {\n if (displayListObjects) {\n api.buckets\n .getBucketObjectLockingStatus(bucketName)\n .then((res) => {\n dispatch(setLockingEnabled(res.data.object_locking_enabled));\n dispatch(setLoadingLocking(false));\n })\n .catch((err) => {\n console.error(\n \"Error Getting Object Locking Status: \",\n err.error.detailedMessage,\n );\n dispatch(setLoadingLocking(false));\n });\n } else {\n dispatch(resetMessages());\n dispatch(setLoadingLocking(false));\n }\n }\n }, [bucketName, loadingLocking, dispatch, displayListObjects]);\n\n useEffect(() => {\n // when a bucket param changes, (i.e /browser/:bucketName), re-init e.g with KBar, this should not apply for resources prefixes.\n const permitItems = permissionItems(bucketName, \"\", allowResources || []);\n\n if (bucketName && (!permitItems || permitItems.length === 0)) {\n dispatch(resetMessages());\n dispatch(setLoadingRecords(true));\n dispatch(setLoadingObjects(true));\n\n let pathPrefix = \"\";\n if (internalPaths) {\n const decodedPath = decodeURLString(internalPaths);\n\n // internalPaths are selected (file details), we split and get parent folder\n if (selectedInternalPaths === internalPaths) {\n pathPrefix = `${decodeURLString(internalPaths)\n .split(\"/\")\n .slice(0, -1)\n .join(\"/\")}/`;\n } else {\n pathPrefix = decodedPath.endsWith(\"/\")\n ? decodedPath\n : decodedPath + \"/\";\n }\n }\n\n initWSRequest(pathPrefix, new Date());\n }\n }, [\n bucketName,\n dispatch,\n initWSRequest,\n allowResources,\n internalPaths,\n selectedInternalPaths,\n ]);\n\n return (\n \n {!anonymousMode && }\n \n \n );\n};\n\nexport default withStyles(styles)(BrowserHandler);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 extractFileExtn = (resourceStr: string) => {\n //file extensions may contain query string. so exclude query strings !\n return (resourceStr.match(/\\.([^.]*?)(?=\\?|#|$)/) || [])[1];\n};\nexport const getPolicyAllowedFileExtensions = (\n sessionGrants: Record,\n uploadPath: string,\n scopes: string[] = [],\n) => {\n const sessionGrantWildCards = getSessionGrantsWildCard(\n sessionGrants,\n uploadPath,\n scopes,\n );\n\n //get acceptable files if any in the policy.\n const allowedFileExtensions = sessionGrantWildCards.reduce(\n (acc: string[], cv: string) => {\n const extension: string = extractFileExtn(cv);\n if (extension) {\n acc.push(`.${extension}`); //strict extension matching.\n }\n return acc;\n },\n [],\n );\n\n const uniqueExtensions = [...new Set(allowedFileExtensions)];\n return uniqueExtensions.join(\",\");\n};\n\n// The resource should not have the extensions (*.ext) for the hasPermission to work.\n// so sanitize this and also use to extract the allowed extensions outside of permission check.\nexport const getSessionGrantsWildCard = (\n sessionGrants: Record,\n uploadPath: string,\n scopes: string[] = [],\n) => {\n //get only the path matching grants to reduce processing.\n const grantsWithExtension = Object.keys(sessionGrants).reduce(\n (acc: Record, grantKey: string) => {\n if (extractFileExtn(grantKey) && grantKey.includes(uploadPath)) {\n acc[grantKey] = sessionGrants[grantKey];\n }\n return acc;\n },\n {},\n );\n\n const checkPathsForPermission = (sessionGrantKey: string) => {\n const grantActions = grantsWithExtension[sessionGrantKey];\n const hasScope = grantActions.some((actionKey) =>\n scopes.find((scopeKey) => {\n let wildCardMatch = false;\n const hasWildCard = scopeKey.indexOf(\"*\") !== -1;\n if (hasWildCard) {\n const scopeActionKey = scopeKey.substring(0, scopeKey.length - 1);\n\n wildCardMatch = actionKey.includes(scopeActionKey);\n }\n\n return wildCardMatch || actionKey === scopeKey;\n }),\n );\n\n const sessionGrantKeyPath = sessionGrantKey.substring(\n 0,\n sessionGrantKey.indexOf(\"/*.\"), //start of extension part.\n );\n const isUploadPathMatching =\n sessionGrantKeyPath === `arn:aws:s3:::${uploadPath}`;\n\n const hasGrant =\n isUploadPathMatching && sessionGrantKey !== \"arn:aws:s3:::*\";\n\n return hasScope && hasGrant;\n };\n\n return Object.keys(grantsWithExtension).filter(checkPathsForPermission);\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 { useSelector } from \"react-redux\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport { objectBrowserCommon } from \"../Common/FormComponents/common/styleLibrary\";\nimport { encodeURLString, safeDecodeURIComponent } from \"../../../common/utils\";\nimport { Button, CopyIcon, NewPathIcon, Tooltip, Breadcrumbs } from \"mds\";\nimport { hasPermission } from \"../../../common/SecureComponent\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../common/SecureComponent/permissions\";\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport { setSnackBarMessage } from \"../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { setVersionsModeEnabled } from \"./objectBrowserSlice\";\nimport { getSessionGrantsWildCard } from \"../Buckets/ListBuckets/UploadPermissionUtils\";\n\nconst CreatePathModal = withSuspense(\n React.lazy(\n () => import(\"../Buckets/ListBuckets/Objects/ListObjects/CreatePathModal\"),\n ),\n);\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...objectBrowserCommon,\n slashSpacingStyle: {\n margin: \"0 5px\",\n },\n }),\n);\n\ninterface IObjectBrowser {\n bucketName: string;\n internalPaths: string;\n hidePathButton?: boolean;\n additionalOptions?: React.ReactNode;\n}\n\nconst BrowserBreadcrumbs = ({\n bucketName,\n internalPaths,\n hidePathButton,\n additionalOptions,\n}: IObjectBrowser) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n const classes = useStyles();\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 const anonymousMode = useSelector(\n (state: AppState) => state.system.anonymousMode,\n );\n\n const [createFolderOpen, setCreateFolderOpen] = useState(false);\n\n const putObjectPermScopes = [\n IAM_SCOPES.S3_PUT_OBJECT,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ];\n\n const sessionGrants = useSelector((state: AppState) =>\n state.console.session ? state.console.session.permissions || {} : {},\n );\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 const pathToCheckPerms = bucketName + paths || bucketName;\n const sessionGrantWildCards = getSessionGrantsWildCard(\n sessionGrants,\n pathToCheckPerms,\n putObjectPermScopes,\n );\n\n const canCreatePath =\n hasPermission(\n [pathToCheckPerms, ...sessionGrantWildCards],\n putObjectPermScopes,\n ) || anonymousMode;\n\n let breadcrumbsMap = splitPaths.map((objectItem: string, index: number) => {\n const subSplit = `${splitPaths.slice(0, index + 1).join(\"/\")}/`;\n const route = `/browser/${bucketName}/${\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 \n {safeDecodeURIComponent(objectItem) /*Only for display*/}\n \n ) : (\n {\n dispatch(\n setVersionsModeEnabled({ status: false, objectName: \"\" }),\n );\n }}\n >\n {\n safeDecodeURIComponent(\n objectItem,\n ) /*Only for display to preserve */\n }\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 if (splitPaths.length === 0) {\n navigate(\"/browser\");\n\n return;\n }\n\n const prevPath = splitPaths.slice(0, -1);\n\n navigate(\n `/browser/${bucketName}${\n prevPath.length > 0\n ? `/${encodeURLString(`${prevPath.join(\"/\")}/`)}`\n : \"\"\n }`,\n );\n }\n };\n\n return (\n \n
\n {createFolderOpen && (\n \n )}\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
\n {additionalOptions}\n
\n \n }\n >\n {listBreadcrumbs}\n \n {!hidePathButton && (\n \n {\n setCreateFolderOpen(true);\n }}\n disabled={anonymousMode ? false : 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 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, useState } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { CSSObject } from \"styled-components\";\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 { Button, UploadFolderIcon, UploadIcon } from \"mds\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../../common/SecureComponent/permissions\";\nimport { hasPermission } from \"../../../../common/SecureComponent\";\nimport TooltipWrapper from \"../../Common/TooltipWrapper/TooltipWrapper\";\nimport { useSelector } from \"react-redux\";\nimport { AppState } from \"../../../../store\";\nimport { getSessionGrantsWildCard } from \"./UploadPermissionUtils\";\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 overrideStyles?: CSSObject;\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 overrideStyles = {},\n}: IUploadFilesButton) => {\n const anonymousMode = useSelector(\n (state: AppState) => state.system.anonymousMode,\n );\n\n const sessionGrants = useSelector((state: AppState) =>\n state.console.session ? state.console.session.permissions || {} : {},\n );\n\n const putObjectPermScopes = [\n IAM_SCOPES.S3_PUT_OBJECT,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ];\n\n const sessionGrantWildCards = getSessionGrantsWildCard(\n sessionGrants,\n uploadPath,\n putObjectPermScopes,\n );\n\n const [anchorEl, setAnchorEl] = 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 =\n hasPermission(\n [uploadPath, ...sessionGrantWildCards],\n putObjectPermScopes,\n ) || anonymousMode;\n\n const uploadFolderAllowed = hasPermission(\n [bucketName, ...sessionGrantWildCards],\n putObjectPermScopes,\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 sx={overrideStyles}\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 { Button, ClosePanelIcon, Grid } from \"mds\";\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 }),\n);\n\nconst DetailsListPanel = ({\n open,\n closePanel,\n className = \"\",\n children,\n}: IDetailsListPanel) => {\n const classes = useStyles();\n\n return (\n \n }\n sx={{\n position: \"absolute\",\n right: 5,\n top: 18,\n padding: 0,\n height: 14,\n \"&:hover:not(:disabled)\": {\n backgroundColor: \"transparent\",\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) => ({\n value: (num + 1).toString(),\n label: (num + 1).toString(),\n}));\n\nconst currentYear = new Date().getFullYear();\n\nexport const years = Array.from(Array(50), (_, numYear) => ({\n value: (numYear + currentYear).toString(),\n label: (numYear + currentYear).toString(),\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 { Box, Grid, HelpIcon, InputLabel, Select, Switch, Tooltip } from \"mds\";\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 { days, months, validDate, years } from \"./utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\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 });\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\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 monthForDropDown = [{ value: \"\", label: \"\" }, ...months];\n const daysForDrop = [{ value: \"\", label: \"\" }, ...days];\n const yearsForDrop = [{ value: \"\", label: \"\" }, ...years];\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 setMonth(newValue);\n }}\n options={monthForDropDown}\n label={\"\"}\n disabled={isDateDisabled()}\n />\n\n {\n setDay(newValue);\n }}\n options={daysForDrop}\n label={\"\"}\n disabled={isDateDisabled()}\n />\n\n {\n setYear(newValue);\n }}\n options={yearsForDrop}\n label={\"\"}\n disabled={isDateDisabled()}\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 { Button, Grid, RadioGroup, Switch } from \"mds\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nimport { twoDigitDate } from \"../../../../Common/FormComponents/DateSelector/utils\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport DateSelector from \"../../../../Common/FormComponents/DateSelector/DateSelector\";\nimport { setModalErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { useSelector } from \"react-redux\";\nimport { BucketObject, ObjectRetentionMode } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { encodeURLString } from \"common/utils\";\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: (updateInfo: boolean) => void;\n objectName: string;\n bucketName: string;\n objectInfo: BucketObject;\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 retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\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(retentionConfig?.mode || ObjectRetentionMode.Governance);\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, retentionConfig?.mode]);\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(ObjectRetentionMode.Governance);\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.buckets\n .putObjectRetention(\n bucketName,\n {\n prefix: encodeURLString(selectedObject),\n version_id: versionId || \"\",\n },\n {\n expires: expireDate,\n mode: type as ObjectRetentionMode,\n },\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSaving(false);\n });\n };\n\n const disableRetention = (\n selectedObject: string,\n versionId: string | null,\n ) => {\n api.buckets\n .deleteObjectRetention(bucketName, {\n prefix: encodeURLString(selectedObject),\n version_id: versionId || \"\",\n })\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSaving(false);\n });\n };\n\n const saveNewRetentionPolicy = () => {\n setIsSaving(true);\n const selectedObject = objectInfo.name || \"\";\n const versionId = objectInfo.version_id || null;\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 as ObjectRetentionMode);\n }}\n selectorOptions={[\n { label: \"Governance\", value: ObjectRetentionMode.Governance },\n { label: \"Compliance\", value: ObjectRetentionMode.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\nexport const isVersionedMode = (status: string | undefined) => {\n return status === \"Enabled\" || status === \"Suspended\";\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, { Fragment, useState } from \"react\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { decodeURLString } from \"../../../../../../common/utils\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport useApi from \"../../../../Common/Hooks/useApi\";\nimport { ConfirmDeleteIcon, Switch } from \"mds\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { hasPermission } from \"../../../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { useSelector } from \"react-redux\";\nimport { isVersionedMode } from \"../../../../../../utils/validationFunctions\";\nimport { BucketVersioningResponse } from \"api/consoleApi\";\n\ninterface IDeleteObjectProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedObject: string;\n selectedBucket: string;\n\n versioningInfo: BucketVersioningResponse | undefined;\n selectedVersion?: string;\n}\n\nconst DeleteObject = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedObject,\n versioningInfo,\n selectedVersion = \"\",\n}: IDeleteObjectProps) => {\n const dispatch = useAppDispatch();\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n\n // We close the modal box on access denied.\n if (err.detailedError === \"Access Denied.\") {\n closeDeleteModalAndRefresh(true);\n }\n };\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n const [deleteVersions, setDeleteVersions] = useState(false);\n const [bypassGovernance, setBypassGovernance] = useState(false);\n\n const retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\n const canBypass =\n hasPermission(\n [selectedBucket],\n [IAM_SCOPES.S3_BYPASS_GOVERNANCE_RETENTION],\n ) && retentionConfig?.mode === \"governance\";\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 }${bypassGovernance ? \"&bypass=true\" : \"\"}`,\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 {isVersionedMode(versioningInfo?.status) &&\n selectedVersion === \"\" && (\n \n {\n setDeleteVersions(!deleteVersions);\n }}\n description=\"\"\n />\n \n )}\n {canBypass && (deleteVersions || selectedVersion !== \"\") && (\n \n \n {\n setBypassGovernance(!bypassGovernance);\n }}\n description=\"\"\n />\n \n \n )}\n {deleteVersions && (\n \n \n This will remove the object as well as all of its versions,{\" \"}\n
\n This action is irreversible.\n \n
\n Are you sure you want to continue?\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 { Button, Grid, Switch } from \"mds\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\n\nimport { setModalErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\nimport { BucketObject, ObjectLegalHoldStatus } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\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: BucketObject;\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.buckets\n .putObjectLegalHold(\n bucketName,\n {\n prefix: encodeURLString(objectName),\n version_id: versionId || \"\",\n },\n {\n status: legalHoldEnabled\n ? ObjectLegalHoldStatus.Enabled\n : ObjectLegalHoldStatus.Disabled,\n },\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.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","// 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 { withStyles } from \"@mui/styles\";\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 { safeDecodeURIComponent } from \"../../../../../../common/utils\";\n\ninterface IObjectMetadata {\n metaData: any;\n classes?: any;\n linear?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n titleItem: {\n width: \"35%\",\n },\n ...spacingUtils,\n ...detailsPanel,\n });\n\nconst itemRendererFn = (element: any) => {\n return Array.isArray(element)\n ? element.map(safeDecodeURIComponent).join(\", \")\n : safeDecodeURIComponent(element);\n};\n\nconst ObjectMetaData = ({\n metaData,\n classes,\n linear = false,\n}: IObjectMetadata) => {\n const metaKeys = Object.keys(metaData);\n\n if (linear) {\n return (\n \n {metaKeys.map((element: string, index: number) => {\n const renderItem = itemRendererFn(metaData[element]);\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 = itemRendererFn(metaData[element]);\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","import React from \"react\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport { replaceUnicodeChar } from \"../../../../../../common/utils\";\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: \"pre\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n },\n });\n\nconst IconWithLabel = ({ classes, icon, strings }: IIconWithLabel) => {\n return (\n
\n {icon}\n \n {replaceUnicodeChar(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 {\n FileBookIcon,\n FileCodeIcon,\n FileConfigIcon,\n FileDbIcon,\n FileFontIcon,\n FileImageIcon,\n FileLockIcon,\n FileMissingIcon,\n FileMusicIcon,\n FileNonType,\n FilePdfIcon,\n FilePptIcon,\n FileTxtIcon,\n FileVideoIcon,\n FileXlsIcon,\n FileZipIcon,\n FolderBrowserIcon,\n} from \"mds\";\nimport IconWithLabel from \"./IconWithLabel\";\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: [\"doc\", \"docx\", \"txt\", \"rtf\"],\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 { Box, Grid } from \"@mui/material\";\nimport {\n AddNewTagIcon,\n Button,\n DisabledIcon,\n EditTagIcon,\n InputBox,\n SectionTitle,\n} from \"mds\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\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\";\nimport { BucketObject } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { encodeURLString } from \"common/utils\";\nimport { useSelector } from \"react-redux\";\n\ninterface ITagModal {\n modalOpen: boolean;\n bucketName: string;\n actualInfo: BucketObject;\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\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.buckets\n .putObjectTags(\n bucketName,\n { prefix: selectedObject, version_id: verID },\n { tags: newTagList },\n )\n .then(() => {\n onCloseAndUpdate(true);\n setIsSending(false);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.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.buckets\n .putObjectTags(\n bucketName,\n { prefix: selectedObject, version_id: verID },\n { tags: cleanObject },\n )\n .then(() => {\n onCloseAndUpdate(true);\n setIsSending(false);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.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 {\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 } separator={false}>\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 {\n Button,\n InspectMenuIcon,\n PasswordKeyIcon,\n Switch,\n Grid,\n Box,\n} from \"mds\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n decodeURLString,\n deleteCookie,\n encodeURLString,\n getCookieValue,\n performDownload,\n} from \"../../../../../../common/utils\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\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 { 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) 2023 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 { encodeURLString, getClientOS } from \"../../../common/utils\";\nimport { makeid, storeCallForObjectWithID } from \"./transferManager\";\nimport { download } from \"../Buckets/ListBuckets/Objects/utils\";\nimport {\n cancelObjectInList,\n completeObject,\n failObject,\n setLongFileOpen,\n setNewObject,\n updateProgress,\n} from \"./objectBrowserSlice\";\nimport { AppDispatch } from \"../../../store\";\nimport { setSnackBarMessage } from \"../../../systemSlice\";\nimport { BucketObject } from \"api/consoleApi\";\n\nexport const downloadObject = (\n dispatch: AppDispatch,\n bucketName: string,\n internalPaths: string,\n object: BucketObject,\n) => {\n const identityDownload = encodeURLString(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`,\n );\n\n const isWinOs = getClientOS().toLowerCase().includes(\"win\");\n\n if ((object.name?.length || 0) > 200 && isWinOs) {\n dispatch(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 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 dispatch(\n setSnackBarMessage(\n \"File download will be handled directly by the browser.\",\n ),\n );\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","// 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, EditIcon } from \"mds\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport {\n containerForHeader,\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { useAppDispatch } from \"../../../store\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport { downloadObject } from \"./utils\";\nimport { BucketObject } from \"api/consoleApi\";\n\ninterface IRenameLongFilename {\n open: boolean;\n bucketName: string;\n internalPaths: string;\n currentItem: string;\n actualInfo: BucketObject;\n closeModal: () => void;\n}\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...modalStyleUtils,\n ...formFieldStyles,\n ...spacingUtils,\n ...containerForHeader,\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 downloadObject(dispatch, bucketName, internalPaths, actualInfo);\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 {\n ActionsList,\n Button,\n DeleteIcon,\n DownloadIcon,\n InspectMenuIcon,\n LegalHoldIcon,\n Loader,\n MetadataIcon,\n ObjectInfoIcon,\n PreviewIcon,\n RetentionIcon,\n ShareIcon,\n SimpleHeader,\n TagsIcon,\n VersionsIcon,\n} from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n actionsTray,\n detailsPanel,\n spacingUtils,\n textStyleUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { AllowedPreviews, previewObjectType } from \"../utils\";\n\nimport {\n decodeURLString,\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 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 { displayFileIconName } from \"./utils\";\nimport TagsModal from \"../ObjectDetails/TagsModal\";\nimport InspectObject from \"./InspectObject\";\nimport { selDistSet } from \"../../../../../../systemSlice\";\nimport {\n setLoadingObjectInfo,\n setLoadingVersions,\n setSelectedVersion,\n setVersionsModeEnabled,\n} from \"../../../../ObjectBrowser/objectBrowserSlice\";\nimport RenameLongFileName from \"../../../../ObjectBrowser/RenameLongFilename\";\nimport TooltipWrapper from \"../../../../Common/TooltipWrapper/TooltipWrapper\";\nimport { downloadObject } from \"../../../../ObjectBrowser/utils\";\nimport { BucketObject, BucketVersioningResponse } from \"api/consoleApi\";\nimport { api } from \"api\";\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 capitalizeFirst: {\n textTransform: \"capitalize\",\n },\n\n ...actionsTray,\n ...spacingUtils,\n ...textStyleUtils,\n ...detailsPanel,\n });\n\nconst emptyFile: BucketObject = {\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: undefined,\n};\n\ninterface IObjectDetailPanelProps {\n classes: any;\n internalPaths: string;\n bucketName: string;\n versioningInfo: BucketVersioningResponse;\n locking: boolean | undefined;\n onClosePanel: (hardRefresh: boolean) => void;\n}\n\nconst ObjectDetailPanel = ({\n classes,\n internalPaths,\n bucketName,\n versioningInfo,\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 const [metaData, setMetaData] = useState(null);\n const [loadMetadata, setLoadingMetadata] = 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 && actualInfo.name) {\n objectNameArray = actualInfo.name.split(\"/\");\n }\n\n useEffect(() => {\n if (distributedSetup && allInfoElements && allInfoElements.length >= 1) {\n let infoElement =\n allInfoElements.find((el: BucketObject) => el.is_latest) || emptyFile;\n\n if (selectedVersion !== \"\") {\n infoElement =\n allInfoElements.find(\n (el: BucketObject) => el.version_id === selectedVersion,\n ) || emptyFile;\n }\n\n if (!infoElement.is_delete_marker) {\n setLoadingMetadata(true);\n }\n\n setActualInfo(infoElement);\n }\n }, [selectedVersion, distributedSetup, allInfoElements]);\n\n useEffect(() => {\n if (loadingObjectInfo && internalPaths !== \"\") {\n api.buckets\n .listObjects(bucketName, {\n prefix: internalPaths,\n with_versions: distributedSetup,\n })\n .then((res) => {\n const result: BucketObject[] = res.data.objects || [];\n if (distributedSetup) {\n setAllInfoElements(result);\n setVersions(result);\n\n const tVersionSize = result.reduce(\n (acc: number, currValue: BucketObject): number => {\n if (currValue?.size) {\n return acc + currValue.size;\n }\n return acc;\n },\n 0,\n );\n\n setTotalVersionsSize(tVersionSize);\n } else {\n const resInfo = result[0];\n\n setActualInfo(resInfo);\n setVersions([]);\n\n if (!resInfo.is_delete_marker) {\n setLoadingMetadata(true);\n }\n }\n\n dispatch(setLoadingObjectInfo(false));\n })\n .catch((err) => {\n console.error(\"Error loading object details\", err.error);\n dispatch(setLoadingObjectInfo(false));\n });\n }\n }, [\n loadingObjectInfo,\n bucketName,\n internalPaths,\n dispatch,\n distributedSetup,\n selectedVersion,\n ]);\n\n useEffect(() => {\n if (loadMetadata && internalPaths !== \"\") {\n api.buckets\n .getObjectMetadata(bucketName, {\n prefix: internalPaths,\n })\n .then((res) => {\n let metadata = get(res.data, \"objectMetadata\", {});\n\n setMetaData(metadata);\n setLoadingMetadata(false);\n })\n .catch((err) => {\n console.error(\"Error Getting Metadata Status: \", err.detailedError);\n setLoadingMetadata(false);\n });\n }\n }, [bucketName, internalPaths, loadMetadata]);\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 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 IAM_SCOPES.S3_PUT_ACTIONS,\n ]);\n const canSetTags = hasPermission(objectResources, [\n IAM_SCOPES.S3_PUT_OBJECT_TAGGING,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ]);\n\n const canChangeRetention = hasPermission(\n objectResources,\n [\n IAM_SCOPES.S3_GET_OBJECT_RETENTION,\n IAM_SCOPES.S3_PUT_OBJECT_RETENTION,\n IAM_SCOPES.S3_GET_ACTIONS,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ],\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 IAM_SCOPES.S3_GET_ACTIONS,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ]);\n const canGetObject = hasPermission(objectResources, [\n IAM_SCOPES.S3_GET_OBJECT,\n IAM_SCOPES.S3_GET_ACTIONS,\n ]);\n const canDelete = hasPermission(\n [bucketName, currentItem, [bucketName, actualInfo.name].join(\"/\")],\n [IAM_SCOPES.S3_DELETE_OBJECT],\n );\n\n let objectType: AllowedPreviews = previewObjectType(metaData, currentItem);\n\n const multiActionButtons = [\n {\n action: () => {\n downloadObject(dispatch, bucketName, internalPaths, 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, IAM_SCOPES.S3_GET_ACTIONS],\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, IAM_SCOPES.S3_GET_ACTIONS],\n \"share this object\",\n ),\n },\n {\n action: () => {\n setPreviewOpen(true);\n },\n label: \"Preview\",\n disabled:\n !!actualInfo.is_delete_marker ||\n (objectType === \"none\" && !canGetObject),\n icon: ,\n tooltip: canGetObject\n ? \"Preview this File\"\n : permissionTooltipHelper(\n [IAM_SCOPES.S3_GET_OBJECT, IAM_SCOPES.S3_GET_ACTIONS],\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, IAM_SCOPES.S3_PUT_ACTIONS],\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 IAM_SCOPES.S3_GET_ACTIONS,\n IAM_SCOPES.S3_PUT_ACTIONS,\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 IAM_SCOPES.S3_GET_ACTIONS,\n IAM_SCOPES.S3_PUT_ACTIONS,\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 IAM_SCOPES.S3_GET_ACTIONS,\n IAM_SCOPES.S3_PUT_ACTIONS,\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 sx={{\n width: \"calc(100% - 44px)\",\n margin: \"8px 0\",\n }}\n label={`Delete${selectedVersion !== \"\" ? \" version\" : \"\"}`}\n />\n \n \n \n } label={\"Object Info\"} />\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 {!actualInfo.is_delete_marker && (\n \n } />\n \n {actualInfo && metaData ? (\n \n ) : null}\n \n \n )}\n
\n )}\n
\n );\n};\n\nexport default withStyles(styles)(ObjectDetailPanel);\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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { modalBasic } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { Box, RecoverIcon } from \"mds\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\nimport { restoreLocalObjectList } from \"../../../../ObjectBrowser/objectBrowserSlice\";\nimport { BucketObject } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\n\ninterface IRestoreFileVersion {\n classes: any;\n restoreOpen: boolean;\n bucketName: string;\n versionToRestore: BucketObject;\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 versionToRestore,\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.buckets\n .putObjectRestore(bucketName, {\n prefix: encodeURLString(objectPath),\n version_id: versionToRestore.version_id || \"\",\n })\n .then(() => {\n setRestoreLoading(false);\n onCloseAndUpdate(true);\n dispatch(\n restoreLocalObjectList({\n prefix: objectPath,\n objectInfo: versionToRestore,\n }),\n );\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.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 {versionToRestore.version_id}?\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 { DateTime } from \"luxon\";\nimport styled from \"styled-components\";\nimport get from \"lodash/get\";\nimport { displayFileIconName } from \"../ListObjects/utils\";\nimport {\n DownloadIcon,\n PreviewIcon,\n RecoverIcon,\n ShareIcon,\n IconButton,\n Tooltip,\n Grid,\n} from \"mds\";\nimport { niceBytes } from \"../../../../../../common/utils\";\nimport SpecificVersionPill from \"./SpecificVersionPill\";\nimport CheckboxWrapper from \"../../../../Common/FormComponents/CheckboxWrapper/CheckboxWrapper\";\nimport { BucketObject } from \"api/consoleApi\";\n\ninterface IFileVersionItem {\n fileName: string;\n versionInfo: BucketObject;\n index: number;\n isSelected?: boolean;\n checkable: boolean;\n isChecked: boolean;\n onCheck: (versionID: string) => void;\n onShare: (versionInfo: BucketObject) => void;\n onDownload: (versionInfo: BucketObject) => void;\n onRestore: (versionInfo: BucketObject) => void;\n onPreview: (versionInfo: BucketObject) => void;\n globalClick: (versionInfo: BucketObject) => void;\n key: any;\n style: any;\n}\n\nconst FileVersionStyled = styled.div(({ theme }) => {\n return {\n \"&:before\": {\n content: \"' '\",\n display: \"block\",\n position: \"absolute\",\n width: \"2px\",\n height: \"calc(100% + 2px)\",\n backgroundColor: get(theme, \"borderColor\", \"#F8F8F8\"),\n left: \"24px\",\n },\n \"& .mainFileVersionItem\": {\n borderBottom: `${get(theme, \"borderColor\", \"#F8F8F8\")} 1px solid`,\n padding: \"1rem 0\",\n margin: \"0 0.5rem 0 2.5rem\",\n cursor: \"pointer\",\n \"&.deleted\": {\n color: \"#868686\",\n },\n },\n \"& .intermediateLayer\": {\n margin: \"0 1.5rem 0 1.5rem\",\n \"&:hover, &.selected\": {\n backgroundColor: get(theme, \"boxBackground\", \"#F8F8F8\"),\n \"& > div\": {\n borderBottomColor: get(theme, \"boxBackground\", \"#F8F8F8\"),\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 },\n \"& .buttonContainer\": {\n textAlign: \"right\",\n \"& button\": {\n marginLeft: \"1.5rem\",\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 },\n \"@media (max-width: 600px)\": {\n \"& .buttonContainer\": {\n \"& button\": {\n marginLeft: \"5px\",\n },\n },\n },\n \"@media (max-width: 799px)\": {\n \"&:before\": {\n display: \"none\",\n },\n \"& .mainFileVersionItem\": {\n padding: \"5px 0px\",\n margin: 0,\n },\n \"& .intermediateLayer\": {\n margin: 0,\n \"&:hover, &.selected\": {\n backgroundColor: \"transparent\",\n \"& > div\": {\n borderBottomColor: get(theme, \"boxBackground\", \"#F8F8F8\"),\n },\n },\n },\n \"& .versionContainer\": {\n fontSize: 14,\n \"& svg.min-icon\": {\n display: \"none\",\n },\n },\n \"& .versionData\": {\n textOverflow: \"ellipsis\",\n maxWidth: \"95%\",\n overflow: \"hidden\",\n whiteSpace: \"nowrap\",\n },\n \"& .collapsableInfo\": {\n display: \"flex\",\n flexDirection: \"column\",\n },\n \"& .versionItem\": {\n display: \"none\",\n },\n },\n };\n});\n\nconst FileVersionItem = ({\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 let lastModified = DateTime.now();\n\n if (versionInfo.last_modified) {\n lastModified = DateTime.fromISO(versionInfo.last_modified);\n }\n\n return (\n \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 {lastModified.toFormat(\"ccc, LLL dd yyyy HH:mm:ss (ZZZZ)\")}\n \n \n Size: {niceBytes(`${versionInfo.size || \"0\"}`)}\n \n \n \n \n \n \n );\n};\n\nexport default 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, { Fragment, useEffect, useState } from \"react\";\n\nimport { decodeURLString } from \"../../../../../../common/utils\";\nimport { ConfirmDeleteIcon, Switch, Grid, InputBox } from \"mds\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { hasPermission } from \"../../../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { useSelector } from \"react-redux\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\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 const [bypassGovernance, setBypassGovernance] = useState(false);\n\n const retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\n const canBypass =\n hasPermission(\n [selectedBucket],\n [IAM_SCOPES.S3_BYPASS_GOVERNANCE_RETENTION],\n ) && retentionConfig?.mode === \"governance\";\n\n useEffect(() => {\n if (deleteLoading) {\n api.buckets\n .deleteObject(selectedBucket, {\n path: selectedObject,\n non_current_versions: true,\n bypass: bypassGovernance,\n })\n .then(() => {\n closeDeleteModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n setDeleteLoading(false);\n });\n }\n }, [\n deleteLoading,\n closeDeleteModalAndRefresh,\n dispatch,\n selectedObject,\n selectedBucket,\n bypassGovernance,\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 {canBypass && (\n \n \n {\n setBypassGovernance(!bypassGovernance);\n }}\n description=\"\"\n />\n \n \n )}\n
\n To continue please type YES, PROCEED in the box.\n
\n
\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, { Fragment, useEffect, useState } from \"react\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon, Switch } from \"mds\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { hasPermission } from \"../../../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { useSelector } from \"react-redux\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\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 const [bypassGovernance, setBypassGovernance] = useState(false);\n\n const retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\n const canBypass =\n hasPermission(\n [selectedBucket],\n [IAM_SCOPES.S3_BYPASS_GOVERNANCE_RETENTION],\n ) && retentionConfig?.mode === \"governance\";\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.buckets\n .deleteMultipleObjects(selectedBucket, selectedObjectsRequest, {\n all_versions: false,\n bypass: bypassGovernance,\n })\n .then(() => {\n setDeleteLoading(false);\n closeDeleteModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n setDeleteLoading(false);\n });\n }\n }\n }, [\n deleteLoading,\n closeDeleteModalAndRefresh,\n selectedBucket,\n selectedObject,\n selectedVersions,\n bypassGovernance,\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 {canBypass && (\n \n \n {\n setBypassGovernance(!bypassGovernance);\n }}\n description=\"\"\n />\n \n \n )}\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 } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport ShareFile from \"./ShareFile\";\nimport {\n actionsTray,\n containerForHeader,\n objectBrowserCommon,\n objectBrowserExtras,\n spacingUtils,\n tableStyles,\n textStyleUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nimport { decodeURLString, niceBytesInt } from \"../../../../../../common/utils\";\nimport RestoreFileVersion from \"./RestoreFileVersion\";\n\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport {\n Button,\n DeleteIcon,\n DeleteNonCurrentIcon,\n Select,\n SelectMultipleIcon,\n VersionsIcon,\n ScreenTitle,\n} from \"mds\";\nimport FileVersionItem from \"./FileVersionItem\";\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 setLoadingObjectInfo,\n setLoadingVersions,\n setSelectedVersion,\n} from \"../../../../ObjectBrowser/objectBrowserSlice\";\nimport { List, ListRowProps } from \"react-virtualized\";\nimport TooltipWrapper from \"../../../../Common/TooltipWrapper/TooltipWrapper\";\nimport { downloadObject } from \"../../../../ObjectBrowser/utils\";\nimport { BucketObject } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\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 \"@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 ...actionsTray,\n ...tableStyles,\n ...spacingUtils,\n ...textStyleUtils,\n ...objectBrowserCommon,\n ...objectBrowserExtras,\n ...containerForHeader,\n });\n\ninterface IVersionsNavigatorProps {\n classes: any;\n internalPaths: string;\n bucketName: string;\n}\n\nconst emptyFile: BucketObject = {\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: undefined,\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 null,\n );\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 && actualInfo.name) {\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.buckets\n .listObjects(bucketName, {\n prefix: internalPaths,\n with_versions: distributedSetup,\n })\n .then((res) => {\n const result = get(res.data, \"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: BucketObject) => item.name === decodedInternalPaths,\n );\n\n if (distributedSetup) {\n setActualInfo(\n filteredPrefixes.find((el: BucketObject) => 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) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\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 onShareItem = (item: BucketObject) => {\n setObjectToShare(item);\n shareObject();\n };\n\n const onPreviewItem = (item: BucketObject) => {\n setObjectToShare(item);\n setPreviewOpen(true);\n };\n\n const onRestoreItem = (item: BucketObject) => {\n setRestoreVersion(item);\n setRestoreVersionOpen(true);\n };\n\n const onDownloadItem = (item: BucketObject) => {\n downloadObject(dispatch, bucketName, internalPaths, item);\n };\n\n const onGlobalClick = (item: BucketObject) => {\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(null);\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: BucketObject) => {\n if (currValue.size) {\n return acc + 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 && restoreVersion && (\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 objectNameArray.length > 0\n ? objectNameArray[objectNameArray.length - 1]\n : actualInfo.name\n } Versions`}\n subTitle={\n \n \n \n {versions.length} Version\n {versions.length === 1 ? \"\" : \"s\"}   \n \n \n \n {niceBytesInt(totalSpace)}\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 {\n setSortValue(newValue);\n }}\n noLabelMinWidth\n />\n \n }\n bottomBorder={false}\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 { DateTime } from \"luxon\";\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\n const currTime = DateTime.now();\n const objectTime = DateTime.fromISO(object.last_modified);\n\n const isToday =\n currTime.hasSame(objectTime, \"day\") &&\n currTime.hasSame(objectTime, \"month\") &&\n currTime.hasSame(objectTime, \"year\");\n\n if (isToday) {\n return `Today, ${objectTime.toFormat(\"HH:mm\")}`;\n }\n\n return objectTime.toFormat(\"ccc, LLL dd yyyy HH:mm (ZZZZ)\");\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) 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 { listModeColumns, rewindModeColumns } from \"./ListObjectsHelpers\";\nimport { ItemActions } from \"../../../../Common/TableWrapper/TableWrapper\";\nimport React, { useState } from \"react\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { selFeatures } from \"../../../../consoleSlice\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport {\n setIsOpeningOD,\n setLoadingObjects,\n setLoadingVersions,\n setObjectDetailsView,\n setSelectedObjects,\n setSelectedObjectView,\n} from \"../../../../ObjectBrowser/objectBrowserSlice\";\nimport { useNavigate, useParams } from \"react-router-dom\";\nimport get from \"lodash/get\";\nimport { sortListObjects } from \"../utils\";\nimport { BucketObjectItem } from \"./types\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../../../../common/SecureComponent/permissions\";\nimport { hasPermission } from \"../../../../../../common/SecureComponent\";\nimport { downloadObject } from \"../../../../ObjectBrowser/utils\";\nimport { DataTable } from \"mds\";\nimport { BucketObject } from \"api/consoleApi\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n browsePaper: {\n border: 0,\n \"@media (max-width: 800px)\": {\n width: 800,\n },\n },\n parentWrapper: {\n position: \"relative\",\n height: \"calc(100% - 60px)\",\n \"@media (max-width: 800px)\": {\n overflowX: \"auto\",\n },\n \"@media (max-width: 1060px)\": {\n height: \"calc(100% - 115px)\",\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);\n\ninterface IListObjectTable {\n internalPaths: string | null;\n}\n\nconst ListObjectsTable = ({ internalPaths }: IListObjectTable) => {\n const classes = useStyles();\n const dispatch = useAppDispatch();\n const params = useParams();\n const navigate = useNavigate();\n\n const [sortDirection, setSortDirection] = useState<\n \"ASC\" | \"DESC\" | undefined\n >(\"ASC\");\n const [currentSortField, setCurrentSortField] = useState(\"name\");\n\n const bucketName = params.bucketName || \"\";\n\n const detailsOpen = useSelector(\n (state: AppState) => state.objectBrowser.objectDetailsOpen,\n );\n\n const loadingObjects = useSelector(\n (state: AppState) => state.objectBrowser.loadingObjects,\n );\n\n const features = useSelector(selFeatures);\n const obOnly = !!features?.includes(\"object-browser-only\");\n\n const rewindEnabled = useSelector(\n (state: AppState) => state.objectBrowser.rewind.rewindEnabled,\n );\n const records = useSelector((state: AppState) => state.objectBrowser.records);\n const searchObjects = useSelector(\n (state: AppState) => state.objectBrowser.searchObjects,\n );\n const selectedObjects = useSelector(\n (state: AppState) => state.objectBrowser.selectedObjects,\n );\n const connectionError = useSelector(\n (state: AppState) => state.objectBrowser.connectionError,\n );\n const anonymousMode = useSelector(\n (state: AppState) => state.system.anonymousMode,\n );\n\n const displayListObjects = hasPermission(bucketName, [\n IAM_SCOPES.S3_LIST_BUCKET,\n IAM_SCOPES.S3_ALL_LIST_BUCKET,\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 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 openPath = (object: BucketObject) => {\n const idElement = object.name || \"\";\n const newPath = `/browser/${bucketName}${\n idElement ? `/${encodeURLString(idElement)}` : ``\n }`;\n\n // for anonymous start download\n if (\n anonymousMode &&\n internalPaths !== null &&\n !object.name?.endsWith(\"/\")\n ) {\n downloadObject(\n dispatch,\n bucketName,\n `${encodeURLString(idElement)}`,\n object,\n );\n return;\n }\n dispatch(setSelectedObjects([]));\n\n navigate(newPath);\n\n if (!anonymousMode) {\n dispatch(setObjectDetailsView(true));\n dispatch(setLoadingVersions(true));\n dispatch(setIsOpeningOD(true));\n }\n dispatch(\n setSelectedObjectView(\n `${idElement ? `${encodeURLString(idElement)}` : ``}`,\n ),\n );\n };\n const tableActions: ItemActions[] = [\n {\n type: \"view\",\n label: \"View\",\n onClick: openPath,\n sendOnlyId: false,\n },\n ];\n\n const sortChange = (sortData: any) => {\n const newSortDirection = get(sortData, \"sortDirection\", \"DESC\");\n setCurrentSortField(sortData.sortBy);\n setSortDirection(newSortDirection);\n dispatch(setLoadingObjects(true));\n };\n\n const selectAllItems = () => {\n dispatch(setSelectedObjectView(null));\n\n if (selectedObjects.length === payload.length) {\n dispatch(setSelectedObjects([]));\n return;\n }\n\n const elements = payload.map((item) => item.name);\n dispatch(setSelectedObjects(elements));\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 dispatch(setSelectedObjects(elements));\n dispatch(setSelectedObjectView(null));\n\n return elements;\n };\n\n let errorMessage =\n !displayListObjects && !anonymousMode\n ? permissionTooltipHelper(\n [IAM_SCOPES.S3_LIST_BUCKET, IAM_SCOPES.S3_ALL_LIST_BUCKET],\n \"view Objects in this bucket\",\n )\n : `This location is empty${\n !rewindEnabled ? \", please try uploading a new file\" : \"\"\n }`;\n\n if (connectionError) {\n errorMessage =\n \"Objects List unavailable. Please review your WebSockets configuration and try again\";\n }\n\n let customPaperHeight = \"calc(100vh - 290px)\";\n\n if (obOnly) {\n customPaperHeight = \"calc(100vh - 315px)\";\n }\n\n return (\n {\n if (payload[index]?.delete_flag) {\n return \"deleted\";\n }\n\n return \"\";\n }}\n parentClassName={classes.parentWrapper}\n sx={{\n minHeight: detailsOpen ? \"100%\" : \"initial\",\n }}\n noBackground\n />\n );\n};\nexport default ListObjectsTable;\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 { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { AppState } from \"../../../store\";\nimport { encodeURLString, getClientOS } from \"../../../common/utils\";\nimport { BucketObjectItem } from \"../Buckets/ListBuckets/Objects/ListObjects/types\";\nimport { makeid, storeCallForObjectWithID } from \"./transferManager\";\nimport {\n download,\n downloadSelectedAsZip,\n} from \"../Buckets/ListBuckets/Objects/utils\";\nimport {\n cancelObjectInList,\n completeObject,\n failObject,\n setAnonymousAccessOpen,\n setDownloadRenameModal,\n setNewObject,\n setPreviewOpen,\n setSelectedPreview,\n setShareFileModalOpen,\n updateProgress,\n} from \"./objectBrowserSlice\";\nimport { setSnackBarMessage } from \"../../../systemSlice\";\nimport { DateTime } from \"luxon\";\n\nexport const downloadSelected = createAsyncThunk(\n \"objectBrowser/downloadSelected\",\n async (bucketName: string, { getState, rejectWithValue, dispatch }) => {\n const state = getState() as AppState;\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 dispatch(\n setSnackBarMessage(\n \"File download will be handled directly by the browser.\",\n ),\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 if (state.objectBrowser.selectedObjects.length !== 0) {\n let itemsToDownload: BucketObjectItem[] = [];\n\n const filterFunction = (currValue: BucketObjectItem) =>\n state.objectBrowser.selectedObjects.includes(currValue.name);\n\n itemsToDownload = state.objectBrowser.records.filter(filterFunction);\n\n // In case just one element is selected, then we trigger download modal validation.\n if (itemsToDownload.length === 1) {\n if (\n itemsToDownload[0].name.length > 200 &&\n getClientOS().toLowerCase().includes(\"win\")\n ) {\n dispatch(setDownloadRenameModal(itemsToDownload[0]));\n return;\n } else {\n downloadObject(itemsToDownload[0]);\n }\n } else {\n if (itemsToDownload.length === 1) {\n downloadObject(itemsToDownload[0]);\n } else if (itemsToDownload.length > 1) {\n const fileName = `${DateTime.now().toFormat(\n \"LL-dd-yyyy-HH-mm-ss\",\n )}_files_list.zip`;\n\n // We are enforcing zip download when multiple files are selected for better user experience\n const multiObjList = itemsToDownload.reduce((dwList: any[], bi) => {\n // Download objects/prefixes(recursively) as zip\n // Skip any deleted files selected via \"Show deleted objects\" in selection and log for debugging\n const isDeleted = bi?.delete_flag;\n if (bi && !isDeleted) {\n dwList.push(bi.name);\n } else {\n console.log(`Skipping ${bi?.name} from download.`);\n }\n return dwList;\n }, []);\n\n await downloadSelectedAsZip(bucketName, multiObjList, fileName);\n return;\n }\n }\n }\n },\n);\n\nexport const openPreview = createAsyncThunk(\n \"objectBrowser/openPreview\",\n async (_, { getState, rejectWithValue, dispatch }) => {\n const state = getState() as AppState;\n\n if (state.objectBrowser.selectedObjects.length === 1) {\n let fileObject: BucketObjectItem | undefined;\n\n const findFunction = (currValue: BucketObjectItem) =>\n state.objectBrowser.selectedObjects.includes(currValue.name);\n\n fileObject = state.objectBrowser.records.find(findFunction);\n\n if (fileObject) {\n dispatch(setSelectedPreview(fileObject));\n dispatch(setPreviewOpen(true));\n }\n }\n },\n);\n\nexport const openShare = createAsyncThunk(\n \"objectBrowser/openShare\",\n async (_, { getState, rejectWithValue, dispatch }) => {\n const state = getState() as AppState;\n\n if (state.objectBrowser.selectedObjects.length === 1) {\n let fileObject: BucketObjectItem | undefined;\n\n const findFunction = (currValue: BucketObjectItem) =>\n state.objectBrowser.selectedObjects.includes(currValue.name);\n\n fileObject = state.objectBrowser.records.find(findFunction);\n\n if (fileObject) {\n dispatch(setSelectedPreview(fileObject));\n dispatch(setShareFileModalOpen(true));\n }\n }\n },\n);\n\nexport const openAnonymousAccess = createAsyncThunk(\n \"objectBrowser/openAnonymousAccess\",\n async (_, { getState, dispatch }) => {\n const state = getState() as AppState;\n\n if (\n state.objectBrowser.selectedObjects.length === 1 &&\n state.objectBrowser.selectedObjects[0].endsWith(\"/\")\n ) {\n dispatch(setAnonymousAccessOpen(true));\n }\n },\n);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 { setSearchObjects } from \"./objectBrowserSlice\";\nimport SearchBox from \"../Common/SearchBox\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { useSelector } from \"react-redux\";\n\nconst FilterObjectsSB = () => {\n const dispatch = useAppDispatch();\n\n const searchObjects = useSelector(\n (state: AppState) => state.objectBrowser.searchObjects,\n );\n return (\n {\n dispatch(setSearchObjects(value));\n }}\n value={searchObjects}\n />\n );\n};\nexport default FilterObjectsSB;\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 {\n AccessRuleIcon,\n ActionsList,\n BucketsIcon,\n Button,\n DeleteIcon,\n DownloadIcon,\n HistoryIcon,\n PageLayout,\n PreviewIcon,\n RefreshIcon,\n ScreenTitle,\n ShareIcon,\n} from \"mds\";\nimport { DateTime } from \"luxon\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport get from \"lodash/get\";\nimport {\n decodeURLString,\n encodeURLString,\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 } from \"@mui/material\";\nimport BrowserBreadcrumbs from \"../../../../ObjectBrowser/BrowserBreadcrumbs\";\nimport { AllowedPreviews, previewObjectType } from \"../utils\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\n\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../../../../common/SecureComponent/permissions\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../../../common/SecureComponent\";\nimport withSuspense from \"../../../../Common/Components/withSuspense\";\nimport UploadFilesButton from \"../../UploadFilesButton\";\nimport DetailsListPanel from \"./DetailsListPanel\";\nimport ObjectDetailPanel from \"./ObjectDetailPanel\";\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 resetMessages,\n resetRewind,\n setAnonymousAccessOpen,\n setDownloadRenameModal,\n setLoadingObjects,\n setLoadingRecords,\n setLoadingVersions,\n setNewObject,\n setObjectDetailsView,\n setPreviewOpen,\n setRetentionConfig,\n setSearchObjects,\n setSelectedBucket,\n setSelectedObjects,\n setSelectedObjectView,\n setSelectedPreview,\n setShareFileModalOpen,\n setShowDeletedObjects,\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 TooltipWrapper from \"../../../../Common/TooltipWrapper/TooltipWrapper\";\nimport ListObjectsTable from \"./ListObjectsTable\";\nimport {\n downloadSelected,\n openAnonymousAccess,\n openPreview,\n openShare,\n} from \"../../../../ObjectBrowser/objectBrowserThunks\";\n\nimport FilterObjectsSB from \"../../../../ObjectBrowser/FilterObjectsSB\";\nimport AddAccessRule from \"../../../BucketDetails/AddAccessRule\";\nimport { isVersionedMode } from \"../../../../../../utils/validationFunctions\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { BucketQuota } from \"api/consoleApi\";\nimport {\n extractFileExtn,\n getPolicyAllowedFileExtensions,\n getSessionGrantsWildCard,\n} from \"../../UploadPermissionUtils\";\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 badgeOverlap: {\n \"& .MuiBadge-badge\": {\n top: 10,\n right: 1,\n width: 5,\n height: 5,\n minWidth: 5,\n },\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 5px\",\n },\n labelStyle: {\n color: \"#969FA8\",\n fontSize: \"12px\",\n },\n breadcrumbsContainer: {\n padding: \"12px 14px 5px\",\n },\n fullContainer: {\n width: \"100%\",\n position: \"relative\",\n \"&.detailsOpen\": {\n \"@media (max-width: 799px)\": {\n display: \"none\",\n },\n },\n },\n hideListOnSmall: {\n \"@media (max-width: 799px)\": {\n display: \"none\",\n },\n },\n actionsSection: {\n display: \"flex\",\n justifyContent: \"space-between\",\n width: \"100%\",\n },\n ...objectBrowserExtras,\n ...objectBrowserCommon,\n ...containerForHeader,\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\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 bucketToRewind = useSelector(\n (state: AppState) => state.objectBrowser.rewind.bucketToRewind,\n );\n const versionsMode = useSelector(\n (state: AppState) => state.objectBrowser.versionsMode,\n );\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 loadingObjects = useSelector(\n (state: AppState) => state.objectBrowser.loadingObjects,\n );\n const simplePath = useSelector(\n (state: AppState) => state.objectBrowser.simplePath,\n );\n\n const versioningConfig = useSelector(\n (state: AppState) => state.objectBrowser.versionInfo,\n );\n const lockingEnabled = useSelector(\n (state: AppState) => state.objectBrowser.lockingEnabled,\n );\n const downloadRenameModal = useSelector(\n (state: AppState) => state.objectBrowser.downloadRenameModal,\n );\n const selectedPreview = useSelector(\n (state: AppState) => state.objectBrowser.selectedPreview,\n );\n const shareFileModalOpen = useSelector(\n (state: AppState) => state.objectBrowser.shareFileModalOpen,\n );\n const previewOpen = useSelector(\n (state: AppState) => state.objectBrowser.previewOpen,\n );\n const selectedBucket = useSelector(\n (state: AppState) => state.objectBrowser.selectedBucket,\n );\n const anonymousMode = useSelector(\n (state: AppState) => state.system.anonymousMode,\n );\n const anonymousAccessOpen = useSelector(\n (state: AppState) => state.objectBrowser.anonymousAccessOpen,\n );\n\n const loadingBucket = useSelector(selBucketDetailsLoading);\n const bucketInfo = useSelector(selBucketDetailsInfo);\n\n const [deleteMultipleOpen, setDeleteMultipleOpen] = useState(false);\n const [rewindSelect, setRewindSelect] = useState(false);\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\n const [metaData, setMetaData] = useState(null);\n const [isMetaDataLoaded, setIsMetaDataLoaded] = useState(false);\n\n const isVersioningApplied = isVersionedMode(versioningConfig.status);\n const bucketName = params.bucketName || \"\";\n\n const pathSegment = location.pathname.split(`/browser/${bucketName}/`);\n const internalPaths = pathSegment.length === 2 ? pathSegment[1] : \"\";\n\n const pageTitle = decodeURLString(internalPaths);\n const currentPath = pageTitle.split(\"/\").filter((i: string) => i !== \"\");\n\n let uploadPath = [bucketName];\n if (currentPath.length > 0) {\n uploadPath = uploadPath.concat(currentPath);\n }\n\n const fileUpload = useRef(null);\n const folderUpload = useRef(null);\n\n const sessionGrants = useSelector((state: AppState) =>\n state.console.session ? state.console.session.permissions || {} : {},\n );\n\n const putObjectPermScopes = [\n IAM_SCOPES.S3_PUT_OBJECT,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ];\n\n const pathAsResourceInPolicy = uploadPath.join(\"/\");\n const allowedFileExtensions = getPolicyAllowedFileExtensions(\n sessionGrants,\n pathAsResourceInPolicy,\n putObjectPermScopes,\n );\n\n const sessionGrantWildCards = getSessionGrantsWildCard(\n sessionGrants,\n pathAsResourceInPolicy,\n putObjectPermScopes,\n );\n\n const canDownload = hasPermission(\n [pathAsResourceInPolicy, ...sessionGrantWildCards],\n [IAM_SCOPES.S3_GET_OBJECT, IAM_SCOPES.S3_GET_ACTIONS],\n );\n const canDelete = hasPermission(\n [pathAsResourceInPolicy, ...sessionGrantWildCards],\n [IAM_SCOPES.S3_DELETE_OBJECT],\n );\n const canUpload =\n hasPermission(\n [pathAsResourceInPolicy, ...sessionGrantWildCards],\n putObjectPermScopes,\n ) || anonymousMode;\n\n const canSetAnonymousAccess = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_POLICY,\n IAM_SCOPES.S3_PUT_BUCKET_POLICY,\n IAM_SCOPES.S3_GET_ACTIONS,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ]);\n\n const selectedObjects = useSelector(\n (state: AppState) => state.objectBrowser.selectedObjects,\n );\n\n const fetchMetadata = useCallback(() => {\n const objectName = selectedObjects[0];\n\n if (!isMetaDataLoaded) {\n const encodedPath = encodeURLString(objectName);\n api.buckets\n .getObjectMetadata(bucketName, {\n prefix: encodedPath,\n })\n .then((res) => {\n let metadata = get(res.data, \"objectMetadata\", {});\n setIsMetaDataLoaded(true);\n setMetaData(metadata);\n })\n .catch((err) => {\n console.error(\n \"Error Getting Metadata Status: \",\n err,\n err?.detailedError,\n );\n setIsMetaDataLoaded(true);\n });\n }\n }, [bucketName, selectedObjects, isMetaDataLoaded]);\n\n useEffect(() => {\n if (bucketName && selectedObjects.length === 1) {\n fetchMetadata();\n }\n }, [bucketName, selectedObjects, fetchMetadata]);\n\n useEffect(() => {\n dispatch(setSearchObjects(\"\"));\n dispatch(setLoadingObjects(true));\n dispatch(setSelectedObjects([]));\n }, [simplePath, dispatch]);\n\n useEffect(() => {\n if (rewindEnabled) {\n if (bucketToRewind !== bucketName) {\n dispatch(resetRewind());\n return;\n }\n }\n }, [rewindEnabled, bucketToRewind, bucketName, dispatch]);\n\n // END OF WS HANDLERS\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 let objectType: AllowedPreviews = previewObjectType(metaData, objectName);\n\n if (objectType !== \"none\" && canDownload) {\n setCanPreviewFile(true);\n } else {\n setCanPreviewFile(false);\n }\n\n if (objectName.endsWith(\"/\") || canDownload) {\n setCanShareFile(true);\n } else {\n setCanShareFile(false);\n }\n } else {\n setCanShareFile(false);\n setCanPreviewFile(false);\n }\n }, [selectedObjects, canDownload, metaData]);\n\n useEffect(() => {\n if (!quota && !anonymousMode) {\n api.buckets\n .getBucketQuota(bucketName)\n .then((res) => {\n let quotaVals = null;\n\n if (res.data.quota) {\n quotaVals = res.data;\n }\n\n setQuota(quotaVals);\n })\n .catch((err) => {\n console.error(\n \"Error Getting Quota Status: \",\n err.error.detailedMessage,\n );\n setQuota(null);\n });\n }\n }, [quota, bucketName, anonymousMode]);\n\n useEffect(() => {\n if (selectedObjects.length > 0) {\n dispatch(setObjectDetailsView(true));\n return;\n }\n\n if (\n selectedObjects.length === 0 &&\n selectedInternalPaths === null &&\n !loadingObjects\n ) {\n dispatch(setObjectDetailsView(false));\n }\n }, [selectedObjects, selectedInternalPaths, dispatch, loadingObjects]);\n\n useEffect(() => {\n if (!iniLoad) {\n dispatch(setBucketDetailsLoad(true));\n setIniLoad(true);\n }\n }, [iniLoad, dispatch, setIniLoad]);\n\n // bucket info\n useEffect(() => {\n if ((loadingObjects || loadingBucket) && !anonymousMode) {\n api.buckets\n .bucketInfo(bucketName)\n .then((res) => {\n dispatch(setBucketDetailsLoad(false));\n dispatch(setBucketInfo(res.data));\n dispatch(setSelectedBucket(bucketName));\n })\n .catch((err) => {\n dispatch(setBucketDetailsLoad(false));\n dispatch(setErrorSnackMessage(errorToHandler(err)));\n });\n }\n }, [bucketName, loadingBucket, dispatch, anonymousMode, loadingObjects]);\n\n // Load retention Config\n\n useEffect(() => {\n if (selectedBucket !== \"\") {\n api.buckets\n .getBucketRetentionConfig(selectedBucket)\n .then((res) => {\n dispatch(setRetentionConfig(res.data));\n })\n .catch(() => {\n dispatch(setRetentionConfig(null));\n });\n }\n }, [selectedBucket, dispatch]);\n\n const closeDeleteMultipleModalAndRefresh = (refresh: boolean) => {\n setDeleteMultipleOpen(false);\n\n if (refresh) {\n dispatch(setSnackBarMessage(`Objects deleted successfully.`));\n dispatch(setSelectedObjects([]));\n dispatch(setLoadingObjects(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 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 if (anonymousMode) {\n xhr.setRequestHeader(\"X-Anonymous\", \"1\");\n }\n // xhr.setRequestHeader(\"X-Anonymous\", \"1\");\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(setLoadingObjects(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 storeFormDataWithID(ID, formData);\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(setLoadingObjects(true));\n dispatch(setSelectedObjects([]));\n });\n };\n\n upload(files, bucketName, pathPrefix, folderPath);\n },\n [bucketName, dispatch, simplePath, anonymousMode],\n );\n\n const onDrop = useCallback(\n (acceptedFiles: any[]) => {\n if (acceptedFiles && acceptedFiles.length > 0 && canUpload) {\n let newFolderPath: string = acceptedFiles[0].path;\n //Should we filter by allowed file extensions if any?.\n let allowedFiles = [];\n if (allowedFileExtensions.length > 0) {\n allowedFiles = acceptedFiles.filter((file) => {\n const fileExtn = extractFileExtn(file.name);\n return allowedFileExtensions.includes(fileExtn);\n });\n } else {\n allowedFiles = acceptedFiles;\n }\n\n if (allowedFiles.length) {\n uploadObject(allowedFiles, newFolderPath);\n console.log(\n `${allowedFiles.length} Allowed Files Processed out of ${acceptedFiles.length}.`,\n pathAsResourceInPolicy,\n ...sessionGrantWildCards,\n );\n\n if (allowedFiles.length !== acceptedFiles.length) {\n dispatch(\n setErrorSnackMessage({\n errorMessage: \"Upload is restricted.\",\n detailedError: permissionTooltipHelper(\n [IAM_SCOPES.S3_PUT_OBJECT, IAM_SCOPES.S3_PUT_ACTIONS],\n \"upload objects to this location\",\n ),\n }),\n );\n }\n } else {\n dispatch(\n setErrorSnackMessage({\n errorMessage: \"Could not process drag and drop.\",\n detailedError: permissionTooltipHelper(\n [IAM_SCOPES.S3_PUT_OBJECT, IAM_SCOPES.S3_PUT_ACTIONS],\n \"upload objects to this location\",\n ),\n }),\n );\n\n console.error(\n \"Could not process drag and drop . upload may be restricted.\",\n pathAsResourceInPolicy,\n ...sessionGrantWildCards,\n );\n }\n }\n if (!canUpload) {\n dispatch(\n setErrorSnackMessage({\n errorMessage: \"Upload not allowed\",\n detailedError: permissionTooltipHelper(\n [IAM_SCOPES.S3_PUT_OBJECT, IAM_SCOPES.S3_PUT_ACTIONS],\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 closeShareModal = () => {\n dispatch(setShareFileModalOpen(false));\n dispatch(setSelectedPreview(null));\n };\n\n const rewindCloseModal = () => {\n setRewindSelect(false);\n };\n\n const closePreviewWindow = () => {\n dispatch(setPreviewOpen(false));\n dispatch(setSelectedPreview(null));\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(`/browser/${bucketName}/${encodeURLString(URLItem)}`);\n }\n\n dispatch(setObjectDetailsView(false));\n dispatch(setSelectedObjects([]));\n\n if (forceRefresh) {\n dispatch(setLoadingObjects(true));\n }\n };\n\n const setDeletedAction = () => {\n dispatch(resetMessages());\n dispatch(setShowDeletedObjects(!showDeleted));\n onClosePanel(true);\n };\n\n const closeRenameModal = () => {\n dispatch(setDownloadRenameModal(null));\n };\n\n const closeAddAccessRule = () => {\n dispatch(setAnonymousAccessOpen(false));\n };\n\n let createdTime = DateTime.now();\n\n if (bucketInfo?.creation_date) {\n createdTime = DateTime.fromISO(bucketInfo.creation_date);\n }\n\n const downloadToolTip =\n selectedObjects?.length <= 1\n ? \"Download Selected\"\n : ` Download selected objects as Zip. Any Deleted objects in the selection would be skipped from download.`;\n\n const multiActionButtons = [\n {\n action: () => {\n dispatch(downloadSelected(bucketName));\n },\n label: \"Download\",\n disabled: !canDownload || selectedObjects?.length === 0,\n icon: ,\n tooltip: canDownload\n ? downloadToolTip\n : permissionTooltipHelper(\n [IAM_SCOPES.S3_GET_OBJECT, IAM_SCOPES.S3_GET_ACTIONS],\n \"download objects from this bucket\",\n ),\n },\n {\n action: () => {\n dispatch(openShare());\n },\n label: \"Share\",\n disabled: selectedObjects.length !== 1 || !canShareFile,\n icon: ,\n tooltip: canShareFile ? \"Share Selected File\" : \"Sharing unavailable\",\n },\n {\n action: () => {\n dispatch(openPreview());\n },\n label: \"Preview\",\n disabled: selectedObjects.length !== 1 || !canPreviewFile,\n icon: ,\n tooltip: canPreviewFile ? \"Preview Selected File\" : \"Preview unavailable\",\n },\n {\n action: () => {\n dispatch(openAnonymousAccess());\n },\n label: \"Anonymous Access\",\n disabled:\n selectedObjects.length !== 1 ||\n !selectedObjects[0].endsWith(\"/\") ||\n !canSetAnonymousAccess,\n icon: ,\n tooltip:\n selectedObjects.length === 1 && selectedObjects[0].endsWith(\"/\")\n ? \"Set Anonymous Access to this Folder\"\n : \"Anonymous Access unavailable\",\n },\n {\n action: () => {\n setDeleteMultipleOpen(true);\n },\n label: \"Delete\",\n icon: ,\n disabled: !canDelete || selectedObjects.length === 0,\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 {anonymousAccessOpen && (\n \n )}\n\n \n {anonymousMode && (\n
\n \n
\n )}\n \n \n \n \n }\n title={bucketName}\n subTitle={\n !anonymousMode ? (\n \n \n Created on:  \n \n {bucketInfo?.creation_date\n ? createdTime.toFormat(\n \"ccc, LLL dd yyyy HH:mm:ss (ZZZZ)\",\n )\n : \"\"}\n \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 \n {\" \"}\n / {niceBytesInt(quota.quota || 0)}\n \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 ) : null\n }\n actions={\n \n {!anonymousMode && (\n \n \n \n \n }\n variant={\"regular\"}\n onClick={() => {\n setRewindSelect(true);\n }}\n disabled={\n !isVersioningApplied ||\n !hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_OBJECT,\n IAM_SCOPES.S3_GET_ACTIONS,\n ])\n }\n />\n \n )}\n \n }\n variant={\"regular\"}\n onClick={() => {\n if (versionsMode) {\n dispatch(setLoadingVersions(true));\n } else {\n dispatch(resetMessages());\n dispatch(setLoadingRecords(true));\n dispatch(setLoadingObjects(true));\n }\n }}\n disabled={\n anonymousMode\n ? false\n : !hasPermission(bucketName, [\n IAM_SCOPES.S3_LIST_BUCKET,\n IAM_SCOPES.S3_ALL_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 bottomBorder={false}\n />\n \n \n \n \n {versionsMode ? (\n \n {selectedInternalPaths !== null && (\n \n )}\n \n ) : (\n \n \n {!anonymousMode && (\n \n \n \n \n )\n }\n hidePathButton={false}\n />\n \n )}\n \n \n \n )}\n {!anonymousMode && (\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};\n\nexport default ListObjects;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 {\n IAM_PAGES,\n IAM_PERMISSIONS,\n IAM_ROLES,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport { SecureComponent } from \"../../../common/SecureComponent\";\nimport TooltipWrapper from \"../Common/TooltipWrapper/TooltipWrapper\";\nimport { BackLink, Button, SettingsIcon, Grid } from \"mds\";\nimport AutoColorIcon from \"../Common/Components/AutoColorIcon\";\nimport { useSelector } from \"react-redux\";\nimport { selFeatures } from \"../consoleSlice\";\nimport hasPermission from \"../../../common/SecureComponent/accessControl\";\nimport { useNavigate } from \"react-router-dom\";\nimport SearchBox from \"../Common/SearchBox\";\nimport { setSearchVersions } from \"./objectBrowserSlice\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport FilterObjectsSB from \"./FilterObjectsSB\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport ObjectManagerButton from \"../Common/ObjectManager/ObjectManagerButton\";\nimport HelpMenu from \"../HelpMenu\";\nimport { setHelpName } from \"../../../systemSlice\";\n\ninterface IOBHeader {\n bucketName: string;\n}\n\nconst OBHeader = ({ bucketName }: IOBHeader) => {\n const dispatch = useAppDispatch();\n const features = useSelector(selFeatures);\n\n const versionsMode = useSelector(\n (state: AppState) => state.objectBrowser.versionsMode,\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 obOnly = !!features?.includes(\"object-browser-only\");\n\n const navigate = useNavigate();\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 IAM_SCOPES.S3_GET_ACTIONS,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ]);\n\n const searchBar = (\n \n {!versionsMode ? (\n \n \n \n ) : (\n \n {\n dispatch(setSearchVersions(value));\n }}\n value={searchVersions}\n />\n \n )}\n \n );\n\n useEffect(() => {\n dispatch(setHelpName(\"object_browser\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n {!obOnly ? (\n {\n navigate(IAM_PAGES.OBJECT_BROWSER_VIEW);\n }}\n />\n }\n actions={\n \n \n \n navigate(`/buckets/${bucketName}/admin`)}\n icon={\n \n }\n style={{\n padding: \"0 10px\",\n }}\n />\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\nexport default OBHeader;\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 { DateTime } from \"luxon\";\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 { Grid, InputBox, InputLabel, LinkIcon } from \"mds\";\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 durationInputs: {\n display: \"flex\",\n alignItems: \"flex-start\",\n justifyContent: \"flex-start\",\n gap: 10,\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 DateTime.fromJSDate(initialDate).plus({ days, hours, 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(DateTime.now());\n\n useEffect(() => {\n if (\n !isNaN(selectedHours) &&\n !isNaN(selectedDays) &&\n !isNaN(selectedMinutes)\n ) {\n setDateSelected(\n calculateNewTime(\n initialDate,\n selectedDays,\n selectedHours,\n selectedMinutes,\n ),\n );\n }\n }, [initialDate, selectedDays, selectedHours, selectedMinutes]);\n\n useEffect(() => {\n if (validDate) {\n const formattedDate = dateSelected.toFormat(\"yyyy-MM-dd HH:mm:ss\");\n onChange(formattedDate.split(\" \").join(\"T\"), 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 if (selectedDays <= 0 && selectedHours <= 0 && selectedMinutes <= 0) {\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 extraStyles = {\n \"& .textBoxContainer\": {\n minWidth: 0,\n },\n \"& input\": {\n textAlign: \"center\" as const,\n paddingRight: 10,\n paddingLeft: 10,\n width: 40,\n },\n };\n\n return (\n \n \n \n {label}\n \n \n \n {\n setSelectedDays(parseInt(e.target.value));\n }}\n value={selectedDays.toString()}\n sx={extraStyles}\n noLabelMinWidth\n />\n \n \n {\n setSelectedHours(parseInt(e.target.value));\n }}\n value={selectedHours.toString()}\n sx={extraStyles}\n noLabelMinWidth\n />\n \n \n {\n setSelectedMinutes(parseInt(e.target.value));\n }}\n value={selectedMinutes.toString()}\n sx={extraStyles}\n noLabelMinWidth\n />\n \n \n \n {validDate ? (\n
\n \n
\n {entity} will be available until:\n
{\" \"}\n
\n {dateSelected.toFormat(\"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 { useSelector } from \"react-redux\";\nimport { Button, CopyIcon, ReadBox, ShareIcon, Grid } from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport LinearProgress from \"@mui/material/LinearProgress\";\n\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport DaysSelector from \"../../../../Common/FormComponents/DaysSelector/DaysSelector\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport {\n selDistSet,\n setModalErrorSnackMessage,\n setModalSnackMessage,\n} from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\nimport { BucketObject } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\n\ninterface IShareFileProps {\n open: boolean;\n bucketName: string;\n dataObject: BucketObject;\n closeModalAndRefresh: () => void;\n}\n\nconst ShareFile = ({\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.buckets\n .listObjects(bucketName, {\n prefix: encodeURLString(dataObject.name || \"\"),\n with_versions: distributedSetup,\n })\n .then((res) => {\n const result: BucketObject[] = res.data.objects || [];\n\n const latestVersion: BucketObject | undefined = result.find(\n (elem: BucketObject) => elem.is_latest,\n );\n\n if (latestVersion) {\n setVersionID(`${latestVersion.version_id}`);\n return;\n }\n\n // Version couldn't be retrieved, we default\n setVersionID(\"null\");\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.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.buckets\n .shareObject(bucketName, {\n prefix: encodeURLString(dataObject.name || \"\"),\n version_id: versionID,\n expires: selectedDate !== \"\" ? `${diffDate}s` : \"\",\n })\n .then((res) => {\n setShareURL(res.data);\n setIsLoadingFile(false);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.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 dispatch(\n setModalSnackMessage(\"Share URL Copied to clipboard\"),\n );\n }}\n disabled={shareURL === \"\" || isLoadingFile}\n style={{\n width: \"28px\",\n height: \"28px\",\n padding: \"0px\",\n }}\n icon={}\n />\n \n }\n >\n {shareURL}\n \n \n
\n )}\n \n
\n );\n};\n\nexport default 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, useCallback, useEffect, 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 { AllowedPreviews, previewObjectType } from \"../utils\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport clsx from \"clsx\";\nimport WarningMessage from \"../../../../Common/WarningMessage/WarningMessage\";\nimport { api } from \"../../../../../../api\";\nimport get from \"lodash/get\";\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 const [metaData, setMetaData] = useState(null);\n const [isMetaDataLoaded, setIsMetaDataLoaded] = useState(false);\n\n const objectName = object?.name || \"\";\n\n const fetchMetadata = useCallback(() => {\n if (!isMetaDataLoaded) {\n const encodedPath = encodeURLString(objectName);\n api.buckets\n .getObjectMetadata(bucketName, {\n prefix: encodedPath,\n })\n .then((res) => {\n let metadata = get(res.data, \"objectMetadata\", {});\n setIsMetaDataLoaded(true);\n setMetaData(metadata);\n })\n .catch((err) => {\n console.error(\n \"Error Getting Metadata Status: \",\n err,\n err?.detailedError,\n );\n setIsMetaDataLoaded(true);\n });\n }\n }, [bucketName, objectName, isMetaDataLoaded]);\n\n useEffect(() => {\n if (bucketName && objectName) {\n fetchMetadata();\n }\n }, [bucketName, objectName, fetchMetadata]);\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 let objectType: AllowedPreviews = previewObjectType(metaData, objectName);\n\n const iframeLoaded = () => {\n setLoading(false);\n };\n\n return (\n \n {objectType !== \"none\" && loading && (\n \n \n \n )}\n {isMetaDataLoaded ? (\n
\n {objectType === \"video\" && (\n \n \n \n )}\n {objectType === \"audio\" && (\n \n \n \n )}\n {objectType === \"image\" && (\n \n )}\n {objectType === \"none\" && (\n
\n \n
\n )}\n {objectType !== \"none\" &&\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 ) : null}\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 \"mds\";\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 { encodeURLString } from \"../../../../../common/utils\";\nimport { removeTrace } from \"../../../ObjectBrowser/transferManager\";\nimport store from \"../../../../../store\";\nimport { ContentType, PermissionResource } from \"api/consoleApi\";\nimport { api } from \"../../../../../api\";\nimport { setErrorSnackMessage } from \"../../../../../systemSlice\";\n\nconst downloadWithLink = (href: string, downloadFileName: string) => {\n const link = document.createElement(\"a\");\n link.href = href;\n link.download = downloadFileName;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n};\n\nexport const downloadSelectedAsZip = async (\n bucketName: string,\n objectList: string[],\n resultFileName: string,\n) => {\n const state = store.getState();\n const anonymousMode = state.system.anonymousMode;\n\n try {\n const resp = await api.buckets.downloadMultipleObjects(\n bucketName,\n objectList,\n {\n type: ContentType.Json,\n headers: anonymousMode\n ? {\n \"X-Anonymous\": \"1\",\n }\n : undefined,\n },\n );\n const blob = await resp.blob();\n const href = window.URL.createObjectURL(blob);\n downloadWithLink(href, resultFileName);\n } catch (err: any) {\n store.dispatch(\n setErrorSnackMessage({\n errorMessage: `Download of multiple files failed. ${err.statusText}`,\n detailedError: \"\",\n }),\n );\n }\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 toastCallback: () => void,\n) => {\n let basename = document.baseURI.replace(window.location.origin, \"\");\n const state = store.getState();\n const anonymousMode = state.system.anonymousMode;\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 // If file is greater than 50GiB then we force browser download, if not then we use HTTP Request for Object Manager\n if (fileSize > 53687091200) {\n return new BrowserDownload(path, id, completeCallback, toastCallback);\n }\n\n let req = new XMLHttpRequest();\n req.open(\"GET\", path, true);\n if (anonymousMode) {\n req.setRequestHeader(\"X-Anonymous\", \"1\");\n }\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 downloadWithLink(window.URL.createObjectURL(req.response), filename);\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\nclass BrowserDownload {\n path: string;\n id: string;\n completeCallback: () => void;\n toastCallback: () => void;\n\n constructor(\n path: string,\n id: string,\n completeCallback: () => void,\n toastCallback: () => void,\n ) {\n this.path = path;\n this.id = id;\n this.completeCallback = completeCallback;\n this.toastCallback = toastCallback;\n }\n\n send(): void {\n this.toastCallback();\n const link = document.createElement(\"a\");\n link.href = this.path;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n this.completeCallback();\n removeTrace(this.id);\n }\n}\n\nexport type AllowedPreviews = \"image\" | \"text\" | \"audio\" | \"video\" | \"none\";\nexport const contentTypePreview = (contentType: string): AllowedPreviews => {\n if (contentType) {\n const mimeObjectType = (contentType || \"\").toLowerCase();\n\n if (mimeObjectType.includes(\"image\")) {\n return \"image\";\n }\n if (mimeObjectType.includes(\"text\")) {\n return \"text\";\n }\n if (mimeObjectType.includes(\"audio\")) {\n return \"audio\";\n }\n if (mimeObjectType.includes(\"video\")) {\n return \"video\";\n }\n }\n\n return \"none\";\n};\n\n// Review file extension by name & returns the type of preview browser that can be used\nexport const extensionPreview = (fileName: string): AllowedPreviews => {\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\"];\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 previewObjectType = (\n metaData: Record,\n objectName: string,\n) => {\n const metaContentType = (\n (metaData && metaData[\"Content-Type\"]) ||\n \"\"\n ).toString();\n\n const extensionType = extensionPreview(objectName || \"\");\n const contentType = contentTypePreview(metaContentType);\n\n let objectType: AllowedPreviews = extensionType;\n\n if (extensionType === contentType) {\n objectType = extensionType;\n } else if (extensionType === \"none\" && contentType !== \"none\") {\n objectType = contentType;\n } else if (contentType === \"none\" && extensionType !== \"none\") {\n objectType = extensionType;\n }\n\n return objectType;\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: PermissionResource[],\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 let 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 store 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: \"\",\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 // We verify if currentPath is contained in the path begin, if is not contained the user has no access to this subpath\n const cleanCurrPath = currentPath.replace(/\\/$/, \"\");\n\n if (!prefixItem.startsWith(cleanCurrPath) && currentPath !== \"\") {\n return;\n }\n\n // For every split element we iterate and check if we can construct a URL\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: \"\",\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 // We clean duplicated name entries\n if (returnElements.length > 0) {\n let clElements: BucketObjectItem[] = [];\n let keys: string[] = [];\n\n returnElements.forEach((itm) => {\n if (!keys.includes(itm.name)) {\n clElements.push(itm);\n keys.push(itm.name);\n }\n });\n\n returnElements = clElements;\n }\n\n return returnElements;\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, { 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","// 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 \"mds\";\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 from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport { HelpIcon } from \"mds\";\nimport clsx from \"clsx\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input/Input\";\n\ninterface IFormSwitch {\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 description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n extraInputProps?: StandardInputProps[\"inputProps\"];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n extraInputProps = {},\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {switchComponent}\n
\n {description !== \"\" && (\n \n \n {description}\n \n \n )}\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\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, { ClipboardEvent, useState } from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { HelpIcon } from \"mds\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n onFocus?: () => void;\n onPaste?: (e: ClipboardEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n }),\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n onFocus,\n onPaste,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n const [toggleTextInput, setToggleTextInput] = useState(false);\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n let inputBoxWrapperIcon = overlayIcon;\n let inputBoxWrapperType = type;\n\n if (type === \"password\" && overlayIcon === null) {\n inputBoxWrapperIcon = toggleTextInput ? (\n \n ) : (\n \n );\n inputBoxWrapperType = toggleTextInput ? \"text\" : \"password\";\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {inputBoxWrapperIcon && (\n \n {\n overlayAction();\n }\n : () => setToggleTextInput(!toggleTextInput)\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {inputBoxWrapperIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\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 withStyles from \"@mui/styles/withStyles\";\n\ninterface IWarningMessage {\n classes: any;\n label: any;\n title: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n backgroundColor: \"#e78794\",\n borderRadius: 3,\n marginBottom: 20,\n padding: 1,\n paddingBottom: 15,\n },\n labelHeadline: {\n color: \"#000000\",\n fontSize: 14,\n marginLeft: 20,\n },\n labelText: {\n color: \"#000000\",\n fontSize: 14,\n marginLeft: 20,\n marginRight: 40,\n },\n });\n\nconst WarningMessage = ({ classes, label, title }: IWarningMessage) => {\n return (\n
\n

{title}

\n
{label}
\n
\n );\n};\n\nexport default withStyles(styles)(WarningMessage);\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, CopyIcon } from \"mds\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\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","// 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 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":["_ref","modalOpen","onClose","bucket","prefilledRoute","dispatch","useAppDispatch","_useState","useState","_useState2","_slicedToArray","prefix","setPrefix","_useState3","_useState4","selectedAccess","setSelectedAccess","useEffect","_jsx","ModalWrapper","title","titleIcon","AddAccessRuleIcon","children","_jsxs","FormLayout","withBorders","containerPadding","InputBox","value","label","id","name","placeholder","onChange","e","target","tooltip","Select","options","disabled","Grid","item","xs","sx","modalStyleUtils","modalButtonBar","Button","type","variant","onClick","trim","api","setAccessRuleWithBucket","access","then","res","setSnackBarMessage","catch","err","setErrorSnackMessage","errorToHandler","objectsWS","extractFileExtn","resourceStr","match","getSessionGrantsWildCard","sessionGrants","uploadPath","scopes","arguments","length","undefined","grantsWithExtension","Object","keys","reduce","acc","grantKey","includes","filter","sessionGrantKey","hasScope","some","actionKey","find","scopeKey","wildCardMatch","indexOf","scopeActionKey","substring","isUploadPathMatching","concat","CreatePathModal","withSuspense","React","useStyles","makeStyles","theme","createStyles","_objectSpread","objectBrowserCommon","slashSpacingStyle","margin","bucketName","internalPaths","hidePathButton","additionalOptions","navigate","useNavigate","classes","rewindEnabled","useSelector","state","objectBrowser","rewind","versionsMode","versionedFile","anonymousMode","system","createFolderOpen","setCreateFolderOpen","putObjectPermScopes","IAM_SCOPES","S3_PUT_OBJECT","S3_PUT_ACTIONS","console","session","permissions","paths","splitPaths","split","path","lastBreadcrumbsIndex","pathToCheckPerms","sessionGrantWildCards","canCreatePath","hasPermission","_toConsumableArray","breadcrumbsMap","map","objectItem","index","subSplit","slice","join","route","encodeURLString","Fragment","className","style","cursor","whiteSpace","safeDecodeURIComponent","Link","to","setVersionsModeEnabled","status","objectName","toString","versionsItem","listBreadcrumbs","breadcrumbsMain","folderName","Breadcrumbs","goBackFunction","prevPath","CopyToClipboard","text","icon","CopyIcon","width","height","fill","marginTop","color","border","marginRight","Tooltip","permissionTooltipHelper","NewPathIcon","breadcrumbsSecond","withStyles","listUploadIcons","_ref$forceDisable","forceDisable","uploadFileFunction","uploadFolderFunction","_ref$overrideStyles","overrideStyles","anchorEl","setAnchorEl","openUploadMenu","Boolean","handleCloseUpload","uploadObjectAllowed","uploadFolderAllowed","uploadEnabled","TooltipWrapper","event","currentTarget","UploadIcon","Menu","open","anchorOrigin","vertical","horizontal","transformOrigin","MenuItem","ListItemIcon","ListItemText","UploadFolderIcon","detailsList","borderColor","borderWidth","borderStyle","borderRadius","borderBottomLeftRadius","borderBottomRightRadius","transitionDuration","overflowX","overflowY","position","opacity","marginLeft","minWidth","borderLeftWidth","closePanel","_ref$className","ClosePanelIcon","right","top","padding","backgroundColor","months","days","Array","from","_","num","currentYear","Date","getFullYear","years","numYear","DateSelector","forwardRef","ref","_ref$disableOptions","disableOptions","_ref$addSwitch","addSwitch","_ref$tooltip","_ref$borderBottom","borderBottom","onDateChange","_ref$value","useImperativeHandle","resetDate","dateEnabled","setDateEnabled","month","setMonth","_useState5","_useState6","day","setDay","_useState7","_useState8","year","setYear","valueSplit","parseInt","_validDate","currentDate","parse","isNaN","parsedMonth","parsedDay","monthForString","dayForString","parsedDate","toISOString","dateString","validDate","_validDate2","isValid","isDateDisabled","monthForDropDown","daysForDrop","yearsForDrop","clsx","fieldContainer","_defineProperty","fieldContainerBorder","labelContainer","container","InputLabel","htmlFor","tooltipContainer","placement","HelpIcon","Switch","indicatorLabels","checked","switchOnly","Box","display","gap","newValue","fieldBasic","tooltipHelper","alignItems","justifyContent","paddingBottom","marginBottom","formFieldStyles","spacingUtils","closeModalAndRefresh","objectInfo","retentionConfig","statusEnabled","setStatusEnabled","setType","date","setDate","isDateValid","setIsDateValid","_useState9","_useState10","isSaving","setIsSaving","_useState11","_useState12","alreadyConfigured","setAlreadyConfigured","retention_mode","mode","ObjectRetentionMode","Governance","retention_until_date","valueDate","getMonth","getDate","dateElement","useRef","resetForm","current","showSwitcher","spacerBottom","noValidate","autoComplete","onSubmit","preventDefault","formFieldRow","RadioGroup","currentValue","selectorOptions","Compliance","dateSelector","selectedObject","versionId","version_id","expireDate","buckets","putObjectRetention","expires","setModalErrorSnackMessage","error","addRetention","deleteObjectRetention","disableRetention","isVersionedMode","closeDeleteModalAndRefresh","deleteOpen","selectedBucket","versioningInfo","_ref$selectedVersion","selectedVersion","_useApi","useApi","detailedError","_useApi2","deleteLoading","invokeDeleteApi","deleteVersions","setDeleteVersions","bypassGovernance","setBypassGovernance","canBypass","S3_BYPASS_GOVERNANCE_RETENTION","ConfirmDialog","confirmText","isOpen","ConfirmDeleteIcon","isLoading","onConfirm","recursive","decodeURLString","endsWith","confirmationContent","description","actualInfo","legalHoldEnabled","setLegalHoldEnabled","get","putObjectLegalHold","ObjectLegalHoldStatus","Enabled","Disabled","itemRendererFn","element","isArray","titleItem","detailsPanel","metaData","_ref$linear","linear","metaKeys","renderItem","metadataLinear","Table","table","TableBody","TableRow","TableCell","component","scope","align","fileName","minHeight","fileNameText","overflow","textOverflow","strings","replaceUnicodeChar","extensionToIcon","FileVideoIcon","extensions","FileMusicIcon","FilePdfIcon","FilePptIcon","FileXlsIcon","FileLockIcon","FileCodeIcon","FileConfigIcon","FileDbIcon","FileFontIcon","FileTxtIcon","FileZipIcon","FileBookIcon","FileImageIcon","displayFileIconName","returnOnlyIcon","elementString","FileNonType","FolderBrowserIcon","lowercaseElement","toLowerCase","_i","_extensionToIcon","_step","etc","_iterator","_createForOfIteratorHelper","s","n","done","ext","f","FileMissingIcon","splitItem","IconWithLabel","newTileHeader","fontSize","fontWeight","tagsForLabel","currentTagsContainer","noTagsForObject","deleteTag","_actualInfo$name","onCloseAndUpdate","distributedSetup","selDistSet","newKey","setNewKey","newLabel","setNewLabel","isSending","setIsSending","deleteEnabled","setDeleteEnabled","deleteKey","setDeleteKey","deleteLabel","setDeleteLabel","currentTags","tags","currTagKeys","allPathData","currentItem","pop","tagsFor","plural","DisabledIcon","EditTagIcon","cleanObject","verID","putObjectTags","SecureComponent","S3_GET_OBJECT_TAGGING","S3_GET_ACTIONS","resource","flexFlow","tagKey","tag","S3_DELETE_OBJECT_TAGGING","errorProps","deleteIcon","onDelete","Chip","textTransform","size","CloseIcon","onDeleteTag","S3_PUT_OBJECT_TAGGING","SectionTitle","AddNewTagIcon","separator","newTag","newTagList","closeInspectModalAndRefresh","inspectOpen","inspectPath","volumeName","isEncrypt","setIsEncrypt","decryptionKey","setDecryptionKey","insFileName","setInsFileName","makeRequest","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","url","wrap","_context","prev","next","fetch","method","abrupt","sent","stop","_x","apply","performInspect","_ref3","_callee3","file","volume","urlOfInspectApi","_context3","_ref4","_callee2","resErr","blob","filename","decryptKey","_context2","ok","json","errorMessage","message","code","headers","getCookieValue","performDownload","_x2","InspectMenuIcon","deleteCookie","PasswordKeyIcon","DialogContentText","KeyRevealer","downloadObject","object","_object$name","identityDownload","getTime","Math","random","isWinOs","getClientOS","setLongFileOpen","ID","makeid","downloadCall","download","progress","updateProgress","instanceID","completeObject","msg","failObject","cancelObjectInList","storeCallForObjectWithID","setNewObject","percentage","waitingForFile","failed","cancelled","containerForHeader","closeModal","newFileName","setNewFileName","acceptLongName","setAcceptLongName","EditIcon","doDownload","modalFormScrollable","InputBoxWrapper","FormSwitchWrapper","emptyFile","is_latest","last_modified","legal_hold_status","ObjectDetailsTitle","objectNameContainer","capitalizeFirst","actionsTray","textStyleUtils","locking","onClosePanel","loadingObjectInfo","shareFileModalOpen","setShareFileModalOpen","retentionModalOpen","setRetentionModalOpen","tagModalOpen","setTagModalOpen","legalholdOpen","setLegalholdOpen","inspectModalOpen","setInspectModalOpen","setActualInfo","_useState13","_useState14","allInfoElements","setAllInfoElements","_useState15","_useState16","objectToShare","setObjectToShare","_useState17","_useState18","versions","setVersions","_useState19","_useState20","setDeleteOpen","_useState21","_useState22","previewOpen","setPreviewOpen","_useState23","_useState24","totalVersionsSize","setTotalVersionsSize","_useState25","_useState26","longFileOpen","_useState27","_useState28","setMetaData","_useState29","_useState30","loadMetadata","setLoadingMetadata","objectNameArray","infoElement","el","is_delete_marker","listObjects","with_versions","result","data","objects","tVersionSize","currValue","resInfo","setLoadingObjectInfo","getObjectMetadata","metadata","tagKeys","loaderForContainer","textAlign","Loader","objectResources","canSetLegalHold","S3_PUT_OBJECT_LEGAL_HOLD","canSetTags","canChangeRetention","S3_GET_OBJECT_RETENTION","S3_PUT_OBJECT_RETENTION","canInspect","ADMIN_INSPECT_DATA","canChangeVersioning","S3_GET_BUCKET_VERSIONING","S3_PUT_BUCKET_VERSIONING","S3_GET_OBJECT_VERSION","canGetObject","S3_GET_OBJECT","canDelete","S3_DELETE_OBJECT","objectType","previewObjectType","multiActionButtons","action","DownloadIcon","ShareIcon","PreviewIcon","LegalHoldIcon","RetentionIcon","TagsIcon","VersionsIcon","ShareFile","dataObject","SetRetention","updateInfo","DeleteObject","closeAndReload","setLoadingVersions","setSelectedVersion","SetLegalHoldModal","reload","PreviewFileModal","content_type","onClosePreview","TagsModal","reloadObjectData","InspectObject","RenameLongFileName","ActionsList","items","DeleteIcon","iconLocation","fullWidth","SimpleHeader","ObjectInfoIcon","detailContainer","overflowWrap","niceBytes","niceBytesInt","lastModified","currentTime","modifiedTime","difTime","formatTime","niceDaysInt","calculateLastModifyTime","etag","S3_GET_OBJECT_LEGAL_HOLD","MetadataIcon","ObjectMetaData","modalBasic","versionToRestore","objectPath","restoreOpen","restoreLoading","setRestoreLoading","RecoverIcon","putObjectRestore","restoreLocalObjectList","confirmButtonProps","wrapText","bgColor","FileVersionStyled","styled","div","content","left","borderBottomColor","maxWidth","flexDirection","versionInfo","isSelected","checkable","isChecked","onCheck","onShare","onDownload","onRestore","onPreview","globalClick","key","disableButtons","versionItemButtons","pill","DateTime","now","fromISO","md","CheckboxWrapper","stopPropagation","overrideCheckboxStyles","paddingLeft","noTopMargin","SpecificVersionPill","button","IconButton","toFormat","setDeleteLoading","typeConfirm","setTypeConfirm","deleteObject","non_current_versions","bypass","selectedVersions","selectedObjectsRequest","versionID","deleteMultipleObjects","all_versions","versionsContainer","noBottomBorder","versionsVirtualPanel","flexGrow","screenTitleContainer","sortByLabel","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","RestoreFileVersion","DeleteNonCurrent","reloadAfterDelete","DeleteSelectedVersions","reloadOnComplete","LinearProgress","BrowserBreadcrumbs","ScreenTitle","listIcon","subTitle","detailsSpacer","actions","SelectMultipleIcon","DeleteNonCurrentIcon","noLabelMinWidth","bottomBorder","List","containerStyle","rowCount","rowHeight","rowRenderer","isScrolling","isVisible","versOrd","FileVersionItem","displayParsedDate","currTime","objectTime","hasSame","displayNiceBytes","String","listModeColumns","elementKey","renderFunction","enableSort","renderFullObject","rewindModeColumns","browsePaper","parentWrapper","backgroundImage","params","useParams","sortDirection","setSortDirection","currentSortField","setCurrentSortField","detailsOpen","objectDetailsOpen","loadingObjects","features","selFeatures","obOnly","records","searchObjects","selectedObjects","connectionError","displayListObjects","S3_LIST_BUCKET","S3_ALL_LIST_BUCKET","sortASC","sortListObjects","payload","reverse","tableActions","idElement","newPath","setSelectedObjects","setObjectDetailsView","setIsOpeningOD","setSelectedObjectView","sendOnlyId","customPaperHeight","DataTable","itemActions","columns","entityName","idField","onSelect","targetD","elements","customEmptyMessage","sortConfig","currentSort","currentDirection","triggerSort","sortData","newSortDirection","sortBy","setLoadingObjects","onSelectAll","rowStyle","_payload$index","delete_flag","parentClassName","noBackground","downloadSelected","createAsyncThunk","getState","itemsToDownload","filterFunction","multiObjList","rejectWithValue","setDownloadRenameModal","dwList","bi","isDeleted","log","downloadSelectedAsZip","openPreview","fileObject","findFunction","setSelectedPreview","_x3","_x4","openShare","_ref6","_ref5","_x5","_x6","openAnonymousAccess","_ref8","_callee4","_ref7","_context4","setAnonymousAccessOpen","_x7","_x8","SearchBox","setSearchObjects","DeleteMultipleObjects","RewindEnable","badgeOverlap","searchField","labelStyle","breadcrumbsContainer","fullContainer","hideListOnSmall","actionsSection","baseDnDStyle","outline","activeDnDStyle","acceptDnDStyle","_downloadRenameModal$","location","useLocation","bucketToRewind","showDeleted","selectedInternalPaths","simplePath","versioningConfig","lockingEnabled","downloadRenameModal","selectedPreview","anonymousAccessOpen","loadingBucket","selBucketDetailsLoading","bucketInfo","selBucketDetailsInfo","deleteMultipleOpen","setDeleteMultipleOpen","rewindSelect","setRewindSelect","iniLoad","setIniLoad","canShareFile","setCanShareFile","canPreviewFile","setCanPreviewFile","quota","setQuota","isMetaDataLoaded","setIsMetaDataLoaded","isVersioningApplied","pathSegment","pathname","pageTitle","currentPath","i","fileUpload","folderUpload","pathAsResourceInPolicy","allowedFileExtensions","cv","extension","Set","getPolicyAllowedFileExtensions","canDownload","canUpload","canSetAnonymousAccess","S3_GET_BUCKET_POLICY","S3_PUT_BUCKET_POLICY","fetchMetadata","useCallback","encodedPath","resetRewind","setAttribute","getBucketQuota","quotaVals","detailedMessage","setBucketDetailsLoad","setBucketInfo","setSelectedBucket","getBucketRetentionConfig","setRetentionConfig","handleUploadButton","files","newFiles","uploadObject","folderPath","pathPrefix","uploadPromise","Promise","resolve","reject","uploadUrl","blobFile","Blob","filePath","fileWebkitRelativePath","relativeFolderPath","finalFolderPath","pathClean","startsWith","identity","xhr","XMLHttpRequest","setRequestHeader","areMultipleFiles","errorMessages","withCredentials","onload","removeTrace","response","JSON","upload","addEventListener","floor","loaded","total","onerror","onloadend","onabort","formData","FormData","append","storeFormDataWithID","uploadFilePromises","openList","allSettled","results","errors","totalFiles","successUploadedFiles","onDrop","acceptedFiles","_console","_console2","newFolderPath","allowedFiles","fileExtn","_useDropzone","useDropzone","noClick","getRootProps","getInputProps","isDragActive","isDragAccept","dndStyles","useMemo","forceRefresh","splitURLS","URLItem","createdTime","creation_date","downloadToolTip","AccessRuleIcon","refresh","versioning","AddAccessRule","PageLayout","FilterObjectsSB","BucketsIcon","Badge","badgeContent","invisible","HistoryIcon","RefreshIcon","resetMessages","setLoadingRecords","multiple","accept","UploadFilesButton","closeMenu","click","tableBlock","borderTop","VersionsNavigator","setShowDeletedObjects","overrideLabelClasses","overrideShowDeleted","ListObjectsTable","DetailsListPanel","ObjectDetailPanel","configureBucketAllowed","S3_GET_BUCKET_ENCRYPTION_CONFIGURATION","S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION","S3_DELETE_BUCKET","S3_GET_BUCKET_NOTIFICATIONS","S3_PUT_BUCKET_NOTIFICATIONS","S3_GET_REPLICATION_CONFIGURATION","S3_PUT_REPLICATION_CONFIGURATION","S3_GET_LIFECYCLE_CONFIGURATION","S3_PUT_LIFECYCLE_CONFIGURATION","ADMIN_GET_BUCKET_QUOTA","ADMIN_SET_BUCKET_QUOTA","S3_PUT_BUCKET_TAGGING","S3_GET_BUCKET_TAGGING","S3_LIST_BUCKET_VERSIONS","S3_GET_BUCKET_POLICY_STATUS","S3_DELETE_BUCKET_POLICY","searchBar","setSearchVersions","setHelpName","AutoColorIcon","ObjectManagerButton","PageHeaderWrapper","BackLink","IAM_PAGES","OBJECT_BROWSER_VIEW","IAM_PERMISSIONS","IAM_ROLES","BUCKET_ADMIN","SettingsIcon","HelpMenu","middleComponent","currentRequestID","errorCounter","wsInFlight","initWSConnection","openCallback","onMessageCallback","connErrorCallback","URL","window","port","baseUrl","document","baseURI","wsProt","wsProtocol","protocol","WebSocket","hostname","onopen","onmessage","reconnectFn","onclose","warn","setTimeout","loadingVersioning","rewindDate","dateToRewind","allowResources","loadingLocking","loadRecords","isOpeningOD","isOpeningObjectDetail","onMessageCallBack","request_id","internalPathsPrefix","decodedPath","permitItems","permissionItems","setRecords","request_end","newMessage","initWSRequest","readyState","newRequestID","errorInConnection","request","bucket_name","send","stringify","decodedIPaths","setLoadingVersioning","setSimplePathHandler","setLoadingLocking","parentPath","requestDate","getBucketVersioning","setIsVersioned","getBucketObjectLockingStatus","setLockingEnabled","object_locking_enabled","OBHeader","ListObjects","durationInputs","validityIndicator","invalidDurationText","reverseInput","validityText","validTill","initialDate","maxDays","entity","selectedDays","setSelectedDays","selectedHours","setSelectedHours","selectedMinutes","setSelectedMinutes","setValidDate","dateSelected","setDateSelected","hours","minutes","fromJSDate","plus","calculateNewTime","formattedDate","valid","extraStyles","paddingRight","dateInputContainer","min","max","LinkIcon","validityLabel","shareURL","setShareURL","isLoadingVersion","setIsLoadingVersion","isLoadingFile","setIsLoadingFile","selectedDate","setSelectedDate","dateValid","setDateValid","setVersionID","latestVersion","elem","slDate","currDate","diffDate","ceil","shareObject","DaysSelector","newDate","ReadBox","actionButton","setModalSnackMessage","iframeContainer","flex","iframeBase","iframeHidden","_ref$isFullscreen","isFullscreen","loading","setLoading","basename","replace","origin","iframeLoaded","maxHeight","autoPlay","controls","muted","playsInline","onPlay","src","alt","onLoad","WarningMessage","allowTransparency","wideLimit","ObjectPreviewIcon","PreviewFileContent","downloadWithLink","href","downloadFileName","link","createElement","body","appendChild","removeChild","objectList","resultFileName","resp","store","downloadMultipleObjects","ContentType","Json","createObjectURL","t0","statusText","fileSize","overrideFileName","progressCallback","completeCallback","errorCallback","abortCallback","toastCallback","BrowserDownload","req","evt","percentComplete","round","responseType","onreadystatechange","rspHeader","getResponseHeader","decodeURIComponent","rspBody","_classCallCheck","this","_createClass","metaContentType","extensionType","fileExtension","extensionPreview","contentType","mimeObjectType","contentTypePreview","fieldSort","localeCompare","permissionsArray","filteredPermissionsForBucket","permissionItem","_permissionItem$resou","_permissionItem$resou2","returnElements","splitCurrentPath","forEach","permissionElement","_permissionElement$re","_permissionElement$pr","splitARN","splitURLARN","every","currentElementInPath","conditionOperator","prefixes","prefixItem","splitItems","pathToRouteElements","cleanCurrPath","splitElement","clElements","itm","WrappedComponent","fallback","props","Suspense","checkboxIcons","flexBasis","flexWrap","_ref$checked","_ref$disabled","_ref$noTopMargin","_ref$overrideLabelCla","Checkbox","inputProps","checkedIcon","unCheckedIcon","disableRipple","disableFocusRipple","focusRipple","centerRipple","disableTouchRipple","noMinWidthLabel","StyledSwitch","root","switchBase","transform","palette","common","white","boxShadow","thumb","track","transition","transitions","create","focusVisible","switchContainer","indicatorLabelOn","indicatorLabel","fieldDescription","_ref$label","_ref$switchOnly","_ref$description","_ref$extraInputProps","extraInputProps","switchComponent","sm","inputLabel","Typography","inputStyles","inputFieldStyles","InputField","TextField","InputProps","textBoxContainer","overlayAction","_ref$type","_ref$autoComplete","_ref$multiline","multiline","_ref$index","_ref$error","_ref$required","required","_ref$placeholder","overlayId","_ref$overlayIcon","overlayIcon","_ref$overlayObject","overlayObject","_ref$noLabelMinWidth","_ref$pattern","pattern","_ref$autoFocus","autoFocus","onKeyPress","onFocus","onPaste","toggleTextInput","setToggleTextInput","inputBoxWrapperIcon","inputBoxWrapperType","VisibilityOffIcon","RemoveRedEyeIcon","errorInField","inputBoxContainer","helperText","inputRebase","headerContainer","labelHeadline","labelText","shown","setShown","readOnly","navigator","clipboard","writeText","WSCloseAbnormalClosure","WSClosePolicyViolation","WSCloseInternalServerErr"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2603.500676d6.chunk.js b/portal-ui/build/static/js/2603.500676d6.chunk.js deleted file mode 100644 index 03588a218..000000000 --- a/portal-ui/build/static/js/2603.500676d6.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2603,4619],{94619:function(e,n,t){t.r(n);var i=t(29439),o=t(72791),r=t(56028),a=t(29945),s=t(31776),c=t(82342),l=t(23814),d=t(87995),u=t(81551),h=t(80184);n.default=function(e){var n=e.modalOpen,t=e.onClose,f=e.bucket,m=e.prefilledRoute,p=(0,u.TL)(),x=(0,o.useState)(""),b=(0,i.Z)(x,2),v=b[0],j=b[1],g=(0,o.useState)("readonly"),_=(0,i.Z)(g,2),S=_[0],C=_[1];(0,o.useEffect)((function(){m&&j(m)}),[m]);return(0,h.jsx)(r.Z,{modalOpen:n,title:"Add Anonymous Access Rule",onClose:t,titleIcon:(0,h.jsx)(a.sR0,{}),children:(0,h.jsxs)(a.ltY,{withBorders:!1,containerPadding:!1,children:[(0,h.jsx)(a.Wzg,{value:v,label:"Prefix",id:"prefix",name:"prefix",placeholder:"Enter Prefix",onChange:function(e){j(e.target.value)},tooltip:"Enter '/' to apply the rule to all prefixes and objects at the bucket root. Do not include the wildcard asterisk '*' as part of the prefix *unless* it is an explicit part of the prefix name. The Console automatically appends an asterisk to the appropriate sections of the resulting IAM policy."}),(0,h.jsx)(a.PhF,{id:"access",name:"Access",onChange:function(e){C(e)},label:"Access",value:S,options:[{label:"readonly",value:"readonly"},{label:"writeonly",value:"writeonly"},{label:"readwrite",value:"readwrite"}],disabled:!1}),(0,h.jsxs)(a.rjZ,{item:!0,xs:12,sx:l.ID.modalButtonBar,children:[(0,h.jsx)(a.zxk,{id:"clear",type:"button",variant:"regular",onClick:function(){j(""),C("readonly")},label:"Clear"}),(0,h.jsx)(a.zxk,{id:"add-access-save",type:"submit",variant:"callAction",disabled:""===v.trim(),onClick:function(){s.h.bucket.setAccessRuleWithBucket(f,{prefix:v,access:S}).then((function(e){p((0,d.y1)("Access Rule added successfully")),t()})).catch((function(e){p((0,d.Ih)((0,c.g)(e))),t()}))},label:"Save"})]})]})})}},32603:function(e,n,t){t.r(n),t.d(n,{default:function(){return Ln}});var i,o=t(1413),r=t(72791),a=t(78687),s=t(57689),c=t(11135),l=t(25787),d=t(81551),u=t(23814),h=t(93433),f=t(29439),m=t(43954),p=t(29945),x=t(99779),b=t(61889),v=t(26181),j=t.n(v),g=t(45248),_=t(63021),S=t(78029),C=t.n(S),Z=t(72455),w=t(11087),T=t(38442),y=t(56087),N=t(75578),F=t(87995),E=t(54756),O=function(e){return(e.match(/\.([^.]*?)(?=\?|#|$)/)||[])[1]},I=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],i=Object.keys(e).reduce((function(t,i){return O(i)&&i.includes(n)&&(t[i]=e[i]),t}),{});return Object.keys(i).filter((function(e){var o=i[e].some((function(e){return t.find((function(n){var t=!1;if(-1!==n.indexOf("*")){var i=n.substring(0,n.length-1);t=e.includes(i)}return t||e===n}))})),r=e.substring(0,e.indexOf("/*."))==="arn:aws:s3:::".concat(n);return o&&(r&&"arn:aws:s3:::*"!==e)}))},k=t(80184),L=(0,N.Z)(r.lazy((function(){return t.e(2185).then(t.bind(t,62185))}))),B=(0,Z.Z)((function(e){return(0,c.Z)((0,o.Z)((0,o.Z)({},u.cx),{},{slashSpacingStyle:{margin:"0 5px"}}))})),P=function(e){var n=e.bucketName,t=e.internalPaths,i=e.hidePathButton,o=e.additionalOptions,c=(0,d.TL)(),l=(0,s.s0)(),u=B(),m=(0,a.v9)((function(e){return e.objectBrowser.rewind.rewindEnabled})),x=(0,a.v9)((function(e){return e.objectBrowser.versionsMode})),b=(0,a.v9)((function(e){return e.objectBrowser.versionedFile})),v=(0,a.v9)((function(e){return e.system.anonymousMode})),j=(0,r.useState)(!1),_=(0,f.Z)(j,2),S=_[0],Z=_[1],N=[y.Ft.S3_PUT_OBJECT,y.Ft.S3_PUT_ACTIONS],O=(0,a.v9)((function(e){return e.console.session&&e.console.session.permissions||{}})),P=t;""!==t&&(P="/".concat(t));var A=P.split("/").filter((function(e){return""!==e})),D=A.length-1,R=P||n,M=I(O,R,N),U=(0,T.F)([R].concat((0,h.Z)(M)),N)||v,z=A.map((function(e,t){var i="".concat(A.slice(0,t+1).join("/"),"/"),o="/browser/".concat(n,"/").concat(i?"".concat((0,g.LL)(i)):"");return t===D&&e===b?null:(0,k.jsxs)(r.Fragment,{children:[(0,k.jsx)("span",{className:u.slashSpacingStyle,children:"/"}),t===D?(0,k.jsx)("span",{style:{cursor:"default",whiteSpace:"pre"},children:(0,g.eC)(e)}):(0,k.jsx)(w.rU,{style:{whiteSpace:"pre"},to:o,onClick:function(){c((0,E.db)({status:!1,objectName:""}))},children:(0,g.eC)(e)})]},"breadcrumbs-".concat(t.toString()))})),G=[];x&&(G=[(0,k.jsx)(r.Fragment,{children:(0,k.jsxs)("span",{children:[(0,k.jsx)("span",{className:u.slashSpacingStyle,children:"/"}),b," - Versions"]})},"breadcrumbs-versionedItem")]);var W=[(0,k.jsx)(r.Fragment,{children:(0,k.jsx)(w.rU,{to:"/browser/".concat(n),onClick:function(){c((0,E.db)({status:!1,objectName:""}))},children:n})},"breadcrumbs-root-path")].concat((0,h.Z)(z),(0,h.Z)(G));return(0,k.jsxs)(r.Fragment,{children:[(0,k.jsxs)("div",{className:u.breadcrumbsMain,children:[S&&(0,k.jsx)(L,{modalOpen:S,bucketName:n,folderName:t,onClose:function(){Z(!1)}}),(0,k.jsx)(p.OoM,{sx:{whiteSpace:"pre"},goBackFunction:function(){if(x)c((0,E.db)({status:!1,objectName:""}));else{if(0===A.length)return void l("/browser");var e=A.slice(0,-1);l("/browser/".concat(n).concat(e.length>0?"/".concat((0,g.LL)("".concat(e.join("/"),"/"))):""))}},additionalOptions:(0,k.jsxs)(r.Fragment,{children:[(0,k.jsx)(C(),{text:"".concat(n,"/").concat(A.join("/")),children:(0,k.jsx)(p.zxk,{id:"copy-path",icon:(0,k.jsx)(p.TIy,{style:{width:"12px",height:"12px",fill:"#969FA8",marginTop:-1}}),variant:"regular",onClick:function(){c((0,F.y1)("Path copied to clipboard"))},style:{width:"28px",height:"28px",color:"#969FA8",border:"#969FA8 1px solid",marginRight:5}})}),(0,k.jsx)("div",{className:u.additionalOptions,children:o})]}),children:W}),!i&&(0,k.jsx)(p.ua7,{tooltip:U?"Choose or create a new path":(0,y.MK)([y.Ft.S3_PUT_OBJECT,y.Ft.S3_PUT_ACTIONS],"create a new path"),children:(0,k.jsx)(p.zxk,{id:"new-path",onClick:function(){Z(!0)},disabled:!v&&(m||!U),icon:(0,k.jsx)(p.N$q,{style:{fill:"#969FA8"}}),style:{whiteSpace:"nowrap"},variant:"regular",label:"Create new path"})})]}),(0,k.jsx)("div",{className:u.breadcrumbsSecond,children:o})]})},A=t(47922),D=t(71715),R=t(77865),M=t(49900),U=t(57064),z=t(27454),G=(0,l.Z)((function(e){return(0,c.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,o=void 0!==i&&i,s=e.uploadFileFunction,c=e.uploadFolderFunction,l=e.classes,d=e.overrideStyles,u=void 0===d?{}:d,m=(0,a.v9)((function(e){return e.system.anonymousMode})),x=(0,a.v9)((function(e){return e.console.session&&e.console.session.permissions||{}})),b=[y.Ft.S3_PUT_OBJECT,y.Ft.S3_PUT_ACTIONS],v=I(x,n,b),j=(0,r.useState)(null),g=(0,f.Z)(j,2),_=g[0],S=g[1],C=Boolean(_),Z=function(){S(null)},w=(0,T.F)([n].concat((0,h.Z)(v)),b)||m,N=(0,T.F)([t].concat((0,h.Z)(v)),b,!1,!0),F=w||N;return(0,k.jsxs)(r.Fragment,{children:[(0,k.jsx)(z.Z,{tooltip:F?"Upload Files":(0,y.MK)([y.Ft.S3_PUT_OBJECT,y.Ft.S3_PUT_ACTIONS],"upload files to this bucket"),children:(0,k.jsx)(p.zxk,{id:"upload-main","aria-controls":"upload-main-menu","aria-haspopup":"true","aria-expanded":C?"true":void 0,onClick:function(e){S(e.currentTarget)},label:"Upload",icon:(0,k.jsx)(p.rG2,{}),variant:"callAction",disabled:o||!F,sx:u})}),(0,k.jsxs)(D.Z,{id:"upload-main-menu","aria-labelledby":"upload-main",anchorEl:_,open:C,onClose:function(){Z()},anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:[(0,k.jsxs)(R.Z,{onClick:function(){s(Z)},disabled:!w||o,children:[(0,k.jsx)(U.Z,{className:l.listUploadIcons,children:(0,k.jsx)(p.rG2,{})}),(0,k.jsx)(M.Z,{children:"Upload File"})]}),(0,k.jsxs)(R.Z,{onClick:function(){c(Z)},disabled:!N||o,children:[(0,k.jsx)(U.Z,{className:l.listUploadIcons,children:(0,k.jsx)(p.oXh,{})}),(0,k.jsx)(M.Z,{children:"Upload Folder"})]})]})]})})),W=(0,Z.Z)((function(e){return(0,c.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}}}})})),K=function(e){var n=e.open,t=e.closePanel,i=e.className,o=void 0===i?"":i,r=e.children,a=W();return(0,k.jsxs)(p.rjZ,{item:!0,className:"".concat(a.detailsList," ").concat(n?"open":""," ").concat(o),children:[(0,k.jsx)(p.zxk,{variant:"text",id:"close-details-list",onClick:t,icon:(0,k.jsx)(p.oto,{}),sx:{position:"absolute",right:5,top:18,padding:0,height:14,"&:hover:not(:disabled)":{backgroundColor:"transparent"}}}),r]})},H=t(64554),V=t(34433),J=[{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"}],Y=Array.from(Array(31),(function(e,n){return{value:(n+1).toString(),label:(n+1).toString()}})),q=(new Date).getFullYear(),$=Array.from(Array(50),(function(e,n){return{value:(n+q).toString(),label:(n+q).toString()}})),X=t(56028),Q=t(4942),ee=t(28182),ne=(0,r.forwardRef)((function(e,n){var t=e.classes,i=e.id,o=e.label,a=e.disableOptions,s=void 0!==a&&a,c=e.addSwitch,l=void 0!==c&&c,d=e.tooltip,u=void 0===d?"":d,m=e.borderBottom,x=void 0!==m&&m,b=e.onDateChange,v=e.value,j=void 0===v?"":v;(0,r.useImperativeHandle)(n,(function(){return{resetDate:A}}));var g=(0,r.useState)(!1),_=(0,f.Z)(g,2),S=_[0],C=_[1],Z=(0,r.useState)(""),w=(0,f.Z)(Z,2),T=w[0],y=w[1],N=(0,r.useState)(""),F=(0,f.Z)(N,2),E=F[0],O=F[1],I=(0,r.useState)(""),L=(0,f.Z)(I,2),B=L[0],P=L[1];(0,r.useEffect)((function(){if(""!==j){var e=j.split("-");P(e[0]),y(e[1]),O("".concat(parseInt(e[2])))}}),[j]),(0,r.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),r=parseInt(t),a=o<10?"0".concat(o):o,s=r<10?"0".concat(r):r,c=new Date(i).toISOString().split("T")[0],l="".concat(e,"-").concat(a,"-").concat(s);return[c===l,l]}(B,T,E),n=(0,f.Z)(e,2),t=n[0],i=n[1];b(i,t)}),[T,E,B,b]);var A=function(){y(""),O(""),P("")},D=function(){return s||!!l&&!S},R=[{value:"",label:""}].concat((0,h.Z)(J)),M=[{value:"",label:""}].concat((0,h.Z)(Y)),U=[{value:"",label:""}].concat((0,h.Z)($));return(0,k.jsxs)(p.rjZ,{item:!0,xs:12,className:(0,ee.Z)(t.fieldContainer,(0,Q.Z)({},t.fieldContainerBorder,x)),children:[(0,k.jsx)("div",{className:t.labelContainer,children:(0,k.jsxs)(p.rjZ,{container:!0,children:[(0,k.jsxs)(p.AZs,{htmlFor:i,children:[(0,k.jsx)("span",{children:o}),""!==u&&(0,k.jsx)("div",{className:t.tooltipContainer,children:(0,k.jsx)(p.ua7,{tooltip:u,placement:"top",children:(0,k.jsx)("div",{className:t.tooltip,children:(0,k.jsx)(p.byK,{})})})})]}),l&&(0,k.jsx)(p.rsf,{indicatorLabels:["Specific Date","Default (7 Days)"],checked:S,value:"date_enabled",id:"date-status",name:"date-status",onChange:function(e){C(e.target.checked),e.target.checked||b("",!0)},switchOnly:!0})]})}),(0,k.jsxs)(p.xuv,{sx:{display:"flex",gap:12},children:[(0,k.jsx)(p.PhF,{id:"".concat(i,"-month"),name:"".concat(i,"-month"),value:T,onChange:function(e){y(e)},options:R,label:"",disabled:D()}),(0,k.jsx)(p.PhF,{id:"".concat(i,"-day"),name:"".concat(i,"-day"),value:E,onChange:function(e){O(e)},options:M,label:"",disabled:D()}),(0,k.jsx)(p.PhF,{id:"".concat(i,"-year"),name:"".concat(i,"-year"),value:B,onChange:function(e){P(e)},options:U,label:"",disabled:D()})]})]})})),te=(0,l.Z)((function(e){return(0,c.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},u.YI),u.Hr),{},{fieldContainer:(0,o.Z)((0,o.Z)({},u.YI.fieldContainer),{},{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:10,marginTop:11,marginBottom:6})}))}))(ne),ie=t(66315),oe=t(31776),re=t(82342),ae=(0,l.Z)((function(e){return(0,c.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},u.DF),u.ID),u.bK))}))((function(e){var n=e.classes,t=e.open,i=e.closeModalAndRefresh,o=e.objectName,s=e.objectInfo,c=e.bucketName,l=(0,d.TL)(),u=(0,a.v9)((function(e){return e.objectBrowser.retentionConfig})),h=(0,r.useState)(!0),m=(0,f.Z)(h,2),x=m[0],b=m[1],v=(0,r.useState)(""),j=(0,f.Z)(v,2),_=j[0],S=j[1],C=(0,r.useState)(""),Z=(0,f.Z)(C,2),w=Z[0],T=Z[1],y=(0,r.useState)(!1),N=(0,f.Z)(y,2),E=N[0],O=N[1],I=(0,r.useState)(!1),L=(0,f.Z)(I,2),B=L[0],P=L[1],A=(0,r.useState)(!1),D=(0,f.Z)(A,2),R=D[0],M=D[1];(0,r.useEffect)((function(){if(s.retention_mode&&(S((null===u||void 0===u?void 0:u.mode)||ie.oO.Governance),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)||T("".concat(n,"-").concat(t,"-").concat(i))}M(!0)}var o}),[s,null===u||void 0===u?void 0:u.mode]);var U=(0,r.useRef)(null),z=function(){b(!1),S(ie.oO.Governance),U.current&&U.current.resetDate()},G=R&&("governance"===_||""===_);return(0,k.jsxs)(X.Z,{title:"Set Retention Policy",modalOpen:t,onClose:function(){z(),i(!1)},children:[(0,k.jsxs)("div",{className:n.spacerBottom,children:[(0,k.jsx)("strong",{children:"Selected Object"}),": ",o]}),(0,k.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault()}(e)},children:[G&&(0,k.jsx)(p.rjZ,{item:!0,xs:12,className:n.formFieldRow,children:(0,k.jsx)(p.rsf,{value:"status",id:"status",name:"status",checked:x,onChange:function(e){b(!x)},label:"Status",indicatorLabels:["Enabled","Disabled"]})}),(0,k.jsx)(p.rjZ,{item:!0,xs:12,className:n.formFieldRow,children:(0,k.jsx)(p.Eep,{currentValue:_,id:"type",name:"type",label:"Type",disableOptions:!x||R&&""!==_,onChange:function(e){S(e.target.value)},selectorOptions:[{label:"Governance",value:ie.oO.Governance},{label:"Compliance",value:ie.oO.Compliance}]})}),(0,k.jsx)(p.rjZ,{item:!0,xs:12,className:"".concat(n.dateSelector," "),children:(0,k.jsx)(te,{id:"date",label:"Date",disableOptions:!(x&&("governance"===_||"compliance"===_)),ref:U,value:w,borderBottom:!0,onDateChange:function(e,n){O(n),n&&T(e)}})}),(0,k.jsxs)(p.rjZ,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,k.jsx)(p.zxk,{id:"reset",type:"button",variant:"regular",onClick:z,label:"Reset"}),(0,k.jsx)(p.zxk,{id:"save",type:"submit",variant:"callAction",disabled:x&&""===_||x&&!E||B,onClick:function(){P(!0);var e=s.name||"",n=s.version_id||null,t=x||"governance"!==_?"".concat(w,"T23:59:59Z"):"";x||"governance"!==_?function(e,n,t){oe.h.buckets.putObjectRetention(c,{prefix:(0,g.LL)(e),version_id:n||""},{expires:t,mode:_}).then((function(){P(!1),i(!0)})).catch((function(e){l((0,F.zb)((0,re.g)(e.error))),P(!1)}))}(e,n,t):function(e,n){oe.h.buckets.deleteObjectRetention(c,{prefix:(0,g.LL)(e),version_id:n||""}).then((function(){P(!1),i(!0)})).catch((function(e){l((0,F.zb)((0,re.g)(e.error))),P(!1)}))}(e,n)},label:"Save"})]})]})]})})),se=t(23508),ce=t(9505),le=function(e){return"Enabled"===e||"Suspended"===e},de=function(e){var n=e.closeDeleteModalAndRefresh,t=e.deleteOpen,i=e.selectedBucket,o=e.selectedObject,s=e.versioningInfo,c=e.selectedVersion,l=void 0===c?"":c,u=(0,d.TL)(),h=(0,ce.Z)((function(){return n(!0)}),(function(e){u((0,F.Ih)(e)),"Access Denied."===e.detailedError&&n(!0)})),m=(0,f.Z)(h,2),x=m[0],b=m[1],v=(0,r.useState)(!1),j=(0,f.Z)(v,2),_=j[0],S=j[1],C=(0,r.useState)(!1),Z=(0,f.Z)(C,2),w=Z[0],N=Z[1],E=(0,a.v9)((function(e){return e.objectBrowser.retentionConfig})),O=(0,T.F)([i],[y.Ft.S3_BYPASS_GOVERNANCE_RETENTION])&&"governance"===(null===E||void 0===E?void 0:E.mode);if(!o)return null;return(0,k.jsx)(se.Z,{title:"Delete Object",confirmText:"Delete",isOpen:t,titleIcon:(0,k.jsx)(p.NvT,{}),isLoading:x,onConfirm:function(){var e=(0,g.IO)(o).endsWith("/");b("DELETE","/api/v1/buckets/".concat(i,"/objects?path=").concat(o).concat(""!==l?"&version_id=".concat(l):"&recursive=".concat(e,"&all_versions=").concat(_)).concat(w?"&bypass=true":""))},onClose:function(){return n(!1)},confirmationContent:(0,k.jsxs)(r.Fragment,{children:["Are you sure you want to delete: ",(0,k.jsx)("br",{}),(0,k.jsx)("b",{children:(0,g.IO)(o)})," ",""!==l?(0,k.jsxs)(r.Fragment,{children:[(0,k.jsx)("br",{}),(0,k.jsx)("br",{}),"Version ID:",(0,k.jsx)("br",{}),(0,k.jsx)("strong",{children:l})]}):"","? ",(0,k.jsx)("br",{}),(0,k.jsx)("br",{}),le(null===s||void 0===s?void 0:s.status)&&""===l&&(0,k.jsx)(r.Fragment,{children:(0,k.jsx)(p.rsf,{label:"Delete All Versions",indicatorLabels:["Yes","No"],checked:_,value:"delete_versions",id:"delete-versions",name:"delete-versions",onChange:function(e){S(!_)},description:""})}),O&&(_||""!==l)&&(0,k.jsx)(r.Fragment,{children:(0,k.jsx)("div",{style:{marginTop:10},children:(0,k.jsx)(p.rsf,{label:"Bypass Governance Mode",indicatorLabels:["Yes","No"],checked:w,value:"bypass_governance",id:"bypass_governance",name:"bypass_governance",onChange:function(e){N(!w)},description:""})})}),_&&(0,k.jsxs)(r.Fragment,{children:[(0,k.jsxs)("div",{style:{marginTop:10,border:"#c83b51 1px solid",borderRadius:3,padding:5,backgroundColor:"#c83b5120",color:"#c83b51"},children:["This will remove the object as well as all of its versions,"," ",(0,k.jsx)("br",{}),"This action is irreversible."]}),(0,k.jsx)("br",{}),"Are you sure you want to continue?"]})]})})},ue=(0,l.Z)((function(e){return(0,c.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},u.DF),u.ID),u.bK))}))((function(e){var n=e.classes,t=e.open,i=e.closeModalAndRefresh,o=e.objectName,a=e.bucketName,s=e.actualInfo,c=(0,d.TL)(),l=(0,r.useState)(!1),u=(0,f.Z)(l,2),h=u[0],m=u[1],x=(0,r.useState)(!1),b=(0,f.Z)(x,2),v=b[0],_=b[1],S=s.version_id;(0,r.useEffect)((function(){var e=j()(s,"legal_hold_status","OFF");m("ON"===e)}),[s]);var C=function(){m(!1)};return(0,k.jsxs)(X.Z,{title:"Set Legal Hold",modalOpen:t,onClose:function(){C(),i(!1)},children:[(0,k.jsxs)(p.rjZ,{item:!0,xs:12,className:n.spacerBottom,children:["Object: ",a]}),(0,k.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault(),_(!0),oe.h.buckets.putObjectLegalHold(a,{prefix:(0,g.LL)(o),version_id:S||""},{status:h?ie.nY.Enabled:ie.nY.Disabled}).then((function(){_(!1),i(!0)})).catch((function(e){c((0,F.zb)((0,re.g)(e.error))),_(!1)}))}(e)},children:[(0,k.jsx)(p.rjZ,{item:!0,xs:12,className:n.formFieldRow,children:(0,k.jsx)(p.rsf,{value:"legalhold",id:"legalhold",name:"legalhold",checked:h,onChange:function(e){m(!h)},label:"Legal Hold Status",indicatorLabels:["Enabled","Disabled"],tooltip:"To enable this feature you need to enable versioning on the bucket before creation"})}),(0,k.jsxs)(p.rjZ,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,k.jsx)(p.zxk,{id:"clear",type:"button",variant:"regular",onClick:C,label:"Clear"}),(0,k.jsx)(p.zxk,{id:"save",type:"submit",variant:"callAction",disabled:v,label:" Save"})]})]})]})})),he=t(78562),fe=t(79836),me=t(53382),pe=t(35855),xe=t(53994),be=function(e){return Array.isArray(e)?e.map(g.eC).join(", "):(0,g.eC)(e)},ve=(0,l.Z)((function(e){return(0,c.Z)((0,o.Z)((0,o.Z)({titleItem:{width:"35%"}},u.bK),u.$b))}))((function(e){var n=e.metaData,t=e.classes,i=e.linear,o=void 0!==i&&i,a=Object.keys(n);return o?(0,k.jsx)(r.Fragment,{children:a.map((function(e,i){var o=be(n[e]);return(0,k.jsxs)(H.Z,{className:t.metadataLinear,children:[(0,k.jsx)("strong",{children:e}),(0,k.jsx)("br",{}),o]},"box-meta-".concat(e,"-").concat(i.toString()))}))}):(0,k.jsxs)(b.ZP,{container:!0,children:[(0,k.jsx)(b.ZP,{item:!0,xs:12,sx:{marginTop:"25px",marginBottom:"5px"},children:(0,k.jsx)("h3",{style:{marginTop:"0",marginBottom:"0"},children:"Object Metadata"})}),(0,k.jsx)(b.ZP,{item:!0,xs:12,children:(0,k.jsx)(fe.Z,{className:t.table,"aria-label":"simple table",children:(0,k.jsx)(me.Z,{children:a.map((function(e,i){var o=be(n[e]);return(0,k.jsxs)(pe.Z,{children:[(0,k.jsx)(xe.Z,{component:"th",scope:"row",className:t.titleItem,children:e}),(0,k.jsx)(xe.Z,{align:"right",children:o})]},"tRow-".concat(i.toString()))}))})})})]})})),je=t(37762),ge=(0,l.Z)((function(e){return(0,c.Z)({fileName:{display:"flex",alignItems:"center","& .min-icon":{width:16,height:16,marginRight:4,minWidth:16,minHeight:16}},fileNameText:{whiteSpace:"pre",overflow:"hidden",textOverflow:"ellipsis"}})}))((function(e){var n=e.classes,t=e.icon,i=e.strings;return(0,k.jsxs)("div",{className:n.fileName,children:[t,(0,k.jsx)("span",{className:n.fileNameText,children:(0,g.e3)(i[i.length-1])})]})})),_e=[{icon:(0,k.jsx)(p.n9O,{}),extensions:["mp4","mov","avi","mpeg","mpg"]},{icon:(0,k.jsx)(p.mYf,{}),extensions:["mp3","m4a","aac"]},{icon:(0,k.jsx)(p.UU9,{}),extensions:["pdf"]},{icon:(0,k.jsx)(p.hjP,{}),extensions:["ppt","pptx"]},{icon:(0,k.jsx)(p.hz9,{}),extensions:["xls","xlsx"]},{icon:(0,k.jsx)(p.xDw,{}),extensions:["cer","crt","pem"]},{icon:(0,k.jsx)(p.jG9,{}),extensions:["html","xml","css","py","go","php","cpp","h","java"]},{icon:(0,k.jsx)(p.NqG,{}),extensions:["cfg","yaml"]},{icon:(0,k.jsx)(p.OkY,{}),extensions:["sql"]},{icon:(0,k.jsx)(p.ZAy,{}),extensions:["ttf","otf"]},{icon:(0,k.jsx)(p.p2x,{}),extensions:["doc","docx","txt","rtf"]},{icon:(0,k.jsx)(p.xhr,{}),extensions:["zip","rar","tar","gz"]},{icon:(0,k.jsx)(p.rtI,{}),extensions:["epub","mobi","azw","azw3"]},{icon:(0,k.jsx)(p.q$4,{}),extensions:["jpeg","jpg","gif","tiff","png","heic","dng"]}],Se=function(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=e,i=(0,k.jsx)(p.MoH,{});e.endsWith("/")&&(i=(0,k.jsx)(p.BI,{}),t=e.slice(0,-1));for(var o=e.toLowerCase(),r=0,a=_e;r 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,t=e.modalOpen,i=e.onCloseAndUpdate,s=e.bucketName,c=e.actualInfo,l=e.classes,u=(0,d.TL)(),h=(0,a.v9)(F.N5),m=(0,r.useState)(""),x=(0,f.Z)(m,2),v=x[0],_=x[1],S=(0,r.useState)(""),C=(0,f.Z)(S,2),Z=C[0],w=C[1],N=(0,r.useState)(!1),E=(0,f.Z)(N,2),O=E[0],I=E[1],L=(0,r.useState)(!1),B=(0,f.Z)(L,2),P=B[0],A=B[1],D=(0,r.useState)(""),R=(0,f.Z)(D,2),M=R[0],U=R[1],z=(0,r.useState)(""),G=(0,f.Z)(z,2),W=G[0],K=G[1],V=(0,g.LL)(c.name||""),J=c.tags,Y=Object.keys(J||{}),q=null===(n=c.name)||void 0===n?void 0:n.split("/"),$=(null===q||void 0===q?void 0:q.pop())||"",Q=function(e){return(0,k.jsxs)("div",{className:l.tagsForLabel,children:["Tag",e?"s":""," for: ",(0,k.jsx)("strong",{children:$})]})};return(0,k.jsx)(r.Fragment,{children:(0,k.jsx)(X.Z,{modalOpen:t,title:P?"Delete Tag":"Edit Tags",onClose:function(){i(!0)},titleIcon:P?(0,k.jsx)(p.dRf,{style:{fill:"#C83B51"}}):(0,k.jsx)(p.T0F,{}),children:P?(0,k.jsx)(r.Fragment,{children:(0,k.jsxs)(b.ZP,{container:!0,children:[Q(!1),"Are you sure you want to delete the tag"," ",(0,k.jsxs)("b",{className:l.deleteTag,children:[M," : ",W]})," ","?",(0,k.jsxs)(b.ZP,{item:!0,xs:12,className:l.modalButtonBar,children:[(0,k.jsx)(p.zxk,{id:"cancel",type:"button",variant:"regular",onClick:function(){U(""),K(""),A(!1)},label:"Cancel"}),(0,k.jsx)(p.zxk,{type:"submit",variant:"secondary",onClick:function(){var e=(0,o.Z)({},J);delete e[M];var n=h?c.version_id||"":"null";oe.h.buckets.putObjectTags(s,{prefix:V,version_id:n},{tags:e}).then((function(){i(!0),I(!1)})).catch((function(e){u((0,F.zb)((0,re.g)(e.error))),I(!1)}))},id:"deleteTag",label:"Delete Tag"})]})]})}):(0,k.jsxs)(b.ZP,{container:!0,children:[(0,k.jsx)(T.s,{scopes:[y.Ft.S3_GET_OBJECT_TAGGING,y.Ft.S3_GET_ACTIONS],resource:s,children:(0,k.jsxs)(H.Z,{sx:{display:"flex",flexFlow:"column",width:"100%"},children:[Q(!0),(0,k.jsxs)("div",{className:l.currentTagsContainer,children:["Current Tags:",(0,k.jsx)("br",{}),0===Y.length?(0,k.jsx)("span",{className:l.noTagsForObject,children:"There are no tags for this object"}):(0,k.jsx)(r.Fragment,{}),(0,k.jsx)(H.Z,{sx:{marginTop:"5px",marginBottom:"15px"},children:Y.map((function(e,n){var t=j()(J,"".concat(e),"");return""!==t?(0,k.jsx)(T.s,{scopes:[y.Ft.S3_DELETE_OBJECT_TAGGING],resource:s,errorProps:{deleteIcon:null,onDelete:null},children:(0,k.jsx)(Ce.Z,{style:{textTransform:"none",marginRight:"5px",marginBottom:"5px"},size:"small",label:"".concat(e," : ").concat(t),color:"primary",deleteIcon:(0,k.jsx)(Ze.Z,{}),onDelete:function(){!function(e,n){U(e),K(n),A(!0)}(e,t)}})},"chip-".concat(n)):null}))})]})]})}),(0,k.jsx)(T.s,{scopes:[y.Ft.S3_PUT_OBJECT_TAGGING,y.Ft.S3_PUT_ACTIONS],resource:s,errorProps:{disabled:!0,onClick:null},children:(0,k.jsxs)(b.ZP,{container:!0,children:[(0,k.jsx)(p.NZf,{icon:(0,k.jsx)(p.OCT,{}),separator:!1,children:"Add New Tag"}),(0,k.jsx)(b.ZP,{item:!0,xs:12,className:l.formFieldRow,children:(0,k.jsx)(p.Wzg,{value:v,label:"Tag Key",id:"newTagKey",name:"newTagKey",placeholder:"Enter Tag Key",onChange:function(e){_(e.target.value)}})}),(0,k.jsx)(b.ZP,{item:!0,xs:12,className:l.formFieldRow,children:(0,k.jsx)(p.Wzg,{value:Z,label:"Tag Label",id:"newTagLabel",name:"newTagLabel",placeholder:"Enter Tag Label",onChange:function(e){w(e.target.value)}})}),(0,k.jsxs)(b.ZP,{item:!0,xs:12,className:l.modalButtonBar,children:[(0,k.jsx)(p.zxk,{id:"clear",type:"button",variant:"regular",color:"primary",onClick:function(){w(""),_("")},label:"Clear"}),(0,k.jsx)(p.zxk,{type:"submit",variant:"callAction",disabled:""===Z.trim()||""===v.trim()||O,onClick:function(){I(!0);var e={};e[v]=Z;var n=(0,o.Z)((0,o.Z)({},J),e),t=h?c.version_id||"":"null";oe.h.buckets.putObjectTags(s,{prefix:V,version_id:t},{tags:n}).then((function(){i(!0),I(!1)})).catch((function(e){u((0,F.zb)((0,re.g)(e.error))),I(!1)}))},id:"saveTag",label:"Save"})]})]})})]})})})})),Te=t(74165),ye=t(15861),Ne=t(51691),Fe=t(73669),Ee=(0,l.Z)((function(e){return(0,c.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},u.DF),u.ID),u.bK))}))((function(e){var n=e.classes,t=e.closeInspectModalAndRefresh,i=e.inspectOpen,o=e.inspectPath,a=e.volumeName,s=(0,d.TL)(),c=function(){return t(!1)},l=(0,r.useState)(!0),u=(0,f.Z)(l,2),h=u[0],m=u[1],x=(0,r.useState)(""),b=(0,f.Z)(x,2),v=b[0],j=b[1],_=(0,r.useState)(""),S=(0,f.Z)(_,2),C=S[0],Z=S[1];if(!o)return null;var w=function(){var e=(0,ye.Z)((0,Te.Z)().mark((function e(n){return(0,Te.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)}}(),T=function(){var e=(0,ye.Z)((0,Te.Z)().mark((function e(){var n,t,i;return(0,Te.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=(0,g.LL)(o+"/xl.meta"),t=(0,g.LL)(a),i="/api/v1/admin/inspect?volume=".concat(t,"&file=").concat(n,"&encrypt=").concat(h),w(i).then(function(){var e=(0,ye.Z)((0,Te.Z)().mark((function e(n){var t,i,o,r;return(0,Te.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,s((0,F.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],r=(0,g.Do)(o)||"",(0,g.zZ)(i,o),Z(o),""!==r){e.next=15;break}return c(),e.abrupt("return");case 15:j(r);case 16:case"end":return e.stop()}}),e)})));return function(n){return e.apply(this,arguments)}}()).catch((function(e){s((0,F.Ih)(e))}));case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return(0,k.jsxs)(r.Fragment,{children:[!v&&(0,k.jsx)(X.Z,{modalOpen:i,titleIcon:(0,k.jsx)(p.Gp8,{}),title:"Inspect Object",onClose:c,children:(0,k.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault()}(e)},children:["Would you like to encrypt ",(0,k.jsx)("b",{children:(0,g.IO)(o)}),"?"," ",(0,k.jsx)("br",{}),(0,k.jsx)(p.rsf,{label:"Encrypt",indicatorLabels:["Yes","No"],checked:h,value:"encrypt",id:"encrypt",name:"encrypt",onChange:function(e){m(!h)},description:""}),(0,k.jsx)(p.rjZ,{item:!0,xs:12,className:n.modalButtonBar,children:(0,k.jsx)(p.zxk,{id:"inspect",type:"submit",variant:"callAction",color:"primary",onClick:T,label:"Inspect"})})]})}),v?(0,k.jsx)(X.Z,{modalOpen:i,title:"Inspect Decryption Key",onClose:function(){(0,g.kT)(C),c(),j("")},titleIcon:(0,k.jsx)(p.tvm,{}),children:(0,k.jsxs)(Ne.Z,{children:[(0,k.jsxs)(p.xuv,{children:["This will be displayed only once. It cannot be recovered.",(0,k.jsx)("br",{}),"Use secure medium to share this key."]}),(0,k.jsx)(p.xuv,{children:(0,k.jsx)(Fe.Z,{value:v})})]})}):null]})})),Oe=t(21435),Ie=t(81159),ke=t(76610),Le=function(e,n,t,i){var o,r=(0,g.LL)("".concat(n,"-").concat(i.name,"-").concat((new Date).getTime(),"-").concat(Math.random())),a=(0,g.mv)().toLowerCase().includes("win");if(((null===(o=i.name)||void 0===o?void 0:o.length)||0)>200&&a)e((0,E.Hg)(!0));else{var s=(0,ke.YO)(8),c=(0,A.LR)(n,t,i.version_id,i.size||0,null,s,(function(n){e((0,E.RO)({instanceID:r,progress:n}))}),(function(){e((0,E.oK)(r))}),(function(n){e((0,E.qJ)({instanceID:r,msg:n}))}),(function(){e((0,E.Im)(r))}),(function(){e((0,F.y1)("File download will be handled directly by the browser."))}));(0,ke.EN)(s,c),e((0,E.Mc)({ID:s,bucketName:n,done:!1,instanceID:r,percentage:0,prefix:i.name||"",type:"download",waitingForFile:!0,failed:!1,cancelled:!1,errorMessage:""}))}},Be=(0,Z.Z)((function(e){return(0,c.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},u.ID),u.DF),u.bK),u.Bz))})),Pe=function(e){var n=e.open,t=e.closeModal,i=e.currentItem,o=e.internalPaths,a=e.actualInfo,s=e.bucketName,c=Be(),l=(0,d.TL)(),u=(0,r.useState)(i),h=(0,f.Z)(u,2),m=h[0],x=h[1],v=(0,r.useState)(!1),j=(0,f.Z)(v,2),g=j[0],_=j[1];return(0,k.jsxs)(X.Z,{title:"Rename Download",modalOpen:n,onClose:t,titleIcon:(0,k.jsx)(p.dY8,{}),children:[(0,k.jsxs)("div",{children:["The file you are trying to download has a long name.",(0,k.jsx)("br",{}),"This can cause issues on Windows Systems by trimming the file name after download.",(0,k.jsx)("br",{}),(0,k.jsx)("br",{})," We recommend to rename the file download"]}),(0,k.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault(),Le(l,s,o,a),t()}(e)},children:(0,k.jsxs)(b.ZP,{container:!0,children:[(0,k.jsxs)(b.ZP,{item:!0,xs:12,className:c.modalFormScrollable,children:[(0,k.jsx)(b.ZP,{item:!0,xs:12,className:c.formFieldRow,children:(0,k.jsx)(Oe.Z,{id:"download-filename",name:"download-filename",onChange:function(e){x(e.target.value)},label:"",type:"text",value:m,error:m.length>200&&!g?"Filename should be less than 200 characters long.":""})}),(0,k.jsx)(b.ZP,{item:!0,xs:12,className:c.formFieldRow,children:(0,k.jsx)(Ie.Z,{value:"acceptLongName",id:"acceptLongName",name:"acceptLongName",checked:g,onChange:function(e){_(e.target.checked),e.target.checked&&x(i)},label:"Use Original Name"})})]}),(0,k.jsx)(b.ZP,{item:!0,xs:12,className:c.modalButtonBar,children:(0,k.jsx)(p.zxk,{id:"download-file",type:"submit",variant:"callAction",color:"primary",disabled:m.length>200&&!g,label:"Download File"})})]})})]})},Ae={is_latest:!0,last_modified:"",legal_hold_status:"",name:"",retention_mode:"",retention_until_date:"",size:0,tags:{},version_id:void 0},De=(0,l.Z)((function(){return(0,c.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.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},capitalizeFirst:{textTransform:"capitalize"}},u.OR),u.bK),u.VI),u.$b))}))((function(e){var n=e.classes,t=e.internalPaths,i=e.bucketName,o=e.versioningInfo,s=e.locking,c=e.onClosePanel,l=(0,d.TL)(),u=(0,a.v9)(F.N5),h=(0,a.v9)((function(e){return e.objectBrowser.versionsMode})),m=(0,a.v9)((function(e){return e.objectBrowser.selectedVersion})),x=(0,a.v9)((function(e){return e.objectBrowser.loadingObjectInfo})),v=(0,r.useState)(!1),_=(0,f.Z)(v,2),S=_[0],C=_[1],Z=(0,r.useState)(!1),w=(0,f.Z)(Z,2),N=w[0],O=w[1],I=(0,r.useState)(!1),L=(0,f.Z)(I,2),B=L[0],P=L[1],D=(0,r.useState)(!1),R=(0,f.Z)(D,2),M=R[0],U=R[1],G=(0,r.useState)(!1),W=(0,f.Z)(G,2),K=W[0],J=W[1],Y=(0,r.useState)(null),q=(0,f.Z)(Y,2),$=q[0],X=q[1],Q=(0,r.useState)([]),ee=(0,f.Z)(Q,2),ne=ee[0],te=ee[1],ie=(0,r.useState)(null),re=(0,f.Z)(ie,2),se=re[0],ce=re[1],le=(0,r.useState)([]),fe=(0,f.Z)(le,2),me=fe[0],pe=fe[1],xe=(0,r.useState)(!1),be=(0,f.Z)(xe,2),je=be[0],ge=be[1],_e=(0,r.useState)(!1),Ce=(0,f.Z)(_e,2),Ze=Ce[0],Te=Ce[1],ye=(0,r.useState)(0),Ne=(0,f.Z)(ye,2),Fe=Ne[0],Oe=Ne[1],Ie=(0,r.useState)(!1),ke=(0,f.Z)(Ie,2),Be=ke[0],De=ke[1],Re=(0,r.useState)(null),Me=(0,f.Z)(Re,2),Ue=Me[0],ze=Me[1],Ge=(0,r.useState)(!1),We=(0,f.Z)(Ge,2),Ke=We[0],He=We[1],Ve=((0,g.IO)(t)||"").split("/").pop()||"",Je=[];$&&$.name&&(Je=$.name.split("/")),(0,r.useEffect)((function(){if(u&&ne&&ne.length>=1){var e=ne.find((function(e){return e.is_latest}))||Ae;""!==m&&(e=ne.find((function(e){return e.version_id===m}))||Ae),e.is_delete_marker||He(!0),X(e)}}),[m,u,ne]),(0,r.useEffect)((function(){x&&""!==t&&oe.h.buckets.listObjects(i,{prefix:t,with_versions:u}).then((function(e){var n=e.data.objects||[];if(u){te(n),pe(n);var t=n.reduce((function(e,n){return null!==n&&void 0!==n&&n.size?e+n.size:e}),0);Oe(t)}else{var i=n[0];X(i),pe([]),i.is_delete_marker||He(!0)}l((0,E.vH)(!1))})).catch((function(e){console.error("Error loading object details",e.error),l((0,E.vH)(!1))}))}),[x,i,t,l,u,m]),(0,r.useEffect)((function(){Ke&&""!==t&&oe.h.buckets.getObjectMetadata(i,{prefix:t}).then((function(e){var n=j()(e.data,"objectMetadata",{});ze(n),He(!1)})).catch((function(e){console.error("Error Getting Metadata Status: ",e.detailedError),He(!1)}))}),[i,t,Ke]);var Ye=[];$&&$.tags&&(Ye=Object.keys($.tags));var qe=(0,k.jsx)("div",{style:{textAlign:"center",marginTop:35},children:(0,k.jsx)(p.aNw,{})});if(!$)return x?qe:null;var $e=Je.length>0?Je[Je.length-1]:$.name,Xe=[i,Ve,[i,$.name].join("/")],Qe=(0,T.F)(i,[y.Ft.S3_PUT_OBJECT_LEGAL_HOLD,y.Ft.S3_PUT_ACTIONS]),en=(0,T.F)(Xe,[y.Ft.S3_PUT_OBJECT_TAGGING,y.Ft.S3_PUT_ACTIONS]),nn=(0,T.F)(Xe,[y.Ft.S3_GET_OBJECT_RETENTION,y.Ft.S3_PUT_OBJECT_RETENTION,y.Ft.S3_GET_ACTIONS,y.Ft.S3_PUT_ACTIONS],!0),tn=(0,T.F)(Xe,[y.Ft.ADMIN_INSPECT_DATA]),on=(0,T.F)(Xe,[y.Ft.S3_GET_BUCKET_VERSIONING,y.Ft.S3_PUT_BUCKET_VERSIONING,y.Ft.S3_GET_OBJECT_VERSION,y.Ft.S3_GET_ACTIONS,y.Ft.S3_PUT_ACTIONS]),rn=(0,T.F)(Xe,[y.Ft.S3_GET_OBJECT,y.Ft.S3_GET_ACTIONS]),an=(0,T.F)([i,Ve,[i,$.name].join("/")],[y.Ft.S3_DELETE_OBJECT]),sn=(0,A.s7)(Ue,Ve),cn=[{action:function(){Le(l,i,t,$)},label:"Download",disabled:!!$.is_delete_marker||!rn,icon:(0,k.jsx)(p._8t,{}),tooltip:rn?"Download this Object":(0,y.MK)([y.Ft.S3_GET_OBJECT,y.Ft.S3_GET_ACTIONS],"download this object")},{action:function(){C(!0)},label:"Share",disabled:!!$.is_delete_marker||!rn,icon:(0,k.jsx)(p.aAc,{}),tooltip:rn?"Share this File":(0,y.MK)([y.Ft.S3_GET_OBJECT,y.Ft.S3_GET_ACTIONS],"share this object")},{action:function(){Te(!0)},label:"Preview",disabled:!!$.is_delete_marker||"none"===sn&&!rn,icon:(0,k.jsx)(p.P99,{}),tooltip:rn?"Preview this File":(0,y.MK)([y.Ft.S3_GET_OBJECT,y.Ft.S3_GET_ACTIONS],"preview this object")},{action:function(){U(!0)},label:"Legal Hold",disabled:!s||!u||!!$.is_delete_marker||!Qe||""!==m,icon:(0,k.jsx)(p.fNL,{}),tooltip:Qe?s?"Change Legal Hold rules for this File":"Object Locking must be enabled on this bucket in order to set Legal Hold":(0,y.MK)([y.Ft.S3_PUT_OBJECT_LEGAL_HOLD,y.Ft.S3_PUT_ACTIONS],"change legal hold settings for this object")},{action:function(){O(!0)},label:"Retention",disabled:!u||!!$.is_delete_marker||!nn||""!==m||!s,icon:(0,k.jsx)(p.E9d,{}),tooltip:nn?s?"Change Retention rules for this File":"Object Locking must be enabled on this bucket in order to set Retention Rules":(0,y.MK)([y.Ft.S3_GET_OBJECT_RETENTION,y.Ft.S3_PUT_OBJECT_RETENTION,y.Ft.S3_GET_ACTIONS,y.Ft.S3_PUT_ACTIONS],"change Retention Rules for this object")},{action:function(){P(!0)},label:"Tags",disabled:!!$.is_delete_marker||""!==m||!en,icon:(0,k.jsx)(p.DgT,{}),tooltip:en?"Change Tags for this File":(0,y.MK)([y.Ft.S3_PUT_OBJECT_TAGGING,y.Ft.S3_GET_OBJECT_TAGGING,y.Ft.S3_GET_ACTIONS,y.Ft.S3_PUT_ACTIONS],"set Tags on this object")},{action:function(){J(!0)},label:"Inspect",disabled:!u||!!$.is_delete_marker||""!==m||!tn,icon:(0,k.jsx)(p.Gp8,{}),tooltip:tn?"Inspect this file":(0,y.MK)([y.Ft.ADMIN_INSPECT_DATA],"inspect this file")},{action:function(){l((0,E.db)({status:!h,objectName:$e}))},label:h?"Hide Object Versions":"Display Object Versions",icon:(0,k.jsx)(p.cRd,{}),disabled:!u||!($.version_id&&"null"!==$.version_id)||!on,tooltip:on?$.version_id&&"null"!==$.version_id?"Display Versions for this file":"":(0,y.MK)([y.Ft.S3_GET_BUCKET_VERSIONING,y.Ft.S3_PUT_BUCKET_VERSIONING,y.Ft.S3_GET_OBJECT_VERSION,y.Ft.S3_GET_ACTIONS,y.Ft.S3_PUT_ACTIONS],"display all versions of this object")}];return(0,k.jsxs)(r.Fragment,{children:[S&&$&&(0,k.jsx)(V.default,{open:S,closeModalAndRefresh:function(){ce(null),C(!1)},bucketName:i,dataObject:se||$}),N&&$&&(0,k.jsx)(ae,{open:N,closeModalAndRefresh:function(e){O(!1),e&&l((0,E.vH)(!0))},objectName:Ve,objectInfo:$,bucketName:i}),je&&(0,k.jsx)(de,{deleteOpen:je,selectedBucket:i,selectedObject:t,closeDeleteModalAndRefresh:function(e){ge(!1),e&&""===m?c(!0):(l((0,E.Eq)(!0)),l((0,E.M3)("")),l((0,E.vH)(!0)))},versioningInfo:u?o:void 0,selectedVersion:m}),M&&$&&(0,k.jsx)(ue,{open:M,closeModalAndRefresh:function(e){U(!1),e&&l((0,E.vH)(!0))},objectName:$.name||"",bucketName:i,actualInfo:$}),Ze&&$&&(0,k.jsx)(he.default,{open:Ze,bucketName:i,object:{name:$.name||"",version_id:$.version_id||"null",size:$.size||0,content_type:"",last_modified:$.last_modified||""},onClosePreview:function(){Te(!1)}}),B&&$&&(0,k.jsx)(we,{modalOpen:B,bucketName:i,actualInfo:$,onCloseAndUpdate:function(e){P(!1),e&&l((0,E.vH)(!0))}}),K&&$&&(0,k.jsx)(Ee,{inspectOpen:K,volumeName:i,inspectPath:$.name||"",closeInspectModalAndRefresh:function(e){J(!1),e&&l((0,E.vH)(!0))}}),Be&&$&&(0,k.jsx)(Pe,{open:Be,closeModal:function(){De(!1)},currentItem:Ve,bucketName:i,internalPaths:t,actualInfo:$}),x?(0,k.jsx)(r.Fragment,{children:qe}):(0,k.jsxs)(r.Fragment,{children:[(0,k.jsx)(p.Wk,{title:(0,k.jsxs)("div",{className:n.ObjectDetailsTitle,children:[Se($e||"",!0),(0,k.jsx)("span",{className:n.objectNameContainer,children:$e})]}),items:cn}),(0,k.jsx)(z.Z,{tooltip:an?"":(0,y.MK)([y.Ft.S3_DELETE_OBJECT],"delete this object"),children:(0,k.jsx)(b.ZP,{item:!0,xs:12,sx:{justifyContent:"center",display:"flex"},children:(0,k.jsx)(T.s,{resource:[i,Ve,[i,$.name].join("/")],scopes:[y.Ft.S3_DELETE_OBJECT],errorProps:{disabled:!0},children:(0,k.jsx)(p.zxk,{id:"delete-element-click",icon:(0,k.jsx)(p.pJl,{}),iconLocation:"start",fullWidth:!0,variant:"secondary",onClick:function(){ge(!0)},disabled:""===m&&$.is_delete_marker,sx:{width:"calc(100% - 44px)",margin:"8px 0"},label:"Delete".concat(""!==m?" version":"")})})})}),(0,k.jsx)(p.AG2,{icon:(0,k.jsx)(p.Gvh,{}),label:"Object Info"}),(0,k.jsxs)(H.Z,{className:n.detailContainer,children:[(0,k.jsx)("strong",{children:"Name:"}),(0,k.jsx)("br",{}),(0,k.jsx)("div",{style:{overflowWrap:"break-word"},children:$e})]}),""!==m&&(0,k.jsxs)(H.Z,{className:n.detailContainer,children:[(0,k.jsx)("strong",{children:"Version ID:"}),(0,k.jsx)("br",{}),m]}),(0,k.jsxs)(H.Z,{className:n.detailContainer,children:[(0,k.jsx)("strong",{children:"Size:"}),(0,k.jsx)("br",{}),(0,g.ae)("".concat($.size||"0"))]}),$.version_id&&"null"!==$.version_id&&""===m&&(0,k.jsxs)(H.Z,{className:n.detailContainer,children:[(0,k.jsx)("strong",{children:"Versions:"}),(0,k.jsx)("br",{}),me.length," version",1!==me.length?"s":"",","," ",(0,g.l5)(Fe)]}),""===m&&(0,k.jsxs)(H.Z,{className:n.detailContainer,children:[(0,k.jsx)("strong",{children:"Last Modified:"}),(0,k.jsx)("br",{}),function(e){var n=new Date,t=new Date(e),i=n.getTime()-t.getTime(),o=(0,g.nF)(i,"ms");return""!==o.trim()?"".concat(o," ago"):"Just now"}($.last_modified||"")]}),(0,k.jsxs)(H.Z,{className:n.detailContainer,children:[(0,k.jsx)("strong",{children:"ETAG:"}),(0,k.jsx)("br",{}),$.etag||"N/A"]}),(0,k.jsxs)(H.Z,{className:n.detailContainer,children:[(0,k.jsx)("strong",{children:"Tags:"}),(0,k.jsx)("br",{}),0===Ye.length?"N/A":Ye.map((function(e,n){return(0,k.jsxs)("span",{children:[e,":",j()($,"tags.".concat(e),""),n div":{borderBottomColor:j()(n,"boxBackground","#F8F8F8")}}},"& .versionContainer":{fontSize:16,fontWeight:"bold",display:"flex",alignItems:"center","& svg.min-icon":{width:18,height:18,minWidth:18,minHeight:18,marginRight:10}},"& .buttonContainer":{textAlign:"right","& button":{marginLeft:"1.5rem"}},"& .versionID":{fontSize:"12px",margin:"2px 0",whiteSpace:"nowrap",textOverflow:"ellipsis",maxWidth:"95%",overflow:"hidden"},"& .versionData":{marginRight:"10px",fontSize:12,color:"#868686"},"@media (max-width: 600px)":{"& .buttonContainer":{"& button":{marginLeft:"5px"}}},"@media (max-width: 799px)":{"&:before":{display:"none"},"& .mainFileVersionItem":{padding:"5px 0px",margin:0},"& .intermediateLayer":{margin:0,"&:hover, &.selected":{backgroundColor:"transparent","& > div":{borderBottomColor:j()(n,"boxBackground","#F8F8F8")}}},"& .versionContainer":{fontSize:14,"& svg.min-icon":{display:"none"}},"& .versionData":{textOverflow:"ellipsis",maxWidth:"95%",overflow:"hidden",whiteSpace:"nowrap"},"& .collapsableInfo":{display:"flex",flexDirection:"column"},"& .versionItem":{display:"none"}}}})),Ke=function(e){var n=e.fileName,t=e.versionInfo,i=e.isSelected,o=e.checkable,r=e.isChecked,a=e.onCheck,s=e.onShare,c=e.onDownload,l=e.onRestore,d=e.onPreview,u=e.globalClick,h=e.index,f=e.key,m=e.style,b=t.is_delete_marker,v=[{icon:(0,k.jsx)(p.P99,{}),action:d,tooltip:"Preview"},{icon:(0,k.jsx)(p._8t,{}),action:c,tooltip:"Download this version"},{icon:(0,k.jsx)(p.aAc,{}),action:s,tooltip:"Share this version"},{icon:(0,k.jsx)(p.D7Y,{}),action:l,tooltip:"Restore this version"}],j=null;t.is_delete_marker?j="deleted":t.is_latest?j="current":"null"===t.version_id&&(j="null");var _=x.ou.now();return t.last_modified&&(_=x.ou.fromISO(t.last_modified)),(0,k.jsx)(We,{children:(0,k.jsx)(p.rjZ,{container:!0,className:"ctrItem",onClick:function(){u(t)},style:m,children:(0,k.jsx)(p.rjZ,{item:!0,xs:12,className:"intermediateLayer".concat(" ",i?"selected":""),children:(0,k.jsxs)(p.rjZ,{item:!0,xs:!0,className:"mainFileVersionItem ".concat(t.is_delete_marker?"deleted":""),children:[(0,k.jsx)(p.rjZ,{item:!0,xs:12,children:(0,k.jsxs)(p.rjZ,{container:!0,children:[(0,k.jsxs)(p.rjZ,{item:!0,xs:!0,md:4,className:"versionContainer",children:[o&&(0,k.jsx)(Ge.Z,{checked:r,id:"select-".concat(t.version_id),label:"",name:"select-".concat(t.version_id),onChange:function(e){e.stopPropagation(),e.preventDefault(),a(t.version_id||"")},value:t.version_id||"",disabled:t.is_delete_marker,overrideCheckboxStyles:{paddingLeft:0,height:34,width:25},noTopMargin:!0}),Se(n,!0)," v",h.toString(),(0,k.jsx)("span",{className:"versionItem",children:j&&(0,k.jsx)(ze,{type:j})})]}),(0,k.jsx)(p.rjZ,{item:!0,xs:10,md:8,className:"buttonContainer",children:v.map((function(e,n){return(0,k.jsx)(p.ua7,{tooltip:e.tooltip,children:(0,k.jsx)(p.hU,{size:"small",id:"version-action-".concat(e.tooltip,"-").concat(n.toString()),className:"spacing".concat(" ",b?"buttonDisabled":""),disabled:b,onClick:function(n){n.stopPropagation(),b?n.preventDefault():e.action(t)},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(n.toString()))}))})]})}),(0,k.jsx)(p.rjZ,{item:!0,xs:12,className:"versionID",children:"null"!==t.version_id?t.version_id:"-"}),(0,k.jsxs)(p.rjZ,{item:!0,xs:12,className:"collapsableInfo",children:[(0,k.jsxs)("span",{className:"versionData",children:[(0,k.jsx)("strong",{children:"Last modified:"})," ",_.toFormat("ccc, LLL dd yyyy HH:mm:ss (ZZZZ)")]}),(0,k.jsxs)("span",{className:"versionData",children:[(0,k.jsx)("strong",{children:"Size:"})," ",(0,g.ae)("".concat(t.size||"0"))]})]})]})})},f)})},He=function(e){var n=e.closeDeleteModalAndRefresh,t=e.deleteOpen,i=e.selectedBucket,o=e.selectedObject,s=(0,d.TL)(),c=(0,r.useState)(!1),l=(0,f.Z)(c,2),u=l[0],h=l[1],m=(0,r.useState)(""),x=(0,f.Z)(m,2),b=x[0],v=x[1],j=(0,r.useState)(!1),_=(0,f.Z)(j,2),S=_[0],C=_[1],Z=(0,a.v9)((function(e){return e.objectBrowser.retentionConfig})),w=(0,T.F)([i],[y.Ft.S3_BYPASS_GOVERNANCE_RETENTION])&&"governance"===(null===Z||void 0===Z?void 0:Z.mode);if((0,r.useEffect)((function(){u&&oe.h.buckets.deleteObject(i,{path:o,non_current_versions:!0,bypass:S}).then((function(){n(!0)})).catch((function(e){s((0,F.Ih)((0,re.g)(e.error))),h(!1)}))}),[u,n,s,o,i,S]),!o)return null;return(0,k.jsx)(se.Z,{title:"Delete Non-Current versions",confirmText:"Delete",isOpen:t,titleIcon:(0,k.jsx)(p.NvT,{}),isLoading:u,onConfirm:function(){h(!0)},onClose:function(){return n(!1)},confirmButtonProps:{disabled:"YES, PROCEED"!==b||u},confirmationContent:(0,k.jsxs)(r.Fragment,{children:["Are you sure you want to delete all the non-current versions for:"," ",(0,k.jsx)("b",{children:(0,g.IO)(o)}),"? ",(0,k.jsx)("br",{}),w&&(0,k.jsx)(r.Fragment,{children:(0,k.jsx)("div",{style:{marginTop:10},children:(0,k.jsx)(p.rsf,{label:"Bypass Governance Mode",indicatorLabels:["Yes","No"],checked:S,value:"bypass_governance",id:"bypass_governance",name:"bypass_governance",onChange:function(e){C(!S)},description:""})})}),(0,k.jsx)("br",{}),"To continue please type ",(0,k.jsx)("b",{children:"YES, PROCEED"})," in the box.",(0,k.jsx)("br",{}),(0,k.jsx)("br",{}),(0,k.jsx)(p.rjZ,{item:!0,xs:12,children:(0,k.jsx)(p.Wzg,{id:"type-confirm",name:"retype-tenant",onChange:function(e){v(e.target.value)},label:"",value:b})})]})})},Ve=function(e){var n=e.closeDeleteModalAndRefresh,t=e.deleteOpen,i=e.selectedBucket,o=e.selectedVersions,s=e.selectedObject,c=(0,d.TL)(),l=(0,r.useState)(!1),u=(0,f.Z)(l,2),h=u[0],m=u[1],x=(0,r.useState)(!1),b=(0,f.Z)(x,2),v=b[0],j=b[1],g=(0,a.v9)((function(e){return e.objectBrowser.retentionConfig})),_=(0,T.F)([i],[y.Ft.S3_BYPASS_GOVERNANCE_RETENTION])&&"governance"===(null===g||void 0===g?void 0:g.mode);return(0,r.useEffect)((function(){if(h){var e=o.map((function(e){return{path:s,versionID:e,recursive:!1}}));e.length>0&&oe.h.buckets.deleteMultipleObjects(i,e,{all_versions:!1,bypass:v}).then((function(){m(!1),n(!0)})).catch((function(e){c((0,F.Ih)((0,re.g)(e.error))),m(!1)}))}}),[h,n,i,s,o,v,c]),o?(0,k.jsx)(se.Z,{title:"Delete Selected Versions",confirmText:"Delete",isOpen:t,titleIcon:(0,k.jsx)(p.NvT,{}),isLoading:h,onConfirm:function(){m(!0)},onClose:function(){return n(!1)},confirmationContent:(0,k.jsxs)(r.Fragment,{children:["Are you sure you want to delete the selected ",o.length," ","versions for ",(0,k.jsx)("strong",{children:s}),"?",_&&(0,k.jsx)(r.Fragment,{children:(0,k.jsx)("div",{style:{marginTop:10},children:(0,k.jsx)(p.rsf,{label:"Bypass Governance Mode",indicatorLabels:["Yes","No"],checked:v,value:"bypass_governance",id:"bypass_governance",name:"bypass_governance",onChange:function(e){j(!v)},description:""})})})]})}):null},Je=t(5171),Ye={is_latest:!0,last_modified:"",legal_hold_status:"",name:"",retention_mode:"",retention_until_date:"",size:0,tags:{},version_id:void 0},qe=(0,l.Z)((function(e){return(0,c.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.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","@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.OR),u.VX),u.bK),u.VI),u.cx),u.C4),u.Bz))}))((function(e){var n=e.classes,t=e.internalPaths,i=e.bucketName,o=(0,d.TL)(),s=(0,a.v9)((function(e){return e.objectBrowser.searchVersions})),c=(0,a.v9)((function(e){return e.objectBrowser.loadingVersions})),l=(0,a.v9)((function(e){return e.objectBrowser.selectedVersion})),u=(0,a.v9)(F.N5),m=(0,r.useState)(!1),x=(0,f.Z)(m,2),v=x[0],_=x[1],S=(0,r.useState)(null),C=(0,f.Z)(S,2),Z=C[0],w=C[1],T=(0,r.useState)(null),y=(0,f.Z)(T,2),N=y[0],O=y[1],I=(0,r.useState)([]),L=(0,f.Z)(I,2),B=L[0],A=L[1],D=(0,r.useState)(!1),R=(0,f.Z)(D,2),M=R[0],U=R[1],G=(0,r.useState)(null),W=(0,f.Z)(G,2),K=W[0],H=W[1],J=(0,r.useState)("date"),Y=(0,f.Z)(J,2),q=Y[0],$=Y[1],X=(0,r.useState)(!1),Q=(0,f.Z)(X,2),ee=Q[0],ne=Q[1],te=(0,r.useState)(!1),ie=(0,f.Z)(te,2),ae=ie[0],se=ie[1],ce=(0,r.useState)(!1),le=(0,f.Z)(ce,2),de=le[0],ue=le[1],fe=(0,r.useState)([]),me=(0,f.Z)(fe,2),pe=me[0],xe=me[1],be=(0,r.useState)(!1),ve=(0,f.Z)(be,2),je=ve[0],ge=ve[1],_e=[];Z&&Z.name&&(_e=Z.name.split("/")),(0,r.useEffect)((function(){c||Z||o((0,E.Eq)(!0))}),[c,Z,o]),(0,r.useEffect)((function(){c&&""!==t&&oe.h.buckets.listObjects(i,{prefix:t,with_versions:u}).then((function(e){var n=j()(e.data,"objects",[]),i=(0,g.IO)(t),r=n.filter((function(e){return e.name===i}));u?(w(r.find((function(e){return e.is_latest}))||Ye),A(r)):(w(r[0]),A([])),o((0,E.Eq)(!1))})).catch((function(e){o((0,F.Ih)((0,re.g)(e.error))),o((0,E.Eq)(!1))}))}),[c,i,t,o,u]);var Se=function(e){O(e),_(!0)},Ce=function(e){O(e),ne(!0)},Ze=function(e){H(e),U(!0)},we=function(e){Le(o,i,t,e)},Te=function(e){o((0,E.M3)(e.version_id||""))},ye=B.filter((function(e){return!!e.version_id&&e.version_id.includes(s)})),Ne=B.reduce((function(e,n){return n.size?e+n.size:e}),0);ye.sort((function(e,n){if("size"===q)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 Fe=function(e){if(pe.includes(e)){var n=pe.filter((function(n){return n!==e}));xe(n)}else{var t=(0,h.Z)(pe);t.push(e),xe(t)}};return(0,k.jsxs)(r.Fragment,{children:[v&&Z&&(0,k.jsx)(V.default,{open:v,closeModalAndRefresh:function(){O(null),_(!1),ne(!1)},bucketName:i,dataObject:N||Z}),M&&Z&&K&&(0,k.jsx)(Me,{restoreOpen:M,bucketName:i,versionToRestore:K,objectPath:Z.name||"",onCloseAndUpdate:function(e){U(!1),H(null),e&&(o((0,E.Eq)(!0)),o((0,E.vH)(!0)))}}),ee&&Z&&(0,k.jsx)(he.default,{open:ee,bucketName:i,object:{name:Z.name||"",version_id:N&&N.version_id?N.version_id:"null",size:N&&N.size?N.size:0,content_type:"",last_modified:Z.last_modified||""},onClosePreview:function(){ne(!1)}}),ae&&(0,k.jsx)(He,{deleteOpen:ae,closeDeleteModalAndRefresh:function(e){se(!1),e&&(o((0,E.Eq)(!0)),o((0,E.M3)("")),o((0,E.vH)(!0)))},selectedBucket:i,selectedObject:t}),je&&(0,k.jsx)(Ve,{selectedBucket:i,selectedObject:(0,g.IO)(t),deleteOpen:je,selectedVersions:pe,closeDeleteModalAndRefresh:function(e){ge(!1),e&&(o((0,E.Eq)(!0)),o((0,E.M3)("")),o((0,E.vH)(!0)),xe([]))}}),(0,k.jsxs)(b.ZP,{container:!0,className:n.versionsContainer,children:[!Z&&(0,k.jsx)(b.ZP,{item:!0,xs:12,children:(0,k.jsx)(Re.Z,{})}),Z&&(0,k.jsxs)(r.Fragment,{children:[(0,k.jsx)(b.ZP,{item:!0,xs:12,children:(0,k.jsx)(P,{bucketName:i,internalPaths:(0,g.IO)(t),hidePathButton:!0})}),(0,k.jsx)(b.ZP,{item:!0,xs:12,className:n.screenTitleContainer,children:(0,k.jsx)(p.UHn,{icon:(0,k.jsx)("span",{className:n.listIcon,children:(0,k.jsx)(p.cRd,{})}),title:"".concat(_e.length>0?_e[_e.length-1]:Z.name," Versions"),subTitle:(0,k.jsxs)(r.Fragment,{children:[(0,k.jsx)("span",{className:n.detailsSpacer,children:(0,k.jsxs)("strong",{children:[B.length," Version",1===B.length?"":"s","\xa0\xa0\xa0"]})}),(0,k.jsx)("span",{className:n.detailsSpacer,children:(0,k.jsx)("strong",{children:(0,g.l5)(Ne)})})]}),actions:(0,k.jsxs)(r.Fragment,{children:[(0,k.jsx)(z.Z,{tooltip:"Select Multiple Versions",children:(0,k.jsx)(p.zxk,{id:"select-multiple-versions",onClick:function(){ue(!de)},icon:(0,k.jsx)(p.amE,{}),variant:de?"callAction":"regular",style:{marginRight:8}})}),de&&(0,k.jsx)(z.Z,{tooltip:"Delete Selected Versions",children:(0,k.jsx)(p.zxk,{id:"delete-multiple-versions",onClick:function(){ge(!0)},icon:(0,k.jsx)(p.pJl,{}),variant:"secondary",style:{marginRight:8},disabled:0===pe.length})}),(0,k.jsx)(z.Z,{tooltip:"Delete Non Current Versions",children:(0,k.jsx)(p.zxk,{id:"delete-non-current",onClick:function(){se(!0)},icon:(0,k.jsx)(p.utM,{}),variant:"secondary",style:{marginRight:15},disabled:B.length<=1})}),(0,k.jsx)(p.PhF,{id:"sort-by",options:[{label:"Date",value:"date"},{label:"Size",value:"size"}],value:q,label:"Sort by",onChange:function(e){$(e)},noLabelMinWidth:!0})]}),bottomBorder:!1})}),(0,k.jsx)(b.ZP,{item:!0,xs:12,className:n.versionsVirtualPanel,children:Z.version_id&&"null"!==Z.version_id&&(0,k.jsx)(Je.aV,{style:{width:"100%"},containerStyle:{width:"100%",maxWidth:"100%"},width:1,height:800,rowCount:ye.length,rowHeight:108,rowRenderer:function(e){var n=e.key,t=e.index,i=(e.isScrolling,e.isVisible,e.style),o=B.length-t;return(0,k.jsx)(Ke,{style:i,fileName:(null===Z||void 0===Z?void 0:Z.name)||"",versionInfo:ye[t],index:o,onDownload:we,onRestore:Ze,onShare:Se,onPreview:Ce,globalClick:Te,isSelected:l===ye[t].version_id,checkable:de,onCheck:Fe,isChecked:pe.includes(ye[t].version_id||"")},n)}})})]})]})]})})),$e=t(9859),Xe=function(e){if(e.name.endsWith("/"))return"";var n=x.ou.now(),t=x.ou.fromISO(e.last_modified);return n.hasSame(t,"day")&&n.hasSame(t,"month")&&n.hasSame(t,"year")?"Today, ".concat(t.toFormat("HH:mm")):t.toFormat("ccc, LLL dd yyyy HH:mm (ZZZZ)")},Qe=function(e){return e.name.endsWith("/")||!e.size?"-":(0,g.ae)(String(e.size))},en=[{label:"Name",elementKey:"name",renderFunction:Se,enableSort:!0},{label:"Last Modified",elementKey:"last_modified",renderFunction:Xe,renderFullObject:!0,enableSort:!0},{label:"Size",elementKey:"size",renderFunction:Qe,renderFullObject:!0,width:100,enableSort:!0}],nn=[{label:"Name",elementKey:"name",renderFunction:Se,enableSort:!0},{label:"Object Date",elementKey:"last_modified",renderFunction:Xe,renderFullObject:!0,enableSort:!0},{label:"Size",elementKey:"size",renderFunction:Qe,renderFullObject:!0,width:100,enableSort:!0},{label:"Deleted",elementKey:"delete_flag",renderFunction:function(e){return e?"Yes":"No"},width:60}],tn=t(46078),on=(0,Z.Z)((function(e){return(0,c.Z)({browsePaper:{border:0,"@media (max-width: 800px)":{width:800}},parentWrapper:{position:"relative",height:"calc(100% - 60px)","@media (max-width: 800px)":{overflowX:"auto"},"@media (max-width: 1060px)":{height:"calc(100% - 115px)"}},"@global":{".rowLine:hover .iconFileElm":{backgroundImage:"url(/images/ob_file_filled.svg)"},".rowLine:hover .iconFolderElm":{backgroundImage:"url(/images/ob_folder_filled.svg)"}}})})),rn=function(e){var n=e.internalPaths,t=on(),i=(0,d.TL)(),o=(0,s.UO)(),c=(0,s.s0)(),l=(0,r.useState)("ASC"),u=(0,f.Z)(l,2),m=u[0],x=u[1],b=(0,r.useState)("name"),v=(0,f.Z)(b,2),_=v[0],S=v[1],C=o.bucketName||"",Z=(0,a.v9)((function(e){return e.objectBrowser.objectDetailsOpen})),w=(0,a.v9)((function(e){return e.objectBrowser.loadingObjects})),N=(0,a.v9)(tn.$4),F=!(null===N||void 0===N||!N.includes("object-browser-only")),O=(0,a.v9)((function(e){return e.objectBrowser.rewind.rewindEnabled})),I=(0,a.v9)((function(e){return e.objectBrowser.records})),L=(0,a.v9)((function(e){return e.objectBrowser.searchObjects})),B=(0,a.v9)((function(e){return e.objectBrowser.selectedObjects})),P=(0,a.v9)((function(e){return e.objectBrowser.connectionError})),D=(0,a.v9)((function(e){return e.system.anonymousMode})),R=(0,T.F)(C,[y.Ft.S3_LIST_BUCKET,y.Ft.S3_ALL_LIST_BUCKET]),M=I.filter((function(e){return""===L||e.name.toLowerCase().indexOf(L.toLowerCase())>=0})).sort((0,A.P_)(_)),U=[];U="ASC"===m?M:M.reverse();var z=[{type:"view",label:"View",onClick:function(e){var t,o=e.name||"",r="/browser/".concat(C).concat(o?"/".concat((0,g.LL)(o)):"");!D||null===n||null!==(t=e.name)&&void 0!==t&&t.endsWith("/")?(i((0,E.S2)([])),c(r),D||(i((0,E.vb)(!0)),i((0,E.Eq)(!0)),i((0,E.d_)(!0))),i((0,E.EE)("".concat(o?"".concat((0,g.LL)(o)):"")))):Le(i,C,"".concat((0,g.LL)(o)),e)},sendOnlyId:!1}],G=R||D?"This location is empty".concat(O?"":", please try uploading a new file"):(0,y.MK)([y.Ft.S3_LIST_BUCKET,y.Ft.S3_ALL_LIST_BUCKET],"view Objects in this bucket");P&&(G="Objects List unavailable. Please review your WebSockets configuration and try again");var W="calc(100vh - 290px)";return F&&(W="calc(100vh - 315px)"),(0,k.jsx)(p.wQF,{itemActions:z,columns:O?nn:en,isLoading:w,entityName:"Objects",idField:"name",records:U,customPaperHeight:W,selectedItems:B,onSelect:D?void 0:function(e){var n=e.target,t=n.value,o=n.checked,r=(0,h.Z)(B);return o?r.push(t):r=r.filter((function(e){return e!==t})),i((0,E.S2)(r)),i((0,E.EE)(null)),r},customEmptyMessage:G,sortConfig:{currentSort:_,currentDirection:m,triggerSort:function(e){var n=j()(e,"sortDirection","DESC");S(e.sortBy),x(n),i((0,E.Cn)(!0))}},onSelectAll:function(){if(i((0,E.EE)(null)),B.length!==U.length){var e=U.map((function(e){return e.name}));i((0,E.S2)(e))}else i((0,E.S2)([]))},rowStyle:function(e){var n,t=e.index;return null!==(n=U[t])&&void 0!==n&&n.delete_flag?"deleted":""},parentClassName:t.parentWrapper,sx:{minHeight:Z?"100%":"initial"},noBackground:!0})},an=t(96382),sn=(0,an.hg)("objectBrowser/downloadSelected",function(){var e=(0,ye.Z)((0,Te.Z)().mark((function e(n,t){var i,o,r,a,s,c;return(0,Te.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=t.getState,t.rejectWithValue,o=t.dispatch,r=i(),a=function(e){var t=(0,g.LL)("".concat(n,"-").concat(e.name,"-").concat((new Date).getTime(),"-").concat(Math.random())),i=(0,ke.YO)(8),r=(0,A.LR)(n,(0,g.LL)(e.name),e.version_id,e.size,null,i,(function(e){o((0,E.RO)({instanceID:t,progress:e}))}),(function(){o((0,E.oK)(t))}),(function(e){o((0,E.qJ)({instanceID:t,msg:e}))}),(function(){o((0,E.Im)(t))}),(function(){o((0,F.y1)("File download will be handled directly by the browser."))}));(0,ke.EN)(i,r),o((0,E.Mc)({ID:i,bucketName:n,done:!1,instanceID:t,percentage:0,prefix:e.name,type:"download",waitingForFile:!0,failed:!1,cancelled:!1,errorMessage:""}))},0===r.objectBrowser.selectedObjects.length){e.next=12;break}if(s=[],c=function(e){return r.objectBrowser.selectedObjects.includes(e.name)},1!==(s=r.objectBrowser.records.filter(c)).length){e.next=11;break}if(!(s[0].name.length>200&&(0,g.mv)().toLowerCase().includes("win"))){e.next=11;break}return o((0,E.$y)(s[0])),e.abrupt("return");case 11:s.forEach((function(e){a(e)}));case 12:case"end":return e.stop()}}),e)})));return function(n,t){return e.apply(this,arguments)}}()),cn=(0,an.hg)("objectBrowser/openPreview",function(){var e=(0,ye.Z)((0,Te.Z)().mark((function e(n,t){var i,o,r,a,s;return(0,Te.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=t.getState,t.rejectWithValue,o=t.dispatch,1===(r=i()).objectBrowser.selectedObjects.length&&(s=function(e){return r.objectBrowser.selectedObjects.includes(e.name)},(a=r.objectBrowser.records.find(s))&&(o((0,E.eP)(a)),o((0,E.ei)(!0))));case 3:case"end":return e.stop()}}),e)})));return function(n,t){return e.apply(this,arguments)}}()),ln=(0,an.hg)("objectBrowser/openShare",function(){var e=(0,ye.Z)((0,Te.Z)().mark((function e(n,t){var i,o,r,a,s;return(0,Te.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=t.getState,t.rejectWithValue,o=t.dispatch,1===(r=i()).objectBrowser.selectedObjects.length&&(s=function(e){return r.objectBrowser.selectedObjects.includes(e.name)},(a=r.objectBrowser.records.find(s))&&(o((0,E.eP)(a)),o((0,E.Qf)(!0))));case 3:case"end":return e.stop()}}),e)})));return function(n,t){return e.apply(this,arguments)}}()),dn=(0,an.hg)("objectBrowser/openAnonymousAccess",function(){var e=(0,ye.Z)((0,Te.Z)().mark((function e(n,t){var i,o,r;return(0,Te.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=t.getState,o=t.dispatch,1===(r=i()).objectBrowser.selectedObjects.length&&r.objectBrowser.selectedObjects[0].endsWith("/")&&o((0,E.xV)(!0));case 3:case"end":return e.stop()}}),e)})));return function(n,t){return e.apply(this,arguments)}}()),un=t(59114),hn=function(){var e=(0,d.TL)(),n=(0,a.v9)((function(e){return e.objectBrowser.searchObjects}));return(0,k.jsx)(un.Z,{placeholder:"Start typing to filter objects in the bucket",onChange:function(n){e((0,E.G4)(n))},value:n})},fn=t(94619),mn=(0,N.Z)(r.lazy((function(){return t.e(711).then(t.bind(t,50711))}))),pn=(0,N.Z)(r.lazy((function(){return Promise.resolve().then(t.bind(t,34433))}))),xn=(0,N.Z)(r.lazy((function(){return Promise.all([t.e(7847),t.e(6901)]).then(t.bind(t,26901))}))),bn=(0,N.Z)(r.lazy((function(){return Promise.resolve().then(t.bind(t,78562))}))),vn=(0,Z.Z)((function(e){return(0,c.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)({badgeOverlap:{"& .MuiBadge-badge":{top:10,right:1,width:5,height:5,minWidth:5}}},u.VX),u.OR),u.qg),{},{searchField:(0,o.Z)((0,o.Z)({},u.qg.searchField),{},{maxWidth:380}),screenTitleContainer:{border:"#EAEDEE 1px solid",padding:"0 5px"},labelStyle:{color:"#969FA8",fontSize:"12px"},breadcrumbsContainer:{padding:"12px 14px 5px"},fullContainer:{width:"100%",position:"relative","&.detailsOpen":{"@media (max-width: 799px)":{display:"none"}}},hideListOnSmall:{"@media (max-width: 799px)":{display:"none"}},actionsSection:{display:"flex",justifyContent:"space-between",width:"100%"}},u.C4),u.cx),u.Bz))})),jn={borderWidth:2,borderRadius:2,borderColor:"#eeeeee",outline:"none"},gn={borderStyle:"dashed",backgroundColor:"#fafafa",borderColor:"#2196f3"},_n={borderStyle:"dashed",backgroundColor:"#fafafa",borderColor:"#00e676"},Sn=function(){var e,n=vn(),t=(0,d.TL)(),i=(0,s.UO)(),c=(0,s.s0)(),l=(0,s.TH)(),u=(0,a.v9)((function(e){return e.objectBrowser.rewind.rewindEnabled})),v=(0,a.v9)((function(e){return e.objectBrowser.rewind.bucketToRewind})),S=(0,a.v9)((function(e){return e.objectBrowser.versionsMode})),C=(0,a.v9)((function(e){return e.objectBrowser.showDeleted})),Z=(0,a.v9)((function(e){return e.objectBrowser.objectDetailsOpen})),w=(0,a.v9)((function(e){return e.objectBrowser.selectedInternalPaths})),N=(0,a.v9)((function(e){return e.objectBrowser.loadingObjects})),L=(0,a.v9)((function(e){return e.objectBrowser.simplePath})),B=(0,a.v9)((function(e){return e.objectBrowser.versionInfo})),D=(0,a.v9)((function(e){return e.objectBrowser.lockingEnabled})),R=(0,a.v9)((function(e){return e.objectBrowser.downloadRenameModal})),M=(0,a.v9)((function(e){return e.objectBrowser.selectedPreview})),U=(0,a.v9)((function(e){return e.objectBrowser.shareFileModalOpen})),W=(0,a.v9)((function(e){return e.objectBrowser.previewOpen})),H=(0,a.v9)((function(e){return e.objectBrowser.selectedBucket})),V=(0,a.v9)((function(e){return e.system.anonymousMode})),J=(0,a.v9)((function(e){return e.objectBrowser.anonymousAccessOpen})),Y=(0,a.v9)($e.HQ),q=(0,a.v9)($e.G6),$=(0,r.useState)(!1),X=(0,f.Z)($,2),Q=X[0],ee=X[1],ne=(0,r.useState)(!1),te=(0,f.Z)(ne,2),ie=te[0],ae=te[1],se=(0,r.useState)(!1),ce=(0,f.Z)(se,2),de=ce[0],ue=ce[1],he=(0,r.useState)(!1),fe=(0,f.Z)(he,2),me=fe[0],pe=fe[1],xe=(0,r.useState)(!1),be=(0,f.Z)(xe,2),ve=be[0],je=be[1],ge=(0,r.useState)(null),_e=(0,f.Z)(ge,2),Se=_e[0],Ce=_e[1],Ze=(0,r.useState)(null),we=(0,f.Z)(Ze,2),Te=we[0],ye=we[1],Ne=(0,r.useState)(!1),Fe=(0,f.Z)(Ne,2),Ee=Fe[0],Oe=Fe[1],Ie=le(B.status),Le=i.bucketName||"",Be=l.pathname.split("/browser/".concat(Le,"/")),Ae=2===Be.length?Be[1]:"",Re=(0,g.IO)(Ae),Me=Re.split("/").filter((function(e){return""!==e})),Ue=[Le];Me.length>0&&(Ue=Ue.concat(Me));var ze=(0,r.useRef)(null),We=(0,r.useRef)(null),Ke=(0,a.v9)((function(e){return e.console.session&&e.console.session.permissions||{}})),He=[y.Ft.S3_PUT_OBJECT,y.Ft.S3_PUT_ACTIONS],Ve=Ue.join("/"),Je=function(e,n){var t=I(e,n,arguments.length>2&&void 0!==arguments[2]?arguments[2]:[]).reduce((function(e,n){var t=O(n);return t&&e.push(".".concat(t)),e}),[]);return(0,h.Z)(new Set(t)).join(",")}(Ke,Ve,He),Ye=I(Ke,Ve,He),Xe=(0,T.F)([Ve].concat((0,h.Z)(Ye)),[y.Ft.S3_GET_OBJECT,y.Ft.S3_GET_ACTIONS]),Qe=(0,T.F)([Ve].concat((0,h.Z)(Ye)),[y.Ft.S3_DELETE_OBJECT]),en=(0,T.F)([Ve].concat((0,h.Z)(Ye)),He)||V,nn=(0,T.F)(Le,[y.Ft.S3_GET_BUCKET_POLICY,y.Ft.S3_PUT_BUCKET_POLICY,y.Ft.S3_GET_ACTIONS,y.Ft.S3_PUT_ACTIONS]),tn=(0,a.v9)((function(e){return e.objectBrowser.selectedObjects})),on=(0,r.useCallback)((function(){var e=tn[0];if(!Ee){var n=(0,g.LL)(e);oe.h.buckets.getObjectMetadata(Le,{prefix:n}).then((function(e){var n=j()(e.data,"objectMetadata",{});Oe(!0),ye(n)})).catch((function(e){console.error("Error Getting Metadata Status: ",e,null===e||void 0===e?void 0:e.detailedError),Oe(!0)}))}}),[Le,tn,Ee]);(0,r.useEffect)((function(){Le&&1===tn.length&&on()}),[Le,tn,on]),(0,r.useEffect)((function(){t((0,E.G4)("")),t((0,E.Cn)(!0)),t((0,E.S2)([]))}),[L,t]),(0,r.useEffect)((function(){u&&v!==Le&&t((0,E._w)())}),[u,v,Le,t]),(0,r.useEffect)((function(){null!==We.current&&(We.current.setAttribute("directory",""),We.current.setAttribute("webkitdirectory",""))}),[We]),(0,r.useEffect)((function(){if(1===tn.length){var e=tn[0],n=(0,A.s7)(Te,e);je(!("none"===n||!Xe)),e.endsWith("/")||Xe?pe(!0):pe(!1)}else pe(!1),je(!1)}),[tn,Xe,Te]),(0,r.useEffect)((function(){Se||V||oe.h.buckets.getBucketQuota(Le).then((function(e){var n=null;e.data.quota&&(n=e.data),Ce(n)})).catch((function(e){console.error("Error Getting Quota Status: ",e.error.detailedMessage),Ce(null)}))}),[Se,Le,V]),(0,r.useEffect)((function(){tn.length>0?t((0,E.vb)(!0)):0!==tn.length||null!==w||N||t((0,E.vb)(!1))}),[tn,w,t,N]),(0,r.useEffect)((function(){de||(t((0,$e.d5)(!0)),ue(!0))}),[de,t,ue]),(0,r.useEffect)((function(){!N&&!Y||V||oe.h.buckets.bucketInfo(Le).then((function(e){t((0,$e.d5)(!1)),t((0,$e.f4)(e.data)),t((0,E.RS)(Le))})).catch((function(e){t((0,$e.d5)(!1)),t((0,F.Ih)((0,re.g)(e)))}))}),[Le,Y,t,V,N]),(0,r.useEffect)((function(){""!==H&&oe.h.buckets.getBucketRetentionConfig(H).then((function(e){t((0,E.c8)(e.data))})).catch((function(){t((0,E.c8)(null))}))}),[H,t]);var an=function(e){if(null!==e&&void 0!==e&&null!==e.target.files&&void 0!==e.target.files){e.preventDefault();for(var n=[],t=0;t1,C="An error occurred while uploading the file".concat(S?"s":"","."),Z={413:"Error - File size too large"};_.withCredentials=!1,_.onload=function(e){if(_.status>=200&&_.status<300)t((0,E.oK)(v)),a({status:_.status}),(0,ke.GM)(p);else{if(Z[_.status])C=Z[_.status];else if(_.response)try{var n=JSON.parse(_.response);C=n.detailedMessage}catch(i){C="something went wrong"}t((0,E.qJ)({instanceID:v,msg:C})),s({status:_.status,message:C}),(0,ke.GM)(p)}},_.upload.addEventListener("error",(function(e){s(C),t((0,E.qJ)({instanceID:v,msg:"A network error occurred."}))})),_.upload.addEventListener("progress",(function(e){var n=Math.floor(100*e.loaded/e.total);t((0,E.RO)({instanceID:v,progress:n}))})),_.onerror=function(){s(C),t((0,E.qJ)({instanceID:v,msg:"A network error occurred."}))},_.onloadend=function(){0===e.length&&t((0,E.Cn)(!0))},_.onabort=function(){t((0,E.Im)(v))};var w=new FormData;void 0!==r.size&&(w.append(r.size.toString(),d,l),(0,ke.EN)(p,_),t((0,E.Mc)({ID:p,bucketName:n,done:!1,instanceID:v,percentage:0,prefix:"".concat((0,g.IO)(u)).concat(l),type:"upload",waitingForFile:!1,failed:!1,cancelled:!1,errorMessage:""})),(0,ke.N5)(p,w))}))},a=[];t((0,E.LD)());for(var s=0;s0){var i=a.length,o=a.length-n.length,r={errorMessage:"There were some errors during file upload",detailedError:"Uploaded files ".concat(o,"/").concat(i)};t((0,F.Ih)(r))}t((0,E.Cn)(!0)),t((0,E.S2)([]))}))}(e,Le,i,n)}),[Le,t,L,V]),Sn=(0,r.useCallback)((function(e){if(e&&e.length>0&&en){var n,i,o=e[0].path,r=[];if((r=Je.length>0?e.filter((function(e){var n=O(e.name);return Je.includes(n)})):e).length)un(r,o),(n=console).log.apply(n,["".concat(r.length," Allowed Files Processed out of ").concat(e.length,"."),Ve].concat((0,h.Z)(Ye))),r.length!==e.length&&t((0,F.Ih)({errorMessage:"Upload is restricted.",detailedError:(0,y.MK)([y.Ft.S3_PUT_OBJECT,y.Ft.S3_PUT_ACTIONS],"upload objects to this location")}));else t((0,F.Ih)({errorMessage:"Could not process drag and drop.",detailedError:(0,y.MK)([y.Ft.S3_PUT_OBJECT,y.Ft.S3_PUT_ACTIONS],"upload objects to this location")})),(i=console).error.apply(i,["Could not process drag and drop . upload may be restricted.",Ve].concat((0,h.Z)(Ye)))}en||t((0,F.Ih)({errorMessage:"Upload not allowed",detailedError:(0,y.MK)([y.Ft.S3_PUT_OBJECT,y.Ft.S3_PUT_ACTIONS],"upload objects to this location")}))}),[un]),Cn=(0,m.uI)({noClick:!0,onDrop:Sn}),Zn=Cn.getRootProps,wn=Cn.getInputProps,Tn=Cn.isDragActive,yn=Cn.isDragAccept,Nn=(0,r.useMemo)((function(){return(0,o.Z)((0,o.Z)((0,o.Z)({},jn),Tn?gn:{}),yn?_n:{})}),[Tn,yn]),Fn=function(e){if(t((0,E.EE)(null)),t((0,E.db)({status:!1})),Z&&null!==w){var n=(0,g.IO)(Ae).split("/");n.pop();var i="";n&&n.length>0&&(i="".concat(n.join("/"),"/")),c("/browser/".concat(Le,"/").concat((0,g.LL)(i)))}t((0,E.vb)(!1)),t((0,E.S2)([])),e&&t((0,E.Cn)(!0))},En=x.ou.now();null!==q&&void 0!==q&&q.creation_date&&(En=x.ou.fromISO(q.creation_date));var On=[{action:function(){t(sn(Le))},label:"Download",disabled:!Xe||0===(null===tn||void 0===tn?void 0:tn.length),icon:(0,k.jsx)(p._8t,{}),tooltip:Xe?"Download Selected":(0,y.MK)([y.Ft.S3_GET_OBJECT,y.Ft.S3_GET_ACTIONS],"download objects from this bucket")},{action:function(){t(ln())},label:"Share",disabled:1!==tn.length||!me,icon:(0,k.jsx)(p.aAc,{}),tooltip:me?"Share Selected File":"Sharing unavailable"},{action:function(){t(cn())},label:"Preview",disabled:1!==tn.length||!ve,icon:(0,k.jsx)(p.P99,{}),tooltip:ve?"Preview Selected File":"Preview unavailable"},{action:function(){t(dn())},label:"Anonymous Access",disabled:1!==tn.length||!tn[0].endsWith("/")||!nn,icon:(0,k.jsx)(p.cuP,{}),tooltip:1===tn.length&&tn[0].endsWith("/")?"Set Anonymous Access to this Folder":"Anonymous Access unavailable"},{action:function(){ee(!0)},label:"Delete",icon:(0,k.jsx)(p.pJl,{}),disabled:!Qe||0===tn.length,tooltip:Qe?"Delete Selected Files":(0,y.MK)([y.Ft.S3_DELETE_OBJECT],"delete objects in this bucket")}];return(0,k.jsxs)(r.Fragment,{children:[U&&M&&(0,k.jsx)(pn,{open:U,closeModalAndRefresh:function(){t((0,E.Qf)(!1)),t((0,E.eP)(null))},bucketName:Le,dataObject:{name:M.name,last_modified:"",version_id:M.version_id}}),Q&&(0,k.jsx)(mn,{deleteOpen:Q,selectedBucket:Le,selectedObjects:tn,closeDeleteModalAndRefresh:function(e){ee(!1),e&&(t((0,F.y1)("Objects deleted successfully.")),t((0,E.S2)([])),t((0,E.Cn)(!0)))},versioning:B}),ie&&(0,k.jsx)(xn,{open:ie,closeModalAndRefresh:function(){ae(!1)},bucketName:Le}),W&&(0,k.jsx)(bn,{open:W,bucketName:Le,object:M,onClosePreview:function(){t((0,E.ei)(!1)),t((0,E.eP)(null))}}),!!R&&(0,k.jsx)(Pe,{open:!!R,closeModal:function(){t((0,E.$y)(null))},currentItem:(null===(e=R.name.split("/"))||void 0===e?void 0:e.pop())||"",bucketName:Le,internalPaths:Ae,actualInfo:{name:R.name,last_modified:"",version_id:R.version_id,size:R.size}}),J&&(0,k.jsx)(fn.default,{onClose:function(){t((0,E.xV)(!1))},bucket:Le,modalOpen:J,prefilledRoute:"".concat(tn[0],"*")}),(0,k.jsxs)(p.Xgh,{variant:"full",children:[V&&(0,k.jsx)("div",{style:{paddingBottom:16},children:(0,k.jsx)(hn,{})}),(0,k.jsx)(b.ZP,{item:!0,xs:12,className:n.screenTitleContainer,children:(0,k.jsx)(p.UHn,{icon:(0,k.jsx)("span",{children:(0,k.jsx)(p.wNb,{style:{width:30}})}),title:Le,subTitle:V?null:(0,k.jsxs)(r.Fragment,{children:[(0,k.jsxs)("span",{className:n.detailsSpacer,children:["Created on:\xa0\xa0",(0,k.jsx)("strong",{children:null!==q&&void 0!==q&&q.creation_date?En.toFormat("ccc, LLL dd yyyy HH:mm:ss (ZZZZ)"):""})]}),(0,k.jsxs)("span",{className:n.detailsSpacer,children:["Access:\xa0\xa0\xa0",(0,k.jsx)("strong",{children:(null===q||void 0===q?void 0:q.access)||""})]}),q&&(0,k.jsx)(r.Fragment,{children:(0,k.jsxs)("span",{className:n.detailsSpacer,children:[q.size&&(0,k.jsx)(r.Fragment,{children:(0,g.l5)(q.size)}),q.size&&Se&&(0,k.jsxs)(r.Fragment,{children:[" ","/ ",(0,g.l5)(Se.quota||0)]}),q.size&&q.objects?" - ":"",q.objects&&(0,k.jsxs)(r.Fragment,{children:[q.objects,"\xa0Object",q.objects&&1!==q.objects?"s":""]})]})})]}),actions:(0,k.jsxs)(r.Fragment,{children:[!V&&(0,k.jsx)(z.Z,{tooltip:"Rewind Bucket",children:(0,k.jsx)(p.zxk,{id:"rewind-objects-list",label:"Rewind",icon:(0,k.jsx)(_.Z,{badgeContent:" ",color:"secondary",variant:"dot",invisible:!u,className:n.badgeOverlap,sx:{height:16},children:(0,k.jsx)(p.F_y,{style:{minWidth:16,minHeight:16,width:16,height:16,marginTop:-3}})}),variant:"regular",onClick:function(){ae(!0)},disabled:!Ie||!(0,T.F)(Le,[y.Ft.S3_GET_OBJECT,y.Ft.S3_GET_ACTIONS])})}),(0,k.jsx)(z.Z,{tooltip:"Reload List",children:(0,k.jsx)(p.zxk,{id:"refresh-objects-list",label:"Refresh",icon:(0,k.jsx)(p.DuK,{}),variant:"regular",onClick:function(){S?t((0,E.Eq)(!0)):(t((0,E.o_)()),t((0,E._D)(!0)),t((0,E.Cn)(!0)))},disabled:!V&&(!(0,T.F)(Le,[y.Ft.S3_LIST_BUCKET,y.Ft.S3_ALL_LIST_BUCKET])||u)})}),(0,k.jsx)("input",{type:"file",multiple:!0,accept:Je||void 0,onChange:an,style:{display:"none"},ref:ze}),(0,k.jsx)("input",{type:"file",multiple:!0,onChange:an,style:{display:"none"},ref:We}),(0,k.jsx)(G,{bucketName:Le,uploadPath:Ve,uploadFileFunction:function(e){ze&&ze.current&&ze.current.click(),e()},uploadFolderFunction:function(e){We&&We.current&&We.current.click(),e()}})]}),bottomBorder:!1})}),(0,k.jsxs)("div",(0,o.Z)((0,o.Z)({id:"object-list-wrapper"},Zn({style:(0,o.Z)({},Nn)})),{},{children:[(0,k.jsx)("input",(0,o.Z)({},wn())),(0,k.jsxs)(b.ZP,{item:!0,xs:12,className:n.tableBlock,sx:{border:"#EAEDEE 1px solid",borderTop:0},children:[S?(0,k.jsx)(r.Fragment,{children:null!==w&&(0,k.jsx)(qe,{internalPaths:w,bucketName:Le})}):(0,k.jsx)(T.s,{scopes:[y.Ft.S3_LIST_BUCKET,y.Ft.S3_ALL_LIST_BUCKET],resource:Le,errorProps:{disabled:!0},children:(0,k.jsxs)(b.ZP,{item:!0,xs:12,className:"".concat(n.fullContainer," ").concat(Z?"detailsOpen":""," "),children:[!V&&(0,k.jsx)(b.ZP,{item:!0,xs:12,className:n.breadcrumbsContainer,children:(0,k.jsx)(P,{bucketName:Le,internalPaths:Re,additionalOptions:!Ie||u?null:(0,k.jsx)("div",{children:(0,k.jsx)(Ge.Z,{name:"deleted_objects",id:"showDeletedObjects",value:"deleted_on",label:"Show deleted objects",onChange:function(){t((0,E.o_)()),t((0,E.mz)(!C)),Fn(!0)},checked:C,overrideLabelClasses:n.labelStyle,className:n.overrideShowDeleted,noTopMargin:!0})}),hidePathButton:!1})}),(0,k.jsx)(rn,{internalPaths:w})]})}),!V&&(0,k.jsx)(T.s,{scopes:[y.Ft.S3_LIST_BUCKET,y.Ft.S3_ALL_LIST_BUCKET],resource:Le,errorProps:{disabled:!0},children:(0,k.jsxs)(K,{open:Z,closePanel:function(){Fn(!1)},className:"".concat(S?n.hideListOnSmall:""),children:[tn.length>0&&(0,k.jsx)(p.Wk,{items:On,title:"Selected Objects:"}),null!==w&&(0,k.jsx)(De,{internalPaths:w,bucketName:Le,onClosePanel:Fn,versioningInfo:B,locking:D})]})})]})]}))]})]})},Cn=t(49535),Zn=t(26824),wn=t(73996),Tn=t(47974),yn=t(4677),Nn=t(99670),Fn=function(e){var n=e.bucketName,t=(0,d.TL)(),i=(0,a.v9)(tn.$4),o=(0,a.v9)((function(e){return e.objectBrowser.versionsMode})),c=(0,a.v9)((function(e){return e.objectBrowser.versionedFile})),l=(0,a.v9)((function(e){return e.objectBrowser.searchVersions})),u=!(null===i||void 0===i||!i.includes("object-browser-only")),h=(0,s.s0)(),f=(0,Cn.Z)(n,[y.Ft.S3_GET_BUCKET_POLICY,y.Ft.S3_PUT_BUCKET_POLICY,y.Ft.S3_GET_BUCKET_VERSIONING,y.Ft.S3_PUT_BUCKET_VERSIONING,y.Ft.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION,y.Ft.S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION,y.Ft.S3_DELETE_BUCKET,y.Ft.S3_GET_BUCKET_NOTIFICATIONS,y.Ft.S3_PUT_BUCKET_NOTIFICATIONS,y.Ft.S3_GET_REPLICATION_CONFIGURATION,y.Ft.S3_PUT_REPLICATION_CONFIGURATION,y.Ft.S3_GET_LIFECYCLE_CONFIGURATION,y.Ft.S3_PUT_LIFECYCLE_CONFIGURATION,y.Ft.ADMIN_GET_BUCKET_QUOTA,y.Ft.ADMIN_SET_BUCKET_QUOTA,y.Ft.S3_PUT_BUCKET_TAGGING,y.Ft.S3_GET_BUCKET_TAGGING,y.Ft.S3_LIST_BUCKET_VERSIONS,y.Ft.S3_GET_BUCKET_POLICY_STATUS,y.Ft.S3_DELETE_BUCKET_POLICY,y.Ft.S3_GET_ACTIONS,y.Ft.S3_PUT_ACTIONS]),m=(0,k.jsx)(r.Fragment,{children:o?(0,k.jsx)(r.Fragment,{children:(0,k.jsx)(un.Z,{placeholder:"Start typing to filter versions of ".concat(c),onChange:function(e){t((0,E.Pr)(e))},value:l})}):(0,k.jsx)(T.s,{scopes:[y.Ft.S3_LIST_BUCKET,y.Ft.S3_ALL_LIST_BUCKET],resource:n,errorProps:{disabled:!0},children:(0,k.jsx)(hn,{})})});return(0,r.useEffect)((function(){t((0,F.Sc)("object_browser"))}),[]),(0,k.jsx)(r.Fragment,{children:u?(0,k.jsxs)(p.rjZ,{container:!0,sx:{padding:"20px 32px 0"},children:[(0,k.jsx)(p.rjZ,{children:(0,k.jsx)(wn.Z,{marginRight:30,marginTop:10})}),(0,k.jsxs)(p.rjZ,{item:!0,xs:!0,sx:{display:"flex",gap:10},children:[m,(0,k.jsx)(yn.Z,{})]})]}):(0,k.jsx)(Tn.Z,{label:(0,k.jsx)(p.hbI,{label:"Object Browser",onClick:function(){h(y.gA.OBJECT_BROWSER_VIEW)}}),actions:(0,k.jsxs)(r.Fragment,{children:[(0,k.jsx)(T.s,{scopes:y.D[y.EI.BUCKET_ADMIN],resource:n,errorProps:{disabled:!0},children:(0,k.jsx)(z.Z,{tooltip:f?"Configure Bucket":"You do not have the required permissions to configure this bucket. Please contact your MinIO administrator to request "+y.EI.BUCKET_ADMIN+" permisions.",children:(0,k.jsx)(p.zxk,{id:"configure-bucket-main",color:"primary","aria-label":"Configure Bucket",onClick:function(){return h("/buckets/".concat(n,"/admin"))},icon:(0,k.jsx)(p.ewm,{style:{width:20,height:20,marginTop:-3}}),style:{padding:"0 10px"}})})}),(0,k.jsx)(Nn.Z,{})]}),middleComponent:m})})},En=0,On=0,In=!1,kn=function e(n,t,o){if(!In){In=!0;var r=new URL(window.location.toString()),a=r.port,s=new URL(document.baseURI).pathname,c=(0,Zn.x2)(r.protocol);(i=new WebSocket("".concat(c,"://").concat(r.hostname,":").concat(a).concat(s,"ws/objectManager"))).onopen=function(){In=!1,n&&n(),On=0},t&&(i.onmessage=t);var l=function(){On<=5?(e((function(){}),t,o),On+=1):(console.error("Websocket not available. Please review that your environment settings are enabled to allow websocket connections and that requests are made from the same origin."),o&&o("Couldn't establish WebSocket connection. Please review your configuration and try again."))};i.onclose=function(){In=!1,console.warn("Websocket Disconnected. Attempting Reconnection..."),setTimeout(l,3e3)},i.onerror=function(){In=!1,console.error("Error in websocket connection. Attempting reconnection...")}}},Ln=(0,l.Z)((function(e){return(0,c.Z)((0,o.Z)({},u.Bz))}))((function(){var e=(0,d.TL)(),n=(0,s.UO)(),t=(0,s.TH)(),o=(0,a.v9)((function(e){return e.objectBrowser.loadingVersioning})),c=(0,a.v9)((function(e){return e.objectBrowser.rewind.rewindEnabled})),l=(0,a.v9)((function(e){return e.objectBrowser.rewind.dateToRewind})),u=(0,a.v9)((function(e){return e.objectBrowser.showDeleted})),h=(0,a.v9)((function(e){return e.console.session.allowResources})),f=(0,a.v9)((function(e){return e.objectBrowser.loadingObjects})),m=(0,a.v9)((function(e){return e.objectBrowser.loadingLocking})),p=(0,a.v9)((function(e){return e.objectBrowser.loadRecords})),x=(0,a.v9)((function(e){return e.objectBrowser.selectedInternalPaths})),b=(0,a.v9)((function(e){return e.objectBrowser.simplePath})),v=(0,a.v9)((function(e){return e.objectBrowser.isOpeningObjectDetail})),j=(0,a.v9)((function(e){return e.system.anonymousMode})),_=n.bucketName||"",S=t.pathname.split("/browser/".concat(_,"/")),C=2===S.length?S[1]:"",Z=(0,r.useCallback)((function(n){e((0,E.Cn)(!1));var t=JSON.parse(n.data.toString());if(En===t.request_id){if(t.request_id!==En)return;if("The Access Key Id you provided does not exist in our records."===t.error)window.location.reload();else if("Access Denied."===t.error){var i=t.prefix,o="";if(i){var r=(0,g.IO)(i);o=r.endsWith("/")?r:r+"/"}var a=(0,A.kh)(t.bucketName||_,o,h||[]);return void(a&&0!==a.length?e((0,E.ZJ)(a)):e((0,F.Ih)({errorMessage:t.error,detailedError:t.error})))}if(t.request_end)return e((0,E.Cn)(!1)),void e((0,E._D)(!1));t.data&&e((0,E.rW)(t.data))}}),[e,h,_]),w=(0,r.useCallback)((function(n,t){if(i&&1===i.readyState)try{var o=En+1;e((0,E.o_)()),e((0,E.ZR)(!1));var r={bucket_name:_,prefix:(0,g.LL)(n),mode:c||u?"rewind":"objects",date:t.toISOString(),request_id:o};i.send(JSON.stringify(r)),En=o}catch(a){console.error(a)}else{kn((function(){w(n,t)}),Z,(function(n){e((0,F.Ih)({errorMessage:n,detailedError:n})),e((0,E.ZR)(!0))}))}}),[_,c,u,e,Z]);(0,r.useEffect)((function(){return function(){var e={mode:"cancel",request_id:En};i&&1===i.readyState&&i.send(JSON.stringify(e))}}),[]),(0,r.useEffect)((function(){var n=(0,g.IO)(C);e((0,E.IJ)(!0)),n.endsWith("/")||""===n?(e((0,E.vb)(!1)),e((0,E.EE)(null)),e((0,E.Su)(""===n?"/":n)),e((0,E.Jn)(!0))):(e((0,E.vH)(!0)),e((0,E.vb)(!0)),e((0,E.Eq)(!0)),e((0,E.EE)("".concat(n?"".concat((0,g.LL)(n)):""))),e((0,E.Su)("".concat(n.split("/").slice(0,-1).join("/"),"/"))))}),[_,C,l,c,e]),(0,r.useEffect)((function(){if(!f&&!p&&!c&&!v){var n=(0,g.IO)(C);if(!n.endsWith("/")&&b!==n&&""!==n){(0,E._D)(!0);var t="".concat(n.split("/").slice(0,-1).join("/"),"/");w(t,new Date)}}e((0,E.d_)(!1))}),[f,p,e,C,w,c,b]);var T=(0,Cn.Z)(_,[y.Ft.S3_LIST_BUCKET,y.Ft.S3_ALL_LIST_BUCKET])||j;return(0,r.useEffect)((function(){if(f&&T){var n="";if(C){var t=(0,g.IO)(C);n=x===C?"".concat((0,g.IO)(C).split("/").slice(0,-1).join("/"),"/"):t.endsWith("/")?t:t+"/"}var i=new Date;c&&l&&(i=new Date(l)),w(n,i)}else e((0,E.Cn)(!1))}),[f,C,e,l,c,T,w]),(0,r.useEffect)((function(){e((0,E.db)({status:!1}))}),[C,e]),(0,r.useEffect)((function(){o&&!j&&(T?oe.h.buckets.getBucketVersioning(_).then((function(n){e((0,E.lS)(n.data)),e((0,E.IJ)(!1))})).catch((function(n){console.error("Error Getting Object Versioning Status: ",n.error.detailedMessage),e((0,E.IJ)(!1))})):(e((0,E.IJ)(!1)),e((0,E.o_)())))}),[_,o,e,T,j]),(0,r.useEffect)((function(){m&&(T?oe.h.buckets.getBucketObjectLockingStatus(_).then((function(n){e((0,E.lY)(n.data.object_locking_enabled)),e((0,E.Jn)(!1))})).catch((function(n){console.error("Error Getting Object Locking Status: ",n.error.detailedMessage),e((0,E.Jn)(!1))})):(e((0,E.o_)()),e((0,E.Jn)(!1))))}),[_,m,e,T]),(0,r.useEffect)((function(){var n=(0,A.kh)(_,"",h||[]);if(_&&(!n||0===n.length)){e((0,E.o_)()),e((0,E._D)(!0)),e((0,E.Cn)(!0));var t="";if(C){var i=(0,g.IO)(C);t=x===C?"".concat((0,g.IO)(C).split("/").slice(0,-1).join("/"),"/"):i.endsWith("/")?i:i+"/"}w(t,new Date)}}),[_,e,w,h,C,x]),(0,k.jsxs)(r.Fragment,{children:[!j&&(0,k.jsx)(Fn,{bucketName:_}),(0,k.jsx)(Sn,{})]})}))},34433:function(e,n,t){t.r(n),t.d(n,{default:function(){return C}});var i=t(29439),o=t(72791),r=t(78687),a=t(29945),s=t(78029),c=t.n(s),l=t(40986),d=t(56028),u=t(1413),h=t(99779),f=t(11135),m=t(25787),p=t(23814),x=t(80184),b=(0,m.Z)((function(e){return(0,f.Z)((0,u.Z)((0,u.Z)((0,u.Z)({},p.YI),p.Hr),{},{labelContainer:{display:"flex",alignItems:"center",marginBottom:15},fieldContainer:(0,u.Z)((0,u.Z)({},p.YI.fieldContainer),{},{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:10,marginTop:11,marginBottom:6}),durationInputs:{display:"flex",alignItems:"flex-start",justifyContent:"flex-start",gap:10},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,r=e.initialDate,s=e.label,c=e.maxDays,l=e.entity,d=e.onChange,u=(0,o.useState)(7),f=(0,i.Z)(u,2),m=f[0],p=f[1],b=(0,o.useState)(0),v=(0,i.Z)(b,2),j=v[0],g=v[1],_=(0,o.useState)(0),S=(0,i.Z)(_,2),C=S[0],Z=S[1],w=(0,o.useState)(!0),T=(0,i.Z)(w,2),y=T[0],N=T[1],F=(0,o.useState)(h.ou.now()),E=(0,i.Z)(F,2),O=E[0],I=E[1];(0,o.useEffect)((function(){isNaN(j)||isNaN(m)||isNaN(C)||I(function(e,n,t,i){return h.ou.fromJSDate(e).plus({days:n,hours:t,minutes:i})}(r,m,j,C))}),[r,m,j,C]),(0,o.useEffect)((function(){if(y){var e=O.toFormat("yyyy-MM-dd HH:mm:ss");d(e.split(" ").join("T"),!0)}else d("0000-00-00",!1)}),[O,d,y]),(0,o.useEffect)((function(){var e=!0;(m<0||c&&m>c||isNaN(m))&&(e=!1),(j<0||j>23||isNaN(j))&&(e=!1),(C<0||C>59||isNaN(C))&&(e=!1),!c||m!==c||0===j&&0===C||(e=!1),m<=0&&j<=0&&C<=0&&(e=!1),N(e)}),[O,c,d,m,j,C]);var k={"& .textBoxContainer":{minWidth:0},"& input":{textAlign:"center",paddingRight:10,paddingLeft:10,width:40}};return(0,x.jsx)(o.Fragment,{children:(0,x.jsxs)(a.rjZ,{container:!0,className:n.fieldContainer,children:[(0,x.jsx)(a.rjZ,{item:!0,xs:12,className:n.labelContainer,children:(0,x.jsx)(a.AZs,{htmlFor:t,children:s})}),(0,x.jsxs)(a.rjZ,{item:!0,xs:12,className:n.durationInputs,children:[(0,x.jsx)(a.rjZ,{item:!0,xs:!0,className:n.dateInputContainer,children:(0,x.jsx)(a.Wzg,{id:t,className:"".concat(n.reverseInput," removeArrows"),type:"number",min:"0",max:c?c.toString():"999",label:"Days",name:t,onChange:function(e){p(parseInt(e.target.value))},value:m.toString(),sx:k,noLabelMinWidth:!0})}),(0,x.jsx)(a.rjZ,{item:!0,xs:!0,className:n.dateInputContainer,children:(0,x.jsx)(a.Wzg,{id:t,className:"".concat(n.reverseInput," removeArrows"),type:"number",min:"0",max:"23",label:"Hours",name:t,onChange:function(e){g(parseInt(e.target.value))},value:j.toString(),sx:k,noLabelMinWidth:!0})}),(0,x.jsx)(a.rjZ,{item:!0,xs:!0,className:n.dateInputContainer,children:(0,x.jsx)(a.Wzg,{id:t,className:"".concat(n.reverseInput," removeArrows"),type:"number",min:"0",max:"59",label:"Minutes",name:t,onChange:function(e){Z(parseInt(e.target.value))},value:C.toString(),sx:k,noLabelMinWidth:!0})})]}),(0,x.jsx)(a.rjZ,{item:!0,xs:12,className:"".concat(n.validityIndicator," ").concat(n.formFieldRow),children:y?(0,x.jsxs)("div",{className:n.validityText,children:[(0,x.jsx)(a.xPt,{}),(0,x.jsxs)("div",{className:n.validityLabel,children:[l," will be available until:"]})," ",(0,x.jsx)("div",{className:n.validTill,children:O.toFormat("MM/dd/yyyy HH:mm:ss")})]}):(0,x.jsx)("div",{className:n.invalidDurationText,children:"Please select a valid duration."})})]})})})),v=t(45248),j=t(87995),g=t(81551),_=t(31776),S=t(82342),C=function(e){var n=e.open,t=e.closeModalAndRefresh,s=e.bucketName,u=e.dataObject,h=(0,g.TL)(),f=(0,r.v9)(j.N5),m=(0,o.useState)(""),p=(0,i.Z)(m,2),C=p[0],Z=p[1],w=(0,o.useState)(!0),T=(0,i.Z)(w,2),y=T[0],N=T[1],F=(0,o.useState)(!1),E=(0,i.Z)(F,2),O=E[0],I=E[1],k=(0,o.useState)(""),L=(0,i.Z)(k,2),B=L[0],P=L[1],A=(0,o.useState)(!0),D=(0,i.Z)(A,2),R=D[0],M=D[1],U=(0,o.useState)("null"),z=(0,i.Z)(U,2),G=z[0],W=z[1],K=new Date;return(0,o.useEffect)((function(){if(void 0===u.version_id)return f?(_.h.buckets.listObjects(s,{prefix:(0,v.LL)(u.name||""),with_versions:f}).then((function(e){var n=(e.data.objects||[]).find((function(e){return e.is_latest}));W(n?"".concat(n.version_id):"null")})).catch((function(e){h((0,j.zb)((0,S.g)(e.error)))})),void N(!1)):(W("null"),void N(!1));W(u.version_id||"null"),N(!1)}),[s,u,f,h]),(0,o.useEffect)((function(){if(R&&!y){I(!0),Z("");var e=new Date("".concat(B)),n=new Date,t=Math.ceil((e.getTime()-n.getTime())/1e3);t>0&&_.h.buckets.shareObject(s,{prefix:(0,v.LL)(u.name||""),version_id:G,expires:""!==B?"".concat(t,"s"):""}).then((function(e){Z(e.data),I(!1)})).catch((function(e){h((0,j.zb)((0,S.g)(e.error))),Z(""),I(!1)}))}}),[u,B,s,R,Z,h,f,y,G]),(0,x.jsx)(o.Fragment,{children:(0,x.jsxs)(d.Z,{title:"Share File",titleIcon:(0,x.jsx)(a.aAc,{style:{fill:"#4CCB92"}}),modalOpen:n,onClose:function(){t()},children:[y&&(0,x.jsx)(a.rjZ,{item:!0,xs:12,children:(0,x.jsx)(l.Z,{})}),!y&&(0,x.jsxs)(o.Fragment,{children:[(0,x.jsxs)(a.rjZ,{item:!0,xs:12,sx:{fontSize:14,fontWeight:400},children:["This is a temporary URL with integrated access credentials for sharing objects valid for up to 7 days.",(0,x.jsx)("br",{}),(0,x.jsx)("br",{}),"The temporary URL expires after the configured time limit."]}),(0,x.jsx)("br",{}),(0,x.jsx)(a.rjZ,{item:!0,xs:12,children:(0,x.jsx)(b,{initialDate:K,id:"date",label:"Active for",maxDays:7,onChange:function(e,n){M(n),n?P(e):(P(""),Z(""))},entity:"Link"})}),(0,x.jsx)(a.rjZ,{item:!0,xs:12,sx:{marginBottom:10},children:(0,x.jsx)(a.bSr,{actionButton:(0,x.jsx)(c(),{text:C,children:(0,x.jsx)(a.zxk,{id:"copy-path",variant:"regular",onClick:function(){h((0,j.MK)("Share URL Copied to clipboard"))},disabled:""===C||O,style:{width:"28px",height:"28px",padding:"0px"},icon:(0,x.jsx)(a.TIy,{})})}),children:C})})]})]})})}},78562:function(e,n,t){t.r(n),t.d(n,{default:function(){return _}});var i=t(72791),o=t(56028),r=t(4942),a=t(29439),s=t(11135),c=t(25787),l=t(61889),d=t(40986),u=t(47922),h=t(45248),f=t(28182),m=t(16502),p=t(31776),x=t(26181),b=t.n(x),v=t(80184),j=(0,c.Z)((function(){return(0,s.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,s=void 0!==o&&o,c=e.classes,x=(0,i.useState)(!0),j=(0,a.Z)(x,2),g=j[0],_=j[1],S=(0,i.useState)(null),C=(0,a.Z)(S,2),Z=C[0],w=C[1],T=(0,i.useState)(!1),y=(0,a.Z)(T,2),N=y[0],F=y[1],E=(null===t||void 0===t?void 0:t.name)||"",O=(0,i.useCallback)((function(){if(!N){var e=(0,h.LL)(E);p.h.buckets.getObjectMetadata(n,{prefix:e}).then((function(e){var n=b()(e.data,"objectMetadata",{});F(!0),w(n)})).catch((function(e){console.error("Error Getting Metadata Status: ",e,null===e||void 0===e?void 0:e.detailedError),F(!0)}))}}),[n,E,N]);(0,i.useEffect)((function(){n&&E&&O()}),[n,E,O]);var I="";if(t){var k=(0,h.LL)(t.name),L=document.baseURI.replace(window.location.origin,"");I="".concat(window.location.origin).concat(L,"api/v1/buckets/").concat(n,"/objects/download?preview=true&prefix=").concat(k),t.version_id&&(I=I.concat("&version_id=".concat(t.version_id)))}var B=(0,u.s7)(Z,E),P=function(){_(!1)};return(0,v.jsxs)(i.Fragment,{children:["none"!==B&&g&&(0,v.jsx)(l.ZP,{item:!0,xs:12,children:(0,v.jsx)(d.Z,{})}),N?(0,v.jsxs)("div",{style:{textAlign:"center"},children:["video"===B&&(0,v.jsx)("video",{style:{width:"auto",height:"auto",maxWidth:"calc(100vw - 100px)",maxHeight:"calc(100vh - 200px)"},autoPlay:!0,controls:!0,muted:!1,playsInline:!0,onPlay:P,children:(0,v.jsx)("source",{src:I,type:"video/mp4"})}),"audio"===B&&(0,v.jsx)("audio",{style:{width:"100%",height:"auto"},autoPlay:!0,controls:!0,muted:!1,playsInline:!0,onPlay:P,children:(0,v.jsx)("source",{src:I,type:"audio/mpeg"})}),"image"===B&&(0,v.jsx)("img",{style:{width:"auto",height:"auto",maxWidth:"100vw",maxHeight:"100vh"},src:I,alt:"preview",onLoad:P}),"none"===B&&(0,v.jsx)("div",{children:(0,v.jsx)(m.Z,{label:" File couldn't be previewed using file extension or mime type. Please try Download instead",title:"Preview unavailable "})}),"none"!==B&&"video"!==B&&"audio"!==B&&"image"!==B&&(0,v.jsx)("div",{className:(0,f.Z)(c.iframeBase,(0,r.Z)({},c.iframeHidden,g)),children:(0,v.jsx)("iframe",{src:I,title:"File Preview",allowTransparency:!0,className:"".concat(c.iframeContainer," ").concat(s?"fullHeight":B),onLoad:P,children:"File couldn't be loaded. Please try Download instead"})})]}):null]})})),g=t(29945),_=function(e){var n=e.open,t=e.bucketName,r=e.object,a=e.onClosePreview;return(0,v.jsx)(i.Fragment,{children:(0,v.jsx)(o.Z,{modalOpen:n,title:"Preview - ".concat(null===r||void 0===r?void 0:r.name),onClose:a,wideLimit:!1,titleIcon:(0,v.jsx)(g.$30,{}),children:(0,v.jsx)(j,{bucketName:t,object:r})})})}},47922:function(e,n,t){t.d(n,{LR:function(){return c},P_:function(){return u},kh:function(){return h},s7:function(){return d}});var i=t(15671),o=t(43144),r=t(45248),a=t(76610),s=t(81551),c=function(e,n,t,i){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,c=arguments.length>5?arguments[5]:void 0,d=arguments.length>6?arguments[6]:void 0,u=arguments.length>7?arguments[7]:void 0,h=arguments.length>8?arguments[8]:void 0,f=arguments.length>9?arguments[9]:void 0,m=arguments.length>10?arguments[10]:void 0,p=document.createElement("a");document.body.appendChild(p);var x=document.baseURI.replace(window.location.origin,""),b=s.ZP.getState().system.anonymousMode,v="".concat(window.location.origin).concat(x,"api/v1/buckets/").concat(e,"/objects/download?prefix=").concat(n).concat(null!==o&&""!==o.trim()?"&override_file_name=".concat((0,r.LL)(o||"")):"");if(t&&(v=v.concat("&version_id=".concat(t))),i>53687091200)return new l(v,c,u,m);var j=new XMLHttpRequest;return j.open("GET",v,!0),b&&j.setRequestHeader("X-Anonymous","1"),j.addEventListener("progress",(function(e){var n=Math.round(e.loaded/i*100);d&&d(n)}),!1),j.responseType="blob",j.onreadystatechange=function(){if(4===j.readyState)if(200===j.status){var e=j.getResponseHeader("Content-Disposition"),n="download";if(e)n=decodeURIComponent(e).split('"')[1];u&&u(),(0,a.GM)(c);var t=document.createElement("a");t.href=window.URL.createObjectURL(j.response),t.download=n,document.body.appendChild(t),t.click(),document.body.removeChild(t)}else{if("application/json"===j.getResponseHeader("Content-Type")){var i=JSON.parse(j.response);if(i.detailedMessage)return void h(i.detailedMessage)}h("Unexpected response status code (".concat(j.status,")."))}},j.onerror=function(){h&&h("A network error occurred.")},j.onabort=function(){f&&f()},j},l=function(){function e(n,t,o,r){(0,i.Z)(this,e),this.path=void 0,this.id=void 0,this.completeCallback=void 0,this.toastCallback=void 0,this.path=n,this.id=t,this.completeCallback=o,this.toastCallback=r}return(0,o.Z)(e,[{key:"send",value:function(){this.toastCallback();var e=document.createElement("a");e.href=this.path,document.body.appendChild(e),e.click(),document.body.removeChild(e),this.completeCallback(),(0,a.GM)(this.id)}}]),e}(),d=function(e,n){var t=(e&&e["Content-Type"]||"").toString(),i=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"].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"}(n||""),o=function(e){if(e){var n=(e||"").toLowerCase();if(n.includes("image"))return"image";if(n.includes("text"))return"text";if(n.includes("audio"))return"audio";if(n.includes("video"))return"video"}return"none"}(t),r=i;return i===o?r=i:"none"===i&&"none"!==o?r=o:"none"===o&&"none"!==i&&(r=i),r},u=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)}}},h=function(e,n,t){if(0===t.length)return null;var i=t.filter((function(n){var t,i;return(null===(t=n.resource)||void 0===t?void 0:t.endsWith(":".concat(e)))||(null===(i=n.resource)||void 0===i?void 0:i.includes(":".concat(e,"/")))}));if(0===i.length)return null;var o=[],r=n.split("/");if(i.forEach((function(e){var t,i,a=null===(t=e.resource)||void 0===t?void 0:t.split(":"),s=((null===a||void 0===a?void 0:a.pop())||"").split("/");(s.length>1&&s.every((function(e,n){return"*"!==e&&((!r[n]||r[n]===e)&&(r[n]||o.push({name:"".concat(e,"/"),size:0,last_modified:"",version_id:""}),!0))})),"StringEquals"===e.conditionOperator||"StringLike"===e.conditionOperator)&&(null===(i=e.prefixes)||void 0===i||i.forEach((function(e){if(""!==e){var t=e.split("/"),i=[],a=n.replace(/\/$/,"");if(!e.startsWith(a)&&""!==n)return;t.every((function(e,n){return!e.includes("*")&&""!==e&&(e!==r[n]?(o.push({name:"".concat(i.join("/")).concat(i.length>0?"/":"").concat(e,"/"),size:0,last_modified:"",version_id:""}),!1):(""!==e&&i.push(e),!0))}))}})))})),o.length>0){var a=[],s=[];o.forEach((function(e){s.includes(e.name)||(a.push(e),s.push(e.name))})),o=a}return o}},75578:function(e,n,t){var i=t(1413),o=t(72791),r=t(80184);n.Z=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return function(t){return(0,r.jsx)(o.Suspense,{fallback:n,children:(0,r.jsx)(e,(0,i.Z)({},t))})}}},34866:function(e,n,t){var i=t(1413),o=t(72791),r=t(61889),a=t(94454),s=t(30829),c=t(20068),l=t(11135),d=t(25787),u=t(23814),h=t(29945),f=t(80184);n.Z=(0,d.Z)((function(e){return(0,l.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},u.YI),u.Hr),u.lM),{},{fieldContainer:(0,i.Z)((0,i.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,i=e.value,l=e.id,d=e.name,u=e.checked,m=void 0!==u&&u,p=e.disabled,x=void 0!==p&&p,b=e.noTopMargin,v=void 0!==b&&b,j=e.tooltip,g=void 0===j?"":j,_=e.overrideLabelClasses,S=void 0===_?"":_,C=e.overrideCheckboxStyles,Z=e.classes,w=e.className;return(0,f.jsx)(o.Fragment,{children:(0,f.jsxs)(r.ZP,{item:!0,xs:12,className:"".concat(Z.fieldContainer," ").concat(v?Z.noTopMargin:""," ").concat(w||""),children:[(0,f.jsx)("div",{children:(0,f.jsx)(a.Z,{name:d,id:l,value:i,color:"primary",inputProps:{"aria-label":"secondary checkbox"},checked:m,onChange:t,checkedIcon:(0,f.jsx)("span",{className:Z.checkedIcon}),icon:(0,f.jsx)("span",{className:Z.unCheckedIcon}),disabled:x,disableRipple:!0,disableFocusRipple:!0,focusRipple:!1,centerRipple:!1,disableTouchRipple:!0,style:C||{}})}),""!==n&&(0,f.jsxs)(s.Z,{htmlFor:l,className:"".concat(Z.noMinWidthLabel," ").concat(S),children:[(0,f.jsx)("span",{children:n}),""!==g&&(0,f.jsx)("div",{className:Z.tooltipContainer,children:(0,f.jsx)(c.Z,{title:g,placement:"top-start",children:(0,f.jsx)("div",{className:Z.tooltip,children:(0,f.jsx)(h.byK,{})})})})]})]})})}))},81159:function(e,n,t){var i=t(4942),o=t(1413),r=t(72791),a=t(11135),s=t(25787),c=t(9955),l=t(30829),d=t(20068),u=t(20890),h=t(61889),f=t(23814),m=t(29945),p=t(28182),x=t(80184),b=(0,s.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(c.Z);n.Z=(0,s.Z)((function(e){return(0,a.Z)((0,o.Z)((0,o.Z)({indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},f.OR),f.YI))}))((function(e){var n=e.label,t=void 0===n?"":n,a=e.onChange,s=e.value,c=e.id,f=e.name,v=e.checked,j=void 0!==v&&v,g=e.disabled,_=void 0!==g&&g,S=e.switchOnly,C=void 0!==S&&S,Z=e.tooltip,w=void 0===Z?"":Z,T=e.description,y=void 0===T?"":T,N=e.classes,F=e.indicatorLabels,E=e.extraInputProps,O=void 0===E?{}:E,I=(0,x.jsxs)(r.Fragment,{children:[!C&&(0,x.jsx)("span",{className:(0,p.Z)(N.indicatorLabel,(0,i.Z)({},N.indicatorLabelOn,!j)),children:F&&F.length>1?F[1]:"OFF"}),(0,x.jsx)(b,{checked:j,onChange:a,color:"primary",name:f,inputProps:(0,o.Z)({"aria-label":"primary checkbox"},O),disabled:_,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:s,id:c}),!C&&(0,x.jsx)("span",{className:(0,p.Z)(N.indicatorLabel,(0,i.Z)({},N.indicatorLabelOn,j)),children:F?F[0]:"ON"})]});return C?I:(0,x.jsx)("div",{children:(0,x.jsxs)(h.ZP,{container:!0,alignItems:"center",children:[(0,x.jsx)(h.ZP,{item:!0,xs:12,sm:8,md:8,children:""!==t&&(0,x.jsxs)(l.Z,{htmlFor:c,className:N.inputLabel,children:[(0,x.jsx)("span",{children:t}),""!==w&&(0,x.jsx)("div",{className:N.tooltipContainer,children:(0,x.jsx)(d.Z,{title:w,placement:"top-start",children:(0,x.jsx)("div",{className:N.tooltip,children:(0,x.jsx)(m.byK,{})})})})]})}),(0,x.jsx)(h.ZP,{item:!0,xs:12,sm:""!==t?4:12,md:""!==t?4:12,textAlign:"right",justifyContent:"end",className:N.switchContainer,children:I}),""!==y&&(0,x.jsx)(h.ZP,{item:!0,xs:12,textAlign:"left",children:(0,x.jsx)(u.Z,{component:"p",className:N.fieldDescription,children:y})})]})})}))},21435:function(e,n,t){var i=t(29439),o=t(1413),r=t(72791),a=t(27391),s=t(61889),c=t(30829),l=t(20068),d=t(13400),u=t(20165),h=t(3579),f=t(11135),m=t(72455),p=t(25787),x=t(23814),b=t(29945),v=t(28182),j=t(80184),g=(0,m.Z)((function(e){return(0,f.Z)((0,o.Z)({},x.gM))}));function _(e){var n=g();return(0,j.jsx)(a.Z,(0,o.Z)({InputProps:{classes:n}},e))}n.Z=(0,p.Z)((function(e){return(0,f.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},x.YI),x.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}}}))}))((function(e){var n=e.label,t=e.onChange,a=e.value,f=e.id,m=e.name,p=e.type,x=void 0===p?"text":p,g=e.autoComplete,S=void 0===g?"off":g,C=e.disabled,Z=void 0!==C&&C,w=e.multiline,T=void 0!==w&&w,y=e.tooltip,N=void 0===y?"":y,F=e.index,E=void 0===F?0:F,O=e.error,I=void 0===O?"":O,k=e.required,L=void 0!==k&&k,B=e.placeholder,P=void 0===B?"":B,A=e.min,D=e.max,R=e.overlayId,M=e.overlayIcon,U=void 0===M?null:M,z=e.overlayObject,G=void 0===z?null:z,W=e.extraInputProps,K=void 0===W?{}:W,H=e.overlayAction,V=e.noLabelMinWidth,J=void 0!==V&&V,Y=e.pattern,q=void 0===Y?"":Y,$=e.autoFocus,X=void 0!==$&&$,Q=e.classes,ee=e.className,ne=void 0===ee?"":ee,te=e.onKeyPress,ie=e.onFocus,oe=e.onPaste,re=(0,o.Z)({"data-index":E},K),ae=(0,r.useState)(!1),se=(0,i.Z)(ae,2),ce=se[0],le=se[1];"number"===x&&A&&(re.min=A),"number"===x&&D&&(re.max=D),""!==q&&(re.pattern=q);var de=U,ue=x;return"password"===x&&null===U&&(de=ce?(0,j.jsx)(u.Z,{}):(0,j.jsx)(h.Z,{}),ue=ce?"text":"password"),(0,j.jsx)(r.Fragment,{children:(0,j.jsxs)(s.ZP,{container:!0,className:(0,v.Z)(""!==ne?ne:"",""!==I?Q.errorInField:Q.inputBoxContainer),children:[""!==n&&(0,j.jsxs)(c.Z,{htmlFor:f,className:J?Q.noMinWidthLabel:Q.inputLabel,children:[(0,j.jsxs)("span",{children:[n,L?"*":""]}),""!==N&&(0,j.jsx)("div",{className:Q.tooltipContainer,children:(0,j.jsx)(l.Z,{title:N,placement:"top-start",children:(0,j.jsx)("div",{className:Q.tooltip,children:(0,j.jsx)(b.byK,{})})})})]}),(0,j.jsxs)("div",{className:Q.textBoxContainer,children:[(0,j.jsx)(_,{id:f,name:m,fullWidth:!0,value:a,autoFocus:X,disabled:Z,onChange:t,type:ue,multiline:T,autoComplete:S,inputProps:re,error:""!==I,helperText:I,placeholder:P,className:Q.inputRebase,onKeyPress:te,onFocus:ie,onPaste:oe}),de&&(0,j.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,j.jsx)(d.Z,{onClick:H?function(){H()}:function(){return le(!ce)},id:R,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:de})}),G&&(0,j.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==n?"withLabel":""),children:G})]})]})})}))},16502:function(e,n,t){t(72791);var i=t(11135),o=t(25787),r=t(80184);n.Z=(0,o.Z)((function(e){return(0,i.Z)({headerContainer:{backgroundColor:"#e78794",borderRadius:3,marginBottom:20,padding:1,paddingBottom:15},labelHeadline:{color:"#000000",fontSize:14,marginLeft:20},labelText:{color:"#000000",fontSize:14,marginLeft:20,marginRight:40}})}))((function(e){var n=e.classes,t=e.label,i=e.title;return(0,r.jsxs)("div",{className:n.headerContainer,children:[(0,r.jsx)("h4",{className:n.labelHeadline,children:i}),(0,r.jsx)("div",{className:n.labelText,children:t})]})}))},73669:function(e,n,t){var i=t(29439),o=t(72791),r=t(64554),a=t(29945),s=t(21435),c=t(80184);n.Z=function(e){var n=e.value,t=(0,o.useState)(!1),l=(0,i.Z)(t,2),d=l[0],u=l[1];return(0,c.jsxs)(r.Z,{sx:{display:"flex",alignItems:"center",flexFlow:{sm:"row",xs:"column"}},children:[(0,c.jsx)(s.Z,{id:"inspect-dec-key",name:"inspect-dec-key",placeholder:"",label:"",type:d?"text":"password",onChange:function(){},value:n,overlayIcon:(0,c.jsx)(a.TIy,{}),extraInputProps:{readOnly:!0},overlayAction:function(){return navigator.clipboard.writeText(n)}}),(0,c.jsx)(a.zxk,{id:"show-hide-key",style:{marginLeft:"10px"},variant:"callAction",onClick:function(){return u(!d)},label:"Show/Hide"})]})}},26824:function(e,n,t){t.d(n,{HE:function(){return r},V9:function(){return i},ci:function(){return o},x2:function(){return a}});var i=1006,o=1008,r=1011,a=function(e){var n="ws";return"https:"===e&&(n="wss"),n}}}]); -//# sourceMappingURL=2603.500676d6.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2603.500676d6.chunk.js.map b/portal-ui/build/static/js/2603.500676d6.chunk.js.map deleted file mode 100644 index 1357a5027..000000000 --- a/portal-ui/build/static/js/2603.500676d6.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/2603.500676d6.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/AddAccessRule.tsx","screens/Console/Buckets/BucketDetails/BrowserHandler.tsx","screens/Console/Buckets/ListBuckets/UploadPermissionUtils.ts","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","utils/validationFunctions.ts","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/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/utils.ts","screens/Console/ObjectBrowser/RenameLongFilename.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.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/ListObjectsHelpers.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjectsTable.tsx","screens/Console/ObjectBrowser/objectBrowserThunks.ts","screens/Console/ObjectBrowser/FilterObjectsSB.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjects.tsx","screens/Console/ObjectBrowser/OBHeader.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/withSuspense.tsx","screens/Console/Common/FormComponents/CheckboxWrapper/CheckboxWrapper.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/WarningMessage/WarningMessage.tsx","screens/Console/Tools/KeyRevealer.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, { useEffect, useState } from \"react\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport {\n AddAccessRuleIcon,\n Button,\n FormLayout,\n Grid,\n InputBox,\n Select,\n} from \"mds\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { modalStyleUtils } from \"../../Common/FormComponents/common/styleLibrary\";\nimport {\n setErrorSnackMessage,\n setSnackBarMessage,\n} from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IAddAccessRule {\n modalOpen: boolean;\n onClose: () => any;\n bucket: string;\n prefilledRoute?: string;\n}\n\nconst AddAccessRule = ({\n modalOpen,\n onClose,\n bucket,\n prefilledRoute,\n}: IAddAccessRule) => {\n const dispatch = useAppDispatch();\n\n const [prefix, setPrefix] = useState(\"\");\n const [selectedAccess, setSelectedAccess] = useState(\"readonly\");\n\n useEffect(() => {\n if (prefilledRoute) {\n setPrefix(prefilledRoute);\n }\n }, [prefilledRoute]);\n\n const accessOptions = [\n { label: \"readonly\", value: \"readonly\" },\n { label: \"writeonly\", value: \"writeonly\" },\n { label: \"readwrite\", value: \"readwrite\" },\n ];\n\n const resetForm = () => {\n setPrefix(\"\");\n setSelectedAccess(\"readonly\");\n };\n\n const createProcess = () => {\n api.bucket\n .setAccessRuleWithBucket(bucket, {\n prefix: prefix,\n access: selectedAccess,\n })\n .then((res: any) => {\n dispatch(setSnackBarMessage(\"Access Rule added successfully\"));\n onClose();\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err)));\n onClose();\n });\n };\n\n return (\n }\n >\n \n {\n setPrefix(e.target.value);\n }}\n tooltip={\n \"Enter '/' to apply the rule to all prefixes and objects at the bucket root. Do not include the wildcard asterisk '*' as part of the prefix *unless* it is an explicit part of the prefix name. The Console automatically appends an asterisk to the appropriate sections of the resulting IAM policy.\"\n }\n />\n {\n setSelectedAccess(value);\n }}\n label=\"Access\"\n value={selectedAccess}\n options={accessOptions}\n disabled={false}\n />\n \n \n\n \n \n \n \n );\n};\n\nexport default AddAccessRule;\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, useCallback, useEffect } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useLocation, useParams } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport { containerForHeader } from \"../../Common/FormComponents/common/styleLibrary\";\n\nimport ListObjects from \"../ListBuckets/Objects/ListObjects/ListObjects\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\nimport {\n errorInConnection,\n newMessage,\n resetMessages,\n setIsOpeningOD,\n setIsVersioned,\n setLoadingLocking,\n setLoadingObjectInfo,\n setLoadingObjects,\n setLoadingRecords,\n setLoadingVersioning,\n setLoadingVersions,\n setLockingEnabled,\n setObjectDetailsView,\n setRecords,\n setSelectedObjectView,\n setSimplePathHandler,\n setVersionsModeEnabled,\n} from \"../../ObjectBrowser/objectBrowserSlice\";\nimport hasPermission from \"../../../../common/SecureComponent/accessControl\";\nimport { IMessageEvent } from \"websocket\";\nimport { wsProtocol } from \"../../../../utils/wsUtils\";\nimport {\n WebsocketRequest,\n WebsocketResponse,\n} from \"../ListBuckets/Objects/ListObjects/types\";\nimport { decodeURLString, encodeURLString } from \"../../../../common/utils\";\nimport { permissionItems } from \"../ListBuckets/Objects/utils\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport OBHeader from \"../../ObjectBrowser/OBHeader\";\nimport { api } from \"api\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...containerForHeader,\n });\n\nlet objectsWS: WebSocket;\nlet currentRequestID: number = 0;\nlet errorCounter: number = 0;\nlet wsInFlight: boolean = false;\n\nconst initWSConnection = (\n openCallback?: () => void,\n onMessageCallback?: (message: IMessageEvent) => void,\n connErrorCallback?: (message: string) => void,\n) => {\n if (wsInFlight) {\n return;\n }\n wsInFlight = true;\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\n objectsWS = new WebSocket(\n `${wsProt}://${url.hostname}:${port}${baseUrl}ws/objectManager`,\n );\n\n objectsWS.onopen = () => {\n wsInFlight = false;\n if (openCallback) {\n openCallback();\n }\n errorCounter = 0;\n };\n\n if (onMessageCallback) {\n objectsWS.onmessage = onMessageCallback;\n }\n\n const reconnectFn = () => {\n if (errorCounter <= 5) {\n initWSConnection(() => {}, onMessageCallback, connErrorCallback);\n errorCounter += 1;\n } else {\n console.error(\n \"Websocket not available. Please review that your environment settings are enabled to allow websocket connections and that requests are made from the same origin.\",\n );\n if (connErrorCallback) {\n connErrorCallback(\n \"Couldn't establish WebSocket connection. Please review your configuration and try again.\",\n );\n }\n }\n };\n\n objectsWS.onclose = () => {\n wsInFlight = false;\n console.warn(\"Websocket Disconnected. Attempting Reconnection...\");\n\n // We reconnect after 3 seconds\n setTimeout(reconnectFn, 3000);\n };\n\n objectsWS.onerror = () => {\n wsInFlight = false;\n console.error(\"Error in websocket connection. Attempting reconnection...\");\n // Onclose will be triggered by specification, reconnect function will be executed there to avoid duplicated requests\n };\n};\n\nconst BrowserHandler = () => {\n const dispatch = useAppDispatch();\n const params = useParams();\n const location = useLocation();\n\n const loadingVersioning = useSelector(\n (state: AppState) => state.objectBrowser.loadingVersioning,\n );\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 showDeleted = useSelector(\n (state: AppState) => state.objectBrowser.showDeleted,\n );\n const allowResources = useSelector(\n (state: AppState) => state.console.session.allowResources,\n );\n const loadingObjects = useSelector(\n (state: AppState) => state.objectBrowser.loadingObjects,\n );\n const loadingLocking = useSelector(\n (state: AppState) => state.objectBrowser.loadingLocking,\n );\n const loadRecords = useSelector(\n (state: AppState) => state.objectBrowser.loadRecords,\n );\n const selectedInternalPaths = useSelector(\n (state: AppState) => state.objectBrowser.selectedInternalPaths,\n );\n const simplePath = useSelector(\n (state: AppState) => state.objectBrowser.simplePath,\n );\n const isOpeningOD = useSelector(\n (state: AppState) => state.objectBrowser.isOpeningObjectDetail,\n );\n const anonymousMode = useSelector(\n (state: AppState) => state.system.anonymousMode,\n );\n\n const bucketName = params.bucketName || \"\";\n const pathSegment = location.pathname.split(`/browser/${bucketName}/`);\n const internalPaths = pathSegment.length === 2 ? pathSegment[1] : \"\";\n\n /*WS Request Handlers*/\n const onMessageCallBack = useCallback(\n (message: IMessageEvent) => {\n // reset start status\n dispatch(setLoadingObjects(false));\n\n const response: WebsocketResponse = JSON.parse(message.data.toString());\n if (currentRequestID === response.request_id) {\n // If response is not from current request, we can omit\n if (response.request_id !== currentRequestID) {\n return;\n }\n\n if (\n response.error ===\n \"The Access Key Id you provided does not exist in our records.\"\n ) {\n // Session expired.\n window.location.reload();\n } else if (response.error === \"Access Denied.\") {\n const internalPathsPrefix = response.prefix;\n let pathPrefix = \"\";\n\n if (internalPathsPrefix) {\n const decodedPath = decodeURLString(internalPathsPrefix);\n\n pathPrefix = decodedPath.endsWith(\"/\")\n ? decodedPath\n : decodedPath + \"/\";\n }\n\n const permitItems = permissionItems(\n response.bucketName || bucketName,\n pathPrefix,\n allowResources || [],\n );\n\n if (!permitItems || permitItems.length === 0) {\n dispatch(\n setErrorSnackMessage({\n errorMessage: response.error,\n detailedError: response.error,\n }),\n );\n } else {\n dispatch(setRecords(permitItems));\n }\n\n return;\n }\n\n // This indicates final messages is received.\n if (response.request_end) {\n dispatch(setLoadingObjects(false));\n dispatch(setLoadingRecords(false));\n return;\n }\n\n if (response.data) {\n dispatch(newMessage(response.data));\n }\n }\n },\n [dispatch, allowResources, bucketName],\n );\n\n const initWSRequest = useCallback(\n (path: string, date: Date) => {\n if (objectsWS && objectsWS.readyState === 1) {\n try {\n const newRequestID = currentRequestID + 1;\n dispatch(resetMessages());\n dispatch(errorInConnection(false));\n\n const request: WebsocketRequest = {\n bucket_name: bucketName,\n prefix: encodeURLString(path),\n mode: rewindEnabled || showDeleted ? \"rewind\" : \"objects\",\n date: date.toISOString(),\n request_id: newRequestID,\n };\n\n objectsWS.send(JSON.stringify(request));\n\n // We store the new ID for the requestID\n currentRequestID = newRequestID;\n } catch (e) {\n console.error(e);\n }\n } else {\n // Socket is disconnected, we request reconnection but will need to recreate call\n const dupRequest = () => {\n initWSRequest(path, date);\n };\n\n const fatalWSError = (message: string) => {\n dispatch(\n setErrorSnackMessage({\n errorMessage: message,\n detailedError: message,\n }),\n );\n dispatch(errorInConnection(true));\n };\n\n initWSConnection(dupRequest, onMessageCallBack, fatalWSError);\n }\n },\n [bucketName, rewindEnabled, showDeleted, dispatch, onMessageCallBack],\n );\n\n useEffect(() => {\n return () => {\n const request: WebsocketRequest = {\n mode: \"cancel\",\n request_id: currentRequestID,\n };\n\n if (objectsWS && objectsWS.readyState === 1) {\n objectsWS.send(JSON.stringify(request));\n }\n };\n }, []);\n\n useEffect(() => {\n const decodedIPaths = decodeURLString(internalPaths);\n\n dispatch(setLoadingVersioning(true));\n\n if (decodedIPaths.endsWith(\"/\") || decodedIPaths === \"\") {\n dispatch(setObjectDetailsView(false));\n dispatch(setSelectedObjectView(null));\n dispatch(\n setSimplePathHandler(decodedIPaths === \"\" ? \"/\" : decodedIPaths),\n );\n dispatch(setLoadingLocking(true));\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 }, [bucketName, internalPaths, rewindDate, rewindEnabled, dispatch]);\n\n // Direct file access effect / prefix\n useEffect(() => {\n if (!loadingObjects && !loadRecords && !rewindEnabled && !isOpeningOD) {\n // No requests are in progress, We review current path, if it doesn't end in '/' and current list is empty then we trigger a new request.\n const decodedInternalPaths = decodeURLString(internalPaths);\n\n if (\n !decodedInternalPaths.endsWith(\"/\") &&\n simplePath !== decodedInternalPaths &&\n decodedInternalPaths !== \"\"\n ) {\n setLoadingRecords(true);\n const parentPath = `${decodedInternalPaths\n .split(\"/\")\n .slice(0, -1)\n .join(\"/\")}/`;\n\n initWSRequest(parentPath, new Date());\n }\n }\n dispatch(setIsOpeningOD(false));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n loadingObjects,\n loadRecords,\n dispatch,\n internalPaths,\n initWSRequest,\n rewindEnabled,\n simplePath,\n ]);\n\n const displayListObjects =\n hasPermission(bucketName, [\n IAM_SCOPES.S3_LIST_BUCKET,\n IAM_SCOPES.S3_ALL_LIST_BUCKET,\n ]) || anonymousMode;\n\n // Common objects list\n useEffect(() => {\n // begin watch if bucketName in bucketList and start pressed\n if (loadingObjects && displayListObjects) {\n let pathPrefix = \"\";\n if (internalPaths) {\n const decodedPath = decodeURLString(internalPaths);\n\n // internalPaths are selected (file details), we split and get parent folder\n if (selectedInternalPaths === internalPaths) {\n pathPrefix = `${decodeURLString(internalPaths)\n .split(\"/\")\n .slice(0, -1)\n .join(\"/\")}/`;\n } else {\n pathPrefix = decodedPath.endsWith(\"/\")\n ? decodedPath\n : decodedPath + \"/\";\n }\n }\n\n let requestDate = new Date();\n\n if (rewindEnabled && rewindDate) {\n requestDate = new Date(rewindDate);\n }\n initWSRequest(pathPrefix, requestDate);\n } else {\n dispatch(setLoadingObjects(false));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n loadingObjects,\n internalPaths,\n dispatch,\n rewindDate,\n rewindEnabled,\n displayListObjects,\n initWSRequest,\n ]);\n\n useEffect(() => {\n dispatch(setVersionsModeEnabled({ status: false }));\n }, [internalPaths, dispatch]);\n\n useEffect(() => {\n if (loadingVersioning && !anonymousMode) {\n if (displayListObjects) {\n api.buckets\n .getBucketVersioning(bucketName)\n .then((res) => {\n dispatch(setIsVersioned(res.data));\n dispatch(setLoadingVersioning(false));\n })\n .catch((err) => {\n console.error(\n \"Error Getting Object Versioning Status: \",\n err.error.detailedMessage,\n );\n dispatch(setLoadingVersioning(false));\n });\n } else {\n dispatch(setLoadingVersioning(false));\n dispatch(resetMessages());\n }\n }\n }, [\n bucketName,\n loadingVersioning,\n dispatch,\n displayListObjects,\n anonymousMode,\n ]);\n\n useEffect(() => {\n if (loadingLocking) {\n if (displayListObjects) {\n api.buckets\n .getBucketObjectLockingStatus(bucketName)\n .then((res) => {\n dispatch(setLockingEnabled(res.data.object_locking_enabled));\n dispatch(setLoadingLocking(false));\n })\n .catch((err) => {\n console.error(\n \"Error Getting Object Locking Status: \",\n err.error.detailedMessage,\n );\n dispatch(setLoadingLocking(false));\n });\n } else {\n dispatch(resetMessages());\n dispatch(setLoadingLocking(false));\n }\n }\n }, [bucketName, loadingLocking, dispatch, displayListObjects]);\n\n useEffect(() => {\n // when a bucket param changes, (i.e /browser/:bucketName), re-init e.g with KBar, this should not apply for resources prefixes.\n const permitItems = permissionItems(bucketName, \"\", allowResources || []);\n\n if (bucketName && (!permitItems || permitItems.length === 0)) {\n dispatch(resetMessages());\n dispatch(setLoadingRecords(true));\n dispatch(setLoadingObjects(true));\n\n let pathPrefix = \"\";\n if (internalPaths) {\n const decodedPath = decodeURLString(internalPaths);\n\n // internalPaths are selected (file details), we split and get parent folder\n if (selectedInternalPaths === internalPaths) {\n pathPrefix = `${decodeURLString(internalPaths)\n .split(\"/\")\n .slice(0, -1)\n .join(\"/\")}/`;\n } else {\n pathPrefix = decodedPath.endsWith(\"/\")\n ? decodedPath\n : decodedPath + \"/\";\n }\n }\n\n initWSRequest(pathPrefix, new Date());\n }\n }, [\n bucketName,\n dispatch,\n initWSRequest,\n allowResources,\n internalPaths,\n selectedInternalPaths,\n ]);\n\n return (\n \n {!anonymousMode && }\n \n \n );\n};\n\nexport default withStyles(styles)(BrowserHandler);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 extractFileExtn = (resourceStr: string) => {\n //file extensions may contain query string. so exclude query strings !\n return (resourceStr.match(/\\.([^.]*?)(?=\\?|#|$)/) || [])[1];\n};\nexport const getPolicyAllowedFileExtensions = (\n sessionGrants: Record,\n uploadPath: string,\n scopes: string[] = [],\n) => {\n const sessionGrantWildCards = getSessionGrantsWildCard(\n sessionGrants,\n uploadPath,\n scopes,\n );\n\n //get acceptable files if any in the policy.\n const allowedFileExtensions = sessionGrantWildCards.reduce(\n (acc: string[], cv: string) => {\n const extension: string = extractFileExtn(cv);\n if (extension) {\n acc.push(`.${extension}`); //strict extension matching.\n }\n return acc;\n },\n [],\n );\n\n const uniqueExtensions = [...new Set(allowedFileExtensions)];\n return uniqueExtensions.join(\",\");\n};\n\n// The resource should not have the extensions (*.ext) for the hasPermission to work.\n// so sanitize this and also use to extract the allowed extensions outside of permission check.\nexport const getSessionGrantsWildCard = (\n sessionGrants: Record,\n uploadPath: string,\n scopes: string[] = [],\n) => {\n //get only the path matching grants to reduce processing.\n const grantsWithExtension = Object.keys(sessionGrants).reduce(\n (acc: Record, grantKey: string) => {\n if (extractFileExtn(grantKey) && grantKey.includes(uploadPath)) {\n acc[grantKey] = sessionGrants[grantKey];\n }\n return acc;\n },\n {},\n );\n\n const checkPathsForPermission = (sessionGrantKey: string) => {\n const grantActions = grantsWithExtension[sessionGrantKey];\n const hasScope = grantActions.some((actionKey) =>\n scopes.find((scopeKey) => {\n let wildCardMatch = false;\n const hasWildCard = scopeKey.indexOf(\"*\") !== -1;\n if (hasWildCard) {\n const scopeActionKey = scopeKey.substring(0, scopeKey.length - 1);\n\n wildCardMatch = actionKey.includes(scopeActionKey);\n }\n\n return wildCardMatch || actionKey === scopeKey;\n }),\n );\n\n const sessionGrantKeyPath = sessionGrantKey.substring(\n 0,\n sessionGrantKey.indexOf(\"/*.\"), //start of extension part.\n );\n const isUploadPathMatching =\n sessionGrantKeyPath === `arn:aws:s3:::${uploadPath}`;\n\n const hasGrant =\n isUploadPathMatching && sessionGrantKey !== \"arn:aws:s3:::*\";\n\n return hasScope && hasGrant;\n };\n\n return Object.keys(grantsWithExtension).filter(checkPathsForPermission);\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 { useSelector } from \"react-redux\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport { objectBrowserCommon } from \"../Common/FormComponents/common/styleLibrary\";\nimport { encodeURLString, safeDecodeURIComponent } from \"../../../common/utils\";\nimport { Button, CopyIcon, NewPathIcon, Tooltip, Breadcrumbs } from \"mds\";\nimport { hasPermission } from \"../../../common/SecureComponent\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../common/SecureComponent/permissions\";\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport { setSnackBarMessage } from \"../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { setVersionsModeEnabled } from \"./objectBrowserSlice\";\nimport { getSessionGrantsWildCard } from \"../Buckets/ListBuckets/UploadPermissionUtils\";\n\nconst CreatePathModal = withSuspense(\n React.lazy(\n () => import(\"../Buckets/ListBuckets/Objects/ListObjects/CreatePathModal\"),\n ),\n);\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...objectBrowserCommon,\n slashSpacingStyle: {\n margin: \"0 5px\",\n },\n }),\n);\n\ninterface IObjectBrowser {\n bucketName: string;\n internalPaths: string;\n hidePathButton?: boolean;\n additionalOptions?: React.ReactNode;\n}\n\nconst BrowserBreadcrumbs = ({\n bucketName,\n internalPaths,\n hidePathButton,\n additionalOptions,\n}: IObjectBrowser) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n const classes = useStyles();\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 const anonymousMode = useSelector(\n (state: AppState) => state.system.anonymousMode,\n );\n\n const [createFolderOpen, setCreateFolderOpen] = useState(false);\n\n const putObjectPermScopes = [\n IAM_SCOPES.S3_PUT_OBJECT,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ];\n\n const sessionGrants = useSelector((state: AppState) =>\n state.console.session ? state.console.session.permissions || {} : {},\n );\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 const pathToCheckPerms = paths || bucketName;\n const sessionGrantWildCards = getSessionGrantsWildCard(\n sessionGrants,\n pathToCheckPerms,\n putObjectPermScopes,\n );\n\n const canCreatePath =\n hasPermission(\n [pathToCheckPerms, ...sessionGrantWildCards],\n putObjectPermScopes,\n ) || anonymousMode;\n\n let breadcrumbsMap = splitPaths.map((objectItem: string, index: number) => {\n const subSplit = `${splitPaths.slice(0, index + 1).join(\"/\")}/`;\n const route = `/browser/${bucketName}/${\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 \n {safeDecodeURIComponent(objectItem) /*Only for display*/}\n \n ) : (\n {\n dispatch(\n setVersionsModeEnabled({ status: false, objectName: \"\" }),\n );\n }}\n >\n {\n safeDecodeURIComponent(\n objectItem,\n ) /*Only for display to preserve */\n }\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 if (splitPaths.length === 0) {\n navigate(\"/browser\");\n\n return;\n }\n\n const prevPath = splitPaths.slice(0, -1);\n\n navigate(\n `/browser/${bucketName}${\n prevPath.length > 0\n ? `/${encodeURLString(`${prevPath.join(\"/\")}/`)}`\n : \"\"\n }`,\n );\n }\n };\n\n return (\n \n
\n {createFolderOpen && (\n \n )}\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
\n {additionalOptions}\n
\n \n }\n >\n {listBreadcrumbs}\n \n {!hidePathButton && (\n \n {\n setCreateFolderOpen(true);\n }}\n disabled={anonymousMode ? false : 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 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, useState } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { CSSObject } from \"styled-components\";\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 { Button, UploadFolderIcon, UploadIcon } from \"mds\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../../common/SecureComponent/permissions\";\nimport { hasPermission } from \"../../../../common/SecureComponent\";\nimport TooltipWrapper from \"../../Common/TooltipWrapper/TooltipWrapper\";\nimport { useSelector } from \"react-redux\";\nimport { AppState } from \"../../../../store\";\nimport { getSessionGrantsWildCard } from \"./UploadPermissionUtils\";\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 overrideStyles?: CSSObject;\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 overrideStyles = {},\n}: IUploadFilesButton) => {\n const anonymousMode = useSelector(\n (state: AppState) => state.system.anonymousMode,\n );\n\n const sessionGrants = useSelector((state: AppState) =>\n state.console.session ? state.console.session.permissions || {} : {},\n );\n\n const putObjectPermScopes = [\n IAM_SCOPES.S3_PUT_OBJECT,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ];\n\n const sessionGrantWildCards = getSessionGrantsWildCard(\n sessionGrants,\n uploadPath,\n putObjectPermScopes,\n );\n\n const [anchorEl, setAnchorEl] = 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 =\n hasPermission(\n [uploadPath, ...sessionGrantWildCards],\n putObjectPermScopes,\n ) || anonymousMode;\n\n const uploadFolderAllowed = hasPermission(\n [bucketName, ...sessionGrantWildCards],\n putObjectPermScopes,\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 sx={overrideStyles}\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 { Button, ClosePanelIcon, Grid } from \"mds\";\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 }),\n);\n\nconst DetailsListPanel = ({\n open,\n closePanel,\n className = \"\",\n children,\n}: IDetailsListPanel) => {\n const classes = useStyles();\n\n return (\n \n }\n sx={{\n position: \"absolute\",\n right: 5,\n top: 18,\n padding: 0,\n height: 14,\n \"&:hover:not(:disabled)\": {\n backgroundColor: \"transparent\",\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) => ({\n value: (num + 1).toString(),\n label: (num + 1).toString(),\n}));\n\nconst currentYear = new Date().getFullYear();\n\nexport const years = Array.from(Array(50), (_, numYear) => ({\n value: (numYear + currentYear).toString(),\n label: (numYear + currentYear).toString(),\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 { Box, Grid, HelpIcon, InputLabel, Select, Switch, Tooltip } from \"mds\";\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 { days, months, validDate, years } from \"./utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\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 });\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\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 monthForDropDown = [{ value: \"\", label: \"\" }, ...months];\n const daysForDrop = [{ value: \"\", label: \"\" }, ...days];\n const yearsForDrop = [{ value: \"\", label: \"\" }, ...years];\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 setMonth(newValue);\n }}\n options={monthForDropDown}\n label={\"\"}\n disabled={isDateDisabled()}\n />\n\n {\n setDay(newValue);\n }}\n options={daysForDrop}\n label={\"\"}\n disabled={isDateDisabled()}\n />\n\n {\n setYear(newValue);\n }}\n options={yearsForDrop}\n label={\"\"}\n disabled={isDateDisabled()}\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 { Button, Grid, RadioGroup, Switch } from \"mds\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nimport { twoDigitDate } from \"../../../../Common/FormComponents/DateSelector/utils\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport DateSelector from \"../../../../Common/FormComponents/DateSelector/DateSelector\";\nimport { setModalErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { useSelector } from \"react-redux\";\nimport { BucketObject, ObjectRetentionMode } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { encodeURLString } from \"common/utils\";\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: (updateInfo: boolean) => void;\n objectName: string;\n bucketName: string;\n objectInfo: BucketObject;\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 retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\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(retentionConfig?.mode || ObjectRetentionMode.Governance);\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, retentionConfig?.mode]);\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(ObjectRetentionMode.Governance);\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.buckets\n .putObjectRetention(\n bucketName,\n {\n prefix: encodeURLString(selectedObject),\n version_id: versionId || \"\",\n },\n {\n expires: expireDate,\n mode: type as ObjectRetentionMode,\n },\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSaving(false);\n });\n };\n\n const disableRetention = (\n selectedObject: string,\n versionId: string | null,\n ) => {\n api.buckets\n .deleteObjectRetention(bucketName, {\n prefix: encodeURLString(selectedObject),\n version_id: versionId || \"\",\n })\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSaving(false);\n });\n };\n\n const saveNewRetentionPolicy = () => {\n setIsSaving(true);\n const selectedObject = objectInfo.name || \"\";\n const versionId = objectInfo.version_id || null;\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 as ObjectRetentionMode);\n }}\n selectorOptions={[\n { label: \"Governance\", value: ObjectRetentionMode.Governance },\n { label: \"Compliance\", value: ObjectRetentionMode.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\nexport const isVersionedMode = (status: string | undefined) => {\n return status === \"Enabled\" || status === \"Suspended\";\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, { Fragment, useState } from \"react\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { decodeURLString } from \"../../../../../../common/utils\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport useApi from \"../../../../Common/Hooks/useApi\";\nimport { ConfirmDeleteIcon, Switch } from \"mds\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { hasPermission } from \"../../../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { useSelector } from \"react-redux\";\nimport { isVersionedMode } from \"../../../../../../utils/validationFunctions\";\nimport { BucketVersioningResponse } from \"api/consoleApi\";\n\ninterface IDeleteObjectProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedObject: string;\n selectedBucket: string;\n\n versioningInfo: BucketVersioningResponse | undefined;\n selectedVersion?: string;\n}\n\nconst DeleteObject = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedObject,\n versioningInfo,\n selectedVersion = \"\",\n}: IDeleteObjectProps) => {\n const dispatch = useAppDispatch();\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n\n // We close the modal box on access denied.\n if (err.detailedError === \"Access Denied.\") {\n closeDeleteModalAndRefresh(true);\n }\n };\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n const [deleteVersions, setDeleteVersions] = useState(false);\n const [bypassGovernance, setBypassGovernance] = useState(false);\n\n const retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\n const canBypass =\n hasPermission(\n [selectedBucket],\n [IAM_SCOPES.S3_BYPASS_GOVERNANCE_RETENTION],\n ) && retentionConfig?.mode === \"governance\";\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 }${bypassGovernance ? \"&bypass=true\" : \"\"}`,\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 {isVersionedMode(versioningInfo?.status) &&\n selectedVersion === \"\" && (\n \n {\n setDeleteVersions(!deleteVersions);\n }}\n description=\"\"\n />\n \n )}\n {canBypass && (deleteVersions || selectedVersion !== \"\") && (\n \n \n {\n setBypassGovernance(!bypassGovernance);\n }}\n description=\"\"\n />\n \n \n )}\n {deleteVersions && (\n \n \n This will remove the object as well as all of its versions,{\" \"}\n
\n This action is irreversible.\n \n
\n Are you sure you want to continue?\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 { Button, Grid, Switch } from \"mds\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\n\nimport { setModalErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\nimport { BucketObject, ObjectLegalHoldStatus } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\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: BucketObject;\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.buckets\n .putObjectLegalHold(\n bucketName,\n {\n prefix: encodeURLString(objectName),\n version_id: versionId || \"\",\n },\n {\n status: legalHoldEnabled\n ? ObjectLegalHoldStatus.Enabled\n : ObjectLegalHoldStatus.Disabled,\n },\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.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","// 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 { withStyles } from \"@mui/styles\";\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 { safeDecodeURIComponent } from \"../../../../../../common/utils\";\n\ninterface IObjectMetadata {\n metaData: any;\n classes?: any;\n linear?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n titleItem: {\n width: \"35%\",\n },\n ...spacingUtils,\n ...detailsPanel,\n });\n\nconst itemRendererFn = (element: any) => {\n return Array.isArray(element)\n ? element.map(safeDecodeURIComponent).join(\", \")\n : safeDecodeURIComponent(element);\n};\n\nconst ObjectMetaData = ({\n metaData,\n classes,\n linear = false,\n}: IObjectMetadata) => {\n const metaKeys = Object.keys(metaData);\n\n if (linear) {\n return (\n \n {metaKeys.map((element: string, index: number) => {\n const renderItem = itemRendererFn(metaData[element]);\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 = itemRendererFn(metaData[element]);\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","import React from \"react\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport { replaceUnicodeChar } from \"../../../../../../common/utils\";\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: \"pre\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n },\n });\n\nconst IconWithLabel = ({ classes, icon, strings }: IIconWithLabel) => {\n return (\n
\n {icon}\n \n {replaceUnicodeChar(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 {\n FileBookIcon,\n FileCodeIcon,\n FileConfigIcon,\n FileDbIcon,\n FileFontIcon,\n FileImageIcon,\n FileLockIcon,\n FileMissingIcon,\n FileMusicIcon,\n FileNonType,\n FilePdfIcon,\n FilePptIcon,\n FileTxtIcon,\n FileVideoIcon,\n FileXlsIcon,\n FileZipIcon,\n FolderBrowserIcon,\n} from \"mds\";\nimport IconWithLabel from \"./IconWithLabel\";\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: [\"doc\", \"docx\", \"txt\", \"rtf\"],\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 { Box, Grid } from \"@mui/material\";\nimport {\n AddNewTagIcon,\n Button,\n DisabledIcon,\n EditTagIcon,\n InputBox,\n SectionTitle,\n} from \"mds\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\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\";\nimport { BucketObject } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { encodeURLString } from \"common/utils\";\nimport { useSelector } from \"react-redux\";\n\ninterface ITagModal {\n modalOpen: boolean;\n bucketName: string;\n actualInfo: BucketObject;\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\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.buckets\n .putObjectTags(\n bucketName,\n { prefix: selectedObject, version_id: verID },\n { tags: newTagList },\n )\n .then(() => {\n onCloseAndUpdate(true);\n setIsSending(false);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.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.buckets\n .putObjectTags(\n bucketName,\n { prefix: selectedObject, version_id: verID },\n { tags: cleanObject },\n )\n .then(() => {\n onCloseAndUpdate(true);\n setIsSending(false);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.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 {\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 } separator={false}>\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 {\n Button,\n InspectMenuIcon,\n PasswordKeyIcon,\n Switch,\n Grid,\n Box,\n} from \"mds\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n decodeURLString,\n deleteCookie,\n encodeURLString,\n getCookieValue,\n performDownload,\n} from \"../../../../../../common/utils\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\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 { 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) 2023 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 { encodeURLString, getClientOS } from \"../../../common/utils\";\nimport { makeid, storeCallForObjectWithID } from \"./transferManager\";\nimport { download } from \"../Buckets/ListBuckets/Objects/utils\";\nimport {\n cancelObjectInList,\n completeObject,\n failObject,\n setLongFileOpen,\n setNewObject,\n updateProgress,\n} from \"./objectBrowserSlice\";\nimport { AppDispatch } from \"../../../store\";\nimport { setSnackBarMessage } from \"../../../systemSlice\";\nimport { BucketObject } from \"api/consoleApi\";\n\nexport const downloadObject = (\n dispatch: AppDispatch,\n bucketName: string,\n internalPaths: string,\n object: BucketObject,\n) => {\n const identityDownload = encodeURLString(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`,\n );\n\n const isWinOs = getClientOS().toLowerCase().includes(\"win\");\n\n if ((object.name?.length || 0) > 200 && isWinOs) {\n dispatch(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 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 dispatch(\n setSnackBarMessage(\n \"File download will be handled directly by the browser.\",\n ),\n );\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","// 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, EditIcon } from \"mds\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport {\n containerForHeader,\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { useAppDispatch } from \"../../../store\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport { downloadObject } from \"./utils\";\nimport { BucketObject } from \"api/consoleApi\";\n\ninterface IRenameLongFilename {\n open: boolean;\n bucketName: string;\n internalPaths: string;\n currentItem: string;\n actualInfo: BucketObject;\n closeModal: () => void;\n}\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...modalStyleUtils,\n ...formFieldStyles,\n ...spacingUtils,\n ...containerForHeader,\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 downloadObject(dispatch, bucketName, internalPaths, actualInfo);\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 {\n ActionsList,\n Button,\n DeleteIcon,\n DownloadIcon,\n InspectMenuIcon,\n LegalHoldIcon,\n Loader,\n MetadataIcon,\n ObjectInfoIcon,\n PreviewIcon,\n RetentionIcon,\n ShareIcon,\n SimpleHeader,\n TagsIcon,\n VersionsIcon,\n} from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n actionsTray,\n detailsPanel,\n spacingUtils,\n textStyleUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { AllowedPreviews, previewObjectType } from \"../utils\";\n\nimport {\n decodeURLString,\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 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 { displayFileIconName } from \"./utils\";\nimport TagsModal from \"../ObjectDetails/TagsModal\";\nimport InspectObject from \"./InspectObject\";\nimport { selDistSet } from \"../../../../../../systemSlice\";\nimport {\n setLoadingObjectInfo,\n setLoadingVersions,\n setSelectedVersion,\n setVersionsModeEnabled,\n} from \"../../../../ObjectBrowser/objectBrowserSlice\";\nimport RenameLongFileName from \"../../../../ObjectBrowser/RenameLongFilename\";\nimport TooltipWrapper from \"../../../../Common/TooltipWrapper/TooltipWrapper\";\nimport { downloadObject } from \"../../../../ObjectBrowser/utils\";\nimport { BucketObject, BucketVersioningResponse } from \"api/consoleApi\";\nimport { api } from \"api\";\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 capitalizeFirst: {\n textTransform: \"capitalize\",\n },\n\n ...actionsTray,\n ...spacingUtils,\n ...textStyleUtils,\n ...detailsPanel,\n });\n\nconst emptyFile: BucketObject = {\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: undefined,\n};\n\ninterface IObjectDetailPanelProps {\n classes: any;\n internalPaths: string;\n bucketName: string;\n versioningInfo: BucketVersioningResponse;\n locking: boolean | undefined;\n onClosePanel: (hardRefresh: boolean) => void;\n}\n\nconst ObjectDetailPanel = ({\n classes,\n internalPaths,\n bucketName,\n versioningInfo,\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 const [metaData, setMetaData] = useState(null);\n const [loadMetadata, setLoadingMetadata] = 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 && actualInfo.name) {\n objectNameArray = actualInfo.name.split(\"/\");\n }\n\n useEffect(() => {\n if (distributedSetup && allInfoElements && allInfoElements.length >= 1) {\n let infoElement =\n allInfoElements.find((el: BucketObject) => el.is_latest) || emptyFile;\n\n if (selectedVersion !== \"\") {\n infoElement =\n allInfoElements.find(\n (el: BucketObject) => el.version_id === selectedVersion,\n ) || emptyFile;\n }\n\n if (!infoElement.is_delete_marker) {\n setLoadingMetadata(true);\n }\n\n setActualInfo(infoElement);\n }\n }, [selectedVersion, distributedSetup, allInfoElements]);\n\n useEffect(() => {\n if (loadingObjectInfo && internalPaths !== \"\") {\n api.buckets\n .listObjects(bucketName, {\n prefix: internalPaths,\n with_versions: distributedSetup,\n })\n .then((res) => {\n const result: BucketObject[] = res.data.objects || [];\n if (distributedSetup) {\n setAllInfoElements(result);\n setVersions(result);\n\n const tVersionSize = result.reduce(\n (acc: number, currValue: BucketObject): number => {\n if (currValue?.size) {\n return acc + currValue.size;\n }\n return acc;\n },\n 0,\n );\n\n setTotalVersionsSize(tVersionSize);\n } else {\n const resInfo = result[0];\n\n setActualInfo(resInfo);\n setVersions([]);\n\n if (!resInfo.is_delete_marker) {\n setLoadingMetadata(true);\n }\n }\n\n dispatch(setLoadingObjectInfo(false));\n })\n .catch((err) => {\n console.error(\"Error loading object details\", err.error);\n dispatch(setLoadingObjectInfo(false));\n });\n }\n }, [\n loadingObjectInfo,\n bucketName,\n internalPaths,\n dispatch,\n distributedSetup,\n selectedVersion,\n ]);\n\n useEffect(() => {\n if (loadMetadata && internalPaths !== \"\") {\n api.buckets\n .getObjectMetadata(bucketName, {\n prefix: internalPaths,\n })\n .then((res) => {\n let metadata = get(res.data, \"objectMetadata\", {});\n\n setMetaData(metadata);\n setLoadingMetadata(false);\n })\n .catch((err) => {\n console.error(\"Error Getting Metadata Status: \", err.detailedError);\n setLoadingMetadata(false);\n });\n }\n }, [bucketName, internalPaths, loadMetadata]);\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 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 IAM_SCOPES.S3_PUT_ACTIONS,\n ]);\n const canSetTags = hasPermission(objectResources, [\n IAM_SCOPES.S3_PUT_OBJECT_TAGGING,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ]);\n\n const canChangeRetention = hasPermission(\n objectResources,\n [\n IAM_SCOPES.S3_GET_OBJECT_RETENTION,\n IAM_SCOPES.S3_PUT_OBJECT_RETENTION,\n IAM_SCOPES.S3_GET_ACTIONS,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ],\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 IAM_SCOPES.S3_GET_ACTIONS,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ]);\n const canGetObject = hasPermission(objectResources, [\n IAM_SCOPES.S3_GET_OBJECT,\n IAM_SCOPES.S3_GET_ACTIONS,\n ]);\n const canDelete = hasPermission(\n [bucketName, currentItem, [bucketName, actualInfo.name].join(\"/\")],\n [IAM_SCOPES.S3_DELETE_OBJECT],\n );\n\n let objectType: AllowedPreviews = previewObjectType(metaData, currentItem);\n\n const multiActionButtons = [\n {\n action: () => {\n downloadObject(dispatch, bucketName, internalPaths, 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, IAM_SCOPES.S3_GET_ACTIONS],\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, IAM_SCOPES.S3_GET_ACTIONS],\n \"share this object\",\n ),\n },\n {\n action: () => {\n setPreviewOpen(true);\n },\n label: \"Preview\",\n disabled:\n !!actualInfo.is_delete_marker ||\n (objectType === \"none\" && !canGetObject),\n icon: ,\n tooltip: canGetObject\n ? \"Preview this File\"\n : permissionTooltipHelper(\n [IAM_SCOPES.S3_GET_OBJECT, IAM_SCOPES.S3_GET_ACTIONS],\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, IAM_SCOPES.S3_PUT_ACTIONS],\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 IAM_SCOPES.S3_GET_ACTIONS,\n IAM_SCOPES.S3_PUT_ACTIONS,\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 IAM_SCOPES.S3_GET_ACTIONS,\n IAM_SCOPES.S3_PUT_ACTIONS,\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 IAM_SCOPES.S3_GET_ACTIONS,\n IAM_SCOPES.S3_PUT_ACTIONS,\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 sx={{\n width: \"calc(100% - 44px)\",\n margin: \"8px 0\",\n }}\n label={`Delete${selectedVersion !== \"\" ? \" version\" : \"\"}`}\n />\n \n \n \n } label={\"Object Info\"} />\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 {!actualInfo.is_delete_marker && (\n \n } />\n \n {actualInfo && metaData ? (\n \n ) : null}\n \n \n )}\n
\n )}\n
\n );\n};\n\nexport default withStyles(styles)(ObjectDetailPanel);\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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { modalBasic } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { Box, RecoverIcon } from \"mds\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\nimport { restoreLocalObjectList } from \"../../../../ObjectBrowser/objectBrowserSlice\";\nimport { BucketObject } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\n\ninterface IRestoreFileVersion {\n classes: any;\n restoreOpen: boolean;\n bucketName: string;\n versionToRestore: BucketObject;\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 versionToRestore,\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.buckets\n .putObjectRestore(bucketName, {\n prefix: encodeURLString(objectPath),\n version_id: versionToRestore.version_id || \"\",\n })\n .then(() => {\n setRestoreLoading(false);\n onCloseAndUpdate(true);\n dispatch(\n restoreLocalObjectList({\n prefix: objectPath,\n objectInfo: versionToRestore,\n }),\n );\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.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 {versionToRestore.version_id}?\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 { DateTime } from \"luxon\";\nimport styled from \"styled-components\";\nimport get from \"lodash/get\";\nimport { displayFileIconName } from \"../ListObjects/utils\";\nimport {\n DownloadIcon,\n PreviewIcon,\n RecoverIcon,\n ShareIcon,\n IconButton,\n Tooltip,\n Grid,\n} from \"mds\";\nimport { niceBytes } from \"../../../../../../common/utils\";\nimport SpecificVersionPill from \"./SpecificVersionPill\";\nimport CheckboxWrapper from \"../../../../Common/FormComponents/CheckboxWrapper/CheckboxWrapper\";\nimport { BucketObject } from \"api/consoleApi\";\n\ninterface IFileVersionItem {\n fileName: string;\n versionInfo: BucketObject;\n index: number;\n isSelected?: boolean;\n checkable: boolean;\n isChecked: boolean;\n onCheck: (versionID: string) => void;\n onShare: (versionInfo: BucketObject) => void;\n onDownload: (versionInfo: BucketObject) => void;\n onRestore: (versionInfo: BucketObject) => void;\n onPreview: (versionInfo: BucketObject) => void;\n globalClick: (versionInfo: BucketObject) => void;\n key: any;\n style: any;\n}\n\nconst FileVersionStyled = styled.div(({ theme }) => {\n return {\n \"&:before\": {\n content: \"' '\",\n display: \"block\",\n position: \"absolute\",\n width: \"2px\",\n height: \"calc(100% + 2px)\",\n backgroundColor: get(theme, \"borderColor\", \"#F8F8F8\"),\n left: \"24px\",\n },\n \"& .mainFileVersionItem\": {\n borderBottom: `${get(theme, \"borderColor\", \"#F8F8F8\")} 1px solid`,\n padding: \"1rem 0\",\n margin: \"0 0.5rem 0 2.5rem\",\n cursor: \"pointer\",\n \"&.deleted\": {\n color: \"#868686\",\n },\n },\n \"& .intermediateLayer\": {\n margin: \"0 1.5rem 0 1.5rem\",\n \"&:hover, &.selected\": {\n backgroundColor: get(theme, \"boxBackground\", \"#F8F8F8\"),\n \"& > div\": {\n borderBottomColor: get(theme, \"boxBackground\", \"#F8F8F8\"),\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 },\n \"& .buttonContainer\": {\n textAlign: \"right\",\n \"& button\": {\n marginLeft: \"1.5rem\",\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 },\n \"@media (max-width: 600px)\": {\n \"& .buttonContainer\": {\n \"& button\": {\n marginLeft: \"5px\",\n },\n },\n },\n \"@media (max-width: 799px)\": {\n \"&:before\": {\n display: \"none\",\n },\n \"& .mainFileVersionItem\": {\n padding: \"5px 0px\",\n margin: 0,\n },\n \"& .intermediateLayer\": {\n margin: 0,\n \"&:hover, &.selected\": {\n backgroundColor: \"transparent\",\n \"& > div\": {\n borderBottomColor: get(theme, \"boxBackground\", \"#F8F8F8\"),\n },\n },\n },\n \"& .versionContainer\": {\n fontSize: 14,\n \"& svg.min-icon\": {\n display: \"none\",\n },\n },\n \"& .versionData\": {\n textOverflow: \"ellipsis\",\n maxWidth: \"95%\",\n overflow: \"hidden\",\n whiteSpace: \"nowrap\",\n },\n \"& .collapsableInfo\": {\n display: \"flex\",\n flexDirection: \"column\",\n },\n \"& .versionItem\": {\n display: \"none\",\n },\n },\n };\n});\n\nconst FileVersionItem = ({\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 let lastModified = DateTime.now();\n\n if (versionInfo.last_modified) {\n lastModified = DateTime.fromISO(versionInfo.last_modified);\n }\n\n return (\n \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 {lastModified.toFormat(\"ccc, LLL dd yyyy HH:mm:ss (ZZZZ)\")}\n \n \n Size: {niceBytes(`${versionInfo.size || \"0\"}`)}\n \n \n \n \n \n \n );\n};\n\nexport default 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, { Fragment, useEffect, useState } from \"react\";\n\nimport { decodeURLString } from \"../../../../../../common/utils\";\nimport { ConfirmDeleteIcon, Switch, Grid, InputBox } from \"mds\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { hasPermission } from \"../../../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { useSelector } from \"react-redux\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\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 const [bypassGovernance, setBypassGovernance] = useState(false);\n\n const retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\n const canBypass =\n hasPermission(\n [selectedBucket],\n [IAM_SCOPES.S3_BYPASS_GOVERNANCE_RETENTION],\n ) && retentionConfig?.mode === \"governance\";\n\n useEffect(() => {\n if (deleteLoading) {\n api.buckets\n .deleteObject(selectedBucket, {\n path: selectedObject,\n non_current_versions: true,\n bypass: bypassGovernance,\n })\n .then(() => {\n closeDeleteModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n setDeleteLoading(false);\n });\n }\n }, [\n deleteLoading,\n closeDeleteModalAndRefresh,\n dispatch,\n selectedObject,\n selectedBucket,\n bypassGovernance,\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 {canBypass && (\n \n \n {\n setBypassGovernance(!bypassGovernance);\n }}\n description=\"\"\n />\n \n \n )}\n
\n To continue please type YES, PROCEED in the box.\n
\n
\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, { Fragment, useEffect, useState } from \"react\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon, Switch } from \"mds\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { hasPermission } from \"../../../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { useSelector } from \"react-redux\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\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 const [bypassGovernance, setBypassGovernance] = useState(false);\n\n const retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\n const canBypass =\n hasPermission(\n [selectedBucket],\n [IAM_SCOPES.S3_BYPASS_GOVERNANCE_RETENTION],\n ) && retentionConfig?.mode === \"governance\";\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.buckets\n .deleteMultipleObjects(selectedBucket, selectedObjectsRequest, {\n all_versions: false,\n bypass: bypassGovernance,\n })\n .then(() => {\n setDeleteLoading(false);\n closeDeleteModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n setDeleteLoading(false);\n });\n }\n }\n }, [\n deleteLoading,\n closeDeleteModalAndRefresh,\n selectedBucket,\n selectedObject,\n selectedVersions,\n bypassGovernance,\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 {canBypass && (\n \n \n {\n setBypassGovernance(!bypassGovernance);\n }}\n description=\"\"\n />\n \n \n )}\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 } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport ShareFile from \"./ShareFile\";\nimport {\n actionsTray,\n containerForHeader,\n objectBrowserCommon,\n objectBrowserExtras,\n spacingUtils,\n tableStyles,\n textStyleUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nimport { decodeURLString, niceBytesInt } from \"../../../../../../common/utils\";\nimport RestoreFileVersion from \"./RestoreFileVersion\";\n\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport {\n Button,\n DeleteIcon,\n DeleteNonCurrentIcon,\n Select,\n SelectMultipleIcon,\n VersionsIcon,\n ScreenTitle,\n} from \"mds\";\nimport FileVersionItem from \"./FileVersionItem\";\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 setLoadingObjectInfo,\n setLoadingVersions,\n setSelectedVersion,\n} from \"../../../../ObjectBrowser/objectBrowserSlice\";\nimport { List, ListRowProps } from \"react-virtualized\";\nimport TooltipWrapper from \"../../../../Common/TooltipWrapper/TooltipWrapper\";\nimport { downloadObject } from \"../../../../ObjectBrowser/utils\";\nimport { BucketObject } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\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 \"@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 ...actionsTray,\n ...tableStyles,\n ...spacingUtils,\n ...textStyleUtils,\n ...objectBrowserCommon,\n ...objectBrowserExtras,\n ...containerForHeader,\n });\n\ninterface IVersionsNavigatorProps {\n classes: any;\n internalPaths: string;\n bucketName: string;\n}\n\nconst emptyFile: BucketObject = {\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: undefined,\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 null,\n );\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 && actualInfo.name) {\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.buckets\n .listObjects(bucketName, {\n prefix: internalPaths,\n with_versions: distributedSetup,\n })\n .then((res) => {\n const result = get(res.data, \"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: BucketObject) => item.name === decodedInternalPaths,\n );\n\n if (distributedSetup) {\n setActualInfo(\n filteredPrefixes.find((el: BucketObject) => 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) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\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 onShareItem = (item: BucketObject) => {\n setObjectToShare(item);\n shareObject();\n };\n\n const onPreviewItem = (item: BucketObject) => {\n setObjectToShare(item);\n setPreviewOpen(true);\n };\n\n const onRestoreItem = (item: BucketObject) => {\n setRestoreVersion(item);\n setRestoreVersionOpen(true);\n };\n\n const onDownloadItem = (item: BucketObject) => {\n downloadObject(dispatch, bucketName, internalPaths, item);\n };\n\n const onGlobalClick = (item: BucketObject) => {\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(null);\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: BucketObject) => {\n if (currValue.size) {\n return acc + 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 && restoreVersion && (\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 objectNameArray.length > 0\n ? objectNameArray[objectNameArray.length - 1]\n : actualInfo.name\n } Versions`}\n subTitle={\n \n \n \n {versions.length} Version\n {versions.length === 1 ? \"\" : \"s\"}   \n \n \n \n {niceBytesInt(totalSpace)}\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 {\n setSortValue(newValue);\n }}\n noLabelMinWidth\n />\n \n }\n bottomBorder={false}\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 { DateTime } from \"luxon\";\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\n const currTime = DateTime.now();\n const objectTime = DateTime.fromISO(object.last_modified);\n\n const isToday =\n currTime.hasSame(objectTime, \"day\") &&\n currTime.hasSame(objectTime, \"month\") &&\n currTime.hasSame(objectTime, \"year\");\n\n if (isToday) {\n return `Today, ${objectTime.toFormat(\"HH:mm\")}`;\n }\n\n return objectTime.toFormat(\"ccc, LLL dd yyyy HH:mm (ZZZZ)\");\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) 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 { listModeColumns, rewindModeColumns } from \"./ListObjectsHelpers\";\nimport { ItemActions } from \"../../../../Common/TableWrapper/TableWrapper\";\nimport React, { useState } from \"react\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { selFeatures } from \"../../../../consoleSlice\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport {\n setIsOpeningOD,\n setLoadingObjects,\n setLoadingVersions,\n setObjectDetailsView,\n setSelectedObjects,\n setSelectedObjectView,\n} from \"../../../../ObjectBrowser/objectBrowserSlice\";\nimport { useNavigate, useParams } from \"react-router-dom\";\nimport get from \"lodash/get\";\nimport { sortListObjects } from \"../utils\";\nimport { BucketObjectItem } from \"./types\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../../../../common/SecureComponent/permissions\";\nimport { hasPermission } from \"../../../../../../common/SecureComponent\";\nimport { downloadObject } from \"../../../../ObjectBrowser/utils\";\nimport { DataTable } from \"mds\";\nimport { BucketObject } from \"api/consoleApi\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n browsePaper: {\n border: 0,\n \"@media (max-width: 800px)\": {\n width: 800,\n },\n },\n parentWrapper: {\n position: \"relative\",\n height: \"calc(100% - 60px)\",\n \"@media (max-width: 800px)\": {\n overflowX: \"auto\",\n },\n \"@media (max-width: 1060px)\": {\n height: \"calc(100% - 115px)\",\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);\n\ninterface IListObjectTable {\n internalPaths: string | null;\n}\n\nconst ListObjectsTable = ({ internalPaths }: IListObjectTable) => {\n const classes = useStyles();\n const dispatch = useAppDispatch();\n const params = useParams();\n const navigate = useNavigate();\n\n const [sortDirection, setSortDirection] = useState<\n \"ASC\" | \"DESC\" | undefined\n >(\"ASC\");\n const [currentSortField, setCurrentSortField] = useState(\"name\");\n\n const bucketName = params.bucketName || \"\";\n\n const detailsOpen = useSelector(\n (state: AppState) => state.objectBrowser.objectDetailsOpen,\n );\n\n const loadingObjects = useSelector(\n (state: AppState) => state.objectBrowser.loadingObjects,\n );\n\n const features = useSelector(selFeatures);\n const obOnly = !!features?.includes(\"object-browser-only\");\n\n const rewindEnabled = useSelector(\n (state: AppState) => state.objectBrowser.rewind.rewindEnabled,\n );\n const records = useSelector((state: AppState) => state.objectBrowser.records);\n const searchObjects = useSelector(\n (state: AppState) => state.objectBrowser.searchObjects,\n );\n const selectedObjects = useSelector(\n (state: AppState) => state.objectBrowser.selectedObjects,\n );\n const connectionError = useSelector(\n (state: AppState) => state.objectBrowser.connectionError,\n );\n const anonymousMode = useSelector(\n (state: AppState) => state.system.anonymousMode,\n );\n\n const displayListObjects = hasPermission(bucketName, [\n IAM_SCOPES.S3_LIST_BUCKET,\n IAM_SCOPES.S3_ALL_LIST_BUCKET,\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 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 openPath = (object: BucketObject) => {\n const idElement = object.name || \"\";\n const newPath = `/browser/${bucketName}${\n idElement ? `/${encodeURLString(idElement)}` : ``\n }`;\n\n // for anonymous start download\n if (\n anonymousMode &&\n internalPaths !== null &&\n !object.name?.endsWith(\"/\")\n ) {\n downloadObject(\n dispatch,\n bucketName,\n `${encodeURLString(idElement)}`,\n object,\n );\n return;\n }\n dispatch(setSelectedObjects([]));\n\n navigate(newPath);\n\n if (!anonymousMode) {\n dispatch(setObjectDetailsView(true));\n dispatch(setLoadingVersions(true));\n dispatch(setIsOpeningOD(true));\n }\n dispatch(\n setSelectedObjectView(\n `${idElement ? `${encodeURLString(idElement)}` : ``}`,\n ),\n );\n };\n const tableActions: ItemActions[] = [\n {\n type: \"view\",\n label: \"View\",\n onClick: openPath,\n sendOnlyId: false,\n },\n ];\n\n const sortChange = (sortData: any) => {\n const newSortDirection = get(sortData, \"sortDirection\", \"DESC\");\n setCurrentSortField(sortData.sortBy);\n setSortDirection(newSortDirection);\n dispatch(setLoadingObjects(true));\n };\n\n const selectAllItems = () => {\n dispatch(setSelectedObjectView(null));\n\n if (selectedObjects.length === payload.length) {\n dispatch(setSelectedObjects([]));\n return;\n }\n\n const elements = payload.map((item) => item.name);\n dispatch(setSelectedObjects(elements));\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 dispatch(setSelectedObjects(elements));\n dispatch(setSelectedObjectView(null));\n\n return elements;\n };\n\n let errorMessage =\n !displayListObjects && !anonymousMode\n ? permissionTooltipHelper(\n [IAM_SCOPES.S3_LIST_BUCKET, IAM_SCOPES.S3_ALL_LIST_BUCKET],\n \"view Objects in this bucket\",\n )\n : `This location is empty${\n !rewindEnabled ? \", please try uploading a new file\" : \"\"\n }`;\n\n if (connectionError) {\n errorMessage =\n \"Objects List unavailable. Please review your WebSockets configuration and try again\";\n }\n\n let customPaperHeight = \"calc(100vh - 290px)\";\n\n if (obOnly) {\n customPaperHeight = \"calc(100vh - 315px)\";\n }\n\n return (\n {\n if (payload[index]?.delete_flag) {\n return \"deleted\";\n }\n\n return \"\";\n }}\n parentClassName={classes.parentWrapper}\n sx={{\n minHeight: detailsOpen ? \"100%\" : \"initial\",\n }}\n noBackground\n />\n );\n};\nexport default ListObjectsTable;\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 { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { AppState } from \"../../../store\";\nimport { encodeURLString, getClientOS } from \"../../../common/utils\";\nimport { BucketObjectItem } from \"../Buckets/ListBuckets/Objects/ListObjects/types\";\nimport { makeid, storeCallForObjectWithID } from \"./transferManager\";\nimport { download } from \"../Buckets/ListBuckets/Objects/utils\";\nimport {\n cancelObjectInList,\n completeObject,\n failObject,\n setAnonymousAccessOpen,\n setDownloadRenameModal,\n setNewObject,\n setPreviewOpen,\n setSelectedPreview,\n setShareFileModalOpen,\n updateProgress,\n} from \"./objectBrowserSlice\";\nimport { setSnackBarMessage } from \"../../../systemSlice\";\n\nexport const downloadSelected = createAsyncThunk(\n \"objectBrowser/downloadSelected\",\n async (bucketName: string, { getState, rejectWithValue, dispatch }) => {\n const state = getState() as AppState;\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 dispatch(\n setSnackBarMessage(\n \"File download will be handled directly by the browser.\",\n ),\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 if (state.objectBrowser.selectedObjects.length !== 0) {\n let itemsToDownload: BucketObjectItem[] = [];\n\n const filterFunction = (currValue: BucketObjectItem) =>\n state.objectBrowser.selectedObjects.includes(currValue.name);\n\n itemsToDownload = state.objectBrowser.records.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 dispatch(setDownloadRenameModal(itemsToDownload[0]));\n return;\n }\n }\n\n itemsToDownload.forEach((filteredItem) => {\n downloadObject(filteredItem);\n });\n }\n },\n);\n\nexport const openPreview = createAsyncThunk(\n \"objectBrowser/openPreview\",\n async (_, { getState, rejectWithValue, dispatch }) => {\n const state = getState() as AppState;\n\n if (state.objectBrowser.selectedObjects.length === 1) {\n let fileObject: BucketObjectItem | undefined;\n\n const findFunction = (currValue: BucketObjectItem) =>\n state.objectBrowser.selectedObjects.includes(currValue.name);\n\n fileObject = state.objectBrowser.records.find(findFunction);\n\n if (fileObject) {\n dispatch(setSelectedPreview(fileObject));\n dispatch(setPreviewOpen(true));\n }\n }\n },\n);\n\nexport const openShare = createAsyncThunk(\n \"objectBrowser/openShare\",\n async (_, { getState, rejectWithValue, dispatch }) => {\n const state = getState() as AppState;\n\n if (state.objectBrowser.selectedObjects.length === 1) {\n let fileObject: BucketObjectItem | undefined;\n\n const findFunction = (currValue: BucketObjectItem) =>\n state.objectBrowser.selectedObjects.includes(currValue.name);\n\n fileObject = state.objectBrowser.records.find(findFunction);\n\n if (fileObject) {\n dispatch(setSelectedPreview(fileObject));\n dispatch(setShareFileModalOpen(true));\n }\n }\n },\n);\n\nexport const openAnonymousAccess = createAsyncThunk(\n \"objectBrowser/openAnonymousAccess\",\n async (_, { getState, dispatch }) => {\n const state = getState() as AppState;\n\n if (\n state.objectBrowser.selectedObjects.length === 1 &&\n state.objectBrowser.selectedObjects[0].endsWith(\"/\")\n ) {\n dispatch(setAnonymousAccessOpen(true));\n }\n },\n);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 { setSearchObjects } from \"./objectBrowserSlice\";\nimport SearchBox from \"../Common/SearchBox\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { useSelector } from \"react-redux\";\n\nconst FilterObjectsSB = () => {\n const dispatch = useAppDispatch();\n\n const searchObjects = useSelector(\n (state: AppState) => state.objectBrowser.searchObjects,\n );\n return (\n {\n dispatch(setSearchObjects(value));\n }}\n value={searchObjects}\n />\n );\n};\nexport default FilterObjectsSB;\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 {\n AccessRuleIcon,\n ActionsList,\n BucketsIcon,\n Button,\n DeleteIcon,\n DownloadIcon,\n HistoryIcon,\n PageLayout,\n PreviewIcon,\n RefreshIcon,\n ScreenTitle,\n ShareIcon,\n} from \"mds\";\nimport { DateTime } from \"luxon\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport get from \"lodash/get\";\nimport {\n decodeURLString,\n encodeURLString,\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 } from \"@mui/material\";\nimport BrowserBreadcrumbs from \"../../../../ObjectBrowser/BrowserBreadcrumbs\";\nimport { AllowedPreviews, previewObjectType } from \"../utils\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\n\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../../../../common/SecureComponent/permissions\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../../../common/SecureComponent\";\nimport withSuspense from \"../../../../Common/Components/withSuspense\";\nimport UploadFilesButton from \"../../UploadFilesButton\";\nimport DetailsListPanel from \"./DetailsListPanel\";\nimport ObjectDetailPanel from \"./ObjectDetailPanel\";\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 resetMessages,\n resetRewind,\n setAnonymousAccessOpen,\n setDownloadRenameModal,\n setLoadingObjects,\n setLoadingRecords,\n setLoadingVersions,\n setNewObject,\n setObjectDetailsView,\n setPreviewOpen,\n setRetentionConfig,\n setSearchObjects,\n setSelectedBucket,\n setSelectedObjects,\n setSelectedObjectView,\n setSelectedPreview,\n setShareFileModalOpen,\n setShowDeletedObjects,\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 TooltipWrapper from \"../../../../Common/TooltipWrapper/TooltipWrapper\";\nimport ListObjectsTable from \"./ListObjectsTable\";\nimport {\n downloadSelected,\n openAnonymousAccess,\n openPreview,\n openShare,\n} from \"../../../../ObjectBrowser/objectBrowserThunks\";\n\nimport FilterObjectsSB from \"../../../../ObjectBrowser/FilterObjectsSB\";\nimport AddAccessRule from \"../../../BucketDetails/AddAccessRule\";\nimport { isVersionedMode } from \"../../../../../../utils/validationFunctions\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { BucketQuota } from \"api/consoleApi\";\nimport {\n extractFileExtn,\n getPolicyAllowedFileExtensions,\n getSessionGrantsWildCard,\n} from \"../../UploadPermissionUtils\";\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 badgeOverlap: {\n \"& .MuiBadge-badge\": {\n top: 10,\n right: 1,\n width: 5,\n height: 5,\n minWidth: 5,\n },\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 5px\",\n },\n labelStyle: {\n color: \"#969FA8\",\n fontSize: \"12px\",\n },\n breadcrumbsContainer: {\n padding: \"12px 14px 5px\",\n },\n fullContainer: {\n width: \"100%\",\n position: \"relative\",\n \"&.detailsOpen\": {\n \"@media (max-width: 799px)\": {\n display: \"none\",\n },\n },\n },\n hideListOnSmall: {\n \"@media (max-width: 799px)\": {\n display: \"none\",\n },\n },\n actionsSection: {\n display: \"flex\",\n justifyContent: \"space-between\",\n width: \"100%\",\n },\n ...objectBrowserExtras,\n ...objectBrowserCommon,\n ...containerForHeader,\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\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 bucketToRewind = useSelector(\n (state: AppState) => state.objectBrowser.rewind.bucketToRewind,\n );\n const versionsMode = useSelector(\n (state: AppState) => state.objectBrowser.versionsMode,\n );\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 loadingObjects = useSelector(\n (state: AppState) => state.objectBrowser.loadingObjects,\n );\n const simplePath = useSelector(\n (state: AppState) => state.objectBrowser.simplePath,\n );\n\n const versioningConfig = useSelector(\n (state: AppState) => state.objectBrowser.versionInfo,\n );\n const lockingEnabled = useSelector(\n (state: AppState) => state.objectBrowser.lockingEnabled,\n );\n const downloadRenameModal = useSelector(\n (state: AppState) => state.objectBrowser.downloadRenameModal,\n );\n const selectedPreview = useSelector(\n (state: AppState) => state.objectBrowser.selectedPreview,\n );\n const shareFileModalOpen = useSelector(\n (state: AppState) => state.objectBrowser.shareFileModalOpen,\n );\n const previewOpen = useSelector(\n (state: AppState) => state.objectBrowser.previewOpen,\n );\n const selectedBucket = useSelector(\n (state: AppState) => state.objectBrowser.selectedBucket,\n );\n const anonymousMode = useSelector(\n (state: AppState) => state.system.anonymousMode,\n );\n const anonymousAccessOpen = useSelector(\n (state: AppState) => state.objectBrowser.anonymousAccessOpen,\n );\n\n const loadingBucket = useSelector(selBucketDetailsLoading);\n const bucketInfo = useSelector(selBucketDetailsInfo);\n\n const [deleteMultipleOpen, setDeleteMultipleOpen] = useState(false);\n const [rewindSelect, setRewindSelect] = useState(false);\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\n const [metaData, setMetaData] = useState(null);\n const [isMetaDataLoaded, setIsMetaDataLoaded] = useState(false);\n\n const isVersioningApplied = isVersionedMode(versioningConfig.status);\n const bucketName = params.bucketName || \"\";\n\n const pathSegment = location.pathname.split(`/browser/${bucketName}/`);\n const internalPaths = pathSegment.length === 2 ? pathSegment[1] : \"\";\n\n const pageTitle = decodeURLString(internalPaths);\n const currentPath = pageTitle.split(\"/\").filter((i: string) => i !== \"\");\n\n let uploadPath = [bucketName];\n if (currentPath.length > 0) {\n uploadPath = uploadPath.concat(currentPath);\n }\n\n const fileUpload = useRef(null);\n const folderUpload = useRef(null);\n\n const sessionGrants = useSelector((state: AppState) =>\n state.console.session ? state.console.session.permissions || {} : {},\n );\n\n const putObjectPermScopes = [\n IAM_SCOPES.S3_PUT_OBJECT,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ];\n\n const pathAsResourceInPolicy = uploadPath.join(\"/\");\n const allowedFileExtensions = getPolicyAllowedFileExtensions(\n sessionGrants,\n pathAsResourceInPolicy,\n putObjectPermScopes,\n );\n\n const sessionGrantWildCards = getSessionGrantsWildCard(\n sessionGrants,\n pathAsResourceInPolicy,\n putObjectPermScopes,\n );\n\n const canDownload = hasPermission(\n [pathAsResourceInPolicy, ...sessionGrantWildCards],\n [IAM_SCOPES.S3_GET_OBJECT, IAM_SCOPES.S3_GET_ACTIONS],\n );\n const canDelete = hasPermission(\n [pathAsResourceInPolicy, ...sessionGrantWildCards],\n [IAM_SCOPES.S3_DELETE_OBJECT],\n );\n const canUpload =\n hasPermission(\n [pathAsResourceInPolicy, ...sessionGrantWildCards],\n putObjectPermScopes,\n ) || anonymousMode;\n\n const canSetAnonymousAccess = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_POLICY,\n IAM_SCOPES.S3_PUT_BUCKET_POLICY,\n IAM_SCOPES.S3_GET_ACTIONS,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ]);\n\n const selectedObjects = useSelector(\n (state: AppState) => state.objectBrowser.selectedObjects,\n );\n\n const fetchMetadata = useCallback(() => {\n const objectName = selectedObjects[0];\n\n if (!isMetaDataLoaded) {\n const encodedPath = encodeURLString(objectName);\n api.buckets\n .getObjectMetadata(bucketName, {\n prefix: encodedPath,\n })\n .then((res) => {\n let metadata = get(res.data, \"objectMetadata\", {});\n setIsMetaDataLoaded(true);\n setMetaData(metadata);\n })\n .catch((err) => {\n console.error(\n \"Error Getting Metadata Status: \",\n err,\n err?.detailedError,\n );\n setIsMetaDataLoaded(true);\n });\n }\n }, [bucketName, selectedObjects, isMetaDataLoaded]);\n\n useEffect(() => {\n if (bucketName && selectedObjects.length === 1) {\n fetchMetadata();\n }\n }, [bucketName, selectedObjects, fetchMetadata]);\n\n useEffect(() => {\n dispatch(setSearchObjects(\"\"));\n dispatch(setLoadingObjects(true));\n dispatch(setSelectedObjects([]));\n }, [simplePath, dispatch]);\n\n useEffect(() => {\n if (rewindEnabled) {\n if (bucketToRewind !== bucketName) {\n dispatch(resetRewind());\n return;\n }\n }\n }, [rewindEnabled, bucketToRewind, bucketName, dispatch]);\n\n // END OF WS HANDLERS\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 let objectType: AllowedPreviews = previewObjectType(metaData, objectName);\n\n if (objectType !== \"none\" && canDownload) {\n setCanPreviewFile(true);\n } else {\n setCanPreviewFile(false);\n }\n\n if (objectName.endsWith(\"/\") || canDownload) {\n setCanShareFile(true);\n } else {\n setCanShareFile(false);\n }\n } else {\n setCanShareFile(false);\n setCanPreviewFile(false);\n }\n }, [selectedObjects, canDownload, metaData]);\n\n useEffect(() => {\n if (!quota && !anonymousMode) {\n api.buckets\n .getBucketQuota(bucketName)\n .then((res) => {\n let quotaVals = null;\n\n if (res.data.quota) {\n quotaVals = res.data;\n }\n\n setQuota(quotaVals);\n })\n .catch((err) => {\n console.error(\n \"Error Getting Quota Status: \",\n err.error.detailedMessage,\n );\n setQuota(null);\n });\n }\n }, [quota, bucketName, anonymousMode]);\n\n useEffect(() => {\n if (selectedObjects.length > 0) {\n dispatch(setObjectDetailsView(true));\n return;\n }\n\n if (\n selectedObjects.length === 0 &&\n selectedInternalPaths === null &&\n !loadingObjects\n ) {\n dispatch(setObjectDetailsView(false));\n }\n }, [selectedObjects, selectedInternalPaths, dispatch, loadingObjects]);\n\n useEffect(() => {\n if (!iniLoad) {\n dispatch(setBucketDetailsLoad(true));\n setIniLoad(true);\n }\n }, [iniLoad, dispatch, setIniLoad]);\n\n // bucket info\n useEffect(() => {\n if ((loadingObjects || loadingBucket) && !anonymousMode) {\n api.buckets\n .bucketInfo(bucketName)\n .then((res) => {\n dispatch(setBucketDetailsLoad(false));\n dispatch(setBucketInfo(res.data));\n dispatch(setSelectedBucket(bucketName));\n })\n .catch((err) => {\n dispatch(setBucketDetailsLoad(false));\n dispatch(setErrorSnackMessage(errorToHandler(err)));\n });\n }\n }, [bucketName, loadingBucket, dispatch, anonymousMode, loadingObjects]);\n\n // Load retention Config\n\n useEffect(() => {\n if (selectedBucket !== \"\") {\n api.buckets\n .getBucketRetentionConfig(selectedBucket)\n .then((res) => {\n dispatch(setRetentionConfig(res.data));\n })\n .catch(() => {\n dispatch(setRetentionConfig(null));\n });\n }\n }, [selectedBucket, dispatch]);\n\n const closeDeleteMultipleModalAndRefresh = (refresh: boolean) => {\n setDeleteMultipleOpen(false);\n\n if (refresh) {\n dispatch(setSnackBarMessage(`Objects deleted successfully.`));\n dispatch(setSelectedObjects([]));\n dispatch(setLoadingObjects(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 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 if (anonymousMode) {\n xhr.setRequestHeader(\"X-Anonymous\", \"1\");\n }\n // xhr.setRequestHeader(\"X-Anonymous\", \"1\");\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(setLoadingObjects(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 storeFormDataWithID(ID, formData);\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(setLoadingObjects(true));\n dispatch(setSelectedObjects([]));\n });\n };\n\n upload(files, bucketName, pathPrefix, folderPath);\n },\n [bucketName, dispatch, simplePath, anonymousMode],\n );\n\n const onDrop = useCallback(\n (acceptedFiles: any[]) => {\n if (acceptedFiles && acceptedFiles.length > 0 && canUpload) {\n let newFolderPath: string = acceptedFiles[0].path;\n //Should we filter by allowed file extensions if any?.\n let allowedFiles = [];\n if (allowedFileExtensions.length > 0) {\n allowedFiles = acceptedFiles.filter((file) => {\n const fileExtn = extractFileExtn(file.name);\n return allowedFileExtensions.includes(fileExtn);\n });\n } else {\n allowedFiles = acceptedFiles;\n }\n\n if (allowedFiles.length) {\n uploadObject(allowedFiles, newFolderPath);\n console.log(\n `${allowedFiles.length} Allowed Files Processed out of ${acceptedFiles.length}.`,\n pathAsResourceInPolicy,\n ...sessionGrantWildCards,\n );\n\n if (allowedFiles.length !== acceptedFiles.length) {\n dispatch(\n setErrorSnackMessage({\n errorMessage: \"Upload is restricted.\",\n detailedError: permissionTooltipHelper(\n [IAM_SCOPES.S3_PUT_OBJECT, IAM_SCOPES.S3_PUT_ACTIONS],\n \"upload objects to this location\",\n ),\n }),\n );\n }\n } else {\n dispatch(\n setErrorSnackMessage({\n errorMessage: \"Could not process drag and drop.\",\n detailedError: permissionTooltipHelper(\n [IAM_SCOPES.S3_PUT_OBJECT, IAM_SCOPES.S3_PUT_ACTIONS],\n \"upload objects to this location\",\n ),\n }),\n );\n\n console.error(\n \"Could not process drag and drop . upload may be restricted.\",\n pathAsResourceInPolicy,\n ...sessionGrantWildCards,\n );\n }\n }\n if (!canUpload) {\n dispatch(\n setErrorSnackMessage({\n errorMessage: \"Upload not allowed\",\n detailedError: permissionTooltipHelper(\n [IAM_SCOPES.S3_PUT_OBJECT, IAM_SCOPES.S3_PUT_ACTIONS],\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 closeShareModal = () => {\n dispatch(setShareFileModalOpen(false));\n dispatch(setSelectedPreview(null));\n };\n\n const rewindCloseModal = () => {\n setRewindSelect(false);\n };\n\n const closePreviewWindow = () => {\n dispatch(setPreviewOpen(false));\n dispatch(setSelectedPreview(null));\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(`/browser/${bucketName}/${encodeURLString(URLItem)}`);\n }\n\n dispatch(setObjectDetailsView(false));\n dispatch(setSelectedObjects([]));\n\n if (forceRefresh) {\n dispatch(setLoadingObjects(true));\n }\n };\n\n const setDeletedAction = () => {\n dispatch(resetMessages());\n dispatch(setShowDeletedObjects(!showDeleted));\n onClosePanel(true);\n };\n\n const closeRenameModal = () => {\n dispatch(setDownloadRenameModal(null));\n };\n\n const closeAddAccessRule = () => {\n dispatch(setAnonymousAccessOpen(false));\n };\n\n let createdTime = DateTime.now();\n\n if (bucketInfo?.creation_date) {\n createdTime = DateTime.fromISO(bucketInfo.creation_date);\n }\n\n const multiActionButtons = [\n {\n action: () => {\n dispatch(downloadSelected(bucketName));\n },\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, IAM_SCOPES.S3_GET_ACTIONS],\n \"download objects from this bucket\",\n ),\n },\n {\n action: () => {\n dispatch(openShare());\n },\n label: \"Share\",\n disabled: selectedObjects.length !== 1 || !canShareFile,\n icon: ,\n tooltip: canShareFile ? \"Share Selected File\" : \"Sharing unavailable\",\n },\n {\n action: () => {\n dispatch(openPreview());\n },\n label: \"Preview\",\n disabled: selectedObjects.length !== 1 || !canPreviewFile,\n icon: ,\n tooltip: canPreviewFile ? \"Preview Selected File\" : \"Preview unavailable\",\n },\n {\n action: () => {\n dispatch(openAnonymousAccess());\n },\n label: \"Anonymous Access\",\n disabled:\n selectedObjects.length !== 1 ||\n !selectedObjects[0].endsWith(\"/\") ||\n !canSetAnonymousAccess,\n icon: ,\n tooltip:\n selectedObjects.length === 1 && selectedObjects[0].endsWith(\"/\")\n ? \"Set Anonymous Access to this Folder\"\n : \"Anonymous Access unavailable\",\n },\n {\n action: () => {\n setDeleteMultipleOpen(true);\n },\n label: \"Delete\",\n icon: ,\n disabled: !canDelete || selectedObjects.length === 0,\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 {anonymousAccessOpen && (\n \n )}\n\n \n {anonymousMode && (\n
\n \n
\n )}\n \n \n \n \n }\n title={bucketName}\n subTitle={\n !anonymousMode ? (\n \n \n Created on:  \n \n {bucketInfo?.creation_date\n ? createdTime.toFormat(\n \"ccc, LLL dd yyyy HH:mm:ss (ZZZZ)\",\n )\n : \"\"}\n \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 \n {\" \"}\n / {niceBytesInt(quota.quota || 0)}\n \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 ) : null\n }\n actions={\n \n {!anonymousMode && (\n \n \n \n \n }\n variant={\"regular\"}\n onClick={() => {\n setRewindSelect(true);\n }}\n disabled={\n !isVersioningApplied ||\n !hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_OBJECT,\n IAM_SCOPES.S3_GET_ACTIONS,\n ])\n }\n />\n \n )}\n \n }\n variant={\"regular\"}\n onClick={() => {\n if (versionsMode) {\n dispatch(setLoadingVersions(true));\n } else {\n dispatch(resetMessages());\n dispatch(setLoadingRecords(true));\n dispatch(setLoadingObjects(true));\n }\n }}\n disabled={\n anonymousMode\n ? false\n : !hasPermission(bucketName, [\n IAM_SCOPES.S3_LIST_BUCKET,\n IAM_SCOPES.S3_ALL_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 bottomBorder={false}\n />\n \n \n \n \n {versionsMode ? (\n \n {selectedInternalPaths !== null && (\n \n )}\n \n ) : (\n \n \n {!anonymousMode && (\n \n \n \n \n )\n }\n hidePathButton={false}\n />\n \n )}\n \n \n \n )}\n {!anonymousMode && (\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};\n\nexport default ListObjects;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 {\n IAM_PAGES,\n IAM_PERMISSIONS,\n IAM_ROLES,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport { SecureComponent } from \"../../../common/SecureComponent\";\nimport TooltipWrapper from \"../Common/TooltipWrapper/TooltipWrapper\";\nimport { BackLink, Button, SettingsIcon, Grid } from \"mds\";\nimport AutoColorIcon from \"../Common/Components/AutoColorIcon\";\nimport { useSelector } from \"react-redux\";\nimport { selFeatures } from \"../consoleSlice\";\nimport hasPermission from \"../../../common/SecureComponent/accessControl\";\nimport { useNavigate } from \"react-router-dom\";\nimport SearchBox from \"../Common/SearchBox\";\nimport { setSearchVersions } from \"./objectBrowserSlice\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport FilterObjectsSB from \"./FilterObjectsSB\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport ObjectManagerButton from \"../Common/ObjectManager/ObjectManagerButton\";\nimport HelpMenu from \"../HelpMenu\";\nimport { setHelpName } from \"../../../systemSlice\";\n\ninterface IOBHeader {\n bucketName: string;\n}\n\nconst OBHeader = ({ bucketName }: IOBHeader) => {\n const dispatch = useAppDispatch();\n const features = useSelector(selFeatures);\n\n const versionsMode = useSelector(\n (state: AppState) => state.objectBrowser.versionsMode,\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 obOnly = !!features?.includes(\"object-browser-only\");\n\n const navigate = useNavigate();\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 IAM_SCOPES.S3_GET_ACTIONS,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ]);\n\n const searchBar = (\n \n {!versionsMode ? (\n \n \n \n ) : (\n \n {\n dispatch(setSearchVersions(value));\n }}\n value={searchVersions}\n />\n \n )}\n \n );\n\n useEffect(() => {\n dispatch(setHelpName(\"object_browser\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n {!obOnly ? (\n {\n navigate(IAM_PAGES.OBJECT_BROWSER_VIEW);\n }}\n />\n }\n actions={\n \n \n \n navigate(`/buckets/${bucketName}/admin`)}\n icon={\n \n }\n style={{\n padding: \"0 10px\",\n }}\n />\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\nexport default OBHeader;\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 { DateTime } from \"luxon\";\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 { Grid, InputBox, InputLabel, LinkIcon } from \"mds\";\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 durationInputs: {\n display: \"flex\",\n alignItems: \"flex-start\",\n justifyContent: \"flex-start\",\n gap: 10,\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 DateTime.fromJSDate(initialDate).plus({ days, hours, 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(DateTime.now());\n\n useEffect(() => {\n if (\n !isNaN(selectedHours) &&\n !isNaN(selectedDays) &&\n !isNaN(selectedMinutes)\n ) {\n setDateSelected(\n calculateNewTime(\n initialDate,\n selectedDays,\n selectedHours,\n selectedMinutes,\n ),\n );\n }\n }, [initialDate, selectedDays, selectedHours, selectedMinutes]);\n\n useEffect(() => {\n if (validDate) {\n const formattedDate = dateSelected.toFormat(\"yyyy-MM-dd HH:mm:ss\");\n onChange(formattedDate.split(\" \").join(\"T\"), 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 if (selectedDays <= 0 && selectedHours <= 0 && selectedMinutes <= 0) {\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 extraStyles = {\n \"& .textBoxContainer\": {\n minWidth: 0,\n },\n \"& input\": {\n textAlign: \"center\" as const,\n paddingRight: 10,\n paddingLeft: 10,\n width: 40,\n },\n };\n\n return (\n \n \n \n {label}\n \n \n \n {\n setSelectedDays(parseInt(e.target.value));\n }}\n value={selectedDays.toString()}\n sx={extraStyles}\n noLabelMinWidth\n />\n \n \n {\n setSelectedHours(parseInt(e.target.value));\n }}\n value={selectedHours.toString()}\n sx={extraStyles}\n noLabelMinWidth\n />\n \n \n {\n setSelectedMinutes(parseInt(e.target.value));\n }}\n value={selectedMinutes.toString()}\n sx={extraStyles}\n noLabelMinWidth\n />\n \n \n \n {validDate ? (\n
\n \n
\n {entity} will be available until:\n
{\" \"}\n
\n {dateSelected.toFormat(\"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 { useSelector } from \"react-redux\";\nimport { Button, CopyIcon, ReadBox, ShareIcon, Grid } from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport LinearProgress from \"@mui/material/LinearProgress\";\n\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport DaysSelector from \"../../../../Common/FormComponents/DaysSelector/DaysSelector\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport {\n selDistSet,\n setModalErrorSnackMessage,\n setModalSnackMessage,\n} from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\nimport { BucketObject } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\n\ninterface IShareFileProps {\n open: boolean;\n bucketName: string;\n dataObject: BucketObject;\n closeModalAndRefresh: () => void;\n}\n\nconst ShareFile = ({\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.buckets\n .listObjects(bucketName, {\n prefix: encodeURLString(dataObject.name || \"\"),\n with_versions: distributedSetup,\n })\n .then((res) => {\n const result: BucketObject[] = res.data.objects || [];\n\n const latestVersion: BucketObject | undefined = result.find(\n (elem: BucketObject) => elem.is_latest,\n );\n\n if (latestVersion) {\n setVersionID(`${latestVersion.version_id}`);\n return;\n }\n\n // Version couldn't be retrieved, we default\n setVersionID(\"null\");\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.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.buckets\n .shareObject(bucketName, {\n prefix: encodeURLString(dataObject.name || \"\"),\n version_id: versionID,\n expires: selectedDate !== \"\" ? `${diffDate}s` : \"\",\n })\n .then((res) => {\n setShareURL(res.data);\n setIsLoadingFile(false);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.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 dispatch(\n setModalSnackMessage(\"Share URL Copied to clipboard\"),\n );\n }}\n disabled={shareURL === \"\" || isLoadingFile}\n style={{\n width: \"28px\",\n height: \"28px\",\n padding: \"0px\",\n }}\n icon={}\n />\n \n }\n >\n {shareURL}\n \n \n
\n )}\n \n
\n );\n};\n\nexport default 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, useCallback, useEffect, 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 { AllowedPreviews, previewObjectType } from \"../utils\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport clsx from \"clsx\";\nimport WarningMessage from \"../../../../Common/WarningMessage/WarningMessage\";\nimport { api } from \"../../../../../../api\";\nimport get from \"lodash/get\";\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 const [metaData, setMetaData] = useState(null);\n const [isMetaDataLoaded, setIsMetaDataLoaded] = useState(false);\n\n const objectName = object?.name || \"\";\n\n const fetchMetadata = useCallback(() => {\n if (!isMetaDataLoaded) {\n const encodedPath = encodeURLString(objectName);\n api.buckets\n .getObjectMetadata(bucketName, {\n prefix: encodedPath,\n })\n .then((res) => {\n let metadata = get(res.data, \"objectMetadata\", {});\n setIsMetaDataLoaded(true);\n setMetaData(metadata);\n })\n .catch((err) => {\n console.error(\n \"Error Getting Metadata Status: \",\n err,\n err?.detailedError,\n );\n setIsMetaDataLoaded(true);\n });\n }\n }, [bucketName, objectName, isMetaDataLoaded]);\n\n useEffect(() => {\n if (bucketName && objectName) {\n fetchMetadata();\n }\n }, [bucketName, objectName, fetchMetadata]);\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 let objectType: AllowedPreviews = previewObjectType(metaData, objectName);\n\n const iframeLoaded = () => {\n setLoading(false);\n };\n\n return (\n \n {objectType !== \"none\" && loading && (\n \n \n \n )}\n {isMetaDataLoaded ? (\n
\n {objectType === \"video\" && (\n \n \n \n )}\n {objectType === \"audio\" && (\n \n \n \n )}\n {objectType === \"image\" && (\n \n )}\n {objectType === \"none\" && (\n
\n \n
\n )}\n {objectType !== \"none\" &&\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 ) : null}\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 \"mds\";\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 { encodeURLString } from \"../../../../../common/utils\";\nimport { removeTrace } from \"../../../ObjectBrowser/transferManager\";\nimport store from \"../../../../../store\";\nimport { PermissionResource } from \"api/consoleApi\";\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 toastCallback: () => void,\n) => {\n const anchor = document.createElement(\"a\");\n document.body.appendChild(anchor);\n let basename = document.baseURI.replace(window.location.origin, \"\");\n const state = store.getState();\n const anonymousMode = state.system.anonymousMode;\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 // If file is greater than 50GiB then we force browser download, if not then we use HTTP Request for Object Manager\n if (fileSize > 53687091200) {\n return new BrowserDownload(path, id, completeCallback, toastCallback);\n }\n\n let req = new XMLHttpRequest();\n req.open(\"GET\", path, true);\n if (anonymousMode) {\n req.setRequestHeader(\"X-Anonymous\", \"1\");\n }\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\nclass BrowserDownload {\n path: string;\n id: string;\n completeCallback: () => void;\n toastCallback: () => void;\n\n constructor(\n path: string,\n id: string,\n completeCallback: () => void,\n toastCallback: () => void,\n ) {\n this.path = path;\n this.id = id;\n this.completeCallback = completeCallback;\n this.toastCallback = toastCallback;\n }\n\n send(): void {\n this.toastCallback();\n const link = document.createElement(\"a\");\n link.href = this.path;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n this.completeCallback();\n removeTrace(this.id);\n }\n}\n\nexport type AllowedPreviews = \"image\" | \"text\" | \"audio\" | \"video\" | \"none\";\nexport const contentTypePreview = (contentType: string): AllowedPreviews => {\n if (contentType) {\n const mimeObjectType = (contentType || \"\").toLowerCase();\n\n if (mimeObjectType.includes(\"image\")) {\n return \"image\";\n }\n if (mimeObjectType.includes(\"text\")) {\n return \"text\";\n }\n if (mimeObjectType.includes(\"audio\")) {\n return \"audio\";\n }\n if (mimeObjectType.includes(\"video\")) {\n return \"video\";\n }\n }\n\n return \"none\";\n};\n\n// Review file extension by name & returns the type of preview browser that can be used\nexport const extensionPreview = (fileName: string): AllowedPreviews => {\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\"];\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 previewObjectType = (\n metaData: Record,\n objectName: string,\n) => {\n const metaContentType = (\n (metaData && metaData[\"Content-Type\"]) ||\n \"\"\n ).toString();\n\n const extensionType = extensionPreview(objectName || \"\");\n const contentType = contentTypePreview(metaContentType);\n\n let objectType: AllowedPreviews = extensionType;\n\n if (extensionType === contentType) {\n objectType = extensionType;\n } else if (extensionType === \"none\" && contentType !== \"none\") {\n objectType = contentType;\n } else if (contentType === \"none\" && extensionType !== \"none\") {\n objectType = extensionType;\n }\n\n return objectType;\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: PermissionResource[],\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 let 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 store 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: \"\",\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 // We verify if currentPath is contained in the path begin, if is not contained the user has no access to this subpath\n const cleanCurrPath = currentPath.replace(/\\/$/, \"\");\n\n if (!prefixItem.startsWith(cleanCurrPath) && currentPath !== \"\") {\n return;\n }\n\n // For every split element we iterate and check if we can construct a URL\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: \"\",\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 // We clean duplicated name entries\n if (returnElements.length > 0) {\n let clElements: BucketObjectItem[] = [];\n let keys: string[] = [];\n\n returnElements.forEach((itm) => {\n if (!keys.includes(itm.name)) {\n clElements.push(itm);\n keys.push(itm.name);\n }\n });\n\n returnElements = clElements;\n }\n\n return returnElements;\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, { 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","// 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 \"mds\";\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 from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport { HelpIcon } from \"mds\";\nimport clsx from \"clsx\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input/Input\";\n\ninterface IFormSwitch {\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 description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n extraInputProps?: StandardInputProps[\"inputProps\"];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n extraInputProps = {},\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {switchComponent}\n
\n {description !== \"\" && (\n \n \n {description}\n \n \n )}\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\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, { ClipboardEvent, useState } from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { HelpIcon } from \"mds\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n onFocus?: () => void;\n onPaste?: (e: ClipboardEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n }),\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n onFocus,\n onPaste,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n const [toggleTextInput, setToggleTextInput] = useState(false);\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n let inputBoxWrapperIcon = overlayIcon;\n let inputBoxWrapperType = type;\n\n if (type === \"password\" && overlayIcon === null) {\n inputBoxWrapperIcon = toggleTextInput ? (\n \n ) : (\n \n );\n inputBoxWrapperType = toggleTextInput ? \"text\" : \"password\";\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {inputBoxWrapperIcon && (\n \n {\n overlayAction();\n }\n : () => setToggleTextInput(!toggleTextInput)\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {inputBoxWrapperIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\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 withStyles from \"@mui/styles/withStyles\";\n\ninterface IWarningMessage {\n classes: any;\n label: any;\n title: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n backgroundColor: \"#e78794\",\n borderRadius: 3,\n marginBottom: 20,\n padding: 1,\n paddingBottom: 15,\n },\n labelHeadline: {\n color: \"#000000\",\n fontSize: 14,\n marginLeft: 20,\n },\n labelText: {\n color: \"#000000\",\n fontSize: 14,\n marginLeft: 20,\n marginRight: 40,\n },\n });\n\nconst WarningMessage = ({ classes, label, title }: IWarningMessage) => {\n return (\n
\n

{title}

\n
{label}
\n
\n );\n};\n\nexport default withStyles(styles)(WarningMessage);\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, CopyIcon } from \"mds\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\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","// 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 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":["_ref","modalOpen","onClose","bucket","prefilledRoute","dispatch","useAppDispatch","_useState","useState","_useState2","_slicedToArray","prefix","setPrefix","_useState3","_useState4","selectedAccess","setSelectedAccess","useEffect","_jsx","ModalWrapper","title","titleIcon","AddAccessRuleIcon","children","_jsxs","FormLayout","withBorders","containerPadding","InputBox","value","label","id","name","placeholder","onChange","e","target","tooltip","Select","options","disabled","Grid","item","xs","sx","modalStyleUtils","modalButtonBar","Button","type","variant","onClick","trim","api","setAccessRuleWithBucket","access","then","res","setSnackBarMessage","catch","err","setErrorSnackMessage","errorToHandler","objectsWS","extractFileExtn","resourceStr","match","getSessionGrantsWildCard","sessionGrants","uploadPath","scopes","arguments","length","undefined","grantsWithExtension","Object","keys","reduce","acc","grantKey","includes","filter","sessionGrantKey","hasScope","some","actionKey","find","scopeKey","wildCardMatch","indexOf","scopeActionKey","substring","isUploadPathMatching","concat","CreatePathModal","withSuspense","React","useStyles","makeStyles","theme","createStyles","_objectSpread","objectBrowserCommon","slashSpacingStyle","margin","bucketName","internalPaths","hidePathButton","additionalOptions","navigate","useNavigate","classes","rewindEnabled","useSelector","state","objectBrowser","rewind","versionsMode","versionedFile","anonymousMode","system","createFolderOpen","setCreateFolderOpen","putObjectPermScopes","IAM_SCOPES","S3_PUT_OBJECT","S3_PUT_ACTIONS","console","session","permissions","paths","splitPaths","split","path","lastBreadcrumbsIndex","pathToCheckPerms","sessionGrantWildCards","canCreatePath","hasPermission","_toConsumableArray","breadcrumbsMap","map","objectItem","index","subSplit","slice","join","route","encodeURLString","Fragment","className","style","cursor","whiteSpace","safeDecodeURIComponent","Link","to","setVersionsModeEnabled","status","objectName","toString","versionsItem","listBreadcrumbs","breadcrumbsMain","folderName","Breadcrumbs","goBackFunction","prevPath","CopyToClipboard","text","icon","CopyIcon","width","height","fill","marginTop","color","border","marginRight","Tooltip","permissionTooltipHelper","NewPathIcon","breadcrumbsSecond","withStyles","listUploadIcons","_ref$forceDisable","forceDisable","uploadFileFunction","uploadFolderFunction","_ref$overrideStyles","overrideStyles","anchorEl","setAnchorEl","openUploadMenu","Boolean","handleCloseUpload","uploadObjectAllowed","uploadFolderAllowed","uploadEnabled","TooltipWrapper","event","currentTarget","UploadIcon","Menu","open","anchorOrigin","vertical","horizontal","transformOrigin","MenuItem","ListItemIcon","ListItemText","UploadFolderIcon","detailsList","borderColor","borderWidth","borderStyle","borderRadius","borderBottomLeftRadius","borderBottomRightRadius","transitionDuration","overflowX","overflowY","position","opacity","marginLeft","minWidth","borderLeftWidth","closePanel","_ref$className","ClosePanelIcon","right","top","padding","backgroundColor","months","days","Array","from","_","num","currentYear","Date","getFullYear","years","numYear","DateSelector","forwardRef","ref","_ref$disableOptions","disableOptions","_ref$addSwitch","addSwitch","_ref$tooltip","_ref$borderBottom","borderBottom","onDateChange","_ref$value","useImperativeHandle","resetDate","dateEnabled","setDateEnabled","month","setMonth","_useState5","_useState6","day","setDay","_useState7","_useState8","year","setYear","valueSplit","parseInt","_validDate","currentDate","parse","isNaN","parsedMonth","parsedDay","monthForString","dayForString","parsedDate","toISOString","dateString","validDate","_validDate2","isValid","isDateDisabled","monthForDropDown","daysForDrop","yearsForDrop","clsx","fieldContainer","_defineProperty","fieldContainerBorder","labelContainer","container","InputLabel","htmlFor","tooltipContainer","placement","HelpIcon","Switch","indicatorLabels","checked","switchOnly","Box","display","gap","newValue","fieldBasic","tooltipHelper","alignItems","justifyContent","paddingBottom","marginBottom","formFieldStyles","spacingUtils","closeModalAndRefresh","objectInfo","retentionConfig","statusEnabled","setStatusEnabled","setType","date","setDate","isDateValid","setIsDateValid","_useState9","_useState10","isSaving","setIsSaving","_useState11","_useState12","alreadyConfigured","setAlreadyConfigured","retention_mode","mode","ObjectRetentionMode","Governance","retention_until_date","valueDate","getMonth","getDate","dateElement","useRef","resetForm","current","showSwitcher","spacerBottom","noValidate","autoComplete","onSubmit","preventDefault","formFieldRow","RadioGroup","currentValue","selectorOptions","Compliance","dateSelector","selectedObject","versionId","version_id","expireDate","buckets","putObjectRetention","expires","setModalErrorSnackMessage","error","addRetention","deleteObjectRetention","disableRetention","isVersionedMode","closeDeleteModalAndRefresh","deleteOpen","selectedBucket","versioningInfo","_ref$selectedVersion","selectedVersion","_useApi","useApi","detailedError","_useApi2","deleteLoading","invokeDeleteApi","deleteVersions","setDeleteVersions","bypassGovernance","setBypassGovernance","canBypass","S3_BYPASS_GOVERNANCE_RETENTION","ConfirmDialog","confirmText","isOpen","ConfirmDeleteIcon","isLoading","onConfirm","recursive","decodeURLString","endsWith","confirmationContent","description","actualInfo","legalHoldEnabled","setLegalHoldEnabled","get","putObjectLegalHold","ObjectLegalHoldStatus","Enabled","Disabled","itemRendererFn","element","isArray","titleItem","detailsPanel","metaData","_ref$linear","linear","metaKeys","renderItem","metadataLinear","Table","table","TableBody","TableRow","TableCell","component","scope","align","fileName","minHeight","fileNameText","overflow","textOverflow","strings","replaceUnicodeChar","extensionToIcon","FileVideoIcon","extensions","FileMusicIcon","FilePdfIcon","FilePptIcon","FileXlsIcon","FileLockIcon","FileCodeIcon","FileConfigIcon","FileDbIcon","FileFontIcon","FileTxtIcon","FileZipIcon","FileBookIcon","FileImageIcon","displayFileIconName","returnOnlyIcon","elementString","FileNonType","FolderBrowserIcon","lowercaseElement","toLowerCase","_i","_extensionToIcon","_step","etc","_iterator","_createForOfIteratorHelper","s","n","done","ext","f","FileMissingIcon","splitItem","IconWithLabel","newTileHeader","fontSize","fontWeight","tagsForLabel","currentTagsContainer","noTagsForObject","deleteTag","_actualInfo$name","onCloseAndUpdate","distributedSetup","selDistSet","newKey","setNewKey","newLabel","setNewLabel","isSending","setIsSending","deleteEnabled","setDeleteEnabled","deleteKey","setDeleteKey","deleteLabel","setDeleteLabel","currentTags","tags","currTagKeys","allPathData","currentItem","pop","tagsFor","plural","DisabledIcon","EditTagIcon","cleanObject","verID","putObjectTags","SecureComponent","S3_GET_OBJECT_TAGGING","S3_GET_ACTIONS","resource","flexFlow","tagKey","tag","S3_DELETE_OBJECT_TAGGING","errorProps","deleteIcon","onDelete","Chip","textTransform","size","CloseIcon","onDeleteTag","S3_PUT_OBJECT_TAGGING","SectionTitle","AddNewTagIcon","separator","newTag","newTagList","closeInspectModalAndRefresh","inspectOpen","inspectPath","volumeName","isEncrypt","setIsEncrypt","decryptionKey","setDecryptionKey","insFileName","setInsFileName","makeRequest","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","url","wrap","_context","prev","next","fetch","method","abrupt","sent","stop","_x","apply","performInspect","_ref3","_callee3","file","volume","urlOfInspectApi","_context3","_ref4","_callee2","resErr","blob","filename","decryptKey","_context2","ok","json","errorMessage","message","code","headers","getCookieValue","performDownload","_x2","InspectMenuIcon","deleteCookie","PasswordKeyIcon","DialogContentText","KeyRevealer","downloadObject","object","_object$name","identityDownload","getTime","Math","random","isWinOs","getClientOS","setLongFileOpen","ID","makeid","downloadCall","download","progress","updateProgress","instanceID","completeObject","msg","failObject","cancelObjectInList","storeCallForObjectWithID","setNewObject","percentage","waitingForFile","failed","cancelled","containerForHeader","closeModal","newFileName","setNewFileName","acceptLongName","setAcceptLongName","EditIcon","doDownload","modalFormScrollable","InputBoxWrapper","FormSwitchWrapper","emptyFile","is_latest","last_modified","legal_hold_status","ObjectDetailsTitle","objectNameContainer","capitalizeFirst","actionsTray","textStyleUtils","locking","onClosePanel","loadingObjectInfo","shareFileModalOpen","setShareFileModalOpen","retentionModalOpen","setRetentionModalOpen","tagModalOpen","setTagModalOpen","legalholdOpen","setLegalholdOpen","inspectModalOpen","setInspectModalOpen","setActualInfo","_useState13","_useState14","allInfoElements","setAllInfoElements","_useState15","_useState16","objectToShare","setObjectToShare","_useState17","_useState18","versions","setVersions","_useState19","_useState20","setDeleteOpen","_useState21","_useState22","previewOpen","setPreviewOpen","_useState23","_useState24","totalVersionsSize","setTotalVersionsSize","_useState25","_useState26","longFileOpen","_useState27","_useState28","setMetaData","_useState29","_useState30","loadMetadata","setLoadingMetadata","objectNameArray","infoElement","el","is_delete_marker","listObjects","with_versions","result","data","objects","tVersionSize","currValue","resInfo","setLoadingObjectInfo","getObjectMetadata","metadata","tagKeys","loaderForContainer","textAlign","Loader","objectResources","canSetLegalHold","S3_PUT_OBJECT_LEGAL_HOLD","canSetTags","canChangeRetention","S3_GET_OBJECT_RETENTION","S3_PUT_OBJECT_RETENTION","canInspect","ADMIN_INSPECT_DATA","canChangeVersioning","S3_GET_BUCKET_VERSIONING","S3_PUT_BUCKET_VERSIONING","S3_GET_OBJECT_VERSION","canGetObject","S3_GET_OBJECT","canDelete","S3_DELETE_OBJECT","objectType","previewObjectType","multiActionButtons","action","DownloadIcon","ShareIcon","PreviewIcon","LegalHoldIcon","RetentionIcon","TagsIcon","VersionsIcon","ShareFile","dataObject","SetRetention","updateInfo","DeleteObject","closeAndReload","setLoadingVersions","setSelectedVersion","SetLegalHoldModal","reload","PreviewFileModal","content_type","onClosePreview","TagsModal","reloadObjectData","InspectObject","RenameLongFileName","ActionsList","items","DeleteIcon","iconLocation","fullWidth","SimpleHeader","ObjectInfoIcon","detailContainer","overflowWrap","niceBytes","niceBytesInt","lastModified","currentTime","modifiedTime","difTime","formatTime","niceDaysInt","calculateLastModifyTime","etag","S3_GET_OBJECT_LEGAL_HOLD","MetadataIcon","ObjectMetaData","modalBasic","versionToRestore","objectPath","restoreOpen","restoreLoading","setRestoreLoading","RecoverIcon","putObjectRestore","restoreLocalObjectList","confirmButtonProps","wrapText","bgColor","FileVersionStyled","styled","div","content","left","borderBottomColor","maxWidth","flexDirection","versionInfo","isSelected","checkable","isChecked","onCheck","onShare","onDownload","onRestore","onPreview","globalClick","key","disableButtons","versionItemButtons","pill","DateTime","now","fromISO","md","CheckboxWrapper","stopPropagation","overrideCheckboxStyles","paddingLeft","noTopMargin","SpecificVersionPill","button","IconButton","toFormat","setDeleteLoading","typeConfirm","setTypeConfirm","deleteObject","non_current_versions","bypass","selectedVersions","selectedObjectsRequest","versionID","deleteMultipleObjects","all_versions","versionsContainer","noBottomBorder","versionsVirtualPanel","flexGrow","screenTitleContainer","sortByLabel","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","RestoreFileVersion","DeleteNonCurrent","reloadAfterDelete","DeleteSelectedVersions","reloadOnComplete","LinearProgress","BrowserBreadcrumbs","ScreenTitle","listIcon","subTitle","detailsSpacer","actions","SelectMultipleIcon","DeleteNonCurrentIcon","noLabelMinWidth","bottomBorder","List","containerStyle","rowCount","rowHeight","rowRenderer","isScrolling","isVisible","versOrd","FileVersionItem","displayParsedDate","currTime","objectTime","hasSame","displayNiceBytes","String","listModeColumns","elementKey","renderFunction","enableSort","renderFullObject","rewindModeColumns","browsePaper","parentWrapper","backgroundImage","params","useParams","sortDirection","setSortDirection","currentSortField","setCurrentSortField","detailsOpen","objectDetailsOpen","loadingObjects","features","selFeatures","obOnly","records","searchObjects","selectedObjects","connectionError","displayListObjects","S3_LIST_BUCKET","S3_ALL_LIST_BUCKET","sortASC","sortListObjects","payload","reverse","tableActions","idElement","newPath","setSelectedObjects","setObjectDetailsView","setIsOpeningOD","setSelectedObjectView","sendOnlyId","customPaperHeight","DataTable","itemActions","columns","entityName","idField","onSelect","targetD","elements","customEmptyMessage","sortConfig","currentSort","currentDirection","triggerSort","sortData","newSortDirection","sortBy","setLoadingObjects","onSelectAll","rowStyle","_payload$index","delete_flag","parentClassName","noBackground","downloadSelected","createAsyncThunk","getState","itemsToDownload","filterFunction","rejectWithValue","setDownloadRenameModal","forEach","filteredItem","openPreview","fileObject","findFunction","setSelectedPreview","_x3","_x4","openShare","_ref6","_ref5","_x5","_x6","openAnonymousAccess","_ref8","_callee4","_ref7","_context4","setAnonymousAccessOpen","_x7","_x8","SearchBox","setSearchObjects","DeleteMultipleObjects","RewindEnable","badgeOverlap","searchField","labelStyle","breadcrumbsContainer","fullContainer","hideListOnSmall","actionsSection","baseDnDStyle","outline","activeDnDStyle","acceptDnDStyle","_downloadRenameModal$","location","useLocation","bucketToRewind","showDeleted","selectedInternalPaths","simplePath","versioningConfig","lockingEnabled","downloadRenameModal","selectedPreview","anonymousAccessOpen","loadingBucket","selBucketDetailsLoading","bucketInfo","selBucketDetailsInfo","deleteMultipleOpen","setDeleteMultipleOpen","rewindSelect","setRewindSelect","iniLoad","setIniLoad","canShareFile","setCanShareFile","canPreviewFile","setCanPreviewFile","quota","setQuota","isMetaDataLoaded","setIsMetaDataLoaded","isVersioningApplied","pathSegment","pathname","pageTitle","currentPath","i","fileUpload","folderUpload","pathAsResourceInPolicy","allowedFileExtensions","cv","extension","Set","getPolicyAllowedFileExtensions","canDownload","canUpload","canSetAnonymousAccess","S3_GET_BUCKET_POLICY","S3_PUT_BUCKET_POLICY","fetchMetadata","useCallback","encodedPath","resetRewind","setAttribute","getBucketQuota","quotaVals","detailedMessage","setBucketDetailsLoad","setBucketInfo","setSelectedBucket","getBucketRetentionConfig","setRetentionConfig","handleUploadButton","files","newFiles","uploadObject","folderPath","pathPrefix","uploadPromise","Promise","resolve","reject","uploadUrl","blobFile","Blob","filePath","fileWebkitRelativePath","relativeFolderPath","finalFolderPath","pathClean","startsWith","identity","xhr","XMLHttpRequest","setRequestHeader","areMultipleFiles","errorMessages","withCredentials","onload","removeTrace","response","JSON","upload","addEventListener","floor","loaded","total","onerror","onloadend","onabort","formData","FormData","append","storeFormDataWithID","uploadFilePromises","openList","allSettled","results","errors","totalFiles","successUploadedFiles","onDrop","acceptedFiles","_console","_console2","newFolderPath","allowedFiles","fileExtn","log","_useDropzone","useDropzone","noClick","getRootProps","getInputProps","isDragActive","isDragAccept","dndStyles","useMemo","forceRefresh","splitURLS","URLItem","createdTime","creation_date","AccessRuleIcon","refresh","versioning","AddAccessRule","PageLayout","FilterObjectsSB","BucketsIcon","Badge","badgeContent","invisible","HistoryIcon","RefreshIcon","resetMessages","setLoadingRecords","multiple","accept","UploadFilesButton","closeMenu","click","tableBlock","borderTop","VersionsNavigator","setShowDeletedObjects","overrideLabelClasses","overrideShowDeleted","ListObjectsTable","DetailsListPanel","ObjectDetailPanel","configureBucketAllowed","S3_GET_BUCKET_ENCRYPTION_CONFIGURATION","S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION","S3_DELETE_BUCKET","S3_GET_BUCKET_NOTIFICATIONS","S3_PUT_BUCKET_NOTIFICATIONS","S3_GET_REPLICATION_CONFIGURATION","S3_PUT_REPLICATION_CONFIGURATION","S3_GET_LIFECYCLE_CONFIGURATION","S3_PUT_LIFECYCLE_CONFIGURATION","ADMIN_GET_BUCKET_QUOTA","ADMIN_SET_BUCKET_QUOTA","S3_PUT_BUCKET_TAGGING","S3_GET_BUCKET_TAGGING","S3_LIST_BUCKET_VERSIONS","S3_GET_BUCKET_POLICY_STATUS","S3_DELETE_BUCKET_POLICY","searchBar","setSearchVersions","setHelpName","AutoColorIcon","ObjectManagerButton","PageHeaderWrapper","BackLink","IAM_PAGES","OBJECT_BROWSER_VIEW","IAM_PERMISSIONS","IAM_ROLES","BUCKET_ADMIN","SettingsIcon","HelpMenu","middleComponent","currentRequestID","errorCounter","wsInFlight","initWSConnection","openCallback","onMessageCallback","connErrorCallback","URL","window","port","baseUrl","document","baseURI","wsProt","wsProtocol","protocol","WebSocket","hostname","onopen","onmessage","reconnectFn","onclose","warn","setTimeout","loadingVersioning","rewindDate","dateToRewind","allowResources","loadingLocking","loadRecords","isOpeningOD","isOpeningObjectDetail","onMessageCallBack","request_id","internalPathsPrefix","decodedPath","permitItems","permissionItems","setRecords","request_end","newMessage","initWSRequest","readyState","newRequestID","errorInConnection","request","bucket_name","send","stringify","decodedIPaths","setLoadingVersioning","setSimplePathHandler","setLoadingLocking","parentPath","requestDate","getBucketVersioning","setIsVersioned","getBucketObjectLockingStatus","setLockingEnabled","object_locking_enabled","OBHeader","ListObjects","durationInputs","validityIndicator","invalidDurationText","reverseInput","validityText","validTill","initialDate","maxDays","entity","selectedDays","setSelectedDays","selectedHours","setSelectedHours","selectedMinutes","setSelectedMinutes","setValidDate","dateSelected","setDateSelected","hours","minutes","fromJSDate","plus","calculateNewTime","formattedDate","valid","extraStyles","paddingRight","dateInputContainer","min","max","LinkIcon","validityLabel","shareURL","setShareURL","isLoadingVersion","setIsLoadingVersion","isLoadingFile","setIsLoadingFile","selectedDate","setSelectedDate","dateValid","setDateValid","setVersionID","latestVersion","elem","slDate","currDate","diffDate","ceil","shareObject","DaysSelector","newDate","ReadBox","actionButton","setModalSnackMessage","iframeContainer","flex","iframeBase","iframeHidden","_ref$isFullscreen","isFullscreen","loading","setLoading","basename","replace","origin","iframeLoaded","maxHeight","autoPlay","controls","muted","playsInline","onPlay","src","alt","onLoad","WarningMessage","allowTransparency","wideLimit","ObjectPreviewIcon","PreviewFileContent","fileSize","overrideFileName","progressCallback","completeCallback","errorCallback","abortCallback","toastCallback","anchor","createElement","body","appendChild","store","BrowserDownload","req","evt","percentComplete","round","responseType","onreadystatechange","rspHeader","getResponseHeader","decodeURIComponent","link","href","createObjectURL","removeChild","rspBody","_classCallCheck","this","_createClass","metaContentType","extensionType","fileExtension","extensionPreview","contentType","mimeObjectType","contentTypePreview","fieldSort","localeCompare","permissionsArray","filteredPermissionsForBucket","permissionItem","_permissionItem$resou","_permissionItem$resou2","returnElements","splitCurrentPath","permissionElement","_permissionElement$re","_permissionElement$pr","splitARN","splitURLARN","every","currentElementInPath","conditionOperator","prefixes","prefixItem","splitItems","pathToRouteElements","cleanCurrPath","splitElement","clElements","itm","WrappedComponent","fallback","props","Suspense","checkboxIcons","flexBasis","flexWrap","_ref$checked","_ref$disabled","_ref$noTopMargin","_ref$overrideLabelCla","Checkbox","inputProps","checkedIcon","unCheckedIcon","disableRipple","disableFocusRipple","focusRipple","centerRipple","disableTouchRipple","noMinWidthLabel","StyledSwitch","root","switchBase","transform","palette","common","white","boxShadow","thumb","track","transition","transitions","create","focusVisible","switchContainer","indicatorLabelOn","indicatorLabel","fieldDescription","_ref$label","_ref$switchOnly","_ref$description","_ref$extraInputProps","extraInputProps","switchComponent","sm","inputLabel","Typography","inputStyles","inputFieldStyles","InputField","TextField","InputProps","textBoxContainer","overlayAction","_ref$type","_ref$autoComplete","_ref$multiline","multiline","_ref$index","_ref$error","_ref$required","required","_ref$placeholder","overlayId","_ref$overlayIcon","overlayIcon","_ref$overlayObject","overlayObject","_ref$noLabelMinWidth","_ref$pattern","pattern","_ref$autoFocus","autoFocus","onKeyPress","onFocus","onPaste","toggleTextInput","setToggleTextInput","inputBoxWrapperIcon","inputBoxWrapperType","VisibilityOffIcon","RemoveRedEyeIcon","errorInField","inputBoxContainer","helperText","inputRebase","headerContainer","labelHeadline","labelText","shown","setShown","readOnly","navigator","clipboard","writeText","WSCloseAbnormalClosure","WSClosePolicyViolation","WSCloseInternalServerErr"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2661.f8e2dfa6.chunk.js b/portal-ui/build/static/js/2661.7ae2f0e2.chunk.js similarity index 97% rename from portal-ui/build/static/js/2661.f8e2dfa6.chunk.js rename to portal-ui/build/static/js/2661.7ae2f0e2.chunk.js index 0de830a38..529132734 100644 --- a/portal-ui/build/static/js/2661.f8e2dfa6.chunk.js +++ b/portal-ui/build/static/js/2661.7ae2f0e2.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2661],{82661:function(e,n,t){t.r(n),t.d(n,{default:function(){return E}});var l=t(1413),a=t(93433),i=t(29439),s=t(72791),u=t(29945),o=t(87995),c=t(81551),r=t(31776),d=t(66315),f=t(56028),x=t(61889),p=t(27391),v=t(30829),h=t(20068),j=t(68096),b=t(72455),m=t(67252),Z=t(11135),g=t(25787),C=t(23814),k=t(80184),S=(0,b.Z)((function(e){return(0,Z.Z)((0,l.Z)({},C.gM))}));function F(e){var n=S();return(0,k.jsx)(p.Z,(0,l.Z)({InputProps:{classes:n}},e))}var L=(0,g.Z)((function(e){return(0,Z.Z)((0,l.Z)((0,l.Z)({},C.YI),C.Hr))}))((function(e){var n=e.classes,t=e.id,a=e.name,o=e.onChange,c=e.options,r=e.label,d=e.tooltip,f=void 0===d?"":d,p=e.value,b=e.disabled,Z=void 0!==b&&b,g=(0,s.useState)(c[0]),C=(0,i.Z)(g,2),S=C[0],L=C[1];return(0,k.jsx)(s.Fragment,{children:(0,k.jsxs)(x.ZP,{item:!0,xs:12,className:n.fieldContainer,children:[""!==r&&(0,k.jsxs)(v.Z,{htmlFor:t,className:n.inputLabel,children:[(0,k.jsx)("span",{children:r}),""!==f&&(0,k.jsx)("div",{className:n.tooltipContainer,children:(0,k.jsx)(h.Z,{title:f,placement:"top-start",children:(0,k.jsx)("div",{className:n.tooltip,children:(0,k.jsx)(u.byK,{})})})})]}),(0,k.jsx)(j.Z,{fullWidth:!0,children:(0,k.jsx)(m.Z,{id:t,options:c,getOptionLabel:function(e){return e.label},isOptionEqualToValue:function(e){return e.value===p},disabled:Z,renderInput:function(e){return(0,k.jsx)(F,(0,l.Z)((0,l.Z)({},e),{},{name:a}))},value:S,onChange:function(e,n){n&&(o(n.value),L(n))},autoHighlight:!0})})]})})})),E=function(e){var n=e.open,t=e.selectedBucket,x=e.closeModalAndRefresh,p=(0,c.TL)(),v=(0,s.useState)(!1),h=(0,i.Z)(v,2),j=h[0],b=h[1],m=(0,s.useState)(""),Z=(0,i.Z)(m,2),g=Z[0],S=Z[1],F=(0,s.useState)(""),E=(0,i.Z)(F,2),I=E[0],O=E[1],D=(0,s.useState)(""),R=(0,i.Z)(D,2),w=R[0],P=R[1],T=(0,s.useState)([]),y=(0,i.Z)(T,2),z=y[0],B=y[1],N=(0,s.useState)([]),A=(0,i.Z)(N,2),M=A[0],W=A[1],H=(0,s.useCallback)((function(){b(!0),r.h.admin.arnList().then((function(e){null!==e.data.arns&&W(e.data.arns),b(!1)})).catch((function(e){b(!1),p((0,o.zb)(e))}))}),[p]);(0,s.useEffect)((function(){H()}),[H]);var G=[{label:"PUT - Object Uploaded",value:d.Ln.Put},{label:"GET - Object accessed",value:d.Ln.Get},{label:"DELETE - Object Deleted",value:d.Ln.Delete},{label:"REPLICA - Object Replicated",value:d.Ln.Replica},{label:"ILM - Object Transitioned",value:d.Ln.Ilm}],K=null===M||void 0===M?void 0:M.map((function(e){return{label:e,value:e}}));return(0,k.jsx)(f.Z,{modalOpen:n,onClose:function(){x()},title:"Subscribe To Bucket Events",titleIcon:(0,k.jsx)(u.c3W,{}),children:(0,k.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),j||(b(!0),r.h.buckets.createBucketEvent(t,{configuration:{arn:w,events:z,prefix:g,suffix:I},ignoreExisting:!0}).then((function(){b(!1),x()})).catch((function(e){b(!1),p((0,o.zb)(e))})))},children:(0,k.jsxs)(u.rjZ,{container:!0,children:[(0,k.jsxs)(u.rjZ,{item:!0,xs:12,sx:C.oO.formScrollable,children:[(0,k.jsx)(u.rjZ,{item:!0,xs:12,sx:(0,l.Z)((0,l.Z)({},C.DF.formFieldRow),{},{"& div div .MuiOutlinedInput-root":{padding:0}}),children:(0,k.jsx)(L,{onChange:function(e){P(e)},id:"select-access-policy",name:"select-access-policy",label:"ARN",value:w,options:K||[]})}),(0,k.jsx)(u.rjZ,{item:!0,xs:12,sx:C.DF.formFieldRow,children:(0,k.jsx)(u.Wzg,{id:"prefix-input",name:"prefix-input",label:"Prefix",value:g,onChange:function(e){S(e.target.value)}})}),(0,k.jsx)(u.rjZ,{item:!0,xs:12,sx:C.DF.formFieldRow,children:(0,k.jsx)(u.Wzg,{id:"suffix-input",name:"suffix-input",label:"Suffix",value:I,onChange:function(e){O(e.target.value)}})}),(0,k.jsx)(u.rjZ,{item:!0,xs:12,sx:C.DF.formFieldRow,children:(0,k.jsx)(u.wQF,{columns:[{label:"Event",elementKey:"label"}],idField:"value",records:G,onSelect:function(e){var n=e.target,t=n.value,l=n.checked,i=(0,a.Z)(z);l?i.push(t):i=i.filter((function(e){return e!==t})),B(i)},selectedItems:z,noBackground:!0,customPaperHeight:"260px"})})]}),(0,k.jsxs)(u.rjZ,{item:!0,xs:12,sx:C.ID.modalButtonBar,children:[(0,k.jsx)(u.zxk,{id:"cancel-add-event",type:"button",variant:"regular",disabled:j,onClick:function(){x()},label:"Cancel"}),(0,k.jsx)(u.zxk,{id:"save-event",type:"submit",variant:"callAction",disabled:j||""===w||0===z.length,label:"Save"})]})]})})})}}}]); -//# sourceMappingURL=2661.f8e2dfa6.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2661],{82661:function(e,n,t){t.r(n),t.d(n,{default:function(){return E}});var l=t(1413),a=t(93433),i=t(29439),s=t(72791),u=t(29945),o=t(87995),c=t(81551),r=t(31776),d=t(66315),f=t(56028),x=t(61889),p=t(27391),v=t(30829),h=t(20068),j=t(68096),b=t(72455),m=t(35739),Z=t(11135),g=t(25787),C=t(23814),k=t(80184),S=(0,b.Z)((function(e){return(0,Z.Z)((0,l.Z)({},C.gM))}));function F(e){var n=S();return(0,k.jsx)(p.Z,(0,l.Z)({InputProps:{classes:n}},e))}var L=(0,g.Z)((function(e){return(0,Z.Z)((0,l.Z)((0,l.Z)({},C.YI),C.Hr))}))((function(e){var n=e.classes,t=e.id,a=e.name,o=e.onChange,c=e.options,r=e.label,d=e.tooltip,f=void 0===d?"":d,p=e.value,b=e.disabled,Z=void 0!==b&&b,g=(0,s.useState)(c[0]),C=(0,i.Z)(g,2),S=C[0],L=C[1];return(0,k.jsx)(s.Fragment,{children:(0,k.jsxs)(x.ZP,{item:!0,xs:12,className:n.fieldContainer,children:[""!==r&&(0,k.jsxs)(v.Z,{htmlFor:t,className:n.inputLabel,children:[(0,k.jsx)("span",{children:r}),""!==f&&(0,k.jsx)("div",{className:n.tooltipContainer,children:(0,k.jsx)(h.Z,{title:f,placement:"top-start",children:(0,k.jsx)("div",{className:n.tooltip,children:(0,k.jsx)(u.byK,{})})})})]}),(0,k.jsx)(j.Z,{fullWidth:!0,children:(0,k.jsx)(m.Z,{id:t,options:c,getOptionLabel:function(e){return e.label},isOptionEqualToValue:function(e){return e.value===p},disabled:Z,renderInput:function(e){return(0,k.jsx)(F,(0,l.Z)((0,l.Z)({},e),{},{name:a}))},value:S,onChange:function(e,n){n&&(o(n.value),L(n))},autoHighlight:!0})})]})})})),E=function(e){var n=e.open,t=e.selectedBucket,x=e.closeModalAndRefresh,p=(0,c.TL)(),v=(0,s.useState)(!1),h=(0,i.Z)(v,2),j=h[0],b=h[1],m=(0,s.useState)(""),Z=(0,i.Z)(m,2),g=Z[0],S=Z[1],F=(0,s.useState)(""),E=(0,i.Z)(F,2),I=E[0],O=E[1],D=(0,s.useState)(""),R=(0,i.Z)(D,2),w=R[0],P=R[1],T=(0,s.useState)([]),y=(0,i.Z)(T,2),z=y[0],B=y[1],N=(0,s.useState)([]),A=(0,i.Z)(N,2),M=A[0],W=A[1],H=(0,s.useCallback)((function(){b(!0),r.h.admin.arnList().then((function(e){null!==e.data.arns&&W(e.data.arns),b(!1)})).catch((function(e){b(!1),p((0,o.zb)(e))}))}),[p]);(0,s.useEffect)((function(){H()}),[H]);var G=[{label:"PUT - Object Uploaded",value:d.Ln.Put},{label:"GET - Object accessed",value:d.Ln.Get},{label:"DELETE - Object Deleted",value:d.Ln.Delete},{label:"REPLICA - Object Replicated",value:d.Ln.Replica},{label:"ILM - Object Transitioned",value:d.Ln.Ilm}],K=null===M||void 0===M?void 0:M.map((function(e){return{label:e,value:e}}));return(0,k.jsx)(f.Z,{modalOpen:n,onClose:function(){x()},title:"Subscribe To Bucket Events",titleIcon:(0,k.jsx)(u.c3W,{}),children:(0,k.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),j||(b(!0),r.h.buckets.createBucketEvent(t,{configuration:{arn:w,events:z,prefix:g,suffix:I},ignoreExisting:!0}).then((function(){b(!1),x()})).catch((function(e){b(!1),p((0,o.zb)(e))})))},children:(0,k.jsxs)(u.rjZ,{container:!0,children:[(0,k.jsxs)(u.rjZ,{item:!0,xs:12,sx:C.oO.formScrollable,children:[(0,k.jsx)(u.rjZ,{item:!0,xs:12,sx:(0,l.Z)((0,l.Z)({},C.DF.formFieldRow),{},{"& div div .MuiOutlinedInput-root":{padding:0}}),children:(0,k.jsx)(L,{onChange:function(e){P(e)},id:"select-access-policy",name:"select-access-policy",label:"ARN",value:w,options:K||[]})}),(0,k.jsx)(u.rjZ,{item:!0,xs:12,sx:C.DF.formFieldRow,children:(0,k.jsx)(u.Wzg,{id:"prefix-input",name:"prefix-input",label:"Prefix",value:g,onChange:function(e){S(e.target.value)}})}),(0,k.jsx)(u.rjZ,{item:!0,xs:12,sx:C.DF.formFieldRow,children:(0,k.jsx)(u.Wzg,{id:"suffix-input",name:"suffix-input",label:"Suffix",value:I,onChange:function(e){O(e.target.value)}})}),(0,k.jsx)(u.rjZ,{item:!0,xs:12,sx:C.DF.formFieldRow,children:(0,k.jsx)(u.wQF,{columns:[{label:"Event",elementKey:"label"}],idField:"value",records:G,onSelect:function(e){var n=e.target,t=n.value,l=n.checked,i=(0,a.Z)(z);l?i.push(t):i=i.filter((function(e){return e!==t})),B(i)},selectedItems:z,noBackground:!0,customPaperHeight:"260px"})})]}),(0,k.jsxs)(u.rjZ,{item:!0,xs:12,sx:C.ID.modalButtonBar,children:[(0,k.jsx)(u.zxk,{id:"cancel-add-event",type:"button",variant:"regular",disabled:j,onClick:function(){x()},label:"Cancel"}),(0,k.jsx)(u.zxk,{id:"save-event",type:"submit",variant:"callAction",disabled:j||""===w||0===z.length,label:"Save"})]})]})})})}}}]); +//# sourceMappingURL=2661.7ae2f0e2.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2661.f8e2dfa6.chunk.js.map b/portal-ui/build/static/js/2661.7ae2f0e2.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/2661.f8e2dfa6.chunk.js.map rename to portal-ui/build/static/js/2661.7ae2f0e2.chunk.js.map index 98f07cab7..fdcef9fe2 100644 --- a/portal-ui/build/static/js/2661.f8e2dfa6.chunk.js.map +++ b/portal-ui/build/static/js/2661.7ae2f0e2.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/2661.f8e2dfa6.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/AutocompleteWrapper/AutocompleteWrapper.tsx","screens/Console/Buckets/BucketDetails/AddEvent.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 .\nimport React, { useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n OutlinedInputProps,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport Autocomplete from \"@mui/material/Autocomplete\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { HelpIcon } from \"mds\";\n\ninterface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (returnedValue: string) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n }),\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst AutocompleteWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n const [internalValue, setInternalValue] = useState(options[0]);\n\n const executeOnSelect = (_: any, selectedValue: any) => {\n if (selectedValue) {\n onChange(selectedValue.value);\n setInternalValue(selectedValue);\n }\n };\n\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n option.label}\n isOptionEqualToValue={(option) => option.value === value}\n disabled={disabled}\n renderInput={(params) => }\n value={internalValue}\n onChange={executeOnSelect}\n autoHighlight\n />\n \n
\n
\n );\n};\n\nexport default withStyles(styles)(AutocompleteWrapper);\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, { useCallback, useEffect, useState } from \"react\";\nimport { Button, DataTable, EventSubscriptionIcon, Grid, InputBox } from \"mds\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport { setModalErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\nimport { api } from \"api\";\nimport { NotificationEventType } from \"api/consoleApi\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport AutocompleteWrapper from \"../../Common/FormComponents/AutocompleteWrapper/AutocompleteWrapper\";\nimport {\n formFieldStyles,\n modalBasic,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\n\ninterface IAddEventProps {\n open: boolean;\n selectedBucket: string;\n closeModalAndRefresh: () => void;\n}\n\nconst AddEvent = ({\n open,\n selectedBucket,\n closeModalAndRefresh,\n}: IAddEventProps) => {\n const dispatch = useAppDispatch();\n const [addLoading, setAddLoading] = useState(false);\n const [prefix, setPrefix] = useState(\"\");\n const [suffix, setSuffix] = useState(\"\");\n const [arn, setArn] = useState(\"\");\n const [selectedEvents, setSelectedEvents] = useState(\n [],\n );\n const [arnList, setArnList] = useState([]);\n\n const addRecord = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n api.buckets\n .createBucketEvent(selectedBucket, {\n configuration: {\n arn: arn,\n events: selectedEvents,\n prefix: prefix,\n suffix: suffix,\n },\n ignoreExisting: true,\n })\n .then(() => {\n setAddLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n };\n\n const fetchArnList = useCallback(() => {\n setAddLoading(true);\n api.admin\n .arnList()\n .then((res) => {\n if (res.data.arns !== null) {\n setArnList(res.data.arns);\n }\n setAddLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n }, [dispatch]);\n\n useEffect(() => {\n fetchArnList();\n }, [fetchArnList]);\n\n const events = [\n { label: \"PUT - Object Uploaded\", value: NotificationEventType.Put },\n { label: \"GET - Object accessed\", value: NotificationEventType.Get },\n { label: \"DELETE - Object Deleted\", value: NotificationEventType.Delete },\n {\n label: \"REPLICA - Object Replicated\",\n value: NotificationEventType.Replica,\n },\n { label: \"ILM - Object Transitioned\", value: NotificationEventType.Ilm },\n ];\n\n const handleClick = (event: React.ChangeEvent) => {\n const targetD = event.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: NotificationEventType[] = [...selectedEvents];\n\n if (checked) {\n elements.push(value as NotificationEventType);\n } else {\n elements = elements.filter((element) => element !== value);\n }\n\n setSelectedEvents(elements);\n };\n\n const arnValues = arnList?.map((arnConstant) => ({\n label: arnConstant,\n value: arnConstant,\n }));\n\n return (\n {\n closeModalAndRefresh();\n }}\n title=\"Subscribe To Bucket Events\"\n titleIcon={}\n >\n ) => {\n addRecord(e);\n }}\n >\n \n \n \n {\n setArn(value);\n }}\n id=\"select-access-policy\"\n name=\"select-access-policy\"\n label={\"ARN\"}\n value={arn}\n options={arnValues || []}\n />\n \n \n ) => {\n setPrefix(e.target.value);\n }}\n />\n \n \n ) => {\n setSuffix(e.target.value);\n }}\n />\n \n \n \n \n \n \n {\n closeModalAndRefresh();\n }}\n label={\"Cancel\"}\n />\n \n \n \n \n \n );\n};\n\nexport default AddEvent;\n"],"names":["inputStyles","makeStyles","theme","createStyles","_objectSpread","inputFieldStyles","InputField","props","classes","_jsx","TextField","InputProps","withStyles","fieldBasic","tooltipHelper","_ref","id","name","onChange","options","label","_ref$tooltip","tooltip","value","_ref$disabled","disabled","_useState","useState","_useState2","_slicedToArray","internalValue","setInternalValue","React","children","_jsxs","Grid","item","xs","className","fieldContainer","InputLabel","htmlFor","inputLabel","tooltipContainer","Tooltip","title","placement","HelpIcon","FormControl","fullWidth","Autocomplete","getOptionLabel","option","isOptionEqualToValue","renderInput","params","_","selectedValue","autoHighlight","open","selectedBucket","closeModalAndRefresh","dispatch","useAppDispatch","addLoading","setAddLoading","_useState3","_useState4","prefix","setPrefix","_useState5","_useState6","suffix","setSuffix","_useState7","_useState8","arn","setArn","_useState9","_useState10","selectedEvents","setSelectedEvents","_useState11","_useState12","arnList","setArnList","fetchArnList","useCallback","api","admin","then","res","data","arns","catch","err","setModalErrorSnackMessage","useEffect","events","NotificationEventType","Put","Get","Delete","Replica","Ilm","arnValues","map","arnConstant","ModalWrapper","modalOpen","onClose","titleIcon","EventSubscriptionIcon","noValidate","autoComplete","onSubmit","e","preventDefault","buckets","createBucketEvent","configuration","ignoreExisting","container","sx","modalBasic","formScrollable","formFieldStyles","formFieldRow","padding","AutocompleteWrapper","InputBox","target","DataTable","columns","elementKey","idField","records","onSelect","event","targetD","checked","elements","_toConsumableArray","push","filter","element","selectedItems","noBackground","customPaperHeight","modalStyleUtils","modalButtonBar","Button","type","variant","onClick","length"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/2661.7ae2f0e2.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/AutocompleteWrapper/AutocompleteWrapper.tsx","screens/Console/Buckets/BucketDetails/AddEvent.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 .\nimport React, { useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n OutlinedInputProps,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport Autocomplete from \"@mui/material/Autocomplete\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { HelpIcon } from \"mds\";\n\ninterface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (returnedValue: string) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n }),\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst AutocompleteWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n const [internalValue, setInternalValue] = useState(options[0]);\n\n const executeOnSelect = (_: any, selectedValue: any) => {\n if (selectedValue) {\n onChange(selectedValue.value);\n setInternalValue(selectedValue);\n }\n };\n\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n option.label}\n isOptionEqualToValue={(option) => option.value === value}\n disabled={disabled}\n renderInput={(params) => }\n value={internalValue}\n onChange={executeOnSelect}\n autoHighlight\n />\n \n
\n
\n );\n};\n\nexport default withStyles(styles)(AutocompleteWrapper);\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, { useCallback, useEffect, useState } from \"react\";\nimport { Button, DataTable, EventSubscriptionIcon, Grid, InputBox } from \"mds\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport { setModalErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\nimport { api } from \"api\";\nimport { NotificationEventType } from \"api/consoleApi\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport AutocompleteWrapper from \"../../Common/FormComponents/AutocompleteWrapper/AutocompleteWrapper\";\nimport {\n formFieldStyles,\n modalBasic,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\n\ninterface IAddEventProps {\n open: boolean;\n selectedBucket: string;\n closeModalAndRefresh: () => void;\n}\n\nconst AddEvent = ({\n open,\n selectedBucket,\n closeModalAndRefresh,\n}: IAddEventProps) => {\n const dispatch = useAppDispatch();\n const [addLoading, setAddLoading] = useState(false);\n const [prefix, setPrefix] = useState(\"\");\n const [suffix, setSuffix] = useState(\"\");\n const [arn, setArn] = useState(\"\");\n const [selectedEvents, setSelectedEvents] = useState(\n [],\n );\n const [arnList, setArnList] = useState([]);\n\n const addRecord = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n api.buckets\n .createBucketEvent(selectedBucket, {\n configuration: {\n arn: arn,\n events: selectedEvents,\n prefix: prefix,\n suffix: suffix,\n },\n ignoreExisting: true,\n })\n .then(() => {\n setAddLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n };\n\n const fetchArnList = useCallback(() => {\n setAddLoading(true);\n api.admin\n .arnList()\n .then((res) => {\n if (res.data.arns !== null) {\n setArnList(res.data.arns);\n }\n setAddLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n }, [dispatch]);\n\n useEffect(() => {\n fetchArnList();\n }, [fetchArnList]);\n\n const events = [\n { label: \"PUT - Object Uploaded\", value: NotificationEventType.Put },\n { label: \"GET - Object accessed\", value: NotificationEventType.Get },\n { label: \"DELETE - Object Deleted\", value: NotificationEventType.Delete },\n {\n label: \"REPLICA - Object Replicated\",\n value: NotificationEventType.Replica,\n },\n { label: \"ILM - Object Transitioned\", value: NotificationEventType.Ilm },\n ];\n\n const handleClick = (event: React.ChangeEvent) => {\n const targetD = event.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: NotificationEventType[] = [...selectedEvents];\n\n if (checked) {\n elements.push(value as NotificationEventType);\n } else {\n elements = elements.filter((element) => element !== value);\n }\n\n setSelectedEvents(elements);\n };\n\n const arnValues = arnList?.map((arnConstant) => ({\n label: arnConstant,\n value: arnConstant,\n }));\n\n return (\n {\n closeModalAndRefresh();\n }}\n title=\"Subscribe To Bucket Events\"\n titleIcon={}\n >\n ) => {\n addRecord(e);\n }}\n >\n \n \n \n {\n setArn(value);\n }}\n id=\"select-access-policy\"\n name=\"select-access-policy\"\n label={\"ARN\"}\n value={arn}\n options={arnValues || []}\n />\n \n \n ) => {\n setPrefix(e.target.value);\n }}\n />\n \n \n ) => {\n setSuffix(e.target.value);\n }}\n />\n \n \n \n \n \n \n {\n closeModalAndRefresh();\n }}\n label={\"Cancel\"}\n />\n \n \n \n \n \n );\n};\n\nexport default AddEvent;\n"],"names":["inputStyles","makeStyles","theme","createStyles","_objectSpread","inputFieldStyles","InputField","props","classes","_jsx","TextField","InputProps","withStyles","fieldBasic","tooltipHelper","_ref","id","name","onChange","options","label","_ref$tooltip","tooltip","value","_ref$disabled","disabled","_useState","useState","_useState2","_slicedToArray","internalValue","setInternalValue","React","children","_jsxs","Grid","item","xs","className","fieldContainer","InputLabel","htmlFor","inputLabel","tooltipContainer","Tooltip","title","placement","HelpIcon","FormControl","fullWidth","Autocomplete","getOptionLabel","option","isOptionEqualToValue","renderInput","params","_","selectedValue","autoHighlight","open","selectedBucket","closeModalAndRefresh","dispatch","useAppDispatch","addLoading","setAddLoading","_useState3","_useState4","prefix","setPrefix","_useState5","_useState6","suffix","setSuffix","_useState7","_useState8","arn","setArn","_useState9","_useState10","selectedEvents","setSelectedEvents","_useState11","_useState12","arnList","setArnList","fetchArnList","useCallback","api","admin","then","res","data","arns","catch","err","setModalErrorSnackMessage","useEffect","events","NotificationEventType","Put","Get","Delete","Replica","Ilm","arnValues","map","arnConstant","ModalWrapper","modalOpen","onClose","titleIcon","EventSubscriptionIcon","noValidate","autoComplete","onSubmit","e","preventDefault","buckets","createBucketEvent","configuration","ignoreExisting","container","sx","modalBasic","formScrollable","formFieldStyles","formFieldRow","padding","AutocompleteWrapper","InputBox","target","DataTable","columns","elementKey","idField","records","onSelect","event","targetD","checked","elements","_toConsumableArray","push","filter","element","selectedItems","noBackground","customPaperHeight","modalStyleUtils","modalButtonBar","Button","type","variant","onClick","length"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2791.a64fa77e.chunk.js.map b/portal-ui/build/static/js/2791.a64fa77e.chunk.js.map index dc6d2d6f6..cd8343317 100644 --- a/portal-ui/build/static/js/2791.a64fa77e.chunk.js.map +++ b/portal-ui/build/static/js/2791.a64fa77e.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/2791.a64fa77e.chunk.js","mappings":"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","sources":["../node_modules/@mui/icons-material/RemoveRedEye.js","../node_modules/@mui/icons-material/VisibilityOff.js","../node_modules/@mui/icons-material/utils/createSvgIcon.js","../node_modules/@mui/material/FormControl/FormControlContext.js","../node_modules/@mui/material/FormControl/formControlState.js","../node_modules/@mui/material/FormControl/useFormControl.js","../node_modules/@mui/material/FormLabel/FormLabel.js","../node_modules/@mui/material/FormLabel/formLabelClasses.js","../node_modules/@mui/material/InputLabel/inputLabelClasses.js","../node_modules/@mui/material/InputLabel/InputLabel.js","../node_modules/@mui/material/ListItemButton/ListItemButton.js","../node_modules/@mui/material/ListItemButton/listItemButtonClasses.js","../node_modules/@mui/material/utils/createChainedFunction.js","../node_modules/@mui/material/utils/deprecatedPropType.js","../node_modules/@mui/utils/esm/deprecatedPropType.js","../node_modules/@mui/material/utils/requirePropFactory.js","../node_modules/@mui/utils/esm/requirePropFactory.js","../node_modules/@mui/material/utils/setRef.js","../node_modules/@mui/material/utils/unsupportedProp.js","../node_modules/@mui/utils/esm/unsupportedProp.js","../node_modules/@mui/material/utils/index.js","../node_modules/@mui/material/utils/isMuiElement.js","../node_modules/@mui/utils/esm/isMuiElement.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.js"],"sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n}), 'RemoveRedEye');\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"\n}), 'VisibilityOff');\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst FormControlContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== 'production') {\n FormControlContext.displayName = 'FormControlContext';\n}\nexport default FormControlContext;","export default function formControlState({\n props,\n states,\n muiFormControl\n}) {\n return states.reduce((acc, state) => {\n acc[state] = props[state];\n if (muiFormControl) {\n if (typeof props[state] === 'undefined') {\n acc[state] = muiFormControl[state];\n }\n }\n return acc;\n }, {});\n}","import * as React from 'react';\nimport FormControlContext from './FormControlContext';\nexport default function useFormControl() {\n return React.useContext(FormControlContext);\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"disabled\", \"error\", \"filled\", \"focused\", \"required\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport formLabelClasses, { getFormLabelUtilityClasses } from './formLabelClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n focused,\n disabled,\n error,\n filled,\n required\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, disabled && 'disabled', error && 'error', filled && 'filled', focused && 'focused', required && 'required'],\n asterisk: ['asterisk', error && 'error']\n };\n return composeClasses(slots, getFormLabelUtilityClasses, classes);\n};\nexport const FormLabelRoot = styled('label', {\n name: 'MuiFormLabel',\n slot: 'Root',\n overridesResolver: ({\n ownerState\n }, styles) => {\n return _extends({}, styles.root, ownerState.color === 'secondary' && styles.colorSecondary, ownerState.filled && styles.filled);\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, theme.typography.body1, {\n lineHeight: '1.4375em',\n padding: 0,\n position: 'relative',\n [`&.${formLabelClasses.focused}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${formLabelClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n },\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst AsteriskComponent = styled('span', {\n name: 'MuiFormLabel',\n slot: 'Asterisk',\n overridesResolver: (props, styles) => styles.asterisk\n})(({\n theme\n}) => ({\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst FormLabel = /*#__PURE__*/React.forwardRef(function FormLabel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormLabel'\n });\n const {\n children,\n className,\n component = 'label'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['color', 'required', 'focused', 'disabled', 'error', 'filled']\n });\n const ownerState = _extends({}, props, {\n color: fcs.color || 'primary',\n component,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(FormLabelRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: [children, fcs.required && /*#__PURE__*/_jsxs(AsteriskComponent, {\n ownerState: ownerState,\n \"aria-hidden\": true,\n className: classes.asterisk,\n children: [\"\\u2009\", '*']\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormLabel.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\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 * If `true`, the label should be displayed in a disabled state.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the label should use filled classes key.\n */\n filled: PropTypes.bool,\n /**\n * If `true`, the input of this label is focused (used by `FormGroup` components).\n */\n focused: PropTypes.bool,\n /**\n * If `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\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} : void 0;\nexport default FormLabel;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getFormLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiFormLabel', slot);\n}\nconst formLabelClasses = generateUtilityClasses('MuiFormLabel', ['root', 'colorSecondary', 'focused', 'disabled', 'error', 'filled', 'required', 'asterisk']);\nexport default formLabelClasses;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getInputLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiInputLabel', slot);\n}\nconst inputLabelClasses = generateUtilityClasses('MuiInputLabel', ['root', 'focused', 'disabled', 'error', 'required', 'asterisk', 'formControl', 'sizeSmall', 'shrink', 'animated', 'standard', 'filled', 'outlined']);\nexport default inputLabelClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"disableAnimation\", \"margin\", \"shrink\", \"variant\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport clsx from 'clsx';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport FormLabel, { formLabelClasses } from '../FormLabel';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { getInputLabelUtilityClasses } from './inputLabelClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n formControl,\n size,\n shrink,\n disableAnimation,\n variant,\n required\n } = ownerState;\n const slots = {\n root: ['root', formControl && 'formControl', !disableAnimation && 'animated', shrink && 'shrink', size === 'small' && 'sizeSmall', variant],\n asterisk: [required && 'asterisk']\n };\n const composedClasses = composeClasses(slots, getInputLabelUtilityClasses, classes);\n return _extends({}, classes, composedClasses);\n};\nconst InputLabelRoot = styled(FormLabel, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiInputLabel',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${formLabelClasses.asterisk}`]: styles.asterisk\n }, styles.root, ownerState.formControl && styles.formControl, ownerState.size === 'small' && styles.sizeSmall, ownerState.shrink && styles.shrink, !ownerState.disableAnimation && styles.animated, styles[ownerState.variant]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'block',\n transformOrigin: 'top left',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: '100%'\n}, ownerState.formControl && {\n position: 'absolute',\n left: 0,\n top: 0,\n // slight alteration to spec spacing to match visual spec result\n transform: 'translate(0, 20px) scale(1)'\n}, ownerState.size === 'small' && {\n // Compensation for the `Input.inputSizeSmall` style.\n transform: 'translate(0, 17px) scale(1)'\n}, ownerState.shrink && {\n transform: 'translate(0, -1.5px) scale(0.75)',\n transformOrigin: 'top left',\n maxWidth: '133%'\n}, !ownerState.disableAnimation && {\n transition: theme.transitions.create(['color', 'transform', 'max-width'], {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n })\n}, ownerState.variant === 'filled' && _extends({\n // Chrome's autofill feature gives the input field a yellow background.\n // Since the input field is behind the label in the HTML tree,\n // the input field is drawn last and hides the label with an opaque background color.\n // zIndex: 1 will raise the label above opaque background-colors of input.\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(12px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 13px) scale(1)'\n}, ownerState.shrink && _extends({\n userSelect: 'none',\n pointerEvents: 'auto',\n transform: 'translate(12px, 7px) scale(0.75)',\n maxWidth: 'calc(133% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 4px) scale(0.75)'\n})), ownerState.variant === 'outlined' && _extends({\n // see comment above on filled.zIndex\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(14px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(14px, 9px) scale(1)'\n}, ownerState.shrink && {\n userSelect: 'none',\n pointerEvents: 'auto',\n // Theoretically, we should have (8+5)*2/0.75 = 34px\n // but it feels a better when it bleeds a bit on the left, so 32px.\n maxWidth: 'calc(133% - 32px)',\n transform: 'translate(14px, -9px) scale(0.75)'\n})));\nconst InputLabel = /*#__PURE__*/React.forwardRef(function InputLabel(inProps, ref) {\n const props = useThemeProps({\n name: 'MuiInputLabel',\n props: inProps\n });\n const {\n disableAnimation = false,\n shrink: shrinkProp,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n let shrink = shrinkProp;\n if (typeof shrink === 'undefined' && muiFormControl) {\n shrink = muiFormControl.filled || muiFormControl.focused || muiFormControl.adornedStart;\n }\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['size', 'variant', 'required']\n });\n const ownerState = _extends({}, props, {\n disableAnimation,\n formControl: muiFormControl,\n shrink,\n size: fcs.size,\n variant: fcs.variant,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(InputLabelRoot, _extends({\n \"data-shrink\": shrink,\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? InputLabel.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the transition animation is disabled.\n * @default false\n */\n disableAnimation: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` of this label is focused.\n */\n focused: PropTypes.bool,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: PropTypes.oneOf(['dense']),\n /**\n * if `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n /**\n * If `true`, the label is shrunk.\n */\n shrink: PropTypes.bool,\n /**\n * The size of the component.\n * @default 'normal'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['normal', 'small']), PropTypes.string]),\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 * The variant to use.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputLabel;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"alignItems\", \"autoFocus\", \"component\", \"children\", \"dense\", \"disableGutters\", \"divider\", \"focusVisibleClassName\", \"selected\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\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 useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport ListContext from '../List/ListContext';\nimport listItemButtonClasses, { getListItemButtonUtilityClass } from './listItemButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.alignItems === 'flex-start' && styles.alignItemsFlexStart, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\nconst useUtilityClasses = ownerState => {\n const {\n alignItems,\n classes,\n dense,\n disabled,\n disableGutters,\n divider,\n selected\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', !disableGutters && 'gutters', divider && 'divider', disabled && 'disabled', alignItems === 'flex-start' && 'alignItemsFlexStart', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getListItemButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst ListItemButtonRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiListItemButton',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n flexGrow: 1,\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minWidth: 0,\n boxSizing: 'border-box',\n textAlign: 'left',\n paddingTop: 8,\n paddingBottom: 8,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n }),\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: (theme.vars || theme).palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${listItemButtonClasses.selected}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${listItemButtonClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${listItemButtonClasses.selected}:hover`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${listItemButtonClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`&.${listItemButtonClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n }\n}, ownerState.divider && {\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`,\n backgroundClip: 'padding-box'\n}, ownerState.alignItems === 'flex-start' && {\n alignItems: 'flex-start'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.dense && {\n paddingTop: 4,\n paddingBottom: 4\n}));\nconst ListItemButton = /*#__PURE__*/React.forwardRef(function ListItemButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiListItemButton'\n });\n const {\n alignItems = 'center',\n autoFocus = false,\n component = 'div',\n children,\n dense = false,\n disableGutters = false,\n divider = false,\n focusVisibleClassName,\n selected = false,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = React.useContext(ListContext);\n const childContext = React.useMemo(() => ({\n dense: dense || context.dense || false,\n alignItems,\n disableGutters\n }), [alignItems, context.dense, dense, disableGutters]);\n const listItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (listItemRef.current) {\n listItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a ListItemButton whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n const ownerState = _extends({}, props, {\n alignItems,\n dense: childContext.dense,\n disableGutters,\n divider,\n selected\n });\n const classes = useUtilityClasses(ownerState);\n const handleRef = useForkRef(listItemRef, ref);\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(ListItemButtonRoot, _extends({\n ref: handleRef,\n href: other.href || other.to\n // `ButtonBase` processes `href` or `to` if `component` is set to 'button'\n ,\n component: (other.href || other.to) && component === 'div' ? 'button' : component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),\n ownerState: ownerState,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes,\n children: children\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItemButton.propTypes /* remove-proptypes */ = {\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 * Defines the `align-items` style property.\n * @default 'center'\n */\n alignItems: PropTypes.oneOf(['center', 'flex-start']),\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n /**\n * The content of the component if a `ListItemSecondaryAction` is used it must\n * be the last child.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent List component.\n * @default false\n */\n dense: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * If `true`, a 1px light border is added to the bottom of the list item.\n * @default false\n */\n divider: PropTypes.bool,\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * @ignore\n */\n href: PropTypes.string,\n /**\n * Use to apply selected styling.\n * @default false\n */\n selected: PropTypes.bool,\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} : void 0;\nexport default ListItemButton;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getListItemButtonUtilityClass(slot) {\n return generateUtilityClass('MuiListItemButton', slot);\n}\nconst listItemButtonClasses = generateUtilityClasses('MuiListItemButton', ['root', 'focusVisible', 'dense', 'alignItemsFlexStart', 'disabled', 'divider', 'gutters', 'selected']);\nexport default listItemButtonClasses;","import { unstable_createChainedFunction as createChainedFunction } from '@mui/utils';\nexport default createChainedFunction;","import { unstable_deprecatedPropType as deprecatedPropType } from '@mui/utils';\nexport default deprecatedPropType;","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return (props, propName, componentName, location, propFullName) => {\n const componentNameSafe = componentName || '<>';\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The ${location} \\`${propFullNameSafe}\\` of ` + `\\`${componentNameSafe}\\` is deprecated. ${reason}`);\n }\n return null;\n };\n}","import { unstable_requirePropFactory as requirePropFactory } from '@mui/utils';\nexport default requirePropFactory;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function requirePropFactory(componentNameInError, Component) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n\n // eslint-disable-next-line react/forbid-foreign-prop-types\n const prevPropTypes = Component ? _extends({}, Component.propTypes) : null;\n const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {\n const propFullNameSafe = propFullName || propName;\n const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];\n if (defaultTypeChecker) {\n const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);\n if (typeCheckerResult) {\n return typeCheckerResult;\n }\n }\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(`The prop \\`${propFullNameSafe}\\` of ` + `\\`${componentNameInError}\\` can only be used together with the \\`${requiredProp}\\` prop.`);\n }\n return null;\n };\n return requireProp;\n}","import { unstable_setRef as setRef } from '@mui/utils';\nexport default setRef;","import { unstable_unsupportedProp as unsupportedProp } from '@mui/utils';\nexport default unsupportedProp;","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","import { unstable_ClassNameGenerator as ClassNameGenerator } from '@mui/base/className';\nexport { default as capitalize } from './capitalize';\nexport { default as createChainedFunction } from './createChainedFunction';\nexport { default as createSvgIcon } from './createSvgIcon';\nexport { default as debounce } from './debounce';\nexport { default as deprecatedPropType } from './deprecatedPropType';\nexport { default as isMuiElement } from './isMuiElement';\nexport { default as ownerDocument } from './ownerDocument';\nexport { default as ownerWindow } from './ownerWindow';\nexport { default as requirePropFactory } from './requirePropFactory';\nexport { default as setRef } from './setRef';\nexport { default as unstable_useEnhancedEffect } from './useEnhancedEffect';\nexport { default as unstable_useId } from './useId';\nexport { default as unsupportedProp } from './unsupportedProp';\nexport { default as useControlled } from './useControlled';\nexport { default as useEventCallback } from './useEventCallback';\nexport { default as useForkRef } from './useForkRef';\nexport { default as useIsFocusVisible } from './useIsFocusVisible';\n// TODO: remove this export once ClassNameGenerator is stable\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const unstable_ClassNameGenerator = {\n configure: generator => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(['MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.', '', \"You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead\", '', 'The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401', '', 'The updated documentation: https://mui.com/guides/classname-generator/'].join('\\n'));\n }\n ClassNameGenerator.configure(generator);\n }\n};","import { unstable_isMuiElement as isMuiElement } from '@mui/utils';\nexport default isMuiElement;","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf(element.type.muiName) !== -1;\n}","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"names":["_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","Object","defineProperty","value","enumerable","get","_utils","createSvgIcon","FormControlContext","React","undefined","formControlState","_ref","props","states","muiFormControl","reduce","acc","state","useFormControl","_excluded","FormLabelRoot","styled","name","slot","overridesResolver","styles","ownerState","_extends","root","color","colorSecondary","filled","_ref2","_extends2","theme","vars","palette","text","secondary","typography","body1","lineHeight","padding","position","_defineProperty","concat","formLabelClasses","focused","main","disabled","error","AsteriskComponent","asterisk","_ref3","FormLabel","inProps","ref","useThemeProps","children","className","_props$component","component","other","_objectWithoutPropertiesLoose","fcs","required","classes","slots","capitalize","composeClasses","getFormLabelUtilityClasses","useUtilityClasses","_jsxs","as","clsx","generateUtilityClass","generateUtilityClasses","getInputLabelUtilityClasses","InputLabelRoot","shouldForwardProp","prop","rootShouldForwardProp","formControl","size","sizeSmall","shrink","disableAnimation","animated","variant","display","transformOrigin","whiteSpace","overflow","textOverflow","maxWidth","left","top","transform","transition","transitions","create","duration","shorter","easing","easeOut","zIndex","pointerEvents","userSelect","_props$disableAnimati","shrinkProp","adornedStart","composedClasses","_jsx","ListItemButtonRoot","ButtonBase","dense","alignItems","alignItemsFlexStart","divider","disableGutters","gutters","flexGrow","justifyContent","textDecoration","minWidth","boxSizing","textAlign","paddingTop","paddingBottom","shortest","backgroundColor","action","hover","listItemButtonClasses","selected","primary","mainChannel","selectedOpacity","alpha","focusVisible","focusOpacity","hoverOpacity","focus","opacity","disabledOpacity","borderBottom","backgroundClip","paddingLeft","paddingRight","ListItemButton","_props$alignItems","_props$autoFocus","autoFocus","_props$dense","_props$disableGutters","_props$divider","focusVisibleClassName","_props$selected","context","ListContext","childContext","listItemRef","useEnhancedEffect","current","getListItemButtonUtilityClass","handleRef","useForkRef","Provider","href","to","createChainedFunction","validator","reason","componentNameInError","Component","propName","componentName","location","propFullName","unstable_ClassNameGenerator","configure","generator","ClassNameGenerator","element","muiNames","indexOf","type","muiName","module","obj","__esModule"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/2791.a64fa77e.chunk.js","mappings":"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","sources":["../node_modules/@mui/icons-material/RemoveRedEye.js","../node_modules/@mui/icons-material/VisibilityOff.js","../node_modules/@mui/icons-material/utils/createSvgIcon.js","../node_modules/@mui/material/FormControl/FormControlContext.js","../node_modules/@mui/material/FormControl/formControlState.js","../node_modules/@mui/material/FormControl/useFormControl.js","../node_modules/@mui/material/FormLabel/FormLabel.js","../node_modules/@mui/material/FormLabel/formLabelClasses.js","../node_modules/@mui/material/InputLabel/inputLabelClasses.js","../node_modules/@mui/material/InputLabel/InputLabel.js","../node_modules/@mui/material/ListItemButton/ListItemButton.js","../node_modules/@mui/material/ListItemButton/listItemButtonClasses.js","../node_modules/@mui/material/utils/createChainedFunction.js","../node_modules/@mui/material/utils/deprecatedPropType.js","../node_modules/@mui/utils/esm/deprecatedPropType.js","../node_modules/@mui/material/utils/requirePropFactory.js","../node_modules/@mui/utils/esm/requirePropFactory.js","../node_modules/@mui/material/utils/setRef.js","../node_modules/@mui/material/utils/unsupportedProp.js","../node_modules/@mui/utils/esm/unsupportedProp.js","../node_modules/@mui/material/utils/index.js","../node_modules/@mui/material/utils/isMuiElement.js","../node_modules/@mui/utils/esm/isMuiElement.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.js"],"sourcesContent":["\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n}), 'RemoveRedEye');\nexports.default = _default;","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"\n}), 'VisibilityOff');\nexports.default = _default;","\"use strict\";\n'use client';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst FormControlContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== 'production') {\n FormControlContext.displayName = 'FormControlContext';\n}\nexport default FormControlContext;","export default function formControlState({\n props,\n states,\n muiFormControl\n}) {\n return states.reduce((acc, state) => {\n acc[state] = props[state];\n if (muiFormControl) {\n if (typeof props[state] === 'undefined') {\n acc[state] = muiFormControl[state];\n }\n }\n return acc;\n }, {});\n}","'use client';\n\nimport * as React from 'react';\nimport FormControlContext from './FormControlContext';\nexport default function useFormControl() {\n return React.useContext(FormControlContext);\n}","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"disabled\", \"error\", \"filled\", \"focused\", \"required\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport formLabelClasses, { getFormLabelUtilityClasses } from './formLabelClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n focused,\n disabled,\n error,\n filled,\n required\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, disabled && 'disabled', error && 'error', filled && 'filled', focused && 'focused', required && 'required'],\n asterisk: ['asterisk', error && 'error']\n };\n return composeClasses(slots, getFormLabelUtilityClasses, classes);\n};\nexport const FormLabelRoot = styled('label', {\n name: 'MuiFormLabel',\n slot: 'Root',\n overridesResolver: ({\n ownerState\n }, styles) => {\n return _extends({}, styles.root, ownerState.color === 'secondary' && styles.colorSecondary, ownerState.filled && styles.filled);\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, theme.typography.body1, {\n lineHeight: '1.4375em',\n padding: 0,\n position: 'relative',\n [`&.${formLabelClasses.focused}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${formLabelClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n },\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst AsteriskComponent = styled('span', {\n name: 'MuiFormLabel',\n slot: 'Asterisk',\n overridesResolver: (props, styles) => styles.asterisk\n})(({\n theme\n}) => ({\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst FormLabel = /*#__PURE__*/React.forwardRef(function FormLabel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormLabel'\n });\n const {\n children,\n className,\n component = 'label'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['color', 'required', 'focused', 'disabled', 'error', 'filled']\n });\n const ownerState = _extends({}, props, {\n color: fcs.color || 'primary',\n component,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(FormLabelRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: [children, fcs.required && /*#__PURE__*/_jsxs(AsteriskComponent, {\n ownerState: ownerState,\n \"aria-hidden\": true,\n className: classes.asterisk,\n children: [\"\\u2009\", '*']\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormLabel.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\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 * If `true`, the label should be displayed in a disabled state.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the label should use filled classes key.\n */\n filled: PropTypes.bool,\n /**\n * If `true`, the input of this label is focused (used by `FormGroup` components).\n */\n focused: PropTypes.bool,\n /**\n * If `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\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} : void 0;\nexport default FormLabel;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getFormLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiFormLabel', slot);\n}\nconst formLabelClasses = generateUtilityClasses('MuiFormLabel', ['root', 'colorSecondary', 'focused', 'disabled', 'error', 'filled', 'required', 'asterisk']);\nexport default formLabelClasses;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getInputLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiInputLabel', slot);\n}\nconst inputLabelClasses = generateUtilityClasses('MuiInputLabel', ['root', 'focused', 'disabled', 'error', 'required', 'asterisk', 'formControl', 'sizeSmall', 'shrink', 'animated', 'standard', 'filled', 'outlined']);\nexport default inputLabelClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"disableAnimation\", \"margin\", \"shrink\", \"variant\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport clsx from 'clsx';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport FormLabel, { formLabelClasses } from '../FormLabel';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { getInputLabelUtilityClasses } from './inputLabelClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n formControl,\n size,\n shrink,\n disableAnimation,\n variant,\n required\n } = ownerState;\n const slots = {\n root: ['root', formControl && 'formControl', !disableAnimation && 'animated', shrink && 'shrink', size === 'small' && 'sizeSmall', variant],\n asterisk: [required && 'asterisk']\n };\n const composedClasses = composeClasses(slots, getInputLabelUtilityClasses, classes);\n return _extends({}, classes, composedClasses);\n};\nconst InputLabelRoot = styled(FormLabel, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiInputLabel',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${formLabelClasses.asterisk}`]: styles.asterisk\n }, styles.root, ownerState.formControl && styles.formControl, ownerState.size === 'small' && styles.sizeSmall, ownerState.shrink && styles.shrink, !ownerState.disableAnimation && styles.animated, styles[ownerState.variant]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'block',\n transformOrigin: 'top left',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: '100%'\n}, ownerState.formControl && {\n position: 'absolute',\n left: 0,\n top: 0,\n // slight alteration to spec spacing to match visual spec result\n transform: 'translate(0, 20px) scale(1)'\n}, ownerState.size === 'small' && {\n // Compensation for the `Input.inputSizeSmall` style.\n transform: 'translate(0, 17px) scale(1)'\n}, ownerState.shrink && {\n transform: 'translate(0, -1.5px) scale(0.75)',\n transformOrigin: 'top left',\n maxWidth: '133%'\n}, !ownerState.disableAnimation && {\n transition: theme.transitions.create(['color', 'transform', 'max-width'], {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n })\n}, ownerState.variant === 'filled' && _extends({\n // Chrome's autofill feature gives the input field a yellow background.\n // Since the input field is behind the label in the HTML tree,\n // the input field is drawn last and hides the label with an opaque background color.\n // zIndex: 1 will raise the label above opaque background-colors of input.\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(12px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 13px) scale(1)'\n}, ownerState.shrink && _extends({\n userSelect: 'none',\n pointerEvents: 'auto',\n transform: 'translate(12px, 7px) scale(0.75)',\n maxWidth: 'calc(133% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 4px) scale(0.75)'\n})), ownerState.variant === 'outlined' && _extends({\n // see comment above on filled.zIndex\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(14px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(14px, 9px) scale(1)'\n}, ownerState.shrink && {\n userSelect: 'none',\n pointerEvents: 'auto',\n // Theoretically, we should have (8+5)*2/0.75 = 34px\n // but it feels a better when it bleeds a bit on the left, so 32px.\n maxWidth: 'calc(133% - 32px)',\n transform: 'translate(14px, -9px) scale(0.75)'\n})));\nconst InputLabel = /*#__PURE__*/React.forwardRef(function InputLabel(inProps, ref) {\n const props = useThemeProps({\n name: 'MuiInputLabel',\n props: inProps\n });\n const {\n disableAnimation = false,\n shrink: shrinkProp,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n let shrink = shrinkProp;\n if (typeof shrink === 'undefined' && muiFormControl) {\n shrink = muiFormControl.filled || muiFormControl.focused || muiFormControl.adornedStart;\n }\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['size', 'variant', 'required']\n });\n const ownerState = _extends({}, props, {\n disableAnimation,\n formControl: muiFormControl,\n shrink,\n size: fcs.size,\n variant: fcs.variant,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(InputLabelRoot, _extends({\n \"data-shrink\": shrink,\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? InputLabel.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the transition animation is disabled.\n * @default false\n */\n disableAnimation: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` of this label is focused.\n */\n focused: PropTypes.bool,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: PropTypes.oneOf(['dense']),\n /**\n * if `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n /**\n * If `true`, the label is shrunk.\n */\n shrink: PropTypes.bool,\n /**\n * The size of the component.\n * @default 'normal'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['normal', 'small']), PropTypes.string]),\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 * The variant to use.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputLabel;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"alignItems\", \"autoFocus\", \"component\", \"children\", \"dense\", \"disableGutters\", \"divider\", \"focusVisibleClassName\", \"selected\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\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 useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport ListContext from '../List/ListContext';\nimport listItemButtonClasses, { getListItemButtonUtilityClass } from './listItemButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.alignItems === 'flex-start' && styles.alignItemsFlexStart, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\nconst useUtilityClasses = ownerState => {\n const {\n alignItems,\n classes,\n dense,\n disabled,\n disableGutters,\n divider,\n selected\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', !disableGutters && 'gutters', divider && 'divider', disabled && 'disabled', alignItems === 'flex-start' && 'alignItemsFlexStart', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getListItemButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst ListItemButtonRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiListItemButton',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n flexGrow: 1,\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minWidth: 0,\n boxSizing: 'border-box',\n textAlign: 'left',\n paddingTop: 8,\n paddingBottom: 8,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n }),\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: (theme.vars || theme).palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${listItemButtonClasses.selected}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${listItemButtonClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${listItemButtonClasses.selected}:hover`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${listItemButtonClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`&.${listItemButtonClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n }\n}, ownerState.divider && {\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`,\n backgroundClip: 'padding-box'\n}, ownerState.alignItems === 'flex-start' && {\n alignItems: 'flex-start'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.dense && {\n paddingTop: 4,\n paddingBottom: 4\n}));\nconst ListItemButton = /*#__PURE__*/React.forwardRef(function ListItemButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiListItemButton'\n });\n const {\n alignItems = 'center',\n autoFocus = false,\n component = 'div',\n children,\n dense = false,\n disableGutters = false,\n divider = false,\n focusVisibleClassName,\n selected = false,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = React.useContext(ListContext);\n const childContext = React.useMemo(() => ({\n dense: dense || context.dense || false,\n alignItems,\n disableGutters\n }), [alignItems, context.dense, dense, disableGutters]);\n const listItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (listItemRef.current) {\n listItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a ListItemButton whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n const ownerState = _extends({}, props, {\n alignItems,\n dense: childContext.dense,\n disableGutters,\n divider,\n selected\n });\n const classes = useUtilityClasses(ownerState);\n const handleRef = useForkRef(listItemRef, ref);\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(ListItemButtonRoot, _extends({\n ref: handleRef,\n href: other.href || other.to\n // `ButtonBase` processes `href` or `to` if `component` is set to 'button'\n ,\n component: (other.href || other.to) && component === 'div' ? 'button' : component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),\n ownerState: ownerState,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes,\n children: children\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItemButton.propTypes /* remove-proptypes */ = {\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 * Defines the `align-items` style property.\n * @default 'center'\n */\n alignItems: PropTypes.oneOf(['center', 'flex-start']),\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n /**\n * The content of the component if a `ListItemSecondaryAction` is used it must\n * be the last child.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent List component.\n * @default false\n */\n dense: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * If `true`, a 1px light border is added to the bottom of the list item.\n * @default false\n */\n divider: PropTypes.bool,\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * @ignore\n */\n href: PropTypes.string,\n /**\n * Use to apply selected styling.\n * @default false\n */\n selected: PropTypes.bool,\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} : void 0;\nexport default ListItemButton;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getListItemButtonUtilityClass(slot) {\n return generateUtilityClass('MuiListItemButton', slot);\n}\nconst listItemButtonClasses = generateUtilityClasses('MuiListItemButton', ['root', 'focusVisible', 'dense', 'alignItemsFlexStart', 'disabled', 'divider', 'gutters', 'selected']);\nexport default listItemButtonClasses;","import { unstable_createChainedFunction as createChainedFunction } from '@mui/utils';\nexport default createChainedFunction;","import { unstable_deprecatedPropType as deprecatedPropType } from '@mui/utils';\nexport default deprecatedPropType;","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return (props, propName, componentName, location, propFullName) => {\n const componentNameSafe = componentName || '<>';\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The ${location} \\`${propFullNameSafe}\\` of ` + `\\`${componentNameSafe}\\` is deprecated. ${reason}`);\n }\n return null;\n };\n}","import { unstable_requirePropFactory as requirePropFactory } from '@mui/utils';\nexport default requirePropFactory;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function requirePropFactory(componentNameInError, Component) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n\n // eslint-disable-next-line react/forbid-foreign-prop-types\n const prevPropTypes = Component ? _extends({}, Component.propTypes) : null;\n const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {\n const propFullNameSafe = propFullName || propName;\n const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];\n if (defaultTypeChecker) {\n const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);\n if (typeCheckerResult) {\n return typeCheckerResult;\n }\n }\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(`The prop \\`${propFullNameSafe}\\` of ` + `\\`${componentNameInError}\\` can only be used together with the \\`${requiredProp}\\` prop.`);\n }\n return null;\n };\n return requireProp;\n}","import { unstable_setRef as setRef } from '@mui/utils';\nexport default setRef;","import { unstable_unsupportedProp as unsupportedProp } from '@mui/utils';\nexport default unsupportedProp;","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","'use client';\n\nimport { unstable_ClassNameGenerator as ClassNameGenerator } from '@mui/base/className';\nexport { default as capitalize } from './capitalize';\nexport { default as createChainedFunction } from './createChainedFunction';\nexport { default as createSvgIcon } from './createSvgIcon';\nexport { default as debounce } from './debounce';\nexport { default as deprecatedPropType } from './deprecatedPropType';\nexport { default as isMuiElement } from './isMuiElement';\nexport { default as ownerDocument } from './ownerDocument';\nexport { default as ownerWindow } from './ownerWindow';\nexport { default as requirePropFactory } from './requirePropFactory';\nexport { default as setRef } from './setRef';\nexport { default as unstable_useEnhancedEffect } from './useEnhancedEffect';\nexport { default as unstable_useId } from './useId';\nexport { default as unsupportedProp } from './unsupportedProp';\nexport { default as useControlled } from './useControlled';\nexport { default as useEventCallback } from './useEventCallback';\nexport { default as useForkRef } from './useForkRef';\nexport { default as useIsFocusVisible } from './useIsFocusVisible';\n// TODO: remove this export once ClassNameGenerator is stable\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const unstable_ClassNameGenerator = {\n configure: generator => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(['MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.', '', \"You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead\", '', 'The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401', '', 'The updated documentation: https://mui.com/guides/classname-generator/'].join('\\n'));\n }\n ClassNameGenerator.configure(generator);\n }\n};","import { unstable_isMuiElement as isMuiElement } from '@mui/utils';\nexport default isMuiElement;","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf(element.type.muiName) !== -1;\n}","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"names":["_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","Object","defineProperty","value","enumerable","get","_utils","createSvgIcon","FormControlContext","React","undefined","formControlState","_ref","props","states","muiFormControl","reduce","acc","state","useFormControl","_excluded","FormLabelRoot","styled","name","slot","overridesResolver","styles","ownerState","_extends","root","color","colorSecondary","filled","_ref2","_extends2","theme","vars","palette","text","secondary","typography","body1","lineHeight","padding","position","_defineProperty","concat","formLabelClasses","focused","main","disabled","error","AsteriskComponent","asterisk","_ref3","FormLabel","inProps","ref","useThemeProps","children","className","_props$component","component","other","_objectWithoutPropertiesLoose","fcs","required","classes","slots","capitalize","composeClasses","getFormLabelUtilityClasses","useUtilityClasses","_jsxs","as","clsx","generateUtilityClass","generateUtilityClasses","getInputLabelUtilityClasses","InputLabelRoot","shouldForwardProp","prop","rootShouldForwardProp","formControl","size","sizeSmall","shrink","disableAnimation","animated","variant","display","transformOrigin","whiteSpace","overflow","textOverflow","maxWidth","left","top","transform","transition","transitions","create","duration","shorter","easing","easeOut","zIndex","pointerEvents","userSelect","_props$disableAnimati","shrinkProp","adornedStart","composedClasses","_jsx","ListItemButtonRoot","ButtonBase","dense","alignItems","alignItemsFlexStart","divider","disableGutters","gutters","flexGrow","justifyContent","textDecoration","minWidth","boxSizing","textAlign","paddingTop","paddingBottom","shortest","backgroundColor","action","hover","listItemButtonClasses","selected","primary","mainChannel","selectedOpacity","alpha","focusVisible","focusOpacity","hoverOpacity","focus","opacity","disabledOpacity","borderBottom","backgroundClip","paddingLeft","paddingRight","ListItemButton","_props$alignItems","_props$autoFocus","autoFocus","_props$dense","_props$disableGutters","_props$divider","focusVisibleClassName","_props$selected","context","ListContext","childContext","listItemRef","useEnhancedEffect","current","getListItemButtonUtilityClass","handleRef","useForkRef","Provider","href","to","createChainedFunction","validator","reason","componentNameInError","Component","propName","componentName","location","propFullName","unstable_ClassNameGenerator","configure","generator","ClassNameGenerator","element","muiNames","indexOf","type","muiName","module","obj","__esModule"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2983.24d52eba.chunk.js b/portal-ui/build/static/js/2983.24d52eba.chunk.js new file mode 100644 index 000000000..d69a887ef --- /dev/null +++ b/portal-ui/build/static/js/2983.24d52eba.chunk.js @@ -0,0 +1,2 @@ +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2983],{34866:function(e,n,t){"use strict";var r=t(1413),o=t(72791),i=t(61889),c=t(94454),a=t(30829),l=t(20068),s=t(11135),d=t(25787),u=t(23814),h=t(29945),f=t(80184);n.Z=(0,d.Z)((function(e){return(0,s.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({},u.YI),u.Hr),u.lM),{},{fieldContainer:(0,r.Z)((0,r.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,r=e.value,s=e.id,d=e.name,u=e.checked,p=void 0!==u&&u,x=e.disabled,g=void 0!==x&&x,v=e.noTopMargin,m=void 0!==v&&v,b=e.tooltip,w=void 0===b?"":b,j=e.overrideLabelClasses,C=void 0===j?"":j,Z=e.overrideCheckboxStyles,y=e.classes,S=e.className;return(0,f.jsx)(o.Fragment,{children:(0,f.jsxs)(i.ZP,{item:!0,xs:12,className:"".concat(y.fieldContainer," ").concat(m?y.noTopMargin:""," ").concat(S||""),children:[(0,f.jsx)("div",{children:(0,f.jsx)(c.Z,{name:d,id:s,value:r,color:"primary",inputProps:{"aria-label":"secondary checkbox"},checked:p,onChange:t,checkedIcon:(0,f.jsx)("span",{className:y.checkedIcon}),icon:(0,f.jsx)("span",{className:y.unCheckedIcon}),disabled:g,disableRipple:!0,disableFocusRipple:!0,focusRipple:!1,centerRipple:!1,disableTouchRipple:!0,style:Z||{}})}),""!==n&&(0,f.jsxs)(a.Z,{htmlFor:s,className:"".concat(y.noMinWidthLabel," ").concat(C),children:[(0,f.jsx)("span",{children:n}),""!==w&&(0,f.jsx)("div",{className:y.tooltipContainer,children:(0,f.jsx)(l.Z,{title:w,placement:"top-start",children:(0,f.jsx)("div",{className:y.tooltip,children:(0,f.jsx)(h.byK,{})})})})]})]})})}))},92983:function(e,n,t){"use strict";t.d(n,{Z:function(){return K}});var r=t(29439),o=t(93433),i=t(1413),c=t(72791),a=t(20890),l=t(13400),s=t(15473),d=t(61889),u=t(35527),h=t(40986),f=t(94454),p=t(57689),x=t(5171),g=t(26181),v=t.n(g),m=t(26769),b=t.n(m),w=t(11135),j=t(25787),C=t(97911),Z=t(26759),y=t(70366),S=t(11087),k=t(20068),N="#081C42",F="#081C42",R=t(80184),z=function(e){var n=e.active,t=void 0!==n&&n;return(0,R.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",children:(0,R.jsx)("path",{fill:t?F:N,d:"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96z"})})},T=function(e){var n=e.active,t=void 0!==n&&n;return(0,R.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",children:(0,R.jsx)("path",{fill:t?F:N,d:"M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3v-3h18v3z"})})},A=function(e){var n=e.active,t=void 0!==n&&n;return(0,R.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",children:(0,R.jsx)("path",{fill:t?F:N,d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm5 11H7v-2h10v2z"})})},I=function(e){return(0,R.jsx)("svg",(0,i.Z)((0,i.Z)({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",className:"min-icon",fill:"currentcolor"},e),{},{children:(0,R.jsx)("path",{d:"M20 16h2v-2h-2v2zm0-9v5h2V7h-2zM10 4c-4.42 0-8 3.58-8 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm0 10c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"})}))},B=t(29945),P=(0,j.Z)((function(){return(0,w.Z)({spacing:{margin:"0 8px"},buttonDisabled:{"&.MuiButtonBase-root.Mui-disabled":{cursor:"not-allowed",filter:"grayscale(100%)",opacity:"30%"}}})}))((function(e){var n=e.type,t=e.onClick,r=e.valueToSend,o=e.idField,i=e.selected,c=e.to,a=e.sendOnlyId,s=void 0!==a&&a,d=e.disabled,u=void 0!==d&&d,h=e.classes,f=e.label,p=s?r[o]:r,x="string"===typeof n?function(e,n){switch(e){case"view":case"preview":return(0,R.jsx)(B.P99,{});case"edit":return(0,R.jsx)(B.dY8,{});case"delete":return(0,R.jsx)(B.XHJ,{});case"description":return(0,R.jsx)(B.v42,{});case"share":return(0,R.jsx)(B.aAc,{});case"cloud":return(0,R.jsx)(z,{active:n});case"console":return(0,R.jsx)(T,{active:n});case"download":return(0,R.jsx)(B._8t,{});case"disable":return(0,R.jsx)(A,{active:n});case"format":return(0,R.jsx)(I,{})}return null}(n,i):n,g=(0,R.jsx)(l.Z,{"aria-label":"string"===typeof n?n:"",size:"small",className:"".concat(h.spacing," ").concat(u?h.buttonDisabled:""),disabled:u,onClick:t?function(e){e.stopPropagation(),u?e.preventDefault():t(p)}:function(){return null},sx:{width:"30px",height:"30px"},children:x});return f&&""!==f&&(g=(0,R.jsx)(k.Z,{title:f,children:g})),t?g:b()(c)?u?g:(0,R.jsx)(S.rU,{to:"".concat(c,"/").concat(p),onClick:function(e){e.stopPropagation()},children:g}):null})),M=t(34866),_=t(23814),D=t(27454),H=function(e,n,t,r,i,a,l,s,d,u,h){var f=function(e,n,t,r,i,c,a){var l=(0,o.Z)(e);c&&(l=e.filter((function(e){return a.includes(e.elementKey)})));var s=n;return r&&(s-=45),i&&(s-=t),l.reduce((function(e,n){return n.width?e-n.width:e}),s)/l.filter((function(e){return!e.width})).length}(e,n,t,r,i,s,d);return e.map((function(e,n){if(s&&!d.includes(e.elementKey))return null;var t=!e.enableSort||!e.enableSort;return(0,R.jsx)(x.sg,{dataKey:e.elementKey,headerClassName:"titleHeader ".concat(e.headerTextAlign?"text-".concat(e.headerTextAlign):""),headerRenderer:function(){return(0,R.jsxs)(c.Fragment,{children:[u===e.elementKey&&(0,R.jsx)(c.Fragment,{children:"ASC"===h?(0,R.jsx)(y.Z,{}):(0,R.jsx)(Z.Z,{})}),e.label]})},className:e.contentTextAlign?"text-".concat(e.contentTextAlign):"",cellRenderer:function(n){var t=n.rowData,r=!!a&&a.includes(b()(t)?t:t[l]);return function(e,n,t){var r=b()(e)?e:v()(e,n.elementKey,null),o=n.renderFullObject?e:r,i=n.renderFunction?n.renderFunction(o):o;return(0,R.jsx)(c.Fragment,{children:(0,R.jsx)("span",{className:t?"selected":"",children:i})})}(t,e,r)},width:e.width||f,disableSort:t,defaultSortDirection:"ASC"},"col-tb-".concat(n.toString()))}))},K=(0,j.Z)((function(){return(0,w.Z)((0,i.Z)((0,i.Z)({paper:{display:"flex",overflow:"auto",flexDirection:"column",padding:"0 16px 8px",boxShadow:"none",border:"#EAEDEE 1px solid",borderRadius:3,minHeight:200,overflowY:"scroll",position:"relative","&::-webkit-scrollbar":{width:0,height:3}},noBackground:{backgroundColor:"transparent",border:0},disabled:{backgroundColor:"#fbfafa",color:"#cccccc"},defaultPaperHeight:{height:"calc(100vh - 205px)"},loadingBox:{paddingTop:"100px",paddingBottom:"100px"},overlayColumnSelection:{position:"absolute",right:0,top:0},popoverContent:{maxHeight:250,overflowY:"auto",padding:"0 10px 10px"},shownColumnsLabel:{color:"#9c9c9c",fontSize:12,padding:10,borderBottom:"#eaeaea 1px solid",width:"100%"},checkAllWrapper:{marginTop:-16},"@global":{".rowLine":{borderBottom:"1px solid ".concat("#9c9c9c80"),height:40,fontSize:14,transitionDuration:.3,"&:focus":{outline:"initial"},"&:hover:not(.ReactVirtualized__Table__headerRow)":{userSelect:"none",backgroundColor:"#ececec",fontWeight:600,"&.canClick":{cursor:"pointer"},"&.canSelectText":{userSelect:"text"}},"& .selected":{fontWeight:600},"&:not(.deleted) .selected":{color:"#081C42"},"&.deleted .selected":{color:"#C51B3F"}},".headerItem":{userSelect:"none",fontWeight:700,fontSize:14,fontStyle:"initial",display:"flex",alignItems:"center",outline:"none"},".ReactVirtualized__Table__row":{width:"100% !important"},".ReactVirtualized__Table__headerRow":{fontWeight:700,fontSize:14,borderColor:"#39393980",textTransform:"initial"},".optionsAlignment":{textAlign:"center","& .min-icon":{width:16,height:16}},".text-center":{textAlign:"center"},".text-right":{textAlign:"right"},".progress-enabled":{paddingTop:3,display:"inline-block",margin:"0 10px",position:"relative",width:18,height:18},".progress-enabled > .MuiCircularProgress-root":{position:"absolute",left:0,top:3}}},_.lM),_.FU))}))((function(e){var n=e.itemActions,t=e.columns,o=e.onSelect,i=e.records,g=e.isLoading,m=e.loadingMessage,w=void 0===m?(0,R.jsx)(a.Z,{component:"h3",children:"Loading..."}):m,j=e.entityName,Z=e.selectedItems,y=e.idField,S=e.classes,k=e.radioSelection,N=void 0!==k&&k,F=e.customEmptyMessage,z=void 0===F?"":F,T=e.customPaperHeight,A=void 0===T?"":T,I=e.noBackground,K=void 0!==I&&I,L=e.columnsSelector,E=void 0!==L&&L,V=e.textSelectable,O=void 0!==V&&V,W=e.columnsShown,Y=void 0===W?[]:W,U=e.onColumnChange,q=void 0===U?function(e,n){}:U,G=e.infiniteScrollConfig,J=e.sortConfig,X=e.autoScrollToBottom,Q=void 0!==X&&X,$=e.disabled,ee=void 0!==$&&$,ne=e.onSelectAll,te=e.rowStyle,re=e.parentClassName,oe=void 0===re?"":re,ie=e.tooltip,ce=(0,p.s0)(),ae=(0,c.useState)(!1),le=(0,r.Z)(ae,2),se=le[0],de=le[1],ue=c.useState(null),he=(0,r.Z)(ue,2),fe=he[0],pe=he[1],xe=n?n.find((function(e){return"view"===e.type})):null,ge=function(e){de(!se),pe(e.currentTarget)},ve=function(){de(!1),pe(null)};return(0,R.jsx)(d.ZP,{item:!0,xs:12,className:oe,children:(0,R.jsx)(D.Z,{tooltip:ie||"",children:(0,R.jsxs)(u.Z,{style:{overflow:"hidden"},className:"".concat(S.paper," ").concat(K?S.noBackground:"","\n ").concat(ee?S.disabled:""," \n ").concat(""!==A?A:S.defaultPaperHeight),children:[g&&(0,R.jsxs)(d.ZP,{container:!0,className:S.loadingBox,children:[(0,R.jsx)(d.ZP,{item:!0,xs:12,style:{textAlign:"center"},children:w}),(0,R.jsx)(d.ZP,{item:!0,xs:12,children:(0,R.jsx)(h.Z,{})})]}),E&&!g&&i.length>0&&(0,R.jsx)("div",{className:S.overlayColumnSelection,children:function(e){return(0,R.jsxs)(c.Fragment,{children:[(0,R.jsx)(l.Z,{"aria-describedby":"columnsSelector",color:"primary",onClick:ge,size:"large",children:(0,R.jsx)(C.Z,{fontSize:"inherit"})}),(0,R.jsxs)(s.ZP,{anchorEl:fe,id:"columnsSelector",open:se,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},onClose:ve,children:[(0,R.jsx)("div",{className:S.shownColumnsLabel,children:"Shown Columns"}),(0,R.jsx)("div",{className:S.popoverContent,children:e.map((function(e){return(0,R.jsx)(M.Z,{label:e.label,checked:Y.includes(e.elementKey),onChange:function(n){q(e.elementKey,n.target.checked)},id:"chbox-".concat(e.label),name:"chbox-".concat(e.label),value:e.label},"tableColumns-".concat(e.label))}))})]})]})}(t)}),i&&!g&&i.length>0?(0,R.jsx)(x.b2,{isRowLoaded:function(e){var n=e.index;return!!i[n]},loadMoreRows:G?G.loadMoreRecords:function(){return new Promise((function(){return!0}))},rowCount:G?G.recordsCount:i.length,children:function(e){var r=e.onRowsRendered,a=e.registerChild;return(0,R.jsx)(x.qj,{children:function(e){var l=e.width,s=e.height,d=function(e,n){var t=45*n+15;return t<80?80:t>e?e:t}(l,n?n.filter((function(e){return"view"!==e.type})).length:0),u=!(!o||!Z),h=!!(n&&n.length>1||n&&1===n.length&&"view"!==n[0].type);return(0,R.jsxs)(x.iA,{ref:a,disableHeader:!1,headerClassName:"headerItem",headerHeight:40,height:s+8,noRowsRenderer:function(){return(0,R.jsx)(c.Fragment,{children:""!==z?z:"There are no ".concat(j," yet.")})},overscanRowCount:10,rowHeight:40,width:l,rowCount:i.length,rowGetter:function(e){var n=e.index;return i[n]},onRowClick:function(e){!function(e){if(xe){var n=xe.sendOnlyId?e[y]:e,t=!1;if(xe.disableButtonFunction&&xe.disableButtonFunction(n)&&(t=!0),xe.to&&!t)return void ce("".concat(xe.to,"/").concat(n));xe.onClick&&!t&&xe.onClick(n)}}(e.rowData)},rowClassName:function(e){return"rowLine ".concat(xe?"canClick":""," ").concat(!xe&&O?"canSelectText":""," ").concat(te?te(e):"")},onRowsRendered:r,sort:J?J.triggerSort:void 0,sortBy:J?J.currentSort:void 0,sortDirection:J?J.currentDirection:void 0,scrollToIndex:Q?i.length-1:-1,rowStyle:function(e){if(te){var n=te(e);return"string"===typeof n?v()(_.xS,n,{}):n}return{}},children:[u&&(0,R.jsx)(x.sg,{headerRenderer:function(){return(0,R.jsx)(c.Fragment,{children:ne?(0,R.jsx)("div",{className:S.checkAllWrapper,children:(0,R.jsx)(M.Z,{label:"",onChange:ne,value:"all",id:"selectAll",name:"selectAll",checked:(null===Z||void 0===Z?void 0:Z.length)===i.length})}):(0,R.jsx)(c.Fragment,{children:"Select"})})},dataKey:"select-".concat(y),width:45,disableSort:!0,cellRenderer:function(e){var n=e.rowData,t=!!Z&&Z.includes(b()(n)?n:n[y]);return(0,R.jsx)(f.Z,{value:b()(n)?n:n[y],color:"primary",inputProps:{"aria-label":"secondary checkbox"},className:"TableCheckbox",checked:t,onChange:o,onClick:function(e){e.stopPropagation()},checkedIcon:(0,R.jsx)("span",{className:N?S.radioSelectedIcon:S.checkedIcon}),icon:(0,R.jsx)("span",{className:N?S.radioUnselectedIcon:S.unCheckedIcon})})}}),H(t,l,d,u,h,Z||[],y,E,Y,J?J.currentSort:"",J?J.currentDirection:void 0),h&&(0,R.jsx)(x.sg,{dataKey:y,width:d,headerClassName:"optionsAlignment",className:"optionsAlignment",cellRenderer:function(e){var t=e.rowData,r=!!Z&&Z.includes(b()(t)?t:t[y]);return function(e,n,t,r){return e.map((function(e,o){if("view"===e.type)return null;var i="string"===typeof n?n:n[r],c=!1;return e.disableButtonFunction&&e.disableButtonFunction(i)&&(c=!0),e.showLoaderFunction&&e.showLoaderFunction(i)?(0,R.jsx)("div",{className:"progress-enabled",children:(0,R.jsx)(B.aNw,{style:{width:18,height:18}},"actions-loader-".concat(e.type,"-").concat(o.toString()))}):(0,R.jsx)(P,{label:e.label,type:e.type,onClick:e.onClick,to:e.to,valueToSend:n,selected:t,idField:r,sendOnlyId:!!e.sendOnlyId,disabled:c},"actions-".concat(e.type,"-").concat(o.toString()))}))}(n||[],t,r,y)}})]})}})}}):(0,R.jsx)(c.Fragment,{children:!g&&(0,R.jsx)("div",{id:"empty-results",children:""!==z?z:"There are no ".concat(j," yet.")})})]})})})}))},26759:function(e,n,t){"use strict";var r=t(64836);n.Z=void 0;var o=r(t(45649)),i=t(80184),c=(0,o.default)((0,i.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");n.Z=c},70366:function(e,n,t){"use strict";var r=t(64836);n.Z=void 0;var o=r(t(45649)),i=t(80184),c=(0,o.default)((0,i.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");n.Z=c},97911:function(e,n,t){"use strict";var r=t(64836);n.Z=void 0;var o=r(t(45649)),i=t(80184),c=(0,o.default)((0,i.jsx)("path",{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}),"ViewColumn");n.Z=c},45649:function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return r.createSvgIcon}});var r=t(28610)},31260:function(e,n,t){"use strict";var r=t(78949);n.Z=r.Z},28610:function(e,n,t){"use strict";t.r(n),t.d(n,{capitalize:function(){return o.Z},createChainedFunction:function(){return i.Z},createSvgIcon:function(){return c.Z},debounce:function(){return a.Z},deprecatedPropType:function(){return l},isMuiElement:function(){return s.Z},ownerDocument:function(){return d.Z},ownerWindow:function(){return u.Z},requirePropFactory:function(){return h},setRef:function(){return f},unstable_ClassNameGenerator:function(){return j},unstable_useEnhancedEffect:function(){return p.Z},unstable_useId:function(){return x.Z},unsupportedProp:function(){return g},useControlled:function(){return v.Z},useEventCallback:function(){return m.Z},useForkRef:function(){return b.Z},useIsFocusVisible:function(){return w.Z}});var r=t(55902),o=t(14036),i=t(31260),c=t(76189),a=t(83199);var l=function(e,n){return function(){return null}},s=t(19103),d=t(98301),u=t(17602);t(87462);var h=function(e,n){return function(){return null}},f=t(62971).Z,p=t(40162),x=t(67384);var g=function(e,n,t,r,o){return null},v=t(98278),m=t(89683),b=t(42071),w=t(23031),j={configure:function(e){r.Z.configure(e)}}},26769:function(e,n,t){var r=t(39066),o=t(93629),i=t(43141);e.exports=function(e){return"string"==typeof e||!o(e)&&i(e)&&"[object String]"==r(e)}}}]); +//# sourceMappingURL=2983.24d52eba.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2983.24d52eba.chunk.js.map b/portal-ui/build/static/js/2983.24d52eba.chunk.js.map new file mode 100644 index 000000000..f05cd855c --- /dev/null +++ b/portal-ui/build/static/js/2983.24d52eba.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2983.24d52eba.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/CheckboxWrapper/CheckboxWrapper.tsx","screens/Console/Common/TableWrapper/TableActionIcons/common.ts","screens/Console/Common/TableWrapper/TableActionIcons/CloudIcon.tsx","screens/Console/Common/TableWrapper/TableActionIcons/ConsoleIcon.tsx","screens/Console/Common/TableWrapper/TableActionIcons/DisableIcon.tsx","screens/Console/Common/TableWrapper/TableActionIcons/FormatDriveIcon.tsx","screens/Console/Common/TableWrapper/TableActionButton.tsx","screens/Console/Common/TableWrapper/TableWrapper.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/icons-material/utils/createSvgIcon.js","../node_modules/@mui/material/utils/createChainedFunction.js","../node_modules/@mui/material/utils/deprecatedPropType.js","../node_modules/@mui/utils/esm/deprecatedPropType.js","../node_modules/@mui/material/utils/requirePropFactory.js","../node_modules/@mui/utils/esm/requirePropFactory.js","../node_modules/@mui/material/utils/setRef.js","../node_modules/@mui/material/utils/unsupportedProp.js","../node_modules/@mui/utils/esm/unsupportedProp.js","../node_modules/@mui/material/utils/index.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 .\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 \"mds\";\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","export interface IIcon {\n active: boolean;\n}\n\nexport const unSelected = \"#081C42\";\nexport const selected = \"#081C42\";\n","import React from \"react\";\nimport { IIcon, selected, unSelected } from \"./common\";\n\nconst CloudIcon = ({ active = false }: IIcon) => {\n return (\n \n \n \n );\n};\n\nexport default CloudIcon;\n","import React from \"react\";\nimport { IIcon, selected, unSelected } from \"./common\";\n\nconst ConsoleIcon = ({ active = false }: IIcon) => {\n return (\n \n \n \n );\n};\n\nexport default ConsoleIcon;\n","import React from \"react\";\nimport { IIcon, selected, unSelected } from \"./common\";\n\nconst DescriptionIcon = ({ active = false }: IIcon) => {\n return (\n \n \n \n );\n};\n\nexport default DescriptionIcon;\n","import React, { SVGProps } from \"react\";\n\nconst FormatDriveIcon = (props: SVGProps) => (\n \n \n \n);\n\nexport default FormatDriveIcon;\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 isString from \"lodash/isString\";\nimport { Link } from \"react-router-dom\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, Tooltip } from \"@mui/material\";\nimport CloudIcon from \"./TableActionIcons/CloudIcon\";\nimport ConsoleIcon from \"./TableActionIcons/ConsoleIcon\";\nimport DisableIcon from \"./TableActionIcons/DisableIcon\";\nimport FormatDriveIcon from \"./TableActionIcons/FormatDriveIcon\";\nimport {\n DownloadIcon,\n EditIcon,\n IAMPoliciesIcon,\n PreviewIcon,\n ShareIcon,\n TrashIcon,\n} from \"mds\";\n\nconst styles = () =>\n createStyles({\n spacing: {\n margin: \"0 8px\",\n },\n buttonDisabled: {\n \"&.MuiButtonBase-root.Mui-disabled\": {\n cursor: \"not-allowed\",\n filter: \"grayscale(100%)\",\n opacity: \"30%\",\n },\n },\n });\n\ninterface IActionButton {\n label?: string;\n type: string | React.ReactNode;\n onClick?: (id: string) => any;\n to?: string;\n valueToSend: any;\n selected: boolean;\n sendOnlyId?: boolean;\n idField: string;\n disabled: boolean;\n classes: any;\n}\n\nconst defineIcon = (type: string, selected: boolean) => {\n switch (type) {\n case \"view\":\n return ;\n case \"edit\":\n return ;\n case \"delete\":\n return ;\n case \"description\":\n return ;\n case \"share\":\n return ;\n case \"cloud\":\n return ;\n case \"console\":\n return ;\n case \"download\":\n return ;\n case \"disable\":\n return ;\n case \"format\":\n return ;\n case \"preview\":\n return ;\n }\n\n return null;\n};\n\nconst TableActionButton = ({\n type,\n onClick,\n valueToSend,\n idField,\n selected,\n to,\n sendOnlyId = false,\n disabled = false,\n classes,\n label,\n}: IActionButton) => {\n const valueClick = sendOnlyId ? valueToSend[idField] : valueToSend;\n\n const icon = typeof type === \"string\" ? defineIcon(type, selected) : type;\n let buttonElement = (\n {\n e.stopPropagation();\n if (!disabled) {\n onClick(valueClick);\n } else {\n e.preventDefault();\n }\n }\n : () => null\n }\n sx={{\n width: \"30px\",\n height: \"30px\",\n }}\n >\n {icon}\n \n );\n\n if (label && label !== \"\") {\n buttonElement = {buttonElement};\n }\n\n if (onClick) {\n return buttonElement;\n }\n\n if (isString(to)) {\n if (!disabled) {\n return (\n {\n e.stopPropagation();\n }}\n >\n {buttonElement}\n \n );\n }\n\n return buttonElement;\n }\n\n return null;\n};\n\nexport default withStyles(styles)(TableActionButton);\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, { Fragment, useState } from \"react\";\nimport {\n Checkbox,\n Grid,\n IconButton,\n LinearProgress,\n Paper,\n Popover,\n Typography,\n} from \"@mui/material\";\nimport { useNavigate } from \"react-router-dom\";\nimport { AutoSizer, Column, InfiniteLoader, Table } from \"react-virtualized\";\nimport get from \"lodash/get\";\nimport isString from \"lodash/isString\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport ViewColumnIcon from \"@mui/icons-material/ViewColumn\";\nimport ArrowDropDownIcon from \"@mui/icons-material/ArrowDropDown\";\nimport ArrowDropUpIcon from \"@mui/icons-material/ArrowDropUp\";\nimport TableActionButton from \"./TableActionButton\";\nimport CheckboxWrapper from \"../FormComponents/CheckboxWrapper/CheckboxWrapper\";\nimport {\n checkboxIcons,\n radioIcons,\n TableRowPredefStyles,\n} from \"../FormComponents/common/styleLibrary\";\nimport { Loader } from \"mds\";\nimport TooltipWrapper from \"../TooltipWrapper/TooltipWrapper\";\n\n//Interfaces for table Items\n\nexport interface ItemActions {\n label?: string;\n type: string | any;\n to?: string;\n sendOnlyId?: boolean;\n disableButtonFunction?: (itemValue: any) => boolean;\n showLoaderFunction?: (itemValue: any) => boolean;\n\n onClick?(valueToSend: any): any;\n}\n\ninterface IColumns {\n label: string;\n elementKey?: string;\n renderFunction?: (input: any) => any;\n renderFullObject?: boolean;\n globalClass?: any;\n rowClass?: any;\n width?: number;\n headerTextAlign?: string;\n contentTextAlign?: string;\n enableSort?: boolean;\n}\n\ninterface IInfiniteScrollConfig {\n loadMoreRecords: (indexElements: {\n startIndex: number;\n stopIndex: number;\n }) => Promise;\n recordsCount: number;\n}\n\ninterface ISortConfig {\n triggerSort: (val: any) => any;\n currentSort: string;\n currentDirection: \"ASC\" | \"DESC\" | undefined;\n}\n\ninterface TableWrapperProps {\n itemActions?: ItemActions[] | null;\n columns: IColumns[];\n onSelect?: (e: React.ChangeEvent) => any;\n idField: string;\n isLoading: boolean;\n loadingMessage?: React.ReactNode;\n records: any[];\n classes: any;\n entityName: string;\n selectedItems?: string[];\n radioSelection?: boolean;\n customEmptyMessage?: string;\n customPaperHeight?: string;\n noBackground?: boolean;\n columnsSelector?: boolean;\n textSelectable?: boolean;\n columnsShown?: string[];\n onColumnChange?: (column: string, state: boolean) => any;\n autoScrollToBottom?: boolean;\n infiniteScrollConfig?: IInfiniteScrollConfig;\n sortConfig?: ISortConfig;\n disabled?: boolean;\n onSelectAll?: () => void;\n rowStyle?: ({\n index,\n }: {\n index: number;\n }) => \"deleted\" | \"\" | React.CSSProperties;\n parentClassName?: string;\n tooltip?: any;\n}\n\nconst borderColor = \"#9c9c9c80\";\n\nconst styles = () =>\n createStyles({\n paper: {\n display: \"flex\",\n overflow: \"auto\",\n flexDirection: \"column\",\n padding: \"0 16px 8px\",\n boxShadow: \"none\",\n border: \"#EAEDEE 1px solid\",\n borderRadius: 3,\n minHeight: 200,\n overflowY: \"scroll\",\n position: \"relative\",\n \"&::-webkit-scrollbar\": {\n width: 0,\n height: 3,\n },\n },\n noBackground: {\n backgroundColor: \"transparent\",\n border: 0,\n },\n disabled: {\n backgroundColor: \"#fbfafa\",\n color: \"#cccccc\",\n },\n defaultPaperHeight: {\n height: \"calc(100vh - 205px)\",\n },\n loadingBox: {\n paddingTop: \"100px\",\n paddingBottom: \"100px\",\n },\n overlayColumnSelection: {\n position: \"absolute\",\n right: 0,\n top: 0,\n },\n popoverContent: {\n maxHeight: 250,\n overflowY: \"auto\",\n padding: \"0 10px 10px\",\n },\n shownColumnsLabel: {\n color: \"#9c9c9c\",\n fontSize: 12,\n padding: 10,\n borderBottom: \"#eaeaea 1px solid\",\n width: \"100%\",\n },\n checkAllWrapper: {\n marginTop: -16,\n },\n \"@global\": {\n \".rowLine\": {\n borderBottom: `1px solid ${borderColor}`,\n height: 40,\n fontSize: 14,\n transitionDuration: 0.3,\n \"&:focus\": {\n outline: \"initial\",\n },\n \"&:hover:not(.ReactVirtualized__Table__headerRow)\": {\n userSelect: \"none\",\n backgroundColor: \"#ececec\",\n fontWeight: 600,\n \"&.canClick\": {\n cursor: \"pointer\",\n },\n \"&.canSelectText\": {\n userSelect: \"text\",\n },\n },\n \"& .selected\": {\n fontWeight: 600,\n },\n \"&:not(.deleted) .selected\": {\n color: \"#081C42\",\n },\n \"&.deleted .selected\": {\n color: \"#C51B3F\",\n },\n },\n \".headerItem\": {\n userSelect: \"none\",\n fontWeight: 700,\n fontSize: 14,\n fontStyle: \"initial\",\n display: \"flex\",\n alignItems: \"center\",\n outline: \"none\",\n },\n \".ReactVirtualized__Table__row\": {\n width: \"100% !important\",\n },\n \".ReactVirtualized__Table__headerRow\": {\n fontWeight: 700,\n fontSize: 14,\n borderColor: \"#39393980\",\n textTransform: \"initial\",\n },\n \".optionsAlignment\": {\n textAlign: \"center\",\n \"& .min-icon\": {\n width: 16,\n height: 16,\n },\n },\n \".text-center\": {\n textAlign: \"center\",\n },\n \".text-right\": {\n textAlign: \"right\",\n },\n \".progress-enabled\": {\n paddingTop: 3,\n display: \"inline-block\",\n margin: \"0 10px\",\n position: \"relative\",\n width: 18,\n height: 18,\n },\n \".progress-enabled > .MuiCircularProgress-root\": {\n position: \"absolute\",\n left: 0,\n top: 3,\n },\n },\n ...checkboxIcons,\n ...radioIcons,\n });\n\nconst selectWidth = 45;\n\n// Function to render elements in table\nconst subRenderFunction = (\n rowData: any,\n column: IColumns,\n isSelected: boolean,\n) => {\n const itemElement = isString(rowData)\n ? rowData\n : get(rowData, column.elementKey!, null); // If the element is just a string, we render it as it is\n const renderConst = column.renderFullObject ? rowData : itemElement;\n\n const renderElement = column.renderFunction\n ? column.renderFunction(renderConst)\n : renderConst; // If render function is set, we send the value to the function.\n\n return (\n \n {renderElement}\n \n );\n};\n\n// Function to calculate common column width for elements with no with size\nconst calculateColumnRest = (\n columns: IColumns[],\n containerWidth: number,\n actionsWidth: number,\n hasSelect: boolean,\n hasActions: boolean,\n columnsSelector: boolean,\n columnsShown: string[],\n) => {\n let colsItems = [...columns];\n\n if (columnsSelector) {\n colsItems = columns.filter((column) =>\n columnsShown.includes(column.elementKey!),\n );\n }\n\n let initialValue = containerWidth;\n\n if (hasSelect) {\n initialValue -= selectWidth;\n }\n\n if (hasActions) {\n initialValue -= actionsWidth;\n }\n\n let freeSpacing = colsItems.reduce((total, currValue) => {\n return currValue.width ? total - currValue.width : total;\n }, initialValue);\n\n return freeSpacing / colsItems.filter((el) => !el.width).length;\n};\n\n// Function that renders Columns in table\nconst generateColumnsMap = (\n columns: IColumns[],\n containerWidth: number,\n actionsWidth: number,\n hasSelect: boolean,\n hasActions: boolean,\n selectedItems: string[],\n idField: string,\n columnsSelector: boolean,\n columnsShown: string[],\n sortColumn: string,\n sortDirection: \"ASC\" | \"DESC\" | undefined,\n) => {\n const commonRestWidth = calculateColumnRest(\n columns,\n containerWidth,\n actionsWidth,\n hasSelect,\n hasActions,\n columnsSelector,\n columnsShown,\n );\n return columns.map((column: IColumns, index: number) => {\n if (columnsSelector && !columnsShown.includes(column.elementKey!)) {\n return null;\n }\n\n const disableSort = column.enableSort ? !column.enableSort : true;\n\n return (\n // @ts-ignore\n (\n \n {sortColumn === column.elementKey && (\n \n {sortDirection === \"ASC\" ? (\n \n ) : (\n \n )}\n \n )}\n {column.label}\n \n )}\n className={\n column.contentTextAlign ? `text-${column.contentTextAlign}` : \"\"\n }\n cellRenderer={({ rowData }) => {\n const isSelected = selectedItems\n ? selectedItems.includes(\n isString(rowData) ? rowData : rowData[idField],\n )\n : false;\n return subRenderFunction(rowData, column, isSelected);\n }}\n width={column.width || commonRestWidth}\n disableSort={disableSort}\n defaultSortDirection={\"ASC\"}\n />\n );\n });\n};\n\n// Function to render the action buttons\nconst elementActions = (\n actions: ItemActions[],\n valueToSend: any,\n selected: boolean,\n idField: string,\n) => {\n return actions.map((action: ItemActions, index: number) => {\n if (action.type === \"view\") {\n return null;\n }\n\n const vlSend =\n typeof valueToSend === \"string\" ? valueToSend : valueToSend[idField];\n\n let disabled = false;\n\n if (action.disableButtonFunction) {\n if (action.disableButtonFunction(vlSend)) {\n disabled = true;\n }\n }\n\n if (action.showLoaderFunction) {\n if (action.showLoaderFunction(vlSend)) {\n return (\n
\n \n
\n );\n }\n }\n\n return (\n \n );\n });\n};\n\n// Function to calculate the options column width according elements inside\nconst calculateOptionsSize = (containerWidth: number, totalOptions: number) => {\n const minContainerSize = 80;\n const sizeOptions = totalOptions * 45 + 15;\n\n if (sizeOptions < minContainerSize) {\n return minContainerSize;\n }\n\n if (sizeOptions > containerWidth) {\n return containerWidth;\n }\n\n return sizeOptions;\n};\n\n// Main function to render the Table Wrapper\nconst TableWrapper = ({\n itemActions,\n columns,\n onSelect,\n records,\n isLoading,\n loadingMessage = Loading...,\n entityName,\n selectedItems,\n idField,\n classes,\n radioSelection = false,\n customEmptyMessage = \"\",\n customPaperHeight = \"\",\n noBackground = false,\n columnsSelector = false,\n textSelectable = false,\n columnsShown = [],\n onColumnChange = (column: string, state: boolean) => {},\n infiniteScrollConfig,\n sortConfig,\n autoScrollToBottom = false,\n disabled = false,\n onSelectAll,\n rowStyle,\n parentClassName = \"\",\n tooltip,\n}: TableWrapperProps) => {\n const navigate = useNavigate();\n\n const [columnSelectorOpen, setColumnSelectorOpen] = useState(false);\n const [anchorEl, setAnchorEl] = React.useState(null);\n\n const findView = itemActions\n ? itemActions.find((el) => el.type === \"view\")\n : null;\n\n const clickAction = (rowItem: any) => {\n if (findView) {\n const valueClick = findView.sendOnlyId ? rowItem[idField] : rowItem;\n\n let disabled = false;\n\n if (findView.disableButtonFunction) {\n if (findView.disableButtonFunction(valueClick)) {\n disabled = true;\n }\n }\n\n if (findView.to && !disabled) {\n navigate(`${findView.to}/${valueClick}`);\n return;\n }\n\n if (findView.onClick && !disabled) {\n findView.onClick(valueClick);\n }\n }\n };\n\n const openColumnsSelector = (event: { currentTarget: any }) => {\n setColumnSelectorOpen(!columnSelectorOpen);\n setAnchorEl(event.currentTarget);\n };\n\n const closeColumnSelector = () => {\n setColumnSelectorOpen(false);\n setAnchorEl(null);\n };\n\n const columnsSelection = (columns: IColumns[]) => {\n return (\n \n \n \n \n \n
Shown Columns
\n
\n {columns.map((column: IColumns) => {\n return (\n {\n onColumnChange(column.elementKey!, e.target.checked);\n }}\n id={`chbox-${column.label}`}\n name={`chbox-${column.label}`}\n value={column.label}\n />\n );\n })}\n
\n \n
\n );\n };\n\n return (\n \n \n \n {isLoading && (\n \n \n {loadingMessage}\n \n \n \n \n \n )}\n {columnsSelector && !isLoading && records.length > 0 && (\n
\n {columnsSelection(columns)}\n
\n )}\n {records && !isLoading && records.length > 0 ? (\n // @ts-ignore\n !!records[index]}\n loadMoreRows={\n infiniteScrollConfig\n ? infiniteScrollConfig.loadMoreRecords\n : () => new Promise(() => true)\n }\n rowCount={\n infiniteScrollConfig\n ? infiniteScrollConfig.recordsCount\n : records.length\n }\n >\n {({ onRowsRendered, registerChild }) => (\n // @ts-ignore\n \n {({ width, height }: any) => {\n const optionsWidth = calculateOptionsSize(\n width,\n itemActions\n ? itemActions.filter((el) => el.type !== \"view\").length\n : 0,\n );\n const hasSelect: boolean = !!(onSelect && selectedItems);\n const hasOptions: boolean = !!(\n (itemActions && itemActions.length > 1) ||\n (itemActions &&\n itemActions.length === 1 &&\n itemActions[0].type !== \"view\")\n );\n return (\n // @ts-ignore\n (\n \n {customEmptyMessage !== \"\"\n ? customEmptyMessage\n : `There are no ${entityName} yet.`}\n \n )}\n overscanRowCount={10}\n rowHeight={40}\n width={width}\n rowCount={records.length}\n rowGetter={({ index }) => records[index]}\n onRowClick={({ rowData }) => {\n clickAction(rowData);\n }}\n rowClassName={(r) =>\n `rowLine ${findView ? \"canClick\" : \"\"} ${\n !findView && textSelectable ? \"canSelectText\" : \"\"\n } ${rowStyle ? rowStyle(r) : \"\"}`\n }\n onRowsRendered={onRowsRendered}\n sort={sortConfig ? sortConfig.triggerSort : undefined}\n sortBy={sortConfig ? sortConfig.currentSort : undefined}\n sortDirection={\n sortConfig ? sortConfig.currentDirection : undefined\n }\n scrollToIndex={\n autoScrollToBottom ? records.length - 1 : -1\n }\n rowStyle={(r) => {\n if (rowStyle) {\n const returnElement = rowStyle(r);\n\n if (typeof returnElement === \"string\") {\n return get(\n TableRowPredefStyles,\n returnElement,\n {},\n );\n }\n\n return returnElement;\n }\n\n return {};\n }}\n >\n {hasSelect && (\n // @ts-ignore\n (\n \n {onSelectAll ? (\n
\n \n
\n ) : (\n Select\n )}\n
\n )}\n dataKey={`select-${idField}`}\n width={selectWidth}\n disableSort\n cellRenderer={({ rowData }) => {\n const isSelected = selectedItems\n ? selectedItems.includes(\n isString(rowData)\n ? rowData\n : rowData[idField],\n )\n : false;\n\n return (\n {\n e.stopPropagation();\n }}\n checkedIcon={\n \n }\n icon={\n \n }\n />\n );\n }}\n />\n )}\n {generateColumnsMap(\n columns,\n width,\n optionsWidth,\n hasSelect,\n hasOptions,\n selectedItems || [],\n idField,\n columnsSelector,\n columnsShown,\n sortConfig ? sortConfig.currentSort : \"\",\n sortConfig ? sortConfig.currentDirection : undefined,\n )}\n {hasOptions && (\n // @ts-ignore\n {\n const isSelected = selectedItems\n ? selectedItems.includes(\n isString(rowData)\n ? rowData\n : rowData[idField],\n )\n : false;\n return elementActions(\n itemActions || [],\n rowData,\n isSelected,\n idField,\n );\n }}\n />\n )}\n \n );\n }}\n
\n )}\n \n ) : (\n \n {!isLoading && (\n
\n {customEmptyMessage !== \"\"\n ? customEmptyMessage\n : `There are no ${entityName} yet.`}\n
\n )}\n
\n )}\n \n
\n
\n );\n};\n\nexport default withStyles(styles)(TableWrapper);\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 10 5 5 5-5z\"\n}), 'ArrowDropDown');\nexports.default = _default;","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 14 5-5 5 5z\"\n}), 'ArrowDropUp');\nexports.default = _default;","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\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');\nexports.default = _default;","\"use strict\";\n'use client';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");","import { unstable_createChainedFunction as createChainedFunction } from '@mui/utils';\nexport default createChainedFunction;","import { unstable_deprecatedPropType as deprecatedPropType } from '@mui/utils';\nexport default deprecatedPropType;","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return (props, propName, componentName, location, propFullName) => {\n const componentNameSafe = componentName || '<>';\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The ${location} \\`${propFullNameSafe}\\` of ` + `\\`${componentNameSafe}\\` is deprecated. ${reason}`);\n }\n return null;\n };\n}","import { unstable_requirePropFactory as requirePropFactory } from '@mui/utils';\nexport default requirePropFactory;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function requirePropFactory(componentNameInError, Component) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n\n // eslint-disable-next-line react/forbid-foreign-prop-types\n const prevPropTypes = Component ? _extends({}, Component.propTypes) : null;\n const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {\n const propFullNameSafe = propFullName || propName;\n const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];\n if (defaultTypeChecker) {\n const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);\n if (typeCheckerResult) {\n return typeCheckerResult;\n }\n }\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(`The prop \\`${propFullNameSafe}\\` of ` + `\\`${componentNameInError}\\` can only be used together with the \\`${requiredProp}\\` prop.`);\n }\n return null;\n };\n return requireProp;\n}","import { unstable_setRef as setRef } from '@mui/utils';\nexport default setRef;","import { unstable_unsupportedProp as unsupportedProp } from '@mui/utils';\nexport default unsupportedProp;","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","'use client';\n\nimport { unstable_ClassNameGenerator as ClassNameGenerator } from '@mui/base/className';\nexport { default as capitalize } from './capitalize';\nexport { default as createChainedFunction } from './createChainedFunction';\nexport { default as createSvgIcon } from './createSvgIcon';\nexport { default as debounce } from './debounce';\nexport { default as deprecatedPropType } from './deprecatedPropType';\nexport { default as isMuiElement } from './isMuiElement';\nexport { default as ownerDocument } from './ownerDocument';\nexport { default as ownerWindow } from './ownerWindow';\nexport { default as requirePropFactory } from './requirePropFactory';\nexport { default as setRef } from './setRef';\nexport { default as unstable_useEnhancedEffect } from './useEnhancedEffect';\nexport { default as unstable_useId } from './useId';\nexport { default as unsupportedProp } from './unsupportedProp';\nexport { default as useControlled } from './useControlled';\nexport { default as useEventCallback } from './useEventCallback';\nexport { default as useForkRef } from './useForkRef';\nexport { default as useIsFocusVisible } from './useIsFocusVisible';\n// TODO: remove this export once ClassNameGenerator is stable\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const unstable_ClassNameGenerator = {\n configure: generator => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(['MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.', '', \"You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead\", '', 'The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401', '', 'The updated documentation: https://mui.com/guides/classname-generator/'].join('\\n'));\n }\n ClassNameGenerator.configure(generator);\n }\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","_objectSpread","fieldBasic","tooltipHelper","checkboxIcons","fieldContainer","display","justifyContent","alignItems","margin","marginBottom","flexBasis","flexWrap","noTopMargin","marginTop","_ref","label","onChange","value","id","name","_ref$checked","checked","_ref$disabled","disabled","_ref$noTopMargin","_ref$tooltip","tooltip","_ref$overrideLabelCla","overrideLabelClasses","overrideCheckboxStyles","classes","className","_jsx","React","children","_jsxs","Grid","item","xs","concat","Checkbox","color","inputProps","checkedIcon","icon","unCheckedIcon","disableRipple","disableFocusRipple","focusRipple","centerRipple","disableTouchRipple","style","InputLabel","htmlFor","noMinWidthLabel","tooltipContainer","Tooltip","title","placement","HelpIcon","unSelected","selected","_ref$active","active","xmlns","width","height","viewBox","fill","d","props","spacing","buttonDisabled","cursor","filter","opacity","type","onClick","valueToSend","idField","to","_ref$sendOnlyId","sendOnlyId","valueClick","PreviewIcon","EditIcon","TrashIcon","IAMPoliciesIcon","ShareIcon","CloudIcon","ConsoleIcon","DownloadIcon","DisableIcon","FormatDriveIcon","defineIcon","buttonElement","IconButton","size","e","stopPropagation","preventDefault","sx","isString","Link","generateColumnsMap","columns","containerWidth","actionsWidth","hasSelect","hasActions","selectedItems","columnsSelector","columnsShown","sortColumn","sortDirection","commonRestWidth","colsItems","_toConsumableArray","column","includes","elementKey","initialValue","reduce","total","currValue","el","length","calculateColumnRest","map","index","disableSort","enableSort","Column","dataKey","headerClassName","headerTextAlign","headerRenderer","Fragment","ArrowDropUpIcon","ArrowDropDownIcon","contentTextAlign","cellRenderer","rowData","isSelected","itemElement","get","renderConst","renderFullObject","renderElement","renderFunction","subRenderFunction","defaultSortDirection","toString","paper","overflow","flexDirection","padding","boxShadow","border","borderRadius","minHeight","overflowY","position","noBackground","backgroundColor","defaultPaperHeight","loadingBox","paddingTop","paddingBottom","overlayColumnSelection","right","top","popoverContent","maxHeight","shownColumnsLabel","fontSize","borderBottom","checkAllWrapper","transitionDuration","outline","userSelect","fontWeight","fontStyle","borderColor","textTransform","textAlign","left","radioIcons","_ref2","itemActions","onSelect","records","isLoading","_ref2$loadingMessage","loadingMessage","Typography","component","entityName","_ref2$radioSelection","radioSelection","_ref2$customEmptyMess","customEmptyMessage","_ref2$customPaperHeig","customPaperHeight","_ref2$noBackground","_ref2$columnsSelector","_ref2$textSelectable","textSelectable","_ref2$columnsShown","_ref2$onColumnChange","onColumnChange","state","infiniteScrollConfig","sortConfig","_ref2$autoScrollToBot","autoScrollToBottom","_ref2$disabled","onSelectAll","rowStyle","_ref2$parentClassName","parentClassName","navigate","useNavigate","_useState","useState","_useState2","_slicedToArray","columnSelectorOpen","setColumnSelectorOpen","_React$useState","_React$useState2","anchorEl","setAnchorEl","findView","find","openColumnsSelector","event","currentTarget","closeColumnSelector","TooltipWrapper","Paper","container","LinearProgress","ViewColumnIcon","Popover","open","anchorOrigin","vertical","horizontal","transformOrigin","onClose","CheckboxWrapper","target","columnsSelection","InfiniteLoader","isRowLoaded","_ref3","loadMoreRows","loadMoreRecords","Promise","rowCount","recordsCount","_ref4","onRowsRendered","registerChild","AutoSizer","_ref5","optionsWidth","totalOptions","sizeOptions","calculateOptionsSize","hasOptions","Table","ref","disableHeader","headerHeight","noRowsRenderer","overscanRowCount","rowHeight","rowGetter","_ref6","onRowClick","_ref7","rowItem","disableButtonFunction","clickAction","rowClassName","r","sort","triggerSort","undefined","sortBy","currentSort","currentDirection","scrollToIndex","returnElement","TableRowPredefStyles","_ref8","radioSelectedIcon","radioUnselectedIcon","_ref9","actions","action","vlSend","showLoaderFunction","Loader","TableActionButton","elementActions","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","Object","defineProperty","enumerable","_utils","createSvgIcon","createChainedFunction","validator","reason","componentNameInError","Component","propName","componentName","location","propFullName","unstable_ClassNameGenerator","configure","generator","ClassNameGenerator","baseGetTag","isArray","isObjectLike","module"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2983.3ffd4ad8.chunk.js b/portal-ui/build/static/js/2983.3ffd4ad8.chunk.js deleted file mode 100644 index 318c74324..000000000 --- a/portal-ui/build/static/js/2983.3ffd4ad8.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2983],{34866:function(e,n,t){var o=t(1413),i=t(72791),r=t(61889),l=t(94454),c=t(30829),a=t(20068),s=t(11135),d=t(25787),u=t(23814),h=t(29945),p=t(80184);n.Z=(0,d.Z)((function(e){return(0,s.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},u.YI),u.Hr),u.lM),{},{fieldContainer:(0,o.Z)((0,o.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,o=e.value,s=e.id,d=e.name,u=e.checked,x=void 0!==u&&u,g=e.disabled,v=void 0!==g&&g,m=e.noTopMargin,f=void 0!==m&&m,w=e.tooltip,b=void 0===w?"":w,j=e.overrideLabelClasses,C=void 0===j?"":j,y=e.overrideCheckboxStyles,S=e.classes,Z=e.className;return(0,p.jsx)(i.Fragment,{children:(0,p.jsxs)(r.ZP,{item:!0,xs:12,className:"".concat(S.fieldContainer," ").concat(f?S.noTopMargin:""," ").concat(Z||""),children:[(0,p.jsx)("div",{children:(0,p.jsx)(l.Z,{name:d,id:s,value:o,color:"primary",inputProps:{"aria-label":"secondary checkbox"},checked:x,onChange:t,checkedIcon:(0,p.jsx)("span",{className:S.checkedIcon}),icon:(0,p.jsx)("span",{className:S.unCheckedIcon}),disabled:v,disableRipple:!0,disableFocusRipple:!0,focusRipple:!1,centerRipple:!1,disableTouchRipple:!0,style:y||{}})}),""!==n&&(0,p.jsxs)(c.Z,{htmlFor:s,className:"".concat(S.noMinWidthLabel," ").concat(C),children:[(0,p.jsx)("span",{children:n}),""!==b&&(0,p.jsx)("div",{className:S.tooltipContainer,children:(0,p.jsx)(a.Z,{title:b,placement:"top-start",children:(0,p.jsx)("div",{className:S.tooltip,children:(0,p.jsx)(h.byK,{})})})})]})]})})}))},92983:function(e,n,t){t.d(n,{Z:function(){return K}});var o=t(29439),i=t(93433),r=t(1413),l=t(72791),c=t(20890),a=t(13400),s=t(15473),d=t(61889),u=t(35527),h=t(40986),p=t(94454),x=t(57689),g=t(5171),v=t(26181),m=t.n(v),f=t(26769),w=t.n(f),b=t(11135),j=t(25787),C=t(97911),y=t(26759),S=t(70366),Z=t(11087),k=t(20068),N="#081C42",R="#081C42",T=t(80184),F=function(e){var n=e.active,t=void 0!==n&&n;return(0,T.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",children:(0,T.jsx)("path",{fill:t?R:N,d:"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96z"})})},B=function(e){var n=e.active,t=void 0!==n&&n;return(0,T.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",children:(0,T.jsx)("path",{fill:t?R:N,d:"M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3v-3h18v3z"})})},A=function(e){var n=e.active,t=void 0!==n&&n;return(0,T.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",children:(0,T.jsx)("path",{fill:t?R:N,d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm5 11H7v-2h10v2z"})})},z=function(e){return(0,T.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",className:"min-icon",fill:"currentcolor"},e),{},{children:(0,T.jsx)("path",{d:"M20 16h2v-2h-2v2zm0-9v5h2V7h-2zM10 4c-4.42 0-8 3.58-8 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm0 10c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"})}))},I=t(29945),M=(0,j.Z)((function(){return(0,b.Z)({spacing:{margin:"0 8px"},buttonDisabled:{"&.MuiButtonBase-root.Mui-disabled":{cursor:"not-allowed",filter:"grayscale(100%)",opacity:"30%"}}})}))((function(e){var n=e.type,t=e.onClick,o=e.valueToSend,i=e.idField,r=e.selected,l=e.to,c=e.sendOnlyId,s=void 0!==c&&c,d=e.disabled,u=void 0!==d&&d,h=e.classes,p=e.label,x=s?o[i]:o,g="string"===typeof n?function(e,n){switch(e){case"view":case"preview":return(0,T.jsx)(I.P99,{});case"edit":return(0,T.jsx)(I.dY8,{});case"delete":return(0,T.jsx)(I.XHJ,{});case"description":return(0,T.jsx)(I.v42,{});case"share":return(0,T.jsx)(I.aAc,{});case"cloud":return(0,T.jsx)(F,{active:n});case"console":return(0,T.jsx)(B,{active:n});case"download":return(0,T.jsx)(I._8t,{});case"disable":return(0,T.jsx)(A,{active:n});case"format":return(0,T.jsx)(z,{})}return null}(n,r):n,v=(0,T.jsx)(a.Z,{"aria-label":"string"===typeof n?n:"",size:"small",className:"".concat(h.spacing," ").concat(u?h.buttonDisabled:""),disabled:u,onClick:t?function(e){e.stopPropagation(),u?e.preventDefault():t(x)}:function(){return null},sx:{width:"30px",height:"30px"},children:g});return p&&""!==p&&(v=(0,T.jsx)(k.Z,{title:p,children:v})),t?v:w()(l)?u?v:(0,T.jsx)(Z.rU,{to:"".concat(l,"/").concat(x),onClick:function(e){e.stopPropagation()},children:v}):null})),P=t(34866),_=t(23814),D=t(27454),H=function(e,n,t,o,r,c,a,s,d,u,h){var p=function(e,n,t,o,r,l,c){var a=(0,i.Z)(e);l&&(a=e.filter((function(e){return c.includes(e.elementKey)})));var s=n;return o&&(s-=45),r&&(s-=t),a.reduce((function(e,n){return n.width?e-n.width:e}),s)/a.filter((function(e){return!e.width})).length}(e,n,t,o,r,s,d);return e.map((function(e,n){if(s&&!d.includes(e.elementKey))return null;var t=!e.enableSort||!e.enableSort;return(0,T.jsx)(g.sg,{dataKey:e.elementKey,headerClassName:"titleHeader ".concat(e.headerTextAlign?"text-".concat(e.headerTextAlign):""),headerRenderer:function(){return(0,T.jsxs)(l.Fragment,{children:[u===e.elementKey&&(0,T.jsx)(l.Fragment,{children:"ASC"===h?(0,T.jsx)(S.Z,{}):(0,T.jsx)(y.Z,{})}),e.label]})},className:e.contentTextAlign?"text-".concat(e.contentTextAlign):"",cellRenderer:function(n){var t=n.rowData,o=!!c&&c.includes(w()(t)?t:t[a]);return function(e,n,t){var o=w()(e)?e:m()(e,n.elementKey,null),i=n.renderFullObject?e:o,r=n.renderFunction?n.renderFunction(i):i;return(0,T.jsx)(l.Fragment,{children:(0,T.jsx)("span",{className:t?"selected":"",children:r})})}(t,e,o)},width:e.width||p,disableSort:t,defaultSortDirection:"ASC"},"col-tb-".concat(n.toString()))}))},K=(0,j.Z)((function(){return(0,b.Z)((0,r.Z)((0,r.Z)({paper:{display:"flex",overflow:"auto",flexDirection:"column",padding:"0 16px 8px",boxShadow:"none",border:"#EAEDEE 1px solid",borderRadius:3,minHeight:200,overflowY:"scroll",position:"relative","&::-webkit-scrollbar":{width:0,height:3}},noBackground:{backgroundColor:"transparent",border:0},disabled:{backgroundColor:"#fbfafa",color:"#cccccc"},defaultPaperHeight:{height:"calc(100vh - 205px)"},loadingBox:{paddingTop:"100px",paddingBottom:"100px"},overlayColumnSelection:{position:"absolute",right:0,top:0},popoverContent:{maxHeight:250,overflowY:"auto",padding:"0 10px 10px"},shownColumnsLabel:{color:"#9c9c9c",fontSize:12,padding:10,borderBottom:"#eaeaea 1px solid",width:"100%"},checkAllWrapper:{marginTop:-16},"@global":{".rowLine":{borderBottom:"1px solid ".concat("#9c9c9c80"),height:40,fontSize:14,transitionDuration:.3,"&:focus":{outline:"initial"},"&:hover:not(.ReactVirtualized__Table__headerRow)":{userSelect:"none",backgroundColor:"#ececec",fontWeight:600,"&.canClick":{cursor:"pointer"},"&.canSelectText":{userSelect:"text"}},"& .selected":{fontWeight:600},"&:not(.deleted) .selected":{color:"#081C42"},"&.deleted .selected":{color:"#C51B3F"}},".headerItem":{userSelect:"none",fontWeight:700,fontSize:14,fontStyle:"initial",display:"flex",alignItems:"center",outline:"none"},".ReactVirtualized__Table__row":{width:"100% !important"},".ReactVirtualized__Table__headerRow":{fontWeight:700,fontSize:14,borderColor:"#39393980",textTransform:"initial"},".optionsAlignment":{textAlign:"center","& .min-icon":{width:16,height:16}},".text-center":{textAlign:"center"},".text-right":{textAlign:"right"},".progress-enabled":{paddingTop:3,display:"inline-block",margin:"0 10px",position:"relative",width:18,height:18},".progress-enabled > .MuiCircularProgress-root":{position:"absolute",left:0,top:3}}},_.lM),_.FU))}))((function(e){var n=e.itemActions,t=e.columns,i=e.onSelect,r=e.records,v=e.isLoading,f=e.loadingMessage,b=void 0===f?(0,T.jsx)(c.Z,{component:"h3",children:"Loading..."}):f,j=e.entityName,y=e.selectedItems,S=e.idField,Z=e.classes,k=e.radioSelection,N=void 0!==k&&k,R=e.customEmptyMessage,F=void 0===R?"":R,B=e.customPaperHeight,A=void 0===B?"":B,z=e.noBackground,K=void 0!==z&&z,L=e.columnsSelector,W=void 0!==L&&L,O=e.textSelectable,E=void 0!==O&&O,V=e.columnsShown,Y=void 0===V?[]:V,U=e.onColumnChange,q=void 0===U?function(e,n){}:U,G=e.infiniteScrollConfig,J=e.sortConfig,X=e.autoScrollToBottom,Q=void 0!==X&&X,$=e.disabled,ee=void 0!==$&&$,ne=e.onSelectAll,te=e.rowStyle,oe=e.parentClassName,ie=void 0===oe?"":oe,re=e.tooltip,le=(0,x.s0)(),ce=(0,l.useState)(!1),ae=(0,o.Z)(ce,2),se=ae[0],de=ae[1],ue=l.useState(null),he=(0,o.Z)(ue,2),pe=he[0],xe=he[1],ge=n?n.find((function(e){return"view"===e.type})):null,ve=function(e){de(!se),xe(e.currentTarget)},me=function(){de(!1),xe(null)};return(0,T.jsx)(d.ZP,{item:!0,xs:12,className:ie,children:(0,T.jsx)(D.Z,{tooltip:re||"",children:(0,T.jsxs)(u.Z,{style:{overflow:"hidden"},className:"".concat(Z.paper," ").concat(K?Z.noBackground:"","\n ").concat(ee?Z.disabled:""," \n ").concat(""!==A?A:Z.defaultPaperHeight),children:[v&&(0,T.jsxs)(d.ZP,{container:!0,className:Z.loadingBox,children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,style:{textAlign:"center"},children:b}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)(h.Z,{})})]}),W&&!v&&r.length>0&&(0,T.jsx)("div",{className:Z.overlayColumnSelection,children:function(e){return(0,T.jsxs)(l.Fragment,{children:[(0,T.jsx)(a.Z,{"aria-describedby":"columnsSelector",color:"primary",onClick:ve,size:"large",children:(0,T.jsx)(C.Z,{fontSize:"inherit"})}),(0,T.jsxs)(s.ZP,{anchorEl:pe,id:"columnsSelector",open:se,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},onClose:me,children:[(0,T.jsx)("div",{className:Z.shownColumnsLabel,children:"Shown Columns"}),(0,T.jsx)("div",{className:Z.popoverContent,children:e.map((function(e){return(0,T.jsx)(P.Z,{label:e.label,checked:Y.includes(e.elementKey),onChange:function(n){q(e.elementKey,n.target.checked)},id:"chbox-".concat(e.label),name:"chbox-".concat(e.label),value:e.label},"tableColumns-".concat(e.label))}))})]})]})}(t)}),r&&!v&&r.length>0?(0,T.jsx)(g.b2,{isRowLoaded:function(e){var n=e.index;return!!r[n]},loadMoreRows:G?G.loadMoreRecords:function(){return new Promise((function(){return!0}))},rowCount:G?G.recordsCount:r.length,children:function(e){var o=e.onRowsRendered,c=e.registerChild;return(0,T.jsx)(g.qj,{children:function(e){var a=e.width,s=e.height,d=function(e,n){var t=45*n+15;return t<80?80:t>e?e:t}(a,n?n.filter((function(e){return"view"!==e.type})).length:0),u=!(!i||!y),h=!!(n&&n.length>1||n&&1===n.length&&"view"!==n[0].type);return(0,T.jsxs)(g.iA,{ref:c,disableHeader:!1,headerClassName:"headerItem",headerHeight:40,height:s+8,noRowsRenderer:function(){return(0,T.jsx)(l.Fragment,{children:""!==F?F:"There are no ".concat(j," yet.")})},overscanRowCount:10,rowHeight:40,width:a,rowCount:r.length,rowGetter:function(e){var n=e.index;return r[n]},onRowClick:function(e){!function(e){if(ge){var n=ge.sendOnlyId?e[S]:e,t=!1;if(ge.disableButtonFunction&&ge.disableButtonFunction(n)&&(t=!0),ge.to&&!t)return void le("".concat(ge.to,"/").concat(n));ge.onClick&&!t&&ge.onClick(n)}}(e.rowData)},rowClassName:function(e){return"rowLine ".concat(ge?"canClick":""," ").concat(!ge&&E?"canSelectText":""," ").concat(te?te(e):"")},onRowsRendered:o,sort:J?J.triggerSort:void 0,sortBy:J?J.currentSort:void 0,sortDirection:J?J.currentDirection:void 0,scrollToIndex:Q?r.length-1:-1,rowStyle:function(e){if(te){var n=te(e);return"string"===typeof n?m()(_.xS,n,{}):n}return{}},children:[u&&(0,T.jsx)(g.sg,{headerRenderer:function(){return(0,T.jsx)(l.Fragment,{children:ne?(0,T.jsx)("div",{className:Z.checkAllWrapper,children:(0,T.jsx)(P.Z,{label:"",onChange:ne,value:"all",id:"selectAll",name:"selectAll",checked:(null===y||void 0===y?void 0:y.length)===r.length})}):(0,T.jsx)(l.Fragment,{children:"Select"})})},dataKey:"select-".concat(S),width:45,disableSort:!0,cellRenderer:function(e){var n=e.rowData,t=!!y&&y.includes(w()(n)?n:n[S]);return(0,T.jsx)(p.Z,{value:w()(n)?n:n[S],color:"primary",inputProps:{"aria-label":"secondary checkbox"},className:"TableCheckbox",checked:t,onChange:i,onClick:function(e){e.stopPropagation()},checkedIcon:(0,T.jsx)("span",{className:N?Z.radioSelectedIcon:Z.checkedIcon}),icon:(0,T.jsx)("span",{className:N?Z.radioUnselectedIcon:Z.unCheckedIcon})})}}),H(t,a,d,u,h,y||[],S,W,Y,J?J.currentSort:"",J?J.currentDirection:void 0),h&&(0,T.jsx)(g.sg,{dataKey:S,width:d,headerClassName:"optionsAlignment",className:"optionsAlignment",cellRenderer:function(e){var t=e.rowData,o=!!y&&y.includes(w()(t)?t:t[S]);return function(e,n,t,o){return e.map((function(e,i){if("view"===e.type)return null;var r="string"===typeof n?n:n[o],l=!1;return e.disableButtonFunction&&e.disableButtonFunction(r)&&(l=!0),e.showLoaderFunction&&e.showLoaderFunction(r)?(0,T.jsx)("div",{className:"progress-enabled",children:(0,T.jsx)(I.aNw,{style:{width:18,height:18}},"actions-loader-".concat(e.type,"-").concat(i.toString()))}):(0,T.jsx)(M,{label:e.label,type:e.type,onClick:e.onClick,to:e.to,valueToSend:n,selected:t,idField:o,sendOnlyId:!!e.sendOnlyId,disabled:l},"actions-".concat(e.type,"-").concat(i.toString()))}))}(n||[],t,o,S)}})]})}})}}):(0,T.jsx)(l.Fragment,{children:!v&&(0,T.jsx)("div",{id:"empty-results",children:""!==F?F:"There are no ".concat(j," yet.")})})]})})})}))}}]); -//# sourceMappingURL=2983.3ffd4ad8.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2983.3ffd4ad8.chunk.js.map b/portal-ui/build/static/js/2983.3ffd4ad8.chunk.js.map deleted file mode 100644 index ee2d7345c..000000000 --- a/portal-ui/build/static/js/2983.3ffd4ad8.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/2983.3ffd4ad8.chunk.js","mappings":"yOAkIA,KAAeA,EAAAA,EAAAA,IAtFA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,IAAYC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACTC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IAAa,IAChBC,gBAAcJ,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACTC,EAAAA,GAAWG,gBAAc,IAC5BC,QAAS,OACTC,eAAgB,aAChBC,WAAY,SACZC,OAAQ,SACRC,aAAc,EACdC,UAAW,UACXC,SAAU,WAEZC,YAAa,CACXC,UAAW,KAEZ,GAoEL,EAlEwB,SAAHC,GAcC,IAbpBC,EAAKD,EAALC,MACAC,EAAQF,EAARE,SACAC,EAAKH,EAALG,MACAC,EAAEJ,EAAFI,GACAC,EAAIL,EAAJK,KAAIC,EAAAN,EACJO,QAAAA,OAAO,IAAAD,GAAQA,EAAAE,EAAAR,EACfS,SAAAA,OAAQ,IAAAD,GAAQA,EAAAE,EAAAV,EAChBF,YAAAA,OAAW,IAAAY,GAAQA,EAAAC,EAAAX,EACnBY,QAAAA,OAAO,IAAAD,EAAG,GAAEA,EAAAE,EAAAb,EACZc,qBAAAA,OAAoB,IAAAD,EAAG,GAAEA,EACzBE,EAAsBf,EAAtBe,uBACAC,EAAOhB,EAAPgB,QACAC,EAASjB,EAATiB,UAEA,OACEC,EAAAA,EAAAA,KAACC,EAAAA,SAAc,CAAAC,UACbC,EAAAA,EAAAA,MAACC,EAAAA,GAAI,CACHC,MAAI,EACJC,GAAI,GACJP,UAAS,GAAAQ,OAAKT,EAAQ1B,eAAc,KAAAmC,OAClC3B,EAAckB,EAAQlB,YAAc,GAAE,KAAA2B,OACpCR,GAAwB,IAAKG,SAAA,EAEjCF,EAAAA,EAAAA,KAAA,OAAAE,UACEF,EAAAA,EAAAA,KAACQ,EAAAA,EAAQ,CACPrB,KAAMA,EACND,GAAIA,EACJD,MAAOA,EACPwB,MAAM,UACNC,WAAY,CAAE,aAAc,sBAC5BrB,QAASA,EACTL,SAAUA,EACV2B,aAAaX,EAAAA,EAAAA,KAAA,QAAMD,UAAWD,EAAQa,cACtCC,MAAMZ,EAAAA,EAAAA,KAAA,QAAMD,UAAWD,EAAQe,gBAC/BtB,SAAUA,EACVuB,eAAa,EACbC,oBAAkB,EAClBC,aAAa,EACbC,cAAc,EACdC,oBAAkB,EAClBC,MAAOtB,GAA0B,CAAC,MAG3B,KAAVd,IACCoB,EAAAA,EAAAA,MAACiB,EAAAA,EAAU,CACTC,QAASnC,EACTa,UAAS,GAAAQ,OAAKT,EAAQwB,gBAAe,KAAAf,OAAIX,GAAuBM,SAAA,EAEhEF,EAAAA,EAAAA,KAAA,QAAAE,SAAOnB,IACM,KAAZW,IACCM,EAAAA,EAAAA,KAAA,OAAKD,UAAWD,EAAQyB,iBAAiBrB,UACvCF,EAAAA,EAAAA,KAACwB,EAAAA,EAAO,CAACC,MAAO/B,EAASgC,UAAU,YAAWxB,UAC5CF,EAAAA,EAAAA,KAAA,OAAKD,UAAWD,EAAQJ,QAAQQ,UAC9BF,EAAAA,EAAAA,KAAC2B,EAAAA,IAAQ,iBAU7B,G,8TC5HaC,EAAa,UACbC,EAAW,U,WCcxB,EAhBkB,SAAH/C,GAAmC,IAADgD,EAAAhD,EAA5BiD,OAAAA,OAAM,IAAAD,GAAQA,EACjC,OACE9B,EAAAA,EAAAA,KAAA,OACEgC,MAAM,6BACNC,MAAM,KACNC,OAAO,KACPC,QAAQ,YAAWjC,UAEnBF,EAAAA,EAAAA,KAAA,QACEoC,KAAML,EAASF,EAAWD,EAC1BS,EAAE,8JAIV,ECEA,EAhBoB,SAAHvD,GAAmC,IAADgD,EAAAhD,EAA5BiD,OAAAA,OAAM,IAAAD,GAAQA,EACnC,OACE9B,EAAAA,EAAAA,KAAA,OACEgC,MAAM,6BACNC,MAAM,KACNC,OAAO,KACPC,QAAQ,YAAWjC,UAEnBF,EAAAA,EAAAA,KAAA,QACEoC,KAAML,EAASF,EAAWD,EAC1BS,EAAE,kGAIV,ECEA,EAhBwB,SAAHvD,GAAmC,IAADgD,EAAAhD,EAA5BiD,OAAAA,OAAM,IAAAD,GAAQA,EACvC,OACE9B,EAAAA,EAAAA,KAAA,OACEgC,MAAM,6BACNC,MAAM,KACNC,OAAO,KACPC,QAAQ,YAAWjC,UAEnBF,EAAAA,EAAAA,KAAA,QACEoC,KAAML,EAASF,EAAWD,EAC1BS,EAAE,wFAIV,ECHA,EAZwB,SAACC,GAA8B,OACrDtC,EAAAA,EAAAA,KAAA,OAAAhC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,CACEgE,MAAM,6BACNG,QAAQ,YACRpC,UAAS,WACTqC,KAAM,gBACFE,GAAK,IAAApC,UAETF,EAAAA,EAAAA,KAAA,QAAMqC,EAAE,iJACJ,E,WCqJR,GAAexE,EAAAA,EAAAA,IA9HA,WAAH,OACVE,EAAAA,EAAAA,GAAa,CACXwE,QAAS,CACP/D,OAAQ,SAEVgE,eAAgB,CACd,oCAAqC,CACnCC,OAAQ,cACRC,OAAQ,kBACRC,QAAS,SAGZ,GAkHL,EAtE0B,SAAH7D,GAWD,IAVpB8D,EAAI9D,EAAJ8D,KACAC,EAAO/D,EAAP+D,QACAC,EAAWhE,EAAXgE,YACAC,EAAOjE,EAAPiE,QACAlB,EAAQ/C,EAAR+C,SACAmB,EAAElE,EAAFkE,GAAEC,EAAAnE,EACFoE,WAAAA,OAAU,IAAAD,GAAQA,EAAA3D,EAAAR,EAClBS,SAAAA,OAAQ,IAAAD,GAAQA,EAChBQ,EAAOhB,EAAPgB,QACAf,EAAKD,EAALC,MAEMoE,EAAaD,EAAaJ,EAAYC,GAAWD,EAEjDlC,EAAuB,kBAATgC,EA3CH,SAACA,EAAcf,GAChC,OAAQe,GACN,IAAK,OAoBL,IAAK,UACH,OAAO5C,EAAAA,EAAAA,KAACoD,EAAAA,IAAW,IAnBrB,IAAK,OACH,OAAOpD,EAAAA,EAAAA,KAACqD,EAAAA,IAAQ,IAClB,IAAK,SACH,OAAOrD,EAAAA,EAAAA,KAACsD,EAAAA,IAAS,IACnB,IAAK,cACH,OAAOtD,EAAAA,EAAAA,KAACuD,EAAAA,IAAe,IACzB,IAAK,QACH,OAAOvD,EAAAA,EAAAA,KAACwD,EAAAA,IAAS,IACnB,IAAK,QACH,OAAOxD,EAAAA,EAAAA,KAACyD,EAAS,CAAC1B,OAAQF,IAC5B,IAAK,UACH,OAAO7B,EAAAA,EAAAA,KAAC0D,EAAW,CAAC3B,OAAQF,IAC9B,IAAK,WACH,OAAO7B,EAAAA,EAAAA,KAAC2D,EAAAA,IAAY,IACtB,IAAK,UACH,OAAO3D,EAAAA,EAAAA,KAAC4D,EAAW,CAAC7B,OAAQF,IAC9B,IAAK,SACH,OAAO7B,EAAAA,EAAAA,KAAC6D,EAAe,IAK3B,OAAO,IACT,CAgB0CC,CAAWlB,EAAMf,GAAYe,EACjEmB,GACF/D,EAAAA,EAAAA,KAACgE,EAAAA,EAAU,CACT,aAA4B,kBAATpB,EAAoBA,EAAO,GAC9CqB,KAAM,QACNlE,UAAS,GAAAQ,OAAKT,EAAQyC,QAAO,KAAAhC,OAAIhB,EAAWO,EAAQ0C,eAAiB,IACrEjD,SAAUA,EACVsD,QACEA,EACI,SAACqB,GACCA,EAAEC,kBACG5E,EAGH2E,EAAEE,iBAFFvB,EAAQM,EAIZ,EACA,kBAAM,IAAI,EAEhBkB,GAAI,CACFpC,MAAO,OACPC,OAAQ,QACRhC,SAEDU,IAQL,OAJI7B,GAAmB,KAAVA,IACXgF,GAAgB/D,EAAAA,EAAAA,KAACwB,EAAAA,EAAO,CAACC,MAAO1C,EAAMmB,SAAE6D,KAGtClB,EACKkB,EAGLO,IAAStB,GACNzD,EAaEwE,GAXH/D,EAAAA,EAAAA,KAACuE,EAAAA,GAAI,CACHvB,GAAE,GAAAzC,OAAKyC,EAAE,KAAAzC,OAAI4C,GACbN,QAAS,SAACqB,GACRA,EAAEC,iBACJ,EAAEjE,SAED6D,IAQF,IACT,I,iCCyJMS,EAAqB,SACzBC,EACAC,EACAC,EACAC,EACAC,EACAC,EACA/B,EACAgC,EACAC,EACAC,EACAC,GAEA,IAAMC,EAhDoB,SAC1BV,EACAC,EACAC,EACAC,EACAC,EACAE,EACAC,GAEA,IAAII,GAASC,EAAAA,EAAAA,GAAOZ,GAEhBM,IACFK,EAAYX,EAAQ/B,QAAO,SAAC4C,GAAM,OAChCN,EAAaO,SAASD,EAAOE,WAAY,KAI7C,IAAIC,EAAef,EAcnB,OAZIE,IACFa,GA7CgB,IAgDdZ,IACFY,GAAgBd,GAGAS,EAAUM,QAAO,SAACC,EAAOC,GACzC,OAAOA,EAAU3D,MAAQ0D,EAAQC,EAAU3D,MAAQ0D,CACrD,GAAGF,GAEkBL,EAAU1C,QAAO,SAACmD,GAAE,OAAMA,EAAG5D,KAAK,IAAE6D,MAC3D,CAgB0BC,CACtBtB,EACAC,EACAC,EACAC,EACAC,EACAE,EACAC,GAEF,OAAOP,EAAQuB,KAAI,SAACV,EAAkBW,GACpC,GAAIlB,IAAoBC,EAAaO,SAASD,EAAOE,YACnD,OAAO,KAGT,IAAMU,GAAcZ,EAAOa,aAAcb,EAAOa,WAEhD,OAEEnG,EAAAA,EAAAA,KAACoG,EAAAA,GAAM,CAELC,QAASf,EAAOE,WAChBc,gBAAe,eAAA/F,OACb+E,EAAOiB,gBAAe,QAAAhG,OAAW+E,EAAOiB,iBAAoB,IAE9DC,eAAgB,kBACdrG,EAAAA,EAAAA,MAACsG,EAAAA,SAAQ,CAAAvG,SAAA,CACN+E,IAAeK,EAAOE,aACrBxF,EAAAA,EAAAA,KAACyG,EAAAA,SAAQ,CAAAvG,SACY,QAAlBgF,GACClF,EAAAA,EAAAA,KAAC0G,EAAAA,EAAe,KAEhB1G,EAAAA,EAAAA,KAAC2G,EAAAA,EAAiB,MAIvBrB,EAAOvG,QACC,EAEbgB,UACEuF,EAAOsB,iBAAgB,QAAArG,OAAW+E,EAAOsB,kBAAqB,GAEhEC,aAAc,SAAA/H,GAAkB,IAAfgI,EAAOhI,EAAPgI,QACTC,IAAajC,GACfA,EAAcS,SACZjB,IAASwC,GAAWA,EAAUA,EAAQ/D,IAG5C,OArHgB,SACxB+D,EACAxB,EACAyB,GAEA,IAAMC,EAAc1C,IAASwC,GACzBA,EACAG,IAAIH,EAASxB,EAAOE,WAAa,MAC/B0B,EAAc5B,EAAO6B,iBAAmBL,EAAUE,EAElDI,EAAgB9B,EAAO+B,eACzB/B,EAAO+B,eAAeH,GACtBA,EAEJ,OACElH,EAAAA,EAAAA,KAACyG,EAAAA,SAAQ,CAAAvG,UACPF,EAAAA,EAAAA,KAAA,QAAMD,UAAWgH,EAAa,WAAa,GAAG7G,SAAEkH,KAGtD,CAkGiBE,CAAkBR,EAASxB,EAAQyB,EAC5C,EACA9E,MAAOqD,EAAOrD,OAASkD,EACvBe,YAAaA,EACbqB,qBAAsB,OAAM,UAAAhH,OAhCb0F,EAAMuB,YAmC3B,GACF,EA0bA,GAAe3J,EAAAA,EAAAA,IA9rBA,WAAH,OACVE,EAAAA,EAAAA,IAAYC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CACXyJ,MAAO,CACLpJ,QAAS,OACTqJ,SAAU,OACVC,cAAe,SACfC,QAAS,aACTC,UAAW,OACXC,OAAQ,oBACRC,aAAc,EACdC,UAAW,IACXC,UAAW,SACXC,SAAU,WACV,uBAAwB,CACtBjG,MAAO,EACPC,OAAQ,IAGZiG,aAAc,CACZC,gBAAiB,cACjBN,OAAQ,GAEVvI,SAAU,CACR6I,gBAAiB,UACjB3H,MAAO,WAET4H,mBAAoB,CAClBnG,OAAQ,uBAEVoG,WAAY,CACVC,WAAY,QACZC,cAAe,SAEjBC,uBAAwB,CACtBP,SAAU,WACVQ,MAAO,EACPC,IAAK,GAEPC,eAAgB,CACdC,UAAW,IACXZ,UAAW,OACXL,QAAS,eAEXkB,kBAAmB,CACjBrI,MAAO,UACPsI,SAAU,GACVnB,QAAS,GACToB,aAAc,oBACd/G,MAAO,QAETgH,gBAAiB,CACfpK,WAAY,IAEd,UAAW,CACT,WAAY,CACVmK,aAAa,aAADzI,OAzDA,aA0DZ2B,OAAQ,GACR6G,SAAU,GACVG,mBAAoB,GACpB,UAAW,CACTC,QAAS,WAEX,mDAAoD,CAClDC,WAAY,OACZhB,gBAAiB,UACjBiB,WAAY,IACZ,aAAc,CACZ5G,OAAQ,WAEV,kBAAmB,CACjB2G,WAAY,SAGhB,cAAe,CACbC,WAAY,KAEd,4BAA6B,CAC3B5I,MAAO,WAET,sBAAuB,CACrBA,MAAO,YAGX,cAAe,CACb2I,WAAY,OACZC,WAAY,IACZN,SAAU,GACVO,UAAW,UACXjL,QAAS,OACTE,WAAY,SACZ4K,QAAS,QAEX,gCAAiC,CAC/BlH,MAAO,mBAET,sCAAuC,CACrCoH,WAAY,IACZN,SAAU,GACVQ,YAAa,YACbC,cAAe,WAEjB,oBAAqB,CACnBC,UAAW,SACX,cAAe,CACbxH,MAAO,GACPC,OAAQ,KAGZ,eAAgB,CACduH,UAAW,UAEb,cAAe,CACbA,UAAW,SAEb,oBAAqB,CACnBlB,WAAY,EACZlK,QAAS,eACTG,OAAQ,SACR0J,SAAU,WACVjG,MAAO,GACPC,OAAQ,IAEV,gDAAiD,CAC/CgG,SAAU,WACVwB,KAAM,EACNf,IAAK,KAGNxK,EAAAA,IACAwL,EAAAA,IACF,GA4jBL,EAlXqB,SAAHC,GA2BQ,IA1BxBC,EAAWD,EAAXC,YACApF,EAAOmF,EAAPnF,QACAqF,EAAQF,EAARE,SACAC,EAAOH,EAAPG,QACAC,EAASJ,EAATI,UAASC,EAAAL,EACTM,eAAAA,OAAc,IAAAD,GAAGjK,EAAAA,EAAAA,KAACmK,EAAAA,EAAU,CAACC,UAAU,KAAIlK,SAAC,eAAuB+J,EACnEI,EAAUT,EAAVS,WACAvF,EAAa8E,EAAb9E,cACA/B,EAAO6G,EAAP7G,QACAjD,EAAO8J,EAAP9J,QAAOwK,EAAAV,EACPW,eAAAA,OAAc,IAAAD,GAAQA,EAAAE,EAAAZ,EACtBa,mBAAAA,OAAkB,IAAAD,EAAG,GAAEA,EAAAE,EAAAd,EACvBe,kBAAAA,OAAiB,IAAAD,EAAG,GAAEA,EAAAE,EAAAhB,EACtBzB,aAAAA,OAAY,IAAAyC,GAAQA,EAAAC,EAAAjB,EACpB7E,gBAAAA,OAAe,IAAA8F,GAAQA,EAAAC,EAAAlB,EACvBmB,eAAAA,OAAc,IAAAD,GAAQA,EAAAE,EAAApB,EACtB5E,aAAAA,OAAY,IAAAgG,EAAG,GAAEA,EAAAC,EAAArB,EACjBsB,eAAAA,OAAc,IAAAD,EAAG,SAAC3F,EAAgB6F,GAAoB,EAACF,EACvDG,EAAoBxB,EAApBwB,qBACAC,EAAUzB,EAAVyB,WAAUC,EAAA1B,EACV2B,mBAAAA,OAAkB,IAAAD,GAAQA,EAAAE,EAAA5B,EAC1BrK,SAAAA,QAAQ,IAAAiM,GAAQA,EAChBC,GAAW7B,EAAX6B,YACAC,GAAQ9B,EAAR8B,SAAQC,GAAA/B,EACRgC,gBAAAA,QAAe,IAAAD,GAAG,GAAEA,GACpBjM,GAAOkK,EAAPlK,QAEMmM,IAAWC,EAAAA,EAAAA,MAEjBC,IAAoDC,EAAAA,EAAAA,WAAkB,GAAMC,IAAAC,EAAAA,EAAAA,GAAAH,GAAA,GAArEI,GAAkBF,GAAA,GAAEG,GAAqBH,GAAA,GAChDI,GAAgCpM,EAAAA,SAAoB,MAAKqM,IAAAJ,EAAAA,EAAAA,GAAAG,GAAA,GAAlDE,GAAQD,GAAA,GAAEE,GAAWF,GAAA,GAEtBG,GAAW5C,EACbA,EAAY6C,MAAK,SAAC7G,GAAE,MAAiB,SAAZA,EAAGjD,IAAe,IAC3C,KAyBE+J,GAAsB,SAACC,GAC3BR,IAAuBD,IACvBK,GAAYI,EAAMC,cACpB,EAEMC,GAAsB,WAC1BV,IAAsB,GACtBI,GAAY,KACd,EAkDA,OACExM,EAAAA,EAAAA,KAACI,EAAAA,GAAI,CAACC,MAAI,EAACC,GAAI,GAAIP,UAAW6L,GAAgB1L,UAC5CF,EAAAA,EAAAA,KAAC+M,EAAAA,EAAc,CAACrN,QAASA,IAAoB,GAAGQ,UAC9CC,EAAAA,EAAAA,MAAC6M,EAAAA,EAAK,CACJ7L,MAAO,CAAEuG,SAAU,UACnB3H,UAAS,GAAAQ,OAAKT,EAAQ2H,MAAK,KAAAlH,OACzB4H,EAAerI,EAAQqI,aAAe,GAAE,cAAA5H,OAE1ChB,GAAWO,EAAQP,SAAW,GAAE,eAAAgB,OAEV,KAAtBoK,EACIA,EACA7K,EAAQuI,oBACXnI,SAAA,CAEA8J,IACC7J,EAAAA,EAAAA,MAACC,EAAAA,GAAI,CAAC6M,WAAS,EAAClN,UAAWD,EAAQwI,WAAWpI,SAAA,EAC5CF,EAAAA,EAAAA,KAACI,EAAAA,GAAI,CAACC,MAAI,EAACC,GAAI,GAAIa,MAAO,CAAEsI,UAAW,UAAWvJ,SAC/CgK,KAEHlK,EAAAA,EAAAA,KAACI,EAAAA,GAAI,CAACC,MAAI,EAACC,GAAI,GAAGJ,UAChBF,EAAAA,EAAAA,KAACkN,EAAAA,EAAc,SAIpBnI,IAAoBiF,GAAaD,EAAQjE,OAAS,IACjD9F,EAAAA,EAAAA,KAAA,OAAKD,UAAWD,EAAQ2I,uBAAuBvI,SA1EhC,SAACuE,GACxB,OACEtE,EAAAA,EAAAA,MAACsG,EAAAA,SAAQ,CAAAvG,SAAA,EACPF,EAAAA,EAAAA,KAACgE,EAAAA,EAAU,CACT,mBAAkB,kBAClBvD,MAAM,UACNoC,QAAS8J,GACT1I,KAAK,QAAO/D,UAEZF,EAAAA,EAAAA,KAACmN,EAAAA,EAAc,CAACpE,SAAS,eAE3B5I,EAAAA,EAAAA,MAACiN,EAAAA,GAAO,CACNb,SAAUA,GACVrN,GAAI,kBACJmO,KAAMlB,GACNmB,aAAc,CACZC,SAAU,SACVC,WAAY,QAEdC,gBAAiB,CACfF,SAAU,MACVC,WAAY,QAEdE,QAASZ,GAAoB5M,SAAA,EAE7BF,EAAAA,EAAAA,KAAA,OAAKD,UAAWD,EAAQgJ,kBAAkB5I,SAAC,mBAC3CF,EAAAA,EAAAA,KAAA,OAAKD,UAAWD,EAAQ8I,eAAe1I,SACpCuE,EAAQuB,KAAI,SAACV,GACZ,OACEtF,EAAAA,EAAAA,KAAC2N,EAAAA,EAAe,CAEd5O,MAAOuG,EAAOvG,MACdM,QAAS2F,EAAaO,SAASD,EAAOE,YACtCxG,SAAU,SAACkF,GACTgH,EAAe5F,EAAOE,WAAatB,EAAE0J,OAAOvO,QAC9C,EACAH,GAAE,SAAAqB,OAAW+E,EAAOvG,OACpBI,KAAI,SAAAoB,OAAW+E,EAAOvG,OACtBE,MAAOqG,EAAOvG,OAAM,gBAAAwB,OARC+E,EAAOvG,OAWlC,WAKV,CA6Ba8O,CAAiBpJ,KAGrBsF,IAAYC,GAAaD,EAAQjE,OAAS,GAEzC9F,EAAAA,EAAAA,KAAC8N,EAAAA,GAAc,CACbC,YAAa,SAAAC,GAAA,IAAG/H,EAAK+H,EAAL/H,MAAK,QAAS8D,EAAQ9D,EAAM,EAC5CgI,aACE7C,EACIA,EAAqB8C,gBACrB,kBAAM,IAAIC,SAAQ,kBAAM,CAAI,GAAC,EAEnCC,SACEhD,EACIA,EAAqBiD,aACrBtE,EAAQjE,OACb5F,SAEA,SAAAoO,GAAA,IAAGC,EAAcD,EAAdC,eAAgBC,EAAaF,EAAbE,cAAa,OAE/BxO,EAAAA,EAAAA,KAACyO,EAAAA,GAAS,CAAAvO,SACP,SAAAwO,GAA6B,IAA1BzM,EAAKyM,EAALzM,MAAOC,EAAMwM,EAANxM,OACHyM,EAvLG,SAACjK,EAAwBkK,GACpD,IACMC,EAA6B,GAAfD,EAAoB,GAExC,OAAIC,EAHqB,MAOrBA,EAAcnK,EACTA,EAGFmK,CACT,CA0KyCC,CACnB7M,EACA4H,EACIA,EAAYnH,QAAO,SAACmD,GAAE,MAAiB,SAAZA,EAAGjD,IAAe,IAAEkD,OAC/C,GAEAlB,KAAwBkF,IAAYhF,GACpCiK,KACHlF,GAAeA,EAAY/D,OAAS,GACpC+D,GACwB,IAAvBA,EAAY/D,QACY,SAAxB+D,EAAY,GAAGjH,MAEnB,OAEEzC,EAAAA,EAAAA,MAAC6O,EAAAA,GAAK,CACJC,IAAKT,EACLU,eAAe,EACf5I,gBAAiB,aACjB6I,aAAc,GACdjN,OAAQA,EAAS,EACjBkN,eAAgB,kBACdpP,EAAAA,EAAAA,KAACyG,EAAAA,SAAQ,CAAAvG,SACiB,KAAvBuK,EACGA,EAAkB,gBAAAlK,OACF8J,EAAU,UACrB,EAEbgF,iBAAkB,GAClBC,UAAW,GACXrN,MAAOA,EACPmM,SAAUrE,EAAQjE,OAClByJ,UAAW,SAAAC,GAAA,IAAGvJ,EAAKuJ,EAALvJ,MAAK,OAAO8D,EAAQ9D,EAAM,EACxCwJ,WAAY,SAAAC,IAnKd,SAACC,GACnB,GAAIlD,GAAU,CACZ,IAAMtJ,EAAasJ,GAASvJ,WAAayM,EAAQ5M,GAAW4M,EAExDpQ,GAAW,EAQf,GANIkN,GAASmD,uBACPnD,GAASmD,sBAAsBzM,KACjC5D,GAAW,GAIXkN,GAASzJ,KAAOzD,EAElB,YADAsM,GAAS,GAADtL,OAAIkM,GAASzJ,GAAE,KAAAzC,OAAI4C,IAIzBsJ,GAAS5J,UAAYtD,GACvBkN,GAAS5J,QAAQM,EAErB,CACF,CA+IwB0M,CADoBH,EAAP5I,QAEf,EACAgJ,aAAc,SAACC,GAAC,iBAAAxP,OACHkM,GAAW,WAAa,GAAE,KAAAlM,QAClCkM,IAAY1B,EAAiB,gBAAkB,GAAE,KAAAxK,OAChDmL,GAAWA,GAASqE,GAAK,GAAE,EAEjCxB,eAAgBA,EAChByB,KAAM3E,EAAaA,EAAW4E,iBAAcC,EAC5CC,OAAQ9E,EAAaA,EAAW+E,iBAAcF,EAC9ChL,cACEmG,EAAaA,EAAWgF,sBAAmBH,EAE7CI,cACE/E,EAAqBxB,EAAQjE,OAAS,GAAK,EAE7C4F,SAAU,SAACqE,GACT,GAAIrE,GAAU,CACZ,IAAM6E,EAAgB7E,GAASqE,GAE/B,MAA6B,kBAAlBQ,EACFtJ,IACLuJ,EAAAA,GACAD,EACA,CAAC,GAIEA,CACT,CAEA,MAAO,CAAC,CACV,EAAErQ,SAAA,CAED0E,IAEC5E,EAAAA,EAAAA,KAACoG,EAAAA,GAAM,CACLI,eAAgB,kBACdxG,EAAAA,EAAAA,KAACyG,EAAAA,SAAQ,CAAAvG,SACNuL,IACCzL,EAAAA,EAAAA,KAAA,OAAKD,UAAWD,EAAQmJ,gBAAgB/I,UACtCF,EAAAA,EAAAA,KAAC2N,EAAAA,EAAe,CACd5O,MAAO,GACPC,SAAUyM,GACVxM,MAAM,MACNC,GAAI,YACJC,KAAM,YACNE,SACe,OAAbyF,QAAa,IAAbA,OAAa,EAAbA,EAAegB,UAAWiE,EAAQjE,YAKxC9F,EAAAA,EAAAA,KAACyG,EAAAA,SAAQ,CAAAvG,SAAC,YAEH,EAEbmG,QAAO,UAAA9F,OAAYwC,GACnBd,MA3cR,GA4cQiE,aAAW,EACXW,aAAc,SAAA4J,GAAkB,IAAf3J,EAAO2J,EAAP3J,QACTC,IAAajC,GACfA,EAAcS,SACZjB,IAASwC,GACLA,EACAA,EAAQ/D,IAIlB,OACE/C,EAAAA,EAAAA,KAACQ,EAAAA,EAAQ,CACPvB,MACEqF,IAASwC,GACLA,EACAA,EAAQ/D,GAEdtC,MAAM,UACNC,WAAY,CACV,aAAc,sBAEhBX,UAAU,gBACVV,QAAS0H,EACT/H,SAAU8K,EACVjH,QAAS,SAACqB,GACRA,EAAEC,iBACJ,EACAxD,aACEX,EAAAA,EAAAA,KAAA,QACED,UACEwK,EACIzK,EAAQ4Q,kBACR5Q,EAAQa,cAIlBC,MACEZ,EAAAA,EAAAA,KAAA,QACED,UACEwK,EACIzK,EAAQ6Q,oBACR7Q,EAAQe,iBAMxB,IAGH2D,EACCC,EACAxC,EACA0M,EACA/J,EACAmK,EACAjK,GAAiB,GACjB/B,EACAgC,EACAC,EACAqG,EAAaA,EAAW+E,YAAc,GACtC/E,EAAaA,EAAWgF,sBAAmBH,GAE5CnB,IAEC/O,EAAAA,EAAAA,KAACoG,EAAAA,GAAM,CACLC,QAAStD,EACTd,MAAO0M,EACPrI,gBAAgB,mBAChBvG,UAAU,mBACV8G,aAAc,SAAA+J,GAAkB,IAAf9J,EAAO8J,EAAP9J,QACTC,IAAajC,GACfA,EAAcS,SACZjB,IAASwC,GACLA,EACAA,EAAQ/D,IAGlB,OAvZP,SACrB8N,EACA/N,EACAjB,EACAkB,GAEA,OAAO8N,EAAQ7K,KAAI,SAAC8K,EAAqB7K,GACvC,GAAoB,SAAhB6K,EAAOlO,KACT,OAAO,KAGT,IAAMmO,EACmB,kBAAhBjO,EAA2BA,EAAcA,EAAYC,GAE1DxD,GAAW,EAQf,OANIuR,EAAOlB,uBACLkB,EAAOlB,sBAAsBmB,KAC/BxR,GAAW,GAIXuR,EAAOE,oBACLF,EAAOE,mBAAmBD,IAE1B/Q,EAAAA,EAAAA,KAAA,OAAKD,UAAW,mBAAmBG,UACjCF,EAAAA,EAAAA,KAACiR,EAAAA,IAAM,CACL9P,MAAO,CAAEc,MAAO,GAAIC,OAAQ,KAAK,kBAAA3B,OACVuQ,EAAOlO,KAAI,KAAArC,OAAI0F,EAAMuB,gBAQpDxH,EAAAA,EAAAA,KAACkR,EAAiB,CAChBnS,MAAO+R,EAAO/R,MACd6D,KAAMkO,EAAOlO,KACbC,QAASiO,EAAOjO,QAChBG,GAAI8N,EAAO9N,GACXF,YAAaA,EACbjB,SAAUA,EAEVkB,QAASA,EACTG,aAAc4N,EAAO5N,WACrB3D,SAAUA,GAAS,WAAAgB,OAHHuQ,EAAOlO,KAAI,KAAArC,OAAI0F,EAAMuB,YAM3C,GACF,CAqWqC2J,CACLtH,GAAe,GACf/C,EACAC,EACAhE,EAEJ,MAKV,GACU,KAIhB/C,EAAAA,EAAAA,KAACyG,EAAAA,SAAQ,CAAAvG,UACL8J,IACAhK,EAAAA,EAAAA,KAAA,OAAKd,GAAI,gBAAgBgB,SACC,KAAvBuK,EACGA,EAAkB,gBAAAlK,OACF8J,EAAU,mBAShD,G","sources":["screens/Console/Common/FormComponents/CheckboxWrapper/CheckboxWrapper.tsx","screens/Console/Common/TableWrapper/TableActionIcons/common.ts","screens/Console/Common/TableWrapper/TableActionIcons/CloudIcon.tsx","screens/Console/Common/TableWrapper/TableActionIcons/ConsoleIcon.tsx","screens/Console/Common/TableWrapper/TableActionIcons/DisableIcon.tsx","screens/Console/Common/TableWrapper/TableActionIcons/FormatDriveIcon.tsx","screens/Console/Common/TableWrapper/TableActionButton.tsx","screens/Console/Common/TableWrapper/TableWrapper.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 .\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 \"mds\";\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","export interface IIcon {\n active: boolean;\n}\n\nexport const unSelected = \"#081C42\";\nexport const selected = \"#081C42\";\n","import React from \"react\";\nimport { IIcon, selected, unSelected } from \"./common\";\n\nconst CloudIcon = ({ active = false }: IIcon) => {\n return (\n \n \n \n );\n};\n\nexport default CloudIcon;\n","import React from \"react\";\nimport { IIcon, selected, unSelected } from \"./common\";\n\nconst ConsoleIcon = ({ active = false }: IIcon) => {\n return (\n \n \n \n );\n};\n\nexport default ConsoleIcon;\n","import React from \"react\";\nimport { IIcon, selected, unSelected } from \"./common\";\n\nconst DescriptionIcon = ({ active = false }: IIcon) => {\n return (\n \n \n \n );\n};\n\nexport default DescriptionIcon;\n","import React, { SVGProps } from \"react\";\n\nconst FormatDriveIcon = (props: SVGProps) => (\n \n \n \n);\n\nexport default FormatDriveIcon;\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 isString from \"lodash/isString\";\nimport { Link } from \"react-router-dom\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, Tooltip } from \"@mui/material\";\nimport CloudIcon from \"./TableActionIcons/CloudIcon\";\nimport ConsoleIcon from \"./TableActionIcons/ConsoleIcon\";\nimport DisableIcon from \"./TableActionIcons/DisableIcon\";\nimport FormatDriveIcon from \"./TableActionIcons/FormatDriveIcon\";\nimport {\n DownloadIcon,\n EditIcon,\n IAMPoliciesIcon,\n PreviewIcon,\n ShareIcon,\n TrashIcon,\n} from \"mds\";\n\nconst styles = () =>\n createStyles({\n spacing: {\n margin: \"0 8px\",\n },\n buttonDisabled: {\n \"&.MuiButtonBase-root.Mui-disabled\": {\n cursor: \"not-allowed\",\n filter: \"grayscale(100%)\",\n opacity: \"30%\",\n },\n },\n });\n\ninterface IActionButton {\n label?: string;\n type: string | React.ReactNode;\n onClick?: (id: string) => any;\n to?: string;\n valueToSend: any;\n selected: boolean;\n sendOnlyId?: boolean;\n idField: string;\n disabled: boolean;\n classes: any;\n}\n\nconst defineIcon = (type: string, selected: boolean) => {\n switch (type) {\n case \"view\":\n return ;\n case \"edit\":\n return ;\n case \"delete\":\n return ;\n case \"description\":\n return ;\n case \"share\":\n return ;\n case \"cloud\":\n return ;\n case \"console\":\n return ;\n case \"download\":\n return ;\n case \"disable\":\n return ;\n case \"format\":\n return ;\n case \"preview\":\n return ;\n }\n\n return null;\n};\n\nconst TableActionButton = ({\n type,\n onClick,\n valueToSend,\n idField,\n selected,\n to,\n sendOnlyId = false,\n disabled = false,\n classes,\n label,\n}: IActionButton) => {\n const valueClick = sendOnlyId ? valueToSend[idField] : valueToSend;\n\n const icon = typeof type === \"string\" ? defineIcon(type, selected) : type;\n let buttonElement = (\n {\n e.stopPropagation();\n if (!disabled) {\n onClick(valueClick);\n } else {\n e.preventDefault();\n }\n }\n : () => null\n }\n sx={{\n width: \"30px\",\n height: \"30px\",\n }}\n >\n {icon}\n \n );\n\n if (label && label !== \"\") {\n buttonElement = {buttonElement};\n }\n\n if (onClick) {\n return buttonElement;\n }\n\n if (isString(to)) {\n if (!disabled) {\n return (\n {\n e.stopPropagation();\n }}\n >\n {buttonElement}\n \n );\n }\n\n return buttonElement;\n }\n\n return null;\n};\n\nexport default withStyles(styles)(TableActionButton);\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, { Fragment, useState } from \"react\";\nimport {\n Checkbox,\n Grid,\n IconButton,\n LinearProgress,\n Paper,\n Popover,\n Typography,\n} from \"@mui/material\";\nimport { useNavigate } from \"react-router-dom\";\nimport { AutoSizer, Column, InfiniteLoader, Table } from \"react-virtualized\";\nimport get from \"lodash/get\";\nimport isString from \"lodash/isString\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport ViewColumnIcon from \"@mui/icons-material/ViewColumn\";\nimport ArrowDropDownIcon from \"@mui/icons-material/ArrowDropDown\";\nimport ArrowDropUpIcon from \"@mui/icons-material/ArrowDropUp\";\nimport TableActionButton from \"./TableActionButton\";\nimport CheckboxWrapper from \"../FormComponents/CheckboxWrapper/CheckboxWrapper\";\nimport {\n checkboxIcons,\n radioIcons,\n TableRowPredefStyles,\n} from \"../FormComponents/common/styleLibrary\";\nimport { Loader } from \"mds\";\nimport TooltipWrapper from \"../TooltipWrapper/TooltipWrapper\";\n\n//Interfaces for table Items\n\nexport interface ItemActions {\n label?: string;\n type: string | any;\n to?: string;\n sendOnlyId?: boolean;\n disableButtonFunction?: (itemValue: any) => boolean;\n showLoaderFunction?: (itemValue: any) => boolean;\n\n onClick?(valueToSend: any): any;\n}\n\ninterface IColumns {\n label: string;\n elementKey?: string;\n renderFunction?: (input: any) => any;\n renderFullObject?: boolean;\n globalClass?: any;\n rowClass?: any;\n width?: number;\n headerTextAlign?: string;\n contentTextAlign?: string;\n enableSort?: boolean;\n}\n\ninterface IInfiniteScrollConfig {\n loadMoreRecords: (indexElements: {\n startIndex: number;\n stopIndex: number;\n }) => Promise;\n recordsCount: number;\n}\n\ninterface ISortConfig {\n triggerSort: (val: any) => any;\n currentSort: string;\n currentDirection: \"ASC\" | \"DESC\" | undefined;\n}\n\ninterface TableWrapperProps {\n itemActions?: ItemActions[] | null;\n columns: IColumns[];\n onSelect?: (e: React.ChangeEvent) => any;\n idField: string;\n isLoading: boolean;\n loadingMessage?: React.ReactNode;\n records: any[];\n classes: any;\n entityName: string;\n selectedItems?: string[];\n radioSelection?: boolean;\n customEmptyMessage?: string;\n customPaperHeight?: string;\n noBackground?: boolean;\n columnsSelector?: boolean;\n textSelectable?: boolean;\n columnsShown?: string[];\n onColumnChange?: (column: string, state: boolean) => any;\n autoScrollToBottom?: boolean;\n infiniteScrollConfig?: IInfiniteScrollConfig;\n sortConfig?: ISortConfig;\n disabled?: boolean;\n onSelectAll?: () => void;\n rowStyle?: ({\n index,\n }: {\n index: number;\n }) => \"deleted\" | \"\" | React.CSSProperties;\n parentClassName?: string;\n tooltip?: any;\n}\n\nconst borderColor = \"#9c9c9c80\";\n\nconst styles = () =>\n createStyles({\n paper: {\n display: \"flex\",\n overflow: \"auto\",\n flexDirection: \"column\",\n padding: \"0 16px 8px\",\n boxShadow: \"none\",\n border: \"#EAEDEE 1px solid\",\n borderRadius: 3,\n minHeight: 200,\n overflowY: \"scroll\",\n position: \"relative\",\n \"&::-webkit-scrollbar\": {\n width: 0,\n height: 3,\n },\n },\n noBackground: {\n backgroundColor: \"transparent\",\n border: 0,\n },\n disabled: {\n backgroundColor: \"#fbfafa\",\n color: \"#cccccc\",\n },\n defaultPaperHeight: {\n height: \"calc(100vh - 205px)\",\n },\n loadingBox: {\n paddingTop: \"100px\",\n paddingBottom: \"100px\",\n },\n overlayColumnSelection: {\n position: \"absolute\",\n right: 0,\n top: 0,\n },\n popoverContent: {\n maxHeight: 250,\n overflowY: \"auto\",\n padding: \"0 10px 10px\",\n },\n shownColumnsLabel: {\n color: \"#9c9c9c\",\n fontSize: 12,\n padding: 10,\n borderBottom: \"#eaeaea 1px solid\",\n width: \"100%\",\n },\n checkAllWrapper: {\n marginTop: -16,\n },\n \"@global\": {\n \".rowLine\": {\n borderBottom: `1px solid ${borderColor}`,\n height: 40,\n fontSize: 14,\n transitionDuration: 0.3,\n \"&:focus\": {\n outline: \"initial\",\n },\n \"&:hover:not(.ReactVirtualized__Table__headerRow)\": {\n userSelect: \"none\",\n backgroundColor: \"#ececec\",\n fontWeight: 600,\n \"&.canClick\": {\n cursor: \"pointer\",\n },\n \"&.canSelectText\": {\n userSelect: \"text\",\n },\n },\n \"& .selected\": {\n fontWeight: 600,\n },\n \"&:not(.deleted) .selected\": {\n color: \"#081C42\",\n },\n \"&.deleted .selected\": {\n color: \"#C51B3F\",\n },\n },\n \".headerItem\": {\n userSelect: \"none\",\n fontWeight: 700,\n fontSize: 14,\n fontStyle: \"initial\",\n display: \"flex\",\n alignItems: \"center\",\n outline: \"none\",\n },\n \".ReactVirtualized__Table__row\": {\n width: \"100% !important\",\n },\n \".ReactVirtualized__Table__headerRow\": {\n fontWeight: 700,\n fontSize: 14,\n borderColor: \"#39393980\",\n textTransform: \"initial\",\n },\n \".optionsAlignment\": {\n textAlign: \"center\",\n \"& .min-icon\": {\n width: 16,\n height: 16,\n },\n },\n \".text-center\": {\n textAlign: \"center\",\n },\n \".text-right\": {\n textAlign: \"right\",\n },\n \".progress-enabled\": {\n paddingTop: 3,\n display: \"inline-block\",\n margin: \"0 10px\",\n position: \"relative\",\n width: 18,\n height: 18,\n },\n \".progress-enabled > .MuiCircularProgress-root\": {\n position: \"absolute\",\n left: 0,\n top: 3,\n },\n },\n ...checkboxIcons,\n ...radioIcons,\n });\n\nconst selectWidth = 45;\n\n// Function to render elements in table\nconst subRenderFunction = (\n rowData: any,\n column: IColumns,\n isSelected: boolean,\n) => {\n const itemElement = isString(rowData)\n ? rowData\n : get(rowData, column.elementKey!, null); // If the element is just a string, we render it as it is\n const renderConst = column.renderFullObject ? rowData : itemElement;\n\n const renderElement = column.renderFunction\n ? column.renderFunction(renderConst)\n : renderConst; // If render function is set, we send the value to the function.\n\n return (\n \n {renderElement}\n \n );\n};\n\n// Function to calculate common column width for elements with no with size\nconst calculateColumnRest = (\n columns: IColumns[],\n containerWidth: number,\n actionsWidth: number,\n hasSelect: boolean,\n hasActions: boolean,\n columnsSelector: boolean,\n columnsShown: string[],\n) => {\n let colsItems = [...columns];\n\n if (columnsSelector) {\n colsItems = columns.filter((column) =>\n columnsShown.includes(column.elementKey!),\n );\n }\n\n let initialValue = containerWidth;\n\n if (hasSelect) {\n initialValue -= selectWidth;\n }\n\n if (hasActions) {\n initialValue -= actionsWidth;\n }\n\n let freeSpacing = colsItems.reduce((total, currValue) => {\n return currValue.width ? total - currValue.width : total;\n }, initialValue);\n\n return freeSpacing / colsItems.filter((el) => !el.width).length;\n};\n\n// Function that renders Columns in table\nconst generateColumnsMap = (\n columns: IColumns[],\n containerWidth: number,\n actionsWidth: number,\n hasSelect: boolean,\n hasActions: boolean,\n selectedItems: string[],\n idField: string,\n columnsSelector: boolean,\n columnsShown: string[],\n sortColumn: string,\n sortDirection: \"ASC\" | \"DESC\" | undefined,\n) => {\n const commonRestWidth = calculateColumnRest(\n columns,\n containerWidth,\n actionsWidth,\n hasSelect,\n hasActions,\n columnsSelector,\n columnsShown,\n );\n return columns.map((column: IColumns, index: number) => {\n if (columnsSelector && !columnsShown.includes(column.elementKey!)) {\n return null;\n }\n\n const disableSort = column.enableSort ? !column.enableSort : true;\n\n return (\n // @ts-ignore\n (\n \n {sortColumn === column.elementKey && (\n \n {sortDirection === \"ASC\" ? (\n \n ) : (\n \n )}\n \n )}\n {column.label}\n \n )}\n className={\n column.contentTextAlign ? `text-${column.contentTextAlign}` : \"\"\n }\n cellRenderer={({ rowData }) => {\n const isSelected = selectedItems\n ? selectedItems.includes(\n isString(rowData) ? rowData : rowData[idField],\n )\n : false;\n return subRenderFunction(rowData, column, isSelected);\n }}\n width={column.width || commonRestWidth}\n disableSort={disableSort}\n defaultSortDirection={\"ASC\"}\n />\n );\n });\n};\n\n// Function to render the action buttons\nconst elementActions = (\n actions: ItemActions[],\n valueToSend: any,\n selected: boolean,\n idField: string,\n) => {\n return actions.map((action: ItemActions, index: number) => {\n if (action.type === \"view\") {\n return null;\n }\n\n const vlSend =\n typeof valueToSend === \"string\" ? valueToSend : valueToSend[idField];\n\n let disabled = false;\n\n if (action.disableButtonFunction) {\n if (action.disableButtonFunction(vlSend)) {\n disabled = true;\n }\n }\n\n if (action.showLoaderFunction) {\n if (action.showLoaderFunction(vlSend)) {\n return (\n
\n \n
\n );\n }\n }\n\n return (\n \n );\n });\n};\n\n// Function to calculate the options column width according elements inside\nconst calculateOptionsSize = (containerWidth: number, totalOptions: number) => {\n const minContainerSize = 80;\n const sizeOptions = totalOptions * 45 + 15;\n\n if (sizeOptions < minContainerSize) {\n return minContainerSize;\n }\n\n if (sizeOptions > containerWidth) {\n return containerWidth;\n }\n\n return sizeOptions;\n};\n\n// Main function to render the Table Wrapper\nconst TableWrapper = ({\n itemActions,\n columns,\n onSelect,\n records,\n isLoading,\n loadingMessage = Loading...,\n entityName,\n selectedItems,\n idField,\n classes,\n radioSelection = false,\n customEmptyMessage = \"\",\n customPaperHeight = \"\",\n noBackground = false,\n columnsSelector = false,\n textSelectable = false,\n columnsShown = [],\n onColumnChange = (column: string, state: boolean) => {},\n infiniteScrollConfig,\n sortConfig,\n autoScrollToBottom = false,\n disabled = false,\n onSelectAll,\n rowStyle,\n parentClassName = \"\",\n tooltip,\n}: TableWrapperProps) => {\n const navigate = useNavigate();\n\n const [columnSelectorOpen, setColumnSelectorOpen] = useState(false);\n const [anchorEl, setAnchorEl] = React.useState(null);\n\n const findView = itemActions\n ? itemActions.find((el) => el.type === \"view\")\n : null;\n\n const clickAction = (rowItem: any) => {\n if (findView) {\n const valueClick = findView.sendOnlyId ? rowItem[idField] : rowItem;\n\n let disabled = false;\n\n if (findView.disableButtonFunction) {\n if (findView.disableButtonFunction(valueClick)) {\n disabled = true;\n }\n }\n\n if (findView.to && !disabled) {\n navigate(`${findView.to}/${valueClick}`);\n return;\n }\n\n if (findView.onClick && !disabled) {\n findView.onClick(valueClick);\n }\n }\n };\n\n const openColumnsSelector = (event: { currentTarget: any }) => {\n setColumnSelectorOpen(!columnSelectorOpen);\n setAnchorEl(event.currentTarget);\n };\n\n const closeColumnSelector = () => {\n setColumnSelectorOpen(false);\n setAnchorEl(null);\n };\n\n const columnsSelection = (columns: IColumns[]) => {\n return (\n \n \n \n \n \n
Shown Columns
\n
\n {columns.map((column: IColumns) => {\n return (\n {\n onColumnChange(column.elementKey!, e.target.checked);\n }}\n id={`chbox-${column.label}`}\n name={`chbox-${column.label}`}\n value={column.label}\n />\n );\n })}\n
\n \n
\n );\n };\n\n return (\n \n \n \n {isLoading && (\n \n \n {loadingMessage}\n \n \n \n \n \n )}\n {columnsSelector && !isLoading && records.length > 0 && (\n
\n {columnsSelection(columns)}\n
\n )}\n {records && !isLoading && records.length > 0 ? (\n // @ts-ignore\n !!records[index]}\n loadMoreRows={\n infiniteScrollConfig\n ? infiniteScrollConfig.loadMoreRecords\n : () => new Promise(() => true)\n }\n rowCount={\n infiniteScrollConfig\n ? infiniteScrollConfig.recordsCount\n : records.length\n }\n >\n {({ onRowsRendered, registerChild }) => (\n // @ts-ignore\n \n {({ width, height }: any) => {\n const optionsWidth = calculateOptionsSize(\n width,\n itemActions\n ? itemActions.filter((el) => el.type !== \"view\").length\n : 0,\n );\n const hasSelect: boolean = !!(onSelect && selectedItems);\n const hasOptions: boolean = !!(\n (itemActions && itemActions.length > 1) ||\n (itemActions &&\n itemActions.length === 1 &&\n itemActions[0].type !== \"view\")\n );\n return (\n // @ts-ignore\n (\n \n {customEmptyMessage !== \"\"\n ? customEmptyMessage\n : `There are no ${entityName} yet.`}\n \n )}\n overscanRowCount={10}\n rowHeight={40}\n width={width}\n rowCount={records.length}\n rowGetter={({ index }) => records[index]}\n onRowClick={({ rowData }) => {\n clickAction(rowData);\n }}\n rowClassName={(r) =>\n `rowLine ${findView ? \"canClick\" : \"\"} ${\n !findView && textSelectable ? \"canSelectText\" : \"\"\n } ${rowStyle ? rowStyle(r) : \"\"}`\n }\n onRowsRendered={onRowsRendered}\n sort={sortConfig ? sortConfig.triggerSort : undefined}\n sortBy={sortConfig ? sortConfig.currentSort : undefined}\n sortDirection={\n sortConfig ? sortConfig.currentDirection : undefined\n }\n scrollToIndex={\n autoScrollToBottom ? records.length - 1 : -1\n }\n rowStyle={(r) => {\n if (rowStyle) {\n const returnElement = rowStyle(r);\n\n if (typeof returnElement === \"string\") {\n return get(\n TableRowPredefStyles,\n returnElement,\n {},\n );\n }\n\n return returnElement;\n }\n\n return {};\n }}\n >\n {hasSelect && (\n // @ts-ignore\n (\n \n {onSelectAll ? (\n
\n \n
\n ) : (\n Select\n )}\n
\n )}\n dataKey={`select-${idField}`}\n width={selectWidth}\n disableSort\n cellRenderer={({ rowData }) => {\n const isSelected = selectedItems\n ? selectedItems.includes(\n isString(rowData)\n ? rowData\n : rowData[idField],\n )\n : false;\n\n return (\n {\n e.stopPropagation();\n }}\n checkedIcon={\n \n }\n icon={\n \n }\n />\n );\n }}\n />\n )}\n {generateColumnsMap(\n columns,\n width,\n optionsWidth,\n hasSelect,\n hasOptions,\n selectedItems || [],\n idField,\n columnsSelector,\n columnsShown,\n sortConfig ? sortConfig.currentSort : \"\",\n sortConfig ? sortConfig.currentDirection : undefined,\n )}\n {hasOptions && (\n // @ts-ignore\n {\n const isSelected = selectedItems\n ? selectedItems.includes(\n isString(rowData)\n ? rowData\n : rowData[idField],\n )\n : false;\n return elementActions(\n itemActions || [],\n rowData,\n isSelected,\n idField,\n );\n }}\n />\n )}\n \n );\n }}\n
\n )}\n \n ) : (\n \n {!isLoading && (\n
\n {customEmptyMessage !== \"\"\n ? customEmptyMessage\n : `There are no ${entityName} yet.`}\n
\n )}\n
\n )}\n \n
\n
\n );\n};\n\nexport default withStyles(styles)(TableWrapper);\n"],"names":["withStyles","theme","createStyles","_objectSpread","fieldBasic","tooltipHelper","checkboxIcons","fieldContainer","display","justifyContent","alignItems","margin","marginBottom","flexBasis","flexWrap","noTopMargin","marginTop","_ref","label","onChange","value","id","name","_ref$checked","checked","_ref$disabled","disabled","_ref$noTopMargin","_ref$tooltip","tooltip","_ref$overrideLabelCla","overrideLabelClasses","overrideCheckboxStyles","classes","className","_jsx","React","children","_jsxs","Grid","item","xs","concat","Checkbox","color","inputProps","checkedIcon","icon","unCheckedIcon","disableRipple","disableFocusRipple","focusRipple","centerRipple","disableTouchRipple","style","InputLabel","htmlFor","noMinWidthLabel","tooltipContainer","Tooltip","title","placement","HelpIcon","unSelected","selected","_ref$active","active","xmlns","width","height","viewBox","fill","d","props","spacing","buttonDisabled","cursor","filter","opacity","type","onClick","valueToSend","idField","to","_ref$sendOnlyId","sendOnlyId","valueClick","PreviewIcon","EditIcon","TrashIcon","IAMPoliciesIcon","ShareIcon","CloudIcon","ConsoleIcon","DownloadIcon","DisableIcon","FormatDriveIcon","defineIcon","buttonElement","IconButton","size","e","stopPropagation","preventDefault","sx","isString","Link","generateColumnsMap","columns","containerWidth","actionsWidth","hasSelect","hasActions","selectedItems","columnsSelector","columnsShown","sortColumn","sortDirection","commonRestWidth","colsItems","_toConsumableArray","column","includes","elementKey","initialValue","reduce","total","currValue","el","length","calculateColumnRest","map","index","disableSort","enableSort","Column","dataKey","headerClassName","headerTextAlign","headerRenderer","Fragment","ArrowDropUpIcon","ArrowDropDownIcon","contentTextAlign","cellRenderer","rowData","isSelected","itemElement","get","renderConst","renderFullObject","renderElement","renderFunction","subRenderFunction","defaultSortDirection","toString","paper","overflow","flexDirection","padding","boxShadow","border","borderRadius","minHeight","overflowY","position","noBackground","backgroundColor","defaultPaperHeight","loadingBox","paddingTop","paddingBottom","overlayColumnSelection","right","top","popoverContent","maxHeight","shownColumnsLabel","fontSize","borderBottom","checkAllWrapper","transitionDuration","outline","userSelect","fontWeight","fontStyle","borderColor","textTransform","textAlign","left","radioIcons","_ref2","itemActions","onSelect","records","isLoading","_ref2$loadingMessage","loadingMessage","Typography","component","entityName","_ref2$radioSelection","radioSelection","_ref2$customEmptyMess","customEmptyMessage","_ref2$customPaperHeig","customPaperHeight","_ref2$noBackground","_ref2$columnsSelector","_ref2$textSelectable","textSelectable","_ref2$columnsShown","_ref2$onColumnChange","onColumnChange","state","infiniteScrollConfig","sortConfig","_ref2$autoScrollToBot","autoScrollToBottom","_ref2$disabled","onSelectAll","rowStyle","_ref2$parentClassName","parentClassName","navigate","useNavigate","_useState","useState","_useState2","_slicedToArray","columnSelectorOpen","setColumnSelectorOpen","_React$useState","_React$useState2","anchorEl","setAnchorEl","findView","find","openColumnsSelector","event","currentTarget","closeColumnSelector","TooltipWrapper","Paper","container","LinearProgress","ViewColumnIcon","Popover","open","anchorOrigin","vertical","horizontal","transformOrigin","onClose","CheckboxWrapper","target","columnsSelection","InfiniteLoader","isRowLoaded","_ref3","loadMoreRows","loadMoreRecords","Promise","rowCount","recordsCount","_ref4","onRowsRendered","registerChild","AutoSizer","_ref5","optionsWidth","totalOptions","sizeOptions","calculateOptionsSize","hasOptions","Table","ref","disableHeader","headerHeight","noRowsRenderer","overscanRowCount","rowHeight","rowGetter","_ref6","onRowClick","_ref7","rowItem","disableButtonFunction","clickAction","rowClassName","r","sort","triggerSort","undefined","sortBy","currentSort","currentDirection","scrollToIndex","returnElement","TableRowPredefStyles","_ref8","radioSelectedIcon","radioUnselectedIcon","_ref9","actions","action","vlSend","showLoaderFunction","Loader","TableActionButton","elementActions"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3034.18978581.chunk.js.map b/portal-ui/build/static/js/3034.18978581.chunk.js.map index 73605607b..2a856c0b2 100644 --- a/portal-ui/build/static/js/3034.18978581.chunk.js.map +++ b/portal-ui/build/static/js/3034.18978581.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/3034.18978581.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/KMS/AddKeyForm.tsx","screens/Console/KMS/AddKey.tsx","screens/Console/KMS/KMSHelpbox.tsx","../node_modules/@mui/icons-material/RemoveRedEye.js","../node_modules/@mui/icons-material/VisibilityOff.js","../node_modules/@mui/icons-material/utils/createSvgIcon.js","../node_modules/@mui/material/FormControl/FormControlContext.js","../node_modules/@mui/material/FormControl/formControlState.js","../node_modules/@mui/material/FormControl/useFormControl.js","../node_modules/@mui/material/FormLabel/FormLabel.js","../node_modules/@mui/material/FormLabel/formLabelClasses.js","../node_modules/@mui/material/InputLabel/inputLabelClasses.js","../node_modules/@mui/material/InputLabel/InputLabel.js","../node_modules/@mui/material/utils/createChainedFunction.js","../node_modules/@mui/material/utils/deprecatedPropType.js","../node_modules/@mui/utils/esm/deprecatedPropType.js","../node_modules/@mui/material/utils/requirePropFactory.js","../node_modules/@mui/utils/esm/requirePropFactory.js","../node_modules/@mui/material/utils/setRef.js","../node_modules/@mui/material/utils/unsupportedProp.js","../node_modules/@mui/utils/esm/unsupportedProp.js","../node_modules/@mui/material/utils/index.js","../node_modules/@mui/material/utils/isMuiElement.js","../node_modules/@mui/utils/esm/isMuiElement.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.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 .\nimport React, { ClipboardEvent, useState } from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { HelpIcon } from \"mds\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n onFocus?: () => void;\n onPaste?: (e: ClipboardEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n }),\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n onFocus,\n onPaste,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n const [toggleTextInput, setToggleTextInput] = useState(false);\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n let inputBoxWrapperIcon = overlayIcon;\n let inputBoxWrapperType = type;\n\n if (type === \"password\" && overlayIcon === null) {\n inputBoxWrapperIcon = toggleTextInput ? (\n \n ) : (\n \n );\n inputBoxWrapperType = toggleTextInput ? \"text\" : \"password\";\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {inputBoxWrapperIcon && (\n \n {\n overlayAction();\n }\n : () => setToggleTextInput(!toggleTextInput)\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {inputBoxWrapperIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\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\";\n\nimport Grid from \"@mui/material/Grid\";\nimport { AddAccessRuleIcon, Button, FormLayout, PageLayout } from \"mds\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport KMSHelpBox from \"./KMSHelpbox\";\n\ninterface IAddKeyFormProps {\n onSuccess: () => void;\n onError: (err: ErrorResponseHandler) => void;\n}\n\nconst AddKeyForm = ({ onSuccess, onError }: IAddKeyFormProps) => {\n const [loading, invokeApi] = useApi(onSuccess, onError);\n const [keyName, setKeyName] = useState(\"\");\n\n const addRecord = (event: React.FormEvent) => {\n event.preventDefault();\n invokeApi(\"POST\", \"/api/v1/kms/keys/\", { key: keyName });\n };\n\n const resetForm = () => {\n setKeyName(\"\");\n };\n\n const validateKeyName = (keyName: string) => {\n if (keyName.indexOf(\" \") !== -1) {\n return \"Key name cannot contain spaces\";\n } else return \"\";\n };\n\n const validSave = keyName.trim() !== \"\" && keyName.indexOf(\" \") === -1;\n\n return (\n \n }\n helpBox={\n \n }\n >\n ) => {\n addRecord(e);\n }}\n >\n \n \n ) => {\n setKeyName(e.target.value);\n }}\n />\n \n \n \n \n\n \n \n \n \n \n \n \n );\n};\n\nexport default AddKeyForm;\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 } from \"react\";\n\nimport Grid from \"@mui/material/Grid\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { setErrorSnackMessage, setHelpName } from \"../../../systemSlice\";\nimport { useNavigate } from \"react-router-dom\";\nimport { useAppDispatch } from \"../../../store\";\nimport AddKeyForm from \"./AddKeyForm\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport { BackLink } from \"mds\";\nimport HelpMenu from \"../HelpMenu\";\n\nconst AddKey = () => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const onSuccess = () => navigate(`${IAM_PAGES.KMS_KEYS}`);\n\n const onError = (err: ErrorResponseHandler) =>\n dispatch(setErrorSnackMessage(err));\n\n useEffect(() => {\n dispatch(setHelpName(\"add_key\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n \n navigate(IAM_PAGES.KMS_KEYS)}\n />\n }\n actions={}\n />\n \n \n \n );\n};\n\nexport default AddKey;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 { HelpBox, HelpIconFilled, Box } from \"mds\";\n\ninterface IKMSHelpBoxProps {\n helpText: string;\n contents: string[];\n}\n\nconst KMSHelpBox = ({ helpText, contents }: IKMSHelpBoxProps) => {\n return (\n }\n title={helpText}\n help={\n \n {contents.map((content) => (\n {content}\n ))}\n \n }\n />\n );\n};\n\nexport default KMSHelpBox;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n}), 'RemoveRedEye');\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"\n}), 'VisibilityOff');\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst FormControlContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== 'production') {\n FormControlContext.displayName = 'FormControlContext';\n}\nexport default FormControlContext;","export default function formControlState({\n props,\n states,\n muiFormControl\n}) {\n return states.reduce((acc, state) => {\n acc[state] = props[state];\n if (muiFormControl) {\n if (typeof props[state] === 'undefined') {\n acc[state] = muiFormControl[state];\n }\n }\n return acc;\n }, {});\n}","import * as React from 'react';\nimport FormControlContext from './FormControlContext';\nexport default function useFormControl() {\n return React.useContext(FormControlContext);\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"disabled\", \"error\", \"filled\", \"focused\", \"required\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport formLabelClasses, { getFormLabelUtilityClasses } from './formLabelClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n focused,\n disabled,\n error,\n filled,\n required\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, disabled && 'disabled', error && 'error', filled && 'filled', focused && 'focused', required && 'required'],\n asterisk: ['asterisk', error && 'error']\n };\n return composeClasses(slots, getFormLabelUtilityClasses, classes);\n};\nexport const FormLabelRoot = styled('label', {\n name: 'MuiFormLabel',\n slot: 'Root',\n overridesResolver: ({\n ownerState\n }, styles) => {\n return _extends({}, styles.root, ownerState.color === 'secondary' && styles.colorSecondary, ownerState.filled && styles.filled);\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, theme.typography.body1, {\n lineHeight: '1.4375em',\n padding: 0,\n position: 'relative',\n [`&.${formLabelClasses.focused}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${formLabelClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n },\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst AsteriskComponent = styled('span', {\n name: 'MuiFormLabel',\n slot: 'Asterisk',\n overridesResolver: (props, styles) => styles.asterisk\n})(({\n theme\n}) => ({\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst FormLabel = /*#__PURE__*/React.forwardRef(function FormLabel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormLabel'\n });\n const {\n children,\n className,\n component = 'label'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['color', 'required', 'focused', 'disabled', 'error', 'filled']\n });\n const ownerState = _extends({}, props, {\n color: fcs.color || 'primary',\n component,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(FormLabelRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: [children, fcs.required && /*#__PURE__*/_jsxs(AsteriskComponent, {\n ownerState: ownerState,\n \"aria-hidden\": true,\n className: classes.asterisk,\n children: [\"\\u2009\", '*']\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormLabel.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\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 * If `true`, the label should be displayed in a disabled state.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the label should use filled classes key.\n */\n filled: PropTypes.bool,\n /**\n * If `true`, the input of this label is focused (used by `FormGroup` components).\n */\n focused: PropTypes.bool,\n /**\n * If `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\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} : void 0;\nexport default FormLabel;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getFormLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiFormLabel', slot);\n}\nconst formLabelClasses = generateUtilityClasses('MuiFormLabel', ['root', 'colorSecondary', 'focused', 'disabled', 'error', 'filled', 'required', 'asterisk']);\nexport default formLabelClasses;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getInputLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiInputLabel', slot);\n}\nconst inputLabelClasses = generateUtilityClasses('MuiInputLabel', ['root', 'focused', 'disabled', 'error', 'required', 'asterisk', 'formControl', 'sizeSmall', 'shrink', 'animated', 'standard', 'filled', 'outlined']);\nexport default inputLabelClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"disableAnimation\", \"margin\", \"shrink\", \"variant\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport clsx from 'clsx';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport FormLabel, { formLabelClasses } from '../FormLabel';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { getInputLabelUtilityClasses } from './inputLabelClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n formControl,\n size,\n shrink,\n disableAnimation,\n variant,\n required\n } = ownerState;\n const slots = {\n root: ['root', formControl && 'formControl', !disableAnimation && 'animated', shrink && 'shrink', size === 'small' && 'sizeSmall', variant],\n asterisk: [required && 'asterisk']\n };\n const composedClasses = composeClasses(slots, getInputLabelUtilityClasses, classes);\n return _extends({}, classes, composedClasses);\n};\nconst InputLabelRoot = styled(FormLabel, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiInputLabel',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${formLabelClasses.asterisk}`]: styles.asterisk\n }, styles.root, ownerState.formControl && styles.formControl, ownerState.size === 'small' && styles.sizeSmall, ownerState.shrink && styles.shrink, !ownerState.disableAnimation && styles.animated, styles[ownerState.variant]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'block',\n transformOrigin: 'top left',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: '100%'\n}, ownerState.formControl && {\n position: 'absolute',\n left: 0,\n top: 0,\n // slight alteration to spec spacing to match visual spec result\n transform: 'translate(0, 20px) scale(1)'\n}, ownerState.size === 'small' && {\n // Compensation for the `Input.inputSizeSmall` style.\n transform: 'translate(0, 17px) scale(1)'\n}, ownerState.shrink && {\n transform: 'translate(0, -1.5px) scale(0.75)',\n transformOrigin: 'top left',\n maxWidth: '133%'\n}, !ownerState.disableAnimation && {\n transition: theme.transitions.create(['color', 'transform', 'max-width'], {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n })\n}, ownerState.variant === 'filled' && _extends({\n // Chrome's autofill feature gives the input field a yellow background.\n // Since the input field is behind the label in the HTML tree,\n // the input field is drawn last and hides the label with an opaque background color.\n // zIndex: 1 will raise the label above opaque background-colors of input.\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(12px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 13px) scale(1)'\n}, ownerState.shrink && _extends({\n userSelect: 'none',\n pointerEvents: 'auto',\n transform: 'translate(12px, 7px) scale(0.75)',\n maxWidth: 'calc(133% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 4px) scale(0.75)'\n})), ownerState.variant === 'outlined' && _extends({\n // see comment above on filled.zIndex\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(14px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(14px, 9px) scale(1)'\n}, ownerState.shrink && {\n userSelect: 'none',\n pointerEvents: 'auto',\n // Theoretically, we should have (8+5)*2/0.75 = 34px\n // but it feels a better when it bleeds a bit on the left, so 32px.\n maxWidth: 'calc(133% - 32px)',\n transform: 'translate(14px, -9px) scale(0.75)'\n})));\nconst InputLabel = /*#__PURE__*/React.forwardRef(function InputLabel(inProps, ref) {\n const props = useThemeProps({\n name: 'MuiInputLabel',\n props: inProps\n });\n const {\n disableAnimation = false,\n shrink: shrinkProp,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n let shrink = shrinkProp;\n if (typeof shrink === 'undefined' && muiFormControl) {\n shrink = muiFormControl.filled || muiFormControl.focused || muiFormControl.adornedStart;\n }\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['size', 'variant', 'required']\n });\n const ownerState = _extends({}, props, {\n disableAnimation,\n formControl: muiFormControl,\n shrink,\n size: fcs.size,\n variant: fcs.variant,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(InputLabelRoot, _extends({\n \"data-shrink\": shrink,\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? InputLabel.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the transition animation is disabled.\n * @default false\n */\n disableAnimation: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` of this label is focused.\n */\n focused: PropTypes.bool,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: PropTypes.oneOf(['dense']),\n /**\n * if `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n /**\n * If `true`, the label is shrunk.\n */\n shrink: PropTypes.bool,\n /**\n * The size of the component.\n * @default 'normal'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['normal', 'small']), PropTypes.string]),\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 * The variant to use.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputLabel;","import { unstable_createChainedFunction as createChainedFunction } from '@mui/utils';\nexport default createChainedFunction;","import { unstable_deprecatedPropType as deprecatedPropType } from '@mui/utils';\nexport default deprecatedPropType;","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return (props, propName, componentName, location, propFullName) => {\n const componentNameSafe = componentName || '<>';\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The ${location} \\`${propFullNameSafe}\\` of ` + `\\`${componentNameSafe}\\` is deprecated. ${reason}`);\n }\n return null;\n };\n}","import { unstable_requirePropFactory as requirePropFactory } from '@mui/utils';\nexport default requirePropFactory;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function requirePropFactory(componentNameInError, Component) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n\n // eslint-disable-next-line react/forbid-foreign-prop-types\n const prevPropTypes = Component ? _extends({}, Component.propTypes) : null;\n const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {\n const propFullNameSafe = propFullName || propName;\n const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];\n if (defaultTypeChecker) {\n const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);\n if (typeCheckerResult) {\n return typeCheckerResult;\n }\n }\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(`The prop \\`${propFullNameSafe}\\` of ` + `\\`${componentNameInError}\\` can only be used together with the \\`${requiredProp}\\` prop.`);\n }\n return null;\n };\n return requireProp;\n}","import { unstable_setRef as setRef } from '@mui/utils';\nexport default setRef;","import { unstable_unsupportedProp as unsupportedProp } from '@mui/utils';\nexport default unsupportedProp;","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","import { unstable_ClassNameGenerator as ClassNameGenerator } from '@mui/base/className';\nexport { default as capitalize } from './capitalize';\nexport { default as createChainedFunction } from './createChainedFunction';\nexport { default as createSvgIcon } from './createSvgIcon';\nexport { default as debounce } from './debounce';\nexport { default as deprecatedPropType } from './deprecatedPropType';\nexport { default as isMuiElement } from './isMuiElement';\nexport { default as ownerDocument } from './ownerDocument';\nexport { default as ownerWindow } from './ownerWindow';\nexport { default as requirePropFactory } from './requirePropFactory';\nexport { default as setRef } from './setRef';\nexport { default as unstable_useEnhancedEffect } from './useEnhancedEffect';\nexport { default as unstable_useId } from './useId';\nexport { default as unsupportedProp } from './unsupportedProp';\nexport { default as useControlled } from './useControlled';\nexport { default as useEventCallback } from './useEventCallback';\nexport { default as useForkRef } from './useForkRef';\nexport { default as useIsFocusVisible } from './useIsFocusVisible';\n// TODO: remove this export once ClassNameGenerator is stable\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const unstable_ClassNameGenerator = {\n configure: generator => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(['MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.', '', \"You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead\", '', 'The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401', '', 'The updated documentation: https://mui.com/guides/classname-generator/'].join('\\n'));\n }\n ClassNameGenerator.configure(generator);\n }\n};","import { unstable_isMuiElement as isMuiElement } from '@mui/utils';\nexport default isMuiElement;","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf(element.type.muiName) !== -1;\n}","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"names":["inputStyles","makeStyles","theme","createStyles","_objectSpread","inputFieldStyles","InputField","props","classes","_jsx","TextField","InputProps","withStyles","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","_ref","label","onChange","value","id","name","_ref$type","type","_ref$autoComplete","autoComplete","_ref$disabled","disabled","_ref$multiline","multiline","_ref$tooltip","tooltip","_ref$index","index","_ref$error","error","_ref$required","required","_ref$placeholder","placeholder","min","max","overlayId","_ref$overlayIcon","overlayIcon","_ref$overlayObject","overlayObject","_ref$extraInputProps","extraInputProps","_ref$noLabelMinWidth","noLabelMinWidth","_ref$pattern","pattern","_ref$autoFocus","autoFocus","_ref$className","className","onKeyPress","onFocus","onPaste","inputProps","_useState","useState","_useState2","_slicedToArray","toggleTextInput","setToggleTextInput","inputBoxWrapperIcon","inputBoxWrapperType","VisibilityOffIcon","RemoveRedEyeIcon","React","children","_jsxs","Grid","container","clsx","errorInField","inputBoxContainer","InputLabel","htmlFor","noMinWidthLabel","inputLabel","tooltipContainer","Tooltip","title","placement","HelpIcon","fullWidth","helperText","inputRebase","concat","IconButton","onClick","size","disableFocusRipple","disableRipple","disableTouchRipple","onSuccess","onError","_useApi","useApi","_useApi2","loading","invokeApi","keyName","setKeyName","validSave","trim","indexOf","PageLayout","FormLayout","icon","AddAccessRuleIcon","helpBox","KMSHelpBox","helpText","contents","noValidate","onSubmit","e","preventDefault","key","item","spacing","xs","InputBoxWrapper","validateKeyName","target","textAlign","Box","sx","display","alignItems","justifyContent","marginTop","gap","Button","variant","color","dispatch","useAppDispatch","navigate","useNavigate","useEffect","setHelpName","Fragment","PageHeaderWrapper","BackLink","IAM_PAGES","KMS_KEYS","actions","HelpMenu","AddKeyForm","err","setErrorSnackMessage","HelpBox","iconComponent","HelpIconFilled","help","map","content","paddingBottom","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","Object","defineProperty","enumerable","get","_utils","createSvgIcon","FormControlContext","undefined","formControlState","states","muiFormControl","reduce","acc","state","useFormControl","_excluded","FormLabelRoot","styled","slot","overridesResolver","styles","ownerState","_extends","root","colorSecondary","filled","_ref2","_extends2","vars","palette","text","secondary","typography","body1","lineHeight","padding","_defineProperty","formLabelClasses","focused","main","AsteriskComponent","asterisk","_ref3","FormLabel","inProps","ref","useThemeProps","_props$component","component","other","_objectWithoutPropertiesLoose","fcs","slots","capitalize","composeClasses","getFormLabelUtilityClasses","useUtilityClasses","as","generateUtilityClass","generateUtilityClasses","getInputLabelUtilityClasses","InputLabelRoot","shouldForwardProp","prop","rootShouldForwardProp","formControl","sizeSmall","shrink","disableAnimation","animated","transformOrigin","whiteSpace","overflow","textOverflow","left","transform","transition","transitions","create","duration","shorter","easing","easeOut","zIndex","pointerEvents","userSelect","_props$disableAnimati","shrinkProp","adornedStart","composedClasses","createChainedFunction","validator","reason","componentNameInError","Component","propName","componentName","location","propFullName","unstable_ClassNameGenerator","configure","generator","ClassNameGenerator","element","muiNames","muiName","module","obj","__esModule"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/3034.18978581.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/KMS/AddKeyForm.tsx","screens/Console/KMS/AddKey.tsx","screens/Console/KMS/KMSHelpbox.tsx","../node_modules/@mui/icons-material/RemoveRedEye.js","../node_modules/@mui/icons-material/VisibilityOff.js","../node_modules/@mui/icons-material/utils/createSvgIcon.js","../node_modules/@mui/material/FormControl/FormControlContext.js","../node_modules/@mui/material/FormControl/formControlState.js","../node_modules/@mui/material/FormControl/useFormControl.js","../node_modules/@mui/material/FormLabel/FormLabel.js","../node_modules/@mui/material/FormLabel/formLabelClasses.js","../node_modules/@mui/material/InputLabel/inputLabelClasses.js","../node_modules/@mui/material/InputLabel/InputLabel.js","../node_modules/@mui/material/utils/createChainedFunction.js","../node_modules/@mui/material/utils/deprecatedPropType.js","../node_modules/@mui/utils/esm/deprecatedPropType.js","../node_modules/@mui/material/utils/requirePropFactory.js","../node_modules/@mui/utils/esm/requirePropFactory.js","../node_modules/@mui/material/utils/setRef.js","../node_modules/@mui/material/utils/unsupportedProp.js","../node_modules/@mui/utils/esm/unsupportedProp.js","../node_modules/@mui/material/utils/index.js","../node_modules/@mui/material/utils/isMuiElement.js","../node_modules/@mui/utils/esm/isMuiElement.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.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 .\nimport React, { ClipboardEvent, useState } from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { HelpIcon } from \"mds\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n onFocus?: () => void;\n onPaste?: (e: ClipboardEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n }),\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n onFocus,\n onPaste,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n const [toggleTextInput, setToggleTextInput] = useState(false);\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n let inputBoxWrapperIcon = overlayIcon;\n let inputBoxWrapperType = type;\n\n if (type === \"password\" && overlayIcon === null) {\n inputBoxWrapperIcon = toggleTextInput ? (\n \n ) : (\n \n );\n inputBoxWrapperType = toggleTextInput ? \"text\" : \"password\";\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {inputBoxWrapperIcon && (\n \n {\n overlayAction();\n }\n : () => setToggleTextInput(!toggleTextInput)\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {inputBoxWrapperIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\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\";\n\nimport Grid from \"@mui/material/Grid\";\nimport { AddAccessRuleIcon, Button, FormLayout, PageLayout } from \"mds\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport KMSHelpBox from \"./KMSHelpbox\";\n\ninterface IAddKeyFormProps {\n onSuccess: () => void;\n onError: (err: ErrorResponseHandler) => void;\n}\n\nconst AddKeyForm = ({ onSuccess, onError }: IAddKeyFormProps) => {\n const [loading, invokeApi] = useApi(onSuccess, onError);\n const [keyName, setKeyName] = useState(\"\");\n\n const addRecord = (event: React.FormEvent) => {\n event.preventDefault();\n invokeApi(\"POST\", \"/api/v1/kms/keys/\", { key: keyName });\n };\n\n const resetForm = () => {\n setKeyName(\"\");\n };\n\n const validateKeyName = (keyName: string) => {\n if (keyName.indexOf(\" \") !== -1) {\n return \"Key name cannot contain spaces\";\n } else return \"\";\n };\n\n const validSave = keyName.trim() !== \"\" && keyName.indexOf(\" \") === -1;\n\n return (\n \n }\n helpBox={\n \n }\n >\n ) => {\n addRecord(e);\n }}\n >\n \n \n ) => {\n setKeyName(e.target.value);\n }}\n />\n \n \n \n \n\n \n \n \n \n \n \n \n );\n};\n\nexport default AddKeyForm;\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 } from \"react\";\n\nimport Grid from \"@mui/material/Grid\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { setErrorSnackMessage, setHelpName } from \"../../../systemSlice\";\nimport { useNavigate } from \"react-router-dom\";\nimport { useAppDispatch } from \"../../../store\";\nimport AddKeyForm from \"./AddKeyForm\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport { BackLink } from \"mds\";\nimport HelpMenu from \"../HelpMenu\";\n\nconst AddKey = () => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const onSuccess = () => navigate(`${IAM_PAGES.KMS_KEYS}`);\n\n const onError = (err: ErrorResponseHandler) =>\n dispatch(setErrorSnackMessage(err));\n\n useEffect(() => {\n dispatch(setHelpName(\"add_key\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n \n navigate(IAM_PAGES.KMS_KEYS)}\n />\n }\n actions={}\n />\n \n \n \n );\n};\n\nexport default AddKey;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 { HelpBox, HelpIconFilled, Box } from \"mds\";\n\ninterface IKMSHelpBoxProps {\n helpText: string;\n contents: string[];\n}\n\nconst KMSHelpBox = ({ helpText, contents }: IKMSHelpBoxProps) => {\n return (\n }\n title={helpText}\n help={\n \n {contents.map((content) => (\n {content}\n ))}\n \n }\n />\n );\n};\n\nexport default KMSHelpBox;\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n}), 'RemoveRedEye');\nexports.default = _default;","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"\n}), 'VisibilityOff');\nexports.default = _default;","\"use strict\";\n'use client';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst FormControlContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== 'production') {\n FormControlContext.displayName = 'FormControlContext';\n}\nexport default FormControlContext;","export default function formControlState({\n props,\n states,\n muiFormControl\n}) {\n return states.reduce((acc, state) => {\n acc[state] = props[state];\n if (muiFormControl) {\n if (typeof props[state] === 'undefined') {\n acc[state] = muiFormControl[state];\n }\n }\n return acc;\n }, {});\n}","'use client';\n\nimport * as React from 'react';\nimport FormControlContext from './FormControlContext';\nexport default function useFormControl() {\n return React.useContext(FormControlContext);\n}","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"disabled\", \"error\", \"filled\", \"focused\", \"required\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport formLabelClasses, { getFormLabelUtilityClasses } from './formLabelClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n focused,\n disabled,\n error,\n filled,\n required\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, disabled && 'disabled', error && 'error', filled && 'filled', focused && 'focused', required && 'required'],\n asterisk: ['asterisk', error && 'error']\n };\n return composeClasses(slots, getFormLabelUtilityClasses, classes);\n};\nexport const FormLabelRoot = styled('label', {\n name: 'MuiFormLabel',\n slot: 'Root',\n overridesResolver: ({\n ownerState\n }, styles) => {\n return _extends({}, styles.root, ownerState.color === 'secondary' && styles.colorSecondary, ownerState.filled && styles.filled);\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, theme.typography.body1, {\n lineHeight: '1.4375em',\n padding: 0,\n position: 'relative',\n [`&.${formLabelClasses.focused}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${formLabelClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n },\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst AsteriskComponent = styled('span', {\n name: 'MuiFormLabel',\n slot: 'Asterisk',\n overridesResolver: (props, styles) => styles.asterisk\n})(({\n theme\n}) => ({\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst FormLabel = /*#__PURE__*/React.forwardRef(function FormLabel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormLabel'\n });\n const {\n children,\n className,\n component = 'label'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['color', 'required', 'focused', 'disabled', 'error', 'filled']\n });\n const ownerState = _extends({}, props, {\n color: fcs.color || 'primary',\n component,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(FormLabelRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: [children, fcs.required && /*#__PURE__*/_jsxs(AsteriskComponent, {\n ownerState: ownerState,\n \"aria-hidden\": true,\n className: classes.asterisk,\n children: [\"\\u2009\", '*']\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormLabel.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\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 * If `true`, the label should be displayed in a disabled state.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the label should use filled classes key.\n */\n filled: PropTypes.bool,\n /**\n * If `true`, the input of this label is focused (used by `FormGroup` components).\n */\n focused: PropTypes.bool,\n /**\n * If `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\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} : void 0;\nexport default FormLabel;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getFormLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiFormLabel', slot);\n}\nconst formLabelClasses = generateUtilityClasses('MuiFormLabel', ['root', 'colorSecondary', 'focused', 'disabled', 'error', 'filled', 'required', 'asterisk']);\nexport default formLabelClasses;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getInputLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiInputLabel', slot);\n}\nconst inputLabelClasses = generateUtilityClasses('MuiInputLabel', ['root', 'focused', 'disabled', 'error', 'required', 'asterisk', 'formControl', 'sizeSmall', 'shrink', 'animated', 'standard', 'filled', 'outlined']);\nexport default inputLabelClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"disableAnimation\", \"margin\", \"shrink\", \"variant\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport clsx from 'clsx';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport FormLabel, { formLabelClasses } from '../FormLabel';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { getInputLabelUtilityClasses } from './inputLabelClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n formControl,\n size,\n shrink,\n disableAnimation,\n variant,\n required\n } = ownerState;\n const slots = {\n root: ['root', formControl && 'formControl', !disableAnimation && 'animated', shrink && 'shrink', size === 'small' && 'sizeSmall', variant],\n asterisk: [required && 'asterisk']\n };\n const composedClasses = composeClasses(slots, getInputLabelUtilityClasses, classes);\n return _extends({}, classes, composedClasses);\n};\nconst InputLabelRoot = styled(FormLabel, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiInputLabel',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${formLabelClasses.asterisk}`]: styles.asterisk\n }, styles.root, ownerState.formControl && styles.formControl, ownerState.size === 'small' && styles.sizeSmall, ownerState.shrink && styles.shrink, !ownerState.disableAnimation && styles.animated, styles[ownerState.variant]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'block',\n transformOrigin: 'top left',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: '100%'\n}, ownerState.formControl && {\n position: 'absolute',\n left: 0,\n top: 0,\n // slight alteration to spec spacing to match visual spec result\n transform: 'translate(0, 20px) scale(1)'\n}, ownerState.size === 'small' && {\n // Compensation for the `Input.inputSizeSmall` style.\n transform: 'translate(0, 17px) scale(1)'\n}, ownerState.shrink && {\n transform: 'translate(0, -1.5px) scale(0.75)',\n transformOrigin: 'top left',\n maxWidth: '133%'\n}, !ownerState.disableAnimation && {\n transition: theme.transitions.create(['color', 'transform', 'max-width'], {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n })\n}, ownerState.variant === 'filled' && _extends({\n // Chrome's autofill feature gives the input field a yellow background.\n // Since the input field is behind the label in the HTML tree,\n // the input field is drawn last and hides the label with an opaque background color.\n // zIndex: 1 will raise the label above opaque background-colors of input.\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(12px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 13px) scale(1)'\n}, ownerState.shrink && _extends({\n userSelect: 'none',\n pointerEvents: 'auto',\n transform: 'translate(12px, 7px) scale(0.75)',\n maxWidth: 'calc(133% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 4px) scale(0.75)'\n})), ownerState.variant === 'outlined' && _extends({\n // see comment above on filled.zIndex\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(14px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(14px, 9px) scale(1)'\n}, ownerState.shrink && {\n userSelect: 'none',\n pointerEvents: 'auto',\n // Theoretically, we should have (8+5)*2/0.75 = 34px\n // but it feels a better when it bleeds a bit on the left, so 32px.\n maxWidth: 'calc(133% - 32px)',\n transform: 'translate(14px, -9px) scale(0.75)'\n})));\nconst InputLabel = /*#__PURE__*/React.forwardRef(function InputLabel(inProps, ref) {\n const props = useThemeProps({\n name: 'MuiInputLabel',\n props: inProps\n });\n const {\n disableAnimation = false,\n shrink: shrinkProp,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n let shrink = shrinkProp;\n if (typeof shrink === 'undefined' && muiFormControl) {\n shrink = muiFormControl.filled || muiFormControl.focused || muiFormControl.adornedStart;\n }\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['size', 'variant', 'required']\n });\n const ownerState = _extends({}, props, {\n disableAnimation,\n formControl: muiFormControl,\n shrink,\n size: fcs.size,\n variant: fcs.variant,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(InputLabelRoot, _extends({\n \"data-shrink\": shrink,\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? InputLabel.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the transition animation is disabled.\n * @default false\n */\n disableAnimation: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` of this label is focused.\n */\n focused: PropTypes.bool,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: PropTypes.oneOf(['dense']),\n /**\n * if `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n /**\n * If `true`, the label is shrunk.\n */\n shrink: PropTypes.bool,\n /**\n * The size of the component.\n * @default 'normal'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['normal', 'small']), PropTypes.string]),\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 * The variant to use.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputLabel;","import { unstable_createChainedFunction as createChainedFunction } from '@mui/utils';\nexport default createChainedFunction;","import { unstable_deprecatedPropType as deprecatedPropType } from '@mui/utils';\nexport default deprecatedPropType;","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return (props, propName, componentName, location, propFullName) => {\n const componentNameSafe = componentName || '<>';\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The ${location} \\`${propFullNameSafe}\\` of ` + `\\`${componentNameSafe}\\` is deprecated. ${reason}`);\n }\n return null;\n };\n}","import { unstable_requirePropFactory as requirePropFactory } from '@mui/utils';\nexport default requirePropFactory;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function requirePropFactory(componentNameInError, Component) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n\n // eslint-disable-next-line react/forbid-foreign-prop-types\n const prevPropTypes = Component ? _extends({}, Component.propTypes) : null;\n const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {\n const propFullNameSafe = propFullName || propName;\n const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];\n if (defaultTypeChecker) {\n const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);\n if (typeCheckerResult) {\n return typeCheckerResult;\n }\n }\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(`The prop \\`${propFullNameSafe}\\` of ` + `\\`${componentNameInError}\\` can only be used together with the \\`${requiredProp}\\` prop.`);\n }\n return null;\n };\n return requireProp;\n}","import { unstable_setRef as setRef } from '@mui/utils';\nexport default setRef;","import { unstable_unsupportedProp as unsupportedProp } from '@mui/utils';\nexport default unsupportedProp;","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","'use client';\n\nimport { unstable_ClassNameGenerator as ClassNameGenerator } from '@mui/base/className';\nexport { default as capitalize } from './capitalize';\nexport { default as createChainedFunction } from './createChainedFunction';\nexport { default as createSvgIcon } from './createSvgIcon';\nexport { default as debounce } from './debounce';\nexport { default as deprecatedPropType } from './deprecatedPropType';\nexport { default as isMuiElement } from './isMuiElement';\nexport { default as ownerDocument } from './ownerDocument';\nexport { default as ownerWindow } from './ownerWindow';\nexport { default as requirePropFactory } from './requirePropFactory';\nexport { default as setRef } from './setRef';\nexport { default as unstable_useEnhancedEffect } from './useEnhancedEffect';\nexport { default as unstable_useId } from './useId';\nexport { default as unsupportedProp } from './unsupportedProp';\nexport { default as useControlled } from './useControlled';\nexport { default as useEventCallback } from './useEventCallback';\nexport { default as useForkRef } from './useForkRef';\nexport { default as useIsFocusVisible } from './useIsFocusVisible';\n// TODO: remove this export once ClassNameGenerator is stable\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const unstable_ClassNameGenerator = {\n configure: generator => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(['MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.', '', \"You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead\", '', 'The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401', '', 'The updated documentation: https://mui.com/guides/classname-generator/'].join('\\n'));\n }\n ClassNameGenerator.configure(generator);\n }\n};","import { unstable_isMuiElement as isMuiElement } from '@mui/utils';\nexport default isMuiElement;","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf(element.type.muiName) !== -1;\n}","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"names":["inputStyles","makeStyles","theme","createStyles","_objectSpread","inputFieldStyles","InputField","props","classes","_jsx","TextField","InputProps","withStyles","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","_ref","label","onChange","value","id","name","_ref$type","type","_ref$autoComplete","autoComplete","_ref$disabled","disabled","_ref$multiline","multiline","_ref$tooltip","tooltip","_ref$index","index","_ref$error","error","_ref$required","required","_ref$placeholder","placeholder","min","max","overlayId","_ref$overlayIcon","overlayIcon","_ref$overlayObject","overlayObject","_ref$extraInputProps","extraInputProps","_ref$noLabelMinWidth","noLabelMinWidth","_ref$pattern","pattern","_ref$autoFocus","autoFocus","_ref$className","className","onKeyPress","onFocus","onPaste","inputProps","_useState","useState","_useState2","_slicedToArray","toggleTextInput","setToggleTextInput","inputBoxWrapperIcon","inputBoxWrapperType","VisibilityOffIcon","RemoveRedEyeIcon","React","children","_jsxs","Grid","container","clsx","errorInField","inputBoxContainer","InputLabel","htmlFor","noMinWidthLabel","inputLabel","tooltipContainer","Tooltip","title","placement","HelpIcon","fullWidth","helperText","inputRebase","concat","IconButton","onClick","size","disableFocusRipple","disableRipple","disableTouchRipple","onSuccess","onError","_useApi","useApi","_useApi2","loading","invokeApi","keyName","setKeyName","validSave","trim","indexOf","PageLayout","FormLayout","icon","AddAccessRuleIcon","helpBox","KMSHelpBox","helpText","contents","noValidate","onSubmit","e","preventDefault","key","item","spacing","xs","InputBoxWrapper","validateKeyName","target","textAlign","Box","sx","display","alignItems","justifyContent","marginTop","gap","Button","variant","color","dispatch","useAppDispatch","navigate","useNavigate","useEffect","setHelpName","Fragment","PageHeaderWrapper","BackLink","IAM_PAGES","KMS_KEYS","actions","HelpMenu","AddKeyForm","err","setErrorSnackMessage","HelpBox","iconComponent","HelpIconFilled","help","map","content","paddingBottom","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","Object","defineProperty","enumerable","get","_utils","createSvgIcon","FormControlContext","undefined","formControlState","states","muiFormControl","reduce","acc","state","useFormControl","_excluded","FormLabelRoot","styled","slot","overridesResolver","styles","ownerState","_extends","root","colorSecondary","filled","_ref2","_extends2","vars","palette","text","secondary","typography","body1","lineHeight","padding","_defineProperty","formLabelClasses","focused","main","AsteriskComponent","asterisk","_ref3","FormLabel","inProps","ref","useThemeProps","_props$component","component","other","_objectWithoutPropertiesLoose","fcs","slots","capitalize","composeClasses","getFormLabelUtilityClasses","useUtilityClasses","as","generateUtilityClass","generateUtilityClasses","getInputLabelUtilityClasses","InputLabelRoot","shouldForwardProp","prop","rootShouldForwardProp","formControl","sizeSmall","shrink","disableAnimation","animated","transformOrigin","whiteSpace","overflow","textOverflow","left","transform","transition","transitions","create","duration","shorter","easing","easeOut","zIndex","pointerEvents","userSelect","_props$disableAnimati","shrinkProp","adornedStart","composedClasses","createChainedFunction","validator","reason","componentNameInError","Component","propName","componentName","location","propFullName","unstable_ClassNameGenerator","configure","generator","ClassNameGenerator","element","muiNames","muiName","module","obj","__esModule"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3067.10ab217f.chunk.js b/portal-ui/build/static/js/3067.10ab217f.chunk.js deleted file mode 100644 index 75050c965..000000000 --- a/portal-ui/build/static/js/3067.10ab217f.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3067],{75578:function(e,t,i){var n=i(1413),s=i(72791),l=i(80184);t.Z=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return function(i){return(0,l.jsx)(s.Suspense,{fallback:t,children:(0,l.jsx)(e,(0,n.Z)({},i))})}}},81159:function(e,t,i){var n=i(4942),s=i(1413),l=i(72791),a=i(11135),o=i(25787),r=i(9955),c=i(30829),d=i(20068),x=i(20890),p=i(61889),u=i(23814),h=i(29945),m=i(28182),g=i(80184),f=(0,o.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(r.Z);t.Z=(0,o.Z)((function(e){return(0,a.Z)((0,s.Z)((0,s.Z)({indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},u.OR),u.YI))}))((function(e){var t=e.label,i=void 0===t?"":t,a=e.onChange,o=e.value,r=e.id,u=e.name,j=e.checked,b=void 0!==j&&j,y=e.disabled,Z=void 0!==y&&y,C=e.switchOnly,v=void 0!==C&&C,w=e.tooltip,k=void 0===w?"":w,S=e.description,I=void 0===S?"":S,F=e.classes,E=e.indicatorLabels,L=e.extraInputProps,B=void 0===L?{}:L,A=(0,g.jsxs)(l.Fragment,{children:[!v&&(0,g.jsx)("span",{className:(0,m.Z)(F.indicatorLabel,(0,n.Z)({},F.indicatorLabelOn,!b)),children:E&&E.length>1?E[1]:"OFF"}),(0,g.jsx)(f,{checked:b,onChange:a,color:"primary",name:u,inputProps:(0,s.Z)({"aria-label":"primary checkbox"},B),disabled:Z,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:o,id:r}),!v&&(0,g.jsx)("span",{className:(0,m.Z)(F.indicatorLabel,(0,n.Z)({},F.indicatorLabelOn,b)),children:E?E[0]:"ON"})]});return v?A:(0,g.jsx)("div",{children:(0,g.jsxs)(p.ZP,{container:!0,alignItems:"center",children:[(0,g.jsx)(p.ZP,{item:!0,xs:12,sm:8,md:8,children:""!==i&&(0,g.jsxs)(c.Z,{htmlFor:r,className:F.inputLabel,children:[(0,g.jsx)("span",{children:i}),""!==k&&(0,g.jsx)("div",{className:F.tooltipContainer,children:(0,g.jsx)(d.Z,{title:k,placement:"top-start",children:(0,g.jsx)("div",{className:F.tooltip,children:(0,g.jsx)(h.byK,{})})})})]})}),(0,g.jsx)(p.ZP,{item:!0,xs:12,sm:""!==i?4:12,md:""!==i?4:12,textAlign:"right",justifyContent:"end",className:F.switchContainer,children:A}),""!==I&&(0,g.jsx)(p.ZP,{item:!0,xs:12,textAlign:"left",children:(0,g.jsx)(x.Z,{component:"p",className:F.fieldDescription,children:I})})]})})}))},31460:function(e,t,i){var n=i(72791),s=i(57689),l=i(64554),a=i(29945),o=i(80184);t.Z=function(e){var t=e.compactMode,i=void 0!==t&&t,r=(0,s.s0)(),c=(0,o.jsx)(a.zxk,{id:"go-to-register",type:"submit",variant:"callAction",color:"primary",onClick:function(){return r("/support/register")},children:"Register your Cluster"}),d="Use your MinIO Subscription Network login credentials to register this cluster.";return i?(0,o.jsxs)(n.Fragment,{children:[(0,o.jsx)(a.rjZ,{sx:{"& div.leftItems":{marginBottom:0}},children:(0,o.jsx)(a.KfX,{title:(0,o.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",flexGrow:1},children:[(0,o.jsx)("span",{children:d})," ",c]}),iconComponent:(0,o.jsx)(a.e6P,{}),help:(0,o.jsx)(n.Fragment,{})})}),(0,o.jsx)("br",{})]}):(0,o.jsx)(l.Z,{sx:{padding:"25px",border:"1px solid #eaeaea",display:"flex",alignItems:"center",justifyContent:"center",flexFlow:{sm:"row",xs:"column"},marginBottom:"15px"},children:(0,o.jsxs)(a.rjZ,{container:!0,children:[(0,o.jsx)(a.rjZ,{item:!0,xs:12,children:(0,o.jsx)(l.Z,{sx:{marginRight:"8px",fontSize:"16px",fontWeight:600,display:"flex",alignItems:"center","& .min-icon":{width:"83px",height:"14px",marginLeft:"5px",marginRight:"5px"}},children:"Register your cluster"})}),(0,o.jsx)(a.rjZ,{item:!0,xs:12,children:(0,o.jsx)(l.Z,{sx:{display:"flex",flexFlow:{xs:"column",md:"row"}},children:(0,o.jsxs)(l.Z,{sx:{display:"flex",flexFlow:"column",flex:"2"},children:[(0,o.jsx)(l.Z,{sx:{fontSize:"16px",display:"flex",flexFlow:"column",marginTop:"15px",marginBottom:"15px"},children:d}),(0,o.jsx)(l.Z,{sx:{flex:"1"},children:(0,o.jsx)(l.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"},children:c})})]})})})]})})}},73067:function(e,t,i){i.r(t),i.d(t,{default:function(){return F}});var n=i(72791),s=i(57689),l=i(75578),a=i(50099),o=i(29439),r=i(64554),c=i(29945),d=i(11087),x=i(81207),p=i(87995),u=i(81551),h=i(9478),m=i(40986),g=i(56028),f=i(80184),j=function(e){var t=e.onClose,i=e.diagStatus,s=e.logsStatus,l=e.open,a=e.disable,r=void 0!==a&&a,d=(0,u.TL)(),h=(0,n.useState)(!1),j=(0,o.Z)(h,2),b=j[0],y=j[1],Z=function(){y(!0),x.Z.invoke("PUT","/api/v1/support/callhome",{diagState:!r&&i,logsState:!r&&s}).then((function(e){d((0,p.y1)("Configuration saved successfully")),y(!1),t(!0)})).catch((function(e){y(!1),d((0,p.Ih)(e))}))};return(0,f.jsx)(g.Z,{modalOpen:l,title:r?"Disable Call Home":"Edit Call Home Configurations",onClose:function(){return t(!1)},titleIcon:(0,f.jsx)(c.o0P,{}),children:r?(0,f.jsxs)(n.Fragment,{children:["Please Acknowledge that after doing this action, we will no longer receive updated cluster information automatically, losing the potential benefits that Call Home provides to your MinIO cluster.",(0,f.jsx)(c.rjZ,{item:!0,xs:12,sx:{margin:"15px 0"},children:"Are you sure you want to disable SUBNET Call Home?"}),(0,f.jsx)("br",{}),b&&(0,f.jsx)(c.rjZ,{item:!0,xs:12,sx:{marginBottom:10},children:(0,f.jsx)(m.Z,{})}),(0,f.jsxs)(c.rjZ,{item:!0,xs:12,sx:{display:"flex",justifyContent:"flex-end"},children:[(0,f.jsx)(c.zxk,{id:"reset",type:"button",variant:"regular",disabled:b,onClick:function(){return t(!1)},label:"Cancel",sx:{marginRight:10}}),(0,f.jsx)(c.zxk,{id:"save-lifecycle",type:"submit",variant:"secondary",color:"primary",disabled:b,label:"Yes, Disable Call Home",onClick:Z})]})]}):(0,f.jsxs)(n.Fragment,{children:["Are you sure you want to change the following configurations for SUBNET Call Home:",(0,f.jsxs)(c.rjZ,{item:!0,sx:{margin:"20px 0",display:"flex",flexDirection:"column",gap:15},children:[(0,f.jsxs)(c.rjZ,{item:!0,sx:{display:"flex",alignItems:"center",gap:10},children:[(0,f.jsx)(c.J$M,{style:{fill:i?"#4CCB92":"#C83B51",width:20}}),(0,f.jsxs)("span",{children:[(0,f.jsx)("strong",{children:i?"Enable":"Disable"})," - Send Diagnostics Information to SUBNET"]})]}),(0,f.jsxs)(c.rjZ,{item:!0,sx:{display:"flex",alignItems:"center",gap:10},children:[(0,f.jsx)(c.J$M,{style:{fill:s?"#4CCB92":"#C83B51",width:20}}),(0,f.jsxs)("span",{children:[(0,f.jsx)("strong",{children:s?"Enable":"Disable"})," - Send Logs Information to SUBNET"]})]})]}),(0,f.jsx)(c.rjZ,{item:!0,xs:12,sx:{margin:"15px 0"},children:"Please Acknowledge that the information provided will only be available in your SUBNET Account and it will not be shared to other persons or entities besides MinIO team and you."}),b&&(0,f.jsx)(c.rjZ,{item:!0,xs:12,sx:{marginBottom:10},children:(0,f.jsx)(m.Z,{})}),(0,f.jsxs)(c.rjZ,{item:!0,xs:12,sx:{display:"flex",justifyContent:"flex-end"},children:[(0,f.jsx)(c.zxk,{id:"reset",type:"button",variant:"regular",disabled:b,onClick:function(){return t(!1)},label:"Cancel",sx:{marginRight:10}}),(0,f.jsx)(c.zxk,{id:"save-lifecycle",type:"submit",variant:"callAction",color:"primary",disabled:b,label:"Yes, Save this Configuration",onClick:Z})]})]})})},b=i(31460),y=i(81159),Z=i(47974),C=i(99670),v=function(e){var t=e.title,i=e.text;return(0,f.jsxs)("div",{style:{marginTop:15},children:[(0,f.jsx)("div",{style:{marginBottom:10,fontWeight:"bold"},children:t}),(0,f.jsx)("div",{style:{color:"#969696",fontSize:12,marginBottom:40},children:i})]})},w=function(){var e=(0,u.TL)(),t=(0,s.s0)(),i=(0,n.useState)(!0),l=(0,o.Z)(i,2),a=l[0],m=l[1],g=(0,n.useState)(!1),w=(0,o.Z)(g,2),k=w[0],S=w[1],I=(0,n.useState)(!1),F=(0,o.Z)(I,2),E=F[0],L=F[1],B=(0,n.useState)(!1),A=(0,o.Z)(B,2),N=A[0],T=A[1],z=(0,n.useState)(!1),O=(0,o.Z)(z,2),R=O[0],D=O[1],P=(0,n.useState)(!1),W=(0,o.Z)(P,2),H=W[0],M=W[1],U=(0,n.useState)(!1),$=(0,o.Z)(U,2),Y=$[0],X=$[1],K=(0,h.Yc)();(0,n.useEffect)((function(){a&&x.Z.invoke("GET","/api/v1/support/callhome").then((function(e){m(!1),L(!!e.diagnosticsStatus),M(!!e.logsStatus),T(!!e.diagnosticsStatus),D(!!e.logsStatus)})).catch((function(t){m(!1),e((0,p.Ih)(t))}))}),[a,e]);var _="regular";return!K||E===N&&H===R||(_="callAction"),(0,n.useEffect)((function(){e((0,p.Sc)("call_home"))}),[]),(0,f.jsxs)(n.Fragment,{children:[k&&(0,f.jsx)(j,{onClose:function(e){e&&m(!0),S(!1)},open:k,logsStatus:H,diagStatus:E,disable:Y}),(0,f.jsx)(Z.Z,{label:"Call Home",actions:(0,f.jsx)(C.Z,{})}),(0,f.jsxs)(c.Xgh,{children:[!K&&(0,f.jsx)(b.Z,{compactMode:!0}),(0,f.jsxs)(r.Z,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"flex-start",border:"1px solid #eaeaea",padding:{lg:"40px",xs:"15px"},flexWrap:"wrap",gap:{lg:"55px",xs:"20px"},height:{md:"calc(100vh - 120px)",xs:"100%"},flexFlow:{lg:"row",xs:"column"}},children:[(0,f.jsx)(r.Z,{sx:{border:"1px solid #eaeaea",flex:{md:2,xs:1},width:{lg:"auto",xs:"100%"},padding:{lg:"40px",xs:"15px"}},children:a?(0,f.jsx)("span",{style:{marginLeft:5},children:(0,f.jsx)(c.aNw,{style:{width:16,height:16}})}):(0,f.jsxs)(n.Fragment,{children:[(0,f.jsxs)("div",{style:{marginBottom:25},children:[(0,f.jsx)(y.Z,{value:"enableDiag",id:"enableDiag",name:"enableDiag",checked:E,onChange:function(e){L(e.target.checked)},label:"Daily Health Report",disabled:!K}),(0,f.jsx)(v,{title:"When you enable diagnostics",text:"Daily Health Report enables you to proactively identify potential issues in your deployment before they escalate."})]}),(0,f.jsxs)("div",{children:[(0,f.jsx)(y.Z,{value:"enableLogs",id:"enableLogs",name:"enableLogs",checked:H,onChange:function(e){M(e.target.checked)},label:"Live Error Logs",disabled:!K}),(0,f.jsx)(v,{title:"When you enable logs",text:"Live Error Logs will enable MinIO's support team and automatic diagnostics system to catch failures early."})]}),(0,f.jsxs)(r.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end",marginTop:"55px",gap:"0px 10px"},children:[(N||R)&&(0,f.jsx)(c.zxk,{id:"callhome-action",variant:"secondary","data-test-id":"call-home-toggle-button",onClick:function(){X(!0),S(!0)},disabled:a,children:"Disable Call Home"}),(0,f.jsx)(c.zxk,{id:"callhome-action",type:"button",variant:_,"data-test-id":"call-home-toggle-button",onClick:function(){K?(X(!1),S(!0)):t("/support/register")},disabled:a,children:"Save Configuration"})]})]})}),(0,f.jsx)(r.Z,{sx:{flex:1,minWidth:{md:"365px",xs:"100%"},width:"100%"},children:(0,f.jsx)(c.KfX,{title:"",iconComponent:null,help:(0,f.jsxs)(n.Fragment,{children:[(0,f.jsxs)(r.Z,{sx:{marginTop:"-25px",fontSize:"16px",fontWeight:600,display:"flex",alignItems:"center",justifyContent:"flex-start",padding:"2px"},children:[(0,f.jsx)(r.Z,{sx:{backgroundColor:"#07193E",height:"15px",width:"15px",display:"flex",alignItems:"center",justifyContent:"center",borderRadius:"50%",marginRight:"18px",padding:"3px","& .min-icon":{height:"11px",width:"11px",fill:"#ffffff"}},children:(0,f.jsx)(c.o0P,{})}),"Learn more about Call Home"]}),(0,f.jsx)(r.Z,{sx:{display:"flex",flexFlow:"column",fontSize:"14px",flex:"2",marginTop:"10px"},children:(0,f.jsxs)(r.Z,{children:["Enabling Call Home sends cluster health & status to your registered MinIO Subscription Network account every 24 hours.",(0,f.jsx)("br",{}),(0,f.jsx)("br",{}),"This helps the MinIO support team to provide quick incident responses along with suggestions for possible improvements that can be made to your MinIO instances.",(0,f.jsx)("br",{}),(0,f.jsx)("br",{}),"Your cluster must be"," ",(0,f.jsx)(d.rU,{to:"/support/register",children:"registered"})," in the MinIO Subscription Network (SUBNET) before enabling this feature."]})})]})})})]})]})]})},k=(0,l.Z)(n.lazy((function(){return Promise.all([i.e(5473),i.e(1715),i.e(5994),i.e(7391),i.e(8833)]).then(i.bind(i,58833))}))),S=(0,l.Z)(n.lazy((function(){return Promise.all([i.e(5473),i.e(1715),i.e(5994),i.e(7391),i.e(1516)]).then(i.bind(i,51516))}))),I=(0,l.Z)(n.lazy((function(){return i.e(483).then(i.bind(i,70483))}))),F=function(){return(0,f.jsxs)(s.Z5,{children:[(0,f.jsx)(s.AW,{path:"register",element:(0,f.jsx)(S,{})}),(0,f.jsx)(s.AW,{path:"profile",element:(0,f.jsx)(I,{})}),(0,f.jsx)(s.AW,{path:"call-home",element:(0,f.jsx)(w,{})}),(0,f.jsx)(s.AW,{path:"inspect",element:(0,f.jsx)(k,{})}),(0,f.jsx)(s.AW,{path:"*",element:(0,f.jsx)(a.Z,{})})]})}}}]); -//# sourceMappingURL=3067.10ab217f.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3067.10ab217f.chunk.js.map b/portal-ui/build/static/js/3067.10ab217f.chunk.js.map deleted file mode 100644 index 3be794619..000000000 --- a/portal-ui/build/static/js/3067.10ab217f.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/3067.10ab217f.chunk.js","mappings":"iJAiCA,IAfA,SACEA,GAEC,IADDC,EAAmCC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,KAUtC,OARA,SAA+BG,GAC7B,OACEC,EAAAA,EAAAA,KAACC,EAAAA,SAAQ,CAACN,SAAUA,EAASO,UAC3BF,EAAAA,EAAAA,KAACN,GAAgBS,EAAAA,EAAAA,GAAA,GAAMJ,KAG7B,CAGF,C,mLCmCMK,GAAeC,EAAAA,EAAAA,IAAW,SAACC,GAAK,MAAM,CAC1CC,KAAM,CACJC,MAAO,GACPC,OAAQ,GACRC,QAAS,EACTC,OAAQ,GAEVC,WAAY,CACVF,QAAS,EACT,YAAa,CACXG,UAAW,mBACXC,MAAOR,EAAMS,QAAQC,OAAOC,MAC5B,aAAc,CACZC,gBAAiB,UACjBC,UAAW,oCACXC,QAAS,EACTC,OAAQ,SAGZ,wBAAyB,CACvBP,MAAO,UACPO,OAAQ,mBAGZC,MAAO,CACLd,MAAO,GACPC,OAAQ,GACRS,gBAAiB,UACjBG,OAAQ,oBACRE,WAAY,GAEdC,MAAO,CACLC,aAAc,GACdP,gBAAiB,UACjBC,UAAW,oCACXC,QAAS,EACTM,WAAYpB,EAAMqB,YAAYC,OAAO,CAAC,mBAAoB,YAE5DC,QAAS,CAAC,EACVC,aAAc,CAAC,EACfC,gBAAiB,CACfC,QAAS,OACTC,WAAY,SACZC,eAAgB,YAEnB,GA7CoB7B,CA6CjB8B,EAAAA,GAqGJ,KAAe9B,EAAAA,EAAAA,IAxKA,SAACC,GAAY,OAC1B8B,EAAAA,EAAAA,IAAYjC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CACXkC,iBAAkB,CAChBC,WAAY,OACZxB,MAAO,sBAETyB,eAAgB,CACdC,SAAU,GACV1B,MAAO,UACPH,OAAQ,gBAEV8B,iBAAkB,CAChBC,UAAW,EACX5B,MAAO,WAET6B,QAAS,CACPH,SAAU,KAETI,EAAAA,IACAC,EAAAA,IACF,GAoJL,EAnG0B,SAAHC,GAcH,IAADC,EAAAD,EAbjBE,MAAAA,OAAK,IAAAD,EAAG,GAAEA,EACVE,EAAQH,EAARG,SACAC,EAAKJ,EAALI,MACAC,EAAEL,EAAFK,GACAC,EAAIN,EAAJM,KAAIC,EAAAP,EACJjB,QAAAA,OAAO,IAAAwB,GAAQA,EAAAC,EAAAR,EACfS,SAAAA,OAAQ,IAAAD,GAAQA,EAAAE,EAAAV,EAChBW,WAAAA,OAAU,IAAAD,GAAQA,EAAAE,EAAAZ,EAClBH,QAAAA,OAAO,IAAAe,EAAG,GAAEA,EAAAC,EAAAb,EACZc,YAAAA,OAAW,IAAAD,EAAG,GAAEA,EAChBE,EAAOf,EAAPe,QACAC,EAAehB,EAAfgB,gBAAeC,EAAAjB,EACfkB,gBAAAA,OAAe,IAAAD,EAAG,CAAC,EAACA,EAEdE,GACJC,EAAAA,EAAAA,MAACC,EAAAA,SAAc,CAAAjE,SAAA,EACXuD,IACAzD,EAAAA,EAAAA,KAAA,QACEoE,WAAWC,EAAAA,EAAAA,GAAKR,EAAQtB,gBAAc+B,EAAAA,EAAAA,GAAA,GACnCT,EAAQxB,kBAAoBR,IAC5B3B,SAEF4D,GAAmBA,EAAgBjE,OAAS,EACzCiE,EAAgB,GAChB,SAGR9D,EAAAA,EAAAA,KAACI,EAAY,CACXyB,QAASA,EACToB,SAAUA,EACVnC,MAAM,UACNsC,KAAMA,EACNmB,YAAUpE,EAAAA,EAAAA,GAAA,CAAI,aAAc,oBAAuB6D,GACnDT,SAAUA,EACViB,eAAa,EACbC,oBAAkB,EAClBC,oBAAkB,EAClBxB,MAAOA,EACPC,GAAIA,KAEJM,IACAzD,EAAAA,EAAAA,KAAA,QACEoE,WAAWC,EAAAA,EAAAA,GAAKR,EAAQtB,gBAAc+B,EAAAA,EAAAA,GAAA,GACnCT,EAAQxB,iBAAmBR,IAC3B3B,SAEF4D,EAAkBA,EAAgB,GAAK,UAMhD,OAAIL,EACKQ,GAIPjE,EAAAA,EAAAA,KAAA,OAAAE,UACEgE,EAAAA,EAAAA,MAACS,EAAAA,GAAI,CAACC,WAAS,EAAC3C,WAAY,SAAS/B,SAAA,EACnCF,EAAAA,EAAAA,KAAC2E,EAAAA,GAAI,CAACE,MAAI,EAACC,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAE9E,SACnB,KAAV8C,IACCkB,EAAAA,EAAAA,MAACe,EAAAA,EAAU,CAACC,QAAS/B,EAAIiB,UAAWP,EAAQsB,WAAWjF,SAAA,EACrDF,EAAAA,EAAAA,KAAA,QAAAE,SAAO8C,IACM,KAAZL,IACC3C,EAAAA,EAAAA,KAAA,OAAKoE,UAAWP,EAAQuB,iBAAiBlF,UACvCF,EAAAA,EAAAA,KAACqF,EAAAA,EAAO,CAACC,MAAO3C,EAAS4C,UAAU,YAAWrF,UAC5CF,EAAAA,EAAAA,KAAA,OAAKoE,UAAWP,EAAQlB,QAAQzC,UAC9BF,EAAAA,EAAAA,KAACwF,EAAAA,IAAQ,gBAQvBxF,EAAAA,EAAAA,KAAC2E,EAAAA,GAAI,CACHE,MAAI,EACJC,GAAI,GACJC,GAAc,KAAV/B,EAAe,EAAI,GACvBgC,GAAc,KAAVhC,EAAe,EAAI,GACvByC,UAAW,QACXvD,eAAgB,MAChBkC,UAAWP,EAAQ9B,gBAAgB7B,SAElC+D,IAEc,KAAhBL,IACC5D,EAAAA,EAAAA,KAAC2E,EAAAA,GAAI,CAACE,MAAI,EAACC,GAAI,GAAIW,UAAW,OAAOvF,UACnCF,EAAAA,EAAAA,KAAC0F,EAAAA,EAAU,CAACC,UAAU,IAAIvB,UAAWP,EAAQpB,iBAAiBvC,SAC3D0D,UAOf,G,mFChDA,IAzIwB,SAAHd,GAAmD,IAAD8C,EAAA9C,EAA5C+C,YAAAA,OAAW,IAAAD,GAAQA,EACtCE,GAAWC,EAAAA,EAAAA,MAEXC,GACJhG,EAAAA,EAAAA,KAACiG,EAAAA,IAAM,CACL9C,GAAI,iBACJ+C,KAAK,SACLC,QAAQ,aACRrF,MAAM,UACNsF,QAAS,kBAAMN,EAAS,oBAAoB,EAAC5F,SAC9C,0BAKGmG,EACJ,kFAEF,OAAIR,GAEA3B,EAAAA,EAAAA,MAACoC,EAAAA,SAAQ,CAAApG,SAAA,EACPF,EAAAA,EAAAA,KAAC2E,EAAAA,IAAI,CACH4B,GAAI,CACF,kBAAmB,CACjBC,aAAc,IAEhBtG,UAEFF,EAAAA,EAAAA,KAACyG,EAAAA,IAAO,CACNnB,OACEpB,EAAAA,EAAAA,MAAA,OACEwC,MAAO,CACL1E,QAAS,OACTE,eAAgB,gBAChBD,WAAY,SACZ0E,SAAU,GACVzG,SAAA,EAEFF,EAAAA,EAAAA,KAAA,QAAAE,SAAOmG,IAAuB,IAAEL,KAGpCY,eAAe5G,EAAAA,EAAAA,KAAC6G,EAAAA,IAAQ,IACxBC,MAAM9G,EAAAA,EAAAA,KAACsG,EAAAA,SAAQ,SAGnBtG,EAAAA,EAAAA,KAAA,aAMJA,EAAAA,EAAAA,KAAC+G,EAAAA,EAAG,CACFR,GAAI,CACF7F,QAAS,OACTW,OAAQ,oBACRW,QAAS,OACTC,WAAY,SACZC,eAAgB,SAChB8E,SAAU,CACRjC,GAAI,MACJD,GAAI,UAEN0B,aAAc,QACdtG,UAEFgE,EAAAA,EAAAA,MAACS,EAAAA,IAAI,CAACC,WAAS,EAAA1E,SAAA,EACbF,EAAAA,EAAAA,KAAC2E,EAAAA,IAAI,CAACE,MAAI,EAACC,GAAI,GAAG5E,UAChBF,EAAAA,EAAAA,KAAC+G,EAAAA,EAAG,CACFR,GAAI,CACFU,YAAa,MACbzE,SAAU,OACVF,WAAY,IACZN,QAAS,OACTC,WAAY,SAEZ,cAAe,CACbzB,MAAO,OACPC,OAAQ,OACRc,WAAY,MACZ0F,YAAa,QAEf/G,SACH,6BAIHF,EAAAA,EAAAA,KAAC2E,EAAAA,IAAI,CAACE,MAAI,EAACC,GAAI,GAAG5E,UAChBF,EAAAA,EAAAA,KAAC+G,EAAAA,EAAG,CACFR,GAAI,CACFvE,QAAS,OACTgF,SAAU,CACRlC,GAAI,SACJE,GAAI,QAEN9E,UAEFgE,EAAAA,EAAAA,MAAC6C,EAAAA,EAAG,CACFR,GAAI,CACFvE,QAAS,OACTgF,SAAU,SACVE,KAAM,KACNhH,SAAA,EAEFF,EAAAA,EAAAA,KAAC+G,EAAAA,EAAG,CACFR,GAAI,CACF/D,SAAU,OACVR,QAAS,OACTgF,SAAU,SACVtE,UAAW,OACX8D,aAAc,QACdtG,SAEDmG,KAEHrG,EAAAA,EAAAA,KAAC+G,EAAAA,EAAG,CACFR,GAAI,CACFW,KAAM,KACNhH,UAEFF,EAAAA,EAAAA,KAAC+G,EAAAA,EAAG,CACFR,GAAI,CACFvE,QAAS,OACTC,WAAY,SACZC,eAAgB,YAChBhC,SAED8F,iBASnB,C,6OC2CA,EAzK6B,SAAHlD,GAMI,IAL5BqE,EAAOrE,EAAPqE,QACAC,EAAUtE,EAAVsE,WACAC,EAAUvE,EAAVuE,WACAC,EAAIxE,EAAJwE,KAAIC,EAAAzE,EACJ0E,QAAAA,OAAO,IAAAD,GAAQA,EAETE,GAAWC,EAAAA,EAAAA,MAEjBC,GAA8BC,EAAAA,EAAAA,WAAkB,GAAMC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAA/CI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAEpBI,EAAkB,WACtBD,GAAW,GACXE,EAAAA,EACGC,OAAO,MAAM,2BAA6B,CACzCC,WAAWZ,GAAkBJ,EAC7BiB,WAAWb,GAAkBH,IAE9BiB,MAAK,SAACC,GACLd,GAASe,EAAAA,EAAAA,IAAmB,qCAC5BR,GAAW,GACXb,GAAQ,EACV,IACCsB,OAAM,SAACC,GACNV,GAAW,GACXP,GAASkB,EAAAA,EAAAA,IAAqBD,GAChC,GACJ,EAEA,OACE1I,EAAAA,EAAAA,KAAC4I,EAAAA,EAAY,CACXC,UAAWvB,EACXhC,MAAOkC,EAAU,oBAAsB,gCACvCL,QAAS,kBAAMA,GAAQ,EAAM,EAC7B2B,WAAW9I,EAAAA,EAAAA,KAAC+I,EAAAA,IAAgB,IAAI7I,SAE/BsH,GACCtD,EAAAA,EAAAA,MAACoC,EAAAA,SAAQ,CAAApG,SAAA,CAAC,sMAIRF,EAAAA,EAAAA,KAAC2E,EAAAA,IAAI,CAACE,MAAI,EAACC,GAAI,GAAIyB,GAAI,CAAE5F,OAAQ,UAAWT,SAAC,wDAG7CF,EAAAA,EAAAA,KAAA,SACC+H,IACC/H,EAAAA,EAAAA,KAAC2E,EAAAA,IAAI,CACHE,MAAI,EACJC,GAAI,GACJyB,GAAI,CACFC,aAAc,IACdtG,UAEFF,EAAAA,EAAAA,KAACgJ,EAAAA,EAAc,OAGnB9E,EAAAA,EAAAA,MAACS,EAAAA,IAAI,CACHE,MAAI,EACJC,GAAI,GACJyB,GAAI,CACFvE,QAAS,OACTE,eAAgB,YAChBhC,SAAA,EAEFF,EAAAA,EAAAA,KAACiG,EAAAA,IAAM,CACL9C,GAAI,QACJ+C,KAAK,SACLC,QAAQ,UACR5C,SAAUwE,EACV3B,QAAS,kBAAMe,GAAQ,EAAM,EAC7BnE,MAAO,SACPuD,GAAI,CACFU,YAAa,OAGjBjH,EAAAA,EAAAA,KAACiG,EAAAA,IAAM,CACL9C,GAAI,iBACJ+C,KAAK,SACLC,QAAS,YACTrF,MAAM,UACNyC,SAAUwE,EACV/E,MAAO,yBACPoD,QAAS6B,WAKf/D,EAAAA,EAAAA,MAACoC,EAAAA,SAAQ,CAAApG,SAAA,CAAC,sFAGRgE,EAAAA,EAAAA,MAACS,EAAAA,IAAI,CACHE,MAAI,EACJ0B,GAAI,CACF5F,OAAQ,SACRqB,QAAS,OACTiH,cAAe,SACfC,IAAK,IACLhJ,SAAA,EAEFgE,EAAAA,EAAAA,MAACS,EAAAA,IAAI,CAACE,MAAI,EAAC0B,GAAI,CAAEvE,QAAS,OAAQC,WAAY,SAAUiH,IAAK,IAAKhJ,SAAA,EAChEF,EAAAA,EAAAA,KAACmJ,EAAAA,IAAU,CACTzC,MAAO,CAAE0C,KAAMhC,EAAa,UAAY,UAAW5G,MAAO,OAE5D0D,EAAAA,EAAAA,MAAA,QAAAhE,SAAA,EACEF,EAAAA,EAAAA,KAAA,UAAAE,SAASkH,EAAa,SAAW,YAAmB,mDAIxDlD,EAAAA,EAAAA,MAACS,EAAAA,IAAI,CAACE,MAAI,EAAC0B,GAAI,CAAEvE,QAAS,OAAQC,WAAY,SAAUiH,IAAK,IAAKhJ,SAAA,EAChEF,EAAAA,EAAAA,KAACmJ,EAAAA,IAAU,CACTzC,MAAO,CAAE0C,KAAM/B,EAAa,UAAY,UAAW7G,MAAO,OAE5D0D,EAAAA,EAAAA,MAAA,QAAAhE,SAAA,EACEF,EAAAA,EAAAA,KAAA,UAAAE,SAASmH,EAAa,SAAW,YAAmB,+CAK1DrH,EAAAA,EAAAA,KAAC2E,EAAAA,IAAI,CAACE,MAAI,EAACC,GAAI,GAAIyB,GAAI,CAAE5F,OAAQ,UAAWT,SAAC,sLAK5C6H,IACC/H,EAAAA,EAAAA,KAAC2E,EAAAA,IAAI,CACHE,MAAI,EACJC,GAAI,GACJyB,GAAI,CACFC,aAAc,IACdtG,UAEFF,EAAAA,EAAAA,KAACgJ,EAAAA,EAAc,OAGnB9E,EAAAA,EAAAA,MAACS,EAAAA,IAAI,CACHE,MAAI,EACJC,GAAI,GACJyB,GAAI,CACFvE,QAAS,OACTE,eAAgB,YAChBhC,SAAA,EAEFF,EAAAA,EAAAA,KAACiG,EAAAA,IAAM,CACL9C,GAAI,QACJ+C,KAAK,SACLC,QAAQ,UACR5C,SAAUwE,EACV3B,QAAS,kBAAMe,GAAQ,EAAM,EAC7BnE,MAAO,SACPuD,GAAI,CACFU,YAAa,OAGjBjH,EAAAA,EAAAA,KAACiG,EAAAA,IAAM,CACL9C,GAAI,iBACJ+C,KAAK,SACLC,QAAS,aACTrF,MAAM,UACNyC,SAAUwE,EACV/E,MAAO,+BACPoD,QAAS6B,WAOvB,E,4CCzKMoB,EAAc,SAAHvG,GAA0D,IAApDwC,EAAKxC,EAALwC,MAAOgE,EAAIxG,EAAJwG,KAC5B,OACEpF,EAAAA,EAAAA,MAAA,OAAKwC,MAAO,CAAEhE,UAAW,IAAKxC,SAAA,EAC5BF,EAAAA,EAAAA,KAAA,OAAK0G,MAAO,CAAEF,aAAc,GAAIlE,WAAY,QAASpC,SAAEoF,KACvDtF,EAAAA,EAAAA,KAAA,OAAK0G,MAAO,CAAE5F,MAAO,UAAW0B,SAAU,GAAIgE,aAAc,IAAKtG,SAC9DoJ,MAIT,EAkSA,EAhSiB,WACf,IAAM7B,GAAWC,EAAAA,EAAAA,MACX5B,GAAWC,EAAAA,EAAAA,MAEjB4B,GAA8BC,EAAAA,EAAAA,WAAkB,GAAKC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAA9CI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAC1B0B,GAAgD3B,EAAAA,EAAAA,WAAkB,GAAM4B,GAAA1B,EAAAA,EAAAA,GAAAyB,EAAA,GAAjEE,EAAgBD,EAAA,GAAEE,EAAmBF,EAAA,GAC5CG,GAAsC/B,EAAAA,EAAAA,WAAkB,GAAMgC,GAAA9B,EAAAA,EAAAA,GAAA6B,EAAA,GAAvDE,EAAWD,EAAA,GAAEE,EAAcF,EAAA,GAClCG,GAAwCnC,EAAAA,EAAAA,WAAkB,GAAMoC,GAAAlC,EAAAA,EAAAA,GAAAiC,EAAA,GAAzDE,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GACpCG,GAAwCvC,EAAAA,EAAAA,WAAkB,GAAMwC,GAAAtC,EAAAA,EAAAA,GAAAqC,EAAA,GAAzDE,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GACpCG,GAAsC3C,EAAAA,EAAAA,WAAkB,GAAM4C,GAAA1C,EAAAA,EAAAA,GAAAyC,EAAA,GAAvDE,EAAWD,EAAA,GAAEE,EAAcF,EAAA,GAClCG,GAAsC/C,EAAAA,EAAAA,WAAkB,GAAMgD,GAAA9C,EAAAA,EAAAA,GAAA6C,EAAA,GAAvDE,EAAWD,EAAA,GAAEE,EAAcF,EAAA,GAE5BG,GAAoBC,EAAAA,EAAAA,OAE1BC,EAAAA,EAAAA,YAAU,WACJlD,GACFG,EAAAA,EACGC,OAAO,MAAM,4BACbG,MAAK,SAACC,GACLP,GAAW,GAEX8B,IAAiBvB,EAAI2C,mBACrBR,IAAiBnC,EAAIlB,YAErB6C,IAAkB3B,EAAI2C,mBACtBZ,IAAkB/B,EAAIlB,WACxB,IACCoB,OAAM,SAACC,GACNV,GAAW,GACXP,GAASkB,EAAAA,EAAAA,IAAqBD,GAChC,GAEN,GAAG,CAACX,EAASN,IAEb,IAqBI0D,EAAwC,UAc5C,OAXEJ,GACClB,IAAgBI,GAAgBQ,IAAgBJ,IAEjDc,EAAc,eAGhBF,EAAAA,EAAAA,YAAU,WACRxD,GAAS2D,EAAAA,EAAAA,IAAY,aAEvB,GAAG,KAGDlH,EAAAA,EAAAA,MAACoC,EAAAA,SAAQ,CAAApG,SAAA,CACNuJ,IACCzJ,EAAAA,EAAAA,KAACqL,EAAoB,CACnBlE,QAvCc,SAACmE,GACjBA,GACFtD,GAAW,GAEb0B,GAAoB,EACtB,EAmCQpC,KAAMmC,EACNpC,WAAYoD,EACZrD,WAAYyC,EACZrC,QAASqD,KAGb7K,EAAAA,EAAAA,KAACuL,EAAAA,EAAiB,CAACvI,MAAM,YAAYwI,SAASxL,EAAAA,EAAAA,KAACyL,EAAAA,EAAQ,OACvDvH,EAAAA,EAAAA,MAACwH,EAAAA,IAAU,CAAAxL,SAAA,EACP6K,IAAqB/K,EAAAA,EAAAA,KAAC2L,EAAAA,EAAe,CAAC9F,aAAW,KACnD3B,EAAAA,EAAAA,MAAC6C,EAAAA,EAAG,CACFR,GAAI,CACFvE,QAAS,OACTC,WAAY,aACZC,eAAgB,aAChBb,OAAQ,oBACRX,QAAS,CACPkL,GAAI,OACJ9G,GAAI,QAEN+G,SAAU,OACV3C,IAAK,CACH0C,GAAI,OACJ9G,GAAI,QAENrE,OAAQ,CACNuE,GAAI,sBACJF,GAAI,QAENkC,SAAU,CACR4E,GAAI,MACJ9G,GAAI,WAEN5E,SAAA,EAEFF,EAAAA,EAAAA,KAAC+G,EAAAA,EAAG,CACFR,GAAI,CACFlF,OAAQ,oBACR6F,KAAM,CACJlC,GAAI,EACJF,GAAI,GAENtE,MAAO,CACLoL,GAAI,OACJ9G,GAAI,QAENpE,QAAS,CACPkL,GAAI,OACJ9G,GAAI,SAEN5E,SAED6H,GACC/H,EAAAA,EAAAA,KAAA,QAAM0G,MAAO,CAAEnF,WAAY,GAAIrB,UAC7BF,EAAAA,EAAAA,KAAC8L,EAAAA,IAAM,CAACpF,MAAO,CAAElG,MAAO,GAAIC,OAAQ,SAGtCyD,EAAAA,EAAAA,MAACoC,EAAAA,SAAQ,CAAApG,SAAA,EACPgE,EAAAA,EAAAA,MAAA,OAAKwC,MAAO,CAAEF,aAAc,IAAKtG,SAAA,EAC/BF,EAAAA,EAAAA,KAAC+L,EAAAA,EAAiB,CAChB7I,MAAM,aACNC,GAAG,aACHC,KAAK,aACLvB,QAASgI,EACT5G,SAAU,SAAC+I,GACTlC,EAAekC,EAAMC,OAAOpK,QAC9B,EACAmB,MAAO,sBACPO,UAAWwH,KAEb/K,EAAAA,EAAAA,KAACqJ,EAAW,CACV/D,MAAO,8BACPgE,KACE,0HAINpF,EAAAA,EAAAA,MAAA,OAAAhE,SAAA,EACEF,EAAAA,EAAAA,KAAC+L,EAAAA,EAAiB,CAChB7I,MAAM,aACNC,GAAG,aACHC,KAAK,aACLvB,QAAS4I,EACTxH,SAAU,SAAC+I,GACTtB,EAAesB,EAAMC,OAAOpK,QAC9B,EACAmB,MAAO,kBACPO,UAAWwH,KAEb/K,EAAAA,EAAAA,KAACqJ,EAAW,CACV/D,MAAO,uBACPgE,KACE,mHAINpF,EAAAA,EAAAA,MAAC6C,EAAAA,EAAG,CACFR,GAAI,CACFvE,QAAS,OACTC,WAAY,SACZC,eAAgB,WAChBQ,UAAW,OACXwG,IAAK,YACLhJ,SAAA,EAEA+J,GAAgBI,KAChBrK,EAAAA,EAAAA,KAACiG,EAAAA,IAAM,CACL9C,GAAI,kBACJgD,QAAS,YACT,eAAa,0BACbC,QArIU,WAC5B0E,GAAe,GACfpB,GAAoB,EACtB,EAmIoBnG,SAAUwE,EAAQ7H,SACnB,uBAIHF,EAAAA,EAAAA,KAACiG,EAAAA,IAAM,CACL9C,GAAI,kBACJ+C,KAAK,SACLC,QAASgF,EACT,eAAa,0BACb/E,QAzJY,WACvB2E,GAILD,GAAe,GACfpB,GAAoB,IAJlB5D,EAAS,oBAKb,EAmJkBvC,SAAUwE,EAAQ7H,SACnB,gCAOTF,EAAAA,EAAAA,KAAC+G,EAAAA,EAAG,CACFR,GAAI,CACFW,KAAM,EACNgF,SAAU,CACRlH,GAAI,QACJF,GAAI,QAENtE,MAAO,QACPN,UAEFF,EAAAA,EAAAA,KAACyG,EAAAA,IAAO,CACNnB,MAAO,GACPsB,cAAe,KACfE,MACE5C,EAAAA,EAAAA,MAACoC,EAAAA,SAAQ,CAAApG,SAAA,EACPgE,EAAAA,EAAAA,MAAC6C,EAAAA,EAAG,CACFR,GAAI,CACF7D,UAAW,QACXF,SAAU,OACVF,WAAY,IACZN,QAAS,OACTC,WAAY,SACZC,eAAgB,aAChBxB,QAAS,OACTR,SAAA,EAEFF,EAAAA,EAAAA,KAAC+G,EAAAA,EAAG,CACFR,GAAI,CACFrF,gBAAiB,UACjBT,OAAQ,OACRD,MAAO,OACPwB,QAAS,OACTC,WAAY,SACZC,eAAgB,SAChBT,aAAc,MACdwF,YAAa,OACbvG,QAAS,MACT,cAAe,CACbD,OAAQ,OACRD,MAAO,OACP4I,KAAM,YAERlJ,UAEFF,EAAAA,EAAAA,KAAC+I,EAAAA,IAAgB,MACb,iCAIR/I,EAAAA,EAAAA,KAAC+G,EAAAA,EAAG,CACFR,GAAI,CACFvE,QAAS,OACTgF,SAAU,SACVxE,SAAU,OACV0E,KAAM,IACNxE,UAAW,QACXxC,UAEFgE,EAAAA,EAAAA,MAAC6C,EAAAA,EAAG,CAAA7G,SAAA,CAAC,0HAIHF,EAAAA,EAAAA,KAAA,UACAA,EAAAA,EAAAA,KAAA,SAAM,oKAINA,EAAAA,EAAAA,KAAA,UACAA,EAAAA,EAAAA,KAAA,SAAM,uBACe,KACrBA,EAAAA,EAAAA,KAACmM,EAAAA,GAAI,CAACC,GAAI,oBAAoBlM,SAAC,eAAiB,gGAatE,EClTMmM,GAAUC,EAAAA,EAAAA,GAAanI,EAAAA,MAAW,kBAAM,sFAAmB,KAC3DoI,GAAWD,EAAAA,EAAAA,GAAanI,EAAAA,MAAW,kBAAM,sFAA6B,KACtEqI,GAAUF,EAAAA,EAAAA,GAAanI,EAAAA,MAAW,kBAAM,8BAA4B,KAc1E,EAZc,WACZ,OACED,EAAAA,EAAAA,MAACuI,EAAAA,GAAM,CAAAvM,SAAA,EACLF,EAAAA,EAAAA,KAAC0M,EAAAA,GAAK,CAACC,KAAM,WAAYC,SAAS5M,EAAAA,EAAAA,KAACuM,EAAQ,OAC3CvM,EAAAA,EAAAA,KAAC0M,EAAAA,GAAK,CAACC,KAAM,UAAWC,SAAS5M,EAAAA,EAAAA,KAACwM,EAAO,OACzCxM,EAAAA,EAAAA,KAAC0M,EAAAA,GAAK,CAACC,KAAM,YAAaC,SAAS5M,EAAAA,EAAAA,KAAC6M,EAAQ,OAC5C7M,EAAAA,EAAAA,KAAC0M,EAAAA,GAAK,CAACC,KAAM,UAAWC,SAAS5M,EAAAA,EAAAA,KAACqM,EAAO,OACzCrM,EAAAA,EAAAA,KAAC0M,EAAAA,GAAK,CAACC,KAAM,IAAKC,SAAS5M,EAAAA,EAAAA,KAAC8M,EAAAA,EAAY,QAG9C,C","sources":["screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Support/RegisterCluster.tsx","screens/Console/Support/CallHomeConfirmation.tsx","screens/Console/Support/CallHome.tsx","screens/Console/Tools/Tools.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, { 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","// 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 { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport { HelpIcon } from \"mds\";\nimport clsx from \"clsx\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input/Input\";\n\ninterface IFormSwitch {\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 description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n extraInputProps?: StandardInputProps[\"inputProps\"];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n extraInputProps = {},\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n

\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {switchComponent}\n
\n {description !== \"\" && (\n \n \n {description}\n \n \n )}\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\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 { useNavigate } from \"react-router-dom\";\nimport { Box } from \"@mui/material\";\nimport { Button, Grid, HelpBox, WarnIcon } from \"mds\";\n\ninterface IRegisterCluster {\n compactMode?: boolean;\n}\n\nconst RegisterCluster = ({ compactMode = false }: IRegisterCluster) => {\n const navigate = useNavigate();\n\n const redirectButton = (\n navigate(\"/support/register\")}\n >\n Register your Cluster\n \n );\n\n const registerMessage =\n \"Use your MinIO Subscription Network login credentials to register this cluster.\";\n\n if (compactMode) {\n return (\n \n \n \n {registerMessage} {redirectButton}\n \n }\n iconComponent={}\n help={}\n />\n \n
\n
\n );\n }\n\n return (\n \n \n \n \n Register your cluster\n \n \n \n \n \n \n {registerMessage}\n \n \n \n {redirectButton}\n \n \n \n \n \n \n \n );\n};\n\nexport default RegisterCluster;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 { Button, CallHomeMenuIcon, CircleIcon, Grid } from \"mds\";\nimport { LinearProgress } from \"@mui/material\";\nimport api from \"../../../common/api\";\nimport { ICallHomeResponse } from \"./types\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { setErrorSnackMessage, setSnackBarMessage } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\n\ninterface ICallHomeConfirmation {\n onClose: (refresh: boolean) => any;\n open: boolean;\n diagStatus: boolean;\n logsStatus: boolean;\n disable?: boolean;\n}\n\nconst CallHomeConfirmation = ({\n onClose,\n diagStatus,\n logsStatus,\n open,\n disable = false,\n}: ICallHomeConfirmation) => {\n const dispatch = useAppDispatch();\n\n const [loading, setLoading] = useState(false);\n\n const onConfirmAction = () => {\n setLoading(true);\n api\n .invoke(\"PUT\", `/api/v1/support/callhome`, {\n diagState: disable ? false : diagStatus,\n logsState: disable ? false : logsStatus,\n })\n .then((res: ICallHomeResponse) => {\n dispatch(setSnackBarMessage(\"Configuration saved successfully\"));\n setLoading(false);\n onClose(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n dispatch(setErrorSnackMessage(err));\n });\n };\n\n return (\n onClose(false)}\n titleIcon={}\n >\n {disable ? (\n \n Please Acknowledge that after doing this action, we will no longer\n receive updated cluster information automatically, losing the\n potential benefits that Call Home provides to your MinIO cluster.\n \n Are you sure you want to disable SUBNET Call Home?\n \n
\n {loading && (\n \n \n \n )}\n \n onClose(false)}\n label={\"Cancel\"}\n sx={{\n marginRight: 10,\n }}\n />\n \n \n
\n ) : (\n \n Are you sure you want to change the following configurations for\n SUBNET Call Home:\n \n \n \n \n {diagStatus ? \"Enable\" : \"Disable\"} - Send\n Diagnostics Information to SUBNET\n \n \n \n \n \n {logsStatus ? \"Enable\" : \"Disable\"} - Send Logs\n Information to SUBNET\n \n \n \n \n Please Acknowledge that the information provided will only be\n available in your SUBNET Account and it will not be shared to other\n persons or entities besides MinIO team and you.\n \n {loading && (\n \n \n \n )}\n \n onClose(false)}\n label={\"Cancel\"}\n sx={{\n marginRight: 10,\n }}\n />\n \n \n \n )}\n \n );\n};\n\nexport default CallHomeConfirmation;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 { Box } from \"@mui/material\";\nimport { Button, CallHomeMenuIcon, HelpBox, Loader, PageLayout } from \"mds\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport api from \"../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { setErrorSnackMessage, setHelpName } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport { ICallHomeResponse } from \"./types\";\nimport { registeredCluster } from \"../../../config\";\nimport CallHomeConfirmation from \"./CallHomeConfirmation\";\nimport RegisterCluster from \"./RegisterCluster\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport HelpMenu from \"../HelpMenu\";\n\nconst PromoLabels = ({ title, text }: { title: string; text: string }) => {\n return (\n
\n
{title}
\n
\n {text}\n
\n
\n );\n};\n\nconst CallHome = () => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const [loading, setLoading] = useState(true);\n const [showConfirmation, setShowConfirmation] = useState(false);\n const [diagEnabled, setDiagEnabled] = useState(false);\n const [oDiagEnabled, setODiagEnabled] = useState(false);\n const [oLogsEnabled, setOLogsEnabled] = useState(false);\n const [logsEnabled, setLogsEnabled] = useState(false);\n const [disableMode, setDisableMode] = useState(false);\n\n const clusterRegistered = registeredCluster();\n\n useEffect(() => {\n if (loading) {\n api\n .invoke(\"GET\", `/api/v1/support/callhome`)\n .then((res: ICallHomeResponse) => {\n setLoading(false);\n\n setDiagEnabled(!!res.diagnosticsStatus);\n setLogsEnabled(!!res.logsStatus);\n\n setODiagEnabled(!!res.diagnosticsStatus);\n setOLogsEnabled(!!res.logsStatus);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n dispatch(setErrorSnackMessage(err));\n });\n }\n }, [loading, dispatch]);\n\n const callHomeClose = (refresh: boolean) => {\n if (refresh) {\n setLoading(true);\n }\n setShowConfirmation(false);\n };\n\n const confirmCallHomeAction = () => {\n if (!clusterRegistered) {\n navigate(\"/support/register\");\n return;\n }\n setDisableMode(false);\n setShowConfirmation(true);\n };\n\n const disableCallHomeAction = () => {\n setDisableMode(true);\n setShowConfirmation(true);\n };\n\n let mainVariant: \"regular\" | \"callAction\" = \"regular\";\n\n if (\n clusterRegistered &&\n (diagEnabled !== oDiagEnabled || logsEnabled !== oLogsEnabled)\n ) {\n mainVariant = \"callAction\";\n }\n\n useEffect(() => {\n dispatch(setHelpName(\"call_home\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n {showConfirmation && (\n \n )}\n } />\n \n {!clusterRegistered && }\n \n \n {loading ? (\n \n \n \n ) : (\n \n
\n ) => {\n setDiagEnabled(event.target.checked);\n }}\n label={\"Daily Health Report\"}\n disabled={!clusterRegistered}\n />\n \n
\n
\n ) => {\n setLogsEnabled(event.target.checked);\n }}\n label={\"Live Error Logs\"}\n disabled={!clusterRegistered}\n />\n \n
\n \n {(oDiagEnabled || oLogsEnabled) && (\n \n Disable Call Home\n \n )}\n \n Save Configuration\n \n \n
\n )}\n \n \n \n \n \n \n \n Learn more about Call Home\n \n\n \n \n Enabling Call Home sends cluster health & status to your\n registered MinIO Subscription Network account every 24\n hours.\n
\n
\n This helps the MinIO support team to provide quick\n incident responses along with suggestions for possible\n improvements that can be made to your MinIO instances.\n
\n
\n Your cluster must be{\" \"}\n registered in the\n MinIO Subscription Network (SUBNET) before enabling this\n feature.\n
\n \n
\n }\n />\n \n \n \n
\n );\n};\n\nexport default CallHome;\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 { Route, Routes } from \"react-router-dom\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport NotFoundPage from \"../../NotFoundPage\";\nimport CallHome from \"../Support/CallHome\";\n\nconst Inspect = withSuspense(React.lazy(() => import(\"./Inspect\")));\nconst Register = withSuspense(React.lazy(() => import(\"../Support/Register\")));\nconst Profile = withSuspense(React.lazy(() => import(\"../Support/Profile\")));\n\nconst Tools = () => {\n return (\n \n } />\n } />\n } />\n } />\n } />\n \n );\n};\n\nexport default Tools;\n"],"names":["WrappedComponent","fallback","arguments","length","undefined","props","_jsx","Suspense","children","_objectSpread","StyledSwitch","withStyles","theme","root","width","height","padding","margin","switchBase","transform","color","palette","common","white","backgroundColor","boxShadow","opacity","border","thumb","marginLeft","track","borderRadius","transition","transitions","create","checked","focusVisible","switchContainer","display","alignItems","justifyContent","Switch","createStyles","indicatorLabelOn","fontWeight","indicatorLabel","fontSize","fieldDescription","marginTop","tooltip","actionsTray","fieldBasic","_ref","_ref$label","label","onChange","value","id","name","_ref$checked","_ref$disabled","disabled","_ref$switchOnly","switchOnly","_ref$tooltip","_ref$description","description","classes","indicatorLabels","_ref$extraInputProps","extraInputProps","switchComponent","_jsxs","React","className","clsx","_defineProperty","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","Grid","container","item","xs","sm","md","InputLabel","htmlFor","inputLabel","tooltipContainer","Tooltip","title","placement","HelpIcon","textAlign","Typography","component","_ref$compactMode","compactMode","navigate","useNavigate","redirectButton","Button","type","variant","onClick","registerMessage","Fragment","sx","marginBottom","HelpBox","style","flexGrow","iconComponent","WarnIcon","help","Box","flexFlow","marginRight","flex","onClose","diagStatus","logsStatus","open","_ref$disable","disable","dispatch","useAppDispatch","_useState","useState","_useState2","_slicedToArray","loading","setLoading","onConfirmAction","api","invoke","diagState","logsState","then","res","setSnackBarMessage","catch","err","setErrorSnackMessage","ModalWrapper","modalOpen","titleIcon","CallHomeMenuIcon","LinearProgress","flexDirection","gap","CircleIcon","fill","PromoLabels","text","_useState3","_useState4","showConfirmation","setShowConfirmation","_useState5","_useState6","diagEnabled","setDiagEnabled","_useState7","_useState8","oDiagEnabled","setODiagEnabled","_useState9","_useState10","oLogsEnabled","setOLogsEnabled","_useState11","_useState12","logsEnabled","setLogsEnabled","_useState13","_useState14","disableMode","setDisableMode","clusterRegistered","registeredCluster","useEffect","diagnosticsStatus","mainVariant","setHelpName","CallHomeConfirmation","refresh","PageHeaderWrapper","actions","HelpMenu","PageLayout","RegisterCluster","lg","flexWrap","Loader","FormSwitchWrapper","event","target","minWidth","Link","to","Inspect","withSuspense","Register","Profile","Routes","Route","path","element","CallHome","NotFoundPage"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3067.56476c2f.chunk.js b/portal-ui/build/static/js/3067.56476c2f.chunk.js new file mode 100644 index 000000000..165226983 --- /dev/null +++ b/portal-ui/build/static/js/3067.56476c2f.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3067],{75578:function(e,t,n){var i=n(1413),s=n(72791),l=n(80184);t.Z=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return function(n){return(0,l.jsx)(s.Suspense,{fallback:t,children:(0,l.jsx)(e,(0,i.Z)({},n))})}}},31460:function(e,t,n){var i=n(72791),s=n(57689),l=n(64554),a=n(29945),o=n(80184);t.Z=function(e){var t=e.compactMode,n=void 0!==t&&t,r=(0,s.s0)(),c=(0,o.jsx)(a.zxk,{id:"go-to-register",type:"submit",variant:"callAction",color:"primary",onClick:function(){return r("/support/register")},children:"Register your Cluster"}),x="Use your MinIO Subscription Network login credentials to register this cluster.";return n?(0,o.jsxs)(i.Fragment,{children:[(0,o.jsx)(a.rjZ,{sx:{"& div.leftItems":{marginBottom:0}},children:(0,o.jsx)(a.KfX,{title:(0,o.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",flexGrow:1},children:[(0,o.jsx)("span",{children:x})," ",c]}),iconComponent:(0,o.jsx)(a.e6P,{}),help:null})}),(0,o.jsx)("br",{})]}):(0,o.jsx)(l.Z,{sx:{padding:"25px",border:"1px solid #eaeaea",display:"flex",alignItems:"center",justifyContent:"center",flexFlow:{sm:"row",xs:"column"},marginBottom:"15px"},children:(0,o.jsxs)(a.rjZ,{container:!0,children:[(0,o.jsx)(a.rjZ,{item:!0,xs:12,children:(0,o.jsx)(l.Z,{sx:{marginRight:"8px",fontSize:"16px",fontWeight:600,display:"flex",alignItems:"center","& .min-icon":{width:"83px",height:"14px",marginLeft:"5px",marginRight:"5px"}},children:"Register your cluster"})}),(0,o.jsx)(a.rjZ,{item:!0,xs:12,children:(0,o.jsx)(l.Z,{sx:{display:"flex",flexFlow:{xs:"column",md:"row"}},children:(0,o.jsxs)(l.Z,{sx:{display:"flex",flexFlow:"column",flex:"2"},children:[(0,o.jsx)(l.Z,{sx:{fontSize:"16px",display:"flex",flexFlow:"column",marginTop:"15px",marginBottom:"15px"},children:x}),(0,o.jsx)(l.Z,{sx:{flex:"1"},children:(0,o.jsx)(l.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"},children:c})})]})})})]})})}},73067:function(e,t,n){n.r(t),n.d(t,{default:function(){return k}});var i=n(72791),s=n(57689),l=n(75578),a=n(50099),o=n(29439),r=n(29945),c=n(11087),x=n(81207),d=n(87995),u=n(81551),h=n(9478),p=n(40986),m=n(56028),f=n(80184),g=function(e){var t=e.onClose,n=e.diagStatus,s=e.logsStatus,l=e.open,a=e.disable,c=void 0!==a&&a,h=(0,u.TL)(),g=(0,i.useState)(!1),j=(0,o.Z)(g,2),b=j[0],y=j[1],C=function(){y(!0),x.Z.invoke("PUT","/api/v1/support/callhome",{diagState:!c&&n,logsState:!c&&s}).then((function(e){h((0,d.y1)("Configuration saved successfully")),y(!1),t(!0)})).catch((function(e){y(!1),h((0,d.Ih)(e))}))};return(0,f.jsx)(m.Z,{modalOpen:l,title:c?"Disable Call Home":"Edit Call Home Configurations",onClose:function(){return t(!1)},titleIcon:(0,f.jsx)(r.o0P,{}),children:c?(0,f.jsxs)(i.Fragment,{children:["Please Acknowledge that after doing this action, we will no longer receive updated cluster information automatically, losing the potential benefits that Call Home provides to your MinIO cluster.",(0,f.jsx)(r.rjZ,{item:!0,xs:12,sx:{margin:"15px 0"},children:"Are you sure you want to disable SUBNET Call Home?"}),(0,f.jsx)("br",{}),b&&(0,f.jsx)(r.rjZ,{item:!0,xs:12,sx:{marginBottom:10},children:(0,f.jsx)(p.Z,{})}),(0,f.jsxs)(r.rjZ,{item:!0,xs:12,sx:{display:"flex",justifyContent:"flex-end"},children:[(0,f.jsx)(r.zxk,{id:"reset",type:"button",variant:"regular",disabled:b,onClick:function(){return t(!1)},label:"Cancel",sx:{marginRight:10}}),(0,f.jsx)(r.zxk,{id:"save-lifecycle",type:"submit",variant:"secondary",color:"primary",disabled:b,label:"Yes, Disable Call Home",onClick:C})]})]}):(0,f.jsxs)(i.Fragment,{children:["Are you sure you want to change the following configurations for SUBNET Call Home:",(0,f.jsxs)(r.rjZ,{item:!0,sx:{margin:"20px 0",display:"flex",flexDirection:"column",gap:15},children:[(0,f.jsxs)(r.rjZ,{item:!0,sx:{display:"flex",alignItems:"center",gap:10},children:[(0,f.jsx)(r.J$M,{style:{fill:n?"#4CCB92":"#C83B51",width:20}}),(0,f.jsxs)("span",{children:[(0,f.jsx)("strong",{children:n?"Enable":"Disable"})," - Send Diagnostics Information to SUBNET"]})]}),(0,f.jsxs)(r.rjZ,{item:!0,sx:{display:"flex",alignItems:"center",gap:10},children:[(0,f.jsx)(r.J$M,{style:{fill:s?"#4CCB92":"#C83B51",width:20}}),(0,f.jsxs)("span",{children:[(0,f.jsx)("strong",{children:s?"Enable":"Disable"})," - Send Logs Information to SUBNET"]})]})]}),(0,f.jsx)(r.rjZ,{item:!0,xs:12,sx:{margin:"15px 0"},children:"Please Acknowledge that the information provided will only be available in your SUBNET Account and it will not be shared to other persons or entities besides MinIO team and you."}),b&&(0,f.jsx)(r.rjZ,{item:!0,xs:12,sx:{marginBottom:10},children:(0,f.jsx)(p.Z,{})}),(0,f.jsxs)(r.rjZ,{item:!0,xs:12,sx:{display:"flex",justifyContent:"flex-end"},children:[(0,f.jsx)(r.zxk,{id:"reset",type:"button",variant:"regular",disabled:b,onClick:function(){return t(!1)},label:"Cancel",sx:{marginRight:10}}),(0,f.jsx)(r.zxk,{id:"save-lifecycle",type:"submit",variant:"callAction",color:"primary",disabled:b,label:"Yes, Save this Configuration",onClick:C})]})]})})},j=n(31460),b=n(47974),y=n(99670),C=function(){var e=(0,u.TL)(),t=(0,s.s0)(),n=(0,i.useState)(!0),l=(0,o.Z)(n,2),a=l[0],p=l[1],m=(0,i.useState)(!1),C=(0,o.Z)(m,2),v=C[0],Z=C[1],S=(0,i.useState)(!1),k=(0,o.Z)(S,2),w=k[0],I=k[1],B=(0,i.useState)(!1),E=(0,o.Z)(B,2),T=E[0],z=E[1],A=(0,i.useState)(!1),L=(0,o.Z)(A,2),D=L[0],H=L[1],M=(0,i.useState)(!1),F=(0,o.Z)(M,2),N=F[0],O=F[1],U=(0,i.useState)(!1),P=(0,o.Z)(U,2),R=P[0],W=P[1],Y=(0,h.Yc)();(0,i.useEffect)((function(){a&&x.Z.invoke("GET","/api/v1/support/callhome").then((function(e){p(!1),I(!!e.diagnosticsStatus),O(!!e.logsStatus),z(!!e.diagnosticsStatus),H(!!e.logsStatus)})).catch((function(t){p(!1),e((0,d.Ih)(t))}))}),[a,e]);var X="regular";return!Y||w===T&&N===D||(X="callAction"),(0,i.useEffect)((function(){e((0,d.Sc)("call_home"))}),[]),(0,f.jsxs)(i.Fragment,{children:[v&&(0,f.jsx)(g,{onClose:function(e){e&&p(!0),Z(!1)},open:v,logsStatus:N,diagStatus:w,disable:R}),(0,f.jsx)(b.Z,{label:"Call Home",actions:(0,f.jsx)(y.Z,{})}),(0,f.jsxs)(r.Xgh,{children:[!Y&&(0,f.jsx)(j.Z,{compactMode:!0}),(0,f.jsx)(r.ltY,{helpBox:(0,f.jsx)(r.KfX,{title:"Learn more about Call Home",iconComponent:(0,f.jsx)(r.o0P,{}),help:(0,f.jsx)(i.Fragment,{children:(0,f.jsx)(r.xuv,{sx:{display:"flex",flexFlow:"column",fontSize:"14px",flex:"2",marginTop:"10px"},children:(0,f.jsxs)(r.xuv,{children:["Enabling Call Home sends cluster health & status to your registered MinIO Subscription Network account every 24 hours.",(0,f.jsx)("br",{}),(0,f.jsx)("br",{}),"This helps the MinIO support team to provide quick incident responses along with suggestions for possible improvements that can be made to your MinIO instances.",(0,f.jsx)("br",{}),(0,f.jsx)("br",{}),"Your cluster must be"," ",(0,f.jsx)(c.rU,{to:"/support/register",children:"registered"})," in the MinIO Subscription Network (SUBNET) before enabling this feature."]})})})}),children:a?(0,f.jsx)("span",{style:{marginLeft:5},children:(0,f.jsx)(r.aNw,{style:{width:16,height:16}})}):(0,f.jsxs)(i.Fragment,{children:[(0,f.jsx)(r.rsf,{value:"enableDiag",id:"enableDiag",name:"enableDiag",checked:w,onChange:function(e){I(e.target.checked)},label:"Daily Health Report",disabled:!Y,description:"Daily Health Report enables you to proactively identify potential issues in your deployment before they escalate."}),(0,f.jsx)(r.rsf,{value:"enableLogs",id:"enableLogs",name:"enableLogs",checked:N,onChange:function(e){O(e.target.checked)},label:"Live Error Logs",disabled:!Y,description:"Live Error Logs will enable MinIO's support team and automatic diagnostics system to catch failures early."}),(0,f.jsxs)(r.xuv,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end",marginTop:"55px",gap:"0px 10px"},children:[(T||D)&&(0,f.jsx)(r.zxk,{id:"callhome-action",variant:"secondary","data-test-id":"call-home-toggle-button",onClick:function(){W(!0),Z(!0)},disabled:a,children:"Disable Call Home"}),(0,f.jsx)(r.zxk,{id:"callhome-action",type:"button",variant:X,"data-test-id":"call-home-toggle-button",onClick:function(){Y?(W(!1),Z(!0)):t("/support/register")},disabled:a,children:"Save Configuration"})]})]})})]})]})},v=(0,l.Z)(i.lazy((function(){return Promise.all([n.e(5473),n.e(1715),n.e(5994),n.e(7391),n.e(9581),n.e(8833)]).then(n.bind(n,58833))}))),Z=(0,l.Z)(i.lazy((function(){return Promise.all([n.e(5473),n.e(1715),n.e(5994),n.e(7391),n.e(4882),n.e(3554),n.e(1516)]).then(n.bind(n,51516))}))),S=(0,l.Z)(i.lazy((function(){return n.e(483).then(n.bind(n,70483))}))),k=function(){return(0,f.jsxs)(s.Z5,{children:[(0,f.jsx)(s.AW,{path:"register",element:(0,f.jsx)(Z,{})}),(0,f.jsx)(s.AW,{path:"profile",element:(0,f.jsx)(S,{})}),(0,f.jsx)(s.AW,{path:"call-home",element:(0,f.jsx)(C,{})}),(0,f.jsx)(s.AW,{path:"inspect",element:(0,f.jsx)(v,{})}),(0,f.jsx)(s.AW,{path:"*",element:(0,f.jsx)(a.Z,{})})]})}}}]); +//# sourceMappingURL=3067.56476c2f.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3067.56476c2f.chunk.js.map b/portal-ui/build/static/js/3067.56476c2f.chunk.js.map new file mode 100644 index 000000000..fd9197c36 --- /dev/null +++ b/portal-ui/build/static/js/3067.56476c2f.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3067.56476c2f.chunk.js","mappings":"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","sources":["screens/Console/Common/Components/withSuspense.tsx","screens/Console/Support/RegisterCluster.tsx","screens/Console/Support/CallHomeConfirmation.tsx","screens/Console/Support/CallHome.tsx","screens/Console/Tools/Tools.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, { 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","// 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 { useNavigate } from \"react-router-dom\";\nimport { Box } from \"@mui/material\";\nimport { Button, Grid, HelpBox, WarnIcon } from \"mds\";\n\ninterface IRegisterCluster {\n compactMode?: boolean;\n}\n\nconst RegisterCluster = ({ compactMode = false }: IRegisterCluster) => {\n const navigate = useNavigate();\n\n const redirectButton = (\n navigate(\"/support/register\")}\n >\n Register your Cluster\n \n );\n\n const registerMessage =\n \"Use your MinIO Subscription Network login credentials to register this cluster.\";\n\n if (compactMode) {\n return (\n \n \n \n {registerMessage} {redirectButton}\n \n }\n iconComponent={}\n help={null}\n />\n \n
\n
\n );\n }\n\n return (\n \n \n \n \n Register your cluster\n \n \n \n \n \n \n {registerMessage}\n \n \n \n {redirectButton}\n \n \n \n \n \n \n \n );\n};\n\nexport default RegisterCluster;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 { Button, CallHomeMenuIcon, CircleIcon, Grid } from \"mds\";\nimport { LinearProgress } from \"@mui/material\";\nimport api from \"../../../common/api\";\nimport { ICallHomeResponse } from \"./types\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { setErrorSnackMessage, setSnackBarMessage } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\n\ninterface ICallHomeConfirmation {\n onClose: (refresh: boolean) => any;\n open: boolean;\n diagStatus: boolean;\n logsStatus: boolean;\n disable?: boolean;\n}\n\nconst CallHomeConfirmation = ({\n onClose,\n diagStatus,\n logsStatus,\n open,\n disable = false,\n}: ICallHomeConfirmation) => {\n const dispatch = useAppDispatch();\n\n const [loading, setLoading] = useState(false);\n\n const onConfirmAction = () => {\n setLoading(true);\n api\n .invoke(\"PUT\", `/api/v1/support/callhome`, {\n diagState: disable ? false : diagStatus,\n logsState: disable ? false : logsStatus,\n })\n .then((res: ICallHomeResponse) => {\n dispatch(setSnackBarMessage(\"Configuration saved successfully\"));\n setLoading(false);\n onClose(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n dispatch(setErrorSnackMessage(err));\n });\n };\n\n return (\n onClose(false)}\n titleIcon={}\n >\n {disable ? (\n \n Please Acknowledge that after doing this action, we will no longer\n receive updated cluster information automatically, losing the\n potential benefits that Call Home provides to your MinIO cluster.\n \n Are you sure you want to disable SUBNET Call Home?\n \n
\n {loading && (\n \n \n \n )}\n \n onClose(false)}\n label={\"Cancel\"}\n sx={{\n marginRight: 10,\n }}\n />\n \n \n
\n ) : (\n \n Are you sure you want to change the following configurations for\n SUBNET Call Home:\n \n \n \n \n {diagStatus ? \"Enable\" : \"Disable\"} - Send\n Diagnostics Information to SUBNET\n \n \n \n \n \n {logsStatus ? \"Enable\" : \"Disable\"} - Send Logs\n Information to SUBNET\n \n \n \n \n Please Acknowledge that the information provided will only be\n available in your SUBNET Account and it will not be shared to other\n persons or entities besides MinIO team and you.\n \n {loading && (\n \n \n \n )}\n \n onClose(false)}\n label={\"Cancel\"}\n sx={{\n marginRight: 10,\n }}\n />\n \n \n \n )}\n \n );\n};\n\nexport default CallHomeConfirmation;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 {\n Box,\n Button,\n CallHomeMenuIcon,\n FormLayout,\n HelpBox,\n Loader,\n PageLayout,\n Switch,\n} from \"mds\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport api from \"../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { setErrorSnackMessage, setHelpName } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport { ICallHomeResponse } from \"./types\";\nimport { registeredCluster } from \"../../../config\";\nimport CallHomeConfirmation from \"./CallHomeConfirmation\";\nimport RegisterCluster from \"./RegisterCluster\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport HelpMenu from \"../HelpMenu\";\n\nconst CallHome = () => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const [loading, setLoading] = useState(true);\n const [showConfirmation, setShowConfirmation] = useState(false);\n const [diagEnabled, setDiagEnabled] = useState(false);\n const [oDiagEnabled, setODiagEnabled] = useState(false);\n const [oLogsEnabled, setOLogsEnabled] = useState(false);\n const [logsEnabled, setLogsEnabled] = useState(false);\n const [disableMode, setDisableMode] = useState(false);\n\n const clusterRegistered = registeredCluster();\n\n useEffect(() => {\n if (loading) {\n api\n .invoke(\"GET\", `/api/v1/support/callhome`)\n .then((res: ICallHomeResponse) => {\n setLoading(false);\n\n setDiagEnabled(!!res.diagnosticsStatus);\n setLogsEnabled(!!res.logsStatus);\n\n setODiagEnabled(!!res.diagnosticsStatus);\n setOLogsEnabled(!!res.logsStatus);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n dispatch(setErrorSnackMessage(err));\n });\n }\n }, [loading, dispatch]);\n\n const callHomeClose = (refresh: boolean) => {\n if (refresh) {\n setLoading(true);\n }\n setShowConfirmation(false);\n };\n\n const confirmCallHomeAction = () => {\n if (!clusterRegistered) {\n navigate(\"/support/register\");\n return;\n }\n setDisableMode(false);\n setShowConfirmation(true);\n };\n\n const disableCallHomeAction = () => {\n setDisableMode(true);\n setShowConfirmation(true);\n };\n\n let mainVariant: \"regular\" | \"callAction\" = \"regular\";\n\n if (\n clusterRegistered &&\n (diagEnabled !== oDiagEnabled || logsEnabled !== oLogsEnabled)\n ) {\n mainVariant = \"callAction\";\n }\n\n useEffect(() => {\n dispatch(setHelpName(\"call_home\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n {showConfirmation && (\n \n )}\n } />\n \n {!clusterRegistered && }\n }\n help={\n \n \n \n Enabling Call Home sends cluster health & status to your\n registered MinIO Subscription Network account every 24\n hours.\n
\n
\n This helps the MinIO support team to provide quick\n incident responses along with suggestions for possible\n improvements that can be made to your MinIO instances.\n
\n
\n Your cluster must be{\" \"}\n registered in the\n MinIO Subscription Network (SUBNET) before enabling this\n feature.\n
\n \n
\n }\n />\n }\n >\n {loading ? (\n \n \n \n ) : (\n \n ) => {\n setDiagEnabled(event.target.checked);\n }}\n label={\"Daily Health Report\"}\n disabled={!clusterRegistered}\n description={\n \"Daily Health Report enables you to proactively identify potential issues in your deployment before they escalate.\"\n }\n />\n ) => {\n setLogsEnabled(event.target.checked);\n }}\n label={\"Live Error Logs\"}\n disabled={!clusterRegistered}\n description={\n \"Live Error Logs will enable MinIO's support team and automatic diagnostics system to catch failures early.\"\n }\n />\n \n {(oDiagEnabled || oLogsEnabled) && (\n \n Disable Call Home\n \n )}\n \n Save Configuration\n \n \n \n )}\n \n
\n
\n );\n};\n\nexport default CallHome;\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 { Route, Routes } from \"react-router-dom\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport NotFoundPage from \"../../NotFoundPage\";\nimport CallHome from \"../Support/CallHome\";\n\nconst Inspect = withSuspense(React.lazy(() => import(\"./Inspect\")));\nconst Register = withSuspense(React.lazy(() => import(\"../Support/Register\")));\nconst Profile = withSuspense(React.lazy(() => import(\"../Support/Profile\")));\n\nconst Tools = () => {\n return (\n \n } />\n } />\n } />\n } />\n } />\n \n );\n};\n\nexport default Tools;\n"],"names":["WrappedComponent","fallback","arguments","length","undefined","props","_jsx","Suspense","children","_objectSpread","_ref","_ref$compactMode","compactMode","navigate","useNavigate","redirectButton","Button","id","type","variant","color","onClick","registerMessage","_jsxs","Fragment","Grid","sx","marginBottom","HelpBox","title","style","display","justifyContent","alignItems","flexGrow","iconComponent","WarnIcon","help","Box","padding","border","flexFlow","sm","xs","container","item","marginRight","fontSize","fontWeight","width","height","marginLeft","md","flex","marginTop","onClose","diagStatus","logsStatus","open","_ref$disable","disable","dispatch","useAppDispatch","_useState","useState","_useState2","_slicedToArray","loading","setLoading","onConfirmAction","api","invoke","diagState","logsState","then","res","setSnackBarMessage","catch","err","setErrorSnackMessage","ModalWrapper","modalOpen","titleIcon","CallHomeMenuIcon","margin","LinearProgress","disabled","label","flexDirection","gap","CircleIcon","fill","_useState3","_useState4","showConfirmation","setShowConfirmation","_useState5","_useState6","diagEnabled","setDiagEnabled","_useState7","_useState8","oDiagEnabled","setODiagEnabled","_useState9","_useState10","oLogsEnabled","setOLogsEnabled","_useState11","_useState12","logsEnabled","setLogsEnabled","_useState13","_useState14","disableMode","setDisableMode","clusterRegistered","registeredCluster","useEffect","diagnosticsStatus","mainVariant","setHelpName","CallHomeConfirmation","refresh","PageHeaderWrapper","actions","HelpMenu","PageLayout","RegisterCluster","FormLayout","helpBox","Link","to","Loader","Switch","value","name","checked","onChange","event","target","description","Inspect","withSuspense","React","Register","Profile","Routes","Route","path","element","CallHome","NotFoundPage"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3115.3b6b6959.chunk.js b/portal-ui/build/static/js/3115.f9b2e7fc.chunk.js similarity index 81% rename from portal-ui/build/static/js/3115.3b6b6959.chunk.js rename to portal-ui/build/static/js/3115.f9b2e7fc.chunk.js index 743c9956a..e467842aa 100644 --- a/portal-ui/build/static/js/3115.3b6b6959.chunk.js +++ b/portal-ui/build/static/js/3115.f9b2e7fc.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3115],{75578:function(e,n,t){var l=t(1413),r=t(72791),s=t(80184);n.Z=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return function(t){return(0,s.jsx)(r.Suspense,{fallback:n,children:(0,s.jsx)(e,(0,l.Z)({},t))})}}},93115:function(e,n,t){t.r(n);var l=t(72791),r=t(57689),s=t(75578),u=t(50099),a=t(80184),i=(0,s.Z)(l.lazy((function(){return Promise.all([t.e(9518),t.e(5661)]).then(t.bind(t,35661))}))),o=(0,s.Z)(l.lazy((function(){return Promise.all([t.e(5473),t.e(5004),t.e(2983),t.e(7134)]).then(t.bind(t,17134))}))),c=(0,s.Z)(l.lazy((function(){return Promise.all([t.e(5473),t.e(1715),t.e(5994),t.e(7391),t.e(3034)]).then(t.bind(t,33034))}))),h=(0,s.Z)(l.lazy((function(){return Promise.all([t.e(5473),t.e(1715),t.e(5994),t.e(7391),t.e(3138)]).then(t.bind(t,53138))})));n.default=function(){return(0,a.jsxs)(r.Z5,{children:[(0,a.jsx)(r.AW,{path:"status",element:(0,a.jsx)(i,{})}),(0,a.jsx)(r.AW,{path:"keys",element:(0,a.jsx)(o,{})}),(0,a.jsx)(r.AW,{path:"add-key",element:(0,a.jsx)(c,{})}),(0,a.jsx)(r.AW,{path:"import-key",element:(0,a.jsx)(h,{})}),(0,a.jsx)(r.AW,{path:"*",element:(0,a.jsx)(u.Z,{})})]})}}}]); -//# sourceMappingURL=3115.3b6b6959.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3115],{75578:function(e,n,t){var l=t(1413),r=t(72791),s=t(80184);n.Z=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return function(t){return(0,s.jsx)(r.Suspense,{fallback:n,children:(0,s.jsx)(e,(0,l.Z)({},t))})}}},93115:function(e,n,t){t.r(n);var l=t(72791),r=t(57689),s=t(75578),u=t(50099),a=t(80184),i=(0,s.Z)(l.lazy((function(){return Promise.all([t.e(9518),t.e(6171)]).then(t.bind(t,35661))}))),o=(0,s.Z)(l.lazy((function(){return Promise.all([t.e(5473),t.e(7564),t.e(2983),t.e(7134)]).then(t.bind(t,17134))}))),c=(0,s.Z)(l.lazy((function(){return Promise.all([t.e(5473),t.e(1715),t.e(5994),t.e(7391),t.e(3034)]).then(t.bind(t,33034))}))),h=(0,s.Z)(l.lazy((function(){return Promise.all([t.e(5473),t.e(1715),t.e(5994),t.e(7391),t.e(3138)]).then(t.bind(t,53138))})));n.default=function(){return(0,a.jsxs)(r.Z5,{children:[(0,a.jsx)(r.AW,{path:"status",element:(0,a.jsx)(i,{})}),(0,a.jsx)(r.AW,{path:"keys",element:(0,a.jsx)(o,{})}),(0,a.jsx)(r.AW,{path:"add-key",element:(0,a.jsx)(c,{})}),(0,a.jsx)(r.AW,{path:"import-key",element:(0,a.jsx)(h,{})}),(0,a.jsx)(r.AW,{path:"*",element:(0,a.jsx)(u.Z,{})})]})}}}]); +//# sourceMappingURL=3115.f9b2e7fc.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3115.3b6b6959.chunk.js.map b/portal-ui/build/static/js/3115.f9b2e7fc.chunk.js.map similarity index 98% rename from portal-ui/build/static/js/3115.3b6b6959.chunk.js.map rename to portal-ui/build/static/js/3115.f9b2e7fc.chunk.js.map index b7926b9f4..0b840d757 100644 --- a/portal-ui/build/static/js/3115.3b6b6959.chunk.js.map +++ b/portal-ui/build/static/js/3115.f9b2e7fc.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/3115.3b6b6959.chunk.js","mappings":"iJAiCA,IAfA,SACEA,GAEC,IADDC,EAAmCC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,KAUtC,OARA,SAA+BG,GAC7B,OACEC,EAAAA,EAAAA,KAACC,EAAAA,SAAQ,CAACN,SAAUA,EAASO,UAC3BF,EAAAA,EAAAA,KAACN,GAAgBS,EAAAA,EAAAA,GAAA,GAAMJ,KAG7B,CAGF,C,0FCTMK,GAASC,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,kBAAM,wDAAkB,KACzDC,GAAWF,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,kBAAM,4EAAoB,KAC7DE,GAASH,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,kBAAM,sFAAkB,KACzDG,GAAYJ,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,kBAAM,sFAAqB,KAcrE,UAZkB,WAChB,OACEI,EAAAA,EAAAA,MAACC,EAAAA,GAAM,CAAAT,SAAA,EACLF,EAAAA,EAAAA,KAACY,EAAAA,GAAK,CAACC,KAAM,SAAUC,SAASd,EAAAA,EAAAA,KAACI,EAAM,OACvCJ,EAAAA,EAAAA,KAACY,EAAAA,GAAK,CAACC,KAAM,OAAQC,SAASd,EAAAA,EAAAA,KAACO,EAAQ,OACvCP,EAAAA,EAAAA,KAACY,EAAAA,GAAK,CAACC,KAAM,UAAWC,SAASd,EAAAA,EAAAA,KAACQ,EAAM,OACxCR,EAAAA,EAAAA,KAACY,EAAAA,GAAK,CAACC,KAAM,aAAcC,SAASd,EAAAA,EAAAA,KAACS,EAAS,OAC9CT,EAAAA,EAAAA,KAACY,EAAAA,GAAK,CAACC,KAAM,IAAKC,SAASd,EAAAA,EAAAA,KAACe,EAAAA,EAAY,QAG9C,C","sources":["screens/Console/Common/Components/withSuspense.tsx","screens/Console/KMS/KMSRoutes.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, { 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","// 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 { Route, Routes } from \"react-router-dom\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport NotFoundPage from \"../../NotFoundPage\";\n\nconst Status = withSuspense(React.lazy(() => import(\"./Status\")));\nconst ListKeys = withSuspense(React.lazy(() => import(\"./ListKeys\")));\nconst AddKey = withSuspense(React.lazy(() => import(\"./AddKey\")));\nconst ImportKey = withSuspense(React.lazy(() => import(\"./ImportKey\")));\n\nconst KMSRoutes = () => {\n return (\n \n } />\n } />\n } />\n } />\n } />\n \n );\n};\n\nexport default KMSRoutes;\n"],"names":["WrappedComponent","fallback","arguments","length","undefined","props","_jsx","Suspense","children","_objectSpread","Status","withSuspense","React","ListKeys","AddKey","ImportKey","_jsxs","Routes","Route","path","element","NotFoundPage"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/3115.f9b2e7fc.chunk.js","mappings":"iJAiCA,IAfA,SACEA,GAEC,IADDC,EAAmCC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,KAUtC,OARA,SAA+BG,GAC7B,OACEC,EAAAA,EAAAA,KAACC,EAAAA,SAAQ,CAACN,SAAUA,EAASO,UAC3BF,EAAAA,EAAAA,KAACN,GAAgBS,EAAAA,EAAAA,GAAA,GAAMJ,KAG7B,CAGF,C,0FCTMK,GAASC,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,kBAAM,wDAAkB,KACzDC,GAAWF,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,kBAAM,4EAAoB,KAC7DE,GAASH,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,kBAAM,sFAAkB,KACzDG,GAAYJ,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,kBAAM,sFAAqB,KAcrE,UAZkB,WAChB,OACEI,EAAAA,EAAAA,MAACC,EAAAA,GAAM,CAAAT,SAAA,EACLF,EAAAA,EAAAA,KAACY,EAAAA,GAAK,CAACC,KAAM,SAAUC,SAASd,EAAAA,EAAAA,KAACI,EAAM,OACvCJ,EAAAA,EAAAA,KAACY,EAAAA,GAAK,CAACC,KAAM,OAAQC,SAASd,EAAAA,EAAAA,KAACO,EAAQ,OACvCP,EAAAA,EAAAA,KAACY,EAAAA,GAAK,CAACC,KAAM,UAAWC,SAASd,EAAAA,EAAAA,KAACQ,EAAM,OACxCR,EAAAA,EAAAA,KAACY,EAAAA,GAAK,CAACC,KAAM,aAAcC,SAASd,EAAAA,EAAAA,KAACS,EAAS,OAC9CT,EAAAA,EAAAA,KAACY,EAAAA,GAAK,CAACC,KAAM,IAAKC,SAASd,EAAAA,EAAAA,KAACe,EAAAA,EAAY,QAG9C,C","sources":["screens/Console/Common/Components/withSuspense.tsx","screens/Console/KMS/KMSRoutes.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, { 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","// 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 { Route, Routes } from \"react-router-dom\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport NotFoundPage from \"../../NotFoundPage\";\n\nconst Status = withSuspense(React.lazy(() => import(\"./Status\")));\nconst ListKeys = withSuspense(React.lazy(() => import(\"./ListKeys\")));\nconst AddKey = withSuspense(React.lazy(() => import(\"./AddKey\")));\nconst ImportKey = withSuspense(React.lazy(() => import(\"./ImportKey\")));\n\nconst KMSRoutes = () => {\n return (\n \n } />\n } />\n } />\n } />\n } />\n \n );\n};\n\nexport default KMSRoutes;\n"],"names":["WrappedComponent","fallback","arguments","length","undefined","props","_jsx","Suspense","children","_objectSpread","Status","withSuspense","React","ListKeys","AddKey","ImportKey","_jsxs","Routes","Route","path","element","NotFoundPage"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3138.36694643.chunk.js.map b/portal-ui/build/static/js/3138.36694643.chunk.js.map index 878a218a5..7a325d3aa 100644 --- a/portal-ui/build/static/js/3138.36694643.chunk.js.map +++ b/portal-ui/build/static/js/3138.36694643.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/3138.36694643.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/KMS/ImportKey.tsx","screens/Console/KMS/KMSHelpbox.tsx","../node_modules/@mui/icons-material/RemoveRedEye.js","../node_modules/@mui/icons-material/VisibilityOff.js","../node_modules/@mui/icons-material/utils/createSvgIcon.js","../node_modules/@mui/material/FormControl/FormControlContext.js","../node_modules/@mui/material/FormControl/formControlState.js","../node_modules/@mui/material/FormControl/useFormControl.js","../node_modules/@mui/material/FormLabel/FormLabel.js","../node_modules/@mui/material/FormLabel/formLabelClasses.js","../node_modules/@mui/material/InputLabel/inputLabelClasses.js","../node_modules/@mui/material/InputLabel/InputLabel.js","../node_modules/@mui/material/utils/createChainedFunction.js","../node_modules/@mui/material/utils/deprecatedPropType.js","../node_modules/@mui/utils/esm/deprecatedPropType.js","../node_modules/@mui/material/utils/requirePropFactory.js","../node_modules/@mui/utils/esm/requirePropFactory.js","../node_modules/@mui/material/utils/setRef.js","../node_modules/@mui/material/utils/unsupportedProp.js","../node_modules/@mui/utils/esm/unsupportedProp.js","../node_modules/@mui/material/utils/index.js","../node_modules/@mui/material/utils/isMuiElement.js","../node_modules/@mui/utils/esm/isMuiElement.js","../node_modules/copy-to-clipboard/index.js","../node_modules/react-copy-to-clipboard/lib/Component.js","../node_modules/react-copy-to-clipboard/lib/index.js","../node_modules/toggle-selection/index.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.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, { Fragment } from \"react\";\nimport { Button, CodeEditor, CopyIcon } from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport TooltipWrapper from \"../../TooltipWrapper/TooltipWrapper\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n onChange: (value: string) => any;\n editorHeight?: string | number;\n}\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n onChange,\n editorHeight = 250,\n}: ICodeWrapper) => {\n return (\n onChange(value)}\n mode={mode}\n tooltip={tooltip}\n editorHeight={editorHeight}\n label={label}\n helpTools={\n \n \n \n }\n color={\"primary\"}\n variant={\"regular\"}\n />\n \n \n \n }\n />\n );\n};\n\nexport default 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, { ClipboardEvent, useState } from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { HelpIcon } from \"mds\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n onFocus?: () => void;\n onPaste?: (e: ClipboardEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n }),\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n onFocus,\n onPaste,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n const [toggleTextInput, setToggleTextInput] = useState(false);\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n let inputBoxWrapperIcon = overlayIcon;\n let inputBoxWrapperType = type;\n\n if (type === \"password\" && overlayIcon === null) {\n inputBoxWrapperIcon = toggleTextInput ? (\n \n ) : (\n \n );\n inputBoxWrapperType = toggleTextInput ? \"text\" : \"password\";\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n

\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {inputBoxWrapperIcon && (\n \n {\n overlayAction();\n }\n : () => setToggleTextInput(!toggleTextInput)\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {inputBoxWrapperIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\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 { Box } from \"@mui/material\";\n\nimport Grid from \"@mui/material/Grid\";\nimport {\n AddAccessRuleIcon,\n BackLink,\n Button,\n FormLayout,\n PageLayout,\n} from \"mds\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { setErrorSnackMessage, setHelpName } from \"../../../systemSlice\";\nimport { useNavigate } from \"react-router-dom\";\nimport { useAppDispatch } from \"../../../store\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport KMSHelpBox from \"./KMSHelpbox\";\nimport CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport HelpMenu from \"../HelpMenu\";\n\nexport const emptyContent = '{\\n \"bytes\": \"\"\\n}';\n\nconst ImportKey = () => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const onSuccess = () => navigate(`${IAM_PAGES.KMS_KEYS}`);\n\n const onError = (err: ErrorResponseHandler) =>\n dispatch(setErrorSnackMessage(err));\n\n const [loading, invokeApi] = useApi(onSuccess, onError);\n const [keyName, setKeyName] = useState(\"\");\n const [keyContent, setKeyContent] = useState(emptyContent);\n\n const importRecord = (event: React.FormEvent) => {\n event.preventDefault();\n let data = JSON.parse(keyContent);\n invokeApi(\"POST\", `/api/v1/kms/keys/${keyName}/import`, data);\n };\n\n const resetForm = () => {\n setKeyName(\"\");\n setKeyContent(\"\");\n };\n\n const validateKeyName = (keyName: string) => {\n if (keyName.indexOf(\" \") !== -1) {\n return \"Key name cannot contain spaces\";\n } else return \"\";\n };\n\n const validSave = keyName.trim() !== \"\" && keyName.indexOf(\" \") === -1;\n\n useEffect(() => {\n dispatch(setHelpName(\"import_key\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n \n navigate(IAM_PAGES.KMS_KEYS)}\n label={\"Keys\"}\n />\n }\n actions={}\n />\n \n }\n helpBox={\n \n }\n >\n ) => {\n importRecord(e);\n }}\n >\n \n \n ) => {\n setKeyName(e.target.value);\n }}\n />\n \n \n {\n setKeyContent(value);\n }}\n editorHeight={\"350px\"}\n />\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default ImportKey;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 { HelpBox, HelpIconFilled, Box } from \"mds\";\n\ninterface IKMSHelpBoxProps {\n helpText: string;\n contents: string[];\n}\n\nconst KMSHelpBox = ({ helpText, contents }: IKMSHelpBoxProps) => {\n return (\n }\n title={helpText}\n help={\n \n {contents.map((content) => (\n {content}\n ))}\n \n }\n />\n );\n};\n\nexport default KMSHelpBox;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n}), 'RemoveRedEye');\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"\n}), 'VisibilityOff');\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst FormControlContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== 'production') {\n FormControlContext.displayName = 'FormControlContext';\n}\nexport default FormControlContext;","export default function formControlState({\n props,\n states,\n muiFormControl\n}) {\n return states.reduce((acc, state) => {\n acc[state] = props[state];\n if (muiFormControl) {\n if (typeof props[state] === 'undefined') {\n acc[state] = muiFormControl[state];\n }\n }\n return acc;\n }, {});\n}","import * as React from 'react';\nimport FormControlContext from './FormControlContext';\nexport default function useFormControl() {\n return React.useContext(FormControlContext);\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"disabled\", \"error\", \"filled\", \"focused\", \"required\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport formLabelClasses, { getFormLabelUtilityClasses } from './formLabelClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n focused,\n disabled,\n error,\n filled,\n required\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, disabled && 'disabled', error && 'error', filled && 'filled', focused && 'focused', required && 'required'],\n asterisk: ['asterisk', error && 'error']\n };\n return composeClasses(slots, getFormLabelUtilityClasses, classes);\n};\nexport const FormLabelRoot = styled('label', {\n name: 'MuiFormLabel',\n slot: 'Root',\n overridesResolver: ({\n ownerState\n }, styles) => {\n return _extends({}, styles.root, ownerState.color === 'secondary' && styles.colorSecondary, ownerState.filled && styles.filled);\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, theme.typography.body1, {\n lineHeight: '1.4375em',\n padding: 0,\n position: 'relative',\n [`&.${formLabelClasses.focused}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${formLabelClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n },\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst AsteriskComponent = styled('span', {\n name: 'MuiFormLabel',\n slot: 'Asterisk',\n overridesResolver: (props, styles) => styles.asterisk\n})(({\n theme\n}) => ({\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst FormLabel = /*#__PURE__*/React.forwardRef(function FormLabel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormLabel'\n });\n const {\n children,\n className,\n component = 'label'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['color', 'required', 'focused', 'disabled', 'error', 'filled']\n });\n const ownerState = _extends({}, props, {\n color: fcs.color || 'primary',\n component,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(FormLabelRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: [children, fcs.required && /*#__PURE__*/_jsxs(AsteriskComponent, {\n ownerState: ownerState,\n \"aria-hidden\": true,\n className: classes.asterisk,\n children: [\"\\u2009\", '*']\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormLabel.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\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 * If `true`, the label should be displayed in a disabled state.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the label should use filled classes key.\n */\n filled: PropTypes.bool,\n /**\n * If `true`, the input of this label is focused (used by `FormGroup` components).\n */\n focused: PropTypes.bool,\n /**\n * If `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\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} : void 0;\nexport default FormLabel;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getFormLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiFormLabel', slot);\n}\nconst formLabelClasses = generateUtilityClasses('MuiFormLabel', ['root', 'colorSecondary', 'focused', 'disabled', 'error', 'filled', 'required', 'asterisk']);\nexport default formLabelClasses;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getInputLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiInputLabel', slot);\n}\nconst inputLabelClasses = generateUtilityClasses('MuiInputLabel', ['root', 'focused', 'disabled', 'error', 'required', 'asterisk', 'formControl', 'sizeSmall', 'shrink', 'animated', 'standard', 'filled', 'outlined']);\nexport default inputLabelClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"disableAnimation\", \"margin\", \"shrink\", \"variant\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport clsx from 'clsx';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport FormLabel, { formLabelClasses } from '../FormLabel';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { getInputLabelUtilityClasses } from './inputLabelClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n formControl,\n size,\n shrink,\n disableAnimation,\n variant,\n required\n } = ownerState;\n const slots = {\n root: ['root', formControl && 'formControl', !disableAnimation && 'animated', shrink && 'shrink', size === 'small' && 'sizeSmall', variant],\n asterisk: [required && 'asterisk']\n };\n const composedClasses = composeClasses(slots, getInputLabelUtilityClasses, classes);\n return _extends({}, classes, composedClasses);\n};\nconst InputLabelRoot = styled(FormLabel, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiInputLabel',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${formLabelClasses.asterisk}`]: styles.asterisk\n }, styles.root, ownerState.formControl && styles.formControl, ownerState.size === 'small' && styles.sizeSmall, ownerState.shrink && styles.shrink, !ownerState.disableAnimation && styles.animated, styles[ownerState.variant]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'block',\n transformOrigin: 'top left',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: '100%'\n}, ownerState.formControl && {\n position: 'absolute',\n left: 0,\n top: 0,\n // slight alteration to spec spacing to match visual spec result\n transform: 'translate(0, 20px) scale(1)'\n}, ownerState.size === 'small' && {\n // Compensation for the `Input.inputSizeSmall` style.\n transform: 'translate(0, 17px) scale(1)'\n}, ownerState.shrink && {\n transform: 'translate(0, -1.5px) scale(0.75)',\n transformOrigin: 'top left',\n maxWidth: '133%'\n}, !ownerState.disableAnimation && {\n transition: theme.transitions.create(['color', 'transform', 'max-width'], {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n })\n}, ownerState.variant === 'filled' && _extends({\n // Chrome's autofill feature gives the input field a yellow background.\n // Since the input field is behind the label in the HTML tree,\n // the input field is drawn last and hides the label with an opaque background color.\n // zIndex: 1 will raise the label above opaque background-colors of input.\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(12px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 13px) scale(1)'\n}, ownerState.shrink && _extends({\n userSelect: 'none',\n pointerEvents: 'auto',\n transform: 'translate(12px, 7px) scale(0.75)',\n maxWidth: 'calc(133% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 4px) scale(0.75)'\n})), ownerState.variant === 'outlined' && _extends({\n // see comment above on filled.zIndex\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(14px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(14px, 9px) scale(1)'\n}, ownerState.shrink && {\n userSelect: 'none',\n pointerEvents: 'auto',\n // Theoretically, we should have (8+5)*2/0.75 = 34px\n // but it feels a better when it bleeds a bit on the left, so 32px.\n maxWidth: 'calc(133% - 32px)',\n transform: 'translate(14px, -9px) scale(0.75)'\n})));\nconst InputLabel = /*#__PURE__*/React.forwardRef(function InputLabel(inProps, ref) {\n const props = useThemeProps({\n name: 'MuiInputLabel',\n props: inProps\n });\n const {\n disableAnimation = false,\n shrink: shrinkProp,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n let shrink = shrinkProp;\n if (typeof shrink === 'undefined' && muiFormControl) {\n shrink = muiFormControl.filled || muiFormControl.focused || muiFormControl.adornedStart;\n }\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['size', 'variant', 'required']\n });\n const ownerState = _extends({}, props, {\n disableAnimation,\n formControl: muiFormControl,\n shrink,\n size: fcs.size,\n variant: fcs.variant,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(InputLabelRoot, _extends({\n \"data-shrink\": shrink,\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? InputLabel.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the transition animation is disabled.\n * @default false\n */\n disableAnimation: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` of this label is focused.\n */\n focused: PropTypes.bool,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: PropTypes.oneOf(['dense']),\n /**\n * if `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n /**\n * If `true`, the label is shrunk.\n */\n shrink: PropTypes.bool,\n /**\n * The size of the component.\n * @default 'normal'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['normal', 'small']), PropTypes.string]),\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 * The variant to use.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputLabel;","import { unstable_createChainedFunction as createChainedFunction } from '@mui/utils';\nexport default createChainedFunction;","import { unstable_deprecatedPropType as deprecatedPropType } from '@mui/utils';\nexport default deprecatedPropType;","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return (props, propName, componentName, location, propFullName) => {\n const componentNameSafe = componentName || '<>';\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The ${location} \\`${propFullNameSafe}\\` of ` + `\\`${componentNameSafe}\\` is deprecated. ${reason}`);\n }\n return null;\n };\n}","import { unstable_requirePropFactory as requirePropFactory } from '@mui/utils';\nexport default requirePropFactory;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function requirePropFactory(componentNameInError, Component) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n\n // eslint-disable-next-line react/forbid-foreign-prop-types\n const prevPropTypes = Component ? _extends({}, Component.propTypes) : null;\n const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {\n const propFullNameSafe = propFullName || propName;\n const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];\n if (defaultTypeChecker) {\n const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);\n if (typeCheckerResult) {\n return typeCheckerResult;\n }\n }\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(`The prop \\`${propFullNameSafe}\\` of ` + `\\`${componentNameInError}\\` can only be used together with the \\`${requiredProp}\\` prop.`);\n }\n return null;\n };\n return requireProp;\n}","import { unstable_setRef as setRef } from '@mui/utils';\nexport default setRef;","import { unstable_unsupportedProp as unsupportedProp } from '@mui/utils';\nexport default unsupportedProp;","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","import { unstable_ClassNameGenerator as ClassNameGenerator } from '@mui/base/className';\nexport { default as capitalize } from './capitalize';\nexport { default as createChainedFunction } from './createChainedFunction';\nexport { default as createSvgIcon } from './createSvgIcon';\nexport { default as debounce } from './debounce';\nexport { default as deprecatedPropType } from './deprecatedPropType';\nexport { default as isMuiElement } from './isMuiElement';\nexport { default as ownerDocument } from './ownerDocument';\nexport { default as ownerWindow } from './ownerWindow';\nexport { default as requirePropFactory } from './requirePropFactory';\nexport { default as setRef } from './setRef';\nexport { default as unstable_useEnhancedEffect } from './useEnhancedEffect';\nexport { default as unstable_useId } from './useId';\nexport { default as unsupportedProp } from './unsupportedProp';\nexport { default as useControlled } from './useControlled';\nexport { default as useEventCallback } from './useEventCallback';\nexport { default as useForkRef } from './useForkRef';\nexport { default as useIsFocusVisible } from './useIsFocusVisible';\n// TODO: remove this export once ClassNameGenerator is stable\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const unstable_ClassNameGenerator = {\n configure: generator => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(['MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.', '', \"You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead\", '', 'The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401', '', 'The updated documentation: https://mui.com/guides/classname-generator/'].join('\\n'));\n }\n ClassNameGenerator.configure(generator);\n }\n};","import { unstable_isMuiElement as isMuiElement } from '@mui/utils';\nexport default isMuiElement;","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf(element.type.muiName) !== -1;\n}","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CopyToClipboard = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _copyToClipboard = _interopRequireDefault(require(\"copy-to-clipboard\"));\n\nvar _excluded = [\"text\", \"onCopy\", \"options\", \"children\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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 _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); Object.defineProperty(Constructor, \"prototype\", { writable: false }); 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 } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); 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; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } 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\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\nvar CopyToClipboard = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(CopyToClipboard, _React$PureComponent);\n\n var _super = _createSuper(CopyToClipboard);\n\n function CopyToClipboard() {\n var _this;\n\n _classCallCheck(this, CopyToClipboard);\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\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n var _this$props = _this.props,\n text = _this$props.text,\n onCopy = _this$props.onCopy,\n children = _this$props.children,\n options = _this$props.options;\n\n var elem = _react[\"default\"].Children.only(children);\n\n var result = (0, _copyToClipboard[\"default\"])(text, options);\n\n if (onCopy) {\n onCopy(text, result);\n } // Bypass onClick if it was present\n\n\n if (elem && elem.props && typeof elem.props.onClick === 'function') {\n elem.props.onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(CopyToClipboard, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _text = _this$props2.text,\n _onCopy = _this$props2.onCopy,\n _options = _this$props2.options,\n children = _this$props2.children,\n props = _objectWithoutProperties(_this$props2, _excluded);\n\n var elem = _react[\"default\"].Children.only(children);\n\n return /*#__PURE__*/_react[\"default\"].cloneElement(elem, _objectSpread(_objectSpread({}, props), {}, {\n onClick: this.onClick\n }));\n }\n }]);\n\n return CopyToClipboard;\n}(_react[\"default\"].PureComponent);\n\nexports.CopyToClipboard = CopyToClipboard;\n\n_defineProperty(CopyToClipboard, \"defaultProps\", {\n onCopy: undefined,\n options: undefined\n});","\"use strict\";\n\nvar _require = require('./Component'),\n CopyToClipboard = _require.CopyToClipboard;\n\nCopyToClipboard.CopyToClipboard = CopyToClipboard;\nmodule.exports = CopyToClipboard;","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"names":["_ref","value","_ref$label","label","_ref$tooltip","tooltip","_ref$mode","mode","onChange","_ref$editorHeight","editorHeight","_jsx","CodeEditor","helpTools","Fragment","children","TooltipWrapper","CopyToClipboard","text","Button","type","id","icon","CopyIcon","color","variant","inputStyles","makeStyles","theme","createStyles","_objectSpread","inputFieldStyles","InputField","props","classes","TextField","InputProps","withStyles","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","name","_ref$type","_ref$autoComplete","autoComplete","_ref$disabled","disabled","_ref$multiline","multiline","_ref$index","index","_ref$error","error","_ref$required","required","_ref$placeholder","placeholder","min","max","overlayId","_ref$overlayIcon","overlayIcon","_ref$overlayObject","overlayObject","_ref$extraInputProps","extraInputProps","_ref$noLabelMinWidth","noLabelMinWidth","_ref$pattern","pattern","_ref$autoFocus","autoFocus","_ref$className","className","onKeyPress","onFocus","onPaste","inputProps","_useState","useState","_useState2","_slicedToArray","toggleTextInput","setToggleTextInput","inputBoxWrapperIcon","inputBoxWrapperType","VisibilityOffIcon","RemoveRedEyeIcon","React","_jsxs","Grid","container","clsx","errorInField","inputBoxContainer","InputLabel","htmlFor","noMinWidthLabel","inputLabel","tooltipContainer","Tooltip","title","placement","HelpIcon","fullWidth","helperText","inputRebase","concat","IconButton","onClick","size","disableFocusRipple","disableRipple","disableTouchRipple","emptyContent","dispatch","useAppDispatch","navigate","useNavigate","_useApi","useApi","IAM_PAGES","KMS_KEYS","err","setErrorSnackMessage","_useApi2","loading","invokeApi","keyName","setKeyName","_useState3","_useState4","keyContent","setKeyContent","validSave","trim","indexOf","useEffect","setHelpName","item","xs","PageHeaderWrapper","BackLink","actions","HelpMenu","PageLayout","FormLayout","AddAccessRuleIcon","helpBox","KMSHelpBox","helpText","contents","noValidate","onSubmit","e","event","preventDefault","data","JSON","parse","importRecord","spacing","InputBoxWrapper","validateKeyName","target","CodeMirrorWrapper","textAlign","Box","sx","display","alignItems","justifyContent","marginTop","gap","HelpBox","iconComponent","HelpIconFilled","help","map","content","paddingBottom","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","Object","defineProperty","enumerable","get","_utils","createSvgIcon","FormControlContext","undefined","formControlState","states","muiFormControl","reduce","acc","state","useFormControl","_excluded","FormLabelRoot","styled","slot","overridesResolver","styles","ownerState","_extends","root","colorSecondary","filled","_ref2","_extends2","vars","palette","secondary","typography","body1","lineHeight","padding","_defineProperty","formLabelClasses","focused","main","AsteriskComponent","asterisk","_ref3","FormLabel","inProps","ref","useThemeProps","_props$component","component","other","_objectWithoutPropertiesLoose","fcs","slots","capitalize","composeClasses","getFormLabelUtilityClasses","useUtilityClasses","as","generateUtilityClass","generateUtilityClasses","getInputLabelUtilityClasses","InputLabelRoot","shouldForwardProp","prop","rootShouldForwardProp","formControl","sizeSmall","shrink","disableAnimation","animated","transformOrigin","whiteSpace","overflow","textOverflow","left","transform","transition","transitions","create","duration","shorter","easing","easeOut","zIndex","pointerEvents","userSelect","_props$disableAnimati","shrinkProp","adornedStart","composedClasses","createChainedFunction","validator","reason","componentNameInError","Component","propName","componentName","location","propFullName","unstable_ClassNameGenerator","configure","generator","ClassNameGenerator","element","muiNames","muiName","deselectCurrent","clipboardToIE11Formatting","module","options","debug","message","reselectPrevious","range","selection","mark","success","document","createRange","getSelection","createElement","textContent","ariaHidden","style","all","clip","webkitUserSelect","MozUserSelect","msUserSelect","addEventListener","stopPropagation","format","clipboardData","console","warn","window","clearData","setData","onCopy","body","appendChild","selectNodeContents","addRange","execCommand","Error","copyKey","test","navigator","userAgent","replace","prompt","removeRange","removeAllRanges","removeChild","_typeof","obj","Symbol","iterator","constructor","prototype","_react","_copyToClipboard","__esModule","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","apply","i","arguments","length","source","forEach","key","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","excluded","sourceKeys","sourceSymbolKeys","propertyIsEnumerable","call","_defineProperties","descriptor","configurable","writable","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","_isNativeReflectConstruct","result","Super","_getPrototypeOf","NewTarget","this","self","TypeError","_assertThisInitialized","_possibleConstructorReturn","ReferenceError","getPrototypeOf","_React$PureComponent","subClass","superClass","_inherits","Constructor","protoProps","staticProps","_super","_this","instance","_classCallCheck","_len","args","Array","_key","_this$props","elem","Children","only","_this$props2","cloneElement","PureComponent","rangeCount","active","activeElement","ranges","getRangeAt","tagName","toUpperCase","blur","focus"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/3138.36694643.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/KMS/ImportKey.tsx","screens/Console/KMS/KMSHelpbox.tsx","../node_modules/@mui/icons-material/RemoveRedEye.js","../node_modules/@mui/icons-material/VisibilityOff.js","../node_modules/@mui/icons-material/utils/createSvgIcon.js","../node_modules/@mui/material/FormControl/FormControlContext.js","../node_modules/@mui/material/FormControl/formControlState.js","../node_modules/@mui/material/FormControl/useFormControl.js","../node_modules/@mui/material/FormLabel/FormLabel.js","../node_modules/@mui/material/FormLabel/formLabelClasses.js","../node_modules/@mui/material/InputLabel/inputLabelClasses.js","../node_modules/@mui/material/InputLabel/InputLabel.js","../node_modules/@mui/material/utils/createChainedFunction.js","../node_modules/@mui/material/utils/deprecatedPropType.js","../node_modules/@mui/utils/esm/deprecatedPropType.js","../node_modules/@mui/material/utils/requirePropFactory.js","../node_modules/@mui/utils/esm/requirePropFactory.js","../node_modules/@mui/material/utils/setRef.js","../node_modules/@mui/material/utils/unsupportedProp.js","../node_modules/@mui/utils/esm/unsupportedProp.js","../node_modules/@mui/material/utils/index.js","../node_modules/@mui/material/utils/isMuiElement.js","../node_modules/@mui/utils/esm/isMuiElement.js","../node_modules/copy-to-clipboard/index.js","../node_modules/react-copy-to-clipboard/lib/Component.js","../node_modules/react-copy-to-clipboard/lib/index.js","../node_modules/toggle-selection/index.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.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, { Fragment } from \"react\";\nimport { Button, CodeEditor, CopyIcon } from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport TooltipWrapper from \"../../TooltipWrapper/TooltipWrapper\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n onChange: (value: string) => any;\n editorHeight?: string | number;\n}\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n onChange,\n editorHeight = 250,\n}: ICodeWrapper) => {\n return (\n onChange(value)}\n mode={mode}\n tooltip={tooltip}\n editorHeight={editorHeight}\n label={label}\n helpTools={\n \n \n \n }\n color={\"primary\"}\n variant={\"regular\"}\n />\n \n \n \n }\n />\n );\n};\n\nexport default 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, { ClipboardEvent, useState } from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { HelpIcon } from \"mds\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n onFocus?: () => void;\n onPaste?: (e: ClipboardEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n }),\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n onFocus,\n onPaste,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n const [toggleTextInput, setToggleTextInput] = useState(false);\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n let inputBoxWrapperIcon = overlayIcon;\n let inputBoxWrapperType = type;\n\n if (type === \"password\" && overlayIcon === null) {\n inputBoxWrapperIcon = toggleTextInput ? (\n \n ) : (\n \n );\n inputBoxWrapperType = toggleTextInput ? \"text\" : \"password\";\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {inputBoxWrapperIcon && (\n \n {\n overlayAction();\n }\n : () => setToggleTextInput(!toggleTextInput)\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {inputBoxWrapperIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\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 { Box } from \"@mui/material\";\n\nimport Grid from \"@mui/material/Grid\";\nimport {\n AddAccessRuleIcon,\n BackLink,\n Button,\n FormLayout,\n PageLayout,\n} from \"mds\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { setErrorSnackMessage, setHelpName } from \"../../../systemSlice\";\nimport { useNavigate } from \"react-router-dom\";\nimport { useAppDispatch } from \"../../../store\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport KMSHelpBox from \"./KMSHelpbox\";\nimport CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport HelpMenu from \"../HelpMenu\";\n\nexport const emptyContent = '{\\n \"bytes\": \"\"\\n}';\n\nconst ImportKey = () => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const onSuccess = () => navigate(`${IAM_PAGES.KMS_KEYS}`);\n\n const onError = (err: ErrorResponseHandler) =>\n dispatch(setErrorSnackMessage(err));\n\n const [loading, invokeApi] = useApi(onSuccess, onError);\n const [keyName, setKeyName] = useState(\"\");\n const [keyContent, setKeyContent] = useState(emptyContent);\n\n const importRecord = (event: React.FormEvent) => {\n event.preventDefault();\n let data = JSON.parse(keyContent);\n invokeApi(\"POST\", `/api/v1/kms/keys/${keyName}/import`, data);\n };\n\n const resetForm = () => {\n setKeyName(\"\");\n setKeyContent(\"\");\n };\n\n const validateKeyName = (keyName: string) => {\n if (keyName.indexOf(\" \") !== -1) {\n return \"Key name cannot contain spaces\";\n } else return \"\";\n };\n\n const validSave = keyName.trim() !== \"\" && keyName.indexOf(\" \") === -1;\n\n useEffect(() => {\n dispatch(setHelpName(\"import_key\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n \n navigate(IAM_PAGES.KMS_KEYS)}\n label={\"Keys\"}\n />\n }\n actions={}\n />\n \n }\n helpBox={\n \n }\n >\n ) => {\n importRecord(e);\n }}\n >\n \n \n ) => {\n setKeyName(e.target.value);\n }}\n />\n \n \n {\n setKeyContent(value);\n }}\n editorHeight={\"350px\"}\n />\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default ImportKey;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 { HelpBox, HelpIconFilled, Box } from \"mds\";\n\ninterface IKMSHelpBoxProps {\n helpText: string;\n contents: string[];\n}\n\nconst KMSHelpBox = ({ helpText, contents }: IKMSHelpBoxProps) => {\n return (\n }\n title={helpText}\n help={\n \n {contents.map((content) => (\n {content}\n ))}\n \n }\n />\n );\n};\n\nexport default KMSHelpBox;\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n}), 'RemoveRedEye');\nexports.default = _default;","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"\n}), 'VisibilityOff');\nexports.default = _default;","\"use strict\";\n'use client';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst FormControlContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== 'production') {\n FormControlContext.displayName = 'FormControlContext';\n}\nexport default FormControlContext;","export default function formControlState({\n props,\n states,\n muiFormControl\n}) {\n return states.reduce((acc, state) => {\n acc[state] = props[state];\n if (muiFormControl) {\n if (typeof props[state] === 'undefined') {\n acc[state] = muiFormControl[state];\n }\n }\n return acc;\n }, {});\n}","'use client';\n\nimport * as React from 'react';\nimport FormControlContext from './FormControlContext';\nexport default function useFormControl() {\n return React.useContext(FormControlContext);\n}","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"disabled\", \"error\", \"filled\", \"focused\", \"required\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport formLabelClasses, { getFormLabelUtilityClasses } from './formLabelClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n focused,\n disabled,\n error,\n filled,\n required\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, disabled && 'disabled', error && 'error', filled && 'filled', focused && 'focused', required && 'required'],\n asterisk: ['asterisk', error && 'error']\n };\n return composeClasses(slots, getFormLabelUtilityClasses, classes);\n};\nexport const FormLabelRoot = styled('label', {\n name: 'MuiFormLabel',\n slot: 'Root',\n overridesResolver: ({\n ownerState\n }, styles) => {\n return _extends({}, styles.root, ownerState.color === 'secondary' && styles.colorSecondary, ownerState.filled && styles.filled);\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, theme.typography.body1, {\n lineHeight: '1.4375em',\n padding: 0,\n position: 'relative',\n [`&.${formLabelClasses.focused}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${formLabelClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n },\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst AsteriskComponent = styled('span', {\n name: 'MuiFormLabel',\n slot: 'Asterisk',\n overridesResolver: (props, styles) => styles.asterisk\n})(({\n theme\n}) => ({\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst FormLabel = /*#__PURE__*/React.forwardRef(function FormLabel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormLabel'\n });\n const {\n children,\n className,\n component = 'label'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['color', 'required', 'focused', 'disabled', 'error', 'filled']\n });\n const ownerState = _extends({}, props, {\n color: fcs.color || 'primary',\n component,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(FormLabelRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: [children, fcs.required && /*#__PURE__*/_jsxs(AsteriskComponent, {\n ownerState: ownerState,\n \"aria-hidden\": true,\n className: classes.asterisk,\n children: [\"\\u2009\", '*']\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormLabel.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\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 * If `true`, the label should be displayed in a disabled state.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the label should use filled classes key.\n */\n filled: PropTypes.bool,\n /**\n * If `true`, the input of this label is focused (used by `FormGroup` components).\n */\n focused: PropTypes.bool,\n /**\n * If `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\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} : void 0;\nexport default FormLabel;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getFormLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiFormLabel', slot);\n}\nconst formLabelClasses = generateUtilityClasses('MuiFormLabel', ['root', 'colorSecondary', 'focused', 'disabled', 'error', 'filled', 'required', 'asterisk']);\nexport default formLabelClasses;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getInputLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiInputLabel', slot);\n}\nconst inputLabelClasses = generateUtilityClasses('MuiInputLabel', ['root', 'focused', 'disabled', 'error', 'required', 'asterisk', 'formControl', 'sizeSmall', 'shrink', 'animated', 'standard', 'filled', 'outlined']);\nexport default inputLabelClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"disableAnimation\", \"margin\", \"shrink\", \"variant\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport clsx from 'clsx';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport FormLabel, { formLabelClasses } from '../FormLabel';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { getInputLabelUtilityClasses } from './inputLabelClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n formControl,\n size,\n shrink,\n disableAnimation,\n variant,\n required\n } = ownerState;\n const slots = {\n root: ['root', formControl && 'formControl', !disableAnimation && 'animated', shrink && 'shrink', size === 'small' && 'sizeSmall', variant],\n asterisk: [required && 'asterisk']\n };\n const composedClasses = composeClasses(slots, getInputLabelUtilityClasses, classes);\n return _extends({}, classes, composedClasses);\n};\nconst InputLabelRoot = styled(FormLabel, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiInputLabel',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${formLabelClasses.asterisk}`]: styles.asterisk\n }, styles.root, ownerState.formControl && styles.formControl, ownerState.size === 'small' && styles.sizeSmall, ownerState.shrink && styles.shrink, !ownerState.disableAnimation && styles.animated, styles[ownerState.variant]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'block',\n transformOrigin: 'top left',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: '100%'\n}, ownerState.formControl && {\n position: 'absolute',\n left: 0,\n top: 0,\n // slight alteration to spec spacing to match visual spec result\n transform: 'translate(0, 20px) scale(1)'\n}, ownerState.size === 'small' && {\n // Compensation for the `Input.inputSizeSmall` style.\n transform: 'translate(0, 17px) scale(1)'\n}, ownerState.shrink && {\n transform: 'translate(0, -1.5px) scale(0.75)',\n transformOrigin: 'top left',\n maxWidth: '133%'\n}, !ownerState.disableAnimation && {\n transition: theme.transitions.create(['color', 'transform', 'max-width'], {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n })\n}, ownerState.variant === 'filled' && _extends({\n // Chrome's autofill feature gives the input field a yellow background.\n // Since the input field is behind the label in the HTML tree,\n // the input field is drawn last and hides the label with an opaque background color.\n // zIndex: 1 will raise the label above opaque background-colors of input.\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(12px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 13px) scale(1)'\n}, ownerState.shrink && _extends({\n userSelect: 'none',\n pointerEvents: 'auto',\n transform: 'translate(12px, 7px) scale(0.75)',\n maxWidth: 'calc(133% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 4px) scale(0.75)'\n})), ownerState.variant === 'outlined' && _extends({\n // see comment above on filled.zIndex\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(14px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(14px, 9px) scale(1)'\n}, ownerState.shrink && {\n userSelect: 'none',\n pointerEvents: 'auto',\n // Theoretically, we should have (8+5)*2/0.75 = 34px\n // but it feels a better when it bleeds a bit on the left, so 32px.\n maxWidth: 'calc(133% - 32px)',\n transform: 'translate(14px, -9px) scale(0.75)'\n})));\nconst InputLabel = /*#__PURE__*/React.forwardRef(function InputLabel(inProps, ref) {\n const props = useThemeProps({\n name: 'MuiInputLabel',\n props: inProps\n });\n const {\n disableAnimation = false,\n shrink: shrinkProp,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n let shrink = shrinkProp;\n if (typeof shrink === 'undefined' && muiFormControl) {\n shrink = muiFormControl.filled || muiFormControl.focused || muiFormControl.adornedStart;\n }\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['size', 'variant', 'required']\n });\n const ownerState = _extends({}, props, {\n disableAnimation,\n formControl: muiFormControl,\n shrink,\n size: fcs.size,\n variant: fcs.variant,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(InputLabelRoot, _extends({\n \"data-shrink\": shrink,\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? InputLabel.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the transition animation is disabled.\n * @default false\n */\n disableAnimation: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` of this label is focused.\n */\n focused: PropTypes.bool,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: PropTypes.oneOf(['dense']),\n /**\n * if `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n /**\n * If `true`, the label is shrunk.\n */\n shrink: PropTypes.bool,\n /**\n * The size of the component.\n * @default 'normal'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['normal', 'small']), PropTypes.string]),\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 * The variant to use.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputLabel;","import { unstable_createChainedFunction as createChainedFunction } from '@mui/utils';\nexport default createChainedFunction;","import { unstable_deprecatedPropType as deprecatedPropType } from '@mui/utils';\nexport default deprecatedPropType;","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return (props, propName, componentName, location, propFullName) => {\n const componentNameSafe = componentName || '<>';\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The ${location} \\`${propFullNameSafe}\\` of ` + `\\`${componentNameSafe}\\` is deprecated. ${reason}`);\n }\n return null;\n };\n}","import { unstable_requirePropFactory as requirePropFactory } from '@mui/utils';\nexport default requirePropFactory;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function requirePropFactory(componentNameInError, Component) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n\n // eslint-disable-next-line react/forbid-foreign-prop-types\n const prevPropTypes = Component ? _extends({}, Component.propTypes) : null;\n const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {\n const propFullNameSafe = propFullName || propName;\n const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];\n if (defaultTypeChecker) {\n const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);\n if (typeCheckerResult) {\n return typeCheckerResult;\n }\n }\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(`The prop \\`${propFullNameSafe}\\` of ` + `\\`${componentNameInError}\\` can only be used together with the \\`${requiredProp}\\` prop.`);\n }\n return null;\n };\n return requireProp;\n}","import { unstable_setRef as setRef } from '@mui/utils';\nexport default setRef;","import { unstable_unsupportedProp as unsupportedProp } from '@mui/utils';\nexport default unsupportedProp;","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","'use client';\n\nimport { unstable_ClassNameGenerator as ClassNameGenerator } from '@mui/base/className';\nexport { default as capitalize } from './capitalize';\nexport { default as createChainedFunction } from './createChainedFunction';\nexport { default as createSvgIcon } from './createSvgIcon';\nexport { default as debounce } from './debounce';\nexport { default as deprecatedPropType } from './deprecatedPropType';\nexport { default as isMuiElement } from './isMuiElement';\nexport { default as ownerDocument } from './ownerDocument';\nexport { default as ownerWindow } from './ownerWindow';\nexport { default as requirePropFactory } from './requirePropFactory';\nexport { default as setRef } from './setRef';\nexport { default as unstable_useEnhancedEffect } from './useEnhancedEffect';\nexport { default as unstable_useId } from './useId';\nexport { default as unsupportedProp } from './unsupportedProp';\nexport { default as useControlled } from './useControlled';\nexport { default as useEventCallback } from './useEventCallback';\nexport { default as useForkRef } from './useForkRef';\nexport { default as useIsFocusVisible } from './useIsFocusVisible';\n// TODO: remove this export once ClassNameGenerator is stable\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const unstable_ClassNameGenerator = {\n configure: generator => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(['MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.', '', \"You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead\", '', 'The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401', '', 'The updated documentation: https://mui.com/guides/classname-generator/'].join('\\n'));\n }\n ClassNameGenerator.configure(generator);\n }\n};","import { unstable_isMuiElement as isMuiElement } from '@mui/utils';\nexport default isMuiElement;","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf(element.type.muiName) !== -1;\n}","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CopyToClipboard = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _copyToClipboard = _interopRequireDefault(require(\"copy-to-clipboard\"));\n\nvar _excluded = [\"text\", \"onCopy\", \"options\", \"children\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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 _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); Object.defineProperty(Constructor, \"prototype\", { writable: false }); 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 } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); 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; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } 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\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\nvar CopyToClipboard = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(CopyToClipboard, _React$PureComponent);\n\n var _super = _createSuper(CopyToClipboard);\n\n function CopyToClipboard() {\n var _this;\n\n _classCallCheck(this, CopyToClipboard);\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\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n var _this$props = _this.props,\n text = _this$props.text,\n onCopy = _this$props.onCopy,\n children = _this$props.children,\n options = _this$props.options;\n\n var elem = _react[\"default\"].Children.only(children);\n\n var result = (0, _copyToClipboard[\"default\"])(text, options);\n\n if (onCopy) {\n onCopy(text, result);\n } // Bypass onClick if it was present\n\n\n if (elem && elem.props && typeof elem.props.onClick === 'function') {\n elem.props.onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(CopyToClipboard, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _text = _this$props2.text,\n _onCopy = _this$props2.onCopy,\n _options = _this$props2.options,\n children = _this$props2.children,\n props = _objectWithoutProperties(_this$props2, _excluded);\n\n var elem = _react[\"default\"].Children.only(children);\n\n return /*#__PURE__*/_react[\"default\"].cloneElement(elem, _objectSpread(_objectSpread({}, props), {}, {\n onClick: this.onClick\n }));\n }\n }]);\n\n return CopyToClipboard;\n}(_react[\"default\"].PureComponent);\n\nexports.CopyToClipboard = CopyToClipboard;\n\n_defineProperty(CopyToClipboard, \"defaultProps\", {\n onCopy: undefined,\n options: undefined\n});","\"use strict\";\n\nvar _require = require('./Component'),\n CopyToClipboard = _require.CopyToClipboard;\n\nCopyToClipboard.CopyToClipboard = CopyToClipboard;\nmodule.exports = CopyToClipboard;","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"names":["_ref","value","_ref$label","label","_ref$tooltip","tooltip","_ref$mode","mode","onChange","_ref$editorHeight","editorHeight","_jsx","CodeEditor","helpTools","Fragment","children","TooltipWrapper","CopyToClipboard","text","Button","type","id","icon","CopyIcon","color","variant","inputStyles","makeStyles","theme","createStyles","_objectSpread","inputFieldStyles","InputField","props","classes","TextField","InputProps","withStyles","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","name","_ref$type","_ref$autoComplete","autoComplete","_ref$disabled","disabled","_ref$multiline","multiline","_ref$index","index","_ref$error","error","_ref$required","required","_ref$placeholder","placeholder","min","max","overlayId","_ref$overlayIcon","overlayIcon","_ref$overlayObject","overlayObject","_ref$extraInputProps","extraInputProps","_ref$noLabelMinWidth","noLabelMinWidth","_ref$pattern","pattern","_ref$autoFocus","autoFocus","_ref$className","className","onKeyPress","onFocus","onPaste","inputProps","_useState","useState","_useState2","_slicedToArray","toggleTextInput","setToggleTextInput","inputBoxWrapperIcon","inputBoxWrapperType","VisibilityOffIcon","RemoveRedEyeIcon","React","_jsxs","Grid","container","clsx","errorInField","inputBoxContainer","InputLabel","htmlFor","noMinWidthLabel","inputLabel","tooltipContainer","Tooltip","title","placement","HelpIcon","fullWidth","helperText","inputRebase","concat","IconButton","onClick","size","disableFocusRipple","disableRipple","disableTouchRipple","emptyContent","dispatch","useAppDispatch","navigate","useNavigate","_useApi","useApi","IAM_PAGES","KMS_KEYS","err","setErrorSnackMessage","_useApi2","loading","invokeApi","keyName","setKeyName","_useState3","_useState4","keyContent","setKeyContent","validSave","trim","indexOf","useEffect","setHelpName","item","xs","PageHeaderWrapper","BackLink","actions","HelpMenu","PageLayout","FormLayout","AddAccessRuleIcon","helpBox","KMSHelpBox","helpText","contents","noValidate","onSubmit","e","event","preventDefault","data","JSON","parse","importRecord","spacing","InputBoxWrapper","validateKeyName","target","CodeMirrorWrapper","textAlign","Box","sx","display","alignItems","justifyContent","marginTop","gap","HelpBox","iconComponent","HelpIconFilled","help","map","content","paddingBottom","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","Object","defineProperty","enumerable","get","_utils","createSvgIcon","FormControlContext","undefined","formControlState","states","muiFormControl","reduce","acc","state","useFormControl","_excluded","FormLabelRoot","styled","slot","overridesResolver","styles","ownerState","_extends","root","colorSecondary","filled","_ref2","_extends2","vars","palette","secondary","typography","body1","lineHeight","padding","_defineProperty","formLabelClasses","focused","main","AsteriskComponent","asterisk","_ref3","FormLabel","inProps","ref","useThemeProps","_props$component","component","other","_objectWithoutPropertiesLoose","fcs","slots","capitalize","composeClasses","getFormLabelUtilityClasses","useUtilityClasses","as","generateUtilityClass","generateUtilityClasses","getInputLabelUtilityClasses","InputLabelRoot","shouldForwardProp","prop","rootShouldForwardProp","formControl","sizeSmall","shrink","disableAnimation","animated","transformOrigin","whiteSpace","overflow","textOverflow","left","transform","transition","transitions","create","duration","shorter","easing","easeOut","zIndex","pointerEvents","userSelect","_props$disableAnimati","shrinkProp","adornedStart","composedClasses","createChainedFunction","validator","reason","componentNameInError","Component","propName","componentName","location","propFullName","unstable_ClassNameGenerator","configure","generator","ClassNameGenerator","element","muiNames","muiName","deselectCurrent","clipboardToIE11Formatting","module","options","debug","message","reselectPrevious","range","selection","mark","success","document","createRange","getSelection","createElement","textContent","ariaHidden","style","all","clip","webkitUserSelect","MozUserSelect","msUserSelect","addEventListener","stopPropagation","format","clipboardData","console","warn","window","clearData","setData","onCopy","body","appendChild","selectNodeContents","addRange","execCommand","Error","copyKey","test","navigator","userAgent","replace","prompt","removeRange","removeAllRanges","removeChild","_typeof","obj","Symbol","iterator","constructor","prototype","_react","_copyToClipboard","__esModule","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","apply","i","arguments","length","source","forEach","key","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","excluded","sourceKeys","sourceSymbolKeys","propertyIsEnumerable","call","_defineProperties","descriptor","configurable","writable","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","_isNativeReflectConstruct","result","Super","_getPrototypeOf","NewTarget","this","self","TypeError","_assertThisInitialized","_possibleConstructorReturn","ReferenceError","getPrototypeOf","_React$PureComponent","subClass","superClass","_inherits","Constructor","protoProps","staticProps","_super","_this","instance","_classCallCheck","_len","args","Array","_key","_this$props","elem","Children","only","_this$props2","cloneElement","PureComponent","rangeCount","active","activeElement","ranges","getRangeAt","tagName","toUpperCase","blur","focus"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3203.d42c8f43.chunk.js b/portal-ui/build/static/js/3203.d42c8f43.chunk.js new file mode 100644 index 000000000..b247e9944 --- /dev/null +++ b/portal-ui/build/static/js/3203.d42c8f43.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3203],{89673:function(e,t,r){r.d(t,{Z:function(){return S}});var o=r(84506),n=r(29439),a=r(4942),i=r(63366),s=r(87462),c=r(72791),d=(r(57441),r(28182)),l=r(94419),u=r(66934),p=r(31402),f=r(56125),m=r(35527),h=r(27318),v=r(98278),Z=r(75878),b=r(21217);function g(e){return(0,b.Z)("MuiAccordion",e)}var x=(0,Z.Z)("MuiAccordion",["root","rounded","expanded","disabled","gutters","region"]),w=r(80184),k=["children","className","defaultExpanded","disabled","disableGutters","expanded","onChange","square","TransitionComponent","TransitionProps"],y=(0,u.ZP)(m.Z,{name:"MuiAccordion",slot:"Root",overridesResolver:function(e,t){var r=e.ownerState;return[(0,a.Z)({},"& .".concat(x.region),t.region),t.root,!r.square&&t.rounded,!r.disableGutters&&t.gutters]}})((function(e){var t,r=e.theme,o={duration:r.transitions.duration.shortest};return t={position:"relative",transition:r.transitions.create(["margin"],o),overflowAnchor:"none","&:before":{position:"absolute",left:0,top:-1,right:0,height:1,content:'""',opacity:1,backgroundColor:(r.vars||r).palette.divider,transition:r.transitions.create(["opacity","background-color"],o)},"&:first-of-type":{"&:before":{display:"none"}}},(0,a.Z)(t,"&.".concat(x.expanded),{"&:before":{opacity:0},"&:first-of-type":{marginTop:0},"&:last-of-type":{marginBottom:0},"& + &":{"&:before":{display:"none"}}}),(0,a.Z)(t,"&.".concat(x.disabled),{backgroundColor:(r.vars||r).palette.action.disabledBackground}),t}),(function(e){var t=e.theme,r=e.ownerState;return(0,s.Z)({},!r.square&&{borderRadius:0,"&:first-of-type":{borderTopLeftRadius:(t.vars||t).shape.borderRadius,borderTopRightRadius:(t.vars||t).shape.borderRadius},"&:last-of-type":{borderBottomLeftRadius:(t.vars||t).shape.borderRadius,borderBottomRightRadius:(t.vars||t).shape.borderRadius,"@supports (-ms-ime-align: auto)":{borderBottomLeftRadius:0,borderBottomRightRadius:0}}},!r.disableGutters&&(0,a.Z)({},"&.".concat(x.expanded),{margin:"16px 0"}))})),S=c.forwardRef((function(e,t){var r=(0,p.Z)({props:e,name:"MuiAccordion"}),a=r.children,u=r.className,m=r.defaultExpanded,Z=void 0!==m&&m,b=r.disabled,x=void 0!==b&&b,S=r.disableGutters,R=void 0!==S&&S,C=r.expanded,z=r.onChange,M=r.square,N=void 0!==M&&M,E=r.TransitionComponent,I=void 0===E?f.Z:E,A=r.TransitionProps,P=(0,i.Z)(r,k),q=(0,v.Z)({controlled:C,default:Z,name:"Accordion",state:"expanded"}),F=(0,n.Z)(q,2),j=F[0],B=F[1],L=c.useCallback((function(e){B(!j),z&&z(e,!j)}),[j,z,B]),T=c.Children.toArray(a),W=(0,o.Z)(T),G=W[0],D=W.slice(1),O=c.useMemo((function(){return{expanded:j,disabled:x,disableGutters:R,toggle:L}}),[j,x,R,L]),V=(0,s.Z)({},r,{square:N,disabled:x,disableGutters:R,expanded:j}),H=function(e){var t=e.classes,r={root:["root",!e.square&&"rounded",e.expanded&&"expanded",e.disabled&&"disabled",!e.disableGutters&&"gutters"],region:["region"]};return(0,l.Z)(r,g,t)}(V);return(0,w.jsxs)(y,(0,s.Z)({className:(0,d.Z)(H.root,u),ref:t,ownerState:V,square:N},P,{children:[(0,w.jsx)(h.Z.Provider,{value:O,children:G}),(0,w.jsx)(I,(0,s.Z)({in:j,timeout:"auto"},A,{children:(0,w.jsx)("div",{"aria-labelledby":G.props.id,id:G.props["aria-controls"],role:"region",className:H.region,children:D})}))]}))}))},27318:function(e,t,r){var o=r(72791).createContext({});t.Z=o},3721:function(e,t,r){r.d(t,{Z:function(){return v}});var o=r(87462),n=r(63366),a=r(72791),i=r(28182),s=r(94419),c=r(66934),d=r(31402),l=r(75878),u=r(21217);function p(e){return(0,u.Z)("MuiAccordionDetails",e)}(0,l.Z)("MuiAccordionDetails",["root"]);var f=r(80184),m=["className"],h=(0,c.ZP)("div",{name:"MuiAccordionDetails",slot:"Root",overridesResolver:function(e,t){return t.root}})((function(e){return{padding:e.theme.spacing(1,2,2)}})),v=a.forwardRef((function(e,t){var r=(0,d.Z)({props:e,name:"MuiAccordionDetails"}),a=r.className,c=(0,n.Z)(r,m),l=r,u=function(e){var t=e.classes;return(0,s.Z)({root:["root"]},p,t)}(l);return(0,f.jsx)(h,(0,o.Z)({className:(0,i.Z)(u.root,a),ref:t,ownerState:l},c))}))},55818:function(e,t,r){r.d(t,{Z:function(){return k}});var o=r(4942),n=r(63366),a=r(87462),i=r(72791),s=r(28182),c=r(94419),d=r(66934),l=r(31402),u=r(95080),p=r(27318),f=r(75878),m=r(21217);function h(e){return(0,m.Z)("MuiAccordionSummary",e)}var v=(0,f.Z)("MuiAccordionSummary",["root","expanded","focusVisible","disabled","gutters","contentGutters","content","expandIconWrapper"]),Z=r(80184),b=["children","className","expandIcon","focusVisibleClassName","onClick"],g=(0,d.ZP)(u.Z,{name:"MuiAccordionSummary",slot:"Root",overridesResolver:function(e,t){return t.root}})((function(e){var t,r=e.theme,n=e.ownerState,i={duration:r.transitions.duration.shortest};return(0,a.Z)((t={display:"flex",minHeight:48,padding:r.spacing(0,2),transition:r.transitions.create(["min-height","background-color"],i)},(0,o.Z)(t,"&.".concat(v.focusVisible),{backgroundColor:(r.vars||r).palette.action.focus}),(0,o.Z)(t,"&.".concat(v.disabled),{opacity:(r.vars||r).palette.action.disabledOpacity}),(0,o.Z)(t,"&:hover:not(.".concat(v.disabled,")"),{cursor:"pointer"}),t),!n.disableGutters&&(0,o.Z)({},"&.".concat(v.expanded),{minHeight:64}))})),x=(0,d.ZP)("div",{name:"MuiAccordionSummary",slot:"Content",overridesResolver:function(e,t){return t.content}})((function(e){var t=e.theme,r=e.ownerState;return(0,a.Z)({display:"flex",flexGrow:1,margin:"12px 0"},!r.disableGutters&&(0,o.Z)({transition:t.transitions.create(["margin"],{duration:t.transitions.duration.shortest})},"&.".concat(v.expanded),{margin:"20px 0"}))})),w=(0,d.ZP)("div",{name:"MuiAccordionSummary",slot:"ExpandIconWrapper",overridesResolver:function(e,t){return t.expandIconWrapper}})((function(e){var t=e.theme;return(0,o.Z)({display:"flex",color:(t.vars||t).palette.action.active,transform:"rotate(0deg)",transition:t.transitions.create("transform",{duration:t.transitions.duration.shortest})},"&.".concat(v.expanded),{transform:"rotate(180deg)"})})),k=i.forwardRef((function(e,t){var r=(0,l.Z)({props:e,name:"MuiAccordionSummary"}),o=r.children,d=r.className,u=r.expandIcon,f=r.focusVisibleClassName,m=r.onClick,v=(0,n.Z)(r,b),k=i.useContext(p.Z),y=k.disabled,S=void 0!==y&&y,R=k.disableGutters,C=k.expanded,z=k.toggle,M=(0,a.Z)({},r,{expanded:C,disabled:S,disableGutters:R}),N=function(e){var t=e.classes,r=e.expanded,o=e.disabled,n=e.disableGutters,a={root:["root",r&&"expanded",o&&"disabled",!n&&"gutters"],focusVisible:["focusVisible"],content:["content",r&&"expanded",!n&&"contentGutters"],expandIconWrapper:["expandIconWrapper",r&&"expanded"]};return(0,c.Z)(a,h,t)}(M);return(0,Z.jsxs)(g,(0,a.Z)({focusRipple:!1,disableRipple:!0,disabled:S,component:"div","aria-expanded":C,className:(0,s.Z)(N.root,d),focusVisibleClassName:(0,s.Z)(N.focusVisible,f),onClick:function(e){z&&z(e),m&&m(e)},ref:t,ownerState:M},v,{children:[(0,Z.jsx)(x,{className:N.content,ownerState:M,children:o}),u&&(0,Z.jsx)(w,{className:N.expandIconWrapper,ownerState:M,children:u})]}))}))},56125:function(e,t,r){r.d(t,{Z:function(){return R}});var o=r(4942),n=r(63366),a=r(87462),i=r(72791),s=r(28182),c=r(18875),d=r(94419),l=r(66934),u=r(31402),p=r(81314),f=r(4999),m=r(13967),h=r(42071),v=r(75878),Z=r(21217);function b(e){return(0,Z.Z)("MuiCollapse",e)}(0,v.Z)("MuiCollapse",["root","horizontal","vertical","entered","hidden","wrapper","wrapperInner"]);var g=r(80184),x=["addEndListener","children","className","collapsedSize","component","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","orientation","style","timeout","TransitionComponent"],w=(0,l.ZP)("div",{name:"MuiCollapse",slot:"Root",overridesResolver:function(e,t){var r=e.ownerState;return[t.root,t[r.orientation],"entered"===r.state&&t.entered,"exited"===r.state&&!r.in&&"0px"===r.collapsedSize&&t.hidden]}})((function(e){var t=e.theme,r=e.ownerState;return(0,a.Z)({height:0,overflow:"hidden",transition:t.transitions.create("height")},"horizontal"===r.orientation&&{height:"auto",width:0,transition:t.transitions.create("width")},"entered"===r.state&&(0,a.Z)({height:"auto",overflow:"visible"},"horizontal"===r.orientation&&{width:"auto"}),"exited"===r.state&&!r.in&&"0px"===r.collapsedSize&&{visibility:"hidden"})})),k=(0,l.ZP)("div",{name:"MuiCollapse",slot:"Wrapper",overridesResolver:function(e,t){return t.wrapper}})((function(e){var t=e.ownerState;return(0,a.Z)({display:"flex",width:"100%"},"horizontal"===t.orientation&&{width:"auto",height:"100%"})})),y=(0,l.ZP)("div",{name:"MuiCollapse",slot:"WrapperInner",overridesResolver:function(e,t){return t.wrapperInner}})((function(e){var t=e.ownerState;return(0,a.Z)({width:"100%"},"horizontal"===t.orientation&&{width:"auto",height:"100%"})})),S=i.forwardRef((function(e,t){var r=(0,u.Z)({props:e,name:"MuiCollapse"}),l=r.addEndListener,v=r.children,Z=r.className,S=r.collapsedSize,R=void 0===S?"0px":S,C=r.component,z=r.easing,M=r.in,N=r.onEnter,E=r.onEntered,I=r.onEntering,A=r.onExit,P=r.onExited,q=r.onExiting,F=r.orientation,j=void 0===F?"vertical":F,B=r.style,L=r.timeout,T=void 0===L?p.x9.standard:L,W=r.TransitionComponent,G=void 0===W?c.ZP:W,D=(0,n.Z)(r,x),O=(0,a.Z)({},r,{orientation:j,collapsedSize:R}),V=function(e){var t=e.orientation,r=e.classes,o={root:["root","".concat(t)],entered:["entered"],hidden:["hidden"],wrapper:["wrapper","".concat(t)],wrapperInner:["wrapperInner","".concat(t)]};return(0,d.Z)(o,b,r)}(O),H=(0,m.Z)(),_=i.useRef(),X=i.useRef(null),$=i.useRef(),J="number"===typeof R?"".concat(R,"px"):R,K="horizontal"===j,Q=K?"width":"height";i.useEffect((function(){return function(){clearTimeout(_.current)}}),[]);var U=i.useRef(null),Y=(0,h.Z)(t,U),ee=function(e){return function(t){if(e){var r=U.current;void 0===t?e(r):e(r,t)}}},te=function(){return X.current?X.current[K?"clientWidth":"clientHeight"]:0},re=ee((function(e,t){X.current&&K&&(X.current.style.position="absolute"),e.style[Q]=J,N&&N(e,t)})),oe=ee((function(e,t){var r=te();X.current&&K&&(X.current.style.position="");var o=(0,f.C)({style:B,timeout:T,easing:z},{mode:"enter"}),n=o.duration,a=o.easing;if("auto"===T){var i=H.transitions.getAutoHeightDuration(r);e.style.transitionDuration="".concat(i,"ms"),$.current=i}else e.style.transitionDuration="string"===typeof n?n:"".concat(n,"ms");e.style[Q]="".concat(r,"px"),e.style.transitionTimingFunction=a,I&&I(e,t)})),ne=ee((function(e,t){e.style[Q]="auto",E&&E(e,t)})),ae=ee((function(e){e.style[Q]="".concat(te(),"px"),A&&A(e)})),ie=ee(P),se=ee((function(e){var t=te(),r=(0,f.C)({style:B,timeout:T,easing:z},{mode:"exit"}),o=r.duration,n=r.easing;if("auto"===T){var a=H.transitions.getAutoHeightDuration(t);e.style.transitionDuration="".concat(a,"ms"),$.current=a}else e.style.transitionDuration="string"===typeof o?o:"".concat(o,"ms");e.style[Q]=J,e.style.transitionTimingFunction=n,q&&q(e)}));return(0,g.jsx)(G,(0,a.Z)({in:M,onEnter:re,onEntered:ne,onEntering:oe,onExit:ae,onExited:ie,onExiting:se,addEndListener:function(e){"auto"===T&&(_.current=setTimeout(e,$.current||0)),l&&l(U.current,e)},nodeRef:U,timeout:"auto"===T?null:T},D,{children:function(e,t){return(0,g.jsx)(w,(0,a.Z)({as:C,className:(0,s.Z)(V.root,Z,{entered:V.entered,exited:!M&&"0px"===J&&V.hidden}[e]),style:(0,a.Z)((0,o.Z)({},K?"minWidth":"minHeight",J),B),ownerState:(0,a.Z)({},O,{state:e}),ref:Y},t,{children:(0,g.jsx)(k,{ownerState:(0,a.Z)({},O,{state:e}),className:V.wrapper,ref:X,children:(0,g.jsx)(y,{ownerState:(0,a.Z)({},O,{state:e}),className:V.wrapperInner,children:v})})}))}}))}));S.muiSupportAuto=!0;var R=S},93840:function(e,t,r){var o=r(72791).createContext(void 0);t.Z=o},76147:function(e,t,r){function o(e){var t=e.props,r=e.states,o=e.muiFormControl;return r.reduce((function(e,r){return e[r]=t[r],o&&"undefined"===typeof t[r]&&(e[r]=o[r]),e}),{})}r.d(t,{Z:function(){return o}})},52930:function(e,t,r){r.d(t,{Z:function(){return a}});var o=r(72791),n=r(93840);function a(){return o.useContext(n.Z)}},17133:function(e,t,r){var o=r(4942),n=r(63366),a=r(87462),i=r(72791),s=r(28182),c=r(94419),d=r(76147),l=r(52930),u=r(14036),p=r(31402),f=r(66934),m=r(10843),h=r(80184),v=["children","className","color","component","disabled","error","filled","focused","required"],Z=(0,f.ZP)("label",{name:"MuiFormLabel",slot:"Root",overridesResolver:function(e,t){var r=e.ownerState;return(0,a.Z)({},t.root,"secondary"===r.color&&t.colorSecondary,r.filled&&t.filled)}})((function(e){var t,r=e.theme,n=e.ownerState;return(0,a.Z)({color:(r.vars||r).palette.text.secondary},r.typography.body1,(t={lineHeight:"1.4375em",padding:0,position:"relative"},(0,o.Z)(t,"&.".concat(m.Z.focused),{color:(r.vars||r).palette[n.color].main}),(0,o.Z)(t,"&.".concat(m.Z.disabled),{color:(r.vars||r).palette.text.disabled}),(0,o.Z)(t,"&.".concat(m.Z.error),{color:(r.vars||r).palette.error.main}),t))})),b=(0,f.ZP)("span",{name:"MuiFormLabel",slot:"Asterisk",overridesResolver:function(e,t){return t.asterisk}})((function(e){var t=e.theme;return(0,o.Z)({},"&.".concat(m.Z.error),{color:(t.vars||t).palette.error.main})})),g=i.forwardRef((function(e,t){var r=(0,p.Z)({props:e,name:"MuiFormLabel"}),o=r.children,i=r.className,f=r.component,g=void 0===f?"label":f,x=(0,n.Z)(r,v),w=(0,l.Z)(),k=(0,d.Z)({props:r,muiFormControl:w,states:["color","required","focused","disabled","error","filled"]}),y=(0,a.Z)({},r,{color:k.color||"primary",component:g,disabled:k.disabled,error:k.error,filled:k.filled,focused:k.focused,required:k.required}),S=function(e){var t=e.classes,r=e.color,o=e.focused,n=e.disabled,a=e.error,i=e.filled,s=e.required,d={root:["root","color".concat((0,u.Z)(r)),n&&"disabled",a&&"error",i&&"filled",o&&"focused",s&&"required"],asterisk:["asterisk",a&&"error"]};return(0,c.Z)(d,m.M,t)}(y);return(0,h.jsxs)(Z,(0,a.Z)({as:g,ownerState:y,className:(0,s.Z)(S.root,i),ref:t},x,{children:[o,k.required&&(0,h.jsxs)(b,{ownerState:y,"aria-hidden":!0,className:S.asterisk,children:["\u2009","*"]})]}))}));t.Z=g},10843:function(e,t,r){r.d(t,{M:function(){return a}});var o=r(75878),n=r(21217);function a(e){return(0,n.Z)("MuiFormLabel",e)}var i=(0,o.Z)("MuiFormLabel",["root","colorSecondary","focused","disabled","error","filled","required","asterisk"]);t.Z=i},30829:function(e,t,r){r.d(t,{Z:function(){return w}});var o=r(4942),n=r(63366),a=r(87462),i=r(72791),s=r(94419),c=r(28182),d=r(76147),l=r(52930),u=r(17133),p=r(10843),f=r(31402),m=r(66934),h=r(75878),v=r(21217);function Z(e){return(0,v.Z)("MuiInputLabel",e)}(0,h.Z)("MuiInputLabel",["root","focused","disabled","error","required","asterisk","formControl","sizeSmall","shrink","animated","standard","filled","outlined"]);var b=r(80184),g=["disableAnimation","margin","shrink","variant","className"],x=(0,m.ZP)(u.Z,{shouldForwardProp:function(e){return(0,m.FO)(e)||"classes"===e},name:"MuiInputLabel",slot:"Root",overridesResolver:function(e,t){var r=e.ownerState;return[(0,o.Z)({},"& .".concat(p.Z.asterisk),t.asterisk),t.root,r.formControl&&t.formControl,"small"===r.size&&t.sizeSmall,r.shrink&&t.shrink,!r.disableAnimation&&t.animated,t[r.variant]]}})((function(e){var t=e.theme,r=e.ownerState;return(0,a.Z)({display:"block",transformOrigin:"top left",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"100%"},r.formControl&&{position:"absolute",left:0,top:0,transform:"translate(0, 20px) scale(1)"},"small"===r.size&&{transform:"translate(0, 17px) scale(1)"},r.shrink&&{transform:"translate(0, -1.5px) scale(0.75)",transformOrigin:"top left",maxWidth:"133%"},!r.disableAnimation&&{transition:t.transitions.create(["color","transform","max-width"],{duration:t.transitions.duration.shorter,easing:t.transitions.easing.easeOut})},"filled"===r.variant&&(0,a.Z)({zIndex:1,pointerEvents:"none",transform:"translate(12px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},"small"===r.size&&{transform:"translate(12px, 13px) scale(1)"},r.shrink&&(0,a.Z)({userSelect:"none",pointerEvents:"auto",transform:"translate(12px, 7px) scale(0.75)",maxWidth:"calc(133% - 24px)"},"small"===r.size&&{transform:"translate(12px, 4px) scale(0.75)"})),"outlined"===r.variant&&(0,a.Z)({zIndex:1,pointerEvents:"none",transform:"translate(14px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},"small"===r.size&&{transform:"translate(14px, 9px) scale(1)"},r.shrink&&{userSelect:"none",pointerEvents:"auto",maxWidth:"calc(133% - 32px)",transform:"translate(14px, -9px) scale(0.75)"}))})),w=i.forwardRef((function(e,t){var r=(0,f.Z)({name:"MuiInputLabel",props:e}),o=r.disableAnimation,i=void 0!==o&&o,u=r.shrink,p=r.className,m=(0,n.Z)(r,g),h=(0,l.Z)(),v=u;"undefined"===typeof v&&h&&(v=h.filled||h.focused||h.adornedStart);var w=(0,d.Z)({props:r,muiFormControl:h,states:["size","variant","required"]}),k=(0,a.Z)({},r,{disableAnimation:i,formControl:h,shrink:v,size:w.size,variant:w.variant,required:w.required}),y=function(e){var t=e.classes,r=e.formControl,o=e.size,n=e.shrink,i={root:["root",r&&"formControl",!e.disableAnimation&&"animated",n&&"shrink","small"===o&&"sizeSmall",e.variant],asterisk:[e.required&&"asterisk"]},c=(0,s.Z)(i,Z,t);return(0,a.Z)({},t,c)}(k);return(0,b.jsx)(x,(0,a.Z)({"data-shrink":v,ownerState:k,ref:t,className:(0,c.Z)(y.root,p)},m,{classes:y}))}))},9955:function(e,t,r){r.d(t,{Z:function(){return S}});var o=r(4942),n=r(63366),a=r(87462),i=r(72791),s=r(28182),c=r(94419),d=r(12065),l=r(14036),u=r(97278),p=r(31402),f=r(66934),m=r(75878),h=r(21217);function v(e){return(0,h.Z)("MuiSwitch",e)}var Z=(0,m.Z)("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),b=r(80184),g=["className","color","edge","size","sx"],x=(0,f.ZP)("span",{name:"MuiSwitch",slot:"Root",overridesResolver:function(e,t){var r=e.ownerState;return[t.root,r.edge&&t["edge".concat((0,l.Z)(r.edge))],t["size".concat((0,l.Z)(r.size))]]}})((function(e){var t,r=e.ownerState;return(0,a.Z)({display:"inline-flex",width:58,height:38,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"}},"start"===r.edge&&{marginLeft:-8},"end"===r.edge&&{marginRight:-8},"small"===r.size&&(t={width:40,height:24,padding:7},(0,o.Z)(t,"& .".concat(Z.thumb),{width:16,height:16}),(0,o.Z)(t,"& .".concat(Z.switchBase),(0,o.Z)({padding:4},"&.".concat(Z.checked),{transform:"translateX(16px)"})),t))})),w=(0,f.ZP)(u.Z,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:function(e,t){var r=e.ownerState;return[t.switchBase,(0,o.Z)({},"& .".concat(Z.input),t.input),"default"!==r.color&&t["color".concat((0,l.Z)(r.color))]]}})((function(e){var t,r=e.theme;return t={position:"absolute",top:0,left:0,zIndex:1,color:r.vars?r.vars.palette.Switch.defaultColor:"".concat("light"===r.palette.mode?r.palette.common.white:r.palette.grey[300]),transition:r.transitions.create(["left","transform"],{duration:r.transitions.duration.shortest})},(0,o.Z)(t,"&.".concat(Z.checked),{transform:"translateX(20px)"}),(0,o.Z)(t,"&.".concat(Z.disabled),{color:r.vars?r.vars.palette.Switch.defaultDisabledColor:"".concat("light"===r.palette.mode?r.palette.grey[100]:r.palette.grey[600])}),(0,o.Z)(t,"&.".concat(Z.checked," + .").concat(Z.track),{opacity:.5}),(0,o.Z)(t,"&.".concat(Z.disabled," + .").concat(Z.track),{opacity:r.vars?r.vars.opacity.switchTrackDisabled:"".concat("light"===r.palette.mode?.12:.2)}),(0,o.Z)(t,"& .".concat(Z.input),{left:"-100%",width:"300%"}),t}),(function(e){var t,r=e.theme,n=e.ownerState;return(0,a.Z)({"&:hover":{backgroundColor:r.vars?"rgba(".concat(r.vars.palette.action.activeChannel," / ").concat(r.vars.palette.action.hoverOpacity,")"):(0,d.Fq)(r.palette.action.active,r.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==n.color&&(t={},(0,o.Z)(t,"&.".concat(Z.checked),(0,o.Z)({color:(r.vars||r).palette[n.color].main,"&:hover":{backgroundColor:r.vars?"rgba(".concat(r.vars.palette[n.color].mainChannel," / ").concat(r.vars.palette.action.hoverOpacity,")"):(0,d.Fq)(r.palette[n.color].main,r.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"&.".concat(Z.disabled),{color:r.vars?r.vars.palette.Switch["".concat(n.color,"DisabledColor")]:"".concat("light"===r.palette.mode?(0,d.$n)(r.palette[n.color].main,.62):(0,d._j)(r.palette[n.color].main,.55))})),(0,o.Z)(t,"&.".concat(Z.checked," + .").concat(Z.track),{backgroundColor:(r.vars||r).palette[n.color].main}),t))})),k=(0,f.ZP)("span",{name:"MuiSwitch",slot:"Track",overridesResolver:function(e,t){return t.track}})((function(e){var t=e.theme;return{height:"100%",width:"100%",borderRadius:7,zIndex:-1,transition:t.transitions.create(["opacity","background-color"],{duration:t.transitions.duration.shortest}),backgroundColor:t.vars?t.vars.palette.common.onBackground:"".concat("light"===t.palette.mode?t.palette.common.black:t.palette.common.white),opacity:t.vars?t.vars.opacity.switchTrack:"".concat("light"===t.palette.mode?.38:.3)}})),y=(0,f.ZP)("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:function(e,t){return t.thumb}})((function(e){var t=e.theme;return{boxShadow:(t.vars||t).shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}})),S=i.forwardRef((function(e,t){var r=(0,p.Z)({props:e,name:"MuiSwitch"}),o=r.className,i=r.color,d=void 0===i?"primary":i,u=r.edge,f=void 0!==u&&u,m=r.size,h=void 0===m?"medium":m,Z=r.sx,S=(0,n.Z)(r,g),R=(0,a.Z)({},r,{color:d,edge:f,size:h}),C=function(e){var t=e.classes,r=e.edge,o=e.size,n=e.color,i=e.checked,s=e.disabled,d={root:["root",r&&"edge".concat((0,l.Z)(r)),"size".concat((0,l.Z)(o))],switchBase:["switchBase","color".concat((0,l.Z)(n)),i&&"checked",s&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},u=(0,c.Z)(d,v,t);return(0,a.Z)({},t,u)}(R),z=(0,b.jsx)(y,{className:C.thumb,ownerState:R});return(0,b.jsxs)(x,{className:(0,s.Z)(C.root,o),sx:Z,ownerState:R,children:[(0,b.jsx)(w,(0,a.Z)({type:"checkbox",icon:z,checkedIcon:z,ref:t,ownerState:R},S,{classes:(0,a.Z)({},C,{root:C.switchBase})})),(0,b.jsx)(k,{className:C.track,ownerState:R})]})}))},97278:function(e,t,r){r.d(t,{Z:function(){return w}});var o=r(29439),n=r(63366),a=r(87462),i=r(72791),s=r(28182),c=r(94419),d=r(14036),l=r(66934),u=r(98278),p=r(52930),f=r(95080),m=r(75878),h=r(21217);function v(e){return(0,h.Z)("PrivateSwitchBase",e)}(0,m.Z)("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);var Z=r(80184),b=["autoFocus","checked","checkedIcon","className","defaultChecked","disabled","disableFocusRipple","edge","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"],g=(0,l.ZP)(f.Z)((function(e){var t=e.ownerState;return(0,a.Z)({padding:9,borderRadius:"50%"},"start"===t.edge&&{marginLeft:"small"===t.size?-3:-12},"end"===t.edge&&{marginRight:"small"===t.size?-3:-12})})),x=(0,l.ZP)("input")({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),w=i.forwardRef((function(e,t){var r=e.autoFocus,i=e.checked,l=e.checkedIcon,f=e.className,m=e.defaultChecked,h=e.disabled,w=e.disableFocusRipple,k=void 0!==w&&w,y=e.edge,S=void 0!==y&&y,R=e.icon,C=e.id,z=e.inputProps,M=e.inputRef,N=e.name,E=e.onBlur,I=e.onChange,A=e.onFocus,P=e.readOnly,q=e.required,F=void 0!==q&&q,j=e.tabIndex,B=e.type,L=e.value,T=(0,n.Z)(e,b),W=(0,u.Z)({controlled:i,default:Boolean(m),name:"SwitchBase",state:"checked"}),G=(0,o.Z)(W,2),D=G[0],O=G[1],V=(0,p.Z)(),H=h;V&&"undefined"===typeof H&&(H=V.disabled);var _="checkbox"===B||"radio"===B,X=(0,a.Z)({},e,{checked:D,disabled:H,disableFocusRipple:k,edge:S}),$=function(e){var t=e.classes,r=e.checked,o=e.disabled,n=e.edge,a={root:["root",r&&"checked",o&&"disabled",n&&"edge".concat((0,d.Z)(n))],input:["input"]};return(0,c.Z)(a,v,t)}(X);return(0,Z.jsxs)(g,(0,a.Z)({component:"span",className:(0,s.Z)($.root,f),centerRipple:!0,focusRipple:!k,disabled:H,tabIndex:null,role:void 0,onFocus:function(e){A&&A(e),V&&V.onFocus&&V.onFocus(e)},onBlur:function(e){E&&E(e),V&&V.onBlur&&V.onBlur(e)},ownerState:X,ref:t},T,{children:[(0,Z.jsx)(x,(0,a.Z)({autoFocus:r,checked:i,defaultChecked:m,className:$.input,disabled:H,id:_?C:void 0,name:N,onChange:function(e){if(!e.nativeEvent.defaultPrevented){var t=e.target.checked;O(t),I&&I(e,t)}},readOnly:P,ref:M,required:F,ownerState:X,tabIndex:j,type:B},"checkbox"===B&&void 0===L?{}:{value:L},z)),D?l:R]}))}))}}]); +//# sourceMappingURL=3203.d42c8f43.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3203.d42c8f43.chunk.js.map b/portal-ui/build/static/js/3203.d42c8f43.chunk.js.map new file mode 100644 index 000000000..0b257b39e --- /dev/null +++ b/portal-ui/build/static/js/3203.d42c8f43.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3203.d42c8f43.chunk.js","mappings":"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","sources":["../node_modules/@mui/material/Accordion/accordionClasses.js","../node_modules/@mui/material/Accordion/Accordion.js","../node_modules/@mui/material/Accordion/AccordionContext.js","../node_modules/@mui/material/AccordionDetails/accordionDetailsClasses.js","../node_modules/@mui/material/AccordionDetails/AccordionDetails.js","../node_modules/@mui/material/AccordionSummary/accordionSummaryClasses.js","../node_modules/@mui/material/AccordionSummary/AccordionSummary.js","../node_modules/@mui/material/Collapse/collapseClasses.js","../node_modules/@mui/material/Collapse/Collapse.js","../node_modules/@mui/material/FormControl/FormControlContext.js","../node_modules/@mui/material/FormControl/formControlState.js","../node_modules/@mui/material/FormControl/useFormControl.js","../node_modules/@mui/material/FormLabel/FormLabel.js","../node_modules/@mui/material/FormLabel/formLabelClasses.js","../node_modules/@mui/material/InputLabel/inputLabelClasses.js","../node_modules/@mui/material/InputLabel/InputLabel.js","../node_modules/@mui/material/Switch/switchClasses.js","../node_modules/@mui/material/Switch/Switch.js","../node_modules/@mui/material/internal/switchBaseClasses.js","../node_modules/@mui/material/internal/SwitchBase.js"],"sourcesContent":["import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getAccordionUtilityClass(slot) {\n return generateUtilityClass('MuiAccordion', slot);\n}\nconst accordionClasses = generateUtilityClasses('MuiAccordion', ['root', 'rounded', 'expanded', 'disabled', 'gutters', 'region']);\nexport default accordionClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"defaultExpanded\", \"disabled\", \"disableGutters\", \"expanded\", \"onChange\", \"square\", \"TransitionComponent\", \"TransitionProps\"];\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { chainPropTypes } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Collapse from '../Collapse';\nimport Paper from '../Paper';\nimport AccordionContext from './AccordionContext';\nimport useControlled from '../utils/useControlled';\nimport accordionClasses, { getAccordionUtilityClass } from './accordionClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n square,\n expanded,\n disabled,\n disableGutters\n } = ownerState;\n const slots = {\n root: ['root', !square && 'rounded', expanded && 'expanded', disabled && 'disabled', !disableGutters && 'gutters'],\n region: ['region']\n };\n return composeClasses(slots, getAccordionUtilityClass, classes);\n};\nconst AccordionRoot = styled(Paper, {\n name: 'MuiAccordion',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${accordionClasses.region}`]: styles.region\n }, styles.root, !ownerState.square && styles.rounded, !ownerState.disableGutters && styles.gutters];\n }\n})(({\n theme\n}) => {\n const transition = {\n duration: theme.transitions.duration.shortest\n };\n return {\n position: 'relative',\n transition: theme.transitions.create(['margin'], transition),\n overflowAnchor: 'none',\n // Keep the same scrolling position\n '&:before': {\n position: 'absolute',\n left: 0,\n top: -1,\n right: 0,\n height: 1,\n content: '\"\"',\n opacity: 1,\n backgroundColor: (theme.vars || theme).palette.divider,\n transition: theme.transitions.create(['opacity', 'background-color'], transition)\n },\n '&:first-of-type': {\n '&:before': {\n display: 'none'\n }\n },\n [`&.${accordionClasses.expanded}`]: {\n '&:before': {\n opacity: 0\n },\n '&:first-of-type': {\n marginTop: 0\n },\n '&:last-of-type': {\n marginBottom: 0\n },\n '& + &': {\n '&:before': {\n display: 'none'\n }\n }\n },\n [`&.${accordionClasses.disabled}`]: {\n backgroundColor: (theme.vars || theme).palette.action.disabledBackground\n }\n };\n}, ({\n theme,\n ownerState\n}) => _extends({}, !ownerState.square && {\n borderRadius: 0,\n '&:first-of-type': {\n borderTopLeftRadius: (theme.vars || theme).shape.borderRadius,\n borderTopRightRadius: (theme.vars || theme).shape.borderRadius\n },\n '&:last-of-type': {\n borderBottomLeftRadius: (theme.vars || theme).shape.borderRadius,\n borderBottomRightRadius: (theme.vars || theme).shape.borderRadius,\n // Fix a rendering issue on Edge\n '@supports (-ms-ime-align: auto)': {\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0\n }\n }\n}, !ownerState.disableGutters && {\n [`&.${accordionClasses.expanded}`]: {\n margin: '16px 0'\n }\n}));\nconst Accordion = /*#__PURE__*/React.forwardRef(function Accordion(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiAccordion'\n });\n const {\n children: childrenProp,\n className,\n defaultExpanded = false,\n disabled = false,\n disableGutters = false,\n expanded: expandedProp,\n onChange,\n square = false,\n TransitionComponent = Collapse,\n TransitionProps\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const [expanded, setExpandedState] = useControlled({\n controlled: expandedProp,\n default: defaultExpanded,\n name: 'Accordion',\n state: 'expanded'\n });\n const handleChange = React.useCallback(event => {\n setExpandedState(!expanded);\n if (onChange) {\n onChange(event, !expanded);\n }\n }, [expanded, onChange, setExpandedState]);\n const [summary, ...children] = React.Children.toArray(childrenProp);\n const contextValue = React.useMemo(() => ({\n expanded,\n disabled,\n disableGutters,\n toggle: handleChange\n }), [expanded, disabled, disableGutters, handleChange]);\n const ownerState = _extends({}, props, {\n square,\n disabled,\n disableGutters,\n expanded\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(AccordionRoot, _extends({\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState,\n square: square\n }, other, {\n children: [/*#__PURE__*/_jsx(AccordionContext.Provider, {\n value: contextValue,\n children: summary\n }), /*#__PURE__*/_jsx(TransitionComponent, _extends({\n in: expanded,\n timeout: \"auto\"\n }, TransitionProps, {\n children: /*#__PURE__*/_jsx(\"div\", {\n \"aria-labelledby\": summary.props.id,\n id: summary.props['aria-controls'],\n role: \"region\",\n className: classes.region,\n children: children\n })\n }))]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Accordion.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: chainPropTypes(PropTypes.node.isRequired, props => {\n const summary = React.Children.toArray(props.children)[0];\n if (isFragment(summary)) {\n return new Error(\"MUI: The Accordion doesn't accept a Fragment as a child. \" + 'Consider providing an array instead.');\n }\n if (! /*#__PURE__*/React.isValidElement(summary)) {\n return new Error('MUI: Expected the first child of Accordion to be a valid element.');\n }\n return null;\n }),\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, expands the accordion by default.\n * @default false\n */\n defaultExpanded: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, it removes the margin between two expanded accordion items and the increase of height.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * If `true`, expands the accordion, otherwise collapse it.\n * Setting this prop enables control over the accordion.\n */\n expanded: PropTypes.bool,\n /**\n * Callback fired when the expand/collapse state is changed.\n *\n * @param {React.SyntheticEvent} event The event source of the callback. **Warning**: This is a generic event not a change event.\n * @param {boolean} expanded The `expanded` state of the accordion.\n */\n onChange: PropTypes.func,\n /**\n * If `true`, rounded corners are disabled.\n * @default false\n */\n square: PropTypes.bool,\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 * The component used for the transition.\n * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @default Collapse\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](http://reactcommunity.org/react-transition-group/transition/) component.\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default Accordion;","'use client';\n\nimport * as React from 'react';\n\n/**\n * @ignore - internal component.\n * @type {React.Context<{} | {expanded: boolean, disabled: boolean, toggle: () => void}>}\n */\nconst AccordionContext = /*#__PURE__*/React.createContext({});\nif (process.env.NODE_ENV !== 'production') {\n AccordionContext.displayName = 'AccordionContext';\n}\nexport default AccordionContext;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getAccordionDetailsUtilityClass(slot) {\n return generateUtilityClass('MuiAccordionDetails', slot);\n}\nconst accordionDetailsClasses = generateUtilityClasses('MuiAccordionDetails', ['root']);\nexport default accordionDetailsClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getAccordionDetailsUtilityClass } from './accordionDetailsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getAccordionDetailsUtilityClass, classes);\n};\nconst AccordionDetailsRoot = styled('div', {\n name: 'MuiAccordionDetails',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(1, 2, 2)\n}));\nconst AccordionDetails = /*#__PURE__*/React.forwardRef(function AccordionDetails(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiAccordionDetails'\n });\n const {\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(AccordionDetailsRoot, _extends({\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? AccordionDetails.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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} : void 0;\nexport default AccordionDetails;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getAccordionSummaryUtilityClass(slot) {\n return generateUtilityClass('MuiAccordionSummary', slot);\n}\nconst accordionSummaryClasses = generateUtilityClasses('MuiAccordionSummary', ['root', 'expanded', 'focusVisible', 'disabled', 'gutters', 'contentGutters', 'content', 'expandIconWrapper']);\nexport default accordionSummaryClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"expandIcon\", \"focusVisibleClassName\", \"onClick\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ButtonBase from '../ButtonBase';\nimport AccordionContext from '../Accordion/AccordionContext';\nimport accordionSummaryClasses, { getAccordionSummaryUtilityClass } from './accordionSummaryClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n expanded,\n disabled,\n disableGutters\n } = ownerState;\n const slots = {\n root: ['root', expanded && 'expanded', disabled && 'disabled', !disableGutters && 'gutters'],\n focusVisible: ['focusVisible'],\n content: ['content', expanded && 'expanded', !disableGutters && 'contentGutters'],\n expandIconWrapper: ['expandIconWrapper', expanded && 'expanded']\n };\n return composeClasses(slots, getAccordionSummaryUtilityClass, classes);\n};\nconst AccordionSummaryRoot = styled(ButtonBase, {\n name: 'MuiAccordionSummary',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme,\n ownerState\n}) => {\n const transition = {\n duration: theme.transitions.duration.shortest\n };\n return _extends({\n display: 'flex',\n minHeight: 48,\n padding: theme.spacing(0, 2),\n transition: theme.transitions.create(['min-height', 'background-color'], transition),\n [`&.${accordionSummaryClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`&.${accordionSummaryClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n },\n [`&:hover:not(.${accordionSummaryClasses.disabled})`]: {\n cursor: 'pointer'\n }\n }, !ownerState.disableGutters && {\n [`&.${accordionSummaryClasses.expanded}`]: {\n minHeight: 64\n }\n });\n});\nconst AccordionSummaryContent = styled('div', {\n name: 'MuiAccordionSummary',\n slot: 'Content',\n overridesResolver: (props, styles) => styles.content\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n flexGrow: 1,\n margin: '12px 0'\n}, !ownerState.disableGutters && {\n transition: theme.transitions.create(['margin'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${accordionSummaryClasses.expanded}`]: {\n margin: '20px 0'\n }\n}));\nconst AccordionSummaryExpandIconWrapper = styled('div', {\n name: 'MuiAccordionSummary',\n slot: 'ExpandIconWrapper',\n overridesResolver: (props, styles) => styles.expandIconWrapper\n})(({\n theme\n}) => ({\n display: 'flex',\n color: (theme.vars || theme).palette.action.active,\n transform: 'rotate(0deg)',\n transition: theme.transitions.create('transform', {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${accordionSummaryClasses.expanded}`]: {\n transform: 'rotate(180deg)'\n }\n}));\nconst AccordionSummary = /*#__PURE__*/React.forwardRef(function AccordionSummary(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiAccordionSummary'\n });\n const {\n children,\n className,\n expandIcon,\n focusVisibleClassName,\n onClick\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n disabled = false,\n disableGutters,\n expanded,\n toggle\n } = React.useContext(AccordionContext);\n const handleChange = event => {\n if (toggle) {\n toggle(event);\n }\n if (onClick) {\n onClick(event);\n }\n };\n const ownerState = _extends({}, props, {\n expanded,\n disabled,\n disableGutters\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(AccordionSummaryRoot, _extends({\n focusRipple: false,\n disableRipple: true,\n disabled: disabled,\n component: \"div\",\n \"aria-expanded\": expanded,\n className: clsx(classes.root, className),\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),\n onClick: handleChange,\n ref: ref,\n ownerState: ownerState\n }, other, {\n children: [/*#__PURE__*/_jsx(AccordionSummaryContent, {\n className: classes.content,\n ownerState: ownerState,\n children: children\n }), expandIcon && /*#__PURE__*/_jsx(AccordionSummaryExpandIconWrapper, {\n className: classes.expandIconWrapper,\n ownerState: ownerState,\n children: expandIcon\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? AccordionSummary.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The icon to display as the expand indicator.\n */\n expandIcon: PropTypes.node,\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\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} : void 0;\nexport default AccordionSummary;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getCollapseUtilityClass(slot) {\n return generateUtilityClass('MuiCollapse', slot);\n}\nconst collapseClasses = generateUtilityClasses('MuiCollapse', ['root', 'horizontal', 'vertical', 'entered', 'hidden', 'wrapper', 'wrapperInner']);\nexport default collapseClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"addEndListener\", \"children\", \"className\", \"collapsedSize\", \"component\", \"easing\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"orientation\", \"style\", \"timeout\", \"TransitionComponent\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport { elementTypeAcceptingRef } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { duration } from '../styles/createTransitions';\nimport { getTransitionProps } from '../transitions/utils';\nimport useTheme from '../styles/useTheme';\nimport { useForkRef } from '../utils';\nimport { getCollapseUtilityClass } from './collapseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n orientation,\n classes\n } = ownerState;\n const slots = {\n root: ['root', `${orientation}`],\n entered: ['entered'],\n hidden: ['hidden'],\n wrapper: ['wrapper', `${orientation}`],\n wrapperInner: ['wrapperInner', `${orientation}`]\n };\n return composeClasses(slots, getCollapseUtilityClass, classes);\n};\nconst CollapseRoot = styled('div', {\n name: 'MuiCollapse',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.orientation], ownerState.state === 'entered' && styles.entered, ownerState.state === 'exited' && !ownerState.in && ownerState.collapsedSize === '0px' && styles.hidden];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n height: 0,\n overflow: 'hidden',\n transition: theme.transitions.create('height')\n}, ownerState.orientation === 'horizontal' && {\n height: 'auto',\n width: 0,\n transition: theme.transitions.create('width')\n}, ownerState.state === 'entered' && _extends({\n height: 'auto',\n overflow: 'visible'\n}, ownerState.orientation === 'horizontal' && {\n width: 'auto'\n}), ownerState.state === 'exited' && !ownerState.in && ownerState.collapsedSize === '0px' && {\n visibility: 'hidden'\n}));\nconst CollapseWrapper = styled('div', {\n name: 'MuiCollapse',\n slot: 'Wrapper',\n overridesResolver: (props, styles) => styles.wrapper\n})(({\n ownerState\n}) => _extends({\n // Hack to get children with a negative margin to not falsify the height computation.\n display: 'flex',\n width: '100%'\n}, ownerState.orientation === 'horizontal' && {\n width: 'auto',\n height: '100%'\n}));\nconst CollapseWrapperInner = styled('div', {\n name: 'MuiCollapse',\n slot: 'WrapperInner',\n overridesResolver: (props, styles) => styles.wrapperInner\n})(({\n ownerState\n}) => _extends({\n width: '100%'\n}, ownerState.orientation === 'horizontal' && {\n width: 'auto',\n height: '100%'\n}));\n\n/**\n * The Collapse transition is used by the\n * [Vertical Stepper](/material-ui/react-stepper/#vertical-stepper) StepContent component.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\nconst Collapse = /*#__PURE__*/React.forwardRef(function Collapse(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCollapse'\n });\n const {\n addEndListener,\n children,\n className,\n collapsedSize: collapsedSizeProp = '0px',\n component,\n easing,\n in: inProp,\n onEnter,\n onEntered,\n onEntering,\n onExit,\n onExited,\n onExiting,\n orientation = 'vertical',\n style,\n timeout = duration.standard,\n // eslint-disable-next-line react/prop-types\n TransitionComponent = Transition\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n orientation,\n collapsedSize: collapsedSizeProp\n });\n const classes = useUtilityClasses(ownerState);\n const theme = useTheme();\n const timer = React.useRef();\n const wrapperRef = React.useRef(null);\n const autoTransitionDuration = React.useRef();\n const collapsedSize = typeof collapsedSizeProp === 'number' ? `${collapsedSizeProp}px` : collapsedSizeProp;\n const isHorizontal = orientation === 'horizontal';\n const size = isHorizontal ? 'width' : 'height';\n React.useEffect(() => {\n return () => {\n clearTimeout(timer.current);\n };\n }, []);\n const nodeRef = React.useRef(null);\n const handleRef = useForkRef(ref, nodeRef);\n const normalizedTransitionCallback = callback => maybeIsAppearing => {\n if (callback) {\n const node = nodeRef.current;\n\n // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n if (maybeIsAppearing === undefined) {\n callback(node);\n } else {\n callback(node, maybeIsAppearing);\n }\n }\n };\n const getWrapperSize = () => wrapperRef.current ? wrapperRef.current[isHorizontal ? 'clientWidth' : 'clientHeight'] : 0;\n const handleEnter = normalizedTransitionCallback((node, isAppearing) => {\n if (wrapperRef.current && isHorizontal) {\n // Set absolute position to get the size of collapsed content\n wrapperRef.current.style.position = 'absolute';\n }\n node.style[size] = collapsedSize;\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n });\n const handleEntering = normalizedTransitionCallback((node, isAppearing) => {\n const wrapperSize = getWrapperSize();\n if (wrapperRef.current && isHorizontal) {\n // After the size is read reset the position back to default\n wrapperRef.current.style.position = '';\n }\n const {\n duration: transitionDuration,\n easing: transitionTimingFunction\n } = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'enter'\n });\n if (timeout === 'auto') {\n const duration2 = theme.transitions.getAutoHeightDuration(wrapperSize);\n node.style.transitionDuration = `${duration2}ms`;\n autoTransitionDuration.current = duration2;\n } else {\n node.style.transitionDuration = typeof transitionDuration === 'string' ? transitionDuration : `${transitionDuration}ms`;\n }\n node.style[size] = `${wrapperSize}px`;\n node.style.transitionTimingFunction = transitionTimingFunction;\n if (onEntering) {\n onEntering(node, isAppearing);\n }\n });\n const handleEntered = normalizedTransitionCallback((node, isAppearing) => {\n node.style[size] = 'auto';\n if (onEntered) {\n onEntered(node, isAppearing);\n }\n });\n const handleExit = normalizedTransitionCallback(node => {\n node.style[size] = `${getWrapperSize()}px`;\n if (onExit) {\n onExit(node);\n }\n });\n const handleExited = normalizedTransitionCallback(onExited);\n const handleExiting = normalizedTransitionCallback(node => {\n const wrapperSize = getWrapperSize();\n const {\n duration: transitionDuration,\n easing: transitionTimingFunction\n } = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'exit'\n });\n if (timeout === 'auto') {\n // TODO: rename getAutoHeightDuration to something more generic (width support)\n // Actually it just calculates animation duration based on size\n const duration2 = theme.transitions.getAutoHeightDuration(wrapperSize);\n node.style.transitionDuration = `${duration2}ms`;\n autoTransitionDuration.current = duration2;\n } else {\n node.style.transitionDuration = typeof transitionDuration === 'string' ? transitionDuration : `${transitionDuration}ms`;\n }\n node.style[size] = collapsedSize;\n node.style.transitionTimingFunction = transitionTimingFunction;\n if (onExiting) {\n onExiting(node);\n }\n });\n const handleAddEndListener = next => {\n if (timeout === 'auto') {\n timer.current = setTimeout(next, autoTransitionDuration.current || 0);\n }\n if (addEndListener) {\n // Old call signature before `react-transition-group` implemented `nodeRef`\n addEndListener(nodeRef.current, next);\n }\n };\n return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n in: inProp,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: handleAddEndListener,\n nodeRef: nodeRef,\n timeout: timeout === 'auto' ? null : timeout\n }, other, {\n children: (state, childProps) => /*#__PURE__*/_jsx(CollapseRoot, _extends({\n as: component,\n className: clsx(classes.root, className, {\n 'entered': classes.entered,\n 'exited': !inProp && collapsedSize === '0px' && classes.hidden\n }[state]),\n style: _extends({\n [isHorizontal ? 'minWidth' : 'minHeight']: collapsedSize\n }, style),\n ownerState: _extends({}, ownerState, {\n state\n }),\n ref: handleRef\n }, childProps, {\n children: /*#__PURE__*/_jsx(CollapseWrapper, {\n ownerState: _extends({}, ownerState, {\n state\n }),\n className: classes.wrapper,\n ref: wrapperRef,\n children: /*#__PURE__*/_jsx(CollapseWrapperInner, {\n ownerState: _extends({}, ownerState, {\n state\n }),\n className: classes.wrapperInner,\n children: children\n })\n })\n }))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Collapse.propTypes /* remove-proptypes */ = {\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 * Add a custom transition end trigger. Called with the transitioning DOM\n * node and a done callback. Allows for more fine grained transition end\n * logic. Note: Timeouts are still used as a fallback if provided.\n */\n addEndListener: PropTypes.func,\n /**\n * The content node to be collapsed.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The width (horizontal) or height (vertical) of the container when collapsed.\n * @default '0px'\n */\n collapsedSize: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: elementTypeAcceptingRef,\n /**\n * The transition timing function.\n * You may specify a single easing or a object containing enter and exit values.\n */\n easing: PropTypes.oneOfType([PropTypes.shape({\n enter: PropTypes.string,\n exit: PropTypes.string\n }), PropTypes.string]),\n /**\n * If `true`, the component will transition in.\n */\n in: PropTypes.bool,\n /**\n * @ignore\n */\n onEnter: PropTypes.func,\n /**\n * @ignore\n */\n onEntered: PropTypes.func,\n /**\n * @ignore\n */\n onEntering: PropTypes.func,\n /**\n * @ignore\n */\n onExit: PropTypes.func,\n /**\n * @ignore\n */\n onExited: PropTypes.func,\n /**\n * @ignore\n */\n onExiting: PropTypes.func,\n /**\n * The transition orientation.\n * @default 'vertical'\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n /**\n * @ignore\n */\n style: PropTypes.object,\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 * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n *\n * Set to 'auto' to automatically calculate transition time based on height.\n * @default duration.standard\n */\n timeout: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nCollapse.muiSupportAuto = true;\nexport default Collapse;","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst FormControlContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== 'production') {\n FormControlContext.displayName = 'FormControlContext';\n}\nexport default FormControlContext;","export default function formControlState({\n props,\n states,\n muiFormControl\n}) {\n return states.reduce((acc, state) => {\n acc[state] = props[state];\n if (muiFormControl) {\n if (typeof props[state] === 'undefined') {\n acc[state] = muiFormControl[state];\n }\n }\n return acc;\n }, {});\n}","'use client';\n\nimport * as React from 'react';\nimport FormControlContext from './FormControlContext';\nexport default function useFormControl() {\n return React.useContext(FormControlContext);\n}","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"disabled\", \"error\", \"filled\", \"focused\", \"required\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport formLabelClasses, { getFormLabelUtilityClasses } from './formLabelClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n focused,\n disabled,\n error,\n filled,\n required\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, disabled && 'disabled', error && 'error', filled && 'filled', focused && 'focused', required && 'required'],\n asterisk: ['asterisk', error && 'error']\n };\n return composeClasses(slots, getFormLabelUtilityClasses, classes);\n};\nexport const FormLabelRoot = styled('label', {\n name: 'MuiFormLabel',\n slot: 'Root',\n overridesResolver: ({\n ownerState\n }, styles) => {\n return _extends({}, styles.root, ownerState.color === 'secondary' && styles.colorSecondary, ownerState.filled && styles.filled);\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, theme.typography.body1, {\n lineHeight: '1.4375em',\n padding: 0,\n position: 'relative',\n [`&.${formLabelClasses.focused}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${formLabelClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n },\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst AsteriskComponent = styled('span', {\n name: 'MuiFormLabel',\n slot: 'Asterisk',\n overridesResolver: (props, styles) => styles.asterisk\n})(({\n theme\n}) => ({\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst FormLabel = /*#__PURE__*/React.forwardRef(function FormLabel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormLabel'\n });\n const {\n children,\n className,\n component = 'label'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['color', 'required', 'focused', 'disabled', 'error', 'filled']\n });\n const ownerState = _extends({}, props, {\n color: fcs.color || 'primary',\n component,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(FormLabelRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: [children, fcs.required && /*#__PURE__*/_jsxs(AsteriskComponent, {\n ownerState: ownerState,\n \"aria-hidden\": true,\n className: classes.asterisk,\n children: [\"\\u2009\", '*']\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormLabel.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\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 * If `true`, the label should be displayed in a disabled state.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the label should use filled classes key.\n */\n filled: PropTypes.bool,\n /**\n * If `true`, the input of this label is focused (used by `FormGroup` components).\n */\n focused: PropTypes.bool,\n /**\n * If `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\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} : void 0;\nexport default FormLabel;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getFormLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiFormLabel', slot);\n}\nconst formLabelClasses = generateUtilityClasses('MuiFormLabel', ['root', 'colorSecondary', 'focused', 'disabled', 'error', 'filled', 'required', 'asterisk']);\nexport default formLabelClasses;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getInputLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiInputLabel', slot);\n}\nconst inputLabelClasses = generateUtilityClasses('MuiInputLabel', ['root', 'focused', 'disabled', 'error', 'required', 'asterisk', 'formControl', 'sizeSmall', 'shrink', 'animated', 'standard', 'filled', 'outlined']);\nexport default inputLabelClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"disableAnimation\", \"margin\", \"shrink\", \"variant\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport clsx from 'clsx';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport FormLabel, { formLabelClasses } from '../FormLabel';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { getInputLabelUtilityClasses } from './inputLabelClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n formControl,\n size,\n shrink,\n disableAnimation,\n variant,\n required\n } = ownerState;\n const slots = {\n root: ['root', formControl && 'formControl', !disableAnimation && 'animated', shrink && 'shrink', size === 'small' && 'sizeSmall', variant],\n asterisk: [required && 'asterisk']\n };\n const composedClasses = composeClasses(slots, getInputLabelUtilityClasses, classes);\n return _extends({}, classes, composedClasses);\n};\nconst InputLabelRoot = styled(FormLabel, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiInputLabel',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${formLabelClasses.asterisk}`]: styles.asterisk\n }, styles.root, ownerState.formControl && styles.formControl, ownerState.size === 'small' && styles.sizeSmall, ownerState.shrink && styles.shrink, !ownerState.disableAnimation && styles.animated, styles[ownerState.variant]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'block',\n transformOrigin: 'top left',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: '100%'\n}, ownerState.formControl && {\n position: 'absolute',\n left: 0,\n top: 0,\n // slight alteration to spec spacing to match visual spec result\n transform: 'translate(0, 20px) scale(1)'\n}, ownerState.size === 'small' && {\n // Compensation for the `Input.inputSizeSmall` style.\n transform: 'translate(0, 17px) scale(1)'\n}, ownerState.shrink && {\n transform: 'translate(0, -1.5px) scale(0.75)',\n transformOrigin: 'top left',\n maxWidth: '133%'\n}, !ownerState.disableAnimation && {\n transition: theme.transitions.create(['color', 'transform', 'max-width'], {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n })\n}, ownerState.variant === 'filled' && _extends({\n // Chrome's autofill feature gives the input field a yellow background.\n // Since the input field is behind the label in the HTML tree,\n // the input field is drawn last and hides the label with an opaque background color.\n // zIndex: 1 will raise the label above opaque background-colors of input.\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(12px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 13px) scale(1)'\n}, ownerState.shrink && _extends({\n userSelect: 'none',\n pointerEvents: 'auto',\n transform: 'translate(12px, 7px) scale(0.75)',\n maxWidth: 'calc(133% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 4px) scale(0.75)'\n})), ownerState.variant === 'outlined' && _extends({\n // see comment above on filled.zIndex\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(14px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(14px, 9px) scale(1)'\n}, ownerState.shrink && {\n userSelect: 'none',\n pointerEvents: 'auto',\n // Theoretically, we should have (8+5)*2/0.75 = 34px\n // but it feels a better when it bleeds a bit on the left, so 32px.\n maxWidth: 'calc(133% - 32px)',\n transform: 'translate(14px, -9px) scale(0.75)'\n})));\nconst InputLabel = /*#__PURE__*/React.forwardRef(function InputLabel(inProps, ref) {\n const props = useThemeProps({\n name: 'MuiInputLabel',\n props: inProps\n });\n const {\n disableAnimation = false,\n shrink: shrinkProp,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n let shrink = shrinkProp;\n if (typeof shrink === 'undefined' && muiFormControl) {\n shrink = muiFormControl.filled || muiFormControl.focused || muiFormControl.adornedStart;\n }\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['size', 'variant', 'required']\n });\n const ownerState = _extends({}, props, {\n disableAnimation,\n formControl: muiFormControl,\n shrink,\n size: fcs.size,\n variant: fcs.variant,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(InputLabelRoot, _extends({\n \"data-shrink\": shrink,\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? InputLabel.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the transition animation is disabled.\n * @default false\n */\n disableAnimation: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` of this label is focused.\n */\n focused: PropTypes.bool,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: PropTypes.oneOf(['dense']),\n /**\n * if `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n /**\n * If `true`, the label is shrunk.\n */\n shrink: PropTypes.bool,\n /**\n * The size of the component.\n * @default 'normal'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['normal', 'small']), PropTypes.string]),\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 * The variant to use.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputLabel;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getSwitchUtilityClass(slot) {\n return generateUtilityClass('MuiSwitch', slot);\n}\nconst switchClasses = generateUtilityClasses('MuiSwitch', ['root', 'edgeStart', 'edgeEnd', 'switchBase', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium', 'checked', 'disabled', 'input', 'thumb', 'track']);\nexport default switchClasses;","'use client';\n\n// @inheritedComponent IconButton\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"edge\", \"size\", \"sx\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha, darken, lighten } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport SwitchBase from '../internal/SwitchBase';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport switchClasses, { getSwitchUtilityClass } from './switchClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n edge,\n size,\n color,\n checked,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`],\n switchBase: ['switchBase', `color${capitalize(color)}`, checked && 'checked', disabled && 'disabled'],\n thumb: ['thumb'],\n track: ['track'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getSwitchUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst SwitchRoot = styled('span', {\n name: 'MuiSwitch',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n }\n}, ownerState.edge === 'start' && {\n marginLeft: -8\n}, ownerState.edge === 'end' && {\n marginRight: -8\n}, ownerState.size === 'small' && {\n width: 40,\n height: 24,\n padding: 7,\n [`& .${switchClasses.thumb}`]: {\n width: 16,\n height: 16\n },\n [`& .${switchClasses.switchBase}`]: {\n padding: 4,\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(16px)'\n }\n }\n}));\nconst SwitchSwitchBase = styled(SwitchBase, {\n name: 'MuiSwitch',\n slot: 'SwitchBase',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.switchBase, {\n [`& .${switchClasses.input}`]: styles.input\n }, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme\n}) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.vars ? theme.vars.palette.Switch.defaultColor : `${theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300]}`,\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(20px)'\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.vars ? theme.vars.palette.Switch.defaultDisabledColor : `${theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]}`\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n opacity: 0.5\n },\n [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {\n opacity: theme.vars ? theme.vars.opacity.switchTrackDisabled : `${theme.palette.mode === 'light' ? 0.12 : 0.2}`\n },\n [`& .${switchClasses.input}`]: {\n left: '-100%',\n width: '300%'\n }\n}), ({\n theme,\n ownerState\n}) => _extends({\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.action.active, 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 [`&.${switchClasses.checked}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main,\n '&:hover': {\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 '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.vars ? theme.vars.palette.Switch[`${ownerState.color}DisabledColor`] : `${theme.palette.mode === 'light' ? lighten(theme.palette[ownerState.color].main, 0.62) : darken(theme.palette[ownerState.color].main, 0.55)}`\n }\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].main\n }\n}));\nconst SwitchTrack = styled('span', {\n name: 'MuiSwitch',\n slot: 'Track',\n overridesResolver: (props, styles) => styles.track\n})(({\n theme\n}) => ({\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.vars ? theme.vars.palette.common.onBackground : `${theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white}`,\n opacity: theme.vars ? theme.vars.opacity.switchTrack : `${theme.palette.mode === 'light' ? 0.38 : 0.3}`\n}));\nconst SwitchThumb = styled('span', {\n name: 'MuiSwitch',\n slot: 'Thumb',\n overridesResolver: (props, styles) => styles.thumb\n})(({\n theme\n}) => ({\n boxShadow: (theme.vars || theme).shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n}));\nconst Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSwitch'\n });\n const {\n className,\n color = 'primary',\n edge = false,\n size = 'medium',\n sx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n edge,\n size\n });\n const classes = useUtilityClasses(ownerState);\n const icon = /*#__PURE__*/_jsx(SwitchThumb, {\n className: classes.thumb,\n ownerState: ownerState\n });\n return /*#__PURE__*/_jsxs(SwitchRoot, {\n className: clsx(classes.root, className),\n sx: sx,\n ownerState: ownerState,\n children: [/*#__PURE__*/_jsx(SwitchSwitchBase, _extends({\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n ref: ref,\n ownerState: ownerState\n }, other, {\n classes: _extends({}, classes, {\n root: classes.switchBase\n })\n })), /*#__PURE__*/_jsx(SwitchTrack, {\n className: classes.track,\n ownerState: ownerState\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Switch.propTypes /* remove-proptypes */ = {\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 * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\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 * Pass a ref to the `input` element.\n */\n inputRef: refType,\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 value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * If `true`, the `input` element is required.\n * @default false\n */\n required: PropTypes.bool,\n /**\n * The size of the component.\n * `small` is equivalent to the dense switch styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\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 * 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 Switch;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getSwitchBaseUtilityClass(slot) {\n return generateUtilityClass('PrivateSwitchBase', slot);\n}\nconst switchBaseClasses = generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);\nexport default switchBaseClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"checked\", \"checkedIcon\", \"className\", \"defaultChecked\", \"disabled\", \"disableFocusRipple\", \"edge\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useControlled from '../utils/useControlled';\nimport useFormControl from '../FormControl/useFormControl';\nimport ButtonBase from '../ButtonBase';\nimport { getSwitchBaseUtilityClass } from './switchBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n checked,\n disabled,\n edge\n } = ownerState;\n const slots = {\n root: ['root', checked && 'checked', disabled && 'disabled', edge && `edge${capitalize(edge)}`],\n input: ['input']\n };\n return composeClasses(slots, getSwitchBaseUtilityClass, classes);\n};\nconst SwitchBaseRoot = styled(ButtonBase)(({\n ownerState\n}) => _extends({\n padding: 9,\n borderRadius: '50%'\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}));\nconst SwitchBaseInput = styled('input')({\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n});\n\n/**\n * @ignore - internal component.\n */\nconst SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref) {\n const {\n autoFocus,\n checked: checkedProp,\n checkedIcon,\n className,\n defaultChecked,\n disabled: disabledProp,\n disableFocusRipple = false,\n edge = false,\n icon,\n id,\n inputProps,\n inputRef,\n name,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n required = false,\n tabIndex,\n type,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const [checked, setCheckedState] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n });\n const muiFormControl = useFormControl();\n const handleFocus = event => {\n if (onFocus) {\n onFocus(event);\n }\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n const handleInputChange = event => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented) {\n return;\n }\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n if (onChange) {\n // TODO v6: remove the second argument.\n onChange(event, newChecked);\n }\n };\n let disabled = disabledProp;\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n const hasLabelFor = type === 'checkbox' || type === 'radio';\n const ownerState = _extends({}, props, {\n checked,\n disabled,\n disableFocusRipple,\n edge\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SwitchBaseRoot, _extends({\n component: \"span\",\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/_jsx(SwitchBaseInput, _extends({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor ? id : undefined,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n ownerState: ownerState,\n tabIndex: tabIndex,\n type: type\n }, type === 'checkbox' && value === undefined ? {} : {\n value\n }, inputProps)), checked ? checkedIcon : icon]\n }));\n});\n\n// NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\nprocess.env.NODE_ENV !== \"production\" ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node.isRequired,\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * @ignore\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node.isRequired,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\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 * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /*\n * @ignore\n */\n name: PropTypes.string,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} 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 * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.object,\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * The input component prop `type`.\n */\n type: PropTypes.string.isRequired,\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default SwitchBase;"],"names":["getAccordionUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","AccordionRoot","styled","Paper","name","overridesResolver","props","styles","ownerState","_defineProperty","concat","accordionClasses","region","root","square","rounded","disableGutters","gutters","_ref2","_ref3","theme","transition","duration","transitions","shortest","position","create","overflowAnchor","left","top","right","height","content","opacity","backgroundColor","vars","palette","divider","display","expanded","marginTop","marginBottom","disabled","action","disabledBackground","_ref4","_extends","borderRadius","borderTopLeftRadius","shape","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","margin","React","inProps","ref","useThemeProps","childrenProp","children","className","_props$defaultExpande","defaultExpanded","_props$disabled","_props$disableGutters","expandedProp","onChange","_props$square","_props$TransitionComp","TransitionComponent","Collapse","TransitionProps","other","_objectWithoutPropertiesLoose","_useControlled","useControlled","controlled","default","state","_useControlled2","_slicedToArray","setExpandedState","handleChange","event","_React$Children$toArr","toArray","_React$Children$toArr2","_toArray","summary","slice","contextValue","toggle","classes","slots","composeClasses","useUtilityClasses","_jsxs","clsx","_jsx","AccordionContext","Provider","value","in","timeout","id","role","getAccordionDetailsUtilityClass","AccordionDetailsRoot","_ref","padding","spacing","getAccordionSummaryUtilityClass","AccordionSummaryRoot","ButtonBase","_extends2","minHeight","accordionSummaryClasses","focusVisible","focus","disabledOpacity","cursor","AccordionSummaryContent","flexGrow","AccordionSummaryExpandIconWrapper","expandIconWrapper","_ref5","color","active","transform","expandIcon","focusVisibleClassName","onClick","_React$useContext","_React$useContext$dis","focusRipple","disableRipple","component","getCollapseUtilityClass","CollapseRoot","orientation","entered","collapsedSize","hidden","overflow","width","visibility","CollapseWrapper","wrapper","CollapseWrapperInner","wrapperInner","addEndListener","_props$collapsedSize","collapsedSizeProp","easing","inProp","onEnter","onEntered","onEntering","onExit","onExited","onExiting","_props$orientation","style","_props$timeout","standard","Transition","useTheme","timer","wrapperRef","autoTransitionDuration","isHorizontal","size","clearTimeout","current","nodeRef","handleRef","useForkRef","normalizedTransitionCallback","callback","maybeIsAppearing","node","undefined","getWrapperSize","handleEnter","isAppearing","handleEntering","wrapperSize","_getTransitionProps","getTransitionProps","mode","transitionDuration","transitionTimingFunction","duration2","getAutoHeightDuration","handleEntered","handleExit","handleExited","handleExiting","_getTransitionProps2","next","setTimeout","childProps","as","muiSupportAuto","FormControlContext","formControlState","states","muiFormControl","reduce","acc","useFormControl","FormLabelRoot","colorSecondary","filled","text","secondary","typography","body1","lineHeight","formLabelClasses","focused","main","error","AsteriskComponent","asterisk","FormLabel","_props$component","fcs","required","capitalize","getFormLabelUtilityClasses","getInputLabelUtilityClasses","InputLabelRoot","shouldForwardProp","prop","rootShouldForwardProp","formControl","sizeSmall","shrink","disableAnimation","animated","variant","transformOrigin","whiteSpace","textOverflow","maxWidth","shorter","easeOut","zIndex","pointerEvents","userSelect","_props$disableAnimati","shrinkProp","adornedStart","composedClasses","getSwitchUtilityClass","SwitchRoot","edge","boxSizing","flexShrink","verticalAlign","colorAdjust","marginLeft","marginRight","switchClasses","thumb","switchBase","checked","SwitchSwitchBase","SwitchBase","input","Switch","defaultColor","common","white","grey","defaultDisabledColor","track","switchTrackDisabled","_ref6","_ref7","activeChannel","hoverOpacity","alpha","mainChannel","lighten","darken","SwitchTrack","_ref8","onBackground","black","switchTrack","SwitchThumb","_ref9","boxShadow","shadows","_props$color","_props$edge","_props$size","sx","icon","type","checkedIcon","getSwitchBaseUtilityClass","SwitchBaseRoot","SwitchBaseInput","autoFocus","checkedProp","defaultChecked","disabledProp","_props$disableFocusRi","disableFocusRipple","inputProps","inputRef","onBlur","onFocus","readOnly","_props$required","tabIndex","Boolean","setCheckedState","hasLabelFor","centerRipple","nativeEvent","defaultPrevented","newChecked","target"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3554.597b92f6.chunk.js b/portal-ui/build/static/js/3554.597b92f6.chunk.js new file mode 100644 index 000000000..286aeac46 --- /dev/null +++ b/portal-ui/build/static/js/3554.597b92f6.chunk.js @@ -0,0 +1,2 @@ +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3554],{30403:function(e,t,o){"use strict";var r=o(64836);t.Z=void 0;var n=r(o(45649)),a=o(80184),c=(0,n.default)((0,a.jsx)("path",{d:"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zM9 6c0-1.66 1.34-3 3-3s3 1.34 3 3v2H9V6zm9 14H6V10h12v10zm-6-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z"}),"LockOutlined");t.Z=c},9955:function(e,t,o){"use strict";o.d(t,{Z:function(){return x}});var r=o(4942),n=o(63366),a=o(87462),c=o(72791),i=o(28182),l=o(94419),s=o(12065),u=o(14036),d=o(97278),p=o(31402),f=o(66934),h=o(75878),b=o(21217);function v(e){return(0,b.Z)("MuiSwitch",e)}var y=(0,h.Z)("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),m=o(80184),g=["className","color","edge","size","sx"],w=(0,f.ZP)("span",{name:"MuiSwitch",slot:"Root",overridesResolver:function(e,t){var o=e.ownerState;return[t.root,o.edge&&t["edge".concat((0,u.Z)(o.edge))],t["size".concat((0,u.Z)(o.size))]]}})((function(e){var t,o=e.ownerState;return(0,a.Z)({display:"inline-flex",width:58,height:38,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"}},"start"===o.edge&&{marginLeft:-8},"end"===o.edge&&{marginRight:-8},"small"===o.size&&(t={width:40,height:24,padding:7},(0,r.Z)(t,"& .".concat(y.thumb),{width:16,height:16}),(0,r.Z)(t,"& .".concat(y.switchBase),(0,r.Z)({padding:4},"&.".concat(y.checked),{transform:"translateX(16px)"})),t))})),k=(0,f.ZP)(d.Z,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:function(e,t){var o=e.ownerState;return[t.switchBase,(0,r.Z)({},"& .".concat(y.input),t.input),"default"!==o.color&&t["color".concat((0,u.Z)(o.color))]]}})((function(e){var t,o=e.theme;return t={position:"absolute",top:0,left:0,zIndex:1,color:o.vars?o.vars.palette.Switch.defaultColor:"".concat("light"===o.palette.mode?o.palette.common.white:o.palette.grey[300]),transition:o.transitions.create(["left","transform"],{duration:o.transitions.duration.shortest})},(0,r.Z)(t,"&.".concat(y.checked),{transform:"translateX(20px)"}),(0,r.Z)(t,"&.".concat(y.disabled),{color:o.vars?o.vars.palette.Switch.defaultDisabledColor:"".concat("light"===o.palette.mode?o.palette.grey[100]:o.palette.grey[600])}),(0,r.Z)(t,"&.".concat(y.checked," + .").concat(y.track),{opacity:.5}),(0,r.Z)(t,"&.".concat(y.disabled," + .").concat(y.track),{opacity:o.vars?o.vars.opacity.switchTrackDisabled:"".concat("light"===o.palette.mode?.12:.2)}),(0,r.Z)(t,"& .".concat(y.input),{left:"-100%",width:"300%"}),t}),(function(e){var t,o=e.theme,n=e.ownerState;return(0,a.Z)({"&:hover":{backgroundColor:o.vars?"rgba(".concat(o.vars.palette.action.activeChannel," / ").concat(o.vars.palette.action.hoverOpacity,")"):(0,s.Fq)(o.palette.action.active,o.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==n.color&&(t={},(0,r.Z)(t,"&.".concat(y.checked),(0,r.Z)({color:(o.vars||o).palette[n.color].main,"&:hover":{backgroundColor:o.vars?"rgba(".concat(o.vars.palette[n.color].mainChannel," / ").concat(o.vars.palette.action.hoverOpacity,")"):(0,s.Fq)(o.palette[n.color].main,o.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"&.".concat(y.disabled),{color:o.vars?o.vars.palette.Switch["".concat(n.color,"DisabledColor")]:"".concat("light"===o.palette.mode?(0,s.$n)(o.palette[n.color].main,.62):(0,s._j)(o.palette[n.color].main,.55))})),(0,r.Z)(t,"&.".concat(y.checked," + .").concat(y.track),{backgroundColor:(o.vars||o).palette[n.color].main}),t))})),C=(0,f.ZP)("span",{name:"MuiSwitch",slot:"Track",overridesResolver:function(e,t){return t.track}})((function(e){var t=e.theme;return{height:"100%",width:"100%",borderRadius:7,zIndex:-1,transition:t.transitions.create(["opacity","background-color"],{duration:t.transitions.duration.shortest}),backgroundColor:t.vars?t.vars.palette.common.onBackground:"".concat("light"===t.palette.mode?t.palette.common.black:t.palette.common.white),opacity:t.vars?t.vars.opacity.switchTrack:"".concat("light"===t.palette.mode?.38:.3)}})),Z=(0,f.ZP)("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:function(e,t){return t.thumb}})((function(e){var t=e.theme;return{boxShadow:(t.vars||t).shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}})),x=c.forwardRef((function(e,t){var o=(0,p.Z)({props:e,name:"MuiSwitch"}),r=o.className,c=o.color,s=void 0===c?"primary":c,d=o.edge,f=void 0!==d&&d,h=o.size,b=void 0===h?"medium":h,y=o.sx,x=(0,n.Z)(o,g),S=(0,a.Z)({},o,{color:s,edge:f,size:b}),O=function(e){var t=e.classes,o=e.edge,r=e.size,n=e.color,c=e.checked,i=e.disabled,s={root:["root",o&&"edge".concat((0,u.Z)(o)),"size".concat((0,u.Z)(r))],switchBase:["switchBase","color".concat((0,u.Z)(n)),c&&"checked",i&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},d=(0,l.Z)(s,v,t);return(0,a.Z)({},t,d)}(S),j=(0,m.jsx)(Z,{className:O.thumb,ownerState:S});return(0,m.jsxs)(w,{className:(0,i.Z)(O.root,r),sx:y,ownerState:S,children:[(0,m.jsx)(k,(0,a.Z)({type:"checkbox",icon:j,checkedIcon:j,ref:t,ownerState:S},x,{classes:(0,a.Z)({},O,{root:O.switchBase})})),(0,m.jsx)(C,{className:O.track,ownerState:S})]})}))},97278:function(e,t,o){"use strict";o.d(t,{Z:function(){return k}});var r=o(29439),n=o(63366),a=o(87462),c=o(72791),i=o(28182),l=o(94419),s=o(14036),u=o(66934),d=o(98278),p=o(52930),f=o(95080),h=o(75878),b=o(21217);function v(e){return(0,b.Z)("PrivateSwitchBase",e)}(0,h.Z)("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);var y=o(80184),m=["autoFocus","checked","checkedIcon","className","defaultChecked","disabled","disableFocusRipple","edge","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"],g=(0,u.ZP)(f.Z)((function(e){var t=e.ownerState;return(0,a.Z)({padding:9,borderRadius:"50%"},"start"===t.edge&&{marginLeft:"small"===t.size?-3:-12},"end"===t.edge&&{marginRight:"small"===t.size?-3:-12})})),w=(0,u.ZP)("input")({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),k=c.forwardRef((function(e,t){var o=e.autoFocus,c=e.checked,u=e.checkedIcon,f=e.className,h=e.defaultChecked,b=e.disabled,k=e.disableFocusRipple,C=void 0!==k&&k,Z=e.edge,x=void 0!==Z&&Z,S=e.icon,O=e.id,j=e.inputProps,P=e.inputRef,R=e.name,D=e.onBlur,z=e.onChange,E=e.onFocus,B=e.readOnly,T=e.required,I=void 0!==T&&T,_=e.tabIndex,F=e.type,M=e.value,N=(0,n.Z)(e,m),A=(0,d.Z)({controlled:c,default:Boolean(h),name:"SwitchBase",state:"checked"}),U=(0,r.Z)(A,2),q=U[0],H=U[1],L=(0,p.Z)(),V=b;L&&"undefined"===typeof V&&(V=L.disabled);var X="checkbox"===F||"radio"===F,$=(0,a.Z)({},e,{checked:q,disabled:V,disableFocusRipple:C,edge:x}),G=function(e){var t=e.classes,o=e.checked,r=e.disabled,n=e.edge,a={root:["root",o&&"checked",r&&"disabled",n&&"edge".concat((0,s.Z)(n))],input:["input"]};return(0,l.Z)(a,v,t)}($);return(0,y.jsxs)(g,(0,a.Z)({component:"span",className:(0,i.Z)(G.root,f),centerRipple:!0,focusRipple:!C,disabled:V,tabIndex:null,role:void 0,onFocus:function(e){E&&E(e),L&&L.onFocus&&L.onFocus(e)},onBlur:function(e){D&&D(e),L&&L.onBlur&&L.onBlur(e)},ownerState:$,ref:t},N,{children:[(0,y.jsx)(w,(0,a.Z)({autoFocus:o,checked:c,defaultChecked:h,className:G.input,disabled:V,id:X?O:void 0,name:R,onChange:function(e){if(!e.nativeEvent.defaultPrevented){var t=e.target.checked;H(t),z&&z(e,t)}},readOnly:B,ref:P,required:I,ownerState:$,tabIndex:_,type:F},"checkbox"===F&&void 0===M?{}:{value:M},j)),q?u:S]}))}))},76998:function(e,t,o){"use strict";var r=o(42458),n={"text/plain":"Text","text/html":"Url",default:"Text"};e.exports=function(e,t){var o,a,c,i,l,s,u=!1;t||(t={}),o=t.debug||!1;try{if(c=r(),i=document.createRange(),l=document.getSelection(),(s=document.createElement("span")).textContent=e,s.ariaHidden="true",s.style.all="unset",s.style.position="fixed",s.style.top=0,s.style.clip="rect(0, 0, 0, 0)",s.style.whiteSpace="pre",s.style.webkitUserSelect="text",s.style.MozUserSelect="text",s.style.msUserSelect="text",s.style.userSelect="text",s.addEventListener("copy",(function(r){if(r.stopPropagation(),t.format)if(r.preventDefault(),"undefined"===typeof r.clipboardData){o&&console.warn("unable to use e.clipboardData"),o&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var a=n[t.format]||n.default;window.clipboardData.setData(a,e)}else r.clipboardData.clearData(),r.clipboardData.setData(t.format,e);t.onCopy&&(r.preventDefault(),t.onCopy(r.clipboardData))})),document.body.appendChild(s),i.selectNodeContents(s),l.addRange(i),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");u=!0}catch(d){o&&console.error("unable to copy using execCommand: ",d),o&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",e),t.onCopy&&t.onCopy(window.clipboardData),u=!0}catch(d){o&&console.error("unable to copy using clipboardData: ",d),o&&console.error("falling back to prompt"),a=function(e){var t=(/mac os x/i.test(navigator.userAgent)?"\u2318":"Ctrl")+"+C";return e.replace(/#{\s*key\s*}/g,t)}("message"in t?t.message:"Copy to clipboard: #{key}, Enter"),window.prompt(a,e)}}finally{l&&("function"==typeof l.removeRange?l.removeRange(i):l.removeAllRanges()),s&&document.body.removeChild(s),c()}return u}},568:function(e,t,o){"use strict";function r(e){return r="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},r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.CopyToClipboard=void 0;var n=i(o(72791)),a=i(o(76998)),c=["text","onCopy","options","children"];function i(e){return e&&e.__esModule?e:{default:e}}function l(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function s(e){for(var t=1;t=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}function d(e,t){for(var o=0;o {\n const {\n classes,\n edge,\n size,\n color,\n checked,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`],\n switchBase: ['switchBase', `color${capitalize(color)}`, checked && 'checked', disabled && 'disabled'],\n thumb: ['thumb'],\n track: ['track'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getSwitchUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst SwitchRoot = styled('span', {\n name: 'MuiSwitch',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n }\n}, ownerState.edge === 'start' && {\n marginLeft: -8\n}, ownerState.edge === 'end' && {\n marginRight: -8\n}, ownerState.size === 'small' && {\n width: 40,\n height: 24,\n padding: 7,\n [`& .${switchClasses.thumb}`]: {\n width: 16,\n height: 16\n },\n [`& .${switchClasses.switchBase}`]: {\n padding: 4,\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(16px)'\n }\n }\n}));\nconst SwitchSwitchBase = styled(SwitchBase, {\n name: 'MuiSwitch',\n slot: 'SwitchBase',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.switchBase, {\n [`& .${switchClasses.input}`]: styles.input\n }, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme\n}) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.vars ? theme.vars.palette.Switch.defaultColor : `${theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300]}`,\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(20px)'\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.vars ? theme.vars.palette.Switch.defaultDisabledColor : `${theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]}`\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n opacity: 0.5\n },\n [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {\n opacity: theme.vars ? theme.vars.opacity.switchTrackDisabled : `${theme.palette.mode === 'light' ? 0.12 : 0.2}`\n },\n [`& .${switchClasses.input}`]: {\n left: '-100%',\n width: '300%'\n }\n}), ({\n theme,\n ownerState\n}) => _extends({\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.action.active, 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 [`&.${switchClasses.checked}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main,\n '&:hover': {\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 '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.vars ? theme.vars.palette.Switch[`${ownerState.color}DisabledColor`] : `${theme.palette.mode === 'light' ? lighten(theme.palette[ownerState.color].main, 0.62) : darken(theme.palette[ownerState.color].main, 0.55)}`\n }\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].main\n }\n}));\nconst SwitchTrack = styled('span', {\n name: 'MuiSwitch',\n slot: 'Track',\n overridesResolver: (props, styles) => styles.track\n})(({\n theme\n}) => ({\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.vars ? theme.vars.palette.common.onBackground : `${theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white}`,\n opacity: theme.vars ? theme.vars.opacity.switchTrack : `${theme.palette.mode === 'light' ? 0.38 : 0.3}`\n}));\nconst SwitchThumb = styled('span', {\n name: 'MuiSwitch',\n slot: 'Thumb',\n overridesResolver: (props, styles) => styles.thumb\n})(({\n theme\n}) => ({\n boxShadow: (theme.vars || theme).shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n}));\nconst Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSwitch'\n });\n const {\n className,\n color = 'primary',\n edge = false,\n size = 'medium',\n sx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n edge,\n size\n });\n const classes = useUtilityClasses(ownerState);\n const icon = /*#__PURE__*/_jsx(SwitchThumb, {\n className: classes.thumb,\n ownerState: ownerState\n });\n return /*#__PURE__*/_jsxs(SwitchRoot, {\n className: clsx(classes.root, className),\n sx: sx,\n ownerState: ownerState,\n children: [/*#__PURE__*/_jsx(SwitchSwitchBase, _extends({\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n ref: ref,\n ownerState: ownerState\n }, other, {\n classes: _extends({}, classes, {\n root: classes.switchBase\n })\n })), /*#__PURE__*/_jsx(SwitchTrack, {\n className: classes.track,\n ownerState: ownerState\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Switch.propTypes /* remove-proptypes */ = {\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 * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\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 * Pass a ref to the `input` element.\n */\n inputRef: refType,\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 value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * If `true`, the `input` element is required.\n * @default false\n */\n required: PropTypes.bool,\n /**\n * The size of the component.\n * `small` is equivalent to the dense switch styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\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 * 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 Switch;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getSwitchBaseUtilityClass(slot) {\n return generateUtilityClass('PrivateSwitchBase', slot);\n}\nconst switchBaseClasses = generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);\nexport default switchBaseClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"checked\", \"checkedIcon\", \"className\", \"defaultChecked\", \"disabled\", \"disableFocusRipple\", \"edge\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useControlled from '../utils/useControlled';\nimport useFormControl from '../FormControl/useFormControl';\nimport ButtonBase from '../ButtonBase';\nimport { getSwitchBaseUtilityClass } from './switchBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n checked,\n disabled,\n edge\n } = ownerState;\n const slots = {\n root: ['root', checked && 'checked', disabled && 'disabled', edge && `edge${capitalize(edge)}`],\n input: ['input']\n };\n return composeClasses(slots, getSwitchBaseUtilityClass, classes);\n};\nconst SwitchBaseRoot = styled(ButtonBase)(({\n ownerState\n}) => _extends({\n padding: 9,\n borderRadius: '50%'\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}));\nconst SwitchBaseInput = styled('input')({\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n});\n\n/**\n * @ignore - internal component.\n */\nconst SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref) {\n const {\n autoFocus,\n checked: checkedProp,\n checkedIcon,\n className,\n defaultChecked,\n disabled: disabledProp,\n disableFocusRipple = false,\n edge = false,\n icon,\n id,\n inputProps,\n inputRef,\n name,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n required = false,\n tabIndex,\n type,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const [checked, setCheckedState] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n });\n const muiFormControl = useFormControl();\n const handleFocus = event => {\n if (onFocus) {\n onFocus(event);\n }\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n const handleInputChange = event => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented) {\n return;\n }\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n if (onChange) {\n // TODO v6: remove the second argument.\n onChange(event, newChecked);\n }\n };\n let disabled = disabledProp;\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n const hasLabelFor = type === 'checkbox' || type === 'radio';\n const ownerState = _extends({}, props, {\n checked,\n disabled,\n disableFocusRipple,\n edge\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SwitchBaseRoot, _extends({\n component: \"span\",\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/_jsx(SwitchBaseInput, _extends({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor ? id : undefined,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n ownerState: ownerState,\n tabIndex: tabIndex,\n type: type\n }, type === 'checkbox' && value === undefined ? {} : {\n value\n }, inputProps)), checked ? checkedIcon : icon]\n }));\n});\n\n// NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\nprocess.env.NODE_ENV !== \"production\" ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node.isRequired,\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * @ignore\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node.isRequired,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\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 * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /*\n * @ignore\n */\n name: PropTypes.string,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} 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 * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.object,\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * The input component prop `type`.\n */\n type: PropTypes.string.isRequired,\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default SwitchBase;","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CopyToClipboard = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _copyToClipboard = _interopRequireDefault(require(\"copy-to-clipboard\"));\n\nvar _excluded = [\"text\", \"onCopy\", \"options\", \"children\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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 _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); Object.defineProperty(Constructor, \"prototype\", { writable: false }); 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 } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); 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; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } 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\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\nvar CopyToClipboard = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(CopyToClipboard, _React$PureComponent);\n\n var _super = _createSuper(CopyToClipboard);\n\n function CopyToClipboard() {\n var _this;\n\n _classCallCheck(this, CopyToClipboard);\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\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n var _this$props = _this.props,\n text = _this$props.text,\n onCopy = _this$props.onCopy,\n children = _this$props.children,\n options = _this$props.options;\n\n var elem = _react[\"default\"].Children.only(children);\n\n var result = (0, _copyToClipboard[\"default\"])(text, options);\n\n if (onCopy) {\n onCopy(text, result);\n } // Bypass onClick if it was present\n\n\n if (elem && elem.props && typeof elem.props.onClick === 'function') {\n elem.props.onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(CopyToClipboard, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _text = _this$props2.text,\n _onCopy = _this$props2.onCopy,\n _options = _this$props2.options,\n children = _this$props2.children,\n props = _objectWithoutProperties(_this$props2, _excluded);\n\n var elem = _react[\"default\"].Children.only(children);\n\n return /*#__PURE__*/_react[\"default\"].cloneElement(elem, _objectSpread(_objectSpread({}, props), {}, {\n onClick: this.onClick\n }));\n }\n }]);\n\n return CopyToClipboard;\n}(_react[\"default\"].PureComponent);\n\nexports.CopyToClipboard = CopyToClipboard;\n\n_defineProperty(CopyToClipboard, \"defaultProps\", {\n onCopy: undefined,\n options: undefined\n});","\"use strict\";\n\nvar _require = require('./Component'),\n CopyToClipboard = _require.CopyToClipboard;\n\nCopyToClipboard.CopyToClipboard = CopyToClipboard;\nmodule.exports = CopyToClipboard;","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n"],"names":["_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getSwitchUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","SwitchRoot","styled","name","overridesResolver","props","styles","ownerState","root","edge","concat","capitalize","size","_ref","_ref2","_extends","display","width","height","overflow","padding","boxSizing","position","flexShrink","zIndex","verticalAlign","colorAdjust","marginLeft","marginRight","_defineProperty","switchClasses","thumb","switchBase","checked","transform","SwitchSwitchBase","SwitchBase","input","color","_ref4","_ref5","theme","top","left","vars","palette","Switch","defaultColor","mode","common","white","grey","transition","transitions","create","duration","shortest","disabled","defaultDisabledColor","track","opacity","switchTrackDisabled","_ref6","_ref7","backgroundColor","action","activeChannel","hoverOpacity","alpha","active","main","mainChannel","lighten","darken","SwitchTrack","_ref8","borderRadius","onBackground","black","switchTrack","SwitchThumb","_ref9","boxShadow","shadows","React","inProps","ref","useThemeProps","className","_props$color","_props$edge","_props$size","sx","other","_objectWithoutPropertiesLoose","classes","slots","composedClasses","composeClasses","useUtilityClasses","icon","_jsx","_jsxs","clsx","children","type","checkedIcon","getSwitchBaseUtilityClass","SwitchBaseRoot","ButtonBase","SwitchBaseInput","cursor","margin","autoFocus","checkedProp","defaultChecked","disabledProp","_props$disableFocusRi","disableFocusRipple","id","inputProps","inputRef","onBlur","onChange","onFocus","readOnly","_props$required","required","tabIndex","value","_useControlled","useControlled","controlled","Boolean","state","_useControlled2","_slicedToArray","setCheckedState","muiFormControl","useFormControl","hasLabelFor","component","centerRipple","focusRipple","role","undefined","event","nativeEvent","defaultPrevented","newChecked","target","deselectCurrent","clipboardToIE11Formatting","module","text","options","debug","message","reselectPrevious","range","selection","mark","success","document","createRange","getSelection","createElement","textContent","ariaHidden","style","all","clip","whiteSpace","webkitUserSelect","MozUserSelect","msUserSelect","userSelect","addEventListener","e","stopPropagation","format","preventDefault","clipboardData","console","warn","window","clearData","setData","onCopy","body","appendChild","selectNodeContents","addRange","execCommand","Error","err","error","copyKey","test","navigator","userAgent","replace","prompt","removeRange","removeAllRanges","removeChild","_typeof","obj","Symbol","iterator","constructor","prototype","Object","defineProperty","CopyToClipboard","_react","_copyToClipboard","__esModule","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","i","arguments","length","source","forEach","key","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","excluded","sourceKeys","indexOf","sourceSymbolKeys","propertyIsEnumerable","call","_defineProperties","descriptor","configurable","writable","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","valueOf","_isNativeReflectConstruct","result","Super","_getPrototypeOf","NewTarget","this","self","TypeError","_assertThisInitialized","_possibleConstructorReturn","ReferenceError","getPrototypeOf","_React$PureComponent","subClass","superClass","_inherits","Constructor","protoProps","staticProps","_super","_this","instance","_classCallCheck","_len","args","Array","_key","_this$props","elem","Children","only","onClick","_this$props2","cloneElement","PureComponent","rangeCount","activeElement","ranges","getRangeAt","tagName","toUpperCase","blur","focus"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3801.e125737d.chunk.js.map b/portal-ui/build/static/js/3801.e125737d.chunk.js.map index 8e4b3c7eb..44ba9a5a1 100644 --- a/portal-ui/build/static/js/3801.e125737d.chunk.js.map +++ b/portal-ui/build/static/js/3801.e125737d.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/3801.e125737d.chunk.js","mappings":"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","sources":["../node_modules/@mui/material/Table/tableClasses.js","../node_modules/@mui/material/Table/Table.js","../node_modules/@mui/material/Table/TableContext.js","../node_modules/@mui/material/Table/Tablelvl2Context.js","../node_modules/@mui/material/TableBody/tableBodyClasses.js","../node_modules/@mui/material/TableBody/TableBody.js","../node_modules/@mui/material/TableCell/tableCellClasses.js","../node_modules/@mui/material/TableCell/TableCell.js","../node_modules/@mui/material/TableRow/tableRowClasses.js","../node_modules/@mui/material/TableRow/TableRow.js"],"sourcesContent":["import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getTableUtilityClass(slot) {\n return generateUtilityClass('MuiTable', slot);\n}\nconst tableClasses = generateUtilityClasses('MuiTable', ['root', 'stickyHeader']);\nexport default tableClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"component\", \"padding\", \"size\", \"stickyHeader\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport TableContext from './TableContext';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport { getTableUtilityClass } from './tableClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n stickyHeader\n } = ownerState;\n const slots = {\n root: ['root', stickyHeader && 'stickyHeader']\n };\n return composeClasses(slots, getTableUtilityClass, classes);\n};\nconst TableRoot = styled('table', {\n name: 'MuiTable',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.stickyHeader && styles.stickyHeader];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'table',\n width: '100%',\n borderCollapse: 'collapse',\n borderSpacing: 0,\n '& caption': _extends({}, theme.typography.body2, {\n padding: theme.spacing(2),\n color: (theme.vars || theme).palette.text.secondary,\n textAlign: 'left',\n captionSide: 'bottom'\n })\n}, ownerState.stickyHeader && {\n borderCollapse: 'separate'\n}));\nconst defaultComponent = 'table';\nconst Table = /*#__PURE__*/React.forwardRef(function Table(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTable'\n });\n const {\n className,\n component = defaultComponent,\n padding = 'normal',\n size = 'medium',\n stickyHeader = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component,\n padding,\n size,\n stickyHeader\n });\n const classes = useUtilityClasses(ownerState);\n const table = React.useMemo(() => ({\n padding,\n size,\n stickyHeader\n }), [padding, size, stickyHeader]);\n return /*#__PURE__*/_jsx(TableContext.Provider, {\n value: table,\n children: /*#__PURE__*/_jsx(TableRoot, _extends({\n as: component,\n role: component === defaultComponent ? null : 'table',\n ref: ref,\n className: clsx(classes.root, className),\n ownerState: ownerState\n }, other))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Table.propTypes /* remove-proptypes */ = {\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 * The content of the table, normally `TableHead` and `TableBody`.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 * Allows TableCells to inherit padding of the Table.\n * @default 'normal'\n */\n padding: PropTypes.oneOf(['checkbox', 'none', 'normal']),\n /**\n * Allows TableCells to inherit size of the Table.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * Set the header sticky.\n *\n * ⚠️ It doesn't work with IE11.\n * @default false\n */\n stickyHeader: PropTypes.bool,\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} : void 0;\nexport default Table;","import * as React from 'react';\n\n/**\n * @ignore - internal component.\n */\nconst TableContext = /*#__PURE__*/React.createContext();\nif (process.env.NODE_ENV !== 'production') {\n TableContext.displayName = 'TableContext';\n}\nexport default TableContext;","import * as React from 'react';\n\n/**\n * @ignore - internal component.\n */\nconst Tablelvl2Context = /*#__PURE__*/React.createContext();\nif (process.env.NODE_ENV !== 'production') {\n Tablelvl2Context.displayName = 'Tablelvl2Context';\n}\nexport default Tablelvl2Context;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getTableBodyUtilityClass(slot) {\n return generateUtilityClass('MuiTableBody', slot);\n}\nconst tableBodyClasses = generateUtilityClasses('MuiTableBody', ['root']);\nexport default tableBodyClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport Tablelvl2Context from '../Table/Tablelvl2Context';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport { getTableBodyUtilityClass } from './tableBodyClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTableBodyUtilityClass, classes);\n};\nconst TableBodyRoot = styled('tbody', {\n name: 'MuiTableBody',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'table-row-group'\n});\nconst tablelvl2 = {\n variant: 'body'\n};\nconst defaultComponent = 'tbody';\nconst TableBody = /*#__PURE__*/React.forwardRef(function TableBody(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTableBody'\n });\n const {\n className,\n component = defaultComponent\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(Tablelvl2Context.Provider, {\n value: tablelvl2,\n children: /*#__PURE__*/_jsx(TableBodyRoot, _extends({\n className: clsx(classes.root, className),\n as: component,\n ref: ref,\n role: component === defaultComponent ? null : 'rowgroup',\n ownerState: ownerState\n }, other))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? TableBody.propTypes /* remove-proptypes */ = {\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 * The content of the component, normally `TableRow`.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 * 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} : void 0;\nexport default TableBody;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getTableCellUtilityClass(slot) {\n return generateUtilityClass('MuiTableCell', slot);\n}\nconst tableCellClasses = generateUtilityClasses('MuiTableCell', ['root', 'head', 'body', 'footer', 'sizeSmall', 'sizeMedium', 'paddingCheckbox', 'paddingNone', 'alignLeft', 'alignCenter', 'alignRight', 'alignJustify', 'stickyHeader']);\nexport default tableCellClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"align\", \"className\", \"component\", \"padding\", \"scope\", \"size\", \"sortDirection\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { darken, alpha, lighten } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport TableContext from '../Table/TableContext';\nimport Tablelvl2Context from '../Table/Tablelvl2Context';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport tableCellClasses, { getTableCellUtilityClass } from './tableCellClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n align,\n padding,\n size,\n stickyHeader\n } = ownerState;\n const slots = {\n root: ['root', variant, stickyHeader && 'stickyHeader', align !== 'inherit' && `align${capitalize(align)}`, padding !== 'normal' && `padding${capitalize(padding)}`, `size${capitalize(size)}`]\n };\n return composeClasses(slots, getTableCellUtilityClass, classes);\n};\nconst TableCellRoot = styled('td', {\n name: 'MuiTableCell',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`size${capitalize(ownerState.size)}`], ownerState.padding !== 'normal' && styles[`padding${capitalize(ownerState.padding)}`], ownerState.align !== 'inherit' && styles[`align${capitalize(ownerState.align)}`], ownerState.stickyHeader && styles.stickyHeader];\n }\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body2, {\n display: 'table-cell',\n verticalAlign: 'inherit',\n // Workaround for a rendering bug with spanned columns in Chrome 62.0.\n // Removes the alpha (sets it to 1), and lightens or darkens the theme color.\n borderBottom: theme.vars ? `1px solid ${theme.vars.palette.TableCell.border}` : `1px solid\n ${theme.palette.mode === 'light' ? lighten(alpha(theme.palette.divider, 1), 0.88) : darken(alpha(theme.palette.divider, 1), 0.68)}`,\n textAlign: 'left',\n padding: 16\n}, ownerState.variant === 'head' && {\n color: (theme.vars || theme).palette.text.primary,\n lineHeight: theme.typography.pxToRem(24),\n fontWeight: theme.typography.fontWeightMedium\n}, ownerState.variant === 'body' && {\n color: (theme.vars || theme).palette.text.primary\n}, ownerState.variant === 'footer' && {\n color: (theme.vars || theme).palette.text.secondary,\n lineHeight: theme.typography.pxToRem(21),\n fontSize: theme.typography.pxToRem(12)\n}, ownerState.size === 'small' && {\n padding: '6px 16px',\n [`&.${tableCellClasses.paddingCheckbox}`]: {\n width: 24,\n // prevent the checkbox column from growing\n padding: '0 12px 0 16px',\n '& > *': {\n padding: 0\n }\n }\n}, ownerState.padding === 'checkbox' && {\n width: 48,\n // prevent the checkbox column from growing\n padding: '0 0 0 4px'\n}, ownerState.padding === 'none' && {\n padding: 0\n}, ownerState.align === 'left' && {\n textAlign: 'left'\n}, ownerState.align === 'center' && {\n textAlign: 'center'\n}, ownerState.align === 'right' && {\n textAlign: 'right',\n flexDirection: 'row-reverse'\n}, ownerState.align === 'justify' && {\n textAlign: 'justify'\n}, ownerState.stickyHeader && {\n position: 'sticky',\n top: 0,\n zIndex: 2,\n backgroundColor: (theme.vars || theme).palette.background.default\n}));\n\n/**\n * The component renders a `` element when the parent context is a header\n * or otherwise a `` element.\n */\nconst TableCell = /*#__PURE__*/React.forwardRef(function TableCell(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTableCell'\n });\n const {\n align = 'inherit',\n className,\n component: componentProp,\n padding: paddingProp,\n scope: scopeProp,\n size: sizeProp,\n sortDirection,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const table = React.useContext(TableContext);\n const tablelvl2 = React.useContext(Tablelvl2Context);\n const isHeadCell = tablelvl2 && tablelvl2.variant === 'head';\n let component;\n if (componentProp) {\n component = componentProp;\n } else {\n component = isHeadCell ? 'th' : 'td';\n }\n let scope = scopeProp;\n // scope is not a valid attribute for elements.\n // source: https://html.spec.whatwg.org/multipage/tables.html#the-td-element\n if (component === 'td') {\n scope = undefined;\n } else if (!scope && isHeadCell) {\n scope = 'col';\n }\n const variant = variantProp || tablelvl2 && tablelvl2.variant;\n const ownerState = _extends({}, props, {\n align,\n component,\n padding: paddingProp || (table && table.padding ? table.padding : 'normal'),\n size: sizeProp || (table && table.size ? table.size : 'medium'),\n sortDirection,\n stickyHeader: variant === 'head' && table && table.stickyHeader,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n let ariaSort = null;\n if (sortDirection) {\n ariaSort = sortDirection === 'asc' ? 'ascending' : 'descending';\n }\n return /*#__PURE__*/_jsx(TableCellRoot, _extends({\n as: component,\n ref: ref,\n className: clsx(classes.root, className),\n \"aria-sort\": ariaSort,\n scope: scope,\n ownerState: ownerState\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? TableCell.propTypes /* remove-proptypes */ = {\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 * Set the text-align on the table cell content.\n *\n * Monetary or generally number fields **should be right aligned** as that allows\n * you to add them up quickly in your head without having to worry about decimals.\n * @default 'inherit'\n */\n align: PropTypes.oneOf(['center', 'inherit', 'justify', 'left', 'right']),\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 * Sets the padding applied to the cell.\n * The prop defaults to the value (`'default'`) inherited from the parent Table component.\n */\n padding: PropTypes.oneOf(['checkbox', 'none', 'normal']),\n /**\n * Set scope attribute.\n */\n scope: PropTypes.string,\n /**\n * Specify the size of the cell.\n * The prop defaults to the value (`'medium'`) inherited from the parent Table component.\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * Set aria-sort direction.\n */\n sortDirection: PropTypes.oneOf(['asc', 'desc', false]),\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 * Specify the cell type.\n * The prop defaults to the value inherited from the parent TableHead, TableBody, or TableFooter components.\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['body', 'footer', 'head']), PropTypes.string])\n} : void 0;\nexport default TableCell;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getTableRowUtilityClass(slot) {\n return generateUtilityClass('MuiTableRow', slot);\n}\nconst tableRowClasses = generateUtilityClasses('MuiTableRow', ['root', 'selected', 'hover', 'head', 'footer']);\nexport default tableRowClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\", \"hover\", \"selected\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport Tablelvl2Context from '../Table/Tablelvl2Context';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport tableRowClasses, { getTableRowUtilityClass } from './tableRowClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n selected,\n hover,\n head,\n footer\n } = ownerState;\n const slots = {\n root: ['root', selected && 'selected', hover && 'hover', head && 'head', footer && 'footer']\n };\n return composeClasses(slots, getTableRowUtilityClass, classes);\n};\nconst TableRowRoot = styled('tr', {\n name: 'MuiTableRow',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.head && styles.head, ownerState.footer && styles.footer];\n }\n})(({\n theme\n}) => ({\n color: 'inherit',\n display: 'table-row',\n verticalAlign: 'middle',\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n [`&.${tableRowClasses.hover}:hover`]: {\n backgroundColor: (theme.vars || theme).palette.action.hover\n },\n [`&.${tableRowClasses.selected}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity)\n }\n }\n}));\nconst defaultComponent = 'tr';\n/**\n * Will automatically set dynamic row height\n * based on the material table element parent (head, body, etc).\n */\nconst TableRow = /*#__PURE__*/React.forwardRef(function TableRow(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTableRow'\n });\n const {\n className,\n component = defaultComponent,\n hover = false,\n selected = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const tablelvl2 = React.useContext(Tablelvl2Context);\n const ownerState = _extends({}, props, {\n component,\n hover,\n selected,\n head: tablelvl2 && tablelvl2.variant === 'head',\n footer: tablelvl2 && tablelvl2.variant === 'footer'\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(TableRowRoot, _extends({\n as: component,\n ref: ref,\n className: clsx(classes.root, className),\n role: component === defaultComponent ? null : 'row',\n ownerState: ownerState\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? TableRow.propTypes /* remove-proptypes */ = {\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 * Should be valid children such as `TableCell`.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 * If `true`, the table row will shade on hover.\n * @default false\n */\n hover: PropTypes.bool,\n /**\n * If `true`, the table row will have the selected shading.\n * @default false\n */\n selected: PropTypes.bool,\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} : void 0;\nexport default TableRow;"],"names":["getTableUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","TableRoot","styled","name","overridesResolver","props","styles","ownerState","root","stickyHeader","_ref","theme","_extends","display","width","borderCollapse","borderSpacing","typography","body2","padding","spacing","color","vars","palette","text","secondary","textAlign","captionSide","defaultComponent","React","inProps","ref","useThemeProps","className","_props$component","component","_props$padding","_props$size","size","_props$stickyHeader","other","_objectWithoutPropertiesLoose","classes","slots","composeClasses","useUtilityClasses","table","_jsx","TableContext","Provider","value","children","as","role","clsx","Tablelvl2Context","getTableBodyUtilityClass","TableBodyRoot","tablelvl2","variant","getTableCellUtilityClass","TableCellRoot","concat","capitalize","align","verticalAlign","borderBottom","TableCell","border","mode","lighten","alpha","divider","darken","primary","lineHeight","pxToRem","fontWeight","fontWeightMedium","fontSize","_defineProperty","tableCellClasses","paddingCheckbox","flexDirection","position","top","zIndex","backgroundColor","background","default","_props$align","componentProp","paddingProp","scopeProp","scope","sizeProp","sortDirection","variantProp","isHeadCell","undefined","ariaSort","getTableRowUtilityClass","TableRowRoot","head","footer","_ref2","outline","tableRowClasses","hover","action","selected","mainChannel","selectedOpacity","main","hoverOpacity","_props$hover","_props$selected"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/3801.e125737d.chunk.js","mappings":"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","sources":["../node_modules/@mui/material/Table/tableClasses.js","../node_modules/@mui/material/Table/Table.js","../node_modules/@mui/material/Table/TableContext.js","../node_modules/@mui/material/Table/Tablelvl2Context.js","../node_modules/@mui/material/TableBody/tableBodyClasses.js","../node_modules/@mui/material/TableBody/TableBody.js","../node_modules/@mui/material/TableCell/tableCellClasses.js","../node_modules/@mui/material/TableCell/TableCell.js","../node_modules/@mui/material/TableRow/tableRowClasses.js","../node_modules/@mui/material/TableRow/TableRow.js"],"sourcesContent":["import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getTableUtilityClass(slot) {\n return generateUtilityClass('MuiTable', slot);\n}\nconst tableClasses = generateUtilityClasses('MuiTable', ['root', 'stickyHeader']);\nexport default tableClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"component\", \"padding\", \"size\", \"stickyHeader\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport TableContext from './TableContext';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport { getTableUtilityClass } from './tableClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n stickyHeader\n } = ownerState;\n const slots = {\n root: ['root', stickyHeader && 'stickyHeader']\n };\n return composeClasses(slots, getTableUtilityClass, classes);\n};\nconst TableRoot = styled('table', {\n name: 'MuiTable',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.stickyHeader && styles.stickyHeader];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'table',\n width: '100%',\n borderCollapse: 'collapse',\n borderSpacing: 0,\n '& caption': _extends({}, theme.typography.body2, {\n padding: theme.spacing(2),\n color: (theme.vars || theme).palette.text.secondary,\n textAlign: 'left',\n captionSide: 'bottom'\n })\n}, ownerState.stickyHeader && {\n borderCollapse: 'separate'\n}));\nconst defaultComponent = 'table';\nconst Table = /*#__PURE__*/React.forwardRef(function Table(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTable'\n });\n const {\n className,\n component = defaultComponent,\n padding = 'normal',\n size = 'medium',\n stickyHeader = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component,\n padding,\n size,\n stickyHeader\n });\n const classes = useUtilityClasses(ownerState);\n const table = React.useMemo(() => ({\n padding,\n size,\n stickyHeader\n }), [padding, size, stickyHeader]);\n return /*#__PURE__*/_jsx(TableContext.Provider, {\n value: table,\n children: /*#__PURE__*/_jsx(TableRoot, _extends({\n as: component,\n role: component === defaultComponent ? null : 'table',\n ref: ref,\n className: clsx(classes.root, className),\n ownerState: ownerState\n }, other))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Table.propTypes /* remove-proptypes */ = {\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 * The content of the table, normally `TableHead` and `TableBody`.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 * Allows TableCells to inherit padding of the Table.\n * @default 'normal'\n */\n padding: PropTypes.oneOf(['checkbox', 'none', 'normal']),\n /**\n * Allows TableCells to inherit size of the Table.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * Set the header sticky.\n *\n * ⚠️ It doesn't work with IE11.\n * @default false\n */\n stickyHeader: PropTypes.bool,\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} : void 0;\nexport default Table;","'use client';\n\nimport * as React from 'react';\n\n/**\n * @ignore - internal component.\n */\nconst TableContext = /*#__PURE__*/React.createContext();\nif (process.env.NODE_ENV !== 'production') {\n TableContext.displayName = 'TableContext';\n}\nexport default TableContext;","import * as React from 'react';\n\n/**\n * @ignore - internal component.\n */\nconst Tablelvl2Context = /*#__PURE__*/React.createContext();\nif (process.env.NODE_ENV !== 'production') {\n Tablelvl2Context.displayName = 'Tablelvl2Context';\n}\nexport default Tablelvl2Context;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getTableBodyUtilityClass(slot) {\n return generateUtilityClass('MuiTableBody', slot);\n}\nconst tableBodyClasses = generateUtilityClasses('MuiTableBody', ['root']);\nexport default tableBodyClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport Tablelvl2Context from '../Table/Tablelvl2Context';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport { getTableBodyUtilityClass } from './tableBodyClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTableBodyUtilityClass, classes);\n};\nconst TableBodyRoot = styled('tbody', {\n name: 'MuiTableBody',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'table-row-group'\n});\nconst tablelvl2 = {\n variant: 'body'\n};\nconst defaultComponent = 'tbody';\nconst TableBody = /*#__PURE__*/React.forwardRef(function TableBody(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTableBody'\n });\n const {\n className,\n component = defaultComponent\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(Tablelvl2Context.Provider, {\n value: tablelvl2,\n children: /*#__PURE__*/_jsx(TableBodyRoot, _extends({\n className: clsx(classes.root, className),\n as: component,\n ref: ref,\n role: component === defaultComponent ? null : 'rowgroup',\n ownerState: ownerState\n }, other))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? TableBody.propTypes /* remove-proptypes */ = {\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 * The content of the component, normally `TableRow`.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 * 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} : void 0;\nexport default TableBody;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getTableCellUtilityClass(slot) {\n return generateUtilityClass('MuiTableCell', slot);\n}\nconst tableCellClasses = generateUtilityClasses('MuiTableCell', ['root', 'head', 'body', 'footer', 'sizeSmall', 'sizeMedium', 'paddingCheckbox', 'paddingNone', 'alignLeft', 'alignCenter', 'alignRight', 'alignJustify', 'stickyHeader']);\nexport default tableCellClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"align\", \"className\", \"component\", \"padding\", \"scope\", \"size\", \"sortDirection\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { darken, alpha, lighten } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport TableContext from '../Table/TableContext';\nimport Tablelvl2Context from '../Table/Tablelvl2Context';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport tableCellClasses, { getTableCellUtilityClass } from './tableCellClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n align,\n padding,\n size,\n stickyHeader\n } = ownerState;\n const slots = {\n root: ['root', variant, stickyHeader && 'stickyHeader', align !== 'inherit' && `align${capitalize(align)}`, padding !== 'normal' && `padding${capitalize(padding)}`, `size${capitalize(size)}`]\n };\n return composeClasses(slots, getTableCellUtilityClass, classes);\n};\nconst TableCellRoot = styled('td', {\n name: 'MuiTableCell',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`size${capitalize(ownerState.size)}`], ownerState.padding !== 'normal' && styles[`padding${capitalize(ownerState.padding)}`], ownerState.align !== 'inherit' && styles[`align${capitalize(ownerState.align)}`], ownerState.stickyHeader && styles.stickyHeader];\n }\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body2, {\n display: 'table-cell',\n verticalAlign: 'inherit',\n // Workaround for a rendering bug with spanned columns in Chrome 62.0.\n // Removes the alpha (sets it to 1), and lightens or darkens the theme color.\n borderBottom: theme.vars ? `1px solid ${theme.vars.palette.TableCell.border}` : `1px solid\n ${theme.palette.mode === 'light' ? lighten(alpha(theme.palette.divider, 1), 0.88) : darken(alpha(theme.palette.divider, 1), 0.68)}`,\n textAlign: 'left',\n padding: 16\n}, ownerState.variant === 'head' && {\n color: (theme.vars || theme).palette.text.primary,\n lineHeight: theme.typography.pxToRem(24),\n fontWeight: theme.typography.fontWeightMedium\n}, ownerState.variant === 'body' && {\n color: (theme.vars || theme).palette.text.primary\n}, ownerState.variant === 'footer' && {\n color: (theme.vars || theme).palette.text.secondary,\n lineHeight: theme.typography.pxToRem(21),\n fontSize: theme.typography.pxToRem(12)\n}, ownerState.size === 'small' && {\n padding: '6px 16px',\n [`&.${tableCellClasses.paddingCheckbox}`]: {\n width: 24,\n // prevent the checkbox column from growing\n padding: '0 12px 0 16px',\n '& > *': {\n padding: 0\n }\n }\n}, ownerState.padding === 'checkbox' && {\n width: 48,\n // prevent the checkbox column from growing\n padding: '0 0 0 4px'\n}, ownerState.padding === 'none' && {\n padding: 0\n}, ownerState.align === 'left' && {\n textAlign: 'left'\n}, ownerState.align === 'center' && {\n textAlign: 'center'\n}, ownerState.align === 'right' && {\n textAlign: 'right',\n flexDirection: 'row-reverse'\n}, ownerState.align === 'justify' && {\n textAlign: 'justify'\n}, ownerState.stickyHeader && {\n position: 'sticky',\n top: 0,\n zIndex: 2,\n backgroundColor: (theme.vars || theme).palette.background.default\n}));\n\n/**\n * The component renders a `` element when the parent context is a header\n * or otherwise a `` element.\n */\nconst TableCell = /*#__PURE__*/React.forwardRef(function TableCell(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTableCell'\n });\n const {\n align = 'inherit',\n className,\n component: componentProp,\n padding: paddingProp,\n scope: scopeProp,\n size: sizeProp,\n sortDirection,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const table = React.useContext(TableContext);\n const tablelvl2 = React.useContext(Tablelvl2Context);\n const isHeadCell = tablelvl2 && tablelvl2.variant === 'head';\n let component;\n if (componentProp) {\n component = componentProp;\n } else {\n component = isHeadCell ? 'th' : 'td';\n }\n let scope = scopeProp;\n // scope is not a valid attribute for elements.\n // source: https://html.spec.whatwg.org/multipage/tables.html#the-td-element\n if (component === 'td') {\n scope = undefined;\n } else if (!scope && isHeadCell) {\n scope = 'col';\n }\n const variant = variantProp || tablelvl2 && tablelvl2.variant;\n const ownerState = _extends({}, props, {\n align,\n component,\n padding: paddingProp || (table && table.padding ? table.padding : 'normal'),\n size: sizeProp || (table && table.size ? table.size : 'medium'),\n sortDirection,\n stickyHeader: variant === 'head' && table && table.stickyHeader,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n let ariaSort = null;\n if (sortDirection) {\n ariaSort = sortDirection === 'asc' ? 'ascending' : 'descending';\n }\n return /*#__PURE__*/_jsx(TableCellRoot, _extends({\n as: component,\n ref: ref,\n className: clsx(classes.root, className),\n \"aria-sort\": ariaSort,\n scope: scope,\n ownerState: ownerState\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? TableCell.propTypes /* remove-proptypes */ = {\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 * Set the text-align on the table cell content.\n *\n * Monetary or generally number fields **should be right aligned** as that allows\n * you to add them up quickly in your head without having to worry about decimals.\n * @default 'inherit'\n */\n align: PropTypes.oneOf(['center', 'inherit', 'justify', 'left', 'right']),\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 * Sets the padding applied to the cell.\n * The prop defaults to the value (`'default'`) inherited from the parent Table component.\n */\n padding: PropTypes.oneOf(['checkbox', 'none', 'normal']),\n /**\n * Set scope attribute.\n */\n scope: PropTypes.string,\n /**\n * Specify the size of the cell.\n * The prop defaults to the value (`'medium'`) inherited from the parent Table component.\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * Set aria-sort direction.\n */\n sortDirection: PropTypes.oneOf(['asc', 'desc', false]),\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 * Specify the cell type.\n * The prop defaults to the value inherited from the parent TableHead, TableBody, or TableFooter components.\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['body', 'footer', 'head']), PropTypes.string])\n} : void 0;\nexport default TableCell;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getTableRowUtilityClass(slot) {\n return generateUtilityClass('MuiTableRow', slot);\n}\nconst tableRowClasses = generateUtilityClasses('MuiTableRow', ['root', 'selected', 'hover', 'head', 'footer']);\nexport default tableRowClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\", \"hover\", \"selected\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport Tablelvl2Context from '../Table/Tablelvl2Context';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport tableRowClasses, { getTableRowUtilityClass } from './tableRowClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n selected,\n hover,\n head,\n footer\n } = ownerState;\n const slots = {\n root: ['root', selected && 'selected', hover && 'hover', head && 'head', footer && 'footer']\n };\n return composeClasses(slots, getTableRowUtilityClass, classes);\n};\nconst TableRowRoot = styled('tr', {\n name: 'MuiTableRow',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.head && styles.head, ownerState.footer && styles.footer];\n }\n})(({\n theme\n}) => ({\n color: 'inherit',\n display: 'table-row',\n verticalAlign: 'middle',\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n [`&.${tableRowClasses.hover}:hover`]: {\n backgroundColor: (theme.vars || theme).palette.action.hover\n },\n [`&.${tableRowClasses.selected}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity)\n }\n }\n}));\nconst defaultComponent = 'tr';\n/**\n * Will automatically set dynamic row height\n * based on the material table element parent (head, body, etc).\n */\nconst TableRow = /*#__PURE__*/React.forwardRef(function TableRow(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTableRow'\n });\n const {\n className,\n component = defaultComponent,\n hover = false,\n selected = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const tablelvl2 = React.useContext(Tablelvl2Context);\n const ownerState = _extends({}, props, {\n component,\n hover,\n selected,\n head: tablelvl2 && tablelvl2.variant === 'head',\n footer: tablelvl2 && tablelvl2.variant === 'footer'\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(TableRowRoot, _extends({\n as: component,\n ref: ref,\n className: clsx(classes.root, className),\n role: component === defaultComponent ? null : 'row',\n ownerState: ownerState\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? TableRow.propTypes /* remove-proptypes */ = {\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 * Should be valid children such as `TableCell`.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 * If `true`, the table row will shade on hover.\n * @default false\n */\n hover: PropTypes.bool,\n /**\n * If `true`, the table row will have the selected shading.\n * @default false\n */\n selected: PropTypes.bool,\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} : void 0;\nexport default TableRow;"],"names":["getTableUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","TableRoot","styled","name","overridesResolver","props","styles","ownerState","root","stickyHeader","_ref","theme","_extends","display","width","borderCollapse","borderSpacing","typography","body2","padding","spacing","color","vars","palette","text","secondary","textAlign","captionSide","defaultComponent","React","inProps","ref","useThemeProps","className","_props$component","component","_props$padding","_props$size","size","_props$stickyHeader","other","_objectWithoutPropertiesLoose","classes","slots","composeClasses","useUtilityClasses","table","_jsx","TableContext","Provider","value","children","as","role","clsx","Tablelvl2Context","getTableBodyUtilityClass","TableBodyRoot","tablelvl2","variant","getTableCellUtilityClass","TableCellRoot","concat","capitalize","align","verticalAlign","borderBottom","TableCell","border","mode","lighten","alpha","divider","darken","primary","lineHeight","pxToRem","fontWeight","fontWeightMedium","fontSize","_defineProperty","tableCellClasses","paddingCheckbox","flexDirection","position","top","zIndex","backgroundColor","background","default","_props$align","componentProp","paddingProp","scopeProp","scope","sizeProp","sortDirection","variantProp","isHeadCell","undefined","ariaSort","getTableRowUtilityClass","TableRowRoot","head","footer","_ref2","outline","tableRowClasses","hover","action","selected","mainChannel","selectedOpacity","main","hoverOpacity","_props$hover","_props$selected"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3989.d6c1eb51.chunk.js b/portal-ui/build/static/js/3989.d6c1eb51.chunk.js new file mode 100644 index 000000000..55d367e80 --- /dev/null +++ b/portal-ui/build/static/js/3989.d6c1eb51.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3989],{93989:function(e,t,n){n.r(t),n.d(t,{default:function(){return R}});var s=n(29439),i=n(72791),l=n(26181),a=n.n(l),c=n(78687),r=n(57689),o=n(31776),u=n(82342),d=n(29945),x=n(23814),f=n(56087),h=n(38442),j=n(87995),p=n(9859),m=n(81551),v=n(84861),S=n(80184),_=function(e){var t,n,s=e.versioningState,i=void 0===s?{}:s;return(0,S.jsxs)(d.xuv,{sx:{display:"flex",flexDirection:"column",gap:2},children:[(0,S.jsx)(d.xuv,{sx:{fontWeight:"medium",display:"flex",gap:2},children:i.excludeFolders?(0,S.jsx)(v.Z,{icon:i.excludeFolders?(0,S.jsx)(d.E31,{style:{color:"green"}}):(0,S.jsx)(d.dRf,{}),label:(0,S.jsx)("label",{style:{textDecoration:"normal"},children:"Exclude Folders"})}):null}),null!==(t=i.excludedPrefixes)&&void 0!==t&&t.length?(0,S.jsxs)(d.xuv,{sx:{fontWeight:"medium",display:"flex",justifyItems:"end",placeItems:"flex-start",flexDirection:"column",gap:1},children:[(0,S.jsx)(d.xuv,{children:"Excluded Prefixes :"}),(0,S.jsx)("div",{style:{maxHeight:"200px",overflowY:"auto",placeItems:"flex-start",justifyItems:"end",flexDirection:"column",display:"flex"},children:null===(n=i.excludedPrefixes)||void 0===n?void 0:n.map((function(e){return(0,S.jsx)("div",{children:(0,S.jsx)("strong",{children:e.prefix})})}))})]}):null]})},T=n(75578),g=n(1413),E=n(45987),b=["disabled","onClick"],C=function(e){var t=e.disabled,n=e.onClick,s=(0,E.Z)(e,b);return(0,S.jsx)(d.hU,(0,g.Z)((0,g.Z)({size:"small",disabled:t,onClick:n},s),{},{children:(0,S.jsx)(d.dY8,{})}))},I=function(e){var t=e.resourceName,n=e.iamScopes,s=e.secureCmpProps,i=void 0===s?{}:s,l=e.children;return(0,S.jsx)(h.s,(0,g.Z)((0,g.Z)({scopes:n,resource:t,errorProps:{disabled:!0}},i),{},{children:l}))},N=function(e){var t=e.isLoading,n=void 0===t||t,s=e.resourceName,i=void 0===s?"":s,l=e.iamScopes,a=e.secureCmpProps,c=void 0===a?{}:a,r=e.property,o=void 0===r?null:r,u=e.value,x=void 0===u?null:u,f=e.onEdit,h=e.disabled,j=void 0!==h&&h;return(0,S.jsxs)(d.xuv,{sx:{display:"flex",alignItems:"baseline",justifyContent:"flex-start",gap:10},children:[(0,S.jsx)(d.kKA,{label:o,value:(0,S.jsx)(I,{resourceName:i,iamScopes:l,secureCmpProps:c,children:(0,S.jsx)(d.vmT,{isLoading:n,onClick:f,label:x,sx:{fontWeight:"bold"},disabled:j})})}),(0,S.jsx)(I,{resourceName:i,iamScopes:l,secureCmpProps:c,children:(0,S.jsx)(C,{onClick:f,sx:{background:"#f8f8f8",marginLeft:"3px",top:3,"& .min-icon":{width:"16px",height:"16px"}},disabled:j})})]})},y=n(45248),O=function(e){var t=e.bucketSize;return(0,S.jsxs)(d.xuv,{sx:{display:"flex",alignItems:"center","& .min-icon":{height:37,width:37}},children:[(0,S.jsx)(d.Mhr,{}),(0,S.jsxs)(d.xuv,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"center",flexFlow:"column",marginLeft:"20px",fontSize:"19px"},children:[(0,S.jsx)("label",{style:{fontWeight:600},children:"Reported Usage:"}),(0,S.jsx)("label",{children:(0,y.ae)(t)})]})]})},k=function(e){var t=e.quota;return(0,S.jsxs)(d.xuv,{sx:{display:"flex",alignItems:"center","& .min-icon":{height:37,width:37}},children:[(0,S.jsx)(d.sjJ,{}),(0,S.jsxs)(d.xuv,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"center",flexFlow:"column",marginLeft:"20px",fontSize:"19px"},children:[(0,S.jsxs)("label",{style:{fontWeight:600,textTransform:"capitalize"},children:[null===t||void 0===t?void 0:t.type," Quota"]}),(0,S.jsxs)("label",{children:[" ",(0,y.ae)("".concat(null===t||void 0===t?void 0:t.quota),!0)]})]})]})},Z=(0,T.Z)(i.lazy((function(){return n.e(3690).then(n.bind(n,33690))}))),F=(0,T.Z)(i.lazy((function(){return n.e(1604).then(n.bind(n,1604))}))),A=(0,T.Z)(i.lazy((function(){return n.e(9952).then(n.bind(n,99952))}))),U=(0,T.Z)(i.lazy((function(){return n.e(402).then(n.bind(n,70402))}))),B=(0,T.Z)(i.lazy((function(){return n.e(1705).then(n.bind(n,71705))}))),G=(0,T.Z)(i.lazy((function(){return Promise.all([n.e(5473),n.e(1715),n.e(1581)]).then(n.bind(n,1581))}))),R=function(){var e,t=(0,m.TL)(),n=(0,r.UO)(),l=(0,c.v9)(p.HQ),T=(0,c.v9)(p.G6),g=(0,c.v9)(j.N5),E=(0,i.useState)(null),b=(0,s.Z)(E,2),C=b[0],I=b[1],y=(0,i.useState)("0"),R=(0,s.Z)(y,2),P=R[0],K=R[1],L=(0,i.useState)(!1),D=(0,s.Z)(L,2),z=D[0],w=D[1],M=(0,i.useState)(!1),Y=(0,s.Z)(M,2),Q=Y[0],V=Y[1],W=(0,i.useState)(!1),q=(0,s.Z)(W,2),J=q[0],H=q[1],X=(0,i.useState)(!0),$=(0,s.Z)(X,2),ee=$[0],te=$[1],ne=(0,i.useState)(!0),se=(0,s.Z)(ne,2),ie=se[0],le=se[1],ae=(0,i.useState)(!0),ce=(0,s.Z)(ae,2),re=ce[0],oe=ce[1],ue=(0,i.useState)(!0),de=(0,s.Z)(ue,2),xe=de[0],fe=de[1],he=(0,i.useState)(!0),je=(0,s.Z)(he,2),pe=je[0],me=je[1],ve=(0,i.useState)(!0),Se=(0,s.Z)(ve,2),_e=Se[0],Te=Se[1],ge=(0,i.useState)(!0),Ee=(0,s.Z)(ge,2),be=Ee[0],Ce=Ee[1],Ie=(0,i.useState)(!0),Ne=(0,s.Z)(Ie,2),ye=Ne[0],Oe=Ne[1],ke=(0,i.useState)(),Ze=(0,s.Z)(ke,2),Fe=Ze[0],Ae=Ze[1],Ue=(0,i.useState)(!1),Be=(0,s.Z)(Ue,2),Ge=Be[0],Re=Be[1],Pe=(0,i.useState)(null),Ke=(0,s.Z)(Pe,2),Le=Ke[0],De=Ke[1],ze=(0,i.useState)(!1),we=(0,s.Z)(ze,2),Me=we[0],Ye=we[1],Qe=(0,i.useState)(!1),Ve=(0,s.Z)(Qe,2),We=Ve[0],qe=Ve[1],Je=(0,i.useState)(null),He=(0,s.Z)(Je,2),Xe=He[0],$e=He[1],et=(0,i.useState)(!1),tt=(0,s.Z)(et,2),nt=tt[0],st=tt[1],it=(0,i.useState)(!1),lt=(0,s.Z)(it,2),at=lt[0],ct=lt[1],rt=(0,i.useState)(!1),ot=(0,s.Z)(rt,2),ut=ot[0],dt=ot[1],xt=(0,i.useState)(!1),ft=(0,s.Z)(xt,2),ht=ft[0],jt=ft[1];(0,i.useEffect)((function(){t((0,j.Sc)("bucket_detail_summary"))}),[]);var pt=n.bucketName||"",mt="n/a",vt="";null!==T&&T.access&&T.definition&&(mt=T.access,vt=T.definition);var St=(0,h.F)(pt,[f.Ft.S3_GET_BUCKET_OBJECT_LOCK_CONFIGURATION,f.Ft.S3_GET_ACTIONS]),_t=(0,h.F)(pt,[f.Ft.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION,f.Ft.S3_GET_ACTIONS]),Tt=(0,h.F)(pt,[f.Ft.ADMIN_GET_BUCKET_QUOTA]);(0,i.useEffect)((function(){oe(!!l)}),[l,oe]),(0,i.useEffect)((function(){xe&&(_t?o.h.buckets.getBucketEncryptionInfo(pt).then((function(e){e.data.algorithm&&(Ye(!0),I(e.data)),fe(!1)})).catch((function(e){"The server side encryption configuration was not found"===(e=(0,u.g)(e.error)).errorMessage&&(Ye(!1),I(null)),fe(!1)})):(Ye(!1),I(null),fe(!1)))}),[xe,pt,_t]),(0,i.useEffect)((function(){pe&&g&&o.h.buckets.getBucketVersioning(pt).then((function(e){Ae(e.data),me(!1)})).catch((function(e){t((0,j.Ih)((0,u.g)(e.error))),me(!1)}))}),[pe,t,pt,g]),(0,i.useEffect)((function(){_e&&g&&(Tt?o.h.buckets.getBucketQuota(pt).then((function(e){De(e.data),e.data.quota?Re(!0):Re(!1),Te(!1)})).catch((function(e){t((0,j.Ih)((0,u.g)(e.error))),Re(!1),Te(!1)})):(Re(!1),Te(!1)))}),[_e,me,t,pt,g,Tt]),(0,i.useEffect)((function(){pe&&g&&(St?o.h.buckets.getBucketObjectLockingStatus(pt).then((function(e){w(e.data.object_locking_enabled),te(!1)})).catch((function(e){t((0,j.Ih)((0,u.g)(e.error))),te(!1)})):te(!1))}),[ee,t,pt,pe,g,St]),(0,i.useEffect)((function(){ie&&o.h.buckets.listBuckets().then((function(e){var t=a()(e.data,"buckets",[]).find((function(e){return e.name===pt})),n=a()(t,"size","0");le(!1),K(n)})).catch((function(e){le(!1),t((0,j.Ih)((0,u.g)(e.error)))}))}),[ie,t,pt]),(0,i.useEffect)((function(){be&&g&&o.h.buckets.getBucketReplication(pt).then((function(e){var t=e.data.rules?e.data.rules:[];H(t.length>0),Ce(!1)})).catch((function(e){t((0,j.Ih)((0,u.g)(e.error))),Ce(!1)}))}),[be,t,pt,g]),(0,i.useEffect)((function(){ye&&z&&o.h.buckets.getBucketRetentionConfig(pt).then((function(e){Oe(!1),qe(!0),$e(e.data)})).catch((function(e){qe(!1),Oe(!1),$e(null)}))}),[ye,z,pt]);var gt=function(){t((0,p.d5)(!0)),oe(!0),le(!0),me(!0),fe(!0),Oe(!0)},Et=null===Fe||void 0===Fe?void 0:Fe.status,bt="Unversioned (Default)";return"Enabled"===Et?bt="Versioned":"Suspended"===Et&&(bt="Suspended"),(0,S.jsxs)(i.Fragment,{children:[at&&(0,S.jsx)(A,{open:at,selectedBucket:pt,encryptionEnabled:Me,encryptionCfg:C,closeModalAndRefresh:function(){ct(!1),fe(!0)}}),ut&&(0,S.jsx)(G,{open:ut,selectedBucket:pt,enabled:Ge,cfg:Le,closeModalAndRefresh:function(){dt(!1),Te(!0)}}),Q&&(0,S.jsx)(Z,{bucketName:pt,open:Q,actualPolicy:mt,actualDefinition:vt,closeModalAndRefresh:function(){V(!1),gt()}}),nt&&(0,S.jsx)(F,{bucketName:pt,open:nt,closeModalAndRefresh:function(){st(!1),gt()}}),ht&&(0,S.jsx)(U,{closeVersioningModalAndRefresh:function(e){jt(!1),e&>()},modalOpen:ht,selectedBucket:pt,versioningInfo:Fe,objectLockingEnabled:!!z}),(0,S.jsx)(d.NZf,{separator:!0,sx:{marginBottom:15},children:"Summary"}),(0,S.jsxs)(d.rjZ,{container:!0,children:[(0,S.jsx)(h.s,{scopes:[f.Ft.S3_GET_BUCKET_POLICY,f.Ft.S3_GET_ACTIONS],resource:pt,children:(0,S.jsx)(d.rjZ,{item:!0,xs:12,children:(0,S.jsxs)(d.xuv,{sx:x.nl,children:[(0,S.jsxs)(d.xuv,{sx:x.nl,children:[(0,S.jsx)(h.s,{scopes:[f.Ft.S3_GET_BUCKET_POLICY,f.Ft.S3_GET_ACTIONS],resource:pt,children:(0,S.jsx)(N,{iamScopes:[f.Ft.S3_PUT_BUCKET_POLICY,f.Ft.S3_PUT_ACTIONS],resourceName:pt,property:"Access Policy:",value:mt.toLowerCase(),onEdit:function(){V(!0)},isLoading:re})}),(0,S.jsx)(h.s,{scopes:[f.Ft.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION,f.Ft.S3_GET_ACTIONS],resource:pt,children:(0,S.jsx)(N,{iamScopes:[f.Ft.S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION,f.Ft.S3_PUT_ACTIONS],resourceName:pt,property:"Encryption:",value:Me?"Enabled":"Disabled",onEdit:function(){ct(!0)},isLoading:xe})}),(0,S.jsx)(h.s,{scopes:[f.Ft.S3_GET_REPLICATION_CONFIGURATION,f.Ft.S3_GET_ACTIONS],resource:pt,children:(0,S.jsx)(d.kKA,{label:"Replication:",value:(0,S.jsx)(v.Z,{icon:J?(0,S.jsx)(d.E31,{}):(0,S.jsx)(d.dRf,{}),label:(0,S.jsx)("label",{className:"muted",children:J?"Enabled":"Disabled"})})})}),(0,S.jsx)(h.s,{scopes:[f.Ft.S3_GET_BUCKET_OBJECT_LOCK_CONFIGURATION,f.Ft.S3_GET_ACTIONS],resource:pt,children:(0,S.jsx)(d.kKA,{label:"Object Locking:",value:(0,S.jsx)(v.Z,{icon:z?(0,S.jsx)(d.E31,{}):(0,S.jsx)(d.dRf,{}),label:(0,S.jsx)("label",{className:"muted",children:z?"Enabled":"Disabled"})})})}),(0,S.jsx)(d.xuv,{children:(0,S.jsx)(d.kKA,{label:"Tags:",value:(0,S.jsx)(B,{bucketName:pt})})}),(0,S.jsx)(N,{iamScopes:[f.Ft.ADMIN_SET_BUCKET_QUOTA],resourceName:pt,property:"Quota:",value:Ge?"Enabled":"Disabled",onEdit:function(){dt(!0)},isLoading:_e})]}),(0,S.jsxs)(d.xuv,{sx:{display:"grid",gridTemplateColumns:"1fr",alignItems:"flex-start"},children:[(0,S.jsx)(O,{bucketSize:"".concat(P)}),Ge&&Le?(0,S.jsx)(k,{quota:Le}):null]})]})})}),g&&(0,S.jsx)(h.s,{scopes:[f.Ft.S3_GET_BUCKET_VERSIONING,f.Ft.S3_GET_ACTIONS],resource:pt,children:(0,S.jsxs)(d.rjZ,{item:!0,xs:12,sx:{marginTop:5},children:[(0,S.jsx)(d.NZf,{separator:!0,sx:{marginBottom:15},children:"Versioning"}),(0,S.jsx)(d.xuv,{sx:x.nl,children:(0,S.jsxs)(d.xuv,{sx:x.nl,children:[(0,S.jsx)(N,{iamScopes:[f.Ft.S3_PUT_BUCKET_VERSIONING,f.Ft.S3_PUT_ACTIONS],resourceName:pt,property:"Current Status:",value:(0,S.jsx)(d.xuv,{sx:{display:"flex",flexDirection:"column",textDecorationStyle:"initial",placeItems:"flex-start",justifyItems:"flex-start",gap:3},children:(0,S.jsxs)("div",{children:[" ",bt]})}),onEdit:function(){jt(!0)},isLoading:pe,disabled:z}),"Enabled"===(null===Fe||void 0===Fe?void 0:Fe.status)?(0,S.jsx)(_,{versioningState:Fe}):null]})})]})}),z&&(0,S.jsx)(h.s,{scopes:[f.Ft.S3_GET_OBJECT_RETENTION,f.Ft.S3_GET_ACTIONS],resource:pt,children:(0,S.jsxs)(d.rjZ,{item:!0,xs:12,sx:{marginTop:5},children:[(0,S.jsx)(d.NZf,{separator:!0,sx:{marginBottom:15},children:"Retention"}),(0,S.jsx)(d.xuv,{sx:x.nl,children:(0,S.jsxs)(d.xuv,{sx:x.nl,children:[(0,S.jsx)(N,{iamScopes:[f.Ft.ADMIN_SET_BUCKET_QUOTA],resourceName:pt,property:"Retention:",value:We?"Enabled":"Disabled",onEdit:function(){st(!0)},isLoading:ye}),(0,S.jsx)(d.kKA,{label:"Mode:",value:(0,S.jsx)("label",{className:"muted",style:{textTransform:"capitalize"},children:Xe&&Xe.mode?Xe.mode:"-"})}),(0,S.jsx)(d.kKA,{label:"Validity:",value:(0,S.jsxs)("label",{className:"muted",style:{textTransform:"capitalize"},children:[Xe&&Xe.validity," ",Xe&&(1===Xe.validity?null===(e=Xe.unit)||void 0===e?void 0:e.slice(0,-1):Xe.unit)]})})]})})]})})]})]})}},84861:function(e,t,n){n(72791);var s=n(29945),i=n(80184);t.Z=function(e){var t=e.icon,n=void 0===t?null:t,l=e.label,a=void 0===l?null:l;return(0,i.jsxs)(s.xuv,{sx:{display:"flex",alignItems:"center",gap:5,marginTop:3},children:[(0,i.jsx)(s.xuv,{sx:{height:16,width:16,display:"flex",alignItems:"center"},children:n}),(0,i.jsx)(s.xuv,{children:a})]})}}}]); +//# sourceMappingURL=3989.d6c1eb51.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3989.d6c1eb51.chunk.js.map b/portal-ui/build/static/js/3989.d6c1eb51.chunk.js.map new file mode 100644 index 000000000..dab47de07 --- /dev/null +++ b/portal-ui/build/static/js/3989.d6c1eb51.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3989.d6c1eb51.chunk.js","mappings":"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","sources":["screens/Console/Buckets/VersioningInfo.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/EditActionButton.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/EditablePropertyItem.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/ReportedUsage.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/BucketQuotaSize.tsx","screens/Console/Buckets/BucketDetails/BucketSummaryPanel.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/LabelWithIcon.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2023 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 { DisabledIcon, EnabledIcon, Box } from \"mds\";\nimport { BucketVersioningResponse } from \"api/consoleApi\";\nimport LabelWithIcon from \"./BucketDetails/SummaryItems/LabelWithIcon\";\n\nconst VersioningInfo = ({\n versioningState = {},\n}: {\n versioningState?: BucketVersioningResponse;\n}) => {\n return (\n \n \n {versioningState.excludeFolders ? (\n \n ) : (\n \n )\n }\n label={\n \n }\n />\n ) : null}\n \n {versioningState.excludedPrefixes?.length ? (\n \n Excluded Prefixes :\n \n {versioningState.excludedPrefixes?.map((it) => (\n
\n {it.prefix}\n
\n ))}\n \n \n ) : null}\n \n );\n};\n\nexport default VersioningInfo;\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 { EditIcon, IconButton } from \"mds\";\n\ntype EditActionButtonProps = {\n disabled?: boolean;\n onClick: () => void | any;\n [x: string]: any;\n};\n\nconst EditActionButton = ({\n disabled,\n onClick,\n ...restProps\n}: EditActionButtonProps) => {\n return (\n \n \n \n );\n};\n\nexport default EditActionButton;\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 { ActionLink, Box, ValuePair } from \"mds\";\nimport { SecureComponent } from \"../../../../../common/SecureComponent\";\n\nimport EditActionButton from \"./EditActionButton\";\n\ntype EditablePropertyItemProps = {\n isLoading: boolean;\n resourceName: string;\n iamScopes: string[];\n property: any;\n value: any;\n onEdit: () => void;\n secureCmpProps?: Record;\n disabled?: boolean;\n};\n\nconst SecureAction = ({\n resourceName,\n iamScopes,\n secureCmpProps = {},\n children,\n}: {\n resourceName: string;\n iamScopes: string[];\n children: any;\n secureCmpProps?: Record;\n}) => {\n return (\n \n {children}\n \n );\n};\n\nconst EditablePropertyItem = ({\n isLoading = true,\n resourceName = \"\",\n iamScopes,\n secureCmpProps = {},\n property = null,\n value = null,\n onEdit,\n disabled = false,\n}: EditablePropertyItemProps) => {\n return (\n \n \n \n \n }\n />\n \n \n \n \n );\n};\n\nexport default EditablePropertyItem;\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 { ReportedUsageFullIcon, Box } from \"mds\";\nimport { niceBytes } from \"../../../../../common/utils\";\n\nconst ReportedUsage = ({ bucketSize }: { bucketSize: string }) => {\n return (\n \n \n\n \n \n Reported Usage:\n \n \n \n \n );\n};\n\nexport default ReportedUsage;\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 { HardBucketQuotaIcon, Box } from \"mds\";\nimport { niceBytes } from \"../../../../../common/utils\";\n\nconst BucketQuotaSize = ({ quota }: { quota: any }) => {\n return (\n \n \n \n \n {quota?.type} Quota\n \n \n \n \n );\n};\n\nexport default BucketQuotaSize;\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 { useParams } from \"react-router-dom\";\nimport { api } from \"api\";\nimport {\n BucketEncryptionInfo,\n BucketQuota,\n BucketVersioningResponse,\n GetBucketRetentionConfig,\n} from \"api/consoleApi\";\nimport { errorToHandler } from \"api/errors\";\nimport {\n Box,\n DisabledIcon,\n EnabledIcon,\n Grid,\n SectionTitle,\n ValuePair,\n} from \"mds\";\nimport { twoColCssGridLayoutConfig } from \"../../Common/FormComponents/common/styleLibrary\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../common/SecureComponent\";\nimport {\n selDistSet,\n setErrorSnackMessage,\n setHelpName,\n} from \"../../../../systemSlice\";\nimport {\n selBucketDetailsInfo,\n selBucketDetailsLoading,\n setBucketDetailsLoad,\n} from \"./bucketDetailsSlice\";\nimport { useAppDispatch } from \"../../../../store\";\nimport VersioningInfo from \"../VersioningInfo\";\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport LabelWithIcon from \"./SummaryItems/LabelWithIcon\";\nimport EditablePropertyItem from \"./SummaryItems/EditablePropertyItem\";\nimport ReportedUsage from \"./SummaryItems/ReportedUsage\";\nimport BucketQuotaSize from \"./SummaryItems/BucketQuotaSize\";\n\nconst SetAccessPolicy = withSuspense(\n React.lazy(() => import(\"./SetAccessPolicy\")),\n);\nconst SetRetentionConfig = withSuspense(\n React.lazy(() => import(\"./SetRetentionConfig\")),\n);\nconst EnableBucketEncryption = withSuspense(\n React.lazy(() => import(\"./EnableBucketEncryption\")),\n);\nconst EnableVersioningModal = withSuspense(\n React.lazy(() => import(\"./EnableVersioningModal\")),\n);\nconst BucketTags = withSuspense(\n React.lazy(() => import(\"./SummaryItems/BucketTags\")),\n);\nconst EnableQuota = withSuspense(React.lazy(() => import(\"./EnableQuota\")));\n\nconst BucketSummary = () => {\n const dispatch = useAppDispatch();\n const params = useParams();\n\n const loadingBucket = useSelector(selBucketDetailsLoading);\n const bucketInfo = useSelector(selBucketDetailsInfo);\n const distributedSetup = useSelector(selDistSet);\n\n const [encryptionCfg, setEncryptionCfg] =\n useState(null);\n const [bucketSize, setBucketSize] = useState(\"0\");\n const [hasObjectLocking, setHasObjectLocking] = useState(\n false,\n );\n const [accessPolicyScreenOpen, setAccessPolicyScreenOpen] =\n useState(false);\n const [replicationRules, setReplicationRules] = useState(false);\n const [loadingObjectLocking, setLoadingLocking] = useState(true);\n const [loadingSize, setLoadingSize] = useState(true);\n const [bucketLoading, setBucketLoading] = useState(true);\n const [loadingEncryption, setLoadingEncryption] = useState(true);\n const [loadingVersioning, setLoadingVersioning] = useState(true);\n const [loadingQuota, setLoadingQuota] = useState(true);\n const [loadingReplication, setLoadingReplication] = useState(true);\n const [loadingRetention, setLoadingRetention] = useState(true);\n const [versioningInfo, setVersioningInfo] =\n useState();\n const [quotaEnabled, setQuotaEnabled] = useState(false);\n const [quota, setQuota] = useState(null);\n const [encryptionEnabled, setEncryptionEnabled] = useState(false);\n const [retentionEnabled, setRetentionEnabled] = useState(false);\n const [retentionConfig, setRetentionConfig] =\n useState(null);\n const [retentionConfigOpen, setRetentionConfigOpen] =\n useState(false);\n const [enableEncryptionScreenOpen, setEnableEncryptionScreenOpen] =\n useState(false);\n const [enableQuotaScreenOpen, setEnableQuotaScreenOpen] =\n useState(false);\n const [enableVersioningOpen, setEnableVersioningOpen] =\n useState(false);\n\n useEffect(() => {\n dispatch(setHelpName(\"bucket_detail_summary\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const bucketName = params.bucketName || \"\";\n\n let accessPolicy = \"n/a\";\n let policyDefinition = \"\";\n\n if (bucketInfo !== null && bucketInfo.access && bucketInfo.definition) {\n accessPolicy = bucketInfo.access;\n policyDefinition = bucketInfo.definition;\n }\n\n const displayGetBucketObjectLockConfiguration = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_OBJECT_LOCK_CONFIGURATION,\n IAM_SCOPES.S3_GET_ACTIONS,\n ]);\n\n const displayGetBucketEncryptionConfiguration = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION,\n IAM_SCOPES.S3_GET_ACTIONS,\n ]);\n\n const displayGetBucketQuota = hasPermission(bucketName, [\n IAM_SCOPES.ADMIN_GET_BUCKET_QUOTA,\n ]);\n\n useEffect(() => {\n if (loadingBucket) {\n setBucketLoading(true);\n } else {\n setBucketLoading(false);\n }\n }, [loadingBucket, setBucketLoading]);\n\n useEffect(() => {\n if (loadingEncryption) {\n if (displayGetBucketEncryptionConfiguration) {\n api.buckets\n .getBucketEncryptionInfo(bucketName)\n .then((res) => {\n if (res.data.algorithm) {\n setEncryptionEnabled(true);\n setEncryptionCfg(res.data);\n }\n setLoadingEncryption(false);\n })\n .catch((err) => {\n err = errorToHandler(err.error);\n if (\n err.errorMessage ===\n \"The server side encryption configuration was not found\"\n ) {\n setEncryptionEnabled(false);\n setEncryptionCfg(null);\n }\n setLoadingEncryption(false);\n });\n } else {\n setEncryptionEnabled(false);\n setEncryptionCfg(null);\n setLoadingEncryption(false);\n }\n }\n }, [loadingEncryption, bucketName, displayGetBucketEncryptionConfiguration]);\n\n useEffect(() => {\n if (loadingVersioning && distributedSetup) {\n api.buckets\n .getBucketVersioning(bucketName)\n .then((res) => {\n setVersioningInfo(res.data);\n setLoadingVersioning(false);\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n setLoadingVersioning(false);\n });\n }\n }, [loadingVersioning, dispatch, bucketName, distributedSetup]);\n\n useEffect(() => {\n if (loadingQuota && distributedSetup) {\n if (displayGetBucketQuota) {\n api.buckets\n .getBucketQuota(bucketName)\n .then((res) => {\n setQuota(res.data);\n if (res.data.quota) {\n setQuotaEnabled(true);\n } else {\n setQuotaEnabled(false);\n }\n setLoadingQuota(false);\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n setQuotaEnabled(false);\n setLoadingQuota(false);\n });\n } else {\n setQuotaEnabled(false);\n setLoadingQuota(false);\n }\n }\n }, [\n loadingQuota,\n setLoadingVersioning,\n dispatch,\n bucketName,\n distributedSetup,\n displayGetBucketQuota,\n ]);\n\n useEffect(() => {\n if (loadingVersioning && distributedSetup) {\n if (displayGetBucketObjectLockConfiguration) {\n api.buckets\n .getBucketObjectLockingStatus(bucketName)\n .then((res) => {\n setHasObjectLocking(res.data.object_locking_enabled);\n setLoadingLocking(false);\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n setLoadingLocking(false);\n });\n } else {\n setLoadingLocking(false);\n }\n }\n }, [\n loadingObjectLocking,\n dispatch,\n bucketName,\n loadingVersioning,\n distributedSetup,\n displayGetBucketObjectLockConfiguration,\n ]);\n\n useEffect(() => {\n if (loadingSize) {\n api.buckets\n .listBuckets()\n .then((res) => {\n const resBuckets = get(res.data, \"buckets\", []);\n\n const bucketInfo = resBuckets.find(\n (bucket) => bucket.name === bucketName,\n );\n\n const size = get(bucketInfo, \"size\", \"0\");\n\n setLoadingSize(false);\n setBucketSize(size);\n })\n .catch((err) => {\n setLoadingSize(false);\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n });\n }\n }, [loadingSize, dispatch, bucketName]);\n\n useEffect(() => {\n if (loadingReplication && distributedSetup) {\n api.buckets\n .getBucketReplication(bucketName)\n .then((res) => {\n const r = res.data.rules ? res.data.rules : [];\n setReplicationRules(r.length > 0);\n setLoadingReplication(false);\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n setLoadingReplication(false);\n });\n }\n }, [loadingReplication, dispatch, bucketName, distributedSetup]);\n\n useEffect(() => {\n if (loadingRetention && hasObjectLocking) {\n api.buckets\n .getBucketRetentionConfig(bucketName)\n .then((res) => {\n setLoadingRetention(false);\n setRetentionEnabled(true);\n setRetentionConfig(res.data);\n })\n .catch((err) => {\n setRetentionEnabled(false);\n setLoadingRetention(false);\n setRetentionConfig(null);\n });\n }\n }, [loadingRetention, hasObjectLocking, bucketName]);\n\n const loadAllBucketData = () => {\n dispatch(setBucketDetailsLoad(true));\n setBucketLoading(true);\n setLoadingSize(true);\n setLoadingVersioning(true);\n setLoadingEncryption(true);\n setLoadingRetention(true);\n };\n\n const setBucketVersioning = () => {\n setEnableVersioningOpen(true);\n };\n const setBucketQuota = () => {\n setEnableQuotaScreenOpen(true);\n };\n\n const closeEnableBucketEncryption = () => {\n setEnableEncryptionScreenOpen(false);\n setLoadingEncryption(true);\n };\n const closeEnableBucketQuota = () => {\n setEnableQuotaScreenOpen(false);\n setLoadingQuota(true);\n };\n\n const closeSetAccessPolicy = () => {\n setAccessPolicyScreenOpen(false);\n loadAllBucketData();\n };\n\n const closeRetentionConfig = () => {\n setRetentionConfigOpen(false);\n loadAllBucketData();\n };\n\n const closeEnableVersioning = (refresh: boolean) => {\n setEnableVersioningOpen(false);\n if (refresh) {\n loadAllBucketData();\n }\n };\n\n let versioningStatus = versioningInfo?.status;\n let versioningText = \"Unversioned (Default)\";\n if (versioningStatus === \"Enabled\") {\n versioningText = \"Versioned\";\n } else if (versioningStatus === \"Suspended\") {\n versioningText = \"Suspended\";\n }\n\n return (\n \n {enableEncryptionScreenOpen && (\n \n )}\n {enableQuotaScreenOpen && (\n \n )}\n {accessPolicyScreenOpen && (\n \n )}\n {retentionConfigOpen && (\n \n )}\n {enableVersioningOpen && (\n \n )}\n\n \n Summary\n \n \n \n \n \n \n \n {\n setAccessPolicyScreenOpen(true);\n }}\n isLoading={bucketLoading}\n />\n \n\n \n {\n setEnableEncryptionScreenOpen(true);\n }}\n isLoading={loadingEncryption}\n />\n \n\n \n : \n }\n label={\n \n }\n />\n }\n />\n \n\n \n : \n }\n label={\n \n }\n />\n }\n />\n \n \n }\n />\n \n \n \n \n \n {quotaEnabled && quota ? (\n \n ) : null}\n \n \n \n \n\n {distributedSetup && (\n \n \n \n Versioning\n \n\n \n \n \n
{versioningText}
\n
\n }\n onEdit={setBucketVersioning}\n isLoading={loadingVersioning}\n disabled={hasObjectLocking}\n />\n\n {versioningInfo?.status === \"Enabled\" ? (\n \n ) : null}\n
\n \n
\n \n )}\n\n {hasObjectLocking && (\n \n \n \n Retention\n \n\n \n \n {\n setRetentionConfigOpen(true);\n }}\n isLoading={loadingRetention}\n />\n\n \n {retentionConfig && retentionConfig.mode\n ? retentionConfig.mode\n : \"-\"}\n \n }\n />\n \n {retentionConfig && retentionConfig.validity}{\" \"}\n {retentionConfig &&\n (retentionConfig.validity === 1\n ? retentionConfig.unit?.slice(0, -1)\n : retentionConfig.unit)}\n \n }\n />\n \n \n \n \n )}\n
\n
\n );\n};\n\nexport default BucketSummary;\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 { Box } from \"mds\";\n\ntype LabelWithIconProps = {\n icon: React.ReactNode | null;\n label: React.ReactNode | null;\n};\n\nconst LabelWithIcon = ({ icon = null, label = null }: LabelWithIconProps) => {\n return (\n \n \n {icon}\n \n {label}\n \n );\n};\n\nexport default LabelWithIcon;\n"],"names":["_ref","_versioningState$excl","_versioningState$excl2","_ref$versioningState","versioningState","_jsxs","Box","sx","display","flexDirection","gap","children","_jsx","fontWeight","excludeFolders","LabelWithIcon","icon","EnabledIcon","style","color","DisabledIcon","label","textDecoration","excludedPrefixes","length","justifyItems","placeItems","maxHeight","overflowY","map","it","prefix","disabled","onClick","restProps","_objectWithoutProperties","_excluded","IconButton","_objectSpread","size","EditIcon","SecureAction","resourceName","iamScopes","_ref$secureCmpProps","secureCmpProps","SecureComponent","scopes","resource","errorProps","_ref2","_ref2$isLoading","isLoading","_ref2$resourceName","_ref2$secureCmpProps","_ref2$property","property","_ref2$value","value","onEdit","_ref2$disabled","alignItems","justifyContent","ValuePair","ActionLink","EditActionButton","background","marginLeft","top","width","height","bucketSize","ReportedUsageFullIcon","flexFlow","fontSize","niceBytes","quota","HardBucketQuotaIcon","textTransform","type","concat","SetAccessPolicy","withSuspense","React","SetRetentionConfig","EnableBucketEncryption","EnableVersioningModal","BucketTags","EnableQuota","_retentionConfig$unit","dispatch","useAppDispatch","params","useParams","loadingBucket","useSelector","selBucketDetailsLoading","bucketInfo","selBucketDetailsInfo","distributedSetup","selDistSet","_useState","useState","_useState2","_slicedToArray","encryptionCfg","setEncryptionCfg","_useState3","_useState4","setBucketSize","_useState5","_useState6","hasObjectLocking","setHasObjectLocking","_useState7","_useState8","accessPolicyScreenOpen","setAccessPolicyScreenOpen","_useState9","_useState10","replicationRules","setReplicationRules","_useState11","_useState12","loadingObjectLocking","setLoadingLocking","_useState13","_useState14","loadingSize","setLoadingSize","_useState15","_useState16","bucketLoading","setBucketLoading","_useState17","_useState18","loadingEncryption","setLoadingEncryption","_useState19","_useState20","loadingVersioning","setLoadingVersioning","_useState21","_useState22","loadingQuota","setLoadingQuota","_useState23","_useState24","loadingReplication","setLoadingReplication","_useState25","_useState26","loadingRetention","setLoadingRetention","_useState27","_useState28","versioningInfo","setVersioningInfo","_useState29","_useState30","quotaEnabled","setQuotaEnabled","_useState31","_useState32","setQuota","_useState33","_useState34","encryptionEnabled","setEncryptionEnabled","_useState35","_useState36","retentionEnabled","setRetentionEnabled","_useState37","_useState38","retentionConfig","setRetentionConfig","_useState39","_useState40","retentionConfigOpen","setRetentionConfigOpen","_useState41","_useState42","enableEncryptionScreenOpen","setEnableEncryptionScreenOpen","_useState43","_useState44","enableQuotaScreenOpen","setEnableQuotaScreenOpen","_useState45","_useState46","enableVersioningOpen","setEnableVersioningOpen","useEffect","setHelpName","bucketName","accessPolicy","policyDefinition","access","definition","displayGetBucketObjectLockConfiguration","hasPermission","IAM_SCOPES","S3_GET_BUCKET_OBJECT_LOCK_CONFIGURATION","S3_GET_ACTIONS","displayGetBucketEncryptionConfiguration","S3_GET_BUCKET_ENCRYPTION_CONFIGURATION","displayGetBucketQuota","ADMIN_GET_BUCKET_QUOTA","api","buckets","getBucketEncryptionInfo","then","res","data","algorithm","catch","err","errorToHandler","error","errorMessage","getBucketVersioning","setErrorSnackMessage","getBucketQuota","getBucketObjectLockingStatus","object_locking_enabled","listBuckets","get","find","bucket","name","getBucketReplication","r","rules","getBucketRetentionConfig","loadAllBucketData","setBucketDetailsLoad","versioningStatus","status","versioningText","Fragment","open","selectedBucket","closeModalAndRefresh","enabled","cfg","actualPolicy","actualDefinition","closeVersioningModalAndRefresh","refresh","modalOpen","objectLockingEnabled","SectionTitle","separator","marginBottom","Grid","container","S3_GET_BUCKET_POLICY","item","xs","twoColCssGridLayoutConfig","EditablePropertyItem","S3_PUT_BUCKET_POLICY","S3_PUT_ACTIONS","toLowerCase","S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION","S3_GET_REPLICATION_CONFIGURATION","className","ADMIN_SET_BUCKET_QUOTA","gridTemplateColumns","ReportedUsage","BucketQuotaSize","S3_GET_BUCKET_VERSIONING","marginTop","S3_PUT_BUCKET_VERSIONING","textDecorationStyle","VersioningInfo","S3_GET_OBJECT_RETENTION","mode","validity","unit","slice","_ref$icon","_ref$label"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/402.75cd5b25.chunk.js b/portal-ui/build/static/js/402.75cd5b25.chunk.js deleted file mode 100644 index aa9c62b4f..000000000 --- a/portal-ui/build/static/js/402.75cd5b25.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[402],{70402:function(n,e,t){t.r(e);var i=t(29439),o=t(72791),s=t(29945),r=t(31776),c=t(82342),u=t(87995),l=t(81551),a=t(91685),d=t(23508),f=t(80184);e.default=function(n){var e=n.closeVersioningModalAndRefresh,t=n.modalOpen,x=n.selectedBucket,g=n.versioningInfo,h=void 0===g?{}:g,p="Enabled"===h.status,j=(0,l.TL)(),v=(0,o.useState)(!1),b=(0,i.Z)(v,2),k=b[0],m=b[1];return(0,f.jsx)(d.Z,{title:"Versioning on Bucket",confirmText:p?"Suspend":"Enable",isOpen:t,isLoading:k,titleIcon:(0,f.jsx)(s.EjK,{}),onConfirm:function(){k||(m(!0),r.h.buckets.setBucketVersioning(x,{versioning:!p}).then((function(){m(!1),e(!0)})).catch((function(n){m(!1),j((0,u.Ih)((0,c.g)(n.error)))})))},confirmButtonProps:{variant:"callAction"},onClose:function(){e(!1)},confirmationContent:(0,f.jsxs)(s.xuv,{id:"alert-dialog-description",children:["Are you sure you want to"," ",(0,f.jsx)("strong",{children:p?"suspend":"enable"})," ","versioning for this bucket?",p&&(0,f.jsxs)(o.Fragment,{children:[(0,f.jsx)("br",{}),(0,f.jsx)("br",{}),(0,f.jsx)("strong",{children:"File versions won't be automatically deleted."})]}),(0,f.jsx)(s.xuv,{sx:{paddingTop:"20px"},children:p?(0,f.jsx)(a.Z,{versioningState:h}):null})]})})}}}]); -//# sourceMappingURL=402.75cd5b25.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/402.75cd5b25.chunk.js.map b/portal-ui/build/static/js/402.75cd5b25.chunk.js.map deleted file mode 100644 index c56016b57..000000000 --- a/portal-ui/build/static/js/402.75cd5b25.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/402.75cd5b25.chunk.js","mappings":"qOAyGA,UAxE8B,SAAHA,GAKG,IAJ5BC,EAA8BD,EAA9BC,+BACAC,EAASF,EAATE,UACAC,EAAcH,EAAdG,eAAcC,EAAAJ,EACdK,eAAAA,OAAc,IAAAD,EAAG,CAAC,EAACA,EAEbE,EAAgD,YAA1BD,EAAeE,OAErCC,GAAWC,EAAAA,EAAAA,MACjBC,GAAkDC,EAAAA,EAAAA,WAAkB,GAAMC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAnEI,EAAiBF,EAAA,GAAEG,EAAoBH,EAAA,GAsB9C,OACEI,EAAAA,EAAAA,KAACC,EAAAA,EAAa,CACZC,MAAK,uBACLC,YAAab,EAAsB,UAAY,SAC/Cc,OAAQlB,EACRmB,UAAWP,EACXQ,WAAWN,EAAAA,EAAAA,KAACO,EAAAA,IAAgB,IAC5BC,UA3BqB,WACnBV,IAGJC,GAAqB,GAErBU,EAAAA,EAAIC,QACDC,oBAAoBxB,EAAgB,CACnCyB,YAAatB,IAEduB,MAAK,WACJd,GAAqB,GACrBd,GAA+B,EACjC,IACC6B,OAAM,SAACC,GACNhB,GAAqB,GACrBP,GAASwB,EAAAA,EAAAA,KAAqBC,EAAAA,EAAAA,GAAeF,EAAIG,QACnD,IACJ,EAUIC,mBAAoB,CAClBC,QAAS,cAEXC,QAAS,WACPpC,GAA+B,EACjC,EACAqC,qBACEC,EAAAA,EAAAA,MAACC,EAAAA,IAAG,CAACC,GAAG,2BAA0BC,SAAA,CAAC,2BACR,KACzB1B,EAAAA,EAAAA,KAAA,UAAA0B,SAASpC,EAAsB,UAAY,WAAmB,IAAI,8BAEjEA,IACCiC,EAAAA,EAAAA,MAACI,EAAAA,SAAQ,CAAAD,SAAA,EACP1B,EAAAA,EAAAA,KAAA,UACAA,EAAAA,EAAAA,KAAA,UACAA,EAAAA,EAAAA,KAAA,UAAA0B,SAAQ,sDAGZ1B,EAAAA,EAAAA,KAACwB,EAAAA,IAAG,CACFI,GAAI,CACFC,WAAY,QACZH,SAEDpC,GACCU,EAAAA,EAAAA,KAAC8B,EAAAA,EAAc,CAACC,gBAAiB1C,IAC/B,WAMhB,C","sources":["screens/Console/Buckets/BucketDetails/EnableVersioningModal.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, { Fragment, useState } from \"react\";\nimport { Box, ConfirmModalIcon } from \"mds\";\nimport { BucketVersioningResponse } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\nimport VersioningInfo from \"../VersioningInfo\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\n\ninterface IVersioningEventProps {\n closeVersioningModalAndRefresh: (refresh: boolean) => void;\n modalOpen: boolean;\n selectedBucket: string;\n versioningInfo: BucketVersioningResponse | undefined;\n}\n\nconst EnableVersioningModal = ({\n closeVersioningModalAndRefresh,\n modalOpen,\n selectedBucket,\n versioningInfo = {},\n}: IVersioningEventProps) => {\n const isVersioningEnabled = versioningInfo.status === \"Enabled\";\n\n const dispatch = useAppDispatch();\n const [versioningLoading, setVersioningLoading] = useState(false);\n\n const enableVersioning = () => {\n if (versioningLoading) {\n return;\n }\n setVersioningLoading(true);\n\n api.buckets\n .setBucketVersioning(selectedBucket, {\n versioning: !isVersioningEnabled,\n })\n .then(() => {\n setVersioningLoading(false);\n closeVersioningModalAndRefresh(true);\n })\n .catch((err) => {\n setVersioningLoading(false);\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n });\n };\n\n return (\n }\n onConfirm={enableVersioning}\n confirmButtonProps={{\n variant: \"callAction\",\n }}\n onClose={() => {\n closeVersioningModalAndRefresh(false);\n }}\n confirmationContent={\n \n Are you sure you want to{\" \"}\n {isVersioningEnabled ? \"suspend\" : \"enable\"}{\" \"}\n versioning for this bucket?\n {isVersioningEnabled && (\n \n
\n
\n File versions won't be automatically deleted.\n
\n )}\n \n {isVersioningEnabled ? (\n \n ) : null}\n
\n \n }\n />\n );\n};\n\nexport default EnableVersioningModal;\n"],"names":["_ref","closeVersioningModalAndRefresh","modalOpen","selectedBucket","_ref$versioningInfo","versioningInfo","isVersioningEnabled","status","dispatch","useAppDispatch","_useState","useState","_useState2","_slicedToArray","versioningLoading","setVersioningLoading","_jsx","ConfirmDialog","title","confirmText","isOpen","isLoading","titleIcon","ConfirmModalIcon","onConfirm","api","buckets","setBucketVersioning","versioning","then","catch","err","setErrorSnackMessage","errorToHandler","error","confirmButtonProps","variant","onClose","confirmationContent","_jsxs","Box","id","children","Fragment","sx","paddingTop","VersioningInfo","versioningState"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/402.b31b43fa.chunk.js b/portal-ui/build/static/js/402.b31b43fa.chunk.js new file mode 100644 index 000000000..55c248c81 --- /dev/null +++ b/portal-ui/build/static/js/402.b31b43fa.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[402],{70402:function(e,n,t){t.r(n);var i=t(29439),r=t(72791),a=t(29945),l=t(31776),o=t(82342),c=t(87995),s=t(81551),u=t(59447),d=t(23814),f=t(80184);n.default=function(e){var n=e.closeVersioningModalAndRefresh,t=e.modalOpen,x=e.selectedBucket,h=e.versioningInfo,v=void 0===h?{}:h,g=e.objectLockingEnabled,p=(0,s.TL)(),m=(0,r.useState)(!1),j=(0,i.Z)(m,2),b=j[0],k=j[1],C=(0,r.useState)("Enabled"===(null===v||void 0===v?void 0:v.status)),w=(0,i.Z)(C,2),y=w[0],S=w[1],Z=(0,r.useState)(!(null===v||void 0===v||!v.excludeFolders)),B=(0,i.Z)(Z,2),E=B[0],I=B[1],F=(0,r.useState)(function(e){var n=null===e||void 0===e?void 0:e.excludedPrefixes;return n?n.map((function(e){return e.prefix})).join(","):""}(v)),P=(0,i.Z)(F,2),A=P[0],V=P[1];return(0,f.jsx)(a.cFD,{onClose:function(){return n(!1)},open:t,title:"Versioning on Bucket",children:(0,f.jsxs)(a.ltY,{withBorders:!1,containerPadding:!1,children:[(0,f.jsx)(a.rsf,{id:"activateVersioning",label:"Versioning Status",checked:y,onChange:function(e){S(e.target.checked)},indicatorLabels:["Enabled","Disabled"]}),y&&!g&&(0,f.jsxs)(r.Fragment,{children:[(0,f.jsx)(a.rsf,{id:"excludeFolders",label:"Exclude Folders",checked:E,onChange:function(e){I(e.target.checked)},indicatorLabels:["Enabled","Disabled"]}),(0,f.jsx)(u.Z,{elements:A,label:"Excluded Prefixes",name:"excludedPrefixes",onChange:function(e){var n="";n=Array.isArray(e)?e.join(","):e,V(n)},withBorder:!0})]}),(0,f.jsxs)(a.xuv,{sx:d.ID.modalButtonBar,children:[(0,f.jsx)(a.zxk,{id:"clear",type:"button",variant:"regular",color:"primary",onClick:function(){V(""),I(!1),S(!1)},label:"Clear"}),(0,f.jsx)(a.zxk,{type:"submit",variant:"callAction",onClick:function(){b||(k(!0),l.h.buckets.setBucketVersioning(x,{enabled:y,excludeFolders:!!y&&E,excludePrefixes:y?A.split(",").filter((function(e){return""!==e.trim()})):[]}).then((function(){k(!1),n(!0)})).catch((function(e){k(!1),p((0,c.Ih)((0,o.g)(e.error)))})))},id:"saveTag",label:"Save"})]})]})})}},59447:function(e,n,t){var i=t(93433),r=t(29439),a=t(72791),l=t(26181),o=t.n(l),c=t(29945),s=t(80184);n.Z=function(e){var n=e.elements,t=e.name,l=e.label,u=e.tooltip,d=void 0===u?"":u,f=e.commonPlaceholder,x=void 0===f?"":f,h=e.onChange,v=e.withBorder,g=void 0!==v&&v,p=(0,a.useState)([""]),m=(0,r.Z)(p,2),j=m[0],b=m[1],k=(0,a.createRef)();(0,a.useEffect)((function(){if(1===j.length&&""===j[0]&&n&&""!==n){var e=n.split(",");e.push(""),b(e)}}),[n,j]),(0,a.useEffect)((function(){if(j.length>1){var e=k.current;e&&e.scrollIntoView(!1)}}),[j,k]);var C=(0,a.useCallback)((function(e){h(e)}),[h]),w=(0,a.useRef)(!0);(0,a.useEffect)((function(){if(w.current)w.current=!1;else{var e=j.filter((function(e){return""!==e.trim()})).join(",");C(e)}}),[j]);var y=function(e){e.persist();var n=(0,i.Z)(j),t=o()(e.target,"dataset.index","0");n[parseInt(t)]=e.target.value,b(n)},S=j.map((function(e,n){return(0,s.jsx)(c.Wzg,{id:"".concat(t,"-").concat(n.toString()),label:"",name:"".concat(t,"-").concat(n.toString()),value:j[n],onChange:y,index:n,placeholder:x,overlayIcon:n===j.length-1?(0,s.jsx)(c.dtP,{}):null,overlayAction:function(){!function(e){if(""!==e[e.length-1].trim()){var n=(0,i.Z)(e);n.push(""),b(n)}}(j)}},"csv-multi-".concat(t,"-").concat(n.toString()))}));return(0,s.jsx)(a.Fragment,{children:(0,s.jsxs)(c.xuv,{sx:{display:"flex"},className:"inputItem",children:[(0,s.jsxs)(c.AZs,{sx:{alignItems:"flex-start"},children:[(0,s.jsx)("span",{children:l}),""!==d&&(0,s.jsx)(c.xuv,{sx:{marginLeft:5,display:"flex",alignItems:"center","& .min-icon":{width:13}},children:(0,s.jsx)(c.ua7,{tooltip:d,placement:"top",children:(0,s.jsx)(c.xuv,{className:d,children:(0,s.jsx)(c.byK,{})})})})]}),(0,s.jsxs)(c.xuv,{withBorders:g,sx:{width:"100%",overflowY:"auto",height:150,position:"relative"},children:[S,(0,s.jsx)("div",{ref:k})]})]})})}}}]); +//# sourceMappingURL=402.b31b43fa.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/402.b31b43fa.chunk.js.map b/portal-ui/build/static/js/402.b31b43fa.chunk.js.map new file mode 100644 index 000000000..a5e0c3d01 --- /dev/null +++ b/portal-ui/build/static/js/402.b31b43fa.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/402.b31b43fa.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/EnableVersioningModal.tsx","screens/Console/Common/FormComponents/CSVMultiSelector/CSVMultiSelector.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, { Fragment, useState } from \"react\";\nimport { Box, Button, FormLayout, ModalBox, Switch } from \"mds\";\nimport { BucketVersioningResponse } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\nimport CSVMultiSelector from \"../../Common/FormComponents/CSVMultiSelector/CSVMultiSelector\";\nimport { modalStyleUtils } from \"../../Common/FormComponents/common/styleLibrary\";\n\ninterface IVersioningEventProps {\n closeVersioningModalAndRefresh: (refresh: boolean) => void;\n modalOpen: boolean;\n selectedBucket: string;\n versioningInfo: BucketVersioningResponse | undefined;\n objectLockingEnabled: boolean;\n}\n\nconst parseExcludedPrefixes = (\n bucketVersioning: BucketVersioningResponse | undefined,\n) => {\n const excludedPrefixes = bucketVersioning?.excludedPrefixes;\n\n if (excludedPrefixes) {\n return excludedPrefixes.map((item) => item.prefix).join(\",\");\n }\n\n return \"\";\n};\n\nconst EnableVersioningModal = ({\n closeVersioningModalAndRefresh,\n modalOpen,\n selectedBucket,\n versioningInfo = {},\n objectLockingEnabled,\n}: IVersioningEventProps) => {\n const dispatch = useAppDispatch();\n\n const [versioningLoading, setVersioningLoading] = useState(false);\n const [versionState, setVersionState] = useState(\n versioningInfo?.status === \"Enabled\",\n );\n const [excludeFolders, setExcludeFolders] = useState(\n !!versioningInfo?.excludeFolders,\n );\n const [excludedPrefixes, setExcludedPrefixes] = useState(\n parseExcludedPrefixes(versioningInfo),\n );\n\n const enableVersioning = () => {\n if (versioningLoading) {\n return;\n }\n setVersioningLoading(true);\n\n api.buckets\n .setBucketVersioning(selectedBucket, {\n enabled: versionState,\n excludeFolders: versionState ? excludeFolders : false,\n excludePrefixes: versionState\n ? excludedPrefixes.split(\",\").filter((item) => item.trim() !== \"\")\n : [],\n })\n .then(() => {\n setVersioningLoading(false);\n closeVersioningModalAndRefresh(true);\n })\n .catch((err) => {\n setVersioningLoading(false);\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n });\n };\n\n const resetForm = () => {\n setExcludedPrefixes(\"\");\n setExcludeFolders(false);\n setVersionState(false);\n };\n\n return (\n closeVersioningModalAndRefresh(false)}\n open={modalOpen}\n title={`Versioning on Bucket`}\n >\n \n ) => {\n setVersionState(e.target.checked);\n }}\n indicatorLabels={[\"Enabled\", \"Disabled\"]}\n />\n {versionState && !objectLockingEnabled && (\n \n ) => {\n setExcludeFolders(e.target.checked);\n }}\n indicatorLabels={[\"Enabled\", \"Disabled\"]}\n />\n {\n let valCh = \"\";\n\n if (Array.isArray(value)) {\n valCh = value.join(\",\");\n } else {\n valCh = value;\n }\n setExcludedPrefixes(valCh);\n }}\n withBorder={true}\n />\n \n )}\n \n \n \n \n \n \n );\n};\n\nexport default EnableVersioningModal;\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, {\n ChangeEvent,\n createRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n Fragment,\n} from \"react\";\nimport get from \"lodash/get\";\nimport { AddIcon, Box, HelpIcon, InputBox, InputLabel, Tooltip } from \"mds\";\n\ninterface ICSVMultiSelector {\n elements: string;\n name: string;\n label: string;\n tooltip?: string;\n commonPlaceholder?: string;\n withBorder?: boolean;\n onChange: (elements: string) => void;\n}\n\nconst CSVMultiSelector = ({\n elements,\n name,\n label,\n tooltip = \"\",\n commonPlaceholder = \"\",\n onChange,\n withBorder = false,\n}: ICSVMultiSelector) => {\n const [currentElements, setCurrentElements] = useState([\"\"]);\n const bottomList = createRef();\n\n // Use effect to get the initial values from props\n useEffect(() => {\n if (\n currentElements.length === 1 &&\n currentElements[0] === \"\" &&\n elements &&\n elements !== \"\"\n ) {\n const elementsSplit = elements.split(\",\");\n elementsSplit.push(\"\");\n\n setCurrentElements(elementsSplit);\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [elements, currentElements]);\n\n // Use effect to send new values to onChange\n useEffect(() => {\n if (currentElements.length > 1) {\n const refScroll = bottomList.current;\n if (refScroll) {\n refScroll.scrollIntoView(false);\n }\n }\n }, [currentElements, bottomList]);\n\n const onChangeCallback = useCallback(\n (newString: string) => {\n onChange(newString);\n },\n [onChange],\n );\n\n // We avoid multiple re-renders / hang issue typing too fast\n const firstUpdate = useRef(true);\n useEffect(() => {\n if (firstUpdate.current) {\n firstUpdate.current = false;\n return;\n }\n const elementsString = currentElements\n .filter((element) => element.trim() !== \"\")\n .join(\",\");\n\n onChangeCallback(elementsString);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentElements]);\n\n // If the last input is not empty, we add a new one\n const addEmptyLine = (elementsUp: string[]) => {\n if (elementsUp[elementsUp.length - 1].trim() !== \"\") {\n const cpList = [...elementsUp];\n cpList.push(\"\");\n setCurrentElements(cpList);\n }\n };\n\n // Onchange function for input box, we get the dataset-index & only update that value in the array\n const onChangeElement = (e: ChangeEvent) => {\n e.persist();\n\n let updatedElement = [...currentElements];\n const index = get(e.target, \"dataset.index\", \"0\");\n const indexNum = parseInt(index);\n updatedElement[indexNum] = e.target.value;\n\n setCurrentElements(updatedElement);\n };\n\n const inputs = currentElements.map((element, index) => {\n return (\n : null}\n overlayAction={() => {\n addEmptyLine(currentElements);\n }}\n />\n );\n });\n\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n \n \n \n \n \n \n \n )}\n \n \n {inputs}\n
\n \n \n \n );\n};\nexport default CSVMultiSelector;\n"],"names":["_ref","closeVersioningModalAndRefresh","modalOpen","selectedBucket","_ref$versioningInfo","versioningInfo","objectLockingEnabled","dispatch","useAppDispatch","_useState","useState","_useState2","_slicedToArray","versioningLoading","setVersioningLoading","_useState3","status","_useState4","versionState","setVersionState","_useState5","excludeFolders","_useState6","setExcludeFolders","_useState7","bucketVersioning","excludedPrefixes","map","item","prefix","join","parseExcludedPrefixes","_useState8","setExcludedPrefixes","_jsx","ModalBox","onClose","open","title","children","_jsxs","FormLayout","withBorders","containerPadding","Switch","id","label","checked","onChange","e","target","indicatorLabels","Fragment","CSVMultiSelector","elements","name","value","valCh","Array","isArray","withBorder","Box","sx","modalStyleUtils","modalButtonBar","Button","type","variant","color","onClick","api","buckets","setBucketVersioning","enabled","excludePrefixes","split","filter","trim","then","catch","err","setErrorSnackMessage","errorToHandler","error","_ref$tooltip","tooltip","_ref$commonPlaceholde","commonPlaceholder","_ref$withBorder","currentElements","setCurrentElements","bottomList","createRef","useEffect","length","elementsSplit","push","refScroll","current","scrollIntoView","onChangeCallback","useCallback","newString","firstUpdate","useRef","elementsString","element","onChangeElement","persist","updatedElement","_toConsumableArray","index","get","parseInt","inputs","InputBox","concat","toString","placeholder","overlayIcon","AddIcon","overlayAction","elementsUp","cpList","addEmptyLine","display","className","InputLabel","alignItems","marginLeft","width","Tooltip","placement","HelpIcon","overflowY","height","position","ref"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4335.16fc17e3.chunk.js b/portal-ui/build/static/js/4335.1ddacb73.chunk.js similarity index 99% rename from portal-ui/build/static/js/4335.16fc17e3.chunk.js rename to portal-ui/build/static/js/4335.1ddacb73.chunk.js index 39c0c996d..8b79c6d15 100644 --- a/portal-ui/build/static/js/4335.16fc17e3.chunk.js +++ b/portal-ui/build/static/js/4335.1ddacb73.chunk.js @@ -1,2 +1,2 @@ -(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4335],{90282:function(e,a,l){"use strict";l.d(a,{Z:function(){return Z}});var t=l(29439),n=l(1413),i=l(72791),r=l(26181),s=l.n(r),o=l(61889),u=l(30829),c=l(20068),d=l(13400),v=l(99663),b=l(86711),p=l(11135),h=l(25787),f=l(23814),x=l(29945),m=l(20890),g=l(80184),S=(0,h.Z)((function(e){var a;return(0,p.Z)({errorBlock:{color:(null===(a=e.palette)||void 0===a?void 0:a.error.main)||"#C83B51"}})}))((function(e){var a=e.classes,l=e.errorMessage,t=e.withBreak,n=void 0===t||t;return(0,g.jsxs)(i.Fragment,{children:[n&&(0,g.jsx)("br",{}),(0,g.jsx)(m.Z,{component:"p",variant:"body1",className:a.errorBlock,children:l})]})})),Z=(0,h.Z)((function(e){return(0,p.Z)((0,n.Z)((0,n.Z)((0,n.Z)((0,n.Z)({},f.YI),f.Hr),{},{valueString:{maxWidth:350,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",marginTop:2},fileInputField:{margin:"13px 0","@media (max-width: 900px)":{flexFlow:"column"}}},f.bV),{},{inputLabel:(0,n.Z)((0,n.Z)({},f.YI.inputLabel),{},{fontWeight:"normal"}),textBoxContainer:(0,n.Z)((0,n.Z)({},f.YI.textBoxContainer),{},{maxWidth:"100%",border:"1px solid #eaeaea",paddingLeft:"15px"})}))}))((function(e){var a=e.label,l=e.classes,n=e.onChange,r=e.id,p=e.name,h=e.disabled,f=void 0!==h&&h,m=e.tooltip,Z=void 0===m?"":m,C=e.required,j=e.error,A=void 0===j?"":j,E=e.accept,y=void 0===E?"":E,w=e.value,T=void 0===w?"":w,N=(0,i.useState)(!1),I=(0,t.Z)(N,2),U=I[0],W=I[1];return(0,g.jsx)(i.Fragment,{children:(0,g.jsxs)(o.ZP,{item:!0,xs:12,className:"".concat(l.fileInputField," ").concat(l.fieldBottom," ").concat(l.fieldContainer," ").concat(""!==A?l.errorInField:""),children:[""!==a&&(0,g.jsxs)(u.Z,{htmlFor:r,className:"".concat(""!==A?l.fieldLabelError:""," ").concat(l.inputLabel),children:[(0,g.jsxs)("span",{children:[a,C?"*":""]}),""!==Z&&(0,g.jsx)("div",{className:l.tooltipContainer,children:(0,g.jsx)(c.Z,{title:Z,placement:"top-start",children:(0,g.jsx)("div",{className:l.tooltip,children:(0,g.jsx)(x.byK,{})})})})]}),U||""===T?(0,g.jsxs)("div",{className:l.textBoxContainer,children:[(0,g.jsx)("input",{type:"file",name:p,onChange:function(e){var a=s()(e,"target.files[0].name","");!function(e,a){var l=e.target.files[0],t=new FileReader;t.readAsDataURL(l),t.onload=function(){var e=t.result;if(e){var l=e.toString().split("base64,");2===l.length&&a(l[1])}}}(e,(function(e){n(e,a)}))},accept:y,required:C,disabled:f,className:l.fileInputField}),""!==T&&(0,g.jsx)(d.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){W(!1)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,g.jsx)(b.Z,{})}),""!==A&&(0,g.jsx)(S,{errorMessage:A})]}):(0,g.jsxs)("div",{className:l.fileReselect,children:[(0,g.jsx)("div",{className:l.valueString,children:T}),(0,g.jsx)(d.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){W(!0)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,g.jsx)(v.Z,{})})]})]})})}))},21435:function(e,a,l){"use strict";var t=l(29439),n=l(1413),i=l(72791),r=l(27391),s=l(61889),o=l(30829),u=l(20068),c=l(13400),d=l(20165),v=l(3579),b=l(11135),p=l(72455),h=l(25787),f=l(23814),x=l(29945),m=l(28182),g=l(80184),S=(0,p.Z)((function(e){return(0,b.Z)((0,n.Z)({},f.gM))}));function Z(e){var a=S();return(0,g.jsx)(r.Z,(0,n.Z)({InputProps:{classes:a}},e))}a.Z=(0,h.Z)((function(e){return(0,b.Z)((0,n.Z)((0,n.Z)((0,n.Z)({},f.YI),f.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}}}))}))((function(e){var a=e.label,l=e.onChange,r=e.value,b=e.id,p=e.name,h=e.type,f=void 0===h?"text":h,S=e.autoComplete,C=void 0===S?"off":S,j=e.disabled,A=void 0!==j&&j,E=e.multiline,y=void 0!==E&&E,w=e.tooltip,T=void 0===w?"":w,N=e.index,I=void 0===N?0:N,U=e.error,W=void 0===U?"":U,R=e.required,O=void 0!==R&&R,k=e.placeholder,P=void 0===k?"":k,F=e.min,z=e.max,L=e.overlayId,M=e.overlayIcon,B=void 0===M?null:M,K=e.overlayObject,H=void 0===K?null:K,V=e.extraInputProps,q=void 0===V?{}:V,G=e.overlayAction,_=e.noLabelMinWidth,J=void 0!==_&&_,D=e.pattern,Y=void 0===D?"":D,X=e.autoFocus,$=void 0!==X&&X,Q=e.classes,ee=e.className,ae=void 0===ee?"":ee,le=e.onKeyPress,te=e.onFocus,ne=e.onPaste,ie=(0,n.Z)({"data-index":I},q),re=(0,i.useState)(!1),se=(0,t.Z)(re,2),oe=se[0],ue=se[1];"number"===f&&F&&(ie.min=F),"number"===f&&z&&(ie.max=z),""!==Y&&(ie.pattern=Y);var ce=B,de=f;return"password"===f&&null===B&&(ce=oe?(0,g.jsx)(d.Z,{}):(0,g.jsx)(v.Z,{}),de=oe?"text":"password"),(0,g.jsx)(i.Fragment,{children:(0,g.jsxs)(s.ZP,{container:!0,className:(0,m.Z)(""!==ae?ae:"",""!==W?Q.errorInField:Q.inputBoxContainer),children:[""!==a&&(0,g.jsxs)(o.Z,{htmlFor:b,className:J?Q.noMinWidthLabel:Q.inputLabel,children:[(0,g.jsxs)("span",{children:[a,O?"*":""]}),""!==T&&(0,g.jsx)("div",{className:Q.tooltipContainer,children:(0,g.jsx)(u.Z,{title:T,placement:"top-start",children:(0,g.jsx)("div",{className:Q.tooltip,children:(0,g.jsx)(x.byK,{})})})})]}),(0,g.jsxs)("div",{className:Q.textBoxContainer,children:[(0,g.jsx)(Z,{id:b,name:p,fullWidth:!0,value:r,autoFocus:$,disabled:A,onChange:l,type:de,multiline:y,autoComplete:C,inputProps:ie,error:""!==W,helperText:W,placeholder:P,className:Q.inputRebase,onKeyPress:le,onFocus:te,onPaste:ne}),ce&&(0,g.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==a?"withLabel":""),children:(0,g.jsx)(c.Z,{onClick:G?function(){G()}:function(){return ue(!oe)},id:L,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:ce})}),H&&(0,g.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==a?"withLabel":""),children:H})]})]})})}))},84335:function(e,a,l){"use strict";l.r(a),l.d(a,{default:function(){return B}});var t=l(74165),n=l(15861),i=l(29439),r=l(1413),s=l(72791),o=l(57689),u=l(26181),c=l.n(u),d=l(61889),v=l(29945),b=l(11135),p=l(25787),h=l(64554),f=l(23814),x=l(21435),m=l(90282),g=l(34345),S=l(56087),Z=l(30829),C=l(20068),j=l(13400),A=l(72455),E=l(28182),y=l(67252),w=l(27391),T=[{label:"US East (Ohio)",value:"us-east-2"},{label:"US East (N. Virginia)",value:"us-east-1"},{label:"US West (N. California)",value:"us-west-1"},{label:"US West (Oregon)",value:"us-west-2"},{label:"Africa (Cape Town)",value:"af-south-1"},{label:"Asia Pacific (Hong Kong)***",value:"ap-east-1"},{label:"Asia Pacific (Jakarta)",value:"ap-southeast-3"},{label:"Asia Pacific (Mumbai)",value:"ap-south-1"},{label:"Asia Pacific (Osaka)",value:"ap-northeast-3"},{label:"Asia Pacific (Seoul)",value:"ap-northeast-2"},{label:"Asia Pacific (Singapore)",value:"ap-southeast-1"},{label:"Asia Pacific (Sydney)",value:"ap-southeast-2"},{label:"Asia Pacific (Tokyo)",value:"ap-northeast-1"},{label:"Canada (Central)",value:"ca-central-1"},{label:"China (Beijing)",value:"cn-north-1"},{label:"China (Ningxia)",value:"cn-northwest-1"},{label:"Europe (Frankfurt)",value:"eu-central-1"},{label:"Europe (Ireland)",value:"eu-west-1"},{label:"Europe (London)",value:"eu-west-2"},{label:"Europe (Milan)",value:"eu-south-1"},{label:"Europe (Paris)",value:"eu-west-3"},{label:"Europe (Stockholm)",value:"eu-north-1"},{label:"South America (S\xe3o Paulo)",value:"sa-east-1"},{label:"Middle East (Bahrain)",value:"me-south-1"},{label:"AWS GovCloud (US-East)",value:"us-gov-east-1"},{label:"AWS GovCloud (US-West)",value:"us-gov-west-1"}],N=[{label:"Montr\xe9al",value:"NORTHAMERICA-NORTHEAST1"},{label:"Toronto",value:"NORTHAMERICA-NORTHEAST2"},{label:"Iowa",value:"US-CENTRAL1"},{label:"South Carolina",value:"US-EAST1"},{label:"Northern Virginia",value:"US-EAST4"},{label:"Oregon",value:"US-WEST1"},{label:"Los Angeles",value:"US-WEST2"},{label:"Salt Lake City",value:"US-WEST3"},{label:"Las Vegas",value:"US-WEST4"},{label:"S\xe3o Paulo",value:"SOUTHAMERICA-EAST1"},{label:"Santiago",value:"SOUTHAMERICA-WEST1"},{label:"Warsaw",value:"EUROPE-CENTRAL2"},{label:"Finland",value:"EUROPE-NORTH1"},{label:"Belgium",value:"EUROPE-WEST1"},{label:"London",value:"EUROPE-WEST2"},{label:"Frankfurt",value:"EUROPE-WEST3"},{label:"Netherlands",value:"EUROPE-WEST4"},{label:"Z\xfcrich",value:"EUROPE-WEST6"},{label:"Taiwan",value:"ASIA-EAST1"},{label:"Hong Kong",value:"ASIA-EAST2"},{label:"Tokyo",value:"ASIA-NORTHEAST1"},{label:"Osaka",value:"ASIA-NORTHEAST2"},{label:"Seoul",value:"ASIA-NORTHEAST3"},{label:"Mumbai",value:"ASIA-SOUTH1"},{label:"Delhi",value:"ASIA-SOUTH2"},{label:"Singapore",value:"ASIA-SOUTHEAST1"},{label:"Jakarta",value:"ASIA-SOUTHEAST2"},{label:"Sydney",value:"AUSTRALIA-SOUTHEAST1"},{label:"Melbourne",value:"AUSTRALIA-SOUTHEAST2"}],I=[{label:"Asia",value:"asia"},{label:"Asia Pacific",value:"asiapacific"},{label:"Australia",value:"australia"},{label:"Australia Central",value:"australiacentral"},{label:"Australia Central 2",value:"australiacentral2"},{label:"Australia East",value:"australiaeast"},{label:"Australia Southeast",value:"australiasoutheast"},{label:"Brazil",value:"brazil"},{label:"Brazil South",value:"brazilsouth"},{label:"Brazil Southeast",value:"brazilsoutheast"},{label:"Canada",value:"canada"},{label:"Canada Central",value:"canadacentral"},{label:"Canada East",value:"canadaeast"},{label:"Central India",value:"centralindia"},{label:"Central US",value:"centralus"},{label:"Central US (Stage)",value:"centralusstage"},{label:"Central US EUAP",value:"centraluseuap"},{label:"East Asia",value:"eastasia"},{label:"East Asia (Stage)",value:"eastasiastage"},{label:"East US",value:"eastus"},{label:"East US (Stage)",value:"eastusstage"},{label:"East US 2",value:"eastus2"},{label:"East US 2 (Stage)",value:"eastus2stage"},{label:"East US 2 EUAP",value:"eastus2euap"},{label:"Europe",value:"europe"},{label:"France",value:"france"},{label:"France Central",value:"francecentral"},{label:"France South",value:"francesouth"},{label:"Germany",value:"germany"},{label:"Germany North",value:"germanynorth"},{label:"Germany West Central",value:"germanywestcentral"},{label:"Global",value:"global"},{label:"India",value:"india"},{label:"Japan",value:"japan"},{label:"Japan East",value:"japaneast"},{label:"Japan West",value:"japanwest"},{label:"Jio India Central",value:"jioindiacentral"},{label:"Jio India West",value:"jioindiawest"},{label:"Korea",value:"korea"},{label:"Korea Central",value:"koreacentral"},{label:"Korea South",value:"koreasouth"},{label:"North Central US",value:"northcentralus"},{label:"North Central US (Stage)",value:"northcentralusstage"},{label:"North Europe",value:"northeurope"},{label:"Norway",value:"norway"},{label:"Norway East",value:"norwayeast"},{label:"Norway West",value:"norwaywest"},{label:"South Africa",value:"southafrica"},{label:"South Africa North",value:"southafricanorth"},{label:"South Africa West",value:"southafricawest"},{label:"South Central US",value:"southcentralus"},{label:"South Central US (Stage)",value:"southcentralusstage"},{label:"South India",value:"southindia"},{label:"Southeast Asia",value:"southeastasia"},{label:"Southeast Asia (Stage)",value:"southeastasiastage"},{label:"Sweden Central",value:"swedencentral"},{label:"Switzerland",value:"switzerland"},{label:"Switzerland North",value:"switzerlandnorth"},{label:"Switzerland West",value:"switzerlandwest"},{label:"UAE Central",value:"uaecentral"},{label:"UAE North",value:"uaenorth"},{label:"UK South",value:"uksouth"},{label:"UK West",value:"ukwest"},{label:"United Arab Emirates",value:"uae"},{label:"United Kingdom",value:"uk"},{label:"United States",value:"unitedstates"},{label:"United States EUAP",value:"unitedstateseuap"},{label:"West Central US",value:"westcentralus"},{label:"West Europe",value:"westeurope"},{label:"West India",value:"westindia"},{label:"West US",value:"westus"},{label:"West US (Stage)",value:"westusstage"},{label:"West US 2",value:"westus2"},{label:"West US 2 (Stage)",value:"westus2stage"},{label:"West US 3",value:"westus3"}],U=l(80184),W=function(e){var a=e.type,l=e.onChange,t=e.inputProps,n=function(e){return"s3"===e?T:"gcs"===e?N:"azure"===e?I:[]}(a),o=s.useState(""),u=(0,i.Z)(o,2),c=u[0],d=u[1];return(0,U.jsx)(y.Z,{sx:{"& .MuiOutlinedInput-root":{padding:0,paddingLeft:"10px",fontSize:13,fontWeight:600},"& .MuiAutocomplete-inputRoot":{"& .MuiOutlinedInput-notchedOutline":{borderColor:"#e5e5e5",borderWidth:1},"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:"#07193E",borderWidth:1},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"#07193E",borderWidth:1}}},freeSolo:!0,selectOnFocus:!0,handleHomeEndKeys:!0,onChange:function(e,a){var t,n=a;n="string"===typeof a?{label:a}:a&&a.inputValue?{label:a.inputValue}:a,d(n),l(null===(t=n)||void 0===t?void 0:t.value)},value:c,onInputChange:function(e){var a=(e||{}).target,t=(void 0===a?{}:a).value;l(void 0===t?"":t)},getOptionLabel:function(e){return"string"===typeof e?e:e.inputValue?e.inputValue:e.value},options:n,filterOptions:function(e,a){var l=a.inputValue.toLowerCase();return e.filter((function(e){return"".concat(e.label.toLowerCase()).concat(e.value.toLowerCase()).includes(l)}))},renderOption:function(e,a){return(0,U.jsx)("li",(0,r.Z)((0,r.Z)({},e),{},{children:(0,U.jsxs)(h.Z,{sx:{display:"flex",flexFlow:"column",alignItems:"baseline",padding:"4px",borderBottom:"1px solid #eaeaea",cursor:"pointer",width:"100%","& .label":{fontSize:"13px",fontWeight:500},"& .value":{fontSize:"11px",fontWeight:400}},children:[(0,U.jsx)("span",{className:"label",children:a.value}),(0,U.jsx)("span",{className:"value",children:a.label})]})}))},renderInput:function(e){return(0,U.jsx)(w.Z,(0,r.Z)((0,r.Z)((0,r.Z)({},e),t),{},{fullWidth:!0}))}})},R=(0,A.Z)((function(e){return(0,b.Z)((0,r.Z)({},f.gM))})),O=(0,p.Z)((function(e){return(0,b.Z)((0,r.Z)((0,r.Z)((0,r.Z)({},f.YI),f.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative",minWidth:160},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,r.Z)((0,r.Z)({},f.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var a=e.label,l=e.onChange,t=e.id,n=e.name,i=e.type,o=e.tooltip,u=void 0===o?"":o,c=e.index,b=void 0===c?0:c,p=e.error,h=void 0===p?"":p,f=e.required,x=void 0!==f&&f,m=e.overlayId,g=e.overlayIcon,S=void 0===g?null:g,A=e.overlayObject,y=void 0===A?null:A,w=e.extraInputProps,T=void 0===w?{}:w,N=e.overlayAction,I=e.noLabelMinWidth,O=void 0!==I&&I,k=e.classes,P=e.className,F=void 0===P?"":P,z=R(),L=(0,r.Z)((0,r.Z)({"data-index":b},T),{},{name:n,id:t,classes:z});return(0,U.jsx)(s.Fragment,{children:(0,U.jsxs)(d.ZP,{container:!0,className:(0,E.Z)(""!==F?F:"",""!==h?k.errorInField:k.inputBoxContainer),children:[""!==a&&(0,U.jsxs)(Z.Z,{htmlFor:t,className:O?k.noMinWidthLabel:k.inputLabel,children:[(0,U.jsxs)("span",{children:[a,x?"*":""]}),""!==u&&(0,U.jsx)("div",{className:k.tooltipContainer,children:(0,U.jsx)(C.Z,{title:u,placement:"top-start",children:(0,U.jsx)("div",{className:k.tooltip,children:(0,U.jsx)(v.byK,{})})})})]}),(0,U.jsxs)("div",{className:k.textBoxContainer,children:[(0,U.jsx)(W,{type:i,inputProps:L,onChange:l}),S&&(0,U.jsx)("div",{className:"".concat(k.overlayAction," ").concat(""!==a?"withLabel":""),children:(0,U.jsx)(j.Z,{onClick:N?function(){N()}:function(){return null},id:m,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:S})}),y&&(0,U.jsx)("div",{className:"".concat(k.overlayAction," ").concat(""!==a?"withLabel":""),children:y})]})]})})})),k=l(87995),P=l(81551),F=l(47974),z=l(99670),L=l(31776),M=l(82342),B=(0,p.Z)((function(e){return(0,b.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({},f.oO),f.Je),f.DF),{},{lambdaNotifTitle:{color:"#07193E",fontSize:16,fontFamily:"Inter,sans-serif",paddingLeft:18},fileInputFieldCss:{margin:"0"},fileTextBoxContainer:{maxWidth:" 100%",flex:1},fileReselectCss:{maxWidth:" 100%",flex:1}},f.bV))}))((function(e){var a=e.classes,l=(0,P.TL)(),u=(0,o.s0)(),b=(0,o.UO)(),p=(0,s.useState)(!1),f=(0,i.Z)(p,2),Z=f[0],C=f[1],j=(0,s.useState)(""),A=(0,i.Z)(j,2),E=A[0],y=A[1],w=(0,s.useState)(""),T=(0,i.Z)(w,2),N=T[0],I=T[1],W=(0,s.useState)(""),R=(0,i.Z)(W,2),B=R[0],K=R[1],H=(0,s.useState)(""),V=(0,i.Z)(H,2),q=V[0],G=V[1],_=(0,s.useState)(""),J=(0,i.Z)(_,2),D=J[0],Y=J[1],X=(0,s.useState)(""),$=(0,i.Z)(X,2),Q=$[0],ee=$[1],ae=(0,s.useState)(""),le=(0,i.Z)(ae,2),te=le[0],ne=le[1],ie=(0,s.useState)(""),re=(0,i.Z)(ie,2),se=re[0],oe=re[1],ue=(0,s.useState)(""),ce=(0,i.Z)(ue,2),de=ce[0],ve=ce[1],be=(0,s.useState)(""),pe=(0,i.Z)(be,2),he=pe[0],fe=pe[1],xe=(0,s.useState)(""),me=(0,i.Z)(xe,2),ge=me[0],Se=me[1],Ze=(0,s.useState)(""),Ce=(0,i.Z)(Ze,2),je=Ce[0],Ae=Ce[1],Ee=(0,s.useState)(""),ye=(0,i.Z)(Ee,2),we=ye[0],Te=ye[1],Ne=c()(b,"service","s3"),Ie=(0,s.useState)(!0),Ue=(0,i.Z)(Ie,2),We=Ue[0],Re=Ue[1],Oe=(0,s.useState)(""),ke=(0,i.Z)(Oe,2),Pe=ke[0],Fe=ke[1],ze=(0,s.useCallback)((function(){return/^[A-Z0-9-_]+$/.test(E)?(Fe(""),!0):(Fe("Please verify that string is uppercase only and contains valid characters (numbers, dashes & underscores)."),!1)}),[E]);(0,s.useEffect)((function(){if(Z){var e={},a={name:E,endpoint:N,bucket:B,prefix:q,region:D},i=Ne;switch(Ne){case"minio":e={minio:(0,r.Z)((0,r.Z)({},a),{},{accesskey:te,secretkey:se})};break;case"s3":e={s3:(0,r.Z)((0,r.Z)({},a),{},{accesskey:te,secretkey:se,storageclass:Q})};break;case"gcs":e={gcs:(0,r.Z)((0,r.Z)({},a),{},{creds:he})};break;case"azure":e={azure:(0,r.Z)((0,r.Z)({},a),{},{accountname:ge,accountkey:je})}}var s=(0,r.Z)({type:i},e);L.h.admin.addTier(s).then((function(){C(!1),u(S.gA.TIERS)})).catch(function(){var e=(0,n.Z)((0,t.Z)().mark((function e(a){var n;return(0,t.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,a.json();case 2:n=e.sent,C(!1),l((0,k.Ih)((0,M.g)(n)));case 5:case"end":return e.stop()}}),e)})));return function(a){return e.apply(this,arguments)}}())}}),[te,je,ge,B,he,N,E,q,D,Z,se,l,Q,Ne,u]),(0,s.useEffect)((function(){var e=!0;""===Ne&&(e=!1),""!==E&&ze()||(e=!1),""===N&&(e=!1),""===B&&(e=!1),""===q&&(e=!1),""===D&&"minio"!==Ne&&(e=!1),"s3"!==Ne&&"minio"!==Ne||(""===te&&(e=!1),""===se&&(e=!1)),"gcs"===Ne&&""===he&&(e=!1),"azure"===Ne&&(""===ge&&(e=!1),""===je&&(e=!1)),Re(e)}),[te,je,ge,B,he,N,We,E,q,D,se,Q,Ne,ze]),(0,s.useEffect)((function(){switch(Ne){case"gcs":I("https://storage.googleapis.com"),Te("Google Cloud");break;case"s3":I("https://s3.amazonaws.com"),Te("Amazon S3");break;case"azure":I("http://blob.core.windows.net"),Te("Azure");break;case"minio":I(""),Te("MinIO")}}),[Ne]);var Le=g.Bh.find((function(e){return e.serviceName===Ne}));return(0,s.useEffect)((function(){l((0,k.Sc)("add-tier-configuration"))}),[]),(0,U.jsxs)(s.Fragment,{children:[(0,U.jsx)(F.Z,{label:(0,U.jsx)(s.Fragment,{children:(0,U.jsx)(v.hbI,{label:"Add Tier",onClick:function(){return u(S.gA.TIERS_ADD)}})}),actions:(0,U.jsx)(z.Z,{})}),(0,U.jsx)(v.Xgh,{children:(0,U.jsx)(d.ZP,{item:!0,xs:12,sx:{border:"1px solid #eaeaea",padding:"25px"},children:(0,U.jsxs)("form",{noValidate:!0,onSubmit:function(e){e.preventDefault(),C(!0)},children:[""!==Ne&&Le?(0,U.jsxs)(d.ZP,{item:!0,xs:12,sx:{display:"flex",alignItems:"center",justifyContent:"start",marginBottom:"20px"},children:[Le.logo?(0,U.jsx)(h.Z,{sx:{"& .min-icon":{height:"60px",width:"60px"}},children:Le.logo}):null,(0,U.jsx)("div",{className:a.lambdaNotifTitle,children:(0,U.jsxs)("b",{children:[we||""," - Add Tier Configuration"]})})]},"icon-".concat(Le.targetTitle)):null,(0,U.jsx)(d.ZP,{item:!0,xs:12,sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"1fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gridRowGap:25,gridColumnGap:50},children:""!==Ne&&(0,U.jsxs)(s.Fragment,{children:[(0,U.jsx)(x.Z,{id:"name",name:"name",label:"Name",placeholder:"Enter Name (Eg. REMOTE-TIER)",value:E,onChange:function(e){y(e.target.value.toUpperCase())},error:Pe,required:!0}),(0,U.jsx)(x.Z,{id:"endpoint",name:"endpoint",label:"Endpoint",placeholder:"Enter Endpoint",value:N,onChange:function(e){I(e.target.value)},required:!0}),(Ne===g.b2||Ne===g.Pp)&&(0,U.jsxs)(s.Fragment,{children:[(0,U.jsx)(x.Z,{id:"accessKey",name:"accessKey",label:"Access Key",placeholder:"Enter Access Key",value:te,onChange:function(e){ne(e.target.value)},required:!0}),(0,U.jsx)(x.Z,{id:"secretKey",name:"secretKey",label:"Secret Key",placeholder:"Enter Secret Key",value:se,onChange:function(e){oe(e.target.value)},required:!0})]}),Ne===g.f0&&(0,U.jsx)(m.Z,{accept:".json",classes:{fileInputField:a.fileInputFieldCss,textBoxContainer:a.fileTextBoxContainer,fileReselect:a.fileReselectCss},id:"creds",label:"Credentials",name:"creds",onChange:function(e,a){fe(e),ve(a)},value:de,required:!0}),Ne===g.vB&&(0,U.jsxs)(s.Fragment,{children:[(0,U.jsx)(x.Z,{id:"accountName",name:"accountName",label:"Account Name",placeholder:"Enter Account Name",value:ge,onChange:function(e){Se(e.target.value)},required:!0}),(0,U.jsx)(x.Z,{id:"accountKey",name:"accountKey",label:"Account Key",placeholder:"Enter Account Key",value:je,onChange:function(e){Ae(e.target.value)},required:!0})]}),(0,U.jsx)(x.Z,{id:"bucket",name:"bucket",label:"Bucket",placeholder:"Enter Bucket",value:B,onChange:function(e){K(e.target.value)},required:!0}),(0,U.jsx)(x.Z,{id:"prefix",name:"prefix",label:"Prefix",placeholder:"Enter Prefix",value:q,onChange:function(e){G(e.target.value)},required:!0}),(0,U.jsx)(O,{onChange:function(e){Y(e)},required:"minio"!==Ne,label:"Region",id:"region",name:"region",type:Ne}),Ne===g.b2&&(0,U.jsx)(x.Z,{id:"storageClass",name:"storageClass",label:"Storage Class",placeholder:"Enter Storage Class",value:Q,onChange:function(e){ee(e.target.value)}})]})}),(0,U.jsx)(d.ZP,{item:!0,xs:12,className:a.settingsButtonContainer,children:(0,U.jsx)(v.zxk,{id:"save-tier-configuration",type:"submit",variant:"callAction",disabled:Z||!We,label:"Save Tier Configuration"})})]})})})]})}))},34345:function(e,a,l){"use strict";l.d(a,{Bh:function(){return u},Pp:function(){return i},b2:function(){return s},f0:function(){return r},vB:function(){return o}});var t=l(29945),n=l(80184),i="minio",r="gcs",s="s3",o="azure",u=[{serviceName:i,targetTitle:"MinIO",logo:(0,n.jsx)(t.$E9,{}),logoXs:(0,n.jsx)(t.YEz,{})},{serviceName:r,targetTitle:"Google Cloud Storage",logo:(0,n.jsx)(t.UQG,{}),logoXs:(0,n.jsx)(t.Vwu,{})},{serviceName:s,targetTitle:"AWS S3",logo:(0,n.jsx)(t.feu,{}),logoXs:(0,n.jsx)(t.Xj3,{})},{serviceName:o,targetTitle:"Azure",logo:(0,n.jsx)(t.jze,{}),logoXs:(0,n.jsx)(t.nAe,{})}]},99663:function(e,a,l){"use strict";var t=l(64836);a.Z=void 0;var n=t(l(45649)),i=l(80184),r=(0,n.default)((0,i.jsx)("path",{d:"M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z"}),"AttachFile");a.Z=r},86711:function(e,a,l){"use strict";var t=l(64836);a.Z=void 0;var n=t(l(45649)),i=l(80184),r=(0,n.default)((0,i.jsx)("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}),"Cancel");a.Z=r},3579:function(e,a,l){"use strict";var t=l(64836);a.Z=void 0;var n=t(l(45649)),i=l(80184),r=(0,n.default)((0,i.jsx)("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"}),"RemoveRedEye");a.Z=r},20165:function(e,a,l){"use strict";var t=l(64836);a.Z=void 0;var n=t(l(45649)),i=l(80184),r=(0,n.default)((0,i.jsx)("path",{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"}),"VisibilityOff");a.Z=r},45649:function(e,a,l){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"default",{enumerable:!0,get:function(){return t.createSvgIcon}});var t=l(28610)},31260:function(e,a,l){"use strict";var t=l(78949);a.Z=t.Z},28610:function(e,a,l){"use strict";l.r(a),l.d(a,{capitalize:function(){return n.Z},createChainedFunction:function(){return i.Z},createSvgIcon:function(){return r.Z},debounce:function(){return s.Z},deprecatedPropType:function(){return o},isMuiElement:function(){return u.Z},ownerDocument:function(){return c.Z},ownerWindow:function(){return d.Z},requirePropFactory:function(){return v},setRef:function(){return b},unstable_ClassNameGenerator:function(){return Z},unstable_useEnhancedEffect:function(){return p.Z},unstable_useId:function(){return h.Z},unsupportedProp:function(){return f},useControlled:function(){return x.Z},useEventCallback:function(){return m.Z},useForkRef:function(){return g.Z},useIsFocusVisible:function(){return S.Z}});var t=l(55902),n=l(14036),i=l(31260),r=l(76189),s=l(83199);var o=function(e,a){return function(){return null}},u=l(19103),c=l(98301),d=l(17602);l(87462);var v=function(e,a){return function(){return null}},b=l(62971).Z,p=l(40162),h=l(67384);var f=function(e,a,l,t,n){return null},x=l(98278),m=l(89683),g=l(42071),S=l(23031),Z={configure:function(e){t.Z.configure(e)}}},64836:function(e){e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports}}]); -//# sourceMappingURL=4335.16fc17e3.chunk.js.map \ No newline at end of file +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4335],{90282:function(e,a,l){"use strict";l.d(a,{Z:function(){return Z}});var t=l(29439),n=l(1413),i=l(72791),r=l(26181),s=l.n(r),o=l(61889),u=l(30829),c=l(20068),d=l(13400),v=l(99663),b=l(86711),p=l(11135),h=l(25787),f=l(23814),x=l(29945),m=l(20890),g=l(80184),S=(0,h.Z)((function(e){var a;return(0,p.Z)({errorBlock:{color:(null===(a=e.palette)||void 0===a?void 0:a.error.main)||"#C83B51"}})}))((function(e){var a=e.classes,l=e.errorMessage,t=e.withBreak,n=void 0===t||t;return(0,g.jsxs)(i.Fragment,{children:[n&&(0,g.jsx)("br",{}),(0,g.jsx)(m.Z,{component:"p",variant:"body1",className:a.errorBlock,children:l})]})})),Z=(0,h.Z)((function(e){return(0,p.Z)((0,n.Z)((0,n.Z)((0,n.Z)((0,n.Z)({},f.YI),f.Hr),{},{valueString:{maxWidth:350,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",marginTop:2},fileInputField:{margin:"13px 0","@media (max-width: 900px)":{flexFlow:"column"}}},f.bV),{},{inputLabel:(0,n.Z)((0,n.Z)({},f.YI.inputLabel),{},{fontWeight:"normal"}),textBoxContainer:(0,n.Z)((0,n.Z)({},f.YI.textBoxContainer),{},{maxWidth:"100%",border:"1px solid #eaeaea",paddingLeft:"15px"})}))}))((function(e){var a=e.label,l=e.classes,n=e.onChange,r=e.id,p=e.name,h=e.disabled,f=void 0!==h&&h,m=e.tooltip,Z=void 0===m?"":m,C=e.required,j=e.error,A=void 0===j?"":j,E=e.accept,y=void 0===E?"":E,w=e.value,T=void 0===w?"":w,N=(0,i.useState)(!1),I=(0,t.Z)(N,2),U=I[0],W=I[1];return(0,g.jsx)(i.Fragment,{children:(0,g.jsxs)(o.ZP,{item:!0,xs:12,className:"".concat(l.fileInputField," ").concat(l.fieldBottom," ").concat(l.fieldContainer," ").concat(""!==A?l.errorInField:""),children:[""!==a&&(0,g.jsxs)(u.Z,{htmlFor:r,className:"".concat(""!==A?l.fieldLabelError:""," ").concat(l.inputLabel),children:[(0,g.jsxs)("span",{children:[a,C?"*":""]}),""!==Z&&(0,g.jsx)("div",{className:l.tooltipContainer,children:(0,g.jsx)(c.Z,{title:Z,placement:"top-start",children:(0,g.jsx)("div",{className:l.tooltip,children:(0,g.jsx)(x.byK,{})})})})]}),U||""===T?(0,g.jsxs)("div",{className:l.textBoxContainer,children:[(0,g.jsx)("input",{type:"file",name:p,onChange:function(e){var a=s()(e,"target.files[0].name","");!function(e,a){var l=e.target.files[0],t=new FileReader;t.readAsDataURL(l),t.onload=function(){var e=t.result;if(e){var l=e.toString().split("base64,");2===l.length&&a(l[1])}}}(e,(function(e){n(e,a)}))},accept:y,required:C,disabled:f,className:l.fileInputField}),""!==T&&(0,g.jsx)(d.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){W(!1)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,g.jsx)(b.Z,{})}),""!==A&&(0,g.jsx)(S,{errorMessage:A})]}):(0,g.jsxs)("div",{className:l.fileReselect,children:[(0,g.jsx)("div",{className:l.valueString,children:T}),(0,g.jsx)(d.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){W(!0)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,g.jsx)(v.Z,{})})]})]})})}))},21435:function(e,a,l){"use strict";var t=l(29439),n=l(1413),i=l(72791),r=l(27391),s=l(61889),o=l(30829),u=l(20068),c=l(13400),d=l(20165),v=l(3579),b=l(11135),p=l(72455),h=l(25787),f=l(23814),x=l(29945),m=l(28182),g=l(80184),S=(0,p.Z)((function(e){return(0,b.Z)((0,n.Z)({},f.gM))}));function Z(e){var a=S();return(0,g.jsx)(r.Z,(0,n.Z)({InputProps:{classes:a}},e))}a.Z=(0,h.Z)((function(e){return(0,b.Z)((0,n.Z)((0,n.Z)((0,n.Z)({},f.YI),f.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}}}))}))((function(e){var a=e.label,l=e.onChange,r=e.value,b=e.id,p=e.name,h=e.type,f=void 0===h?"text":h,S=e.autoComplete,C=void 0===S?"off":S,j=e.disabled,A=void 0!==j&&j,E=e.multiline,y=void 0!==E&&E,w=e.tooltip,T=void 0===w?"":w,N=e.index,I=void 0===N?0:N,U=e.error,W=void 0===U?"":U,R=e.required,O=void 0!==R&&R,k=e.placeholder,P=void 0===k?"":k,F=e.min,z=e.max,L=e.overlayId,M=e.overlayIcon,B=void 0===M?null:M,K=e.overlayObject,H=void 0===K?null:K,V=e.extraInputProps,q=void 0===V?{}:V,G=e.overlayAction,_=e.noLabelMinWidth,J=void 0!==_&&_,D=e.pattern,Y=void 0===D?"":D,X=e.autoFocus,$=void 0!==X&&X,Q=e.classes,ee=e.className,ae=void 0===ee?"":ee,le=e.onKeyPress,te=e.onFocus,ne=e.onPaste,ie=(0,n.Z)({"data-index":I},q),re=(0,i.useState)(!1),se=(0,t.Z)(re,2),oe=se[0],ue=se[1];"number"===f&&F&&(ie.min=F),"number"===f&&z&&(ie.max=z),""!==Y&&(ie.pattern=Y);var ce=B,de=f;return"password"===f&&null===B&&(ce=oe?(0,g.jsx)(d.Z,{}):(0,g.jsx)(v.Z,{}),de=oe?"text":"password"),(0,g.jsx)(i.Fragment,{children:(0,g.jsxs)(s.ZP,{container:!0,className:(0,m.Z)(""!==ae?ae:"",""!==W?Q.errorInField:Q.inputBoxContainer),children:[""!==a&&(0,g.jsxs)(o.Z,{htmlFor:b,className:J?Q.noMinWidthLabel:Q.inputLabel,children:[(0,g.jsxs)("span",{children:[a,O?"*":""]}),""!==T&&(0,g.jsx)("div",{className:Q.tooltipContainer,children:(0,g.jsx)(u.Z,{title:T,placement:"top-start",children:(0,g.jsx)("div",{className:Q.tooltip,children:(0,g.jsx)(x.byK,{})})})})]}),(0,g.jsxs)("div",{className:Q.textBoxContainer,children:[(0,g.jsx)(Z,{id:b,name:p,fullWidth:!0,value:r,autoFocus:$,disabled:A,onChange:l,type:de,multiline:y,autoComplete:C,inputProps:ie,error:""!==W,helperText:W,placeholder:P,className:Q.inputRebase,onKeyPress:le,onFocus:te,onPaste:ne}),ce&&(0,g.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==a?"withLabel":""),children:(0,g.jsx)(c.Z,{onClick:G?function(){G()}:function(){return ue(!oe)},id:L,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:ce})}),H&&(0,g.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==a?"withLabel":""),children:H})]})]})})}))},84335:function(e,a,l){"use strict";l.r(a),l.d(a,{default:function(){return B}});var t=l(74165),n=l(15861),i=l(29439),r=l(1413),s=l(72791),o=l(57689),u=l(26181),c=l.n(u),d=l(61889),v=l(29945),b=l(11135),p=l(25787),h=l(64554),f=l(23814),x=l(21435),m=l(90282),g=l(34345),S=l(56087),Z=l(30829),C=l(20068),j=l(13400),A=l(72455),E=l(28182),y=l(35739),w=l(27391),T=[{label:"US East (Ohio)",value:"us-east-2"},{label:"US East (N. Virginia)",value:"us-east-1"},{label:"US West (N. California)",value:"us-west-1"},{label:"US West (Oregon)",value:"us-west-2"},{label:"Africa (Cape Town)",value:"af-south-1"},{label:"Asia Pacific (Hong Kong)***",value:"ap-east-1"},{label:"Asia Pacific (Jakarta)",value:"ap-southeast-3"},{label:"Asia Pacific (Mumbai)",value:"ap-south-1"},{label:"Asia Pacific (Osaka)",value:"ap-northeast-3"},{label:"Asia Pacific (Seoul)",value:"ap-northeast-2"},{label:"Asia Pacific (Singapore)",value:"ap-southeast-1"},{label:"Asia Pacific (Sydney)",value:"ap-southeast-2"},{label:"Asia Pacific (Tokyo)",value:"ap-northeast-1"},{label:"Canada (Central)",value:"ca-central-1"},{label:"China (Beijing)",value:"cn-north-1"},{label:"China (Ningxia)",value:"cn-northwest-1"},{label:"Europe (Frankfurt)",value:"eu-central-1"},{label:"Europe (Ireland)",value:"eu-west-1"},{label:"Europe (London)",value:"eu-west-2"},{label:"Europe (Milan)",value:"eu-south-1"},{label:"Europe (Paris)",value:"eu-west-3"},{label:"Europe (Stockholm)",value:"eu-north-1"},{label:"South America (S\xe3o Paulo)",value:"sa-east-1"},{label:"Middle East (Bahrain)",value:"me-south-1"},{label:"AWS GovCloud (US-East)",value:"us-gov-east-1"},{label:"AWS GovCloud (US-West)",value:"us-gov-west-1"}],N=[{label:"Montr\xe9al",value:"NORTHAMERICA-NORTHEAST1"},{label:"Toronto",value:"NORTHAMERICA-NORTHEAST2"},{label:"Iowa",value:"US-CENTRAL1"},{label:"South Carolina",value:"US-EAST1"},{label:"Northern Virginia",value:"US-EAST4"},{label:"Oregon",value:"US-WEST1"},{label:"Los Angeles",value:"US-WEST2"},{label:"Salt Lake City",value:"US-WEST3"},{label:"Las Vegas",value:"US-WEST4"},{label:"S\xe3o Paulo",value:"SOUTHAMERICA-EAST1"},{label:"Santiago",value:"SOUTHAMERICA-WEST1"},{label:"Warsaw",value:"EUROPE-CENTRAL2"},{label:"Finland",value:"EUROPE-NORTH1"},{label:"Belgium",value:"EUROPE-WEST1"},{label:"London",value:"EUROPE-WEST2"},{label:"Frankfurt",value:"EUROPE-WEST3"},{label:"Netherlands",value:"EUROPE-WEST4"},{label:"Z\xfcrich",value:"EUROPE-WEST6"},{label:"Taiwan",value:"ASIA-EAST1"},{label:"Hong Kong",value:"ASIA-EAST2"},{label:"Tokyo",value:"ASIA-NORTHEAST1"},{label:"Osaka",value:"ASIA-NORTHEAST2"},{label:"Seoul",value:"ASIA-NORTHEAST3"},{label:"Mumbai",value:"ASIA-SOUTH1"},{label:"Delhi",value:"ASIA-SOUTH2"},{label:"Singapore",value:"ASIA-SOUTHEAST1"},{label:"Jakarta",value:"ASIA-SOUTHEAST2"},{label:"Sydney",value:"AUSTRALIA-SOUTHEAST1"},{label:"Melbourne",value:"AUSTRALIA-SOUTHEAST2"}],I=[{label:"Asia",value:"asia"},{label:"Asia Pacific",value:"asiapacific"},{label:"Australia",value:"australia"},{label:"Australia Central",value:"australiacentral"},{label:"Australia Central 2",value:"australiacentral2"},{label:"Australia East",value:"australiaeast"},{label:"Australia Southeast",value:"australiasoutheast"},{label:"Brazil",value:"brazil"},{label:"Brazil South",value:"brazilsouth"},{label:"Brazil Southeast",value:"brazilsoutheast"},{label:"Canada",value:"canada"},{label:"Canada Central",value:"canadacentral"},{label:"Canada East",value:"canadaeast"},{label:"Central India",value:"centralindia"},{label:"Central US",value:"centralus"},{label:"Central US (Stage)",value:"centralusstage"},{label:"Central US EUAP",value:"centraluseuap"},{label:"East Asia",value:"eastasia"},{label:"East Asia (Stage)",value:"eastasiastage"},{label:"East US",value:"eastus"},{label:"East US (Stage)",value:"eastusstage"},{label:"East US 2",value:"eastus2"},{label:"East US 2 (Stage)",value:"eastus2stage"},{label:"East US 2 EUAP",value:"eastus2euap"},{label:"Europe",value:"europe"},{label:"France",value:"france"},{label:"France Central",value:"francecentral"},{label:"France South",value:"francesouth"},{label:"Germany",value:"germany"},{label:"Germany North",value:"germanynorth"},{label:"Germany West Central",value:"germanywestcentral"},{label:"Global",value:"global"},{label:"India",value:"india"},{label:"Japan",value:"japan"},{label:"Japan East",value:"japaneast"},{label:"Japan West",value:"japanwest"},{label:"Jio India Central",value:"jioindiacentral"},{label:"Jio India West",value:"jioindiawest"},{label:"Korea",value:"korea"},{label:"Korea Central",value:"koreacentral"},{label:"Korea South",value:"koreasouth"},{label:"North Central US",value:"northcentralus"},{label:"North Central US (Stage)",value:"northcentralusstage"},{label:"North Europe",value:"northeurope"},{label:"Norway",value:"norway"},{label:"Norway East",value:"norwayeast"},{label:"Norway West",value:"norwaywest"},{label:"South Africa",value:"southafrica"},{label:"South Africa North",value:"southafricanorth"},{label:"South Africa West",value:"southafricawest"},{label:"South Central US",value:"southcentralus"},{label:"South Central US (Stage)",value:"southcentralusstage"},{label:"South India",value:"southindia"},{label:"Southeast Asia",value:"southeastasia"},{label:"Southeast Asia (Stage)",value:"southeastasiastage"},{label:"Sweden Central",value:"swedencentral"},{label:"Switzerland",value:"switzerland"},{label:"Switzerland North",value:"switzerlandnorth"},{label:"Switzerland West",value:"switzerlandwest"},{label:"UAE Central",value:"uaecentral"},{label:"UAE North",value:"uaenorth"},{label:"UK South",value:"uksouth"},{label:"UK West",value:"ukwest"},{label:"United Arab Emirates",value:"uae"},{label:"United Kingdom",value:"uk"},{label:"United States",value:"unitedstates"},{label:"United States EUAP",value:"unitedstateseuap"},{label:"West Central US",value:"westcentralus"},{label:"West Europe",value:"westeurope"},{label:"West India",value:"westindia"},{label:"West US",value:"westus"},{label:"West US (Stage)",value:"westusstage"},{label:"West US 2",value:"westus2"},{label:"West US 2 (Stage)",value:"westus2stage"},{label:"West US 3",value:"westus3"}],U=l(80184),W=function(e){var a=e.type,l=e.onChange,t=e.inputProps,n=function(e){return"s3"===e?T:"gcs"===e?N:"azure"===e?I:[]}(a),o=s.useState(""),u=(0,i.Z)(o,2),c=u[0],d=u[1];return(0,U.jsx)(y.Z,{sx:{"& .MuiOutlinedInput-root":{padding:0,paddingLeft:"10px",fontSize:13,fontWeight:600},"& .MuiAutocomplete-inputRoot":{"& .MuiOutlinedInput-notchedOutline":{borderColor:"#e5e5e5",borderWidth:1},"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:"#07193E",borderWidth:1},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"#07193E",borderWidth:1}}},freeSolo:!0,selectOnFocus:!0,handleHomeEndKeys:!0,onChange:function(e,a){var t,n=a;n="string"===typeof a?{label:a}:a&&a.inputValue?{label:a.inputValue}:a,d(n),l(null===(t=n)||void 0===t?void 0:t.value)},value:c,onInputChange:function(e){var a=(e||{}).target,t=(void 0===a?{}:a).value;l(void 0===t?"":t)},getOptionLabel:function(e){return"string"===typeof e?e:e.inputValue?e.inputValue:e.value},options:n,filterOptions:function(e,a){var l=a.inputValue.toLowerCase();return e.filter((function(e){return"".concat(e.label.toLowerCase()).concat(e.value.toLowerCase()).includes(l)}))},renderOption:function(e,a){return(0,U.jsx)("li",(0,r.Z)((0,r.Z)({},e),{},{children:(0,U.jsxs)(h.Z,{sx:{display:"flex",flexFlow:"column",alignItems:"baseline",padding:"4px",borderBottom:"1px solid #eaeaea",cursor:"pointer",width:"100%","& .label":{fontSize:"13px",fontWeight:500},"& .value":{fontSize:"11px",fontWeight:400}},children:[(0,U.jsx)("span",{className:"label",children:a.value}),(0,U.jsx)("span",{className:"value",children:a.label})]})}))},renderInput:function(e){return(0,U.jsx)(w.Z,(0,r.Z)((0,r.Z)((0,r.Z)({},e),t),{},{fullWidth:!0}))}})},R=(0,A.Z)((function(e){return(0,b.Z)((0,r.Z)({},f.gM))})),O=(0,p.Z)((function(e){return(0,b.Z)((0,r.Z)((0,r.Z)((0,r.Z)({},f.YI),f.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative",minWidth:160},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,r.Z)((0,r.Z)({},f.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var a=e.label,l=e.onChange,t=e.id,n=e.name,i=e.type,o=e.tooltip,u=void 0===o?"":o,c=e.index,b=void 0===c?0:c,p=e.error,h=void 0===p?"":p,f=e.required,x=void 0!==f&&f,m=e.overlayId,g=e.overlayIcon,S=void 0===g?null:g,A=e.overlayObject,y=void 0===A?null:A,w=e.extraInputProps,T=void 0===w?{}:w,N=e.overlayAction,I=e.noLabelMinWidth,O=void 0!==I&&I,k=e.classes,P=e.className,F=void 0===P?"":P,z=R(),L=(0,r.Z)((0,r.Z)({"data-index":b},T),{},{name:n,id:t,classes:z});return(0,U.jsx)(s.Fragment,{children:(0,U.jsxs)(d.ZP,{container:!0,className:(0,E.Z)(""!==F?F:"",""!==h?k.errorInField:k.inputBoxContainer),children:[""!==a&&(0,U.jsxs)(Z.Z,{htmlFor:t,className:O?k.noMinWidthLabel:k.inputLabel,children:[(0,U.jsxs)("span",{children:[a,x?"*":""]}),""!==u&&(0,U.jsx)("div",{className:k.tooltipContainer,children:(0,U.jsx)(C.Z,{title:u,placement:"top-start",children:(0,U.jsx)("div",{className:k.tooltip,children:(0,U.jsx)(v.byK,{})})})})]}),(0,U.jsxs)("div",{className:k.textBoxContainer,children:[(0,U.jsx)(W,{type:i,inputProps:L,onChange:l}),S&&(0,U.jsx)("div",{className:"".concat(k.overlayAction," ").concat(""!==a?"withLabel":""),children:(0,U.jsx)(j.Z,{onClick:N?function(){N()}:function(){return null},id:m,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:S})}),y&&(0,U.jsx)("div",{className:"".concat(k.overlayAction," ").concat(""!==a?"withLabel":""),children:y})]})]})})})),k=l(87995),P=l(81551),F=l(47974),z=l(99670),L=l(31776),M=l(82342),B=(0,p.Z)((function(e){return(0,b.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({},f.oO),f.Je),f.DF),{},{lambdaNotifTitle:{color:"#07193E",fontSize:16,fontFamily:"Inter,sans-serif",paddingLeft:18},fileInputFieldCss:{margin:"0"},fileTextBoxContainer:{maxWidth:" 100%",flex:1},fileReselectCss:{maxWidth:" 100%",flex:1}},f.bV))}))((function(e){var a=e.classes,l=(0,P.TL)(),u=(0,o.s0)(),b=(0,o.UO)(),p=(0,s.useState)(!1),f=(0,i.Z)(p,2),Z=f[0],C=f[1],j=(0,s.useState)(""),A=(0,i.Z)(j,2),E=A[0],y=A[1],w=(0,s.useState)(""),T=(0,i.Z)(w,2),N=T[0],I=T[1],W=(0,s.useState)(""),R=(0,i.Z)(W,2),B=R[0],K=R[1],H=(0,s.useState)(""),V=(0,i.Z)(H,2),q=V[0],G=V[1],_=(0,s.useState)(""),J=(0,i.Z)(_,2),D=J[0],Y=J[1],X=(0,s.useState)(""),$=(0,i.Z)(X,2),Q=$[0],ee=$[1],ae=(0,s.useState)(""),le=(0,i.Z)(ae,2),te=le[0],ne=le[1],ie=(0,s.useState)(""),re=(0,i.Z)(ie,2),se=re[0],oe=re[1],ue=(0,s.useState)(""),ce=(0,i.Z)(ue,2),de=ce[0],ve=ce[1],be=(0,s.useState)(""),pe=(0,i.Z)(be,2),he=pe[0],fe=pe[1],xe=(0,s.useState)(""),me=(0,i.Z)(xe,2),ge=me[0],Se=me[1],Ze=(0,s.useState)(""),Ce=(0,i.Z)(Ze,2),je=Ce[0],Ae=Ce[1],Ee=(0,s.useState)(""),ye=(0,i.Z)(Ee,2),we=ye[0],Te=ye[1],Ne=c()(b,"service","s3"),Ie=(0,s.useState)(!0),Ue=(0,i.Z)(Ie,2),We=Ue[0],Re=Ue[1],Oe=(0,s.useState)(""),ke=(0,i.Z)(Oe,2),Pe=ke[0],Fe=ke[1],ze=(0,s.useCallback)((function(){return/^[A-Z0-9-_]+$/.test(E)?(Fe(""),!0):(Fe("Please verify that string is uppercase only and contains valid characters (numbers, dashes & underscores)."),!1)}),[E]);(0,s.useEffect)((function(){if(Z){var e={},a={name:E,endpoint:N,bucket:B,prefix:q,region:D},i=Ne;switch(Ne){case"minio":e={minio:(0,r.Z)((0,r.Z)({},a),{},{accesskey:te,secretkey:se})};break;case"s3":e={s3:(0,r.Z)((0,r.Z)({},a),{},{accesskey:te,secretkey:se,storageclass:Q})};break;case"gcs":e={gcs:(0,r.Z)((0,r.Z)({},a),{},{creds:he})};break;case"azure":e={azure:(0,r.Z)((0,r.Z)({},a),{},{accountname:ge,accountkey:je})}}var s=(0,r.Z)({type:i},e);L.h.admin.addTier(s).then((function(){C(!1),u(S.gA.TIERS)})).catch(function(){var e=(0,n.Z)((0,t.Z)().mark((function e(a){var n;return(0,t.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,a.json();case 2:n=e.sent,C(!1),l((0,k.Ih)((0,M.g)(n)));case 5:case"end":return e.stop()}}),e)})));return function(a){return e.apply(this,arguments)}}())}}),[te,je,ge,B,he,N,E,q,D,Z,se,l,Q,Ne,u]),(0,s.useEffect)((function(){var e=!0;""===Ne&&(e=!1),""!==E&&ze()||(e=!1),""===N&&(e=!1),""===B&&(e=!1),""===q&&(e=!1),""===D&&"minio"!==Ne&&(e=!1),"s3"!==Ne&&"minio"!==Ne||(""===te&&(e=!1),""===se&&(e=!1)),"gcs"===Ne&&""===he&&(e=!1),"azure"===Ne&&(""===ge&&(e=!1),""===je&&(e=!1)),Re(e)}),[te,je,ge,B,he,N,We,E,q,D,se,Q,Ne,ze]),(0,s.useEffect)((function(){switch(Ne){case"gcs":I("https://storage.googleapis.com"),Te("Google Cloud");break;case"s3":I("https://s3.amazonaws.com"),Te("Amazon S3");break;case"azure":I("http://blob.core.windows.net"),Te("Azure");break;case"minio":I(""),Te("MinIO")}}),[Ne]);var Le=g.Bh.find((function(e){return e.serviceName===Ne}));return(0,s.useEffect)((function(){l((0,k.Sc)("add-tier-configuration"))}),[]),(0,U.jsxs)(s.Fragment,{children:[(0,U.jsx)(F.Z,{label:(0,U.jsx)(s.Fragment,{children:(0,U.jsx)(v.hbI,{label:"Add Tier",onClick:function(){return u(S.gA.TIERS_ADD)}})}),actions:(0,U.jsx)(z.Z,{})}),(0,U.jsx)(v.Xgh,{children:(0,U.jsx)(d.ZP,{item:!0,xs:12,sx:{border:"1px solid #eaeaea",padding:"25px"},children:(0,U.jsxs)("form",{noValidate:!0,onSubmit:function(e){e.preventDefault(),C(!0)},children:[""!==Ne&&Le?(0,U.jsxs)(d.ZP,{item:!0,xs:12,sx:{display:"flex",alignItems:"center",justifyContent:"start",marginBottom:"20px"},children:[Le.logo?(0,U.jsx)(h.Z,{sx:{"& .min-icon":{height:"60px",width:"60px"}},children:Le.logo}):null,(0,U.jsx)("div",{className:a.lambdaNotifTitle,children:(0,U.jsxs)("b",{children:[we||""," - Add Tier Configuration"]})})]},"icon-".concat(Le.targetTitle)):null,(0,U.jsx)(d.ZP,{item:!0,xs:12,sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"1fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gridRowGap:25,gridColumnGap:50},children:""!==Ne&&(0,U.jsxs)(s.Fragment,{children:[(0,U.jsx)(x.Z,{id:"name",name:"name",label:"Name",placeholder:"Enter Name (Eg. REMOTE-TIER)",value:E,onChange:function(e){y(e.target.value.toUpperCase())},error:Pe,required:!0}),(0,U.jsx)(x.Z,{id:"endpoint",name:"endpoint",label:"Endpoint",placeholder:"Enter Endpoint",value:N,onChange:function(e){I(e.target.value)},required:!0}),(Ne===g.b2||Ne===g.Pp)&&(0,U.jsxs)(s.Fragment,{children:[(0,U.jsx)(x.Z,{id:"accessKey",name:"accessKey",label:"Access Key",placeholder:"Enter Access Key",value:te,onChange:function(e){ne(e.target.value)},required:!0}),(0,U.jsx)(x.Z,{id:"secretKey",name:"secretKey",label:"Secret Key",placeholder:"Enter Secret Key",value:se,onChange:function(e){oe(e.target.value)},required:!0})]}),Ne===g.f0&&(0,U.jsx)(m.Z,{accept:".json",classes:{fileInputField:a.fileInputFieldCss,textBoxContainer:a.fileTextBoxContainer,fileReselect:a.fileReselectCss},id:"creds",label:"Credentials",name:"creds",onChange:function(e,a){fe(e),ve(a)},value:de,required:!0}),Ne===g.vB&&(0,U.jsxs)(s.Fragment,{children:[(0,U.jsx)(x.Z,{id:"accountName",name:"accountName",label:"Account Name",placeholder:"Enter Account Name",value:ge,onChange:function(e){Se(e.target.value)},required:!0}),(0,U.jsx)(x.Z,{id:"accountKey",name:"accountKey",label:"Account Key",placeholder:"Enter Account Key",value:je,onChange:function(e){Ae(e.target.value)},required:!0})]}),(0,U.jsx)(x.Z,{id:"bucket",name:"bucket",label:"Bucket",placeholder:"Enter Bucket",value:B,onChange:function(e){K(e.target.value)},required:!0}),(0,U.jsx)(x.Z,{id:"prefix",name:"prefix",label:"Prefix",placeholder:"Enter Prefix",value:q,onChange:function(e){G(e.target.value)},required:!0}),(0,U.jsx)(O,{onChange:function(e){Y(e)},required:"minio"!==Ne,label:"Region",id:"region",name:"region",type:Ne}),Ne===g.b2&&(0,U.jsx)(x.Z,{id:"storageClass",name:"storageClass",label:"Storage Class",placeholder:"Enter Storage Class",value:Q,onChange:function(e){ee(e.target.value)}})]})}),(0,U.jsx)(d.ZP,{item:!0,xs:12,className:a.settingsButtonContainer,children:(0,U.jsx)(v.zxk,{id:"save-tier-configuration",type:"submit",variant:"callAction",disabled:Z||!We,label:"Save Tier Configuration"})})]})})})]})}))},34345:function(e,a,l){"use strict";l.d(a,{Bh:function(){return u},Pp:function(){return i},b2:function(){return s},f0:function(){return r},vB:function(){return o}});var t=l(29945),n=l(80184),i="minio",r="gcs",s="s3",o="azure",u=[{serviceName:i,targetTitle:"MinIO",logo:(0,n.jsx)(t.$E9,{}),logoXs:(0,n.jsx)(t.YEz,{})},{serviceName:r,targetTitle:"Google Cloud Storage",logo:(0,n.jsx)(t.UQG,{}),logoXs:(0,n.jsx)(t.Vwu,{})},{serviceName:s,targetTitle:"AWS S3",logo:(0,n.jsx)(t.feu,{}),logoXs:(0,n.jsx)(t.Xj3,{})},{serviceName:o,targetTitle:"Azure",logo:(0,n.jsx)(t.jze,{}),logoXs:(0,n.jsx)(t.nAe,{})}]},99663:function(e,a,l){"use strict";var t=l(64836);a.Z=void 0;var n=t(l(45649)),i=l(80184),r=(0,n.default)((0,i.jsx)("path",{d:"M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z"}),"AttachFile");a.Z=r},86711:function(e,a,l){"use strict";var t=l(64836);a.Z=void 0;var n=t(l(45649)),i=l(80184),r=(0,n.default)((0,i.jsx)("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}),"Cancel");a.Z=r},3579:function(e,a,l){"use strict";var t=l(64836);a.Z=void 0;var n=t(l(45649)),i=l(80184),r=(0,n.default)((0,i.jsx)("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"}),"RemoveRedEye");a.Z=r},20165:function(e,a,l){"use strict";var t=l(64836);a.Z=void 0;var n=t(l(45649)),i=l(80184),r=(0,n.default)((0,i.jsx)("path",{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"}),"VisibilityOff");a.Z=r},45649:function(e,a,l){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"default",{enumerable:!0,get:function(){return t.createSvgIcon}});var t=l(28610)},31260:function(e,a,l){"use strict";var t=l(78949);a.Z=t.Z},28610:function(e,a,l){"use strict";l.r(a),l.d(a,{capitalize:function(){return n.Z},createChainedFunction:function(){return i.Z},createSvgIcon:function(){return r.Z},debounce:function(){return s.Z},deprecatedPropType:function(){return o},isMuiElement:function(){return u.Z},ownerDocument:function(){return c.Z},ownerWindow:function(){return d.Z},requirePropFactory:function(){return v},setRef:function(){return b},unstable_ClassNameGenerator:function(){return Z},unstable_useEnhancedEffect:function(){return p.Z},unstable_useId:function(){return h.Z},unsupportedProp:function(){return f},useControlled:function(){return x.Z},useEventCallback:function(){return m.Z},useForkRef:function(){return g.Z},useIsFocusVisible:function(){return S.Z}});var t=l(55902),n=l(14036),i=l(31260),r=l(76189),s=l(83199);var o=function(e,a){return function(){return null}},u=l(19103),c=l(98301),d=l(17602);l(87462);var v=function(e,a){return function(){return null}},b=l(62971).Z,p=l(40162),h=l(67384);var f=function(e,a,l,t,n){return null},x=l(98278),m=l(89683),g=l(42071),S=l(23031),Z={configure:function(e){t.Z.configure(e)}}},64836:function(e){e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports}}]); +//# sourceMappingURL=4335.1ddacb73.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4335.16fc17e3.chunk.js.map b/portal-ui/build/static/js/4335.1ddacb73.chunk.js.map similarity index 85% rename from portal-ui/build/static/js/4335.16fc17e3.chunk.js.map rename to portal-ui/build/static/js/4335.1ddacb73.chunk.js.map index 1a9315ea9..d6960989f 100644 --- a/portal-ui/build/static/js/4335.16fc17e3.chunk.js.map +++ b/portal-ui/build/static/js/4335.1ddacb73.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/4335.16fc17e3.chunk.js","mappings":"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,MAAO,sBACPa,MAAO,sBAET,CACEb,MAAO,SACPa,MAAO,UAET,CACEb,MAAO,eACPa,MAAO,eAET,CACEb,MAAO,mBACPa,MAAO,mBAET,CACEb,MAAO,SACPa,MAAO,UAET,CACEb,MAAO,iBACPa,MAAO,iBAET,CACEb,MAAO,cACPa,MAAO,cAET,CACEb,MAAO,gBACPa,MAAO,gBAET,CACEb,MAAO,aACPa,MAAO,aAET,CACEb,MAAO,qBACPa,MAAO,kBAET,CACEb,MAAO,kBACPa,MAAO,iBAET,CACEb,MAAO,YACPa,MAAO,YAET,CACEb,MAAO,oBACPa,MAAO,iBAET,CACEb,MAAO,UACPa,MAAO,UAET,CACEb,MAAO,kBACPa,MAAO,eAET,CACEb,MAAO,YACPa,MAAO,WAET,CACEb,MAAO,oBACPa,MAAO,gBAET,CACEb,MAAO,iBACPa,MAAO,eAET,CACEb,MAAO,SACPa,MAAO,UAET,CACEb,MAAO,SACPa,MAAO,UAET,CACEb,MAAO,iBACPa,MAAO,iBAET,CACEb,MAAO,eACPa,MAAO,eAET,CACEb,MAAO,UACPa,MAAO,WAET,CACEb,MAAO,gBACPa,MAAO,gBAET,CACEb,MAAO,uBACPa,MAAO,sBAET,CACEb,MAAO,SACPa,MAAO,UAET,CACEb,MAAO,QACPa,MAAO,SAET,CACEb,MAAO,QACPa,MAAO,SAET,CACEb,MAAO,aACPa,MAAO,aAET,CACEb,MAAO,aACPa,MAAO,aAET,CACEb,MAAO,oBACPa,MAAO,mBAET,CACEb,MAAO,iBACPa,MAAO,gBAET,CACEb,MAAO,QACPa,MAAO,SAET,CACEb,MAAO,gBACPa,MAAO,gBAET,CACEb,MAAO,cACPa,MAAO,cAET,CACEb,MAAO,mBACPa,MAAO,kBAET,CACEb,MAAO,2BACPa,MAAO,uBAET,CACEb,MAAO,eACPa,MAAO,eAET,CACEb,MAAO,SACPa,MAAO,UAET,CACEb,MAAO,cACPa,MAAO,cAET,CACEb,MAAO,cACPa,MAAO,cAET,CACEb,MAAO,eACPa,MAAO,eAET,CACEb,MAAO,qBACPa,MAAO,oBAET,CACEb,MA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","sources":["screens/shared/ErrorBlock.tsx","screens/Console/Common/FormComponents/FileSelector/FileSelector.tsx","screens/Console/Common/FormComponents/FileSelector/utils.ts","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Configurations/TiersConfiguration/s3-regions.tsx","screens/Console/Configurations/TiersConfiguration/gcs-regions.ts","screens/Console/Configurations/TiersConfiguration/azure-regions.ts","screens/Console/Configurations/TiersConfiguration/RegionSelect.tsx","screens/Console/Configurations/TiersConfiguration/RegionSelectWrapper.tsx","screens/Console/Configurations/TiersConfiguration/AddTierConfiguration.tsx","screens/Console/Configurations/TiersConfiguration/utils.tsx","../node_modules/@mui/icons-material/AttachFile.js","../node_modules/@mui/icons-material/Cancel.js","../node_modules/@mui/icons-material/RemoveRedEye.js","../node_modules/@mui/icons-material/VisibilityOff.js","../node_modules/@mui/icons-material/utils/createSvgIcon.js","../node_modules/@mui/material/utils/createChainedFunction.js","../node_modules/@mui/material/utils/deprecatedPropType.js","../node_modules/@mui/utils/esm/deprecatedPropType.js","../node_modules/@mui/material/utils/requirePropFactory.js","../node_modules/@mui/utils/esm/requirePropFactory.js","../node_modules/@mui/material/utils/setRef.js","../node_modules/@mui/material/utils/unsupportedProp.js","../node_modules/@mui/utils/esm/unsupportedProp.js","../node_modules/@mui/material/utils/index.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.js"],"sourcesContent":["import React from \"react\";\nimport Typography from \"@mui/material/Typography\";\nimport { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n errorBlock: {\n color: theme.palette?.error.main || \"#C83B51\",\n },\n });\n\ninterface IErrorBlockProps {\n classes: any;\n errorMessage: string;\n withBreak?: boolean;\n}\n\nconst ErrorBlock = ({\n classes,\n errorMessage,\n withBreak = true,\n}: IErrorBlockProps) => {\n return (\n \n {withBreak &&
}\n \n {errorMessage}\n \n
\n );\n};\n\nexport default withStyles(styles)(ErrorBlock);\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 get from \"lodash/get\";\nimport { Grid, InputLabel, Tooltip } from \"@mui/material\";\nimport IconButton from \"@mui/material/IconButton\";\nimport AttachFileIcon from \"@mui/icons-material/AttachFile\";\nimport CancelIcon from \"@mui/icons-material/Cancel\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n fileInputStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { fileProcess } from \"./utils\";\nimport { HelpIcon } from \"mds\";\nimport ErrorBlock from \"../../../../shared/ErrorBlock\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: string, i: string) => void;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n required?: boolean;\n error?: string;\n accept?: string;\n value?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n valueString: {\n maxWidth: 350,\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n marginTop: 2,\n },\n fileInputField: {\n margin: \"13px 0\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n ...fileInputStyles,\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n textBoxContainer: {\n ...fieldBasic.textBoxContainer,\n maxWidth: \"100%\",\n border: \"1px solid #eaeaea\",\n paddingLeft: \"15px\",\n },\n });\n\nconst FileSelector = ({\n label,\n classes,\n onChange,\n id,\n name,\n disabled = false,\n tooltip = \"\",\n required,\n error = \"\",\n accept = \"\",\n value = \"\",\n}: InputBoxProps) => {\n const [showFileSelector, setShowSelector] = useState(false);\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n {showFileSelector || value === \"\" ? (\n
\n {\n const fileName = get(e, \"target.files[0].name\", \"\");\n fileProcess(e, (data: any) => {\n onChange(data, fileName);\n });\n }}\n accept={accept}\n required={required}\n disabled={disabled}\n className={classes.fileInputField}\n />\n\n {value !== \"\" && (\n {\n setShowSelector(false);\n }}\n disableRipple={false}\n disableFocusRipple={false}\n size=\"small\"\n >\n \n \n )}\n\n {error !== \"\" && }\n
\n ) : (\n
\n
{value}
\n {\n setShowSelector(true);\n }}\n disableRipple={false}\n disableFocusRipple={false}\n size=\"small\"\n >\n \n \n
\n )}\n \n
\n );\n};\n\nexport default withStyles(styles)(FileSelector);\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 fileProcess = (evt: any, callback: any) => {\n const file = evt.target.files[0];\n const reader = new FileReader();\n reader.readAsDataURL(file);\n\n reader.onload = () => {\n // reader.readAsDataURL(file) output will be something like: data:application/x-x509-ca-cert;base64,LS0tLS1CRUdJTiBDRVJUSU\n // we care only about the actual base64 part (everything after \"data:application/x-x509-ca-cert;base64,\")\n const fileBase64 = reader.result;\n if (fileBase64) {\n const fileArray = fileBase64.toString().split(\"base64,\");\n\n if (fileArray.length === 2) {\n callback(fileArray[1]);\n }\n }\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 .\nimport React, { ClipboardEvent, useState } from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { HelpIcon } from \"mds\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n onFocus?: () => void;\n onPaste?: (e: ClipboardEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n }),\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n onFocus,\n onPaste,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n const [toggleTextInput, setToggleTextInput] = useState(false);\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n let inputBoxWrapperIcon = overlayIcon;\n let inputBoxWrapperType = type;\n\n if (type === \"password\" && overlayIcon === null) {\n inputBoxWrapperIcon = toggleTextInput ? (\n \n ) : (\n \n );\n inputBoxWrapperType = toggleTextInput ? \"text\" : \"password\";\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {inputBoxWrapperIcon && (\n \n {\n overlayAction();\n }\n : () => setToggleTextInput(!toggleTextInput)\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {inputBoxWrapperIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n
\n )}\n \n \n \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\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 { RegionEntry } from \"./types\";\n\nconst s3Regions: RegionEntry[] = [\n { label: \"US East (Ohio)\", value: \"us-east-2\" },\n { label: \"US East (N. Virginia)\", value: \"us-east-1\" },\n { label: \"US West (N. California)\", value: \"us-west-1\" },\n { label: \"US West (Oregon)\", value: \"us-west-2\" },\n { label: \"Africa (Cape Town)\", value: \"af-south-1\" },\n { label: \"Asia Pacific (Hong Kong)***\", value: \"ap-east-1\" },\n { label: \"Asia Pacific (Jakarta)\", value: \"ap-southeast-3\" },\n { label: \"Asia Pacific (Mumbai)\", value: \"ap-south-1\" },\n { label: \"Asia Pacific (Osaka)\", value: \"ap-northeast-3\" },\n { label: \"Asia Pacific (Seoul)\", value: \"ap-northeast-2\" },\n { label: \"Asia Pacific (Singapore)\", value: \"ap-southeast-1\" },\n { label: \"Asia Pacific (Sydney)\", value: \"ap-southeast-2\" },\n { label: \"Asia Pacific (Tokyo)\", value: \"ap-northeast-1\" },\n { label: \"Canada (Central)\", value: \"ca-central-1\" },\n { label: \"China (Beijing)\", value: \"cn-north-1\" },\n { label: \"China (Ningxia)\", value: \"cn-northwest-1\" },\n { label: \"Europe (Frankfurt)\", value: \"eu-central-1\" },\n { label: \"Europe (Ireland)\", value: \"eu-west-1\" },\n { label: \"Europe (London)\", value: \"eu-west-2\" },\n { label: \"Europe (Milan)\", value: \"eu-south-1\" },\n { label: \"Europe (Paris)\", value: \"eu-west-3\" },\n { label: \"Europe (Stockholm)\", value: \"eu-north-1\" },\n { label: \"South America (São Paulo)\", value: \"sa-east-1\" },\n { label: \"Middle East (Bahrain)\", value: \"me-south-1\" },\n { label: \"AWS GovCloud (US-East)\", value: \"us-gov-east-1\" },\n { label: \"AWS GovCloud (US-West)\", value: \"us-gov-west-1\" },\n];\n\nexport default s3Regions;\n","import { RegionEntry } from \"./types\";\n\nconst gcsRegions: RegionEntry[] = [\n { label: \"Montréal\", value: \"NORTHAMERICA-NORTHEAST1\" },\n { label: \"Toronto\", value: \"NORTHAMERICA-NORTHEAST2\" },\n { label: \"Iowa\", value: \"US-CENTRAL1\" },\n { label: \"South Carolina\", value: \"US-EAST1\" },\n { label: \"Northern Virginia\", value: \"US-EAST4\" },\n { label: \"Oregon\", value: \"US-WEST1\" },\n { label: \"Los Angeles\", value: \"US-WEST2\" },\n { label: \"Salt Lake City\", value: \"US-WEST3\" },\n { label: \"Las Vegas\", value: \"US-WEST4\" },\n { label: \"São Paulo\", value: \"SOUTHAMERICA-EAST1\" },\n { label: \"Santiago\", value: \"SOUTHAMERICA-WEST1\" },\n { label: \"Warsaw\", value: \"EUROPE-CENTRAL2\" },\n { label: \"Finland\", value: \"EUROPE-NORTH1\" },\n { label: \"Belgium\", value: \"EUROPE-WEST1\" },\n { label: \"London\", value: \"EUROPE-WEST2\" },\n { label: \"Frankfurt\", value: \"EUROPE-WEST3\" },\n { label: \"Netherlands\", value: \"EUROPE-WEST4\" },\n { label: \"Zürich\", value: \"EUROPE-WEST6\" },\n { label: \"Taiwan\", value: \"ASIA-EAST1\" },\n { label: \"Hong Kong\", value: \"ASIA-EAST2\" },\n { label: \"Tokyo\", value: \"ASIA-NORTHEAST1\" },\n { label: \"Osaka\", value: \"ASIA-NORTHEAST2\" },\n { label: \"Seoul\", value: \"ASIA-NORTHEAST3\" },\n { label: \"Mumbai\", value: \"ASIA-SOUTH1\" },\n { label: \"Delhi\", value: \"ASIA-SOUTH2\" },\n { label: \"Singapore\", value: \"ASIA-SOUTHEAST1\" },\n { label: \"Jakarta\", value: \"ASIA-SOUTHEAST2\" },\n { label: \"Sydney\", value: \"AUSTRALIA-SOUTHEAST1\" },\n { label: \"Melbourne\", value: \"AUSTRALIA-SOUTHEAST2\" },\n];\n\nexport default gcsRegions;\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 { RegionEntry } from \"./types\";\n\nconst azureRegions: RegionEntry[] = [\n {\n label: \"Asia\",\n value: \"asia\",\n },\n {\n label: \"Asia Pacific\",\n value: \"asiapacific\",\n },\n {\n label: \"Australia\",\n value: \"australia\",\n },\n {\n label: \"Australia Central\",\n value: \"australiacentral\",\n },\n {\n label: \"Australia Central 2\",\n value: \"australiacentral2\",\n },\n {\n label: \"Australia East\",\n value: \"australiaeast\",\n },\n {\n label: \"Australia Southeast\",\n value: \"australiasoutheast\",\n },\n {\n label: \"Brazil\",\n value: \"brazil\",\n },\n {\n label: \"Brazil South\",\n value: \"brazilsouth\",\n },\n {\n label: \"Brazil Southeast\",\n value: \"brazilsoutheast\",\n },\n {\n label: \"Canada\",\n value: \"canada\",\n },\n {\n label: \"Canada Central\",\n value: \"canadacentral\",\n },\n {\n label: \"Canada East\",\n value: \"canadaeast\",\n },\n {\n label: \"Central India\",\n value: \"centralindia\",\n },\n {\n label: \"Central US\",\n value: \"centralus\",\n },\n {\n label: \"Central US (Stage)\",\n value: \"centralusstage\",\n },\n {\n label: \"Central US EUAP\",\n value: \"centraluseuap\",\n },\n {\n label: \"East Asia\",\n value: \"eastasia\",\n },\n {\n label: \"East Asia (Stage)\",\n value: \"eastasiastage\",\n },\n {\n label: \"East US\",\n value: \"eastus\",\n },\n {\n label: \"East US (Stage)\",\n value: \"eastusstage\",\n },\n {\n label: \"East US 2\",\n value: \"eastus2\",\n },\n {\n label: \"East US 2 (Stage)\",\n value: \"eastus2stage\",\n },\n {\n label: \"East US 2 EUAP\",\n value: \"eastus2euap\",\n },\n {\n label: \"Europe\",\n value: \"europe\",\n },\n {\n label: \"France\",\n value: \"france\",\n },\n {\n label: \"France Central\",\n value: \"francecentral\",\n },\n {\n label: \"France South\",\n value: \"francesouth\",\n },\n {\n label: \"Germany\",\n value: \"germany\",\n },\n {\n label: \"Germany North\",\n value: \"germanynorth\",\n },\n {\n label: \"Germany West Central\",\n value: \"germanywestcentral\",\n },\n {\n label: \"Global\",\n value: \"global\",\n },\n {\n label: \"India\",\n value: \"india\",\n },\n {\n label: \"Japan\",\n value: \"japan\",\n },\n {\n label: \"Japan East\",\n value: \"japaneast\",\n },\n {\n label: \"Japan West\",\n value: \"japanwest\",\n },\n {\n label: \"Jio India Central\",\n value: \"jioindiacentral\",\n },\n {\n label: \"Jio India West\",\n value: \"jioindiawest\",\n },\n {\n label: \"Korea\",\n value: \"korea\",\n },\n {\n label: \"Korea Central\",\n value: \"koreacentral\",\n },\n {\n label: \"Korea South\",\n value: \"koreasouth\",\n },\n {\n label: \"North Central US\",\n value: \"northcentralus\",\n },\n {\n label: \"North Central US (Stage)\",\n value: \"northcentralusstage\",\n },\n {\n label: \"North Europe\",\n value: \"northeurope\",\n },\n {\n label: \"Norway\",\n value: \"norway\",\n },\n {\n label: \"Norway East\",\n value: \"norwayeast\",\n },\n {\n label: \"Norway West\",\n value: \"norwaywest\",\n },\n {\n label: \"South Africa\",\n value: \"southafrica\",\n },\n {\n label: \"South Africa North\",\n value: \"southafricanorth\",\n },\n {\n label: \"South Africa West\",\n value: \"southafricawest\",\n },\n {\n label: \"South Central US\",\n value: \"southcentralus\",\n },\n {\n label: \"South Central US (Stage)\",\n value: \"southcentralusstage\",\n },\n {\n label: \"South India\",\n value: \"southindia\",\n },\n {\n label: \"Southeast Asia\",\n value: \"southeastasia\",\n },\n {\n label: \"Southeast Asia (Stage)\",\n value: \"southeastasiastage\",\n },\n {\n label: \"Sweden Central\",\n value: \"swedencentral\",\n },\n {\n label: \"Switzerland\",\n value: \"switzerland\",\n },\n {\n label: \"Switzerland North\",\n value: \"switzerlandnorth\",\n },\n {\n label: \"Switzerland West\",\n value: \"switzerlandwest\",\n },\n {\n label: \"UAE Central\",\n value: \"uaecentral\",\n },\n {\n label: \"UAE North\",\n value: \"uaenorth\",\n },\n {\n label: \"UK South\",\n value: \"uksouth\",\n },\n {\n label: \"UK West\",\n value: \"ukwest\",\n },\n {\n label: \"United Arab Emirates\",\n value: \"uae\",\n },\n {\n label: \"United Kingdom\",\n value: \"uk\",\n },\n {\n label: \"United States\",\n value: \"unitedstates\",\n },\n {\n label: \"United States EUAP\",\n value: \"unitedstateseuap\",\n },\n {\n label: \"West Central US\",\n value: \"westcentralus\",\n },\n {\n label: \"West Europe\",\n value: \"westeurope\",\n },\n {\n label: \"West India\",\n value: \"westindia\",\n },\n {\n label: \"West US\",\n value: \"westus\",\n },\n {\n label: \"West US (Stage)\",\n value: \"westusstage\",\n },\n {\n label: \"West US 2\",\n value: \"westus2\",\n },\n {\n label: \"West US 2 (Stage)\",\n value: \"westus2stage\",\n },\n {\n label: \"West US 3\",\n value: \"westus3\",\n },\n];\nexport default azureRegions;\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\nimport { Autocomplete, Box, TextField } from \"@mui/material\";\n\nimport s3Regions from \"./s3-regions\";\nimport gcsRegions from \"./gcs-regions\";\nimport azRegions from \"./azure-regions\";\n\nconst getRegions = (type: string): any => {\n if (type === \"s3\") {\n return s3Regions;\n }\n if (type === \"gcs\") {\n return gcsRegions;\n }\n if (type === \"azure\") {\n return azRegions;\n }\n\n return [];\n};\n\nconst RegionSelect = ({\n type,\n onChange,\n inputProps,\n}: {\n type: \"minio\" | \"s3\" | \"gcs\" | \"azure\" | \"unsupported\";\n onChange: (obj: any) => void;\n inputProps?: any;\n}) => {\n const regionList = getRegions(type);\n const [value, setValue] = React.useState(\"\");\n\n return (\n {\n let newVal: any = newValue;\n\n if (typeof newValue === \"string\") {\n newVal = {\n label: newValue,\n };\n } else if (newValue && newValue.inputValue) {\n // Create a new value from the user input\n newVal = {\n label: newValue.inputValue,\n };\n } else {\n newVal = newValue;\n }\n setValue(newVal);\n onChange(newVal?.value);\n }}\n value={value}\n onInputChange={(e: any) => {\n const { target: { value = \"\" } = {} } = e || {};\n onChange(value);\n }}\n getOptionLabel={(option) => {\n // Value selected with enter, right from the input\n if (typeof option === \"string\") {\n return option;\n }\n // Add \"xxx\" option created dynamically\n if (option.inputValue) {\n return option.inputValue;\n }\n // Regular option\n return option.value;\n }}\n options={regionList}\n filterOptions={(opts: any[], state: any) => {\n const filterText = state.inputValue.toLowerCase();\n\n return opts.filter((opt) =>\n `${opt.label.toLowerCase()}${opt.value.toLowerCase()}`.includes(\n filterText,\n ),\n );\n }}\n renderOption={(props: any, opt: any) => {\n return (\n
  • \n \n {opt.value}\n {opt.label}\n \n
  • \n );\n }}\n renderInput={(params) => (\n \n )}\n />\n );\n};\n\nexport default RegionSelect;\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 .\nimport React from \"react\";\nimport { Grid, IconButton, InputLabel, Tooltip } from \"@mui/material\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { HelpIcon } from \"mds\";\nimport clsx from \"clsx\";\nimport RegionSelect from \"./RegionSelect\";\n\ninterface RegionSelectBoxProps {\n label: string;\n classes?: any;\n onChange: (value: string) => void;\n onKeyPress?: (e: any) => void;\n value?: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n type: \"minio\" | \"s3\" | \"gcs\" | \"azure\";\n tooltip?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n minWidth: 160,\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n }),\n);\n\nconst RegionSelectWrapper = ({\n label,\n onChange,\n id,\n name,\n type,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n classes,\n className = \"\",\n}: RegionSelectBoxProps) => {\n const inputClasses = inputStyles();\n\n let inputProps: any = {\n \"data-index\": index,\n ...extraInputProps,\n name: name,\n id: id,\n classes: inputClasses,\n };\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n
    \n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
    \n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(RegionSelectWrapper);\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, useCallback, useEffect, useState } from \"react\";\n\nimport { useNavigate, useParams } from \"react-router-dom\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport { BackLink, Button, PageLayout } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Box } from \"@mui/material\";\nimport {\n fileInputStyles,\n formFieldStyles,\n modalBasic,\n settingsCommon,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FileSelector from \"../../Common/FormComponents/FileSelector/FileSelector\";\nimport {\n azureServiceName,\n gcsServiceName,\n minioServiceName,\n s3ServiceName,\n tierTypes,\n} from \"./utils\";\n\nimport { IAM_PAGES } from \"../../../../common/SecureComponent/permissions\";\n\nimport RegionSelectWrapper from \"./RegionSelectWrapper\";\nimport { setErrorSnackMessage, setHelpName } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\nimport PageHeaderWrapper from \"../../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport HelpMenu from \"../../HelpMenu\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { Error, HttpResponse } from \"api/consoleApi\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n ...settingsCommon,\n ...formFieldStyles,\n lambdaNotifTitle: {\n color: \"#07193E\",\n fontSize: 16,\n fontFamily: \"Inter,sans-serif\",\n paddingLeft: 18,\n },\n fileInputFieldCss: {\n margin: \"0\",\n },\n fileTextBoxContainer: {\n maxWidth: \" 100%\",\n flex: 1,\n },\n fileReselectCss: {\n maxWidth: \" 100%\",\n flex: 1,\n },\n ...fileInputStyles,\n });\n\ninterface IAddNotificationEndpointProps {\n classes: any;\n}\n\nconst AddTierConfiguration = ({ classes }: IAddNotificationEndpointProps) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n const params = useParams();\n\n //Local States\n const [saving, setSaving] = useState(false);\n\n // Form Items\n const [name, setName] = useState(\"\");\n const [endpoint, setEndpoint] = useState(\"\");\n const [bucket, setBucket] = useState(\"\");\n const [prefix, setPrefix] = useState(\"\");\n const [region, setRegion] = useState(\"\");\n const [storageClass, setStorageClass] = useState(\"\");\n\n const [accessKey, setAccessKey] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n\n const [creds, setCreds] = useState(\"\");\n const [encodedCreds, setEncodedCreds] = useState(\"\");\n\n const [accountName, setAccountName] = useState(\"\");\n const [accountKey, setAccountKey] = useState(\"\");\n\n const [titleSelection, setTitleSelection] = useState(\"\");\n\n const type = get(params, \"service\", \"s3\");\n\n // Validations\n const [isFormValid, setIsFormValid] = useState(true);\n const [nameInputError, setNameInputError] = useState(\"\");\n\n // Extra validation functions\n\n const validName = useCallback(() => {\n const patternAgainst = /^[A-Z0-9-_]+$/; // Only allow uppercase, numbers, dashes and underscores\n if (patternAgainst.test(name)) {\n setNameInputError(\"\");\n return true;\n }\n\n setNameInputError(\n \"Please verify that string is uppercase only and contains valid characters (numbers, dashes & underscores).\",\n );\n return false;\n }, [name]);\n\n //Effects\n\n useEffect(() => {\n if (saving) {\n let request = {};\n let fields = {\n name,\n endpoint,\n bucket,\n prefix,\n region,\n };\n\n let tierType = type;\n\n switch (type) {\n case \"minio\":\n request = {\n minio: {\n ...fields,\n accesskey: accessKey,\n secretkey: secretKey,\n },\n };\n break;\n case \"s3\":\n request = {\n s3: {\n ...fields,\n accesskey: accessKey,\n secretkey: secretKey,\n storageclass: storageClass,\n },\n };\n break;\n case \"gcs\":\n request = {\n gcs: {\n ...fields,\n creds: encodedCreds,\n },\n };\n break;\n case \"azure\":\n request = {\n azure: {\n ...fields,\n accountname: accountName,\n accountkey: accountKey,\n },\n };\n }\n\n let payload = {\n type: tierType as\n | \"azure\"\n | \"s3\"\n | \"minio\"\n | \"gcs\"\n | \"unsupported\"\n | undefined,\n ...request,\n };\n\n api.admin\n .addTier(payload)\n .then(() => {\n setSaving(false);\n navigate(IAM_PAGES.TIERS);\n })\n .catch(async (res: HttpResponse) => {\n const err = (await res.json()) as Error;\n setSaving(false);\n dispatch(setErrorSnackMessage(errorToHandler(err)));\n });\n }\n }, [\n accessKey,\n accountKey,\n accountName,\n bucket,\n encodedCreds,\n endpoint,\n name,\n prefix,\n region,\n saving,\n secretKey,\n dispatch,\n storageClass,\n type,\n navigate,\n ]);\n\n useEffect(() => {\n let valid = true;\n if (type === \"\") {\n valid = false;\n }\n if (name === \"\" || !validName()) {\n valid = false;\n }\n if (endpoint === \"\") {\n valid = false;\n }\n if (bucket === \"\") {\n valid = false;\n }\n if (prefix === \"\") {\n valid = false;\n }\n if (region === \"\" && type !== \"minio\") {\n valid = false;\n }\n\n if (type === \"s3\" || type === \"minio\") {\n if (accessKey === \"\") {\n valid = false;\n }\n if (secretKey === \"\") {\n valid = false;\n }\n }\n\n if (type === \"gcs\") {\n if (encodedCreds === \"\") {\n valid = false;\n }\n }\n\n if (type === \"azure\") {\n if (accountName === \"\") {\n valid = false;\n }\n if (accountKey === \"\") {\n valid = false;\n }\n }\n\n setIsFormValid(valid);\n }, [\n accessKey,\n accountKey,\n accountName,\n bucket,\n encodedCreds,\n endpoint,\n isFormValid,\n name,\n prefix,\n region,\n secretKey,\n storageClass,\n type,\n validName,\n ]);\n\n useEffect(() => {\n switch (type) {\n case \"gcs\":\n setEndpoint(\"https://storage.googleapis.com\");\n setTitleSelection(\"Google Cloud\");\n break;\n case \"s3\":\n setEndpoint(\"https://s3.amazonaws.com\");\n setTitleSelection(\"Amazon S3\");\n break;\n case \"azure\":\n setEndpoint(\"http://blob.core.windows.net\");\n setTitleSelection(\"Azure\");\n break;\n case \"minio\":\n setEndpoint(\"\");\n setTitleSelection(\"MinIO\");\n }\n }, [type]);\n\n //Fetch Actions\n const submitForm = (event: React.FormEvent) => {\n event.preventDefault();\n setSaving(true);\n };\n\n // Input actions\n const updateTierName = (e: React.ChangeEvent) => {\n setName(e.target.value.toUpperCase());\n };\n\n const targetElement = tierTypes.find((item) => item.serviceName === type);\n\n useEffect(() => {\n dispatch(setHelpName(\"add-tier-configuration\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n \n navigate(IAM_PAGES.TIERS_ADD)}\n />\n \n }\n actions={}\n />\n\n \n \n
    \n {type !== \"\" && targetElement ? (\n \n {targetElement.logo ? (\n \n {targetElement.logo}\n \n ) : null}\n\n
    \n \n {titleSelection ? titleSelection : \"\"} - Add Tier\n Configuration\n \n
    \n \n ) : null}\n\n \n {type !== \"\" && (\n \n \n ) => {\n setEndpoint(e.target.value);\n }}\n required\n />\n {(type === s3ServiceName || type === minioServiceName) && (\n \n ) => {\n setAccessKey(e.target.value);\n }}\n required\n />\n ) => {\n setSecretKey(e.target.value);\n }}\n required\n />\n \n )}\n {type === gcsServiceName && (\n {\n setEncodedCreds(encodedValue);\n setCreds(fileName);\n }}\n value={creds}\n required\n />\n )}\n {type === azureServiceName && (\n \n ) => {\n setAccountName(e.target.value);\n }}\n required\n />\n ) => {\n setAccountKey(e.target.value);\n }}\n required\n />\n \n )}\n ) => {\n setBucket(e.target.value);\n }}\n required\n />\n ) => {\n setPrefix(e.target.value);\n }}\n required\n />\n {\n setRegion(value);\n }}\n required={type !== \"minio\"}\n label={\"Region\"}\n id=\"region\"\n name=\"region\"\n type={type as \"azure\" | \"s3\" | \"minio\" | \"gcs\"}\n />\n {type === s3ServiceName && (\n ) => {\n setStorageClass(e.target.value);\n }}\n />\n )}\n \n )}\n \n \n \n \n \n \n
    \n
    \n );\n};\n\nexport default withStyles(styles)(AddTierConfiguration);\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 {\n AzureTierIcon,\n AzureTierIconXs,\n GoogleTierIcon,\n GoogleTierIconXs,\n MinIOTierIcon,\n MinIOTierIconXs,\n S3TierIcon,\n S3TierIconXs,\n} from \"mds\";\n\nexport const minioServiceName = \"minio\";\nexport const gcsServiceName = \"gcs\";\nexport const s3ServiceName = \"s3\";\nexport const azureServiceName = \"azure\";\n\nexport const tierTypes = [\n {\n serviceName: minioServiceName,\n targetTitle: \"MinIO\",\n logo: ,\n logoXs: ,\n },\n {\n serviceName: gcsServiceName,\n targetTitle: \"Google Cloud Storage\",\n logo: ,\n logoXs: ,\n },\n {\n serviceName: s3ServiceName,\n targetTitle: \"AWS S3\",\n logo: ,\n logoXs: ,\n },\n {\n serviceName: azureServiceName,\n targetTitle: \"Azure\",\n logo: ,\n logoXs: ,\n },\n];\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z\"\n}), 'AttachFile');\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z\"\n}), 'Cancel');\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n}), 'RemoveRedEye');\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"\n}), 'VisibilityOff');\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");","import { unstable_createChainedFunction as createChainedFunction } from '@mui/utils';\nexport default createChainedFunction;","import { unstable_deprecatedPropType as deprecatedPropType } from '@mui/utils';\nexport default deprecatedPropType;","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return (props, propName, componentName, location, propFullName) => {\n const componentNameSafe = componentName || '<>';\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The ${location} \\`${propFullNameSafe}\\` of ` + `\\`${componentNameSafe}\\` is deprecated. ${reason}`);\n }\n return null;\n };\n}","import { unstable_requirePropFactory as requirePropFactory } from '@mui/utils';\nexport default requirePropFactory;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function requirePropFactory(componentNameInError, Component) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n\n // eslint-disable-next-line react/forbid-foreign-prop-types\n const prevPropTypes = Component ? _extends({}, Component.propTypes) : null;\n const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {\n const propFullNameSafe = propFullName || propName;\n const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];\n if (defaultTypeChecker) {\n const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);\n if (typeCheckerResult) {\n return typeCheckerResult;\n }\n }\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(`The prop \\`${propFullNameSafe}\\` of ` + `\\`${componentNameInError}\\` can only be used together with the \\`${requiredProp}\\` prop.`);\n }\n return null;\n };\n return requireProp;\n}","import { unstable_setRef as setRef } from '@mui/utils';\nexport default setRef;","import { unstable_unsupportedProp as unsupportedProp } from '@mui/utils';\nexport default unsupportedProp;","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","import { unstable_ClassNameGenerator as ClassNameGenerator } from '@mui/base/className';\nexport { default as capitalize } from './capitalize';\nexport { default as createChainedFunction } from './createChainedFunction';\nexport { default as createSvgIcon } from './createSvgIcon';\nexport { default as debounce } from './debounce';\nexport { default as deprecatedPropType } from './deprecatedPropType';\nexport { default as isMuiElement } from './isMuiElement';\nexport { default as ownerDocument } from './ownerDocument';\nexport { default as ownerWindow } from './ownerWindow';\nexport { default as requirePropFactory } from './requirePropFactory';\nexport { default as setRef } from './setRef';\nexport { default as unstable_useEnhancedEffect } from './useEnhancedEffect';\nexport { default as unstable_useId } from './useId';\nexport { default as unsupportedProp } from './unsupportedProp';\nexport { default as useControlled } from './useControlled';\nexport { default as useEventCallback } from './useEventCallback';\nexport { default as useForkRef } from './useForkRef';\nexport { default as useIsFocusVisible } from './useIsFocusVisible';\n// TODO: remove this export once ClassNameGenerator is stable\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const unstable_ClassNameGenerator = {\n configure: generator => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(['MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.', '', \"You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead\", '', 'The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401', '', 'The updated documentation: https://mui.com/guides/classname-generator/'].join('\\n'));\n }\n ClassNameGenerator.configure(generator);\n }\n};","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"names":["withStyles","theme","_theme$palette","createStyles","errorBlock","color","palette","error","main","_ref","classes","errorMessage","_ref$withBreak","withBreak","_jsxs","React","children","_jsx","Typography","component","variant","className","_objectSpread","fieldBasic","tooltipHelper","valueString","maxWidth","whiteSpace","overflow","textOverflow","marginTop","fileInputField","margin","flexFlow","fileInputStyles","inputLabel","fontWeight","textBoxContainer","border","paddingLeft","label","onChange","id","name","_ref$disabled","disabled","_ref$tooltip","tooltip","required","_ref$error","_ref$accept","accept","_ref$value","value","_useState","useState","_useState2","_slicedToArray","showFileSelector","setShowSelector","Grid","item","xs","concat","fieldBottom","fieldContainer","errorInField","InputLabel","htmlFor","fieldLabelError","tooltipContainer","Tooltip","title","placement","HelpIcon","type","e","fileName","get","evt","callback","file","target","files","reader","FileReader","readAsDataURL","onload","fileBase64","result","fileArray","toString","split","length","fileProcess","data","IconButton","onClick","disableRipple","disableFocusRipple","size","CancelIcon","ErrorBlock","fileReselect","AttachFileIcon","inputStyles","makeStyles","inputFieldStyles","InputField","props","TextField","InputProps","flexGrow","position","overlayAction","right","top","maxHeight","_ref$type","_ref$autoComplete","autoComplete","_ref$multiline","multiline","_ref$index","index","_ref$required","_ref$placeholder","placeholder","min","max","overlayId","_ref$overlayIcon","overlayIcon","_ref$overlayObject","overlayObject","_ref$extraInputProps","extraInputProps","_ref$noLabelMinWidth","noLabelMinWidth","_ref$pattern","pattern","_ref$autoFocus","autoFocus","_ref$className","onKeyPress","onFocus","onPaste","inputProps","toggleTextInput","setToggleTextInput","inputBoxWrapperIcon","inputBoxWrapperType","VisibilityOffIcon","RemoveRedEyeIcon","container","clsx","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","disableTouchRipple","regionList","s3Regions","gcsRegions","azRegions","getRegions","_React$useState","_React$useState2","setValue","Autocomplete","sx","padding","fontSize","borderColor","borderWidth","freeSolo","selectOnFocus","handleHomeEndKeys","event","newValue","_newVal","newVal","inputValue","onInputChange","_ref2$target","_ref2$target2$value","getOptionLabel","option","options","filterOptions","opts","state","filterText","toLowerCase","filter","opt","includes","renderOption","Box","display","alignItems","borderBottom","cursor","width","renderInput","params","minWidth","inputClasses","RegionSelect","modalBasic","settingsCommon","formFieldStyles","lambdaNotifTitle","fontFamily","fileInputFieldCss","fileTextBoxContainer","flex","fileReselectCss","dispatch","useAppDispatch","navigate","useNavigate","useParams","saving","setSaving","_useState3","_useState4","setName","_useState5","_useState6","endpoint","setEndpoint","_useState7","_useState8","bucket","setBucket","_useState9","_useState10","prefix","setPrefix","_useState11","_useState12","region","setRegion","_useState13","_useState14","storageClass","setStorageClass","_useState15","_useState16","accessKey","setAccessKey","_useState17","_useState18","secretKey","setSecretKey","_useState19","_useState20","creds","setCreds","_useState21","_useState22","encodedCreds","setEncodedCreds","_useState23","_useState24","accountName","setAccountName","_useState25","_useState26","accountKey","setAccountKey","_useState27","_useState28","titleSelection","setTitleSelection","_useState29","_useState30","isFormValid","setIsFormValid","_useState31","_useState32","nameInputError","setNameInputError","validName","useCallback","test","useEffect","request","fields","tierType","minio","accesskey","secretkey","s3","storageclass","gcs","azure","accountname","accountkey","payload","api","admin","addTier","then","IAM_PAGES","TIERS","catch","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","res","err","wrap","_context","prev","next","json","sent","setErrorSnackMessage","errorToHandler","stop","_x","apply","arguments","valid","targetElement","tierTypes","find","serviceName","setHelpName","Fragment","PageHeaderWrapper","BackLink","TIERS_ADD","actions","HelpMenu","PageLayout","noValidate","onSubmit","preventDefault","justifyContent","marginBottom","logo","height","targetTitle","gridTemplateColumns","sm","gridAutoFlow","gridRowGap","gridColumnGap","InputBoxWrapper","toUpperCase","s3ServiceName","minioServiceName","gcsServiceName","FileSelector","encodedValue","azureServiceName","RegionSelectWrapper","settingsButtonContainer","Button","MinIOTierIcon","logoXs","MinIOTierIconXs","GoogleTierIcon","GoogleTierIconXs","S3TierIcon","S3TierIconXs","AzureTierIcon","AzureTierIconXs","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","Object","defineProperty","enumerable","_utils","createSvgIcon","createChainedFunction","validator","reason","componentNameInError","Component","propName","componentName","location","propFullName","unstable_ClassNameGenerator","configure","generator","ClassNameGenerator","module","obj","__esModule"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/4335.1ddacb73.chunk.js","mappings":"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,MAAO,sBACPa,MAAO,sBAET,CACEb,MAAO,SACPa,MAAO,UAET,CACEb,MAAO,eACPa,MAAO,eAET,CACEb,MAAO,mBACPa,MAAO,mBAET,CACEb,MAAO,SACPa,MAAO,UAET,CACEb,MAAO,iBACPa,MAAO,iBAET,CACEb,MAAO,cACPa,MAAO,cAET,CACEb,MAAO,gBACPa,MAAO,gBAET,CACEb,MAAO,aACPa,MAAO,aAET,CACEb,MAAO,qBACPa,MAAO,kBAET,CACEb,MAAO,kBACPa,MAAO,iBAET,CACEb,MAAO,YACPa,MAAO,YAET,CACEb,MAAO,oBACPa,MAAO,iBAET,CACEb,MAAO,UACPa,MAAO,UAET,CACEb,MAAO,kBACPa,MAAO,eAET,CACEb,MAAO,YACPa,MAAO,WAET,CACEb,MAAO,oBACPa,MAAO,gBAET,CACEb,MAAO,iBACPa,MAAO,eAET,CACEb,MAAO,SACPa,MAAO,UAET,CACEb,MAAO,SACPa,MAAO,UAET,CACEb,MAAO,iBACPa,MAAO,iBAET,CACEb,MAAO,eACPa,MAAO,eAET,CACEb,MAAO,UACPa,MAAO,WAET,CACEb,MAAO,gBACPa,MAAO,gBAET,CACEb,MAAO,uBACPa,MAAO,sBAET,CACEb,MAAO,SACPa,MAAO,UAET,CACEb,MAAO,QACPa,MAAO,SAET,CACEb,MAAO,QACPa,MAAO,SAET,CACEb,MAAO,aACPa,MAAO,aAET,CACEb,MAAO,aACPa,MAAO,aAET,CACEb,MAAO,oBACPa,MAAO,mBAET,CACEb,MAAO,iBACPa,MAAO,gBAET,CACEb,MAAO,QACPa,MAAO,SAET,CACEb,MAAO,gBACPa,MAAO,gBAET,CACEb,MAAO,cACPa,MAAO,cAET,CACEb,MAAO,mBACPa,MAAO,kBAET,CACEb,MAAO,2BACPa,MAAO,uBAET,CACEb,MAAO,eACPa,MAAO,eAET,CACEb,MAAO,SACPa,MAAO,UAET,CACEb,MAAO,cACPa,MAAO,cAET,CACEb,MAAO,cACPa,MAAO,cAET,CACEb,MAAO,eACPa,MAAO,eAET,CACEb,MAAO,qBACPa,MAAO,oBAET,CACEb,MA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","sources":["screens/shared/ErrorBlock.tsx","screens/Console/Common/FormComponents/FileSelector/FileSelector.tsx","screens/Console/Common/FormComponents/FileSelector/utils.ts","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Configurations/TiersConfiguration/s3-regions.tsx","screens/Console/Configurations/TiersConfiguration/gcs-regions.ts","screens/Console/Configurations/TiersConfiguration/azure-regions.ts","screens/Console/Configurations/TiersConfiguration/RegionSelect.tsx","screens/Console/Configurations/TiersConfiguration/RegionSelectWrapper.tsx","screens/Console/Configurations/TiersConfiguration/AddTierConfiguration.tsx","screens/Console/Configurations/TiersConfiguration/utils.tsx","../node_modules/@mui/icons-material/AttachFile.js","../node_modules/@mui/icons-material/Cancel.js","../node_modules/@mui/icons-material/RemoveRedEye.js","../node_modules/@mui/icons-material/VisibilityOff.js","../node_modules/@mui/icons-material/utils/createSvgIcon.js","../node_modules/@mui/material/utils/createChainedFunction.js","../node_modules/@mui/material/utils/deprecatedPropType.js","../node_modules/@mui/utils/esm/deprecatedPropType.js","../node_modules/@mui/material/utils/requirePropFactory.js","../node_modules/@mui/utils/esm/requirePropFactory.js","../node_modules/@mui/material/utils/setRef.js","../node_modules/@mui/material/utils/unsupportedProp.js","../node_modules/@mui/utils/esm/unsupportedProp.js","../node_modules/@mui/material/utils/index.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.js"],"sourcesContent":["import React from \"react\";\nimport Typography from \"@mui/material/Typography\";\nimport { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n errorBlock: {\n color: theme.palette?.error.main || \"#C83B51\",\n },\n });\n\ninterface IErrorBlockProps {\n classes: any;\n errorMessage: string;\n withBreak?: boolean;\n}\n\nconst ErrorBlock = ({\n classes,\n errorMessage,\n withBreak = true,\n}: IErrorBlockProps) => {\n return (\n \n {withBreak &&
    }\n \n {errorMessage}\n \n
    \n );\n};\n\nexport default withStyles(styles)(ErrorBlock);\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 get from \"lodash/get\";\nimport { Grid, InputLabel, Tooltip } from \"@mui/material\";\nimport IconButton from \"@mui/material/IconButton\";\nimport AttachFileIcon from \"@mui/icons-material/AttachFile\";\nimport CancelIcon from \"@mui/icons-material/Cancel\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n fileInputStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { fileProcess } from \"./utils\";\nimport { HelpIcon } from \"mds\";\nimport ErrorBlock from \"../../../../shared/ErrorBlock\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: string, i: string) => void;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n required?: boolean;\n error?: string;\n accept?: string;\n value?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n valueString: {\n maxWidth: 350,\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n marginTop: 2,\n },\n fileInputField: {\n margin: \"13px 0\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n ...fileInputStyles,\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n textBoxContainer: {\n ...fieldBasic.textBoxContainer,\n maxWidth: \"100%\",\n border: \"1px solid #eaeaea\",\n paddingLeft: \"15px\",\n },\n });\n\nconst FileSelector = ({\n label,\n classes,\n onChange,\n id,\n name,\n disabled = false,\n tooltip = \"\",\n required,\n error = \"\",\n accept = \"\",\n value = \"\",\n}: InputBoxProps) => {\n const [showFileSelector, setShowSelector] = useState(false);\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n {showFileSelector || value === \"\" ? (\n
    \n {\n const fileName = get(e, \"target.files[0].name\", \"\");\n fileProcess(e, (data: any) => {\n onChange(data, fileName);\n });\n }}\n accept={accept}\n required={required}\n disabled={disabled}\n className={classes.fileInputField}\n />\n\n {value !== \"\" && (\n {\n setShowSelector(false);\n }}\n disableRipple={false}\n disableFocusRipple={false}\n size=\"small\"\n >\n \n \n )}\n\n {error !== \"\" && }\n
    \n ) : (\n
    \n
    {value}
    \n {\n setShowSelector(true);\n }}\n disableRipple={false}\n disableFocusRipple={false}\n size=\"small\"\n >\n \n \n
    \n )}\n \n
    \n );\n};\n\nexport default withStyles(styles)(FileSelector);\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 fileProcess = (evt: any, callback: any) => {\n const file = evt.target.files[0];\n const reader = new FileReader();\n reader.readAsDataURL(file);\n\n reader.onload = () => {\n // reader.readAsDataURL(file) output will be something like: data:application/x-x509-ca-cert;base64,LS0tLS1CRUdJTiBDRVJUSU\n // we care only about the actual base64 part (everything after \"data:application/x-x509-ca-cert;base64,\")\n const fileBase64 = reader.result;\n if (fileBase64) {\n const fileArray = fileBase64.toString().split(\"base64,\");\n\n if (fileArray.length === 2) {\n callback(fileArray[1]);\n }\n }\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 .\nimport React, { ClipboardEvent, useState } from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { HelpIcon } from \"mds\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n onFocus?: () => void;\n onPaste?: (e: ClipboardEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n }),\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n onFocus,\n onPaste,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n const [toggleTextInput, setToggleTextInput] = useState(false);\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n let inputBoxWrapperIcon = overlayIcon;\n let inputBoxWrapperType = type;\n\n if (type === \"password\" && overlayIcon === null) {\n inputBoxWrapperIcon = toggleTextInput ? (\n \n ) : (\n \n );\n inputBoxWrapperType = toggleTextInput ? \"text\" : \"password\";\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n
    \n \n {inputBoxWrapperIcon && (\n \n {\n overlayAction();\n }\n : () => setToggleTextInput(!toggleTextInput)\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {inputBoxWrapperIcon}\n \n
    \n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\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 { RegionEntry } from \"./types\";\n\nconst s3Regions: RegionEntry[] = [\n { label: \"US East (Ohio)\", value: \"us-east-2\" },\n { label: \"US East (N. Virginia)\", value: \"us-east-1\" },\n { label: \"US West (N. California)\", value: \"us-west-1\" },\n { label: \"US West (Oregon)\", value: \"us-west-2\" },\n { label: \"Africa (Cape Town)\", value: \"af-south-1\" },\n { label: \"Asia Pacific (Hong Kong)***\", value: \"ap-east-1\" },\n { label: \"Asia Pacific (Jakarta)\", value: \"ap-southeast-3\" },\n { label: \"Asia Pacific (Mumbai)\", value: \"ap-south-1\" },\n { label: \"Asia Pacific (Osaka)\", value: \"ap-northeast-3\" },\n { label: \"Asia Pacific (Seoul)\", value: \"ap-northeast-2\" },\n { label: \"Asia Pacific (Singapore)\", value: \"ap-southeast-1\" },\n { label: \"Asia Pacific (Sydney)\", value: \"ap-southeast-2\" },\n { label: \"Asia Pacific (Tokyo)\", value: \"ap-northeast-1\" },\n { label: \"Canada (Central)\", value: \"ca-central-1\" },\n { label: \"China (Beijing)\", value: \"cn-north-1\" },\n { label: \"China (Ningxia)\", value: \"cn-northwest-1\" },\n { label: \"Europe (Frankfurt)\", value: \"eu-central-1\" },\n { label: \"Europe (Ireland)\", value: \"eu-west-1\" },\n { label: \"Europe (London)\", value: \"eu-west-2\" },\n { label: \"Europe (Milan)\", value: \"eu-south-1\" },\n { label: \"Europe (Paris)\", value: \"eu-west-3\" },\n { label: \"Europe (Stockholm)\", value: \"eu-north-1\" },\n { label: \"South America (São Paulo)\", value: \"sa-east-1\" },\n { label: \"Middle East (Bahrain)\", value: \"me-south-1\" },\n { label: \"AWS GovCloud (US-East)\", value: \"us-gov-east-1\" },\n { label: \"AWS GovCloud (US-West)\", value: \"us-gov-west-1\" },\n];\n\nexport default s3Regions;\n","import { RegionEntry } from \"./types\";\n\nconst gcsRegions: RegionEntry[] = [\n { label: \"Montréal\", value: \"NORTHAMERICA-NORTHEAST1\" },\n { label: \"Toronto\", value: \"NORTHAMERICA-NORTHEAST2\" },\n { label: \"Iowa\", value: \"US-CENTRAL1\" },\n { label: \"South Carolina\", value: \"US-EAST1\" },\n { label: \"Northern Virginia\", value: \"US-EAST4\" },\n { label: \"Oregon\", value: \"US-WEST1\" },\n { label: \"Los Angeles\", value: \"US-WEST2\" },\n { label: \"Salt Lake City\", value: \"US-WEST3\" },\n { label: \"Las Vegas\", value: \"US-WEST4\" },\n { label: \"São Paulo\", value: \"SOUTHAMERICA-EAST1\" },\n { label: \"Santiago\", value: \"SOUTHAMERICA-WEST1\" },\n { label: \"Warsaw\", value: \"EUROPE-CENTRAL2\" },\n { label: \"Finland\", value: \"EUROPE-NORTH1\" },\n { label: \"Belgium\", value: \"EUROPE-WEST1\" },\n { label: \"London\", value: \"EUROPE-WEST2\" },\n { label: \"Frankfurt\", value: \"EUROPE-WEST3\" },\n { label: \"Netherlands\", value: \"EUROPE-WEST4\" },\n { label: \"Zürich\", value: \"EUROPE-WEST6\" },\n { label: \"Taiwan\", value: \"ASIA-EAST1\" },\n { label: \"Hong Kong\", value: \"ASIA-EAST2\" },\n { label: \"Tokyo\", value: \"ASIA-NORTHEAST1\" },\n { label: \"Osaka\", value: \"ASIA-NORTHEAST2\" },\n { label: \"Seoul\", value: \"ASIA-NORTHEAST3\" },\n { label: \"Mumbai\", value: \"ASIA-SOUTH1\" },\n { label: \"Delhi\", value: \"ASIA-SOUTH2\" },\n { label: \"Singapore\", value: \"ASIA-SOUTHEAST1\" },\n { label: \"Jakarta\", value: \"ASIA-SOUTHEAST2\" },\n { label: \"Sydney\", value: \"AUSTRALIA-SOUTHEAST1\" },\n { label: \"Melbourne\", value: \"AUSTRALIA-SOUTHEAST2\" },\n];\n\nexport default gcsRegions;\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 { RegionEntry } from \"./types\";\n\nconst azureRegions: RegionEntry[] = [\n {\n label: \"Asia\",\n value: \"asia\",\n },\n {\n label: \"Asia Pacific\",\n value: \"asiapacific\",\n },\n {\n label: \"Australia\",\n value: \"australia\",\n },\n {\n label: \"Australia Central\",\n value: \"australiacentral\",\n },\n {\n label: \"Australia Central 2\",\n value: \"australiacentral2\",\n },\n {\n label: \"Australia East\",\n value: \"australiaeast\",\n },\n {\n label: \"Australia Southeast\",\n value: \"australiasoutheast\",\n },\n {\n label: \"Brazil\",\n value: \"brazil\",\n },\n {\n label: \"Brazil South\",\n value: \"brazilsouth\",\n },\n {\n label: \"Brazil Southeast\",\n value: \"brazilsoutheast\",\n },\n {\n label: \"Canada\",\n value: \"canada\",\n },\n {\n label: \"Canada Central\",\n value: \"canadacentral\",\n },\n {\n label: \"Canada East\",\n value: \"canadaeast\",\n },\n {\n label: \"Central India\",\n value: \"centralindia\",\n },\n {\n label: \"Central US\",\n value: \"centralus\",\n },\n {\n label: \"Central US (Stage)\",\n value: \"centralusstage\",\n },\n {\n label: \"Central US EUAP\",\n value: \"centraluseuap\",\n },\n {\n label: \"East Asia\",\n value: \"eastasia\",\n },\n {\n label: \"East Asia (Stage)\",\n value: \"eastasiastage\",\n },\n {\n label: \"East US\",\n value: \"eastus\",\n },\n {\n label: \"East US (Stage)\",\n value: \"eastusstage\",\n },\n {\n label: \"East US 2\",\n value: \"eastus2\",\n },\n {\n label: \"East US 2 (Stage)\",\n value: \"eastus2stage\",\n },\n {\n label: \"East US 2 EUAP\",\n value: \"eastus2euap\",\n },\n {\n label: \"Europe\",\n value: \"europe\",\n },\n {\n label: \"France\",\n value: \"france\",\n },\n {\n label: \"France Central\",\n value: \"francecentral\",\n },\n {\n label: \"France South\",\n value: \"francesouth\",\n },\n {\n label: \"Germany\",\n value: \"germany\",\n },\n {\n label: \"Germany North\",\n value: \"germanynorth\",\n },\n {\n label: \"Germany West Central\",\n value: \"germanywestcentral\",\n },\n {\n label: \"Global\",\n value: \"global\",\n },\n {\n label: \"India\",\n value: \"india\",\n },\n {\n label: \"Japan\",\n value: \"japan\",\n },\n {\n label: \"Japan East\",\n value: \"japaneast\",\n },\n {\n label: \"Japan West\",\n value: \"japanwest\",\n },\n {\n label: \"Jio India Central\",\n value: \"jioindiacentral\",\n },\n {\n label: \"Jio India West\",\n value: \"jioindiawest\",\n },\n {\n label: \"Korea\",\n value: \"korea\",\n },\n {\n label: \"Korea Central\",\n value: \"koreacentral\",\n },\n {\n label: \"Korea South\",\n value: \"koreasouth\",\n },\n {\n label: \"North Central US\",\n value: \"northcentralus\",\n },\n {\n label: \"North Central US (Stage)\",\n value: \"northcentralusstage\",\n },\n {\n label: \"North Europe\",\n value: \"northeurope\",\n },\n {\n label: \"Norway\",\n value: \"norway\",\n },\n {\n label: \"Norway East\",\n value: \"norwayeast\",\n },\n {\n label: \"Norway West\",\n value: \"norwaywest\",\n },\n {\n label: \"South Africa\",\n value: \"southafrica\",\n },\n {\n label: \"South Africa North\",\n value: \"southafricanorth\",\n },\n {\n label: \"South Africa West\",\n value: \"southafricawest\",\n },\n {\n label: \"South Central US\",\n value: \"southcentralus\",\n },\n {\n label: \"South Central US (Stage)\",\n value: \"southcentralusstage\",\n },\n {\n label: \"South India\",\n value: \"southindia\",\n },\n {\n label: \"Southeast Asia\",\n value: \"southeastasia\",\n },\n {\n label: \"Southeast Asia (Stage)\",\n value: \"southeastasiastage\",\n },\n {\n label: \"Sweden Central\",\n value: \"swedencentral\",\n },\n {\n label: \"Switzerland\",\n value: \"switzerland\",\n },\n {\n label: \"Switzerland North\",\n value: \"switzerlandnorth\",\n },\n {\n label: \"Switzerland West\",\n value: \"switzerlandwest\",\n },\n {\n label: \"UAE Central\",\n value: \"uaecentral\",\n },\n {\n label: \"UAE North\",\n value: \"uaenorth\",\n },\n {\n label: \"UK South\",\n value: \"uksouth\",\n },\n {\n label: \"UK West\",\n value: \"ukwest\",\n },\n {\n label: \"United Arab Emirates\",\n value: \"uae\",\n },\n {\n label: \"United Kingdom\",\n value: \"uk\",\n },\n {\n label: \"United States\",\n value: \"unitedstates\",\n },\n {\n label: \"United States EUAP\",\n value: \"unitedstateseuap\",\n },\n {\n label: \"West Central US\",\n value: \"westcentralus\",\n },\n {\n label: \"West Europe\",\n value: \"westeurope\",\n },\n {\n label: \"West India\",\n value: \"westindia\",\n },\n {\n label: \"West US\",\n value: \"westus\",\n },\n {\n label: \"West US (Stage)\",\n value: \"westusstage\",\n },\n {\n label: \"West US 2\",\n value: \"westus2\",\n },\n {\n label: \"West US 2 (Stage)\",\n value: \"westus2stage\",\n },\n {\n label: \"West US 3\",\n value: \"westus3\",\n },\n];\nexport default azureRegions;\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\nimport { Autocomplete, Box, TextField } from \"@mui/material\";\n\nimport s3Regions from \"./s3-regions\";\nimport gcsRegions from \"./gcs-regions\";\nimport azRegions from \"./azure-regions\";\n\nconst getRegions = (type: string): any => {\n if (type === \"s3\") {\n return s3Regions;\n }\n if (type === \"gcs\") {\n return gcsRegions;\n }\n if (type === \"azure\") {\n return azRegions;\n }\n\n return [];\n};\n\nconst RegionSelect = ({\n type,\n onChange,\n inputProps,\n}: {\n type: \"minio\" | \"s3\" | \"gcs\" | \"azure\" | \"unsupported\";\n onChange: (obj: any) => void;\n inputProps?: any;\n}) => {\n const regionList = getRegions(type);\n const [value, setValue] = React.useState(\"\");\n\n return (\n {\n let newVal: any = newValue;\n\n if (typeof newValue === \"string\") {\n newVal = {\n label: newValue,\n };\n } else if (newValue && newValue.inputValue) {\n // Create a new value from the user input\n newVal = {\n label: newValue.inputValue,\n };\n } else {\n newVal = newValue;\n }\n setValue(newVal);\n onChange(newVal?.value);\n }}\n value={value}\n onInputChange={(e: any) => {\n const { target: { value = \"\" } = {} } = e || {};\n onChange(value);\n }}\n getOptionLabel={(option) => {\n // Value selected with enter, right from the input\n if (typeof option === \"string\") {\n return option;\n }\n // Add \"xxx\" option created dynamically\n if (option.inputValue) {\n return option.inputValue;\n }\n // Regular option\n return option.value;\n }}\n options={regionList}\n filterOptions={(opts: any[], state: any) => {\n const filterText = state.inputValue.toLowerCase();\n\n return opts.filter((opt) =>\n `${opt.label.toLowerCase()}${opt.value.toLowerCase()}`.includes(\n filterText,\n ),\n );\n }}\n renderOption={(props: any, opt: any) => {\n return (\n
  • \n \n {opt.value}\n {opt.label}\n \n
  • \n );\n }}\n renderInput={(params) => (\n \n )}\n />\n );\n};\n\nexport default RegionSelect;\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 .\nimport React from \"react\";\nimport { Grid, IconButton, InputLabel, Tooltip } from \"@mui/material\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { HelpIcon } from \"mds\";\nimport clsx from \"clsx\";\nimport RegionSelect from \"./RegionSelect\";\n\ninterface RegionSelectBoxProps {\n label: string;\n classes?: any;\n onChange: (value: string) => void;\n onKeyPress?: (e: any) => void;\n value?: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n type: \"minio\" | \"s3\" | \"gcs\" | \"azure\";\n tooltip?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n minWidth: 160,\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n }),\n);\n\nconst RegionSelectWrapper = ({\n label,\n onChange,\n id,\n name,\n type,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n classes,\n className = \"\",\n}: RegionSelectBoxProps) => {\n const inputClasses = inputStyles();\n\n let inputProps: any = {\n \"data-index\": index,\n ...extraInputProps,\n name: name,\n id: id,\n classes: inputClasses,\n };\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n
    \n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
    \n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(RegionSelectWrapper);\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, useCallback, useEffect, useState } from \"react\";\n\nimport { useNavigate, useParams } from \"react-router-dom\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport { BackLink, Button, PageLayout } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Box } from \"@mui/material\";\nimport {\n fileInputStyles,\n formFieldStyles,\n modalBasic,\n settingsCommon,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FileSelector from \"../../Common/FormComponents/FileSelector/FileSelector\";\nimport {\n azureServiceName,\n gcsServiceName,\n minioServiceName,\n s3ServiceName,\n tierTypes,\n} from \"./utils\";\n\nimport { IAM_PAGES } from \"../../../../common/SecureComponent/permissions\";\n\nimport RegionSelectWrapper from \"./RegionSelectWrapper\";\nimport { setErrorSnackMessage, setHelpName } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\nimport PageHeaderWrapper from \"../../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport HelpMenu from \"../../HelpMenu\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { Error, HttpResponse } from \"api/consoleApi\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n ...settingsCommon,\n ...formFieldStyles,\n lambdaNotifTitle: {\n color: \"#07193E\",\n fontSize: 16,\n fontFamily: \"Inter,sans-serif\",\n paddingLeft: 18,\n },\n fileInputFieldCss: {\n margin: \"0\",\n },\n fileTextBoxContainer: {\n maxWidth: \" 100%\",\n flex: 1,\n },\n fileReselectCss: {\n maxWidth: \" 100%\",\n flex: 1,\n },\n ...fileInputStyles,\n });\n\ninterface IAddNotificationEndpointProps {\n classes: any;\n}\n\nconst AddTierConfiguration = ({ classes }: IAddNotificationEndpointProps) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n const params = useParams();\n\n //Local States\n const [saving, setSaving] = useState(false);\n\n // Form Items\n const [name, setName] = useState(\"\");\n const [endpoint, setEndpoint] = useState(\"\");\n const [bucket, setBucket] = useState(\"\");\n const [prefix, setPrefix] = useState(\"\");\n const [region, setRegion] = useState(\"\");\n const [storageClass, setStorageClass] = useState(\"\");\n\n const [accessKey, setAccessKey] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n\n const [creds, setCreds] = useState(\"\");\n const [encodedCreds, setEncodedCreds] = useState(\"\");\n\n const [accountName, setAccountName] = useState(\"\");\n const [accountKey, setAccountKey] = useState(\"\");\n\n const [titleSelection, setTitleSelection] = useState(\"\");\n\n const type = get(params, \"service\", \"s3\");\n\n // Validations\n const [isFormValid, setIsFormValid] = useState(true);\n const [nameInputError, setNameInputError] = useState(\"\");\n\n // Extra validation functions\n\n const validName = useCallback(() => {\n const patternAgainst = /^[A-Z0-9-_]+$/; // Only allow uppercase, numbers, dashes and underscores\n if (patternAgainst.test(name)) {\n setNameInputError(\"\");\n return true;\n }\n\n setNameInputError(\n \"Please verify that string is uppercase only and contains valid characters (numbers, dashes & underscores).\",\n );\n return false;\n }, [name]);\n\n //Effects\n\n useEffect(() => {\n if (saving) {\n let request = {};\n let fields = {\n name,\n endpoint,\n bucket,\n prefix,\n region,\n };\n\n let tierType = type;\n\n switch (type) {\n case \"minio\":\n request = {\n minio: {\n ...fields,\n accesskey: accessKey,\n secretkey: secretKey,\n },\n };\n break;\n case \"s3\":\n request = {\n s3: {\n ...fields,\n accesskey: accessKey,\n secretkey: secretKey,\n storageclass: storageClass,\n },\n };\n break;\n case \"gcs\":\n request = {\n gcs: {\n ...fields,\n creds: encodedCreds,\n },\n };\n break;\n case \"azure\":\n request = {\n azure: {\n ...fields,\n accountname: accountName,\n accountkey: accountKey,\n },\n };\n }\n\n let payload = {\n type: tierType as\n | \"azure\"\n | \"s3\"\n | \"minio\"\n | \"gcs\"\n | \"unsupported\"\n | undefined,\n ...request,\n };\n\n api.admin\n .addTier(payload)\n .then(() => {\n setSaving(false);\n navigate(IAM_PAGES.TIERS);\n })\n .catch(async (res: HttpResponse) => {\n const err = (await res.json()) as Error;\n setSaving(false);\n dispatch(setErrorSnackMessage(errorToHandler(err)));\n });\n }\n }, [\n accessKey,\n accountKey,\n accountName,\n bucket,\n encodedCreds,\n endpoint,\n name,\n prefix,\n region,\n saving,\n secretKey,\n dispatch,\n storageClass,\n type,\n navigate,\n ]);\n\n useEffect(() => {\n let valid = true;\n if (type === \"\") {\n valid = false;\n }\n if (name === \"\" || !validName()) {\n valid = false;\n }\n if (endpoint === \"\") {\n valid = false;\n }\n if (bucket === \"\") {\n valid = false;\n }\n if (prefix === \"\") {\n valid = false;\n }\n if (region === \"\" && type !== \"minio\") {\n valid = false;\n }\n\n if (type === \"s3\" || type === \"minio\") {\n if (accessKey === \"\") {\n valid = false;\n }\n if (secretKey === \"\") {\n valid = false;\n }\n }\n\n if (type === \"gcs\") {\n if (encodedCreds === \"\") {\n valid = false;\n }\n }\n\n if (type === \"azure\") {\n if (accountName === \"\") {\n valid = false;\n }\n if (accountKey === \"\") {\n valid = false;\n }\n }\n\n setIsFormValid(valid);\n }, [\n accessKey,\n accountKey,\n accountName,\n bucket,\n encodedCreds,\n endpoint,\n isFormValid,\n name,\n prefix,\n region,\n secretKey,\n storageClass,\n type,\n validName,\n ]);\n\n useEffect(() => {\n switch (type) {\n case \"gcs\":\n setEndpoint(\"https://storage.googleapis.com\");\n setTitleSelection(\"Google Cloud\");\n break;\n case \"s3\":\n setEndpoint(\"https://s3.amazonaws.com\");\n setTitleSelection(\"Amazon S3\");\n break;\n case \"azure\":\n setEndpoint(\"http://blob.core.windows.net\");\n setTitleSelection(\"Azure\");\n break;\n case \"minio\":\n setEndpoint(\"\");\n setTitleSelection(\"MinIO\");\n }\n }, [type]);\n\n //Fetch Actions\n const submitForm = (event: React.FormEvent) => {\n event.preventDefault();\n setSaving(true);\n };\n\n // Input actions\n const updateTierName = (e: React.ChangeEvent) => {\n setName(e.target.value.toUpperCase());\n };\n\n const targetElement = tierTypes.find((item) => item.serviceName === type);\n\n useEffect(() => {\n dispatch(setHelpName(\"add-tier-configuration\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n \n navigate(IAM_PAGES.TIERS_ADD)}\n />\n \n }\n actions={}\n />\n\n \n \n
    \n {type !== \"\" && targetElement ? (\n \n {targetElement.logo ? (\n \n {targetElement.logo}\n \n ) : null}\n\n
    \n \n {titleSelection ? titleSelection : \"\"} - Add Tier\n Configuration\n \n
    \n \n ) : null}\n\n \n {type !== \"\" && (\n \n \n ) => {\n setEndpoint(e.target.value);\n }}\n required\n />\n {(type === s3ServiceName || type === minioServiceName) && (\n \n ) => {\n setAccessKey(e.target.value);\n }}\n required\n />\n ) => {\n setSecretKey(e.target.value);\n }}\n required\n />\n \n )}\n {type === gcsServiceName && (\n {\n setEncodedCreds(encodedValue);\n setCreds(fileName);\n }}\n value={creds}\n required\n />\n )}\n {type === azureServiceName && (\n \n ) => {\n setAccountName(e.target.value);\n }}\n required\n />\n ) => {\n setAccountKey(e.target.value);\n }}\n required\n />\n \n )}\n ) => {\n setBucket(e.target.value);\n }}\n required\n />\n ) => {\n setPrefix(e.target.value);\n }}\n required\n />\n {\n setRegion(value);\n }}\n required={type !== \"minio\"}\n label={\"Region\"}\n id=\"region\"\n name=\"region\"\n type={type as \"azure\" | \"s3\" | \"minio\" | \"gcs\"}\n />\n {type === s3ServiceName && (\n ) => {\n setStorageClass(e.target.value);\n }}\n />\n )}\n \n )}\n \n \n \n \n \n \n
    \n \n );\n};\n\nexport default withStyles(styles)(AddTierConfiguration);\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 {\n AzureTierIcon,\n AzureTierIconXs,\n GoogleTierIcon,\n GoogleTierIconXs,\n MinIOTierIcon,\n MinIOTierIconXs,\n S3TierIcon,\n S3TierIconXs,\n} from \"mds\";\n\nexport const minioServiceName = \"minio\";\nexport const gcsServiceName = \"gcs\";\nexport const s3ServiceName = \"s3\";\nexport const azureServiceName = \"azure\";\n\nexport const tierTypes = [\n {\n serviceName: minioServiceName,\n targetTitle: \"MinIO\",\n logo: ,\n logoXs: ,\n },\n {\n serviceName: gcsServiceName,\n targetTitle: \"Google Cloud Storage\",\n logo: ,\n logoXs: ,\n },\n {\n serviceName: s3ServiceName,\n targetTitle: \"AWS S3\",\n logo: ,\n logoXs: ,\n },\n {\n serviceName: azureServiceName,\n targetTitle: \"Azure\",\n logo: ,\n logoXs: ,\n },\n];\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z\"\n}), 'AttachFile');\nexports.default = _default;","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z\"\n}), 'Cancel');\nexports.default = _default;","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n}), 'RemoveRedEye');\nexports.default = _default;","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"\n}), 'VisibilityOff');\nexports.default = _default;","\"use strict\";\n'use client';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");","import { unstable_createChainedFunction as createChainedFunction } from '@mui/utils';\nexport default createChainedFunction;","import { unstable_deprecatedPropType as deprecatedPropType } from '@mui/utils';\nexport default deprecatedPropType;","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return (props, propName, componentName, location, propFullName) => {\n const componentNameSafe = componentName || '<>';\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The ${location} \\`${propFullNameSafe}\\` of ` + `\\`${componentNameSafe}\\` is deprecated. ${reason}`);\n }\n return null;\n };\n}","import { unstable_requirePropFactory as requirePropFactory } from '@mui/utils';\nexport default requirePropFactory;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function requirePropFactory(componentNameInError, Component) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n\n // eslint-disable-next-line react/forbid-foreign-prop-types\n const prevPropTypes = Component ? _extends({}, Component.propTypes) : null;\n const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {\n const propFullNameSafe = propFullName || propName;\n const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];\n if (defaultTypeChecker) {\n const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);\n if (typeCheckerResult) {\n return typeCheckerResult;\n }\n }\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(`The prop \\`${propFullNameSafe}\\` of ` + `\\`${componentNameInError}\\` can only be used together with the \\`${requiredProp}\\` prop.`);\n }\n return null;\n };\n return requireProp;\n}","import { unstable_setRef as setRef } from '@mui/utils';\nexport default setRef;","import { unstable_unsupportedProp as unsupportedProp } from '@mui/utils';\nexport default unsupportedProp;","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","'use client';\n\nimport { unstable_ClassNameGenerator as ClassNameGenerator } from '@mui/base/className';\nexport { default as capitalize } from './capitalize';\nexport { default as createChainedFunction } from './createChainedFunction';\nexport { default as createSvgIcon } from './createSvgIcon';\nexport { default as debounce } from './debounce';\nexport { default as deprecatedPropType } from './deprecatedPropType';\nexport { default as isMuiElement } from './isMuiElement';\nexport { default as ownerDocument } from './ownerDocument';\nexport { default as ownerWindow } from './ownerWindow';\nexport { default as requirePropFactory } from './requirePropFactory';\nexport { default as setRef } from './setRef';\nexport { default as unstable_useEnhancedEffect } from './useEnhancedEffect';\nexport { default as unstable_useId } from './useId';\nexport { default as unsupportedProp } from './unsupportedProp';\nexport { default as useControlled } from './useControlled';\nexport { default as useEventCallback } from './useEventCallback';\nexport { default as useForkRef } from './useForkRef';\nexport { default as useIsFocusVisible } from './useIsFocusVisible';\n// TODO: remove this export once ClassNameGenerator is stable\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const unstable_ClassNameGenerator = {\n configure: generator => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(['MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.', '', \"You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead\", '', 'The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401', '', 'The updated documentation: https://mui.com/guides/classname-generator/'].join('\\n'));\n }\n ClassNameGenerator.configure(generator);\n }\n};","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"names":["withStyles","theme","_theme$palette","createStyles","errorBlock","color","palette","error","main","_ref","classes","errorMessage","_ref$withBreak","withBreak","_jsxs","React","children","_jsx","Typography","component","variant","className","_objectSpread","fieldBasic","tooltipHelper","valueString","maxWidth","whiteSpace","overflow","textOverflow","marginTop","fileInputField","margin","flexFlow","fileInputStyles","inputLabel","fontWeight","textBoxContainer","border","paddingLeft","label","onChange","id","name","_ref$disabled","disabled","_ref$tooltip","tooltip","required","_ref$error","_ref$accept","accept","_ref$value","value","_useState","useState","_useState2","_slicedToArray","showFileSelector","setShowSelector","Grid","item","xs","concat","fieldBottom","fieldContainer","errorInField","InputLabel","htmlFor","fieldLabelError","tooltipContainer","Tooltip","title","placement","HelpIcon","type","e","fileName","get","evt","callback","file","target","files","reader","FileReader","readAsDataURL","onload","fileBase64","result","fileArray","toString","split","length","fileProcess","data","IconButton","onClick","disableRipple","disableFocusRipple","size","CancelIcon","ErrorBlock","fileReselect","AttachFileIcon","inputStyles","makeStyles","inputFieldStyles","InputField","props","TextField","InputProps","flexGrow","position","overlayAction","right","top","maxHeight","_ref$type","_ref$autoComplete","autoComplete","_ref$multiline","multiline","_ref$index","index","_ref$required","_ref$placeholder","placeholder","min","max","overlayId","_ref$overlayIcon","overlayIcon","_ref$overlayObject","overlayObject","_ref$extraInputProps","extraInputProps","_ref$noLabelMinWidth","noLabelMinWidth","_ref$pattern","pattern","_ref$autoFocus","autoFocus","_ref$className","onKeyPress","onFocus","onPaste","inputProps","toggleTextInput","setToggleTextInput","inputBoxWrapperIcon","inputBoxWrapperType","VisibilityOffIcon","RemoveRedEyeIcon","container","clsx","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","disableTouchRipple","regionList","s3Regions","gcsRegions","azRegions","getRegions","_React$useState","_React$useState2","setValue","Autocomplete","sx","padding","fontSize","borderColor","borderWidth","freeSolo","selectOnFocus","handleHomeEndKeys","event","newValue","_newVal","newVal","inputValue","onInputChange","_ref2$target","_ref2$target2$value","getOptionLabel","option","options","filterOptions","opts","state","filterText","toLowerCase","filter","opt","includes","renderOption","Box","display","alignItems","borderBottom","cursor","width","renderInput","params","minWidth","inputClasses","RegionSelect","modalBasic","settingsCommon","formFieldStyles","lambdaNotifTitle","fontFamily","fileInputFieldCss","fileTextBoxContainer","flex","fileReselectCss","dispatch","useAppDispatch","navigate","useNavigate","useParams","saving","setSaving","_useState3","_useState4","setName","_useState5","_useState6","endpoint","setEndpoint","_useState7","_useState8","bucket","setBucket","_useState9","_useState10","prefix","setPrefix","_useState11","_useState12","region","setRegion","_useState13","_useState14","storageClass","setStorageClass","_useState15","_useState16","accessKey","setAccessKey","_useState17","_useState18","secretKey","setSecretKey","_useState19","_useState20","creds","setCreds","_useState21","_useState22","encodedCreds","setEncodedCreds","_useState23","_useState24","accountName","setAccountName","_useState25","_useState26","accountKey","setAccountKey","_useState27","_useState28","titleSelection","setTitleSelection","_useState29","_useState30","isFormValid","setIsFormValid","_useState31","_useState32","nameInputError","setNameInputError","validName","useCallback","test","useEffect","request","fields","tierType","minio","accesskey","secretkey","s3","storageclass","gcs","azure","accountname","accountkey","payload","api","admin","addTier","then","IAM_PAGES","TIERS","catch","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","res","err","wrap","_context","prev","next","json","sent","setErrorSnackMessage","errorToHandler","stop","_x","apply","arguments","valid","targetElement","tierTypes","find","serviceName","setHelpName","Fragment","PageHeaderWrapper","BackLink","TIERS_ADD","actions","HelpMenu","PageLayout","noValidate","onSubmit","preventDefault","justifyContent","marginBottom","logo","height","targetTitle","gridTemplateColumns","sm","gridAutoFlow","gridRowGap","gridColumnGap","InputBoxWrapper","toUpperCase","s3ServiceName","minioServiceName","gcsServiceName","FileSelector","encodedValue","azureServiceName","RegionSelectWrapper","settingsButtonContainer","Button","MinIOTierIcon","logoXs","MinIOTierIconXs","GoogleTierIcon","GoogleTierIconXs","S3TierIcon","S3TierIconXs","AzureTierIcon","AzureTierIconXs","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","Object","defineProperty","enumerable","_utils","createSvgIcon","createChainedFunction","validator","reason","componentNameInError","Component","propName","componentName","location","propFullName","unstable_ClassNameGenerator","configure","generator","ClassNameGenerator","module","obj","__esModule"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4414.930d89fc.chunk.js.map b/portal-ui/build/static/js/4414.930d89fc.chunk.js.map index eb292a368..70cc1a523 100644 --- a/portal-ui/build/static/js/4414.930d89fc.chunk.js.map +++ b/portal-ui/build/static/js/4414.930d89fc.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/4414.930d89fc.chunk.js","mappings":"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","sources":["screens/shared/ErrorBlock.tsx","screens/Console/Common/FormComponents/FileSelector/FileSelector.tsx","screens/Console/Common/FormComponents/FileSelector/utils.ts","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Configurations/TiersConfiguration/UpdateTierCredentialsModal.tsx","../node_modules/@mui/icons-material/AttachFile.js","../node_modules/@mui/icons-material/Cancel.js","../node_modules/@mui/icons-material/RemoveRedEye.js","../node_modules/@mui/icons-material/VisibilityOff.js"],"sourcesContent":["import React from \"react\";\nimport Typography from \"@mui/material/Typography\";\nimport { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n errorBlock: {\n color: theme.palette?.error.main || \"#C83B51\",\n },\n });\n\ninterface IErrorBlockProps {\n classes: any;\n errorMessage: string;\n withBreak?: boolean;\n}\n\nconst ErrorBlock = ({\n classes,\n errorMessage,\n withBreak = true,\n}: IErrorBlockProps) => {\n return (\n \n {withBreak &&
    }\n \n {errorMessage}\n \n
    \n );\n};\n\nexport default withStyles(styles)(ErrorBlock);\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 get from \"lodash/get\";\nimport { Grid, InputLabel, Tooltip } from \"@mui/material\";\nimport IconButton from \"@mui/material/IconButton\";\nimport AttachFileIcon from \"@mui/icons-material/AttachFile\";\nimport CancelIcon from \"@mui/icons-material/Cancel\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n fileInputStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { fileProcess } from \"./utils\";\nimport { HelpIcon } from \"mds\";\nimport ErrorBlock from \"../../../../shared/ErrorBlock\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: string, i: string) => void;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n required?: boolean;\n error?: string;\n accept?: string;\n value?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n valueString: {\n maxWidth: 350,\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n marginTop: 2,\n },\n fileInputField: {\n margin: \"13px 0\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n ...fileInputStyles,\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n textBoxContainer: {\n ...fieldBasic.textBoxContainer,\n maxWidth: \"100%\",\n border: \"1px solid #eaeaea\",\n paddingLeft: \"15px\",\n },\n });\n\nconst FileSelector = ({\n label,\n classes,\n onChange,\n id,\n name,\n disabled = false,\n tooltip = \"\",\n required,\n error = \"\",\n accept = \"\",\n value = \"\",\n}: InputBoxProps) => {\n const [showFileSelector, setShowSelector] = useState(false);\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n {showFileSelector || value === \"\" ? (\n
    \n {\n const fileName = get(e, \"target.files[0].name\", \"\");\n fileProcess(e, (data: any) => {\n onChange(data, fileName);\n });\n }}\n accept={accept}\n required={required}\n disabled={disabled}\n className={classes.fileInputField}\n />\n\n {value !== \"\" && (\n {\n setShowSelector(false);\n }}\n disableRipple={false}\n disableFocusRipple={false}\n size=\"small\"\n >\n \n \n )}\n\n {error !== \"\" && }\n
    \n ) : (\n
    \n
    {value}
    \n {\n setShowSelector(true);\n }}\n disableRipple={false}\n disableFocusRipple={false}\n size=\"small\"\n >\n \n \n
    \n )}\n \n
    \n );\n};\n\nexport default withStyles(styles)(FileSelector);\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 fileProcess = (evt: any, callback: any) => {\n const file = evt.target.files[0];\n const reader = new FileReader();\n reader.readAsDataURL(file);\n\n reader.onload = () => {\n // reader.readAsDataURL(file) output will be something like: data:application/x-x509-ca-cert;base64,LS0tLS1CRUdJTiBDRVJUSU\n // we care only about the actual base64 part (everything after \"data:application/x-x509-ca-cert;base64,\")\n const fileBase64 = reader.result;\n if (fileBase64) {\n const fileArray = fileBase64.toString().split(\"base64,\");\n\n if (fileArray.length === 2) {\n callback(fileArray[1]);\n }\n }\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 .\nimport React, { ClipboardEvent, useState } from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { HelpIcon } from \"mds\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n onFocus?: () => void;\n onPaste?: (e: ClipboardEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n }),\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n onFocus,\n onPaste,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n const [toggleTextInput, setToggleTextInput] = useState(false);\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n let inputBoxWrapperIcon = overlayIcon;\n let inputBoxWrapperType = type;\n\n if (type === \"password\" && overlayIcon === null) {\n inputBoxWrapperIcon = toggleTextInput ? (\n \n ) : (\n \n );\n inputBoxWrapperType = toggleTextInput ? \"text\" : \"password\";\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n
    \n \n {inputBoxWrapperIcon && (\n \n {\n overlayAction();\n }\n : () => setToggleTextInput(!toggleTextInput)\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {inputBoxWrapperIcon}\n \n
    \n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\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 { Button, LockIcon } from \"mds\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n formFieldStyles,\n modalBasic,\n} from \"../../Common/FormComponents/common/styleLibrary\";\n\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FileSelector from \"../../Common/FormComponents/FileSelector/FileSelector\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport { setModalErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\nimport { Tier } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\n\ninterface ITierCredentialsModal {\n open: boolean;\n closeModalAndRefresh: (refresh: boolean) => any;\n classes: any;\n tierData: Tier;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n },\n ...modalBasic,\n ...formFieldStyles,\n });\n\nconst UpdateTierCredentialsModal = ({\n open,\n closeModalAndRefresh,\n classes,\n tierData,\n}: ITierCredentialsModal) => {\n const dispatch = useAppDispatch();\n const [savingTiers, setSavingTiers] = useState(false);\n const [creds, setCreds] = useState(\"\");\n const [encodedCreds, setEncodedCreds] = useState(\"\");\n\n const [accountName, setAccountName] = useState(\"\");\n const [accountKey, setAccountKey] = useState(\"\");\n\n // Validations\n const [isFormValid, setIsFormValid] = useState(true);\n\n const type = get(tierData, \"type\", \"\");\n const name = get(tierData, `${type}.name`, \"\");\n\n useEffect(() => {\n let valid = true;\n\n if (type === \"s3\" || type === \"azure\" || type === \"minio\") {\n if (accountName === \"\" || accountKey === \"\") {\n valid = false;\n }\n } else if (type === \"gcs\") {\n if (encodedCreds === \"\") {\n valid = false;\n }\n }\n setIsFormValid(valid);\n }, [accountKey, accountName, encodedCreds, type]);\n\n const addRecord = () => {\n let rules = {};\n\n if (type === \"s3\" || type === \"azure\" || type === \"minio\") {\n rules = {\n access_key: accountName,\n secret_key: accountKey,\n };\n } else if (type === \"gcs\") {\n rules = {\n creds: encodedCreds,\n };\n }\n if (name !== \"\") {\n api.admin\n .editTierCredentials(\n type as \"azure\" | \"s3\" | \"minio\" | \"gcs\",\n name,\n rules,\n )\n .then(() => {\n setSavingTiers(false);\n closeModalAndRefresh(true);\n })\n .catch((err) => {\n setSavingTiers(false);\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n });\n } else {\n setModalErrorSnackMessage({\n errorMessage: \"There was an error retrieving tier information\",\n detailedError: \"\",\n });\n }\n };\n\n return (\n }\n onClose={() => {\n closeModalAndRefresh(false);\n }}\n title={`Update Credentials - ${type} / ${name}`}\n >\n ) => {\n e.preventDefault();\n setSavingTiers(true);\n addRecord();\n }}\n >\n \n \n {(type === \"s3\" || type === \"minio\") && (\n \n
    \n ) => {\n setAccountName(e.target.value);\n }}\n />\n
    \n
    \n ) => {\n setAccountKey(e.target.value);\n }}\n />\n
    \n
    \n )}\n {type === \"gcs\" && (\n \n {\n setEncodedCreds(encodedValue);\n setCreds(fileName);\n }}\n value={creds}\n />\n \n )}\n {type === \"azure\" && (\n \n
    \n ) => {\n setAccountName(e.target.value);\n }}\n />\n
    \n
    \n ) => {\n setAccountKey(e.target.value);\n }}\n />\n
    \n
    \n )}\n
    \n \n \n \n {savingTiers && (\n \n \n \n )}\n
    \n \n \n );\n};\n\nexport default withStyles(styles)(UpdateTierCredentialsModal);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z\"\n}), 'AttachFile');\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z\"\n}), 'Cancel');\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n}), 'RemoveRedEye');\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"\n}), 'VisibilityOff');\nexports.default = _default;"],"names":["withStyles","theme","_theme$palette","createStyles","errorBlock","color","palette","error","main","_ref","classes","errorMessage","_ref$withBreak","withBreak","_jsxs","React","children","_jsx","Typography","component","variant","className","_objectSpread","fieldBasic","tooltipHelper","valueString","maxWidth","whiteSpace","overflow","textOverflow","marginTop","fileInputField","margin","flexFlow","fileInputStyles","inputLabel","fontWeight","textBoxContainer","border","paddingLeft","label","onChange","id","name","_ref$disabled","disabled","_ref$tooltip","tooltip","required","_ref$error","_ref$accept","accept","_ref$value","value","_useState","useState","_useState2","_slicedToArray","showFileSelector","setShowSelector","Grid","item","xs","concat","fieldBottom","fieldContainer","errorInField","InputLabel","htmlFor","fieldLabelError","tooltipContainer","Tooltip","title","placement","HelpIcon","type","e","fileName","get","evt","callback","file","target","files","reader","FileReader","readAsDataURL","onload","fileBase64","result","fileArray","toString","split","length","fileProcess","data","IconButton","onClick","disableRipple","disableFocusRipple","size","CancelIcon","ErrorBlock","fileReselect","AttachFileIcon","inputStyles","makeStyles","inputFieldStyles","InputField","props","TextField","InputProps","flexGrow","position","overlayAction","right","top","maxHeight","_ref$type","_ref$autoComplete","autoComplete","_ref$multiline","multiline","_ref$index","index","_ref$required","_ref$placeholder","placeholder","min","max","overlayId","_ref$overlayIcon","overlayIcon","_ref$overlayObject","overlayObject","_ref$extraInputProps","extraInputProps","_ref$noLabelMinWidth","noLabelMinWidth","_ref$pattern","pattern","_ref$autoFocus","autoFocus","_ref$className","onKeyPress","onFocus","onPaste","inputProps","toggleTextInput","setToggleTextInput","inputBoxWrapperIcon","inputBoxWrapperType","VisibilityOffIcon","RemoveRedEyeIcon","container","clsx","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","disableTouchRipple","buttonContainer","display","justifyContent","modalBasic","formFieldStyles","open","closeModalAndRefresh","tierData","dispatch","useAppDispatch","savingTiers","setSavingTiers","_useState3","_useState4","creds","setCreds","_useState5","_useState6","encodedCreds","setEncodedCreds","_useState7","_useState8","accountName","setAccountName","_useState9","_useState10","accountKey","setAccountKey","_useState11","_useState12","isFormValid","setIsFormValid","useEffect","valid","ModalWrapper","modalOpen","titleIcon","LockIcon","onClose","noValidate","onSubmit","preventDefault","rules","access_key","secret_key","api","admin","editTierCredentials","then","catch","err","setModalErrorSnackMessage","errorToHandler","detailedError","addRecord","Fragment","formFieldRow","InputBoxWrapper","FileSelector","encodedValue","Button","LinearProgress","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/4414.930d89fc.chunk.js","mappings":"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","sources":["screens/shared/ErrorBlock.tsx","screens/Console/Common/FormComponents/FileSelector/FileSelector.tsx","screens/Console/Common/FormComponents/FileSelector/utils.ts","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Configurations/TiersConfiguration/UpdateTierCredentialsModal.tsx","../node_modules/@mui/icons-material/AttachFile.js","../node_modules/@mui/icons-material/Cancel.js","../node_modules/@mui/icons-material/RemoveRedEye.js","../node_modules/@mui/icons-material/VisibilityOff.js"],"sourcesContent":["import React from \"react\";\nimport Typography from \"@mui/material/Typography\";\nimport { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n errorBlock: {\n color: theme.palette?.error.main || \"#C83B51\",\n },\n });\n\ninterface IErrorBlockProps {\n classes: any;\n errorMessage: string;\n withBreak?: boolean;\n}\n\nconst ErrorBlock = ({\n classes,\n errorMessage,\n withBreak = true,\n}: IErrorBlockProps) => {\n return (\n \n {withBreak &&
    }\n \n {errorMessage}\n \n
    \n );\n};\n\nexport default withStyles(styles)(ErrorBlock);\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 get from \"lodash/get\";\nimport { Grid, InputLabel, Tooltip } from \"@mui/material\";\nimport IconButton from \"@mui/material/IconButton\";\nimport AttachFileIcon from \"@mui/icons-material/AttachFile\";\nimport CancelIcon from \"@mui/icons-material/Cancel\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n fileInputStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { fileProcess } from \"./utils\";\nimport { HelpIcon } from \"mds\";\nimport ErrorBlock from \"../../../../shared/ErrorBlock\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: string, i: string) => void;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n required?: boolean;\n error?: string;\n accept?: string;\n value?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n valueString: {\n maxWidth: 350,\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n marginTop: 2,\n },\n fileInputField: {\n margin: \"13px 0\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n ...fileInputStyles,\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n textBoxContainer: {\n ...fieldBasic.textBoxContainer,\n maxWidth: \"100%\",\n border: \"1px solid #eaeaea\",\n paddingLeft: \"15px\",\n },\n });\n\nconst FileSelector = ({\n label,\n classes,\n onChange,\n id,\n name,\n disabled = false,\n tooltip = \"\",\n required,\n error = \"\",\n accept = \"\",\n value = \"\",\n}: InputBoxProps) => {\n const [showFileSelector, setShowSelector] = useState(false);\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n {showFileSelector || value === \"\" ? (\n
    \n {\n const fileName = get(e, \"target.files[0].name\", \"\");\n fileProcess(e, (data: any) => {\n onChange(data, fileName);\n });\n }}\n accept={accept}\n required={required}\n disabled={disabled}\n className={classes.fileInputField}\n />\n\n {value !== \"\" && (\n {\n setShowSelector(false);\n }}\n disableRipple={false}\n disableFocusRipple={false}\n size=\"small\"\n >\n \n \n )}\n\n {error !== \"\" && }\n
    \n ) : (\n
    \n
    {value}
    \n {\n setShowSelector(true);\n }}\n disableRipple={false}\n disableFocusRipple={false}\n size=\"small\"\n >\n \n \n
    \n )}\n \n
    \n );\n};\n\nexport default withStyles(styles)(FileSelector);\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 fileProcess = (evt: any, callback: any) => {\n const file = evt.target.files[0];\n const reader = new FileReader();\n reader.readAsDataURL(file);\n\n reader.onload = () => {\n // reader.readAsDataURL(file) output will be something like: data:application/x-x509-ca-cert;base64,LS0tLS1CRUdJTiBDRVJUSU\n // we care only about the actual base64 part (everything after \"data:application/x-x509-ca-cert;base64,\")\n const fileBase64 = reader.result;\n if (fileBase64) {\n const fileArray = fileBase64.toString().split(\"base64,\");\n\n if (fileArray.length === 2) {\n callback(fileArray[1]);\n }\n }\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 .\nimport React, { ClipboardEvent, useState } from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { HelpIcon } from \"mds\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n onFocus?: () => void;\n onPaste?: (e: ClipboardEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n }),\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n onFocus,\n onPaste,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n const [toggleTextInput, setToggleTextInput] = useState(false);\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n let inputBoxWrapperIcon = overlayIcon;\n let inputBoxWrapperType = type;\n\n if (type === \"password\" && overlayIcon === null) {\n inputBoxWrapperIcon = toggleTextInput ? (\n \n ) : (\n \n );\n inputBoxWrapperType = toggleTextInput ? \"text\" : \"password\";\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n
    \n \n {inputBoxWrapperIcon && (\n \n {\n overlayAction();\n }\n : () => setToggleTextInput(!toggleTextInput)\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {inputBoxWrapperIcon}\n \n
    \n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\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 { Button, LockIcon } from \"mds\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n formFieldStyles,\n modalBasic,\n} from \"../../Common/FormComponents/common/styleLibrary\";\n\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FileSelector from \"../../Common/FormComponents/FileSelector/FileSelector\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport { setModalErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\nimport { Tier } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\n\ninterface ITierCredentialsModal {\n open: boolean;\n closeModalAndRefresh: (refresh: boolean) => any;\n classes: any;\n tierData: Tier;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n },\n ...modalBasic,\n ...formFieldStyles,\n });\n\nconst UpdateTierCredentialsModal = ({\n open,\n closeModalAndRefresh,\n classes,\n tierData,\n}: ITierCredentialsModal) => {\n const dispatch = useAppDispatch();\n const [savingTiers, setSavingTiers] = useState(false);\n const [creds, setCreds] = useState(\"\");\n const [encodedCreds, setEncodedCreds] = useState(\"\");\n\n const [accountName, setAccountName] = useState(\"\");\n const [accountKey, setAccountKey] = useState(\"\");\n\n // Validations\n const [isFormValid, setIsFormValid] = useState(true);\n\n const type = get(tierData, \"type\", \"\");\n const name = get(tierData, `${type}.name`, \"\");\n\n useEffect(() => {\n let valid = true;\n\n if (type === \"s3\" || type === \"azure\" || type === \"minio\") {\n if (accountName === \"\" || accountKey === \"\") {\n valid = false;\n }\n } else if (type === \"gcs\") {\n if (encodedCreds === \"\") {\n valid = false;\n }\n }\n setIsFormValid(valid);\n }, [accountKey, accountName, encodedCreds, type]);\n\n const addRecord = () => {\n let rules = {};\n\n if (type === \"s3\" || type === \"azure\" || type === \"minio\") {\n rules = {\n access_key: accountName,\n secret_key: accountKey,\n };\n } else if (type === \"gcs\") {\n rules = {\n creds: encodedCreds,\n };\n }\n if (name !== \"\") {\n api.admin\n .editTierCredentials(\n type as \"azure\" | \"s3\" | \"minio\" | \"gcs\",\n name,\n rules,\n )\n .then(() => {\n setSavingTiers(false);\n closeModalAndRefresh(true);\n })\n .catch((err) => {\n setSavingTiers(false);\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n });\n } else {\n setModalErrorSnackMessage({\n errorMessage: \"There was an error retrieving tier information\",\n detailedError: \"\",\n });\n }\n };\n\n return (\n }\n onClose={() => {\n closeModalAndRefresh(false);\n }}\n title={`Update Credentials - ${type} / ${name}`}\n >\n ) => {\n e.preventDefault();\n setSavingTiers(true);\n addRecord();\n }}\n >\n \n \n {(type === \"s3\" || type === \"minio\") && (\n \n
    \n ) => {\n setAccountName(e.target.value);\n }}\n />\n
    \n
    \n ) => {\n setAccountKey(e.target.value);\n }}\n />\n
    \n
    \n )}\n {type === \"gcs\" && (\n \n {\n setEncodedCreds(encodedValue);\n setCreds(fileName);\n }}\n value={creds}\n />\n \n )}\n {type === \"azure\" && (\n \n
    \n ) => {\n setAccountName(e.target.value);\n }}\n />\n
    \n
    \n ) => {\n setAccountKey(e.target.value);\n }}\n />\n
    \n
    \n )}\n
    \n \n \n \n {savingTiers && (\n \n \n \n )}\n
    \n \n \n );\n};\n\nexport default withStyles(styles)(UpdateTierCredentialsModal);\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z\"\n}), 'AttachFile');\nexports.default = _default;","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z\"\n}), 'Cancel');\nexports.default = _default;","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n}), 'RemoveRedEye');\nexports.default = _default;","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"\n}), 'VisibilityOff');\nexports.default = _default;"],"names":["withStyles","theme","_theme$palette","createStyles","errorBlock","color","palette","error","main","_ref","classes","errorMessage","_ref$withBreak","withBreak","_jsxs","React","children","_jsx","Typography","component","variant","className","_objectSpread","fieldBasic","tooltipHelper","valueString","maxWidth","whiteSpace","overflow","textOverflow","marginTop","fileInputField","margin","flexFlow","fileInputStyles","inputLabel","fontWeight","textBoxContainer","border","paddingLeft","label","onChange","id","name","_ref$disabled","disabled","_ref$tooltip","tooltip","required","_ref$error","_ref$accept","accept","_ref$value","value","_useState","useState","_useState2","_slicedToArray","showFileSelector","setShowSelector","Grid","item","xs","concat","fieldBottom","fieldContainer","errorInField","InputLabel","htmlFor","fieldLabelError","tooltipContainer","Tooltip","title","placement","HelpIcon","type","e","fileName","get","evt","callback","file","target","files","reader","FileReader","readAsDataURL","onload","fileBase64","result","fileArray","toString","split","length","fileProcess","data","IconButton","onClick","disableRipple","disableFocusRipple","size","CancelIcon","ErrorBlock","fileReselect","AttachFileIcon","inputStyles","makeStyles","inputFieldStyles","InputField","props","TextField","InputProps","flexGrow","position","overlayAction","right","top","maxHeight","_ref$type","_ref$autoComplete","autoComplete","_ref$multiline","multiline","_ref$index","index","_ref$required","_ref$placeholder","placeholder","min","max","overlayId","_ref$overlayIcon","overlayIcon","_ref$overlayObject","overlayObject","_ref$extraInputProps","extraInputProps","_ref$noLabelMinWidth","noLabelMinWidth","_ref$pattern","pattern","_ref$autoFocus","autoFocus","_ref$className","onKeyPress","onFocus","onPaste","inputProps","toggleTextInput","setToggleTextInput","inputBoxWrapperIcon","inputBoxWrapperType","VisibilityOffIcon","RemoveRedEyeIcon","container","clsx","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","disableTouchRipple","buttonContainer","display","justifyContent","modalBasic","formFieldStyles","open","closeModalAndRefresh","tierData","dispatch","useAppDispatch","savingTiers","setSavingTiers","_useState3","_useState4","creds","setCreds","_useState5","_useState6","encodedCreds","setEncodedCreds","_useState7","_useState8","accountName","setAccountName","_useState9","_useState10","accountKey","setAccountKey","_useState11","_useState12","isFormValid","setIsFormValid","useEffect","valid","ModalWrapper","modalOpen","titleIcon","LockIcon","onClose","noValidate","onSubmit","preventDefault","rules","access_key","secret_key","api","admin","editTierCredentials","then","catch","err","setModalErrorSnackMessage","errorToHandler","detailedError","addRecord","Fragment","formFieldRow","InputBoxWrapper","FileSelector","encodedValue","Button","LinearProgress","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4563.121b75a9.chunk.js.map b/portal-ui/build/static/js/4563.121b75a9.chunk.js.map index 635afb291..15cf89701 100644 --- a/portal-ui/build/static/js/4563.121b75a9.chunk.js.map +++ b/portal-ui/build/static/js/4563.121b75a9.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/4563.121b75a9.chunk.js","mappings":"+NAmFA,UApD6B,SAAHA,GAIS,IAHjCC,EAA0BD,EAA1BC,2BACAC,EAAUF,EAAVE,WACAC,EAAsBH,EAAtBG,uBAEMC,GAAWC,EAAAA,EAAAA,MAMjBC,GAAyCC,EAAAA,EAAAA,IALpB,WAAH,OAASN,GAA2B,EAAM,IACzC,SAACO,GAAyB,OAC3CJ,GAASK,EAAAA,EAAAA,IAAqBD,GAAM,IAGmCE,GAAAC,EAAAA,EAAAA,GAAAL,EAAA,GAAlEM,EAAaF,EAAA,GAAEG,EAAeH,EAAA,GAErC,IAAKP,EACH,OAAO,KAUT,OACEW,EAAAA,EAAAA,KAACC,EAAAA,EAAa,CACZC,MAAK,oBACLC,YAAa,SACbC,OAAQhB,EACRiB,WAAWL,EAAAA,EAAAA,KAACM,EAAAA,IAAiB,IAC7BC,UAAWT,EACXU,UAdoB,WACtBT,EACE,SAAS,4BAADU,QACoBC,EAAAA,EAAAA,IAAgBrB,IAEhD,EAUIsB,QAvBY,WAAH,OAASxB,GAA2B,EAAO,EAwBpDyB,qBACEC,EAAAA,EAAAA,MAACC,EAAAA,SAAQ,CAAAC,SAAA,CAAC,6CACmC,KAC3Cf,EAAAA,EAAAA,KAAA,KACEgB,MAAO,CACLC,SAAU,QACVC,WAAY,SACZC,SAAU,cACVJ,SAED1B,IACC,QAMd,C,2LCtBA,EAhCuB,SAAHH,GAAsD,IAADkC,EAAAlC,EAA/CmC,MAAAA,OAAK,IAAAD,EAAG,GAAEA,EAAAE,EAAApC,EAAEqC,MAAAA,OAAK,IAAAD,EAAG,GAAEA,EACxChC,GAAWC,EAAAA,EAAAA,MAEjB,OACEsB,EAAAA,EAAAA,MAACW,EAAAA,IAAG,CAACC,GAAI,CAAEC,UAAW,IAAKX,SAAA,EACzBf,EAAAA,EAAAA,KAAC2B,EAAAA,IAAU,CAAAZ,SAAEM,KACbrB,EAAAA,EAAAA,KAAC4B,EAAAA,IAAO,CACNC,cACE7B,EAAAA,EAAAA,KAAC8B,IAAe,CAACC,KAAMR,EAAMR,UAC3Bf,EAAAA,EAAAA,KAACgC,EAAAA,IAAM,CACLC,GAAI,YACJC,QAAQ,UACRC,QAAS,WACP7C,GAAS8C,EAAAA,EAAAA,IAAqB,GAAD3B,OAAIY,EAAK,yBACxC,EACAL,MAAO,CACLqB,YAAa,MACbC,MAAO,OACPC,OAAQ,OACRC,QAAS,OAEXC,MAAMzC,EAAAA,EAAAA,KAAC0C,EAAAA,IAAQ,QAGpB3B,SAEAQ,MAIT,E,sBCxBMoB,EAAeC,EAAAA,GAAOC,KAAI,SAAA3D,GAAQA,EAAL4D,MAAK,MAAQ,CAC9CC,MAAO,MACPC,SAAU,SACVC,OAAQ,kBACRC,QAAS,OACTC,WAAY,SACZ,SAAU,CACRd,YAAa,QACbE,OAAQ,GACRD,MAAO,IAEV,IASKc,EAAW,SAACC,EAAkBtB,GAClC,IAAIuB,EAAUC,SAASC,cAAc,KACrCF,EAAQG,aAAa,OAAQ,iCAAmC1B,GAChEuB,EAAQG,aAAa,WAAYJ,GAEjCC,EAAQtC,MAAMkC,QAAU,OACxBK,SAASG,KAAKC,YAAYL,GAE1BA,EAAQM,QACRL,SAASG,KAAKG,YAAYP,EAC5B,EA+MA,EA7M0B,SAAHQ,GAKS,IAJ9BC,EAAiBD,EAAjBC,kBACAC,EAAIF,EAAJE,KACAC,EAAUH,EAAVG,WACAC,EAAMJ,EAANI,OAEA,IAAKH,EACH,OAAO,KAET,IAAMI,EAAeC,IAAIL,EAAmB,UAAW,MACjDM,EAAMD,IAAIL,EAAmB,OAAO,GAmE1C,OACE/D,EAAAA,EAAAA,KAACsE,EAAAA,EAAY,CACXC,UAAWP,EACXrD,QAAS,WACPsD,GACF,EACA/D,MAAK,OAAAO,OAASyD,EAAM,YACpB7D,WAAWL,EAAAA,EAAAA,KAACwE,EAAAA,IAA6B,IAAIzD,UAE7CF,EAAAA,EAAAA,MAAC4D,EAAAA,IAAI,CAACC,WAAS,EAAA3D,SAAA,EACbF,EAAAA,EAAAA,MAAC4D,EAAAA,IAAI,CAACE,MAAI,EAACC,GAAI,GAAG7D,SAAA,CAAC,SACVmD,EAAO,iDACZG,GAAOF,IACPnE,EAAAA,EAAAA,KAACc,EAAAA,SAAQ,CAAAC,UACPF,EAAAA,EAAAA,MAAC4D,EAAAA,IAAI,CACHE,MAAI,EACJC,GAAI,GACJnD,GAAI,CACFoD,UAAW,OACXC,UAAW,KACX/D,SAAA,EAEFf,EAAAA,EAAAA,KAACwB,EAAAA,IAAG,CACFC,GAAI,CACFe,QAAS,cACTuC,WAAY,IACZ/B,SAAU,SACVjC,SACH,wBAGAiE,MAAMC,QAAQd,IACbA,EAAae,KAAI,SAACC,EAAiBC,GACjC,OACEvE,EAAAA,EAAAA,MAACC,EAAAA,SAAQ,CAAAC,SAAA,EACPf,EAAAA,EAAAA,KAACqF,EAAc,CACbhE,MAAM,aACNE,MAAO4D,EAAgBG,aAEzBtF,EAAAA,EAAAA,KAACqF,EAAc,CACbhE,MAAM,aACNE,MAAO4D,EAAgBI,cAI/B,KACAP,MAAMC,QAAQd,KACdtD,EAAAA,EAAAA,MAACC,EAAAA,SAAQ,CAAAC,SAAA,EACPf,EAAAA,EAAAA,KAACqF,EAAc,CACbhE,MAAM,aACNE,MAAO4C,EAAamB,aAEtBtF,EAAAA,EAAAA,KAACqF,EAAc,CACbhE,MAAM,aACNE,MAAO4C,EAAaoB,qBAOb,OAAjBpB,QAA0CqB,IAAjBrB,KACzBtD,EAAAA,EAAAA,MAAA4E,EAAAA,SAAA,CAAA1E,SAAA,EACEf,EAAAA,EAAAA,KAACqF,EAAc,CACbhE,MAAM,aACNE,MAAOwC,EAAkBuB,WAAa,MAExCtF,EAAAA,EAAAA,KAACqF,EAAc,CACbhE,MAAM,aACNE,MAAOwC,EAAkBwB,WAAa,QAI3ClB,GACCrE,EAAAA,EAAAA,KAAC2C,EAAY,CAAA5B,SAAC,iEAIdF,EAAAA,EAAAA,MAAC8B,EAAY,CAAA5B,SAAA,EACXf,EAAAA,EAAAA,KAAC0F,EAAAA,IAAQ,KACT1F,EAAAA,EAAAA,KAAA,QAAAe,SAAM,oFAOZf,EAAAA,EAAAA,KAACyE,EAAAA,IAAI,CAACE,MAAI,EAACC,GAAI,GAAInD,IAAEkE,EAAAA,EAAAA,GAAA,GAAOC,EAAAA,GAAgBC,gBAAiB9E,UACzDsD,IACAxD,EAAAA,EAAAA,MAACC,EAAAA,SAAQ,CAAAC,SAAA,EACPf,EAAAA,EAAAA,KAAC8F,EAAAA,EAAc,CACbC,QACE,wIACDhF,UAEDf,EAAAA,EAAAA,KAACgC,EAAAA,IAAM,CACLC,GAAI,kBACJZ,MAAO,sBACPc,QAnKO,WACrB,IAAI6D,EAAgB,CAAC,EAEjB7B,EAmBA6B,EAlBGhB,MAAMC,QAAQd,GASFA,EAAae,KAAI,SAACe,GAC/B,MAAO,CACLC,IAAKD,EAAQC,IACbZ,UAAWW,EAAQX,UACnBC,UAAWU,EAAQV,UACnBY,IAAK,OACLC,KAAM,OAEV,IACuB,GAjBP,CACdF,IAAK/B,EAAa+B,IAClBZ,UAAWnB,EAAamB,UACxBC,UAAWpB,EAAaoB,UACxBY,IAAK,OACLC,KAAM,QAeVJ,EAAgB,CACdE,IAAKnC,EAAkBmC,IACvBZ,UAAWvB,EAAkBuB,UAC7BC,UAAWxB,EAAkBwB,UAC7BY,IAAK,OACLC,KAAM,QAIVhD,EACE,mBACAiD,KAAKC,WAASX,EAAAA,EAAAA,GAAC,CAAC,EACXK,IAGT,EA4HgBvD,MAAMzC,EAAAA,EAAAA,KAACuG,EAAAA,IAAY,IACnBrE,QAAQ,iBAIX8C,MAAMC,QAAQd,IAAiBA,EAAaqC,OAAS,IACpDxG,EAAAA,EAAAA,KAAC8F,EAAAA,EAAc,CACbC,QACE,iNACDhF,UAEDf,EAAAA,EAAAA,KAACgC,EAAAA,IAAM,CACLC,GAAI,sBACJZ,MAAO,kCACPc,QAxIc,WAC9B,IAAIsE,EAAiB,CAAC,EAEpBtC,GACAa,MAAMC,QAAQd,IACdA,EAAaqC,OAAS,IAQtBC,EANetC,EAAae,KAAI,SAACe,GAC/B,MAAO,CACLX,UAAWW,EAAQX,UACnBC,UAAWU,EAAQV,UAEvB,KAGFnC,EACE,uBACAiD,KAAKC,WAASX,EAAAA,EAAAA,GAAC,CAAC,EACXc,IAGT,EAoHkBhE,MAAMzC,EAAAA,EAAAA,KAACuG,EAAAA,IAAY,IACnBrE,QAAQ,aACRa,MAAM,uBAU1B,C,sECpOA,KAAe2D,EAAAA,EAAAA,IAlBA,SAAC5D,GAAY,OAC1B6D,EAAAA,EAAAA,GAAa,CACXC,KAAM,CACJpE,QAAS,EACTS,OAAQ,EACRD,SAAU,UAEX,GAWL,EAJmB,SAAH9D,GAA4C,IAAtC2H,EAAO3H,EAAP2H,QAAS9F,EAAQ7B,EAAR6B,SAC7B,OAAOf,EAAAA,EAAAA,KAAA,MAAI8G,UAAWD,EAAQD,KAAK7F,SAAEA,GACvC,G,sECoBA,KAAe2F,EAAAA,EAAAA,IA/BA,SAAC5D,GAAY,OAC1B6D,EAAAA,EAAAA,GAAa,CACXI,gBAAiB,CACfC,gBAAiB,UACjBC,aAAc,EACdC,aAAc,GACd1E,QAAS,EACT2E,cAAe,IAEjBC,cAAe,CACbrE,MAAO,UACPC,SAAU,GACVqE,WAAY,IAEdC,UAAW,CACTvE,MAAO,UACPC,SAAU,GACVqE,WAAY,GACZhF,YAAa,KAEd,GAWL,EATuB,SAAHnD,GAAoD,IAA9C2H,EAAO3H,EAAP2H,QAASxF,EAAKnC,EAALmC,MAAOnB,EAAKhB,EAALgB,MACxC,OACEW,EAAAA,EAAAA,MAAA,OAAKiG,UAAWD,EAAQE,gBAAgBhG,SAAA,EACtCf,EAAAA,EAAAA,KAAA,MAAI8G,UAAWD,EAAQO,cAAcrG,SAAEb,KACvCF,EAAAA,EAAAA,KAAA,OAAK8G,UAAWD,EAAQS,UAAUvG,SAAEM,MAG1C,G,2KCqFA,IAvGwB,SAAHnC,GAAiD,IAADqI,EAAArI,EAA1CsI,QAAAA,OAAO,IAAAD,GAAQA,EAClCjI,GAAWC,EAAAA,EAAAA,MAEjBkI,GAA8BC,EAAAA,EAAAA,UAAgB,IAAGC,GAAA9H,EAAAA,EAAAA,GAAA4H,EAAA,GAA1CG,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAC1BG,GAA6BJ,EAAAA,EAAAA,WAAkB,GAAMK,GAAAlI,EAAAA,EAAAA,GAAAiI,EAAA,GAA9CE,EAAOD,EAAA,GAAExH,EAASwH,EAAA,GACzBE,GAA4BP,EAAAA,EAAAA,UAAiB,IAAGQ,GAAArI,EAAAA,EAAAA,GAAAoI,EAAA,GAAzCE,EAAMD,EAAA,GAAEE,EAASF,EAAA,GAElBG,GAAkBC,EAAAA,EAAAA,KACtB,SAACC,GAAe,OAAKA,EAAMC,WAAWC,gBAAgB,IAGlDC,GAAgBC,EAAAA,EAAAA,cAAY,WAChCpI,GAAU,GAEV4F,EAAAA,EAAIyC,SACDC,eACAC,MAAK,SAACC,GAAoD,IAADC,EAClDJ,EAA4B,QAApBI,EAAGD,EAAIE,KAAKL,gBAAQ,IAAAI,EAAAA,EAAI,GACtCzI,GAAU,GACVsH,EAAWe,EAASM,KAAKC,EAAAA,IAC3B,IACCC,OAAM,SAAC1J,GACNa,GAAU,GACVjB,GAAS+J,EAAAA,EAAAA,IAA0B3J,GACrC,GACJ,GAAG,CAACJ,KAGJgK,EAAAA,EAAAA,YAAU,WACR/I,GAAU,EACZ,GAAG,KAEH+I,EAAAA,EAAAA,YAAU,WACJtB,GACFU,GAEJ,GAAG,CAACV,EAASU,IAEb,IAoBMa,EAAkB3B,EAAQO,QAAO,SAACqB,GAAW,OACjDA,EAAYC,KAAKC,SAASvB,EAAO,IAGnC,OACEtH,EAAAA,EAAAA,MAAC4D,EAAAA,IAAI,CAACE,MAAI,EAACC,GAAI,GAAIkC,UAAW,YAAY/F,SAAA,CACvCiH,IAAWhI,EAAAA,EAAAA,KAAC2J,EAAAA,EAAc,IAC1B/B,EAAQpB,OAAS,GAChB3F,EAAAA,EAAAA,MAACC,EAAAA,SAAQ,CAAAC,SAAA,EACPf,EAAAA,EAAAA,KAACyE,EAAAA,IAAI,CAACE,MAAI,EAACC,GAAI,GAAIkC,UAAW,YAAY/F,UACxCf,EAAAA,EAAAA,KAAC4J,EAAAA,EAAS,CACRC,YAAY,sCACZC,SAAU,SAACvI,GACT6G,EAAU7G,EACZ,EACAA,MAAO4G,EACP9G,MAAQmG,EAA8B,GAApB,uBAItBxH,EAAAA,EAAAA,KAAC+J,EAAAA,IAAS,CACRC,QAAS,CAAC,CAAE3I,MAAO,SAAU4I,WAAY,SACzCC,SA1Ce,SAACC,GACxB,IAAMC,EAAUD,EAAEE,OACZ9I,EAAQ6I,EAAQ7I,MAChB+I,EAAUF,EAAQE,QAEpBC,GAAkBC,EAAAA,EAAAA,GAAOnC,GAEzBiC,EAEFC,EAASE,KAAKlJ,GAGdgJ,EAAWA,EAASpC,QAAO,SAAC7E,GAAO,OAAKA,IAAY/B,CAAK,IAG3DgJ,EAAWA,EAASpC,QAAO,SAAC7E,GAAO,MAAiB,KAAZA,CAAc,IAEtDhE,GAASoL,EAAAA,EAAAA,IAAoBH,GAC/B,EAyBUI,cAAetC,EACf9H,UAAWyH,EACXJ,QAAS2B,EACTqB,WAAW,WACXC,QAAQ,OACRC,kBAAmB,cAIvB9K,EAAAA,EAAAA,KAACwB,EAAAA,IAAG,CACFC,GAAI,CACFsJ,UAAW,SACXvI,QAAS,UACTzB,SACH,4BAMT,C,4LCkCA,UA1ImB,SAAH7B,GAIS,IAHvBC,EAA0BD,EAA1BC,2BACAC,EAAUF,EAAVE,WACA4L,EAAa9L,EAAb8L,cAEMC,GAAWC,EAAAA,EAAAA,MACX5L,GAAWC,EAAAA,EAAAA,MAKXoB,EAAU,WAAH,OAASxB,GAA2B,EAAO,EAExDK,GAAyCC,EAAAA,EAAAA,IALpB,WAAH,OAASN,GAA2B,EAAM,IACzC,SAACO,GAAyB,OAC3CJ,GAASK,EAAAA,EAAAA,IAAqBD,GAAM,IAGmCE,GAAAC,EAAAA,EAAAA,GAAAL,EAAA,GAAlEM,EAAaF,EAAA,GAAEG,EAAeH,EAAA,GACrC6H,GAAkCC,EAAAA,EAAAA,WAAkB,GAAKC,GAAA9H,EAAAA,EAAAA,GAAA4H,EAAA,GAAlD0D,EAASxD,EAAA,GAAEyD,EAAYzD,EAAA,GAC9BG,GAA0BJ,EAAAA,EAAAA,WAAkB,GAAMK,GAAAlI,EAAAA,EAAAA,GAAAiI,EAAA,GAA3CuD,EAAKtD,EAAA,GAAEuD,EAAQvD,EAAA,GACtBE,GAAoCP,EAAAA,EAAAA,UAAwB,IAAGQ,GAAArI,EAAAA,EAAAA,GAAAoI,EAAA,GAAxDsD,EAAUrD,EAAA,GAAEsD,EAAatD,EAAA,GAE1BuD,EAAeC,aAAaC,QAAQ,iBAAmB,GAoB7D,IAlBArC,EAAAA,EAAAA,YAAU,WACJ0B,GACF7E,EAAAA,EACGyF,OAAO,OAAO,iCAAmCZ,GACjDlC,MAAK,SAACC,GACLyC,EAAczC,EAAI8C,wBACd9C,EAAIsC,OACNC,GAAS,GAEXF,GAAa,EACf,IACChC,OAAM,SAAC1J,GACNJ,GAASK,EAAAA,EAAAA,IAAqBD,IAC9B0L,GAAa,EACf,GAEN,GAAG,CAACJ,EAAe1L,KAEd0L,EACH,OAAO,KAET,IAAMc,EAAcd,EAAc9F,KAAI,SAAC6G,GAAI,OACzC/L,EAAAA,EAAAA,KAAA,OAAAe,UACEf,EAAAA,EAAAA,KAAA,KAAAe,SAAIgL,KADIA,EAEJ,IAQFC,EAAe,CACnB,CACEC,KAAM,OACN9J,QATe,SAAC+J,GAClBjB,EAAS,GAADxK,OACH0L,EAAAA,GAAUC,MAAK,KAAA3L,QAAIC,EAAAA,EAAAA,IAAgBwL,EAAiBG,YAEzD1L,GACF,IA+BM2L,EACJ,iDACAtB,EAAcxE,OADd,SAICwE,EAAcxE,OAAS,EAAI,KAAO,KAErC,OACExG,EAAAA,EAAAA,KAACC,EAAAA,EAAa,CACZC,MAAK,cAAAO,OAAgBuK,EAAcxE,OAAS,EAAI,IAAM,IACtDrG,YAAa,SACbC,OAAQhB,EACRiB,WAAWL,EAAAA,EAAAA,KAACM,EAAAA,IAAiB,IAC7BC,UAAWT,EACXU,UArCoB,WAAO,IACC+L,EADFC,GAAAC,EAAAA,EAAAA,GACXzB,GAAa,IAA9B,IAAAwB,EAAAE,MAAAH,EAAAC,EAAAG,KAAAC,MAAgC,CAAC,IAAxBb,EAAIQ,EAAAhL,MACPwK,IAASN,GACXnM,GACEK,EAAAA,EAAAA,IAAqB,CACnBkN,aAAc,yCACdC,cAAc,0CAADrM,OAA4CgL,MAG7DtM,GAA2B,KAE3BY,EAAgB,SAAS,gBAADU,QAAkBC,EAAAA,EAAAA,IAAgBqL,KAC1D5M,GAA2B,GAC3B8L,EAAS,GAADxK,OAAI0L,EAAAA,GAAUC,QAE1B,CAAC,OAAA1M,GAAA8M,EAAArC,EAAAzK,EAAA,SAAA8M,EAAAO,GAAA,CACH,EAsBIpM,QAASA,EACTC,oBACEuK,GACEnL,EAAAA,EAAAA,KAACgN,EAAAA,IAAM,KAEPhN,EAAAA,EAAAA,KAACc,EAAAA,SAAQ,CAAAC,SACNsK,GACCxK,EAAAA,EAAAA,MAACC,EAAAA,SAAQ,CAAAC,SAAA,EACPf,EAAAA,EAAAA,KAACiN,EAAAA,EAAc,CACb5L,MAAM,oLACNnB,MAAM,sEAERF,EAAAA,EAAAA,KAAC+J,EAAAA,IAAS,CACRmD,YAAalB,EACbhC,QAAS,CACP,CAAE3I,MAAO,WAAY4I,WAAY,YACjC,CACE5I,MAAO,2BACP4I,WAAY,WAGhB1J,UAAW4K,EACXvD,QAAS2D,EACTX,WAAW,mBACXC,QAAQ,WACRC,kBAAkB,YAItBjK,EAAAA,EAAAA,MAACC,EAAAA,SAAQ,CAAAC,SAAA,CACNuL,EACAR,QAQjB,C,yKCpCA,IAtGwB,SAAH5M,GAGA,IAFnBiO,EAAcjO,EAAdiO,eACAC,EAAiBlO,EAAjBkO,kBAEM9N,GAAWC,EAAAA,EAAAA,MAEjBkI,GAA8BC,EAAAA,EAAAA,UAAgB,IAAGC,GAAA9H,EAAAA,EAAAA,GAAA4H,EAAA,GAA1CG,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAC1BG,GAA6BJ,EAAAA,EAAAA,WAAkB,GAAMK,GAAAlI,EAAAA,EAAAA,GAAAiI,EAAA,GAA9CE,EAAOD,EAAA,GAAExH,EAASwH,EAAA,GACzBE,GAA4BP,EAAAA,EAAAA,UAAiB,IAAGQ,GAAArI,EAAAA,EAAAA,GAAAoI,EAAA,GAAzCE,EAAMD,EAAA,GAAEE,EAASF,EAAA,GAElBmF,GAAc1E,EAAAA,EAAAA,cAAY,WAC9BxC,EAAAA,EACGyF,OAAO,MAAM,kBACb9C,MAAK,SAACC,GACL,IAAIuE,EAASlJ,IAAI2E,EAAK,SAAU,IAE3BuE,IACHA,EAAS,IAEXzF,EAAWyF,EAAOpE,KAAKqE,EAAAA,KACvBhN,GAAU,EACZ,IACC6I,OAAM,SAAC1J,GACNJ,GAAS+J,EAAAA,EAAAA,IAA0B3J,IACnCa,GAAU,EACZ,GACJ,GAAG,CAACjB,KAGJgK,EAAAA,EAAAA,YAAU,WACR/I,GAAU,EACZ,GAAG,KAEH+I,EAAAA,EAAAA,YAAU,WACJtB,GACFqF,GAEJ,GAAG,CAACrF,EAASqF,IAEb,IAAMG,EAAaL,GAAiB,GAqB9B5D,EAAkB3B,EAAQO,QAAO,SAACqB,GAAW,OACjDA,EAAYE,SAASvB,EAAO,IAG9B,OACEtH,EAAAA,EAAAA,MAAC4D,EAAAA,IAAI,CAACE,MAAI,EAACC,GAAI,GAAIkC,UAAW,YAAY/F,SAAA,CACvCiH,IAAWhI,EAAAA,EAAAA,KAAC2J,EAAAA,EAAc,IACd,OAAZ/B,GAAoBA,EAAQpB,OAAS,GACpC3F,EAAAA,EAAAA,MAACC,EAAAA,SAAQ,CAAAC,SAAA,EACPf,EAAAA,EAAAA,KAACyE,EAAAA,IAAI,CAACE,MAAI,EAACC,GAAI,GAAIkC,UAAW,YAAY/F,UACxCf,EAAAA,EAAAA,KAAC4J,EAAAA,EAAS,CACRC,YAAY,oCACZC,SAAU1B,EACV7G,MAAO4G,EACP9G,MAAO,qBAGXrB,EAAAA,EAAAA,KAAC+J,EAAAA,IAAS,CACRC,QAAS,CAAC,CAAE3I,MAAO,UACnB6I,SAtCe,SAACC,GACxB,IAAMC,EAAUD,EAAEE,OACZ9I,EAAQ6I,EAAQ7I,MAChB+I,EAAUF,EAAQE,QAEpBC,GAAkBC,EAAAA,EAAAA,GAAOgD,GAW7B,OATIlD,EAEFC,EAASE,KAAKlJ,GAGdgJ,EAAWA,EAASpC,QAAO,SAAC7E,GAAO,OAAKA,IAAY/B,CAAK,IAE3D6L,EAAkB7C,GAEXA,CACT,EAsBUI,cAAe6C,EACfjN,UAAWyH,EACXJ,QAAS2B,EACTqB,WAAW,SACXC,QAAQ,GACRC,kBAAmB,cAIvB9K,EAAAA,EAAAA,KAACwB,EAAAA,IAAG,CACFC,GAAI,CACFsJ,UAAW,SACXvI,QAAS,UACTzB,SACH,0BAMT,C,2TCxEM0M,GAAaC,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,kBAAM,uCAAsB,KACjEC,GAAaF,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,kBAAM,+BAA0B,KAwZ3E,EAtZkB,WAChB,IAAMrO,GAAWC,EAAAA,EAAAA,MACX0L,GAAWC,EAAAA,EAAAA,MAEjBzD,GAA8BC,EAAAA,EAAAA,UAAiB,IAAGC,GAAA9H,EAAAA,EAAAA,GAAA4H,EAAA,GAA3CG,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAC1BG,GAA8BJ,EAAAA,EAAAA,WAAkB,GAAKK,GAAAlI,EAAAA,EAAAA,GAAAiI,EAAA,GAA9CE,EAAOD,EAAA,GAAE8F,EAAU9F,EAAA,GAC1BE,GAAoCP,EAAAA,EAAAA,WAAkB,GAAMQ,GAAArI,EAAAA,EAAAA,GAAAoI,EAAA,GAArD7I,EAAU8I,EAAA,GAAE4F,EAAa5F,EAAA,GAChC6F,GAAwCrG,EAAAA,EAAAA,WAAkB,GAAMsG,GAAAnO,EAAAA,EAAAA,GAAAkO,EAAA,GAAzDE,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GACpCG,GAA4BzG,EAAAA,EAAAA,UAAiB,IAAG0G,GAAAvO,EAAAA,EAAAA,GAAAsO,EAAA,GAAzChG,EAAMiG,EAAA,GAAEhG,EAASgG,EAAA,GACxBC,GAAwC3G,EAAAA,EAAAA,UAAmB,IAAG4G,GAAAzO,EAAAA,EAAAA,GAAAwO,EAAA,GAAvDE,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GAE9BG,GAAmBC,EAAAA,EAAAA,GACvBC,EAAAA,GACAC,EAAAA,IAGIC,GAAWH,EAAAA,EAAAA,GAAcC,EAAAA,GAAqBG,EAAAA,IAE9CC,GAAiBL,EAAAA,EAAAA,GACrBC,EAAAA,GACAK,EAAAA,IAGIC,GAAaP,EAAAA,EAAAA,GAAcC,EAAAA,GAAqBO,EAAAA,KAiBtD5F,EAAAA,EAAAA,YAAU,WACJtB,IACEyG,EACFtI,EAAAA,EACGyF,OAAO,MAAM,iBACb9C,MAAK,SAACC,GACL,IAAMoG,EAAsB,OAAdpG,EAAIoG,MAAiB,GAAKpG,EAAIoG,MAE5CtB,GAAW,GACXhG,EAAWsH,EAAMjG,KAAKkG,EAAAA,IACxB,IACChG,OAAM,SAAC1J,GACNmO,GAAW,GACXvO,GAASK,EAAAA,EAAAA,IAAqBD,GAChC,IAEFmO,GAAW,GAGjB,GAAG,CAAC7F,EAAS1I,EAAUmP,IAEvB,IAAMlF,EAAkB3B,EAAQO,QAAO,SAACqB,GAAW,OACjDA,EAAYlE,UAAUoE,SAASvB,EAAO,IAqBlCkH,EAAa,SAACnD,GAClBjB,EAAS,GAADxK,OACH0L,EAAAA,GAAUC,MAAK,KAAA3L,QAAIC,EAAAA,EAAAA,IAAgBwL,EAAiB5G,YAE3D,EAEM0G,GAAe,CACnB,CACEC,KAAM,OACN9J,QAASkN,EACTC,sBAAuB,kBAAOT,CAAQ,GAExC,CACE5C,KAAM,OACN9J,QAASkN,EACTC,sBAAuB,kBAAOT,CAAQ,IAS1C,OALAvF,EAAAA,EAAAA,YAAU,WACRhK,GAASiQ,EAAAA,EAAAA,IAAY,cAEvB,GAAG,KAGD1O,EAAAA,EAAAA,MAACC,EAAAA,SAAQ,CAAAC,SAAA,CACN3B,IACCY,EAAAA,EAAAA,KAACyN,EAAU,CACTrO,WAAYA,EACZ4L,cAAeuD,EACfpP,2BAA4B,SAACqQ,IAxFF,SAACA,GAClC1B,GAAc,GACV0B,IACF3B,GAAW,GACXW,EAAgB,IAEpB,CAmFUrP,CAA2BqQ,EAC7B,IAGHvB,IACCjO,EAAAA,EAAAA,KAAC4N,EAAU,CACT5J,KAAMiK,EACNM,aAAcA,EACdkB,qBAAsB,SAACC,IAzFL,WAAkC,IAAjCC,EAAmBC,UAAApJ,OAAA,QAAAhB,IAAAoK,UAAA,IAAAA,UAAA,GAC5C1B,GAAgB,GACZyB,GACFnB,EAAgB,GAEpB,CAqFUqB,CAAkBH,EACpB,KAGJ1P,EAAAA,EAAAA,KAAC8P,EAAAA,EAAiB,CAACzO,MAAO,QAAS0O,SAAS/P,EAAAA,EAAAA,KAACgQ,EAAAA,EAAQ,OAErDhQ,EAAAA,EAAAA,KAACiQ,EAAAA,IAAU,CAAAlP,UACTF,EAAAA,EAAAA,MAAC4D,EAAAA,IAAI,CAACC,WAAS,EAAA3D,SAAA,EACbF,EAAAA,EAAAA,MAAC4D,EAAAA,IAAI,CAACE,MAAI,EAACC,GAAI,GAAInD,GAAIyO,EAAAA,GAAYA,YAAYnP,SAAA,EAC7Cf,EAAAA,EAAAA,KAAC4J,EAAAA,EAAS,CACRC,YAAa,eACbC,SAAU1B,EACV7G,MAAO4G,EACP1G,GAAI,CACFY,YAAa,OACbpB,SAAU,QAGdjB,EAAAA,EAAAA,KAACmQ,EAAAA,EAAe,CACdC,SAAUzB,EAAAA,GACV0B,OAAQ,CAACC,EAAAA,GAAWC,mBACpBC,UAAQ,EACRC,WAAY,CAAEC,UAAU,GAAO3P,UAE/Bf,EAAAA,EAAAA,KAAC8F,EAAAA,EAAc,CACbC,SACE2I,EAAAA,EAAAA,GAAc,UAAW,CAAC4B,EAAAA,GAAWC,oBACT,IAAxBhC,EAAa/H,OACX,yBACA,mBACFmK,EAAAA,EAAAA,IACE,CAACL,EAAAA,GAAWC,mBACZ,gBAEPxP,UAEDf,EAAAA,EAAAA,KAACgC,EAAAA,IAAM,CACLC,GAAI,wBACJE,QAAS,WACP2L,GAAc,EAChB,EACAzM,MAAO,kBACPoB,MAAMzC,EAAAA,EAAAA,KAAC4Q,EAAAA,IAAU,IACjBF,SAAkC,IAAxBnC,EAAa/H,OACvBtE,QAAS,YACT,aAAW,+BAIjBlC,EAAAA,EAAAA,KAACmQ,EAAAA,EAAe,CACdE,OAAQ,CAACC,EAAAA,GAAWO,yBACpBT,SAAUzB,EAAAA,GACV8B,WAAY,CAAEC,UAAU,GAAO3P,UAE/Bf,EAAAA,EAAAA,KAAC8F,EAAAA,EAAc,CACbC,SACE2I,EAAAA,EAAAA,GAAc,UAAW,CAAC4B,EAAAA,GAAWO,0BACT,IAAxBtC,EAAa/H,OACX,wBACA,gBACFmK,EAAAA,EAAAA,IACE,CAACL,EAAAA,GAAWO,yBACZ,uBAEP9P,UAEDf,EAAAA,EAAAA,KAACgC,EAAAA,IAAM,CACLC,GAAI,eACJZ,MAAO,eACPoB,MAAMzC,EAAAA,EAAAA,KAAC8Q,EAAAA,IAAU,IACjBJ,SAAUnC,EAAa/H,QAAU,EACjCrE,QAAS,WACHoM,EAAa/H,OAAS,GACxB0H,GAAgB,EAEpB,EACAhM,QAAS,iBAIflC,EAAAA,EAAAA,KAACmQ,EAAAA,EAAe,CACdE,OAAQ,CACNC,EAAAA,GAAWS,kBACXT,EAAAA,GAAWU,yBACXV,EAAAA,GAAWW,mBAEbb,SAAUc,EAAAA,GACVV,UAAQ,EACRC,WAAY,CAAEC,UAAU,GAAO3P,UAE/Bf,EAAAA,EAAAA,KAAC8F,EAAAA,EAAc,CACbC,SACE2I,EAAAA,EAAAA,GACE,UACA,CACE4B,EAAAA,GAAWS,kBACXT,EAAAA,GAAWU,yBACXV,EAAAA,GAAWW,kBACXX,EAAAA,GAAWa,oCAEb,GAEE,eACAR,EAAAA,EAAAA,IACE,CACEL,EAAAA,GAAWS,kBACXT,EAAAA,GAAWU,yBACXV,EAAAA,GAAWW,kBACXX,EAAAA,GAAWa,mCAEb,gBAEPpQ,UAEDf,EAAAA,EAAAA,KAACgC,EAAAA,IAAM,CACLC,GAAI,cACJZ,MAAO,cACPoB,MAAMzC,EAAAA,EAAAA,KAACoR,EAAAA,IAAO,IACdjP,QAAS,WACP8I,EAAS,GAADxK,OAAI0L,EAAAA,GAAUkF,UACxB,EACAnP,QAAS,aACTwO,WACGhC,EAAAA,EAAAA,GACC,UACA,CACE4B,EAAAA,GAAWS,kBACXT,EAAAA,GAAWU,yBACXV,EAAAA,GAAWW,kBACXX,EAAAA,GAAWa,oCAEb,YAQXnJ,IAAWhI,EAAAA,EAAAA,KAAC2J,EAAAA,EAAc,KACzB3B,IACAnH,EAAAA,EAAAA,MAACC,EAAAA,SAAQ,CAAAC,SAAA,CACN6G,EAAQpB,OAAS,IAChB3F,EAAAA,EAAAA,MAACC,EAAAA,SAAQ,CAAAC,SAAA,EACPf,EAAAA,EAAAA,KAACyE,EAAAA,IAAI,CAACE,MAAI,EAACC,GAAI,GAAInD,GAAI,CAAEyF,aAAc,IAAKnG,UAC1Cf,EAAAA,EAAAA,KAACmQ,EAAAA,EAAe,CACdE,OAAQ,CAACC,EAAAA,GAAWgB,kBACpBlB,SAAUzB,EAAAA,GACV8B,WAAY,CAAEC,UAAU,GAAO3P,UAE/Bf,EAAAA,EAAAA,KAAC+J,EAAAA,IAAS,CACRmD,YAAalB,GACbhC,QAAS,CACP,CAAE3I,MAAO,aAAc4I,WAAY,cAErCC,SACE6E,GAAkBE,EAtNjB,SAAC9E,GACxB,IAAAoH,EAAyDpH,EAAjDE,OAAMmH,OAAA,IAAAD,EAAoC,CAAC,EAACA,EAAAE,EAAAD,EAAlCjQ,MAAAA,OAAK,IAAAkQ,EAAG,GAAEA,EAAAC,EAAAF,EAAElH,QAAAA,OAAO,IAAAoH,GAAQA,EAEzCnH,GAAkBC,EAAAA,EAAAA,GAAO+D,GAY7B,OAVIjE,EAEFC,EAASE,KAAKlJ,GAGdgJ,EAAWA,EAASpC,QAAO,SAAC7E,GAAO,OAAKA,IAAY/B,CAAK,IAG3DiN,EAAgBjE,GAETA,CACT,OAwM4B/E,EAENmF,cAAe4D,EACfhO,UAAWyH,EACXJ,QAAS2B,EACTqB,WAAW,QACXC,QAAQ,mBAId7K,EAAAA,EAAAA,KAAC2R,EAAAA,IAAO,CACNzR,MAAO,QACP0R,eAAe5R,EAAAA,EAAAA,KAAC6R,EAAAA,IAAS,IACzBC,MACEjR,EAAAA,EAAAA,MAACC,EAAAA,SAAQ,CAAAC,SAAA,CAAC,qQAMRf,EAAAA,EAAAA,KAAA,SAAM,6HAINA,EAAAA,EAAAA,KAAA,UACAA,EAAAA,EAAAA,KAAA,SAAM,6FAGNA,EAAAA,EAAAA,KAAA,SAAM,8PAMNA,EAAAA,EAAAA,KAAA,UACAA,EAAAA,EAAAA,KAAA,SAAM,+KAKNA,EAAAA,EAAAA,KAAA,UACAA,EAAAA,EAAAA,KAAA,SAAM,4BACoB,KAC1BA,EAAAA,EAAAA,KAAA,KACE+R,KAAK,6HACL1H,OAAO,SACP2H,IAAI,WAAUjR,SACf,kBAEG,YAOM,IAAnB6G,EAAQpB,SACPxG,EAAAA,EAAAA,KAACyE,EAAAA,IAAI,CAACC,WAAS,EAAA3D,UACbf,EAAAA,EAAAA,KAACyE,EAAAA,IAAI,CAACE,MAAI,EAACC,GAAI,EAAE7D,UACff,EAAAA,EAAAA,KAAC2R,EAAAA,IAAO,CACNzR,MAAO,QACP0R,eAAe5R,EAAAA,EAAAA,KAAC6R,EAAAA,IAAS,IACzBC,MACEjR,EAAAA,EAAAA,MAACC,EAAAA,SAAQ,CAAAC,SAAA,CAAC,qQAORf,EAAAA,EAAAA,KAAA,SAAM,6HAINA,EAAAA,EAAAA,KAAA,UACAA,EAAAA,EAAAA,KAAA,SAAM,6FAGNA,EAAAA,EAAAA,KAAA,SAAM,8PAMNA,EAAAA,EAAAA,KAAA,UACAA,EAAAA,EAAAA,KAAA,SAAM,+KAKNa,EAAAA,EAAAA,MAACsP,EAAAA,EAAe,CACdE,OAAQ,CACNC,EAAAA,GAAWS,kBACXT,EAAAA,GAAWU,yBACXV,EAAAA,GAAWW,mBAEbT,UAAQ,EACRJ,SAAUzB,EAAAA,GAAoB5N,SAAA,EAE9Bf,EAAAA,EAAAA,KAAA,UACAA,EAAAA,EAAAA,KAAA,SAAM,kBACU,KAChBA,EAAAA,EAAAA,KAACiS,EAAAA,EAAO,CACN9P,QAAS,WACP8I,EAAS,GAADxK,OAAI0L,EAAAA,GAAUkF,UACxB,EAAEtQ,SACH,kBAES,0BAetC,E,sBC/RA,EAnJyB,SAAH7B,GAIgB,IAHpCuQ,EAAoBvQ,EAApBuQ,qBACAyC,EAAYhT,EAAZgT,aACAlO,EAAI9E,EAAJ8E,KAEM1E,GAAWC,EAAAA,EAAAA,MACjBkI,GAAoCC,EAAAA,EAAAA,WAAkB,GAAMC,GAAA9H,EAAAA,EAAAA,GAAA4H,EAAA,GAArD0K,EAAUxK,EAAA,GAAEyK,EAAazK,EAAA,GAChCG,GAAkCJ,EAAAA,EAAAA,UAAiB,IAAGK,GAAAlI,EAAAA,EAAAA,GAAAiI,EAAA,GAA/CxC,EAASyC,EAAA,GAAEsK,EAAYtK,EAAA,GAC9BE,GAAkCP,EAAAA,EAAAA,UAAiB,IAAGQ,GAAArI,EAAAA,EAAAA,GAAAoI,EAAA,GAA/C1C,EAAS2C,EAAA,GAAEoK,EAAYpK,EAAA,GAC9B6F,GAA8BrG,EAAAA,EAAAA,WAAkB,GAAMsG,GAAAnO,EAAAA,EAAAA,GAAAkO,EAAA,GAA/CwE,EAAOvE,EAAA,GAAEwE,EAAUxE,EAAA,GAC1BG,GAA4CzG,EAAAA,EAAAA,UAAmB,IAAG0G,GAAAvO,EAAAA,EAAAA,GAAAsO,EAAA,GAA3DhB,EAAciB,EAAA,GAAEhB,EAAiBgB,EAAA,GAElCqE,GAAqB9J,EAAAA,EAAAA,cAAY,WACrC,IAAKuJ,EACH,OAAO,KAGT/L,EAAAA,EACGyF,OAAO,MAAM,gBAADnL,QAAkBC,EAAAA,EAAAA,IAAgBwR,KAC9CpJ,MAAK,SAACC,GACLqJ,GAAc,GACdC,EAAatJ,EAAIzD,WACjB8H,EAAkBrE,EAAI2J,UAAY,IAClCF,EAA0B,YAAfzJ,EAAI4J,OACjB,IACCvJ,OAAM,SAAC1J,GACN0S,GAAc,GACd9S,GAAS+J,EAAAA,EAAAA,IAA0B3J,GACrC,GACJ,GAAG,CAACwS,EAAc5S,KAElBgK,EAAAA,EAAAA,YAAU,WACa,OAAjB4I,GACFG,EAAa,IACbC,EAAa,IACblF,EAAkB,KAElBqF,GAEJ,GAAG,CAACP,EAAcO,IAElB,IAiDMG,EACiB,KAArBtN,EAAUuN,SACa,KAArBtN,EAAUsN,QAAkC,OAAjBX,GACV,OAAjBA,GACJ,OACElS,EAAAA,EAAAA,KAACsE,EAAAA,EAAY,CACX3D,QAAS,WACP8O,GACF,EACAlL,UAAWP,EACX9D,MAAO,aACPG,WAAWL,EAAAA,EAAAA,KAAC8S,EAAAA,IAAqB,IAAI/R,UAErCf,EAAAA,EAAAA,KAACc,EAAAA,SAAQ,CAAAC,UACPF,EAAAA,EAAAA,MAAA,QACEkS,YAAU,EACVC,aAAa,MACbC,SAAU,SAAC9I,GACEA,EAlEb+I,iBAEFf,IAGJC,GAAc,GACO,OAAjBF,EACF/L,EAAAA,EACGyF,OAAO,MAAM,gBAADnL,QAAkBC,EAAAA,EAAAA,IAAgBwR,IAAiB,CAC9DS,OAAQJ,EAAU,UAAY,WAC9BjF,OAAQH,IAETrE,MAAK,SAACqK,GACLf,GAAc,GACd3C,GACF,IACCrG,OAAM,SAAC1J,GACN0S,GAAc,GACd9S,GAAS+J,EAAAA,EAAAA,IAA0B3J,GACrC,IAEFyG,EAAAA,EACGyF,OAAO,OAAQ,gBAAiB,CAC/BtG,UAAAA,EACAC,UAAAA,EACA+H,OAAQH,IAETrE,MAAK,SAACqK,GACLf,GAAc,GACd3C,GACF,IACCrG,OAAM,SAAC1J,GACN0S,GAAc,GACd9S,GAAS+J,EAAAA,EAAAA,IAA0B3J,GACrC,IAiCE,EAAEqB,SAAA,EAEFf,EAAAA,EAAAA,KAACoT,EAAAA,IAAU,CAACC,aAAa,EAAOC,kBAAkB,EAAMvS,UACtDf,EAAAA,EAAAA,KAACuT,EAAAA,EAAe,CACdpG,eAAgBA,EAChBC,kBAAmB,SAAC7C,GAClB6C,EAAkB7C,EACpB,OAGJ1J,EAAAA,EAAAA,MAACW,EAAAA,IAAG,CAACC,GAAImE,EAAAA,GAAgBC,eAAe9E,SAAA,EACtCf,EAAAA,EAAAA,KAACgC,EAAAA,IAAM,CACLC,GAAI,2BACJgK,KAAK,SACL/J,QAAQ,UACRC,QA5CM,WACK,OAAjB+P,GAIJG,EAAa,IACbC,EAAa,IACblF,EAAkB,KALhBA,EAAkB,GAMtB,EAqCY/L,MAAO,WAGTrB,EAAAA,EAAAA,KAACgC,EAAAA,IAAM,CACLC,GAAI,mBACJgK,KAAK,SACL/J,QAAQ,aACRwO,SAAUyB,IAAeS,EACzBvR,MAAO,YAGV8Q,IACCnS,EAAAA,EAAAA,KAACyE,EAAAA,IAAI,CAACE,MAAI,EAACC,GAAI,GAAG7D,UAChBf,EAAAA,EAAAA,KAAC2J,EAAAA,EAAc,YAO7B,E,4CChDA,EA7FwB,SAAHzK,GAKS,IAJ5BuQ,EAAoBvQ,EAApBuQ,qBACAyC,EAAYhT,EAAZgT,aACA7J,EAAenJ,EAAfmJ,gBACArE,EAAI9E,EAAJ8E,KAEM1E,GAAWC,EAAAA,EAAAA,MAEjBkI,GAA8BC,EAAAA,EAAAA,WAAkB,GAAMC,GAAA9H,EAAAA,EAAAA,GAAA4H,EAAA,GAA/CO,EAAOL,EAAA,GAAEkG,EAAUlG,EAAA,GAC1BG,GAAwCJ,EAAAA,EAAAA,UAAmB,IAAGK,GAAAlI,EAAAA,EAAAA,GAAAiI,EAAA,GAAvD0L,EAAYzL,EAAA,GAAE0L,EAAe1L,EAAA,GAE9B2L,GAAgBpL,EAAAA,EAAAA,KACpB,SAACC,GAAe,OAAKA,EAAMC,WAAWC,gBAAgB,IAyCxD,OAXAa,EAAAA,EAAAA,YAAU,WACR,GAAItF,EAAM,CACR,IAAM2P,EAAuBtL,EAAgBnD,KAAI,SAAC0O,GAChD,OAAOA,EAAIC,MACb,IACAJ,EAAgBE,GAChBrU,GAASoL,EAAAA,EAAAA,IAAoBiJ,GAC/B,CAEF,GAAG,CAAC3P,EAAMkO,KAGRrR,EAAAA,EAAAA,MAACyD,EAAAA,EAAY,CACX3D,QAAS,WACP8O,GACF,EACAlL,UAAWP,EACX9D,MAAM,eACNG,WAAWL,EAAAA,EAAAA,KAAC8T,EAAAA,IAAe,IAAI/S,SAAA,EAE/Bf,EAAAA,EAAAA,KAACoT,EAAAA,IAAU,CAACC,aAAa,EAAOC,kBAAkB,EAAMvS,UACtDf,EAAAA,EAAAA,KAAC+T,EAAAA,EAAe,CAACC,eAAgBN,OAEnC7S,EAAAA,EAAAA,MAACW,EAAAA,IAAG,CAACC,GAAImE,EAAAA,GAAgBC,eAAe9E,SAAA,EACtCf,EAAAA,EAAAA,KAACgC,EAAAA,IAAM,CACLC,GAAI,sBACJgK,KAAK,SACL/J,QAAQ,UACRa,MAAM,UACNZ,QAjCe,WACrB7C,GAASoL,EAAAA,EAAAA,IAAoB8I,GAC/B,EAgCQnS,MAAO,WAETrB,EAAAA,EAAAA,KAACgC,EAAAA,IAAM,CACLC,GAAI,mBACJgK,KAAK,SACL/J,QAAQ,aACRa,MAAM,UACN2N,SAAU1I,EACV7F,QAjEsB,WAC5B,IACIZ,EAAQ2Q,EAEZrE,GAAW,GAEX1H,EAAAA,EACGyF,OAAO,MAAM,qBAAuB,CACnCnC,KAAMiK,EACN9I,WAAYrJ,EACZ0S,WATS,SAWVnL,MAAK,WACJ+E,GAAW,GACXvO,GAASoL,EAAAA,EAAAA,IAAoB,KAC7B+E,GACF,IACCrG,OAAM,SAAC1J,GACNmO,GAAW,GACXvO,GAAS+J,EAAAA,EAAAA,IAA0B3J,GACrC,GACJ,EA6CQ2B,MAAO,YAGV2G,IACChI,EAAAA,EAAAA,KAACyE,EAAAA,GAAI,CAACE,MAAI,EAACC,GAAI,GAAG7D,UAChBf,EAAAA,EAAAA,KAAC2J,EAAAA,EAAc,QAKzB,E,uDCqHA,EAtMiC,SAAHzK,GAGI,IAFhC6M,EAAI7M,EAAJ6M,KACAmI,EAAShV,EAATgV,UAEM5U,GAAWC,EAAAA,EAAAA,MACX0L,GAAWC,EAAAA,EAAAA,MAEjBzD,GAA8BC,EAAAA,EAAAA,UAAmB,IAAGC,GAAA9H,EAAAA,EAAAA,GAAA4H,EAAA,GAA7CG,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAC1BG,GAA8BJ,EAAAA,EAAAA,WAAkB,GAAMK,GAAAlI,EAAAA,EAAAA,GAAAiI,EAAA,GAA/CE,EAAOD,EAAA,GAAE8F,EAAU9F,EAAA,GAC1BE,GAAoCP,EAAAA,EAAAA,WAAkB,GAAMQ,GAAArI,EAAAA,EAAAA,GAAAoI,EAAA,GAArD7I,EAAU8I,EAAA,GAAE4F,EAAa5F,EAAA,GAChC6F,GAA4DrG,EAAAA,EAAAA,UAE1D,MAAKsG,GAAAnO,EAAAA,EAAAA,GAAAkO,EAAA,GAFA1O,EAAsB2O,EAAA,GAAEmG,EAAyBnG,EAAA,GAGxDG,GAAoDzG,EAAAA,EAAAA,WAAkB,GAAM0G,GAAAvO,EAAAA,EAAAA,GAAAsO,EAAA,GAArEiG,EAAkBhG,EAAA,GAAEiG,EAAqBjG,EAAA,GAChDC,GACE3G,EAAAA,EAAAA,UAAmC,MAAK4G,GAAAzO,EAAAA,EAAAA,GAAAwO,EAAA,GADnCtK,EAAiBuK,EAAA,GAAEgG,EAAoBhG,EAAA,GAE9CiG,GAAsC7M,EAAAA,EAAAA,UAAmB,IAAG8M,GAAA3U,EAAAA,EAAAA,GAAA0U,EAAA,GAArDE,EAAWD,EAAA,GAAEE,EAAcF,EAAA,GAClCG,GAAoDjN,EAAAA,EAAAA,WAAkB,GAAMkN,GAAA/U,EAAAA,EAAAA,GAAA8U,EAAA,GAArEE,EAAkBD,EAAA,GAAEE,GAAqBF,EAAA,GAChDG,IAAoCrN,EAAAA,EAAAA,WAAkB,GAAMsN,IAAAnV,EAAAA,EAAAA,GAAAkV,GAAA,GAArDE,GAAUD,GAAA,GAAEE,GAAaF,GAAA,IAEhC1L,EAAAA,EAAAA,YAAU,WACR6L,IACF,GAAG,KAEH7L,EAAAA,EAAAA,YAAU,WACJtB,GACF7B,EAAAA,EACGyF,OAAO,MAAM,gBAADnL,QAAkBC,EAAAA,EAAAA,IAAgBqL,GAAK,sBACnDjD,MAAK,SAACC,GACL,IAAMqM,EAAkBrM,EAAIG,KAAKqE,EAAAA,IACjCM,GAAW,GACXhG,EAAWuN,EACb,IACChM,OAAM,SAAC1J,GACNJ,GAASK,EAAAA,EAAAA,IAAqBD,IAC9BmO,GAAW,EACb,GAEN,GAAG,CAAC7F,EAAS6F,EAAYhG,EAAYkE,EAAMzM,IAE3C,IAAM6V,GAAe,WACnBtH,GAAW,EACb,EA+CM7B,GAAe,CACnB,CAAEC,KAAM,OAAQ9J,QAhBM,SAAC9C,GACvB8U,EAA0B9U,GAC1B6V,IAAc,EAChB,GAcE,CAAEjJ,KAAM,SAAU9J,QAZgB,SAAC9C,GACnC8U,EAA0B9U,GAC1ByO,GAAc,EAChB,IAiBA,OALAxE,EAAAA,EAAAA,YAAU,WACRhK,GAASiQ,EAAAA,EAAAA,IAAY,yBAGvB,GAAG,KAED1O,EAAAA,EAAAA,MAACC,EAAAA,SAAQ,CAAAC,SAAA,CACN3B,IACCY,EAAAA,EAAAA,KAACqV,EAAAA,QAAoB,CACnBjW,WAAYA,EACZC,uBAAwBA,EACxBF,2BAA4B,SAACqQ,IA7DF,SAACA,GAClC1B,GAAc,GAEV0B,GACF2F,IAEJ,CAwDUhW,CAA2BqQ,EAC7B,IAGHqF,IACC7U,EAAAA,EAAAA,KAACsV,EAAAA,EAA6B,CAC5BlW,WAAYyV,EACZJ,YAAaA,EACbtV,2BA9DmC,SAACqQ,GAC1CsF,IAAsB,GAClBtF,IACFlQ,GAASiW,EAAAA,EAAAA,IAAmB,sCAC5Bb,EAAe,IACf7G,GAAW,GAEf,IA0DKuG,IACCpU,EAAAA,EAAAA,KAACwV,EAAAA,EAAiB,CAChBzR,kBAAmBA,EACnBC,KAAMoQ,EACNnQ,WAAY,WAnDlBoQ,GAAsB,GACtBC,EAAqB,KAoDf,EACApQ,OAAO,eAGV+Q,KACCjV,EAAAA,EAAAA,KAACyV,EAAAA,EAAoB,CACnBzR,KAAMiR,GACNS,kBAAmBrW,EACnBoQ,qBA/CiB,WACvByF,IAAc,GACdrH,GAAW,EACb,KAgDI7N,EAAAA,EAAAA,KAAC2V,EAAAA,IAAY,CACXC,WAAS,EACTnU,GAAI,CAAEyF,aAAc,IACpB6I,SACElP,EAAAA,EAAAA,MAACW,EAAAA,IAAG,CAACC,GAAI,CAAEyB,QAAS,OAAQ2S,eAAgB,WAAYC,IAAK,IAAK/U,SAAA,EAChEf,EAAAA,EAAAA,KAAC8F,EAAAA,EAAc,CAACC,QAAS,kBAAkBhF,UACzCf,EAAAA,EAAAA,KAACgC,EAAAA,IAAM,CACLC,GAAI,kBACJE,QAAS,WACP2S,IAAsB,EACxB,EACAzT,MAAO,kBACPoB,MAAMzC,EAAAA,EAAAA,KAAC4Q,EAAAA,IAAU,IACjBF,SAAiC,IAAvB+D,EAAYjO,OACtBtE,QAAS,iBAGblC,EAAAA,EAAAA,KAACmQ,EAAAA,EAAe,CACdE,OAAQ,CACNC,EAAAA,GAAWyF,4BACXzF,EAAAA,GAAW0F,4BACX1F,EAAAA,GAAW2F,4BACX3F,EAAAA,GAAW4F,4BAEb9F,SAAUzB,EAAAA,GACV6B,UAAQ,EACRC,WAAY,CAAEC,UAAU,GAAO3P,UAE/Bf,EAAAA,EAAAA,KAAC8F,EAAAA,EAAc,CAACC,QAAS,oBAAoBhF,UAC3Cf,EAAAA,EAAAA,KAACgC,EAAAA,IAAM,CACLC,GAAI,yBACJZ,MAAO,oBACPa,QAAQ,aACRO,MAAMzC,EAAAA,EAAAA,KAACoR,EAAAA,IAAO,IACdjP,QAAS,WACP8I,EAAS,+BAADxK,QACyBC,EAAAA,EAAAA,IAAgBqL,IAEnD,EACA2E,UAAWwD,WAKpBnT,SACF,iBAIDf,EAAAA,EAAAA,KAAC+J,EAAAA,IAAS,CACRxJ,UAAWyH,EACXJ,QAASA,EACTgD,WAAY,cACZZ,QAAS,CAAC,CAAE3I,MAAO,eACnB6L,YAAalB,GACbrB,cAAe8J,EACfvK,SAAU,SAACC,GAAC,OAAKgM,EAAAA,EAAAA,IAAUhM,EAAGuK,EAAgBD,EAAY,EAC1D2B,YAnIiB,WACjB3B,EAAYjO,SAAWoB,EAAQpB,OAInCkO,EAAe9M,GAHb8M,EAAe,GAInB,MAiIF,E,sBC/FA,EApH2B,SAAHxV,GAIS,IAH/B8E,EAAI9E,EAAJ8E,KACAqI,EAAQnN,EAARmN,SACApI,EAAU/E,EAAV+E,WAEM3E,GAAWC,EAAAA,EAAAA,MACjBkI,GAAsCC,EAAAA,EAAAA,UAAiB,IAAGC,GAAA9H,EAAAA,EAAAA,GAAA4H,EAAA,GAAnD4O,EAAW1O,EAAA,GAAE2O,EAAc3O,EAAA,GAClCG,GAA0CJ,EAAAA,EAAAA,UAAiB,IAAGK,GAAAlI,EAAAA,EAAAA,GAAAiI,EAAA,GAAvDyO,EAAaxO,EAAA,GAAEyO,EAAgBzO,EAAA,GACtCE,GAA8BP,EAAAA,EAAAA,WAAkB,GAAMQ,GAAArI,EAAAA,EAAAA,GAAAoI,EAAA,GAA/CD,EAAOE,EAAA,GAAE2F,EAAU3F,EAAA,GA0C1B,OAAOlE,GACLhE,EAAAA,EAAAA,KAACsE,EAAAA,EAAY,CACXpE,MAAM,uBACNqE,UAAWP,EACXrD,QAAS,WACP2V,EAAe,IACfE,EAAiB,IACjBvS,GACF,EACA5D,WAAWL,EAAAA,EAAAA,KAACyW,EAAAA,IAAkB,IAAI1V,UAElCf,EAAAA,EAAAA,KAAA,QACE+S,YAAU,EACVC,aAAa,MACbC,SAAU,SAAC9I,IAtDU,SAACuM,GAG1B,GAFAA,EAAMxD,kBAEFlL,EAAJ,CAKA,GAFA6F,GAAW,GAEPwI,EAAY7P,OAAS,EAQvB,OAPAlH,GACE+J,EAAAA,EAAAA,IAA0B,CACxBwD,aAAc,+CACdC,cAAe,WAGnBe,GAAW,GAIb,IAAI8I,EAAqC,CACvCzE,aAAc7F,EACduK,aAAcP,GAGhBlQ,EAAAA,EAAI0Q,QACDC,mBAAmBH,GACnB7N,MAAK,SAACC,GACL8E,GAAW,GACXyI,EAAe,IACfE,EAAiB,IACjBvS,GACF,IACCmF,OAAM,SAAC1J,GACNmO,GAAW,GACXyI,EAAe,IACfE,EAAiB,IACjBlX,GAAS+J,EAAAA,EAAAA,KAA0B0N,EAAAA,EAAAA,GAAerX,IACpD,GAhCF,CAiCF,CAiBQoX,CAAmB3M,EACrB,EAAEpJ,UAEFF,EAAAA,EAAAA,MAACuS,EAAAA,IAAU,CAACC,aAAa,EAAOC,kBAAkB,EAAMvS,SAAA,EACtDF,EAAAA,EAAAA,MAACW,EAAAA,IAAG,CAACC,GAAI,CAAEwB,OAAQ,eAAgBlC,SAAA,CAAC,yBACbf,EAAAA,EAAAA,KAAA,UAAAe,SAASsL,QAEhCrM,EAAAA,EAAAA,KAACgX,EAAAA,IAAQ,CACP/U,GAAG,eACHwH,KAAK,eACLK,SAAU,SAAC4M,GACTJ,EAAeI,EAAMrM,OAAO9I,MAC9B,EACAF,MAAM,eACN4K,KAAK,WACL1K,MAAO8U,KAETrW,EAAAA,EAAAA,KAACgX,EAAAA,IAAQ,CACP/U,GAAG,kBACHwH,KAAK,kBACLK,SAAU,SAAC4M,GACTF,EAAiBE,EAAMrM,OAAO9I,MAChC,EACAF,MAAM,0BACN4K,KAAK,WACL1K,MAAOgV,KAETvW,EAAAA,EAAAA,KAACwB,EAAAA,IAAG,CAACC,GAAImE,EAAAA,GAAgBC,eAAe9E,UACtCf,EAAAA,EAAAA,KAACgC,EAAAA,IAAM,CACLC,GAAI,qBACJgK,KAAK,SACL/J,QAAQ,aACRa,MAAM,UACN2N,SACE1I,KACEuO,EAAc/P,OAAS,GAAK6P,IAAgBE,GAEhDlV,MAAO,WAGV2G,IACChI,EAAAA,EAAAA,KAACwB,EAAAA,IAAG,CAAAT,UACFf,EAAAA,EAAAA,KAAC2J,EAAAA,EAAc,aAMvB,IACN,E,WCqXA,EAncoB,WAClB,IAAMrK,GAAWC,EAAAA,EAAAA,MACX0X,GAASC,EAAAA,EAAAA,MACTjM,GAAWC,EAAAA,EAAAA,MAEjBzD,GAA8BC,EAAAA,EAAAA,WAAkB,GAAMC,GAAA9H,EAAAA,EAAAA,GAAA4H,EAAA,GAA/CO,EAAOL,EAAA,GAAEkG,EAAUlG,EAAA,GAC1BG,GAAwCJ,EAAAA,EAAAA,WAAkB,GAAMK,GAAAlI,EAAAA,EAAAA,GAAAiI,EAAA,GAAzDmG,EAAYlG,EAAA,GAAEmG,EAAenG,EAAA,GACpCE,GAAoCP,EAAAA,EAAAA,WAAkB,GAAMQ,GAAArI,EAAAA,EAAAA,GAAAoI,EAAA,GAArDgN,EAAU/M,EAAA,GAAEgN,EAAahN,EAAA,GAChC6F,GAAoCrG,EAAAA,EAAAA,WAAkB,GAAMsG,GAAAnO,EAAAA,EAAAA,GAAAkO,EAAA,GAArDoE,EAAUnE,EAAA,GAAEoE,EAAapE,EAAA,GAChCG,GAA8BzG,EAAAA,EAAAA,WAAkB,GAAM0G,GAAAvO,EAAAA,EAAAA,GAAAsO,EAAA,GAA/CoE,EAAOnE,EAAA,GAAEoE,EAAUpE,EAAA,GAC1BC,GAA4C3G,EAAAA,EAAAA,UAAmB,IAAG4G,GAAAzO,EAAAA,EAAAA,GAAAwO,EAAA,GAA3DlB,EAAcmB,EAAA,GAAElB,EAAiBkB,EAAA,GACxCiG,GAA0C7M,EAAAA,EAAAA,UAAuB,IAAG8M,GAAA3U,EAAAA,EAAAA,GAAA0U,EAAA,GAA7D4C,EAAa3C,EAAA,GAAE4C,EAAgB5C,EAAA,GACtCG,GAA8CjN,EAAAA,EAAAA,UAAwB,IAAGkN,GAAA/U,EAAAA,EAAAA,GAAA8U,EAAA,GAAlEtM,EAAeuM,EAAA,GAAEyC,GAAkBzC,EAAA,GAC1CG,IACErN,EAAAA,EAAAA,WAAkB,GAAMsN,IAAAnV,EAAAA,EAAAA,GAAAkV,GAAA,GADnBuC,GAA2BtC,GAAA,GAAEuC,GAA8BvC,GAAA,GAElEwC,IAAoC9P,EAAAA,EAAAA,WAAkB,GAAM+P,IAAA5X,EAAAA,EAAAA,GAAA2X,GAAA,GAArDpY,GAAUqY,GAAA,GAAE3J,GAAa2J,GAAA,GAChCC,IAAkChQ,EAAAA,EAAAA,WAAkB,GAAMiQ,IAAA9X,EAAAA,EAAAA,GAAA6X,GAAA,GAAnDxD,GAASyD,GAAA,GAAEC,GAAYD,GAAA,GAC9BE,IAAsCnQ,EAAAA,EAAAA,UAAiB,UAASoQ,IAAAjY,EAAAA,EAAAA,GAAAgY,GAAA,GAAzDE,GAAWD,GAAA,GAAEE,GAAcF,GAAA,GAE5BG,IACJvJ,EAAAA,EAAAA,GAAcC,EAAAA,GAAqBuJ,EAAAA,MAA2B3F,EAC1D4F,IACJzJ,EAAAA,EAAAA,GAAcC,EAAAA,GAAqByJ,EAAAA,KAA2B7F,EAE1DlG,IAAWgM,EAAAA,EAAAA,IAAgBpB,EAAO5K,UAAY,IAU9CZ,GAAeC,aAAaC,QAAQ,iBAAmB,GACvD2M,IAAkB5J,EAAAA,EAAAA,GACtBC,EAAAA,GACA4J,EAAAA,IACA,GAEIC,IAAiB9J,EAAAA,EAAAA,GACrBC,EAAAA,GACA8J,EAAAA,IACA,GAGIC,IAAYhK,EAAAA,EAAAA,GAAcC,EAAAA,GAAqBgK,EAAAA,IAE/ClG,IAAqB9J,EAAAA,EAAAA,cAAY,WACrC,GAAiB,KAAb0D,GACF,OAAO,KAETwB,GAAW,GACX1H,EAAAA,EACGyF,OAAO,MAAM,gBAADnL,QAAkBC,EAAAA,EAAAA,IAAgB2L,MAC9CvD,MAAK,SAACC,GACLqJ,GAAc,GACd,IAAMM,EAAW3J,EAAI2J,UAAY,GACjCtF,EAAkBsF,GAElB,IAAMyE,EAA8BzE,EAASxN,KAAI,SAAC0T,GAChD,MAAO,CACLA,MAAOA,EAEX,IAEAxB,EAAiBD,GACjB,IAAM9O,EAAiCU,EAAI8K,OAAO3O,KAChD,SAAC2O,GACC,MAAO,CACLA,OAAQA,EAEZ,IAGFxL,EAAgBa,KAAK2P,EAAAA,IAErBxB,GAAmBhP,GACnBmK,EAA0B,YAAfzJ,EAAI4J,QACfiF,GAAa7O,EAAImL,WACjBrG,GAAW,EACb,IACCzE,OAAM,SAAC1J,GACN0S,GAAc,GACdvE,GAAW,GACXvO,GAAS+J,EAAAA,EAAAA,IAA0B3J,GACrC,GACJ,GAAG,CAAC2M,GAAU/M,KAqBdgK,EAAAA,EAAAA,YAAU,WACRhK,GAASiQ,EAAAA,EAAAA,IAAY,uBAEvB,GAAG,KAEHjG,EAAAA,EAAAA,YAAU,WACRmJ,IACF,GAAG,CAACA,KAEJ,IAWMqG,GAAoB,CACxB,CACE7M,KAAM,OACN9J,QAPoB,SAACyW,GACvB3N,EAAS,GAADxK,OAAI0L,EAAAA,GAAU4M,OAAM,KAAAtY,QAAIC,EAAAA,EAAAA,IAAgBkY,EAAMA,QACxD,EAMItJ,sBAAuB,kBAAOoJ,EAAS,IAI3C,OACE7X,EAAAA,EAAAA,MAACC,EAAAA,SAAQ,CAAAC,SAAA,CACNkN,IACCjO,EAAAA,EAAAA,KAACgZ,EAAgB,CACfhV,KAAMiK,EACNiE,aAAc7F,GACdoD,qBAAsB,WACpBvB,GAAgB,GAChBuE,IACF,IAGHwC,IACCjV,EAAAA,EAAAA,KAACiZ,EAAe,CACdjV,KAAMiR,EACN/C,aAAc7F,GACdhE,gBAAiBA,EACjBoH,qBAAsB,WACpByF,GAAc,GACdzC,IACF,IAGHrT,KACCY,EAAAA,EAAAA,KAACyN,EAAAA,QAAU,CACTrO,WAAYA,GACZ4L,cAAe,CAACqB,IAChBlN,2BAA4B,SAACqQ,IA9CF,SAACA,GAClC1B,IAAc,GACV0B,GACFiD,IAEJ,CA0CUtT,CAA2BqQ,EAC7B,IAGH8H,KACCtX,EAAAA,EAAAA,KAACkZ,EAAuB,CACtBlV,KAAMsT,GACNjL,SAAUA,GACVpI,WAAY,kBAAMsT,IAA+B,EAAM,KAG3DvX,EAAAA,EAAAA,KAAC8P,EAAAA,EAAiB,CAChBzO,OACErB,EAAAA,EAAAA,KAACc,EAAAA,SAAQ,CAAAC,UACPf,EAAAA,EAAAA,KAACmZ,EAAAA,IAAQ,CACP9X,MAAO,QACPc,QAAS,kBAAM8I,EAASkB,EAAAA,GAAUC,MAAM,MAI9C2D,SAAS/P,EAAAA,EAAAA,KAACgQ,EAAAA,EAAQ,OAEpBhQ,EAAAA,EAAAA,KAACiQ,EAAAA,IAAU,CAAAlP,UACTF,EAAAA,EAAAA,MAAC4D,EAAAA,IAAI,CAACC,WAAS,EAAA3D,SAAA,EACbf,EAAAA,EAAAA,KAACyE,EAAAA,IAAI,CAACE,MAAI,EAACC,GAAI,GAAG7D,UAChBf,EAAAA,EAAAA,KAACoZ,EAAAA,IAAW,CACV3W,MAAMzC,EAAAA,EAAAA,KAAC6R,EAAAA,IAAS,CAACvP,MAAO,KACxBpC,MAAOmM,GACPgN,SAAU,GACVtJ,SACElP,EAAAA,EAAAA,MAACC,EAAAA,SAAQ,CAAAC,SAAA,EACPf,EAAAA,EAAAA,KAAA,QACEgB,MAAO,CACLgC,SAAU,QACVX,YAAa,SACbtB,SACH,kBAGDf,EAAAA,EAAAA,KAAA,QACEgB,MAAO,CACL+D,WAAY,OACZ/B,SAAU,QACVX,YAAa,SACbtB,SAEDwR,EAAU,UAAY,cAEzBvS,EAAAA,EAAAA,KAAC8F,EAAAA,EAAc,CACbC,QACEkS,IAAiBE,GACb,IACAzJ,EAAAA,EAAAA,GACEC,EAAAA,GACAuJ,EAAAA,KAEFvH,EAAAA,EAAAA,IACEyH,EAAAA,GACA,kBAEF1J,EAAAA,EAAAA,GACEC,EAAAA,GACAyJ,EAAAA,KAEFzH,EAAAA,EAAAA,IACEuH,EAAAA,GACA,iBAEFvH,EAAAA,EAAAA,IACE2I,EAAAA,GACA,2BAEPvY,UAEDf,EAAAA,EAAAA,KAACuZ,EAAAA,IAAM,CACLC,gBAAiB,CAAC,UAAW,YAC7BlP,QAASiI,EACThR,MAAO,gBACPU,GAAG,eACHwH,KAAK,eACLK,SAAU,WA3JX,IAAC2P,EA4JEjH,GAAYD,GA5JdkH,GA6JclH,EA5J5BJ,IAGJC,GAAc,GACdjM,EAAAA,EACGyF,OAAO,MAAM,gBAADnL,QAAkBC,EAAAA,EAAAA,IAAgB2L,KAAa,CAC1DsG,OAAQ8G,EAAY,UAAY,WAChCnM,OAAQH,IAETrE,MAAK,SAACqK,GACLf,GAAc,EAChB,IACChJ,OAAM,SAAC1J,GACN0S,GAAc,GACd9S,GAAS+J,EAAAA,EAAAA,IAA0B3J,GACrC,IA8IgB,EACAga,YAAU,EACVhJ,UAAWuH,KAAkBE,QAGjCnY,EAAAA,EAAAA,KAAC8F,EAAAA,EAAc,CACbC,SACE2I,EAAAA,EAAAA,GAAcC,EAAAA,GAAqBO,EAAAA,IAC/BzD,KAAiBY,GACf,iDACA,eACFsE,EAAAA,EAAAA,IACEzB,EAAAA,GACA,eAEPnO,UAEDf,EAAAA,EAAAA,KAACgC,EAAAA,IAAM,CACLC,GAAI,cACJE,QA5OD,WACjB2L,IAAc,EAChB,EA2OoBrL,MAAMzC,EAAAA,EAAAA,KAAC2Z,EAAAA,IAAS,IAChBzX,QAAS,YACTwO,WACGhC,EAAAA,EAAAA,GACCC,EAAAA,GACAO,EAAAA,KACGzD,KAAiBY,QAK5BrM,EAAAA,EAAAA,KAAC8F,EAAAA,EAAc,CAACC,QAAS,kBAAkBhF,UACzCf,EAAAA,EAAAA,KAACgC,EAAAA,IAAM,CACLC,GAAI,uBACJE,QA/PO,WACzBoV,IAA+B,EACjC,EA8PoB9U,MAAMzC,EAAAA,EAAAA,KAAC4Z,EAAAA,IAAe,IACtB1X,QAAS,iBAKjBT,GAAI,CAAEyF,aAAc,SAIxBlH,EAAAA,EAAAA,KAACyE,EAAAA,IAAI,CAACE,MAAI,EAACC,GAAI,GAAG7D,UAChBf,EAAAA,EAAAA,KAAC6Z,EAAAA,IAAI,CACHC,iBAAkB/B,GAClBgC,WAAY/B,GACZgC,QAAS,CACP,CACEC,UAAW,CACThY,GAAI,SACJZ,MAAO,SACPqP,UAAW8H,IAEb0B,SACErZ,EAAAA,EAAAA,MAACC,EAAAA,SAAQ,CAAAC,SAAA,EACPf,EAAAA,EAAAA,KAACwB,EAAAA,IAAG,CACF2Y,YAAa,kBACX7a,GAASiQ,EAAAA,EAAAA,IAAY,uBAAuB,EAC7CxO,UAEDf,EAAAA,EAAAA,KAAC2V,EAAAA,IAAY,CACXC,WAAS,EACTnU,GAAI,CAAEyF,aAAc,IACpB6I,SACE/P,EAAAA,EAAAA,KAAC8F,EAAAA,EAAc,CACbC,QACEyS,GACI,iBACA7H,EAAAA,EAAAA,IACE8H,EAAAA,GACA,uBAEP1X,UAEDf,EAAAA,EAAAA,KAACgC,EAAAA,IAAM,CACLC,GAAI,aACJZ,MAAO,gBACPc,QAAS,WACP+L,GAAgB,EAClB,EACAzL,MAAMzC,EAAAA,EAAAA,KAACoR,EAAAA,IAAO,IACdlP,QAAS,aACTwO,UAAW8H,OAGhBzX,SACF,cAIHf,EAAAA,EAAAA,KAACyE,EAAAA,IAAI,CACHE,MAAI,EACJC,GAAI,GACJuV,YAAa,kBACX7a,GAASiQ,EAAAA,EAAAA,IAAY,uBAAuB,EAC7CxO,UAEDf,EAAAA,EAAAA,KAAC+J,EAAAA,IAAS,CACRmD,YAAa4L,GACb9O,QAAS,CAAC,CAAE3I,MAAO,OAAQ4I,WAAY,UACvC1J,UAAWyH,EACXJ,QAASuP,EACTvM,WAAW,SACXC,QAAQ,gBAMlB,CACEoP,UAAW,CACThY,GAAI,mBACJZ,MAAO,mBACPqP,WAAWhC,EAAAA,EAAAA,GACTC,EAAAA,GACAyL,EAAAA,KAGJF,SACEla,EAAAA,EAAAA,KAACqa,EAAwB,CACvBtO,KAAMM,GACN6H,UAAWA,MAIjB,CACE+F,UAAW,CACThY,GAAI,WACJZ,MAAO,WACPqP,UAAW4H,IAEb4B,SACErZ,EAAAA,EAAAA,MAACC,EAAAA,SAAQ,CAAAC,SAAA,EACPf,EAAAA,EAAAA,KAACwB,EAAAA,IAAG,CACF2Y,YAAa,kBACX7a,GAASiQ,EAAAA,EAAAA,IAAY,yBAAyB,EAC/CxO,UAEDf,EAAAA,EAAAA,KAAC2V,EAAAA,IAAY,CACXC,WAAS,EACTnU,GAAI,CAAEyF,aAAc,IACpB6I,SACE/P,EAAAA,EAAAA,KAAC8F,EAAAA,EAAc,CACbC,QACEuS,GACI,mBACA3H,EAAAA,EAAAA,IACE4H,EAAAA,GACA,mBAEPxX,UAEDf,EAAAA,EAAAA,KAACgC,EAAAA,IAAM,CACLC,GAAI,kBACJZ,MAAO,kBACPc,QAAS,WACP+S,GAAc,EAChB,EACAzS,MAAMzC,EAAAA,EAAAA,KAAC8T,EAAAA,IAAe,IACtB5R,QAAS,aACTwO,UAAW4H,OAGhBvX,SACF,gBAIHf,EAAAA,EAAAA,KAACwB,EAAAA,IAAG,CAAAT,UACFf,EAAAA,EAAAA,KAAC+J,EAAAA,IAAS,CACRmD,YAAa,CACX,CACEjB,KAAM,OACN9J,QAAS,SAAC0R,GACR5I,EAAS,GAADxK,OACH0L,EAAAA,GAAUmO,SAAQ,KAAA7Z,QAAIC,EAAAA,EAAAA,IACvBmT,EAAOA,SAGb,IAGJ7J,QAAS,CAAC,CAAE3I,MAAO,OAAQ4I,WAAY,WACvC1J,UAAWyH,EACXJ,QAASS,EACTuC,WAAW,WACXC,QAAQ,6BAalC,E,sBC9eM0P,EAAc,SAAHrb,GAMV,IALLuD,EAAIvD,EAAJuD,KACA+X,EAAWtb,EAAXsb,YAKA,OACE3Z,EAAAA,EAAAA,MAACW,EAAAA,EAAG,CACFC,GAAI,CACFyB,QAAS,OACT,cAAe,CACbb,YAAa,OACbE,OAAQ,OACRD,MAAO,OACP4E,aAAc,SAEhBnG,SAAA,CAED0B,EAAM,KACPzC,EAAAA,EAAAA,KAAA,OAAKgB,MAAO,CAAEgC,SAAU,OAAQyX,UAAW,SAAU1X,MAAO,WAAYhC,SACrEyZ,MAIT,EAgEA,EA/DuB,WACrB,OACE3Z,EAAAA,EAAAA,MAACW,EAAAA,EAAG,CACFC,GAAI,CACFiZ,KAAM,EACNC,OAAQ,oBACR1T,aAAc,MACd/D,QAAS,OACT0X,SAAU,SACVpY,QAAS,OACTd,UAAW,CACTkD,GAAI,QAEN7D,SAAA,EAEFF,EAAAA,EAAAA,MAACW,EAAAA,EAAG,CACFC,GAAI,CACFuB,SAAU,OACV+B,WAAY,IACZ7B,QAAS,OACTC,WAAY,SACZ+D,aAAc,OAEd,cAAe,CACb3E,OAAQ,OACRD,MAAO,OACPD,YAAa,SAEftB,SAAA,EAEFf,EAAAA,EAAAA,KAAC6a,EAAAA,IAAc,KACf7a,EAAAA,EAAAA,KAAA,OAAAe,SAAK,2CAEPF,EAAAA,EAAAA,MAACW,EAAAA,EAAG,CAACC,GAAI,CAAEuB,SAAU,OAAQkE,aAAc,QAASnG,SAAA,CAAC,qQAKnDf,EAAAA,EAAAA,KAAA,UACAA,EAAAA,EAAAA,KAAA,SAAM,iNAINA,EAAAA,EAAAA,KAAA,aAGFa,EAAAA,EAAAA,MAACW,EAAAA,EAAG,CACFC,GAAI,CACFyB,QAAS,OACT0X,SAAU,UACV7Z,SAAA,EAEFf,EAAAA,EAAAA,KAACua,EAAW,CAAC9X,MAAMzC,EAAAA,EAAAA,KAAC6R,EAAAA,IAAS,IAAK2I,YAAW,kBAC7Cxa,EAAAA,EAAAA,KAACua,EAAW,CAAC9X,MAAMzC,EAAAA,EAAAA,KAAC8Q,EAAAA,IAAU,IAAK0J,YAAW,mBAC9Cxa,EAAAA,EAAAA,KAACua,EAAW,CACV9X,MAAMzC,EAAAA,EAAAA,KAAC8a,EAAAA,IAAsB,IAC7BN,YAAW,yBAKrB,ECzEA,EAhBqB,WACnB,IAAMlb,GAAWC,EAAAA,EAAAA,MACX8M,GAAW/D,EAAAA,EAAAA,KAAY,SAACC,GAAe,OAAKA,EAAMC,WAAW6D,QAAQ,IAC3E,OACErM,EAAAA,EAAAA,KAACgX,EAAAA,IAAQ,CACP/U,GAAG,kBACHwH,KAAK,kBACLpI,MAAM,YACNE,MAAO8K,EACP0O,WAAW,EACXjR,SAAU,SAACK,GACT7K,GAAS0b,EAAAA,EAAAA,IAAY7Q,EAAEE,OAAO9I,OAChC,GAGN,E,qBCWA,GAxByB,WACvB,IAAMjC,GAAWC,EAAAA,EAAAA,MACX0b,GAAe3S,EAAAA,EAAAA,KACnB,SAACC,GAAe,OAAKA,EAAMC,WAAWyS,YAAY,IAE9C1V,GAAY+C,EAAAA,EAAAA,KAChB,SAACC,GAAe,OAAKA,EAAMC,WAAWjD,SAAS,IAEjD,OACEvF,EAAAA,EAAAA,KAACgX,EAAAA,IAAQ,CACP/U,GAAG,4BACHwH,KAAK,4BACLpI,MAAM,WACN4K,KAAMgP,EAAe,OAAS,WAC9B1Z,MAAOgE,EACPuE,SAAU,SAACK,GACT7K,GAASgT,EAAAA,EAAAA,IAAanI,EAAEE,OAAO9I,OACjC,EACAyR,aAAa,mBACbkI,YAAaD,GAAejb,EAAAA,EAAAA,KAACmb,EAAAA,EAAiB,KAAMnb,EAAAA,EAAAA,KAACob,EAAAA,EAAgB,IACrEC,cAAe,kBAAM/b,GAASgc,EAAAA,EAAAA,KAAiBL,GAAc,GAGnE,ECiHA,GAlHgB,WACd,IAAM3b,GAAWC,EAAAA,EAAAA,MACXkJ,GAAmBH,EAAAA,EAAAA,KACvB,SAACC,GAAe,OAAKA,EAAMC,WAAWC,gBAAgB,IAElD0E,GAAiB7E,EAAAA,EAAAA,KACrB,SAACC,GAAe,OAAKA,EAAMC,WAAW2E,cAAc,IAEhDgF,GAAa7J,EAAAA,EAAAA,KACjB,SAACC,GAAe,OAAKA,EAAMC,WAAW2J,UAAU,IAE5CS,GAActK,EAAAA,EAAAA,KAClB,SAACC,GAAe,OAAKA,EAAMC,WAAWoK,WAAW,IAE7C2I,GAAkBjT,EAAAA,EAAAA,KACtB,SAACC,GAAe,OAAKA,EAAMC,WAAW+S,eAAe,IAEjDtQ,GAAWC,EAAAA,EAAAA,MACjB5L,GAASkc,EAAAA,EAAAA,OA4BT,OALAlS,EAAAA,EAAAA,YAAU,WACRhK,GAASiQ,EAAAA,EAAAA,IAAY,YAEvB,GAAG,KAGDvP,EAAAA,EAAAA,KAACc,EAAAA,SAAQ,CAAAC,UACPF,EAAAA,EAAAA,MAAC4D,EAAAA,IAAI,CAACE,MAAI,EAACC,GAAI,GAAG7D,SAAA,EAChBf,EAAAA,EAAAA,KAAC8P,EAAAA,EAAiB,CAChBzO,OACErB,EAAAA,EAAAA,KAACmZ,EAAAA,IAAQ,CACP9X,MAAO,QACPc,QAAS,kBAAM8I,EAASkB,EAAAA,GAAUC,MAAM,IAG5C2D,SAAS/P,EAAAA,EAAAA,KAACgQ,EAAAA,EAAQ,OAEpBhQ,EAAAA,EAAAA,KAACiQ,EAAAA,IAAU,CAAAlP,UACTf,EAAAA,EAAAA,KAACoT,EAAAA,IAAU,CACTlT,MAAO,cACPuC,MAAMzC,EAAAA,EAAAA,KAACyb,EAAAA,IAAc,IACrBC,SAAS1b,EAAAA,EAAAA,KAAC2b,EAAc,IAAI5a,UAE5BF,EAAAA,EAAAA,MAAA,QACEkS,YAAU,EACVC,aAAa,MACbC,SAAU,SAAC9I,IA/CJ,SAACuM,GAElB,GADAA,EAAMxD,iBACFqI,EAAkB,EAQpB,OAPAjc,GACEK,EAAAA,EAAAA,IAAqB,CACnBkN,aAAc,+CACdC,cAAe,WAGnBxN,GAAS8S,EAAAA,EAAAA,KAAc,IAGrBD,IAGJ7S,GAAS8S,EAAAA,EAAAA,KAAc,IACvB9S,GAASsc,EAAAA,EAAAA,MACNC,SACA/S,MAAK,kBAAMmC,EAAS,GAADxK,OAAI0L,EAAAA,GAAUC,OAAQ,IAC9C,CA6Bc0P,CAAW3R,EACb,EAAEpJ,SAAA,EAEFf,EAAAA,EAAAA,KAAC+b,EAAY,KACb/b,EAAAA,EAAAA,KAACgc,GAAgB,KACjBhc,EAAAA,EAAAA,KAAC+T,EAAAA,EAAe,CAACC,eAAgBvL,KACjCzI,EAAAA,EAAAA,KAACuT,EAAAA,EAAe,CACdpG,eAAgBA,EAChBC,kBAAmB,SAAC7C,GAClBjL,GAAS8N,EAAAA,EAAAA,IAAkB7C,GAC7B,IAED4H,IACCnS,EAAAA,EAAAA,KAACyE,EAAAA,IAAI,CAACE,MAAI,EAACC,GAAI,GAAG7D,UAChBf,EAAAA,EAAAA,KAAC2J,EAAAA,EAAc,OAInB9I,EAAAA,EAAAA,MAAC4D,EAAAA,IAAI,CAACE,MAAI,EAACC,GAAI,GAAInD,GAAImE,EAAAA,GAAgBC,eAAe9E,SAAA,EACpDf,EAAAA,EAAAA,KAACgC,EAAAA,IAAM,CACLC,GAAI,iBACJgK,KAAK,SACL/J,QAAQ,UACRC,QAAS,SAACgI,GACR7K,GAAS2c,EAAAA,EAAAA,KACX,EACA5a,MAAO,WAGTrB,EAAAA,EAAAA,KAACgC,EAAAA,IAAM,CACLC,GAAI,YACJgK,KAAK,SACL/J,QAAQ,aACRa,MAAM,UACN2N,SAAUyB,IAAeS,EACzBvR,MAAO,uBASzB,E,uBCtIMkZ,GAAc,SAAHrb,GAMV,IALLuD,EAAIvD,EAAJuD,KACA+X,EAAWtb,EAAXsb,YAKA,OACE3Z,EAAAA,EAAAA,MAACW,EAAAA,EAAG,CACFC,GAAI,CACFyB,QAAS,OACT,cAAe,CACbb,YAAa,OACbE,OAAQ,OACRD,MAAO,OACP4E,aAAc,SAEhBnG,SAAA,CAED0B,EAAM,KACPzC,EAAAA,EAAAA,KAAA,OAAKgB,MAAO,CAAEgC,SAAU,OAAQyX,UAAW,SAAU1X,MAAO,WAAYhC,SACrEyZ,MAIT,EA2FA,GA1FqC,WACnC,OACE3Z,EAAAA,EAAAA,MAACW,EAAAA,EAAG,CACFC,GAAI,CACFiZ,KAAM,EACNC,OAAQ,oBACR1T,aAAc,MACd/D,QAAS,OACT0X,SAAU,SACVpY,QAAS,OACTd,UAAW,CACTkD,GAAI,QAEN7D,SAAA,EAEFF,EAAAA,EAAAA,MAACW,EAAAA,EAAG,CACFC,GAAI,CACFuB,SAAU,OACV+B,WAAY,IACZ7B,QAAS,OACTC,WAAY,SACZ+D,aAAc,OACdC,cAAe,OAEf,cAAe,CACb5E,OAAQ,OACRD,MAAO,OACPD,YAAa,SAEftB,SAAA,EAEFf,EAAAA,EAAAA,KAAC6a,EAAAA,IAAc,KACf7a,EAAAA,EAAAA,KAAA,OAAAe,SAAK,qCAEPF,EAAAA,EAAAA,MAACW,EAAAA,EAAG,CAACC,GAAI,CAAEuB,SAAU,OAAQkE,aAAc,QAASnG,SAAA,EAClDF,EAAAA,EAAAA,MAACW,EAAAA,EAAG,CAACC,GAAI,CAAE0F,cAAe,QAASpG,SAAA,EACjCf,EAAAA,EAAAA,KAACua,GAAW,CACV9X,MAAMzC,EAAAA,EAAAA,KAACkc,EAAAA,IAAkB,IACzB1B,YAAW,wBAEbxa,EAAAA,EAAAA,KAACwB,EAAAA,EAAG,CAACC,GAAI,CAAE0a,WAAY,QAASpb,SAAC,kKAMnCF,EAAAA,EAAAA,MAACW,EAAAA,EAAG,CAACC,GAAI,CAAE0F,cAAe,QAASpG,SAAA,EACjCf,EAAAA,EAAAA,KAACua,GAAW,CACV9X,MAAMzC,EAAAA,EAAAA,KAAC4Z,EAAAA,IAAe,IACtBY,YAAW,+BAEbxa,EAAAA,EAAAA,KAACwB,EAAAA,EAAG,CAACC,GAAI,CAAE0a,WAAY,QAASpb,SAAC,sRAOjCf,EAAAA,EAAAA,KAACwB,EAAAA,EAAG,CAACC,GAAI,CAAE0a,WAAY,QAASpb,SAAC,4HAKnCF,EAAAA,EAAAA,MAACW,EAAAA,EAAG,CAACC,GAAI,CAAE0F,cAAe,QAASpG,SAAA,EACjCf,EAAAA,EAAAA,KAACua,GAAW,CACV9X,MAAMzC,EAAAA,EAAAA,KAAC8T,EAAAA,IAAe,IACtB0G,YAAW,4BAEbxa,EAAAA,EAAAA,KAACwB,EAAAA,EAAG,CAACC,GAAI,CAAE0a,WAAY,QAASpb,SAAC,iRAOjCf,EAAAA,EAAAA,KAACwB,EAAAA,EAAG,CAACC,GAAI,CAAE0a,WAAY,QAASpb,SAAC,8EAKrCf,EAAAA,EAAAA,KAACwB,EAAAA,EAAG,CACFC,GAAI,CACFyB,QAAS,OACT0X,SAAU,cAKpB,E,YCsHA,GA9M0B,WACxB,IAAMtb,GAAWC,EAAAA,EAAAA,MACX0X,GAASC,EAAAA,EAAAA,MACTjM,GAAWC,EAAAA,EAAAA,MAEjBzD,GAAoCC,EAAAA,EAAAA,WAAkB,GAAMC,GAAA9H,EAAAA,EAAAA,GAAA4H,EAAA,GAArD2U,EAAUzU,EAAA,GAAE0U,EAAa1U,EAAA,GAChCG,GAAkCJ,EAAAA,EAAAA,WAAiB4U,EAAAA,EAAAA,IAAgB,KAAIvU,GAAAlI,EAAAA,EAAAA,GAAAiI,EAAA,GAAhExC,EAASyC,EAAA,GAAEsK,EAAYtK,EAAA,GAC9BE,GAAkCP,EAAAA,EAAAA,WAAiB4U,EAAAA,EAAAA,IAAgB,KAAIpU,GAAArI,EAAAA,EAAAA,GAAAoI,EAAA,GAAhE1C,EAAS2C,EAAA,GAAEoK,EAAYpK,EAAA,GAC9B6F,GACErG,EAAAA,EAAAA,WAAkB,GAAMsG,GAAAnO,EAAAA,EAAAA,GAAAkO,EAAA,GADnBwO,EAAoBvO,EAAA,GAAEwO,EAAuBxO,EAAA,GAEpDG,GACEzG,EAAAA,EAAAA,UAAmC,MAAK0G,GAAAvO,EAAAA,EAAAA,GAAAsO,EAAA,GADnCpK,EAAiBqK,EAAA,GAAEkG,EAAoBlG,EAAA,GAE9CC,GAAoC3G,EAAAA,EAAAA,UAAiB,IAAG4G,GAAAzO,EAAAA,EAAAA,GAAAwO,EAAA,GAAjDoO,EAAUnO,EAAA,GAAEoO,EAAapO,EAAA,GAE1BjC,GAAWgM,EAAAA,EAAAA,IAAgBpB,EAAO5K,UAAY,KAEpD/C,EAAAA,EAAAA,YAAU,WACJ8S,GACFjW,EAAAA,EACGyF,OACC,OAAO,gBAADnL,QACUC,EAAAA,EAAAA,IACd2L,GACD,gCACD,CACEwH,OAAQ4I,EACRnX,UAAWA,EACXC,UAAWA,IAGduD,MAAK,SAACC,GACLsT,GAAc,GACd/H,EAAqB,CACnBhP,UAAWyD,EAAIzD,WAAa,GAC5BC,UAAWwD,EAAIxD,WAAa,GAC5BW,IAAK6C,EAAI7C,KAAO,IAEpB,IACCkD,OAAM,SAAC1J,GACN2c,GAAc,GACd/c,GAASK,EAAAA,EAAAA,IAAqBD,GAChC,GAEN,GAAG,CACD0c,EACAC,EACA/c,EACAmd,EACApQ,EACA/G,EACAC,KAGF+D,EAAAA,EAAAA,YAAU,WACJiT,GACFpW,EAAAA,EACGyF,OAAO,MAAM,gBAADnL,QAAkBC,EAAAA,EAAAA,IAAgB2L,GAAS,cAEvDvD,MAAK,SAACC,GACL2T,EAAcrW,KAAKC,UAAUD,KAAKsW,MAAM5T,EAAI8K,QAAS,KAAM,GAC7D,IACCzK,OAAM,SAAC1J,IACNC,EAAAA,EAAAA,IAAqBD,EACvB,GAEN,GAAG,CAAC6c,EAAsBlQ,IAuB1B,OALA/C,EAAAA,EAAAA,YAAU,WACRhK,GAASiQ,EAAAA,EAAAA,IAAY,eAEvB,GAAG,KAGD1O,EAAAA,EAAAA,MAACC,EAAAA,SAAQ,CAAAC,SAAA,CACNgD,IACC/D,EAAAA,EAAAA,KAACwV,EAAAA,EAAiB,CAChBzR,kBAAmBA,EACnBC,MAAI,EACJC,WAAY,WAflBqQ,EAAqB,MACrBrJ,EAAS,GAADxK,OAAI0L,EAAAA,GAAUC,MAAK,KAAA3L,QAAIC,EAAAA,EAAAA,IAAgB2L,IAgBzC,EACAnI,OAAO,gBAGXrD,EAAAA,EAAAA,MAAC4D,EAAAA,IAAI,CAACE,MAAI,EAACC,GAAI,GAAG7D,SAAA,EAChBf,EAAAA,EAAAA,KAAC8P,EAAAA,EAAiB,CAChBzO,OACErB,EAAAA,EAAAA,KAACmZ,EAAAA,IAAQ,CACPhX,QAAS,kBACP8I,EAAS,GAADxK,OAAI0L,EAAAA,GAAUC,MAAK,KAAA3L,QAAIC,EAAAA,EAAAA,IAAgB2L,IAAY,EAE7DhL,MAAO,kBAAoBgL,IAG/B0D,SAAS/P,EAAAA,EAAAA,KAACgQ,EAAAA,EAAQ,OAEpBhQ,EAAAA,EAAAA,KAACiQ,EAAAA,IAAU,CAAAlP,UACTf,EAAAA,EAAAA,KAACoT,EAAAA,IAAU,CACTsI,SAAS1b,EAAAA,EAAAA,KAAC4c,GAA4B,IACtCna,MAAMzC,EAAAA,EAAAA,KAACwE,EAAAA,IAA6B,IACpCtE,MAAK,yBAAAO,OAA2B4L,GAAWtL,UAE3CF,EAAAA,EAAAA,MAAA,QACEkS,YAAU,EACVC,aAAa,MACbC,SAAU,SAAC9I,GACTA,EAAE+I,iBAvDc,SAAC/I,GAC7BA,EAAE+I,iBACFmJ,GAAc,EAChB,CAqDcQ,CAAsB1S,EACxB,EAAEpJ,SAAA,EAEFf,EAAAA,EAAAA,KAACgX,EAAAA,IAAQ,CACPzV,MAAO+D,EACPjE,MAAO,aACPY,GAAI,YACJwH,KAAM,YACNI,YAAa,mBACbC,SAAU,SAACK,GACTkI,EAAalI,EAAEE,OAAO9I,MACxB,EACAub,WAAW9c,EAAAA,EAAAA,KAACkc,EAAAA,IAAkB,OAEhClc,EAAAA,EAAAA,KAACgX,EAAAA,IAAQ,CACPzV,MAAOgE,EACPlE,MAAO,aACPY,GAAI,YACJwH,KAAM,YACNwC,KAAM,WACNpC,YAAa,mBACbC,SAAU,SAACK,GACTmI,EAAanI,EAAEE,OAAO9I,MACxB,EACAub,WAAW9c,EAAAA,EAAAA,KAAC4Z,EAAAA,IAAe,OAE7B5Z,EAAAA,EAAAA,KAACuZ,EAAAA,IAAM,CACLhY,MAAM,uBACNU,GAAG,uBACHwH,KAAK,uBACLa,QAASiS,EACTzS,SAAU,SAAC4M,GACT8F,EAAwB9F,EAAMrM,OAAOC,QACvC,EACAjJ,MAAO,8BACPmZ,YACE,gRAGH+B,IACC1b,EAAAA,EAAAA,MAAC4D,EAAAA,IAAI,CAACE,MAAI,EAACC,GAAI,GAAG7D,SAAA,EAChBf,EAAAA,EAAAA,KAACwB,EAAAA,IAAG,CAAAT,UACFf,EAAAA,EAAAA,KAAC+c,GAAAA,EAAU,CAAAhc,SAAC,qFAKdf,EAAAA,EAAAA,KAACyE,EAAAA,IAAI,CAACE,MAAI,EAACC,GAAI,GAAInD,IAAEkE,EAAAA,GAAAA,GAAA,GAAOC,EAAAA,GAAgBoX,gBAAiBjc,UAC3Df,EAAAA,EAAAA,KAACid,GAAAA,EAAiB,CAChB1b,MAAOkb,EACP3S,SAAU,SAACvI,GACTmb,EAAcnb,EAChB,EACA2b,aAAc,gBAKtBrc,EAAAA,EAAAA,MAAC4D,EAAAA,IAAI,CAACE,MAAI,EAACC,GAAI,GAAInD,IAAEkE,EAAAA,GAAAA,GAAA,GAAOC,EAAAA,GAAgBC,gBAAiB9E,SAAA,EAC3Df,EAAAA,EAAAA,KAACgC,EAAAA,IAAM,CACLC,GAAI,QACJgK,KAAK,SACL/J,QAAQ,UACRC,QAlHE,WAChBmS,EAAqB,MACrBjC,EAAa,IACbC,EAAa,GACf,EA+GgBjR,MAAO,WAGTrB,EAAAA,EAAAA,KAACgC,EAAAA,IAAM,CACLC,GAAI,YACJgK,KAAK,SACL/J,QAAQ,aACRa,MAAM,UACN1B,MAAO,0BASzB,ECvNA,GAfc,WACZ,OACER,EAAAA,EAAAA,MAACsc,EAAAA,GAAM,CAAApc,SAAA,EACLf,EAAAA,EAAAA,KAACod,EAAAA,GAAK,CAAChX,KAAM,WAAY9C,SAAStD,EAAAA,EAAAA,KAACqd,GAAa,OAChDrd,EAAAA,EAAAA,KAACod,EAAAA,GAAK,CAAChX,KAAM,YAAa9C,SAAStD,EAAAA,EAAAA,KAACsd,EAAW,OAC/Ctd,EAAAA,EAAAA,KAACod,EAAAA,GAAK,CACJhX,KAAM,wBACN9C,SAAStD,EAAAA,EAAAA,KAACud,GAA2B,OAEvCvd,EAAAA,EAAAA,KAACod,EAAAA,GAAK,CAAChX,KAAM,IAAK9C,SAAStD,EAAAA,EAAAA,KAACwd,EAAS,OACrCxd,EAAAA,EAAAA,KAACod,EAAAA,GAAK,CAAC9Z,SAAStD,EAAAA,EAAAA,KAACyd,EAAAA,EAAY,QAGnC,C,2BCnCIC,EAAyBC,EAAQ,OAIrCC,EAAQ,OAAU,EAClB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAChDG,EAAcH,EAAQ,OACtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,sNACD,gBACJN,EAAQ,EAAUG,C,4BCVdL,EAAyBC,EAAQ,OAIrCC,EAAQ,OAAU,EAClB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAChDG,EAAcH,EAAQ,OACtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,8fACD,iBACJN,EAAQ,EAAUG,C","sources":["screens/Console/Account/DeleteServiceAccount.tsx","screens/Console/Common/CredentialsPrompt/CredentialItem.tsx","screens/Console/Common/CredentialsPrompt/CredentialsPrompt.tsx","screens/Console/Common/PanelTitle/PanelTitle.tsx","screens/Console/Common/WarningMessage/WarningMessage.tsx","screens/Console/Policies/PolicySelectors.tsx","screens/Console/Users/DeleteUser.tsx","screens/Console/Users/GroupsSelectors.tsx","screens/Console/Users/ListUsers.tsx","screens/Console/Users/ChangeUserGroups.tsx","screens/Console/Users/SetUserPolicies.tsx","screens/Console/Users/UserServiceAccountsPanel.tsx","screens/Console/Account/ChangeUserPasswordModal.tsx","screens/Console/Users/UserDetails.tsx","screens/Console/Users/AddUserHelpBox.tsx","screens/Console/Users/UserSelector.tsx","screens/Console/Users/PasswordSelector.tsx","screens/Console/Users/AddUserScreen.tsx","screens/Console/Users/AddUserServiceAccountHelpBox.tsx","screens/Console/Users/AddUserServiceAccountScreen.tsx","screens/Console/Users/Users.tsx","../node_modules/@mui/icons-material/RemoveRedEye.js","../node_modules/@mui/icons-material/VisibilityOff.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, { Fragment } from \"react\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"mds\";\nimport { encodeURLString } from \"../../../common/utils\";\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\n\ninterface IDeleteServiceAccountProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedServiceAccount: string | null;\n}\n\nconst DeleteServiceAccount = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedServiceAccount,\n}: IDeleteServiceAccountProps) => {\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\n if (!selectedServiceAccount) {\n return null;\n }\n\n const onConfirmDelete = () => {\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/service-accounts/${encodeURLString(selectedServiceAccount)}`,\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 Access Key{\" \"}\n \n {selectedServiceAccount}\n \n ?\n \n }\n />\n );\n};\n\nexport default DeleteServiceAccount;\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 { Button, CopyIcon, InputLabel, ReadBox, Box } from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface ICredentialsItem {\n label?: string;\n value?: string;\n}\n\nconst CredentialItem = ({ label = \"\", value = \"\" }: ICredentialsItem) => {\n const dispatch = useAppDispatch();\n\n return (\n \n {label}\n \n {\n dispatch(setModalSnackMessage(`${label} copied to clipboard`));\n }}\n style={{\n marginRight: \"5px\",\n width: \"28px\",\n height: \"28px\",\n padding: \"0px\",\n }}\n icon={}\n />\n \n }\n >\n {value}\n \n \n );\n};\n\nexport default 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, { Fragment } from \"react\";\nimport get from \"lodash/get\";\nimport styled from \"styled-components\";\nimport {\n Box,\n Button,\n DownloadIcon,\n ServiceAccountCredentialsIcon,\n WarnIcon,\n Grid,\n} from \"mds\";\nimport { NewServiceAccount } from \"./types\";\nimport ModalWrapper from \"../ModalWrapper/ModalWrapper\";\nimport CredentialItem from \"./CredentialItem\";\nimport TooltipWrapper from \"../TooltipWrapper/TooltipWrapper\";\nimport { modalStyleUtils } from \"../FormComponents/common/styleLibrary\";\n\nconst WarningBlock = styled.div(({ theme }) => ({\n color: \"red\", // TODO: Change this to themed color variant in mds\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\ninterface ICredentialsPromptProps {\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 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={`New ${entity} Created`}\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 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 { 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 from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ninterface IWarningMessage {\n classes: any;\n label: any;\n title: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n backgroundColor: \"#e78794\",\n borderRadius: 3,\n marginBottom: 20,\n padding: 1,\n paddingBottom: 15,\n },\n labelHeadline: {\n color: \"#000000\",\n fontSize: 14,\n marginLeft: 20,\n },\n labelText: {\n color: \"#000000\",\n fontSize: 14,\n marginLeft: 20,\n marginRight: 40,\n },\n });\n\nconst WarningMessage = ({ classes, label, title }: IWarningMessage) => {\n return (\n
    \n

    {title}

    \n
    {label}
    \n
    \n );\n};\n\nexport default withStyles(styles)(WarningMessage);\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, useCallback, useEffect, useState } from \"react\";\nimport { LinearProgress } from \"@mui/material\";\nimport { DataTable, Grid, Box } from \"mds\";\nimport { policySort } from \"../../../utils/sortFunctions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport SearchBox from \"../Common/SearchBox\";\nimport { setModalErrorSnackMessage } from \"../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { setSelectedPolicies } from \"../Users/AddUsersSlice\";\nimport { useSelector } from \"react-redux\";\nimport { api } from \"../../../api\";\nimport {\n Error,\n HttpResponse,\n ListPoliciesResponse,\n} from \"../../../api/consoleApi\";\n\ninterface ISelectPolicyProps {\n selectedPolicy?: string[];\n noTitle?: boolean;\n}\n\nconst PolicySelectors = ({ noTitle = false }: ISelectPolicyProps) => {\n const dispatch = useAppDispatch();\n // Local State\n const [records, setRecords] = useState([]);\n const [loading, isLoading] = useState(false);\n const [filter, setFilter] = useState(\"\");\n\n const currentPolicies = useSelector(\n (state: AppState) => state.createUser.selectedPolicies,\n );\n\n const fetchPolicies = useCallback(() => {\n isLoading(true);\n\n api.policies\n .listPolicies()\n .then((res: HttpResponse) => {\n const policies = res.data.policies ?? [];\n isLoading(false);\n setRecords(policies.sort(policySort));\n })\n .catch((err: ErrorResponseHandler) => {\n isLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n }, [dispatch]);\n\n //Effects\n useEffect(() => {\n isLoading(true);\n }, []);\n\n useEffect(() => {\n if (loading) {\n fetchPolicies();\n }\n }, [loading, fetchPolicies]);\n\n const selectionChanged = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...currentPolicies]; // We clone the checkedUsers array\n\n if (checked) {\n // If the user has checked this field we need to push this to checkedUsersList\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 // remove empty values\n elements = elements.filter((element) => element !== \"\");\n\n dispatch(setSelectedPolicies(elements));\n };\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.name.includes(filter),\n );\n\n return (\n \n {loading && }\n {records.length > 0 ? (\n \n \n {\n setFilter(value);\n }}\n value={filter}\n label={!noTitle ? \"Assign Policies\" : \"\"}\n />\n \n\n \n \n ) : (\n \n No Policies Available\n \n )}\n \n );\n};\n\nexport default PolicySelectors;\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 { useNavigate } from \"react-router-dom\";\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { ConfirmDeleteIcon, Loader, DataTable } from \"mds\";\nimport { encodeURLString } from \"../../../common/utils\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport WarningMessage from \"../Common/WarningMessage/WarningMessage\";\nimport api from \"../../../common/api\";\nimport { useAppDispatch } from \"../../../store\";\n\ninterface IDeleteUserProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedUsers: string[] | null;\n}\n\nconst DeleteUser = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedUsers,\n}: IDeleteUserProps) => {\n const navigate = useNavigate();\n const dispatch = useAppDispatch();\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 const [loadingSA, setLoadingSA] = useState(true);\n const [hasSA, setHasSA] = useState(false);\n const [userSAList, setUserSAList] = useState([]);\n\n const userLoggedIn = localStorage.getItem(\"userLoggedIn\") || \"\";\n\n useEffect(() => {\n if (selectedUsers) {\n api\n .invoke(\"POST\", `/api/v1/users/service-accounts`, selectedUsers)\n .then((res) => {\n setUserSAList(res.userServiceAccountList);\n if (res.hasSA) {\n setHasSA(true);\n }\n setLoadingSA(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoadingSA(false);\n });\n }\n }, [selectedUsers, dispatch]);\n\n if (!selectedUsers) {\n return null;\n }\n const renderUsers = selectedUsers.map((user) => (\n
    \n {user}\n
    \n ));\n const viewAction = (selectionElement: any): void => {\n navigate(\n `${IAM_PAGES.USERS}/${encodeURLString(selectionElement.userName)}`,\n );\n onClose();\n };\n const tableActions = [\n {\n type: \"view\",\n onClick: viewAction,\n },\n ];\n\n const onConfirmDelete = () => {\n for (let user of selectedUsers) {\n if (user === userLoggedIn) {\n dispatch(\n setErrorSnackMessage({\n errorMessage: \"Cannot delete currently logged in user\",\n detailedError: `Cannot delete currently logged in user ${userLoggedIn}`,\n }),\n );\n closeDeleteModalAndRefresh(true);\n } else {\n invokeDeleteApi(\"DELETE\", `/api/v1/user/${encodeURLString(user)}`);\n closeDeleteModalAndRefresh(true);\n navigate(`${IAM_PAGES.USERS}`);\n }\n }\n };\n\n interface userSACount {\n userName: string;\n numSAs: number;\n }\n\n const noSAtext =\n \"Are you sure you want to delete the following \" +\n selectedUsers.length +\n \" \" +\n \"user\" +\n (selectedUsers.length > 1 ? \"s?\" : \"?\");\n\n return (\n 1 ? \"s\" : \"\"}`}\n confirmText={\"Delete\"}\n isOpen={deleteOpen}\n titleIcon={}\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n loadingSA ? (\n \n ) : (\n \n {hasSA ? (\n \n \n \n \n ) : (\n \n {noSAtext}\n {renderUsers}\n \n )}\n \n )\n }\n />\n );\n};\n\nexport default DeleteUser;\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, { useCallback, useEffect, useState, Fragment } from \"react\";\nimport get from \"lodash/get\";\nimport { LinearProgress } from \"@mui/material\";\nimport { Box, DataTable, Grid } from \"mds\";\nimport { stringSort } from \"../../../utils/sortFunctions\";\nimport { GroupsList } from \"../Groups/types\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { setModalErrorSnackMessage } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport api from \"../../../common/api\";\nimport SearchBox from \"../Common/SearchBox\";\n\ninterface IGroupsProps {\n selectedGroups: string[];\n setSelectedGroups: any;\n}\n\nconst GroupsSelectors = ({\n selectedGroups,\n setSelectedGroups,\n}: IGroupsProps) => {\n const dispatch = useAppDispatch();\n // Local State\n const [records, setRecords] = useState([]);\n const [loading, isLoading] = useState(false);\n const [filter, setFilter] = useState(\"\");\n\n const fetchGroups = useCallback(() => {\n api\n .invoke(\"GET\", `/api/v1/groups`)\n .then((res: GroupsList) => {\n let groups = get(res, \"groups\", []);\n\n if (!groups) {\n groups = [];\n }\n setRecords(groups.sort(stringSort));\n isLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setModalErrorSnackMessage(err));\n isLoading(false);\n });\n }, [dispatch]);\n\n //Effects\n useEffect(() => {\n isLoading(true);\n }, []);\n\n useEffect(() => {\n if (loading) {\n fetchGroups();\n }\n }, [loading, fetchGroups]);\n\n const selGroups = !selectedGroups ? [] : selectedGroups;\n\n const selectionChanged = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selGroups]; // We clone the selectedGroups array\n\n if (checked) {\n // If the user has checked this field we need to push this to selectedGroupsList\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 setSelectedGroups(elements);\n\n return elements;\n };\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.includes(filter),\n );\n\n return (\n \n {loading && }\n {records !== null && records.length > 0 ? (\n \n \n \n \n \n \n ) : (\n \n No Groups Available\n \n )}\n \n );\n};\n\nexport default GroupsSelectors;\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 { useNavigate } from \"react-router-dom\";\nimport {\n AddIcon,\n Button,\n DeleteIcon,\n GroupsIcon,\n HelpBox,\n PageLayout,\n UsersIcon,\n DataTable,\n Grid,\n} from \"mds\";\nimport { LinearProgress } from \"@mui/material\";\nimport { User, UsersList } from \"./types\";\nimport { usersSort } from \"../../../utils/sortFunctions\";\nimport { actionsTray } from \"../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { encodeURLString } from \"../../../common/utils\";\nimport {\n addUserToGroupPermissions,\n CONSOLE_UI_RESOURCE,\n deleteUserPermissions,\n IAM_PAGES,\n IAM_SCOPES,\n listUsersPermissions,\n permissionTooltipHelper,\n S3_ALL_RESOURCES,\n viewUserPermissions,\n} from \"../../../common/SecureComponent/permissions\";\nimport api from \"../../../common/api\";\nimport AButton from \"../Common/AButton/AButton\";\nimport SearchBox from \"../Common/SearchBox\";\nimport withSuspense from \"../Common/Components/withSuspense\";\n\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../common/SecureComponent\";\nimport { setErrorSnackMessage, setHelpName } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport TooltipWrapper from \"../Common/TooltipWrapper/TooltipWrapper\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport HelpMenu from \"../HelpMenu\";\n\nconst DeleteUser = withSuspense(React.lazy(() => import(\"./DeleteUser\")));\nconst AddToGroup = withSuspense(React.lazy(() => import(\"./BulkAddToGroup\")));\n\nconst ListUsers = () => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const [records, setRecords] = useState([]);\n const [loading, setLoading] = useState(true);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [addGroupOpen, setAddGroupOpen] = useState(false);\n const [filter, setFilter] = useState(\"\");\n const [checkedUsers, setCheckedUsers] = useState([]);\n\n const displayListUsers = hasPermission(\n CONSOLE_UI_RESOURCE,\n listUsersPermissions,\n );\n\n const viewUser = hasPermission(CONSOLE_UI_RESOURCE, viewUserPermissions);\n\n const addUserToGroup = hasPermission(\n CONSOLE_UI_RESOURCE,\n addUserToGroupPermissions,\n );\n\n const deleteUser = hasPermission(CONSOLE_UI_RESOURCE, deleteUserPermissions);\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n if (refresh) {\n setLoading(true);\n setCheckedUsers([]);\n }\n };\n\n const closeAddGroupBulk = (unCheckAll: boolean = false) => {\n setAddGroupOpen(false);\n if (unCheckAll) {\n setCheckedUsers([]);\n }\n };\n\n useEffect(() => {\n if (loading) {\n if (displayListUsers) {\n api\n .invoke(\"GET\", `/api/v1/users`)\n .then((res: UsersList) => {\n const users = res.users === null ? [] : res.users;\n\n setLoading(false);\n setRecords(users.sort(usersSort));\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n dispatch(setErrorSnackMessage(err));\n });\n } else {\n setLoading(false);\n }\n }\n }, [loading, dispatch, displayListUsers]);\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.accessKey.includes(filter),\n );\n\n const selectionChanged = (e: React.ChangeEvent) => {\n const { target: { value = \"\", checked = false } = {} } = e;\n\n let elements: string[] = [...checkedUsers]; // We clone the checkedUsers array\n\n if (checked) {\n // If the user has checked this field we need to push this to checkedUsersList\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\n setCheckedUsers(elements);\n\n return elements;\n };\n\n const viewAction = (selectionElement: any): void => {\n navigate(\n `${IAM_PAGES.USERS}/${encodeURLString(selectionElement.accessKey)}`,\n );\n };\n\n const tableActions = [\n {\n type: \"view\",\n onClick: viewAction,\n disableButtonFunction: () => !viewUser,\n },\n {\n type: \"edit\",\n onClick: viewAction,\n disableButtonFunction: () => !viewUser,\n },\n ];\n\n useEffect(() => {\n dispatch(setHelpName(\"list_users\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n {deleteOpen && (\n {\n closeDeleteModalAndRefresh(refresh);\n }}\n />\n )}\n {addGroupOpen && (\n {\n closeAddGroupBulk(close);\n }}\n />\n )}\n } />\n\n \n \n \n \n \n \n {\n setDeleteOpen(true);\n }}\n label={\"Delete Selected\"}\n icon={}\n disabled={checkedUsers.length === 0}\n variant={\"secondary\"}\n aria-label=\"delete-selected-users\"\n />\n \n \n \n \n }\n disabled={checkedUsers.length <= 0}\n onClick={() => {\n if (checkedUsers.length > 0) {\n setAddGroupOpen(true);\n }\n }}\n variant={\"regular\"}\n />\n \n \n \n \n }\n onClick={() => {\n navigate(`${IAM_PAGES.USER_ADD}`);\n }}\n variant={\"callAction\"}\n disabled={\n !hasPermission(\n \"console\",\n [\n IAM_SCOPES.ADMIN_CREATE_USER,\n IAM_SCOPES.ADMIN_LIST_USER_POLICIES,\n IAM_SCOPES.ADMIN_LIST_GROUPS,\n IAM_SCOPES.ADMIN_ATTACH_USER_OR_GROUP_POLICY,\n ],\n true,\n )\n }\n />\n \n \n \n\n {loading && }\n {!loading && (\n \n {records.length > 0 && (\n \n \n \n \n \n \n }\n help={\n \n A MinIO user consists of a unique access key (username)\n and corresponding secret key (password). Clients must\n authenticate their identity by specifying both a valid\n access key (username) and the corresponding secret key\n (password) of an existing MinIO user.\n
    \n Groups provide a simplified method for managing shared\n permissions among users with common access patterns and\n workloads.\n
    \n
    \n Users inherit access permissions to data and resources\n through the groups they belong to.\n
    \n MinIO uses Policy-Based Access Control (PBAC) to define\n the authorized actions and resources to which an\n authenticated user has access. Each policy describes one\n or more actions and conditions that outline the\n permissions of a user or group of users.\n
    \n
    \n Each user can access only those resources and operations\n which are explicitly granted by the built-in role. MinIO\n denies access to any other resource or action by\n default.\n
    \n
    \n You can learn more at our{\" \"}\n \n documentation\n \n .\n
    \n }\n />\n
    \n )}\n {records.length === 0 && (\n \n \n }\n help={\n \n A MinIO user consists of a unique access key\n (username) and corresponding secret key (password).\n Clients must authenticate their identity by specifying\n both a valid access key (username) and the\n corresponding secret key (password) of an existing\n MinIO user.\n
    \n Groups provide a simplified method for managing shared\n permissions among users with common access patterns\n and workloads.\n
    \n
    \n Users inherit access permissions to data and resources\n through the groups they belong to.\n
    \n MinIO uses Policy-Based Access Control (PBAC) to\n define the authorized actions and resources to which\n an authenticated user has access. Each policy\n describes one or more actions and conditions that\n outline the permissions of a user or group of users.\n
    \n
    \n Each user can access only those resources and\n operations which are explicitly granted by the\n built-in role. MinIO denies access to any other\n resource or action by default.\n \n
    \n
    \n To get started,{\" \"}\n {\n navigate(`${IAM_PAGES.USER_ADD}`);\n }}\n >\n Create a User\n \n .\n \n
    \n }\n />\n
    \n
    \n )}\n
    \n )}\n
    \n
    \n
    \n );\n};\n\nexport default ListUsers;\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, { useCallback, useEffect, useState, Fragment } from \"react\";\nimport { LinearProgress } from \"@mui/material\";\nimport { AddMembersToGroupIcon, Button, FormLayout, Grid, Box } from \"mds\";\nimport { modalStyleUtils } from \"../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { encodeURLString } from \"../../../common/utils\";\nimport { setModalErrorSnackMessage } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport api from \"../../../common/api\";\nimport GroupsSelectors from \"./GroupsSelectors\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\n\ninterface IChangeUserGroupsContentProps {\n closeModalAndRefresh: () => void;\n selectedUser: string;\n open: boolean;\n}\n\nconst ChangeUserGroups = ({\n closeModalAndRefresh,\n selectedUser,\n open,\n}: IChangeUserGroupsContentProps) => {\n const dispatch = useAppDispatch();\n const [addLoading, setAddLoading] = useState(false);\n const [accessKey, setAccessKey] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n const [enabled, setEnabled] = useState(false);\n const [selectedGroups, setSelectedGroups] = useState([]);\n\n const getUserInformation = useCallback(() => {\n if (!selectedUser) {\n return null;\n }\n\n api\n .invoke(\"GET\", `/api/v1/user/${encodeURLString(selectedUser)}`)\n .then((res) => {\n setAddLoading(false);\n setAccessKey(res.accessKey);\n setSelectedGroups(res.memberOf || []);\n setEnabled(res.status === \"enabled\");\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n }, [selectedUser, dispatch]);\n\n useEffect(() => {\n if (selectedUser === null) {\n setAccessKey(\"\");\n setSecretKey(\"\");\n setSelectedGroups([]);\n } else {\n getUserInformation();\n }\n }, [selectedUser, getUserInformation]);\n\n const saveRecord = (event: React.FormEvent) => {\n event.preventDefault();\n\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n if (selectedUser !== null) {\n api\n .invoke(\"PUT\", `/api/v1/user/${encodeURLString(selectedUser)}`, {\n status: enabled ? \"enabled\" : \"disabled\",\n groups: selectedGroups,\n })\n .then((_) => {\n setAddLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n } else {\n api\n .invoke(\"POST\", \"/api/v1/users\", {\n accessKey,\n secretKey,\n groups: selectedGroups,\n })\n .then((_) => {\n setAddLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n }\n };\n\n const resetForm = () => {\n if (selectedUser !== null) {\n setSelectedGroups([]);\n return;\n }\n setAccessKey(\"\");\n setSecretKey(\"\");\n setSelectedGroups([]);\n };\n\n const sendEnabled =\n accessKey.trim() !== \"\" &&\n ((secretKey.trim() !== \"\" && selectedUser === null) ||\n selectedUser !== null);\n return (\n {\n closeModalAndRefresh();\n }}\n modalOpen={open}\n title={\"Set Groups\"}\n titleIcon={}\n >\n \n ) => {\n saveRecord(e);\n }}\n >\n \n {\n setSelectedGroups(elements);\n }}\n />\n \n \n \n\n \n \n {addLoading && (\n \n \n \n )}\n \n \n \n );\n};\n\nexport default ChangeUserGroups;\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\";\nimport { Box, Button, FormLayout, IAMPoliciesIcon } from \"mds\";\nimport { LinearProgress } from \"@mui/material\";\nimport { useSelector } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport { modalStyleUtils } from \"../Common/FormComponents/common/styleLibrary\";\nimport { IPolicyItem } from \"../Users/types\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../common/api\";\nimport PolicySelectors from \"../Policies/PolicySelectors\";\nimport { setModalErrorSnackMessage } from \"../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { setSelectedPolicies } from \"./AddUsersSlice\";\n\ninterface ISetUserPoliciesProps {\n closeModalAndRefresh: () => void;\n selectedUser: string;\n currentPolicies: IPolicyItem[];\n open: boolean;\n}\n\nconst SetUserPolicies = ({\n closeModalAndRefresh,\n selectedUser,\n currentPolicies,\n open,\n}: ISetUserPoliciesProps) => {\n const dispatch = useAppDispatch();\n //Local States\n const [loading, setLoading] = useState(false);\n const [actualPolicy, setActualPolicy] = useState([]);\n\n const statePolicies = useSelector(\n (state: AppState) => state.createUser.selectedPolicies,\n );\n\n const SetUserPoliciesAction = () => {\n let entity = \"user\";\n let value = selectedUser;\n\n setLoading(true);\n\n api\n .invoke(\"PUT\", `/api/v1/set-policy`, {\n name: statePolicies,\n entityName: value,\n entityType: entity,\n })\n .then(() => {\n setLoading(false);\n dispatch(setSelectedPolicies([]));\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n };\n\n const resetSelection = () => {\n dispatch(setSelectedPolicies(actualPolicy));\n };\n\n useEffect(() => {\n if (open) {\n const userPolicy: string[] = currentPolicies.map((pol) => {\n return pol.policy;\n });\n setActualPolicy(userPolicy);\n dispatch(setSelectedPolicies(userPolicy));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open, selectedUser]);\n\n return (\n {\n closeModalAndRefresh();\n }}\n modalOpen={open}\n title=\"Set Policies\"\n titleIcon={}\n >\n \n \n \n \n \n \n \n {loading && (\n \n \n \n )}\n \n );\n};\n\nexport default SetUserPolicies;\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 { useNavigate } from \"react-router-dom\";\nimport { AddIcon, Box, Button, DataTable, DeleteIcon, SectionTitle } from \"mds\";\nimport api from \"../../../common/api\";\nimport { NewServiceAccount } from \"../Common/CredentialsPrompt/types\";\nimport { stringSort } from \"../../../utils/sortFunctions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport DeleteServiceAccount from \"../Account/DeleteServiceAccount\";\nimport CredentialsPrompt from \"../Common/CredentialsPrompt/CredentialsPrompt\";\n\nimport DeleteMultipleServiceAccounts from \"./DeleteMultipleServiceAccounts\";\nimport { selectSAs } from \"../Configurations/utils\";\nimport ServiceAccountPolicy from \"../Account/ServiceAccountPolicy\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport { SecureComponent } from \"../../../common/SecureComponent\";\nimport { encodeURLString } from \"../../../common/utils\";\nimport {\n setErrorSnackMessage,\n setHelpName,\n setSnackBarMessage,\n} from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport TooltipWrapper from \"../Common/TooltipWrapper/TooltipWrapper\";\n\ninterface IUserServiceAccountsProps {\n user: string;\n hasPolicy: boolean;\n}\n\nconst UserServiceAccountsPanel = ({\n user,\n hasPolicy,\n}: IUserServiceAccountsProps) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const [records, setRecords] = useState([]);\n const [loading, setLoading] = useState(false);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedServiceAccount, setSelectedServiceAccount] = useState<\n string | null\n >(null);\n const [showNewCredentials, setShowNewCredentials] = useState(false);\n const [newServiceAccount, setNewServiceAccount] =\n useState(null);\n const [selectedSAs, setSelectedSAs] = useState([]);\n const [deleteMultipleOpen, setDeleteMultipleOpen] = useState(false);\n const [policyOpen, setPolicyOpen] = useState(false);\n\n useEffect(() => {\n fetchRecords();\n }, []);\n\n useEffect(() => {\n if (loading) {\n api\n .invoke(\"GET\", `/api/v1/user/${encodeURLString(user)}/service-accounts`)\n .then((res: string[]) => {\n const serviceAccounts = res.sort(stringSort);\n setLoading(false);\n setRecords(serviceAccounts);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoading(false);\n });\n }\n }, [loading, setLoading, setRecords, user, dispatch]);\n\n const fetchRecords = () => {\n setLoading(true);\n };\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n\n if (refresh) {\n fetchRecords();\n }\n };\n\n const closeDeleteMultipleModalAndRefresh = (refresh: boolean) => {\n setDeleteMultipleOpen(false);\n if (refresh) {\n dispatch(setSnackBarMessage(`Access Keys deleted successfully.`));\n setSelectedSAs([]);\n setLoading(true);\n }\n };\n\n const selectAllItems = () => {\n if (selectedSAs.length === records.length) {\n setSelectedSAs([]);\n return;\n }\n setSelectedSAs(records);\n };\n\n const closeCredentialsModal = () => {\n setShowNewCredentials(false);\n setNewServiceAccount(null);\n };\n\n const policyModalOpen = (selectedServiceAccount: string) => {\n setSelectedServiceAccount(selectedServiceAccount);\n setPolicyOpen(true);\n };\n\n const confirmDeleteServiceAccount = (selectedServiceAccount: string) => {\n setSelectedServiceAccount(selectedServiceAccount);\n setDeleteOpen(true);\n };\n\n const closePolicyModal = () => {\n setPolicyOpen(false);\n setLoading(true);\n };\n\n const tableActions = [\n { type: \"view\", onClick: policyModalOpen },\n { type: \"delete\", onClick: confirmDeleteServiceAccount },\n ];\n\n useEffect(() => {\n dispatch(setHelpName(\"user_details_accounts\"));\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return (\n \n {deleteOpen && (\n {\n closeDeleteModalAndRefresh(refresh);\n }}\n />\n )}\n {deleteMultipleOpen && (\n \n )}\n {showNewCredentials && (\n {\n closeCredentialsModal();\n }}\n entity=\"Access Key\"\n />\n )}\n {policyOpen && (\n \n )}\n\n \n \n {\n setDeleteMultipleOpen(true);\n }}\n label={\"Delete Selected\"}\n icon={}\n disabled={selectedSAs.length === 0}\n variant={\"secondary\"}\n />\n \n \n \n }\n onClick={() => {\n navigate(\n `/identity/users/new-user-sa/${encodeURLString(user)}`,\n );\n }}\n disabled={!hasPolicy}\n />\n \n \n \n }\n >\n Access Keys\n \n\n selectSAs(e, setSelectedSAs, selectedSAs)}\n onSelectAll={selectAllItems}\n />\n \n );\n};\n\nexport default UserServiceAccountsPanel;\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 { Box, Button, ChangePasswordIcon, FormLayout, InputBox } from \"mds\";\nimport { LinearProgress } from \"@mui/material\";\nimport { modalStyleUtils } from \"../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport { api } from \"api\";\nimport { ChangeUserPasswordRequest } from \"api/consoleApi\";\nimport { errorToHandler } from \"api/errors\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\n\ninterface IChangeUserPasswordProps {\n open: boolean;\n userName: string;\n closeModal: () => void;\n}\n\nconst ChangeUserPassword = ({\n open,\n userName,\n closeModal,\n}: IChangeUserPasswordProps) => {\n const dispatch = useAppDispatch();\n const [newPassword, setNewPassword] = useState(\"\");\n const [reNewPassword, setReNewPassword] = useState(\"\");\n const [loading, setLoading] = useState(false);\n\n const changeUserPassword = (event: React.FormEvent) => {\n event.preventDefault();\n\n if (loading) {\n return;\n }\n setLoading(true);\n\n if (newPassword.length < 8) {\n dispatch(\n setModalErrorSnackMessage({\n errorMessage: \"Passwords must be at least 8 characters long\",\n detailedError: \"\",\n }),\n );\n setLoading(false);\n return;\n }\n\n let request: ChangeUserPasswordRequest = {\n selectedUser: userName,\n newSecretKey: newPassword,\n };\n\n api.account\n .changeUserPassword(request)\n .then((res) => {\n setLoading(false);\n setNewPassword(\"\");\n setReNewPassword(\"\");\n closeModal();\n })\n .catch((err) => {\n setLoading(false);\n setNewPassword(\"\");\n setReNewPassword(\"\");\n dispatch(setModalErrorSnackMessage(errorToHandler(err)));\n });\n };\n\n return open ? (\n {\n setNewPassword(\"\");\n setReNewPassword(\"\");\n closeModal();\n }}\n titleIcon={}\n >\n ) => {\n changeUserPassword(e);\n }}\n >\n \n \n Change password for: {userName}\n \n ) => {\n setNewPassword(event.target.value);\n }}\n label=\"New Password\"\n type=\"password\"\n value={newPassword}\n />\n ) => {\n setReNewPassword(event.target.value);\n }}\n label=\"Type New Password Again\"\n type=\"password\"\n value={reNewPassword}\n />\n \n 0 && newPassword === reNewPassword)\n }\n label={\"Save\"}\n />\n \n {loading && (\n \n \n \n )}\n \n \n \n ) : null;\n};\n\nexport default ChangeUserPassword;\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, useCallback, useEffect, useState } from \"react\";\nimport { useNavigate, useParams } from \"react-router-dom\";\nimport {\n AddIcon,\n BackLink,\n Box,\n Button,\n DataTable,\n Grid,\n IAMPoliciesIcon,\n PageLayout,\n PasswordKeyIcon,\n ScreenTitle,\n SectionTitle,\n Switch,\n Tabs,\n TrashIcon,\n UsersIcon,\n} from \"mds\";\nimport { IPolicyItem } from \"./types\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { decodeURLString, encodeURLString } from \"../../../common/utils\";\nimport { setHelpName, setModalErrorSnackMessage } from \"../../../systemSlice\";\nimport {\n assignGroupPermissions,\n assignIAMPolicyPermissions,\n CONSOLE_UI_RESOURCE,\n deleteUserPermissions,\n disableUserPermissions,\n editServiceAccountPermissions,\n enableDisableUserPermissions,\n enableUserPermissions,\n getGroupPermissions,\n IAM_PAGES,\n permissionTooltipHelper,\n} from \"../../../common/SecureComponent/permissions\";\nimport { hasPermission } from \"../../../common/SecureComponent\";\nimport { useAppDispatch } from \"../../../store\";\nimport { policyDetailsSort } from \"../../../utils/sortFunctions\";\nimport TooltipWrapper from \"../Common/TooltipWrapper/TooltipWrapper\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport HelpMenu from \"../HelpMenu\";\nimport api from \"../../../common/api\";\nimport ChangeUserGroups from \"./ChangeUserGroups\";\nimport SetUserPolicies from \"./SetUserPolicies\";\nimport UserServiceAccountsPanel from \"./UserServiceAccountsPanel\";\nimport ChangeUserPasswordModal from \"../Account/ChangeUserPasswordModal\";\nimport DeleteUser from \"./DeleteUser\";\n\ninterface IGroupItem {\n group: string;\n}\n\nconst UserDetails = () => {\n const dispatch = useAppDispatch();\n const params = useParams();\n const navigate = useNavigate();\n\n const [loading, setLoading] = useState(false);\n const [addGroupOpen, setAddGroupOpen] = useState(false);\n const [policyOpen, setPolicyOpen] = useState(false);\n const [addLoading, setAddLoading] = useState(false);\n const [enabled, setEnabled] = useState(false);\n const [selectedGroups, setSelectedGroups] = useState([]);\n const [currentGroups, setCurrentGroups] = useState([]);\n const [currentPolicies, setCurrentPolicies] = useState([]);\n const [changeUserPasswordModalOpen, setChangeUserPasswordModalOpen] =\n useState(false);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [hasPolicy, setHasPolicy] = useState(false);\n const [selectedTab, setSelectedTab] = useState(\"groups\");\n\n const enableEnabled =\n hasPermission(CONSOLE_UI_RESOURCE, enableUserPermissions) && !enabled;\n const disableEnabled =\n hasPermission(CONSOLE_UI_RESOURCE, disableUserPermissions) && enabled;\n\n const userName = decodeURLString(params.userName || \"\");\n\n const changeUserPassword = () => {\n setChangeUserPasswordModalOpen(true);\n };\n\n const deleteUser = () => {\n setDeleteOpen(true);\n };\n\n const userLoggedIn = localStorage.getItem(\"userLoggedIn\") || \"\";\n const canAssignPolicy = hasPermission(\n CONSOLE_UI_RESOURCE,\n assignIAMPolicyPermissions,\n true,\n );\n const canAssignGroup = hasPermission(\n CONSOLE_UI_RESOURCE,\n assignGroupPermissions,\n true,\n );\n\n const viewGroup = hasPermission(CONSOLE_UI_RESOURCE, getGroupPermissions);\n\n const getUserInformation = useCallback(() => {\n if (userName === \"\") {\n return null;\n }\n setLoading(true);\n api\n .invoke(\"GET\", `/api/v1/user/${encodeURLString(userName)}`)\n .then((res) => {\n setAddLoading(false);\n const memberOf = res.memberOf || [];\n setSelectedGroups(memberOf);\n\n const currentGroups: IGroupItem[] = memberOf.map((group: string) => {\n return {\n group: group,\n };\n });\n\n setCurrentGroups(currentGroups);\n const currentPolicies: IPolicyItem[] = res.policy.map(\n (policy: string) => {\n return {\n policy: policy,\n };\n },\n );\n\n currentPolicies.sort(policyDetailsSort);\n\n setCurrentPolicies(currentPolicies);\n setEnabled(res.status === \"enabled\");\n setHasPolicy(res.hasPolicy);\n setLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n }, [userName, dispatch]);\n\n const saveRecord = (isEnabled: boolean) => {\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n api\n .invoke(\"PUT\", `/api/v1/user/${encodeURLString(userName)}`, {\n status: isEnabled ? \"enabled\" : \"disabled\",\n groups: selectedGroups,\n })\n .then((_) => {\n setAddLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n };\n\n useEffect(() => {\n dispatch(setHelpName(\"user_details_groups\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n getUserInformation();\n }, [getUserInformation]);\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n if (refresh) {\n getUserInformation();\n }\n };\n\n const groupViewAction = (group: any) => {\n navigate(`${IAM_PAGES.GROUPS}/${encodeURLString(group.group)}`);\n };\n\n const groupTableActions = [\n {\n type: \"view\",\n onClick: groupViewAction,\n disableButtonFunction: () => !viewGroup,\n },\n ];\n\n return (\n \n {addGroupOpen && (\n {\n setAddGroupOpen(false);\n getUserInformation();\n }}\n />\n )}\n {policyOpen && (\n {\n setPolicyOpen(false);\n getUserInformation();\n }}\n />\n )}\n {deleteOpen && (\n {\n closeDeleteModalAndRefresh(refresh);\n }}\n />\n )}\n {changeUserPasswordModalOpen && (\n setChangeUserPasswordModalOpen(false)}\n />\n )}\n \n navigate(IAM_PAGES.USERS)}\n />\n \n }\n actions={}\n />\n \n \n \n }\n title={userName}\n subTitle={\"\"}\n actions={\n \n \n User Status:\n \n \n {enabled ? \"Enabled\" : \"Disabled\"}\n \n \n {\n setEnabled(!enabled);\n saveRecord(!enabled);\n }}\n switchOnly\n disabled={!enableEnabled && !disableEnabled}\n />\n \n \n }\n variant={\"secondary\"}\n disabled={\n !hasPermission(\n CONSOLE_UI_RESOURCE,\n deleteUserPermissions,\n ) || userLoggedIn === userName\n }\n />\n \n\n \n }\n variant={\"regular\"}\n />\n \n \n }\n sx={{ marginBottom: 15 }}\n />\n \n\n \n \n \n dispatch(setHelpName(\"user_details_groups\"))\n }\n >\n \n {\n setAddGroupOpen(true);\n }}\n icon={}\n variant={\"callAction\"}\n disabled={!canAssignGroup}\n />\n \n }\n >\n Groups\n \n \n \n dispatch(setHelpName(\"user_details_groups\"))\n }\n >\n \n \n \n ),\n },\n {\n tabConfig: {\n id: \"service_accounts\",\n label: \"Service Accounts\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n editServiceAccountPermissions,\n ),\n },\n content: (\n \n ),\n },\n {\n tabConfig: {\n id: \"policies\",\n label: \"Policies\",\n disabled: !canAssignPolicy,\n },\n content: (\n \n \n dispatch(setHelpName(\"user_details_policies\"))\n }\n >\n \n {\n setPolicyOpen(true);\n }}\n icon={}\n variant={\"callAction\"}\n disabled={!canAssignPolicy}\n />\n \n }\n >\n Policies\n \n \n \n {\n navigate(\n `${IAM_PAGES.POLICIES}/${encodeURLString(\n policy.policy,\n )}`,\n );\n },\n },\n ]}\n columns={[{ label: \"Name\", elementKey: \"policy\" }]}\n isLoading={loading}\n records={currentPolicies}\n entityName=\"Policies\"\n idField=\"policy\"\n />\n \n \n ),\n },\n ]}\n />\n \n \n \n \n );\n};\n\nexport default UserDetails;\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 .\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\nimport {\n ChangeAccessPolicyIcon,\n GroupsIcon,\n HelpIconFilled,\n UsersIcon,\n} from \"mds\";\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 AddUserHelpBox = () => {\n return (\n \n \n \n
    Learn more about the Users feature
    \n \n \n A MinIO user consists of a unique access key (username) and\n corresponding secret key (password). Clients must authenticate their\n identity by specifying both a valid access key (username) and the\n corresponding secret key (password) of an existing MinIO user.\n
    \n
    \n Each user can have one or more assigned policies that explicitly list\n the actions and resources to which that user has access. Users can also\n inherit policies from the groups in which they have membership.\n
    \n
    \n\n \n } description={`Create Users`} />\n } description={`Manage Groups`} />\n }\n description={`Assign Policies`}\n />\n \n \n );\n};\n\nexport default AddUserHelpBox;\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 { setUserName } from \"./AddUsersSlice\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { InputBox } from \"mds\";\n\nconst UserSelector = () => {\n const dispatch = useAppDispatch();\n const userName = useSelector((state: AppState) => state.createUser.userName);\n return (\n ) => {\n dispatch(setUserName(e.target.value));\n }}\n />\n );\n};\nexport default UserSelector;\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 { InputBox } from \"mds\";\nimport { setSecretKey, setShowPassword } from \"./AddUsersSlice\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\n\nconst PasswordSelector = () => {\n const dispatch = useAppDispatch();\n const showPassword = useSelector(\n (state: AppState) => state.createUser.showPassword,\n );\n const secretKey = useSelector(\n (state: AppState) => state.createUser.secretKey,\n );\n return (\n ) => {\n dispatch(setSecretKey(e.target.value));\n }}\n autoComplete=\"current-password\"\n overlayIcon={showPassword ? : }\n overlayAction={() => dispatch(setShowPassword(!showPassword))}\n />\n );\n};\nexport default PasswordSelector;\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 } from \"react\";\nimport {\n BackLink,\n Button,\n CreateUserIcon,\n FormLayout,\n Grid,\n PageLayout,\n} from \"mds\";\nimport { createUserAsync, resetFormAsync } from \"./thunk/AddUsersThunk\";\nimport { modalStyleUtils } from \"../Common/FormComponents/common/styleLibrary\";\nimport { LinearProgress } from \"@mui/material\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport { useNavigate } from \"react-router-dom\";\nimport { setErrorSnackMessage, setHelpName } from \"../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { useSelector } from \"react-redux\";\nimport {\n setAddLoading,\n setSelectedGroups,\n setSendEnabled,\n} from \"./AddUsersSlice\";\nimport AddUserHelpBox from \"./AddUserHelpBox\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport HelpMenu from \"../HelpMenu\";\nimport PolicySelectors from \"../Policies/PolicySelectors\";\nimport UserSelector from \"./UserSelector\";\nimport PasswordSelector from \"./PasswordSelector\";\nimport GroupsSelectors from \"./GroupsSelectors\";\n\nconst AddUser = () => {\n const dispatch = useAppDispatch();\n const selectedPolicies = useSelector(\n (state: AppState) => state.createUser.selectedPolicies,\n );\n const selectedGroups = useSelector(\n (state: AppState) => state.createUser.selectedGroups,\n );\n const addLoading = useSelector(\n (state: AppState) => state.createUser.addLoading,\n );\n const sendEnabled = useSelector(\n (state: AppState) => state.createUser.sendEnabled,\n );\n const secretKeylength = useSelector(\n (state: AppState) => state.createUser.secretKeylength,\n );\n const navigate = useNavigate();\n dispatch(setSendEnabled());\n\n const saveRecord = (event: React.FormEvent) => {\n event.preventDefault();\n if (secretKeylength < 8) {\n dispatch(\n setErrorSnackMessage({\n errorMessage: \"Passwords must be at least 8 characters long\",\n detailedError: \"\",\n }),\n );\n dispatch(setAddLoading(false));\n return;\n }\n if (addLoading) {\n return;\n }\n dispatch(setAddLoading(true));\n dispatch(createUserAsync())\n .unwrap() // <-- async Thunk returns a promise, that can be 'unwrapped')\n .then(() => navigate(`${IAM_PAGES.USERS}`));\n };\n\n useEffect(() => {\n dispatch(setHelpName(\"add_user\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n \n navigate(IAM_PAGES.USERS)}\n />\n }\n actions={}\n />\n \n }\n helpBox={}\n >\n ) => {\n saveRecord(e);\n }}\n >\n \n \n \n {\n dispatch(setSelectedGroups(elements));\n }}\n />\n {addLoading && (\n \n \n \n )}\n\n \n {\n dispatch(resetFormAsync());\n }}\n label={\"Clear\"}\n />\n\n \n \n \n \n \n \n \n );\n};\n\nexport default AddUser;\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 .\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\nimport {\n HelpIconFilled,\n IAMPoliciesIcon,\n PasswordKeyIcon,\n ServiceAccountIcon,\n} from \"mds\";\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 AddUserServiceAccountHelpBox = () => {\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 AddUserServiceAccountHelpBox;\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 { useNavigate, useParams } from \"react-router-dom\";\nimport {\n BackLink,\n Box,\n Button,\n FormLayout,\n Grid,\n InputBox,\n PageLayout,\n PasswordKeyIcon,\n ServiceAccountCredentialsIcon,\n ServiceAccountIcon,\n Switch,\n} from \"mds\";\nimport { modalStyleUtils } from \"../Common/FormComponents/common/styleLibrary\";\nimport { NewServiceAccount } from \"../Common/CredentialsPrompt/types\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport {\n decodeURLString,\n encodeURLString,\n getRandomString,\n} from \"../../../common/utils\";\nimport { setErrorSnackMessage, setHelpName } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport api from \"../../../../src/common/api\";\nimport CredentialsPrompt from \"../Common/CredentialsPrompt/CredentialsPrompt\";\nimport AddUserServiceAccountHelpBox from \"./AddUserServiceAccountHelpBox\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport HelpMenu from \"../HelpMenu\";\nimport PanelTitle from \"../Common/PanelTitle/PanelTitle\";\n\nconst AddServiceAccount = () => {\n const dispatch = useAppDispatch();\n const params = useParams();\n const navigate = useNavigate();\n\n const [addSending, setAddSending] = useState(false);\n const [accessKey, setAccessKey] = useState(getRandomString(20));\n const [secretKey, setSecretKey] = useState(getRandomString(40));\n const [isRestrictedByPolicy, setIsRestrictedByPolicy] =\n useState(false);\n const [newServiceAccount, setNewServiceAccount] =\n useState(null);\n const [policyJSON, setPolicyJSON] = useState(\"\");\n\n const userName = decodeURLString(params.userName || \"\");\n\n useEffect(() => {\n if (addSending) {\n api\n .invoke(\n \"POST\",\n `/api/v1/user/${encodeURLString(\n userName,\n )}/service-account-credentials`,\n {\n policy: policyJSON,\n accessKey: accessKey,\n secretKey: secretKey,\n },\n )\n .then((res) => {\n setAddSending(false);\n setNewServiceAccount({\n accessKey: res.accessKey || \"\",\n secretKey: res.secretKey || \"\",\n url: res.url || \"\",\n });\n })\n .catch((err: ErrorResponseHandler) => {\n setAddSending(false);\n dispatch(setErrorSnackMessage(err));\n });\n }\n }, [\n addSending,\n setAddSending,\n dispatch,\n policyJSON,\n userName,\n accessKey,\n secretKey,\n ]);\n\n useEffect(() => {\n if (isRestrictedByPolicy) {\n api\n .invoke(\"GET\", `/api/v1/user/${encodeURLString(userName)}/policies`)\n\n .then((res) => {\n setPolicyJSON(JSON.stringify(JSON.parse(res.policy), null, 4));\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n });\n }\n }, [isRestrictedByPolicy, userName]);\n\n const addUserServiceAccount = (e: React.FormEvent) => {\n e.preventDefault();\n setAddSending(true);\n };\n\n const resetForm = () => {\n setNewServiceAccount(null);\n setAccessKey(\"\");\n setSecretKey(\"\");\n };\n\n const closeCredentialsModal = () => {\n setNewServiceAccount(null);\n navigate(`${IAM_PAGES.USERS}/${encodeURLString(userName)}`);\n };\n\n useEffect(() => {\n dispatch(setHelpName(\"add_user_SA\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n {newServiceAccount && (\n {\n closeCredentialsModal();\n }}\n entity=\"Access Key\"\n />\n )}\n \n \n navigate(`${IAM_PAGES.USERS}/${encodeURLString(userName)}`)\n }\n label={\"User Details - \" + userName}\n />\n }\n actions={}\n />\n \n }\n icon={}\n title={`Create Access Key for ${userName}`}\n >\n ) => {\n e.preventDefault();\n addUserServiceAccount(e);\n }}\n >\n {\n setAccessKey(e.target.value);\n }}\n startIcon={}\n />\n {\n setSecretKey(e.target.value);\n }}\n startIcon={}\n />\n ) => {\n setIsRestrictedByPolicy(event.target.checked);\n }}\n label={\"Restrict beyond user policy\"}\n description={\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 {isRestrictedByPolicy && (\n \n \n \n Current User Policy - edit the JSON to remove permissions\n 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\nexport default 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 { Route, Routes } from \"react-router-dom\";\nimport NotFoundPage from \"../../NotFoundPage\";\nimport ListUsers from \"./ListUsers\";\nimport UserDetails from \"./UserDetails\";\nimport AddUserScreen from \"./AddUserScreen\";\nimport AddUserServiceAccountScreen from \"./AddUserServiceAccountScreen\";\n\nconst Users = () => {\n return (\n \n } />\n } />\n }\n />\n } />\n } />\n \n );\n};\n\nexport default Users;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n}), 'RemoveRedEye');\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"\n}), 'VisibilityOff');\nexports.default = _default;"],"names":["_ref","closeDeleteModalAndRefresh","deleteOpen","selectedServiceAccount","dispatch","useAppDispatch","_useApi","useApi","err","setErrorSnackMessage","_useApi2","_slicedToArray","deleteLoading","invokeDeleteApi","_jsx","ConfirmDialog","title","confirmText","isOpen","titleIcon","ConfirmDeleteIcon","isLoading","onConfirm","concat","encodeURLString","onClose","confirmationContent","_jsxs","Fragment","children","style","maxWidth","whiteSpace","wordWrap","_ref$label","label","_ref$value","value","Box","sx","marginTop","InputLabel","ReadBox","actionButton","CopyToClipboard","text","Button","id","variant","onClick","setModalSnackMessage","marginRight","width","height","padding","icon","CopyIcon","WarningBlock","styled","div","theme","color","fontSize","margin","display","alignItems","download","filename","element","document","createElement","setAttribute","body","appendChild","click","removeChild","_ref2","newServiceAccount","open","closeModal","entity","consoleCreds","get","idp","ModalWrapper","modalOpen","ServiceAccountCredentialsIcon","Grid","container","item","xs","overflowY","maxHeight","fontWeight","Array","isArray","map","credentialsPair","index","CredentialItem","accessKey","secretKey","undefined","_Fragment","WarnIcon","_objectSpread","modalStyleUtils","modalButtonBar","TooltipWrapper","tooltip","consoleExtras","itemMap","url","api","path","JSON","stringify","DownloadIcon","length","allCredentials","withStyles","createStyles","root","classes","className","headerContainer","backgroundColor","borderRadius","marginBottom","paddingBottom","labelHeadline","marginLeft","labelText","_ref$noTitle","noTitle","_useState","useState","_useState2","records","setRecords","_useState3","_useState4","loading","_useState5","_useState6","filter","setFilter","currentPolicies","useSelector","state","createUser","selectedPolicies","fetchPolicies","useCallback","policies","listPolicies","then","res","_res$data$policies","data","sort","policySort","catch","setModalErrorSnackMessage","useEffect","filteredRecords","elementItem","name","includes","LinearProgress","SearchBox","placeholder","onChange","DataTable","columns","elementKey","onSelect","e","targetD","target","checked","elements","_toConsumableArray","push","setSelectedPolicies","selectedItems","entityName","idField","customPaperHeight","textAlign","selectedUsers","navigate","useNavigate","loadingSA","setLoadingSA","hasSA","setHasSA","userSAList","setUserSAList","userLoggedIn","localStorage","getItem","invoke","userServiceAccountList","renderUsers","user","tableActions","type","selectionElement","IAM_PAGES","USERS","userName","noSAtext","_step","_iterator","_createForOfIteratorHelper","s","n","done","errorMessage","detailedError","f","Loader","WarningMessage","itemActions","selectedGroups","setSelectedGroups","fetchGroups","groups","stringSort","selGroups","DeleteUser","withSuspense","React","AddToGroup","setLoading","setDeleteOpen","_useState7","_useState8","addGroupOpen","setAddGroupOpen","_useState9","_useState10","_useState11","_useState12","checkedUsers","setCheckedUsers","displayListUsers","hasPermission","CONSOLE_UI_RESOURCE","listUsersPermissions","viewUser","viewUserPermissions","addUserToGroup","addUserToGroupPermissions","deleteUser","deleteUserPermissions","users","usersSort","viewAction","disableButtonFunction","setHelpName","refresh","closeModalAndRefresh","close","unCheckAll","arguments","closeAddGroupBulk","PageHeaderWrapper","actions","HelpMenu","PageLayout","actionsTray","SecureComponent","resource","scopes","IAM_SCOPES","ADMIN_DELETE_USER","matchAll","errorProps","disabled","permissionTooltipHelper","DeleteIcon","ADMIN_ADD_USER_TO_GROUP","GroupsIcon","ADMIN_CREATE_USER","ADMIN_LIST_USER_POLICIES","ADMIN_LIST_GROUPS","S3_ALL_RESOURCES","ADMIN_ATTACH_USER_OR_GROUP_POLICY","AddIcon","USER_ADD","ADMIN_LIST_USERS","_e$target","_e$target2","_e$target2$value","_e$target2$checked","HelpBox","iconComponent","UsersIcon","help","href","rel","AButton","selectedUser","addLoading","setAddLoading","setAccessKey","setSecretKey","enabled","setEnabled","getUserInformation","memberOf","status","sendEnabled","trim","AddMembersToGroupIcon","noValidate","autoComplete","onSubmit","preventDefault","_","FormLayout","withBorders","containerPadding","GroupsSelectors","actualPolicy","setActualPolicy","statePolicies","userPolicy","pol","policy","IAMPoliciesIcon","PolicySelectors","selectedPolicy","entityType","hasPolicy","setSelectedServiceAccount","showNewCredentials","setShowNewCredentials","setNewServiceAccount","_useState13","_useState14","selectedSAs","setSelectedSAs","_useState15","_useState16","deleteMultipleOpen","setDeleteMultipleOpen","_useState17","_useState18","policyOpen","setPolicyOpen","fetchRecords","serviceAccounts","DeleteServiceAccount","DeleteMultipleServiceAccounts","setSnackBarMessage","CredentialsPrompt","ServiceAccountPolicy","selectedAccessKey","SectionTitle","separator","justifyContent","gap","ADMIN_CREATE_SERVICEACCOUNT","ADMIN_UPDATE_SERVICEACCOUNT","ADMIN_REMOVE_SERVICEACCOUNT","ADMIN_LIST_SERVICEACCOUNTS","selectSAs","onSelectAll","newPassword","setNewPassword","reNewPassword","setReNewPassword","ChangePasswordIcon","event","request","newSecretKey","account","changeUserPassword","errorToHandler","InputBox","params","useParams","currentGroups","setCurrentGroups","setCurrentPolicies","changeUserPasswordModalOpen","setChangeUserPasswordModalOpen","_useState19","_useState20","_useState21","_useState22","setHasPolicy","_useState23","_useState24","selectedTab","setSelectedTab","enableEnabled","enableUserPermissions","disableEnabled","disableUserPermissions","decodeURLString","canAssignPolicy","assignIAMPolicyPermissions","canAssignGroup","assignGroupPermissions","viewGroup","getGroupPermissions","group","policyDetailsSort","groupTableActions","GROUPS","ChangeUserGroups","SetUserPolicies","ChangeUserPasswordModal","BackLink","ScreenTitle","subTitle","enableDisableUserPermissions","Switch","indicatorLabels","isEnabled","switchOnly","TrashIcon","PasswordKeyIcon","Tabs","currentTabOrPath","onTabClick","options","tabConfig","content","onMouseMove","editServiceAccountPermissions","UserServiceAccountsPanel","POLICIES","FeatureItem","description","fontStyle","flex","border","flexFlow","HelpIconFilled","ChangeAccessPolicyIcon","autoFocus","setUserName","showPassword","overlayIcon","VisibilityOffIcon","RemoveRedEyeIcon","overlayAction","setShowPassword","secretKeylength","setSendEnabled","CreateUserIcon","helpBox","AddUserHelpBox","createUserAsync","unwrap","saveRecord","UserSelector","PasswordSelector","resetFormAsync","ServiceAccountIcon","paddingTop","addSending","setAddSending","getRandomString","isRestrictedByPolicy","setIsRestrictedByPolicy","policyJSON","setPolicyJSON","parse","AddUserServiceAccountHelpBox","addUserServiceAccount","startIcon","PanelTitle","formScrollable","CodeMirrorWrapper","editorHeight","Routes","Route","AddUserScreen","UserDetails","AddUserServiceAccountScreen","ListUsers","NotFoundPage","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/4563.121b75a9.chunk.js","mappings":"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","sources":["screens/Console/Account/DeleteServiceAccount.tsx","screens/Console/Common/CredentialsPrompt/CredentialItem.tsx","screens/Console/Common/CredentialsPrompt/CredentialsPrompt.tsx","screens/Console/Common/PanelTitle/PanelTitle.tsx","screens/Console/Common/WarningMessage/WarningMessage.tsx","screens/Console/Policies/PolicySelectors.tsx","screens/Console/Users/DeleteUser.tsx","screens/Console/Users/GroupsSelectors.tsx","screens/Console/Users/ListUsers.tsx","screens/Console/Users/ChangeUserGroups.tsx","screens/Console/Users/SetUserPolicies.tsx","screens/Console/Users/UserServiceAccountsPanel.tsx","screens/Console/Account/ChangeUserPasswordModal.tsx","screens/Console/Users/UserDetails.tsx","screens/Console/Users/AddUserHelpBox.tsx","screens/Console/Users/UserSelector.tsx","screens/Console/Users/PasswordSelector.tsx","screens/Console/Users/AddUserScreen.tsx","screens/Console/Users/AddUserServiceAccountHelpBox.tsx","screens/Console/Users/AddUserServiceAccountScreen.tsx","screens/Console/Users/Users.tsx","../node_modules/@mui/icons-material/RemoveRedEye.js","../node_modules/@mui/icons-material/VisibilityOff.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, { Fragment } from \"react\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"mds\";\nimport { encodeURLString } from \"../../../common/utils\";\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\n\ninterface IDeleteServiceAccountProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedServiceAccount: string | null;\n}\n\nconst DeleteServiceAccount = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedServiceAccount,\n}: IDeleteServiceAccountProps) => {\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\n if (!selectedServiceAccount) {\n return null;\n }\n\n const onConfirmDelete = () => {\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/service-accounts/${encodeURLString(selectedServiceAccount)}`,\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 Access Key{\" \"}\n \n {selectedServiceAccount}\n \n ?\n \n }\n />\n );\n};\n\nexport default DeleteServiceAccount;\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 { Button, CopyIcon, InputLabel, ReadBox, Box } from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface ICredentialsItem {\n label?: string;\n value?: string;\n}\n\nconst CredentialItem = ({ label = \"\", value = \"\" }: ICredentialsItem) => {\n const dispatch = useAppDispatch();\n\n return (\n \n {label}\n \n {\n dispatch(setModalSnackMessage(`${label} copied to clipboard`));\n }}\n style={{\n marginRight: \"5px\",\n width: \"28px\",\n height: \"28px\",\n padding: \"0px\",\n }}\n icon={}\n />\n \n }\n >\n {value}\n \n \n );\n};\n\nexport default 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, { Fragment } from \"react\";\nimport get from \"lodash/get\";\nimport styled from \"styled-components\";\nimport {\n Box,\n Button,\n DownloadIcon,\n ServiceAccountCredentialsIcon,\n WarnIcon,\n Grid,\n} from \"mds\";\nimport { NewServiceAccount } from \"./types\";\nimport ModalWrapper from \"../ModalWrapper/ModalWrapper\";\nimport CredentialItem from \"./CredentialItem\";\nimport TooltipWrapper from \"../TooltipWrapper/TooltipWrapper\";\nimport { modalStyleUtils } from \"../FormComponents/common/styleLibrary\";\n\nconst WarningBlock = styled.div(({ theme }) => ({\n color: \"red\", // TODO: Change this to themed color variant in mds\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\ninterface ICredentialsPromptProps {\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 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={`New ${entity} Created`}\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 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 { 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 from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ninterface IWarningMessage {\n classes: any;\n label: any;\n title: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n backgroundColor: \"#e78794\",\n borderRadius: 3,\n marginBottom: 20,\n padding: 1,\n paddingBottom: 15,\n },\n labelHeadline: {\n color: \"#000000\",\n fontSize: 14,\n marginLeft: 20,\n },\n labelText: {\n color: \"#000000\",\n fontSize: 14,\n marginLeft: 20,\n marginRight: 40,\n },\n });\n\nconst WarningMessage = ({ classes, label, title }: IWarningMessage) => {\n return (\n
    \n

    {title}

    \n
    {label}
    \n
    \n );\n};\n\nexport default withStyles(styles)(WarningMessage);\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, useCallback, useEffect, useState } from \"react\";\nimport { LinearProgress } from \"@mui/material\";\nimport { DataTable, Grid, Box } from \"mds\";\nimport { policySort } from \"../../../utils/sortFunctions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport SearchBox from \"../Common/SearchBox\";\nimport { setModalErrorSnackMessage } from \"../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { setSelectedPolicies } from \"../Users/AddUsersSlice\";\nimport { useSelector } from \"react-redux\";\nimport { api } from \"../../../api\";\nimport {\n Error,\n HttpResponse,\n ListPoliciesResponse,\n} from \"../../../api/consoleApi\";\n\ninterface ISelectPolicyProps {\n selectedPolicy?: string[];\n noTitle?: boolean;\n}\n\nconst PolicySelectors = ({ noTitle = false }: ISelectPolicyProps) => {\n const dispatch = useAppDispatch();\n // Local State\n const [records, setRecords] = useState([]);\n const [loading, isLoading] = useState(false);\n const [filter, setFilter] = useState(\"\");\n\n const currentPolicies = useSelector(\n (state: AppState) => state.createUser.selectedPolicies,\n );\n\n const fetchPolicies = useCallback(() => {\n isLoading(true);\n\n api.policies\n .listPolicies()\n .then((res: HttpResponse) => {\n const policies = res.data.policies ?? [];\n isLoading(false);\n setRecords(policies.sort(policySort));\n })\n .catch((err: ErrorResponseHandler) => {\n isLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n }, [dispatch]);\n\n //Effects\n useEffect(() => {\n isLoading(true);\n }, []);\n\n useEffect(() => {\n if (loading) {\n fetchPolicies();\n }\n }, [loading, fetchPolicies]);\n\n const selectionChanged = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...currentPolicies]; // We clone the checkedUsers array\n\n if (checked) {\n // If the user has checked this field we need to push this to checkedUsersList\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 // remove empty values\n elements = elements.filter((element) => element !== \"\");\n\n dispatch(setSelectedPolicies(elements));\n };\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.name.includes(filter),\n );\n\n return (\n \n {loading && }\n {records.length > 0 ? (\n \n \n {\n setFilter(value);\n }}\n value={filter}\n label={!noTitle ? \"Assign Policies\" : \"\"}\n />\n \n\n \n \n ) : (\n \n No Policies Available\n \n )}\n \n );\n};\n\nexport default PolicySelectors;\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 { useNavigate } from \"react-router-dom\";\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { ConfirmDeleteIcon, Loader, DataTable } from \"mds\";\nimport { encodeURLString } from \"../../../common/utils\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport WarningMessage from \"../Common/WarningMessage/WarningMessage\";\nimport api from \"../../../common/api\";\nimport { useAppDispatch } from \"../../../store\";\n\ninterface IDeleteUserProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedUsers: string[] | null;\n}\n\nconst DeleteUser = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedUsers,\n}: IDeleteUserProps) => {\n const navigate = useNavigate();\n const dispatch = useAppDispatch();\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 const [loadingSA, setLoadingSA] = useState(true);\n const [hasSA, setHasSA] = useState(false);\n const [userSAList, setUserSAList] = useState([]);\n\n const userLoggedIn = localStorage.getItem(\"userLoggedIn\") || \"\";\n\n useEffect(() => {\n if (selectedUsers) {\n api\n .invoke(\"POST\", `/api/v1/users/service-accounts`, selectedUsers)\n .then((res) => {\n setUserSAList(res.userServiceAccountList);\n if (res.hasSA) {\n setHasSA(true);\n }\n setLoadingSA(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoadingSA(false);\n });\n }\n }, [selectedUsers, dispatch]);\n\n if (!selectedUsers) {\n return null;\n }\n const renderUsers = selectedUsers.map((user) => (\n
    \n {user}\n
    \n ));\n const viewAction = (selectionElement: any): void => {\n navigate(\n `${IAM_PAGES.USERS}/${encodeURLString(selectionElement.userName)}`,\n );\n onClose();\n };\n const tableActions = [\n {\n type: \"view\",\n onClick: viewAction,\n },\n ];\n\n const onConfirmDelete = () => {\n for (let user of selectedUsers) {\n if (user === userLoggedIn) {\n dispatch(\n setErrorSnackMessage({\n errorMessage: \"Cannot delete currently logged in user\",\n detailedError: `Cannot delete currently logged in user ${userLoggedIn}`,\n }),\n );\n closeDeleteModalAndRefresh(true);\n } else {\n invokeDeleteApi(\"DELETE\", `/api/v1/user/${encodeURLString(user)}`);\n closeDeleteModalAndRefresh(true);\n navigate(`${IAM_PAGES.USERS}`);\n }\n }\n };\n\n interface userSACount {\n userName: string;\n numSAs: number;\n }\n\n const noSAtext =\n \"Are you sure you want to delete the following \" +\n selectedUsers.length +\n \" \" +\n \"user\" +\n (selectedUsers.length > 1 ? \"s?\" : \"?\");\n\n return (\n 1 ? \"s\" : \"\"}`}\n confirmText={\"Delete\"}\n isOpen={deleteOpen}\n titleIcon={}\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n loadingSA ? (\n \n ) : (\n \n {hasSA ? (\n \n \n \n \n ) : (\n \n {noSAtext}\n {renderUsers}\n \n )}\n \n )\n }\n />\n );\n};\n\nexport default DeleteUser;\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, { useCallback, useEffect, useState, Fragment } from \"react\";\nimport get from \"lodash/get\";\nimport { LinearProgress } from \"@mui/material\";\nimport { Box, DataTable, Grid } from \"mds\";\nimport { stringSort } from \"../../../utils/sortFunctions\";\nimport { GroupsList } from \"../Groups/types\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { setModalErrorSnackMessage } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport api from \"../../../common/api\";\nimport SearchBox from \"../Common/SearchBox\";\n\ninterface IGroupsProps {\n selectedGroups: string[];\n setSelectedGroups: any;\n}\n\nconst GroupsSelectors = ({\n selectedGroups,\n setSelectedGroups,\n}: IGroupsProps) => {\n const dispatch = useAppDispatch();\n // Local State\n const [records, setRecords] = useState([]);\n const [loading, isLoading] = useState(false);\n const [filter, setFilter] = useState(\"\");\n\n const fetchGroups = useCallback(() => {\n api\n .invoke(\"GET\", `/api/v1/groups`)\n .then((res: GroupsList) => {\n let groups = get(res, \"groups\", []);\n\n if (!groups) {\n groups = [];\n }\n setRecords(groups.sort(stringSort));\n isLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setModalErrorSnackMessage(err));\n isLoading(false);\n });\n }, [dispatch]);\n\n //Effects\n useEffect(() => {\n isLoading(true);\n }, []);\n\n useEffect(() => {\n if (loading) {\n fetchGroups();\n }\n }, [loading, fetchGroups]);\n\n const selGroups = !selectedGroups ? [] : selectedGroups;\n\n const selectionChanged = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selGroups]; // We clone the selectedGroups array\n\n if (checked) {\n // If the user has checked this field we need to push this to selectedGroupsList\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 setSelectedGroups(elements);\n\n return elements;\n };\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.includes(filter),\n );\n\n return (\n \n {loading && }\n {records !== null && records.length > 0 ? (\n \n \n \n \n \n \n ) : (\n \n No Groups Available\n \n )}\n \n );\n};\n\nexport default GroupsSelectors;\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 { useNavigate } from \"react-router-dom\";\nimport {\n AddIcon,\n Button,\n DeleteIcon,\n GroupsIcon,\n HelpBox,\n PageLayout,\n UsersIcon,\n DataTable,\n Grid,\n} from \"mds\";\nimport { LinearProgress } from \"@mui/material\";\nimport { User, UsersList } from \"./types\";\nimport { usersSort } from \"../../../utils/sortFunctions\";\nimport { actionsTray } from \"../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { encodeURLString } from \"../../../common/utils\";\nimport {\n addUserToGroupPermissions,\n CONSOLE_UI_RESOURCE,\n deleteUserPermissions,\n IAM_PAGES,\n IAM_SCOPES,\n listUsersPermissions,\n permissionTooltipHelper,\n S3_ALL_RESOURCES,\n viewUserPermissions,\n} from \"../../../common/SecureComponent/permissions\";\nimport api from \"../../../common/api\";\nimport AButton from \"../Common/AButton/AButton\";\nimport SearchBox from \"../Common/SearchBox\";\nimport withSuspense from \"../Common/Components/withSuspense\";\n\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../common/SecureComponent\";\nimport { setErrorSnackMessage, setHelpName } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport TooltipWrapper from \"../Common/TooltipWrapper/TooltipWrapper\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport HelpMenu from \"../HelpMenu\";\n\nconst DeleteUser = withSuspense(React.lazy(() => import(\"./DeleteUser\")));\nconst AddToGroup = withSuspense(React.lazy(() => import(\"./BulkAddToGroup\")));\n\nconst ListUsers = () => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const [records, setRecords] = useState([]);\n const [loading, setLoading] = useState(true);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [addGroupOpen, setAddGroupOpen] = useState(false);\n const [filter, setFilter] = useState(\"\");\n const [checkedUsers, setCheckedUsers] = useState([]);\n\n const displayListUsers = hasPermission(\n CONSOLE_UI_RESOURCE,\n listUsersPermissions,\n );\n\n const viewUser = hasPermission(CONSOLE_UI_RESOURCE, viewUserPermissions);\n\n const addUserToGroup = hasPermission(\n CONSOLE_UI_RESOURCE,\n addUserToGroupPermissions,\n );\n\n const deleteUser = hasPermission(CONSOLE_UI_RESOURCE, deleteUserPermissions);\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n if (refresh) {\n setLoading(true);\n setCheckedUsers([]);\n }\n };\n\n const closeAddGroupBulk = (unCheckAll: boolean = false) => {\n setAddGroupOpen(false);\n if (unCheckAll) {\n setCheckedUsers([]);\n }\n };\n\n useEffect(() => {\n if (loading) {\n if (displayListUsers) {\n api\n .invoke(\"GET\", `/api/v1/users`)\n .then((res: UsersList) => {\n const users = res.users === null ? [] : res.users;\n\n setLoading(false);\n setRecords(users.sort(usersSort));\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n dispatch(setErrorSnackMessage(err));\n });\n } else {\n setLoading(false);\n }\n }\n }, [loading, dispatch, displayListUsers]);\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.accessKey.includes(filter),\n );\n\n const selectionChanged = (e: React.ChangeEvent) => {\n const { target: { value = \"\", checked = false } = {} } = e;\n\n let elements: string[] = [...checkedUsers]; // We clone the checkedUsers array\n\n if (checked) {\n // If the user has checked this field we need to push this to checkedUsersList\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\n setCheckedUsers(elements);\n\n return elements;\n };\n\n const viewAction = (selectionElement: any): void => {\n navigate(\n `${IAM_PAGES.USERS}/${encodeURLString(selectionElement.accessKey)}`,\n );\n };\n\n const tableActions = [\n {\n type: \"view\",\n onClick: viewAction,\n disableButtonFunction: () => !viewUser,\n },\n {\n type: \"edit\",\n onClick: viewAction,\n disableButtonFunction: () => !viewUser,\n },\n ];\n\n useEffect(() => {\n dispatch(setHelpName(\"list_users\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n {deleteOpen && (\n {\n closeDeleteModalAndRefresh(refresh);\n }}\n />\n )}\n {addGroupOpen && (\n {\n closeAddGroupBulk(close);\n }}\n />\n )}\n } />\n\n \n \n \n \n \n \n {\n setDeleteOpen(true);\n }}\n label={\"Delete Selected\"}\n icon={}\n disabled={checkedUsers.length === 0}\n variant={\"secondary\"}\n aria-label=\"delete-selected-users\"\n />\n \n \n \n \n }\n disabled={checkedUsers.length <= 0}\n onClick={() => {\n if (checkedUsers.length > 0) {\n setAddGroupOpen(true);\n }\n }}\n variant={\"regular\"}\n />\n \n \n \n \n }\n onClick={() => {\n navigate(`${IAM_PAGES.USER_ADD}`);\n }}\n variant={\"callAction\"}\n disabled={\n !hasPermission(\n \"console\",\n [\n IAM_SCOPES.ADMIN_CREATE_USER,\n IAM_SCOPES.ADMIN_LIST_USER_POLICIES,\n IAM_SCOPES.ADMIN_LIST_GROUPS,\n IAM_SCOPES.ADMIN_ATTACH_USER_OR_GROUP_POLICY,\n ],\n true,\n )\n }\n />\n \n \n \n\n {loading && }\n {!loading && (\n \n {records.length > 0 && (\n \n \n \n \n \n \n }\n help={\n \n A MinIO user consists of a unique access key (username)\n and corresponding secret key (password). Clients must\n authenticate their identity by specifying both a valid\n access key (username) and the corresponding secret key\n (password) of an existing MinIO user.\n
    \n Groups provide a simplified method for managing shared\n permissions among users with common access patterns and\n workloads.\n
    \n
    \n Users inherit access permissions to data and resources\n through the groups they belong to.\n
    \n MinIO uses Policy-Based Access Control (PBAC) to define\n the authorized actions and resources to which an\n authenticated user has access. Each policy describes one\n or more actions and conditions that outline the\n permissions of a user or group of users.\n
    \n
    \n Each user can access only those resources and operations\n which are explicitly granted by the built-in role. MinIO\n denies access to any other resource or action by\n default.\n
    \n
    \n You can learn more at our{\" \"}\n \n documentation\n \n .\n
    \n }\n />\n
    \n )}\n {records.length === 0 && (\n \n \n }\n help={\n \n A MinIO user consists of a unique access key\n (username) and corresponding secret key (password).\n Clients must authenticate their identity by specifying\n both a valid access key (username) and the\n corresponding secret key (password) of an existing\n MinIO user.\n
    \n Groups provide a simplified method for managing shared\n permissions among users with common access patterns\n and workloads.\n
    \n
    \n Users inherit access permissions to data and resources\n through the groups they belong to.\n
    \n MinIO uses Policy-Based Access Control (PBAC) to\n define the authorized actions and resources to which\n an authenticated user has access. Each policy\n describes one or more actions and conditions that\n outline the permissions of a user or group of users.\n
    \n
    \n Each user can access only those resources and\n operations which are explicitly granted by the\n built-in role. MinIO denies access to any other\n resource or action by default.\n \n
    \n
    \n To get started,{\" \"}\n {\n navigate(`${IAM_PAGES.USER_ADD}`);\n }}\n >\n Create a User\n \n .\n \n
    \n }\n />\n
    \n
    \n )}\n
    \n )}\n
    \n
    \n
    \n );\n};\n\nexport default ListUsers;\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, { useCallback, useEffect, useState, Fragment } from \"react\";\nimport { LinearProgress } from \"@mui/material\";\nimport { AddMembersToGroupIcon, Button, FormLayout, Grid, Box } from \"mds\";\nimport { modalStyleUtils } from \"../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { encodeURLString } from \"../../../common/utils\";\nimport { setModalErrorSnackMessage } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport api from \"../../../common/api\";\nimport GroupsSelectors from \"./GroupsSelectors\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\n\ninterface IChangeUserGroupsContentProps {\n closeModalAndRefresh: () => void;\n selectedUser: string;\n open: boolean;\n}\n\nconst ChangeUserGroups = ({\n closeModalAndRefresh,\n selectedUser,\n open,\n}: IChangeUserGroupsContentProps) => {\n const dispatch = useAppDispatch();\n const [addLoading, setAddLoading] = useState(false);\n const [accessKey, setAccessKey] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n const [enabled, setEnabled] = useState(false);\n const [selectedGroups, setSelectedGroups] = useState([]);\n\n const getUserInformation = useCallback(() => {\n if (!selectedUser) {\n return null;\n }\n\n api\n .invoke(\"GET\", `/api/v1/user/${encodeURLString(selectedUser)}`)\n .then((res) => {\n setAddLoading(false);\n setAccessKey(res.accessKey);\n setSelectedGroups(res.memberOf || []);\n setEnabled(res.status === \"enabled\");\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n }, [selectedUser, dispatch]);\n\n useEffect(() => {\n if (selectedUser === null) {\n setAccessKey(\"\");\n setSecretKey(\"\");\n setSelectedGroups([]);\n } else {\n getUserInformation();\n }\n }, [selectedUser, getUserInformation]);\n\n const saveRecord = (event: React.FormEvent) => {\n event.preventDefault();\n\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n if (selectedUser !== null) {\n api\n .invoke(\"PUT\", `/api/v1/user/${encodeURLString(selectedUser)}`, {\n status: enabled ? \"enabled\" : \"disabled\",\n groups: selectedGroups,\n })\n .then((_) => {\n setAddLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n } else {\n api\n .invoke(\"POST\", \"/api/v1/users\", {\n accessKey,\n secretKey,\n groups: selectedGroups,\n })\n .then((_) => {\n setAddLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n }\n };\n\n const resetForm = () => {\n if (selectedUser !== null) {\n setSelectedGroups([]);\n return;\n }\n setAccessKey(\"\");\n setSecretKey(\"\");\n setSelectedGroups([]);\n };\n\n const sendEnabled =\n accessKey.trim() !== \"\" &&\n ((secretKey.trim() !== \"\" && selectedUser === null) ||\n selectedUser !== null);\n return (\n {\n closeModalAndRefresh();\n }}\n modalOpen={open}\n title={\"Set Groups\"}\n titleIcon={}\n >\n \n ) => {\n saveRecord(e);\n }}\n >\n \n {\n setSelectedGroups(elements);\n }}\n />\n \n \n \n\n \n \n {addLoading && (\n \n \n \n )}\n \n \n \n );\n};\n\nexport default ChangeUserGroups;\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\";\nimport { Box, Button, FormLayout, IAMPoliciesIcon } from \"mds\";\nimport { LinearProgress } from \"@mui/material\";\nimport { useSelector } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport { modalStyleUtils } from \"../Common/FormComponents/common/styleLibrary\";\nimport { IPolicyItem } from \"../Users/types\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../common/api\";\nimport PolicySelectors from \"../Policies/PolicySelectors\";\nimport { setModalErrorSnackMessage } from \"../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { setSelectedPolicies } from \"./AddUsersSlice\";\n\ninterface ISetUserPoliciesProps {\n closeModalAndRefresh: () => void;\n selectedUser: string;\n currentPolicies: IPolicyItem[];\n open: boolean;\n}\n\nconst SetUserPolicies = ({\n closeModalAndRefresh,\n selectedUser,\n currentPolicies,\n open,\n}: ISetUserPoliciesProps) => {\n const dispatch = useAppDispatch();\n //Local States\n const [loading, setLoading] = useState(false);\n const [actualPolicy, setActualPolicy] = useState([]);\n\n const statePolicies = useSelector(\n (state: AppState) => state.createUser.selectedPolicies,\n );\n\n const SetUserPoliciesAction = () => {\n let entity = \"user\";\n let value = selectedUser;\n\n setLoading(true);\n\n api\n .invoke(\"PUT\", `/api/v1/set-policy`, {\n name: statePolicies,\n entityName: value,\n entityType: entity,\n })\n .then(() => {\n setLoading(false);\n dispatch(setSelectedPolicies([]));\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n };\n\n const resetSelection = () => {\n dispatch(setSelectedPolicies(actualPolicy));\n };\n\n useEffect(() => {\n if (open) {\n const userPolicy: string[] = currentPolicies.map((pol) => {\n return pol.policy;\n });\n setActualPolicy(userPolicy);\n dispatch(setSelectedPolicies(userPolicy));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open, selectedUser]);\n\n return (\n {\n closeModalAndRefresh();\n }}\n modalOpen={open}\n title=\"Set Policies\"\n titleIcon={}\n >\n \n \n \n \n \n \n \n {loading && (\n \n \n \n )}\n \n );\n};\n\nexport default SetUserPolicies;\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 { useNavigate } from \"react-router-dom\";\nimport { AddIcon, Box, Button, DataTable, DeleteIcon, SectionTitle } from \"mds\";\nimport api from \"../../../common/api\";\nimport { NewServiceAccount } from \"../Common/CredentialsPrompt/types\";\nimport { stringSort } from \"../../../utils/sortFunctions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport DeleteServiceAccount from \"../Account/DeleteServiceAccount\";\nimport CredentialsPrompt from \"../Common/CredentialsPrompt/CredentialsPrompt\";\n\nimport DeleteMultipleServiceAccounts from \"./DeleteMultipleServiceAccounts\";\nimport { selectSAs } from \"../Configurations/utils\";\nimport ServiceAccountPolicy from \"../Account/ServiceAccountPolicy\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport { SecureComponent } from \"../../../common/SecureComponent\";\nimport { encodeURLString } from \"../../../common/utils\";\nimport {\n setErrorSnackMessage,\n setHelpName,\n setSnackBarMessage,\n} from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport TooltipWrapper from \"../Common/TooltipWrapper/TooltipWrapper\";\n\ninterface IUserServiceAccountsProps {\n user: string;\n hasPolicy: boolean;\n}\n\nconst UserServiceAccountsPanel = ({\n user,\n hasPolicy,\n}: IUserServiceAccountsProps) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const [records, setRecords] = useState([]);\n const [loading, setLoading] = useState(false);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedServiceAccount, setSelectedServiceAccount] = useState<\n string | null\n >(null);\n const [showNewCredentials, setShowNewCredentials] = useState(false);\n const [newServiceAccount, setNewServiceAccount] =\n useState(null);\n const [selectedSAs, setSelectedSAs] = useState([]);\n const [deleteMultipleOpen, setDeleteMultipleOpen] = useState(false);\n const [policyOpen, setPolicyOpen] = useState(false);\n\n useEffect(() => {\n fetchRecords();\n }, []);\n\n useEffect(() => {\n if (loading) {\n api\n .invoke(\"GET\", `/api/v1/user/${encodeURLString(user)}/service-accounts`)\n .then((res: string[]) => {\n const serviceAccounts = res.sort(stringSort);\n setLoading(false);\n setRecords(serviceAccounts);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoading(false);\n });\n }\n }, [loading, setLoading, setRecords, user, dispatch]);\n\n const fetchRecords = () => {\n setLoading(true);\n };\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n\n if (refresh) {\n fetchRecords();\n }\n };\n\n const closeDeleteMultipleModalAndRefresh = (refresh: boolean) => {\n setDeleteMultipleOpen(false);\n if (refresh) {\n dispatch(setSnackBarMessage(`Access Keys deleted successfully.`));\n setSelectedSAs([]);\n setLoading(true);\n }\n };\n\n const selectAllItems = () => {\n if (selectedSAs.length === records.length) {\n setSelectedSAs([]);\n return;\n }\n setSelectedSAs(records);\n };\n\n const closeCredentialsModal = () => {\n setShowNewCredentials(false);\n setNewServiceAccount(null);\n };\n\n const policyModalOpen = (selectedServiceAccount: string) => {\n setSelectedServiceAccount(selectedServiceAccount);\n setPolicyOpen(true);\n };\n\n const confirmDeleteServiceAccount = (selectedServiceAccount: string) => {\n setSelectedServiceAccount(selectedServiceAccount);\n setDeleteOpen(true);\n };\n\n const closePolicyModal = () => {\n setPolicyOpen(false);\n setLoading(true);\n };\n\n const tableActions = [\n { type: \"view\", onClick: policyModalOpen },\n { type: \"delete\", onClick: confirmDeleteServiceAccount },\n ];\n\n useEffect(() => {\n dispatch(setHelpName(\"user_details_accounts\"));\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return (\n \n {deleteOpen && (\n {\n closeDeleteModalAndRefresh(refresh);\n }}\n />\n )}\n {deleteMultipleOpen && (\n \n )}\n {showNewCredentials && (\n {\n closeCredentialsModal();\n }}\n entity=\"Access Key\"\n />\n )}\n {policyOpen && (\n \n )}\n\n \n \n {\n setDeleteMultipleOpen(true);\n }}\n label={\"Delete Selected\"}\n icon={}\n disabled={selectedSAs.length === 0}\n variant={\"secondary\"}\n />\n \n \n \n }\n onClick={() => {\n navigate(\n `/identity/users/new-user-sa/${encodeURLString(user)}`,\n );\n }}\n disabled={!hasPolicy}\n />\n \n \n \n }\n >\n Access Keys\n \n\n selectSAs(e, setSelectedSAs, selectedSAs)}\n onSelectAll={selectAllItems}\n />\n \n );\n};\n\nexport default UserServiceAccountsPanel;\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 { Box, Button, ChangePasswordIcon, FormLayout, InputBox } from \"mds\";\nimport { LinearProgress } from \"@mui/material\";\nimport { modalStyleUtils } from \"../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport { api } from \"api\";\nimport { ChangeUserPasswordRequest } from \"api/consoleApi\";\nimport { errorToHandler } from \"api/errors\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\n\ninterface IChangeUserPasswordProps {\n open: boolean;\n userName: string;\n closeModal: () => void;\n}\n\nconst ChangeUserPassword = ({\n open,\n userName,\n closeModal,\n}: IChangeUserPasswordProps) => {\n const dispatch = useAppDispatch();\n const [newPassword, setNewPassword] = useState(\"\");\n const [reNewPassword, setReNewPassword] = useState(\"\");\n const [loading, setLoading] = useState(false);\n\n const changeUserPassword = (event: React.FormEvent) => {\n event.preventDefault();\n\n if (loading) {\n return;\n }\n setLoading(true);\n\n if (newPassword.length < 8) {\n dispatch(\n setModalErrorSnackMessage({\n errorMessage: \"Passwords must be at least 8 characters long\",\n detailedError: \"\",\n }),\n );\n setLoading(false);\n return;\n }\n\n let request: ChangeUserPasswordRequest = {\n selectedUser: userName,\n newSecretKey: newPassword,\n };\n\n api.account\n .changeUserPassword(request)\n .then((res) => {\n setLoading(false);\n setNewPassword(\"\");\n setReNewPassword(\"\");\n closeModal();\n })\n .catch((err) => {\n setLoading(false);\n setNewPassword(\"\");\n setReNewPassword(\"\");\n dispatch(setModalErrorSnackMessage(errorToHandler(err)));\n });\n };\n\n return open ? (\n {\n setNewPassword(\"\");\n setReNewPassword(\"\");\n closeModal();\n }}\n titleIcon={}\n >\n ) => {\n changeUserPassword(e);\n }}\n >\n \n \n Change password for: {userName}\n \n ) => {\n setNewPassword(event.target.value);\n }}\n label=\"New Password\"\n type=\"password\"\n value={newPassword}\n />\n ) => {\n setReNewPassword(event.target.value);\n }}\n label=\"Type New Password Again\"\n type=\"password\"\n value={reNewPassword}\n />\n \n 0 && newPassword === reNewPassword)\n }\n label={\"Save\"}\n />\n \n {loading && (\n \n \n \n )}\n \n \n \n ) : null;\n};\n\nexport default ChangeUserPassword;\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, useCallback, useEffect, useState } from \"react\";\nimport { useNavigate, useParams } from \"react-router-dom\";\nimport {\n AddIcon,\n BackLink,\n Box,\n Button,\n DataTable,\n Grid,\n IAMPoliciesIcon,\n PageLayout,\n PasswordKeyIcon,\n ScreenTitle,\n SectionTitle,\n Switch,\n Tabs,\n TrashIcon,\n UsersIcon,\n} from \"mds\";\nimport { IPolicyItem } from \"./types\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { decodeURLString, encodeURLString } from \"../../../common/utils\";\nimport { setHelpName, setModalErrorSnackMessage } from \"../../../systemSlice\";\nimport {\n assignGroupPermissions,\n assignIAMPolicyPermissions,\n CONSOLE_UI_RESOURCE,\n deleteUserPermissions,\n disableUserPermissions,\n editServiceAccountPermissions,\n enableDisableUserPermissions,\n enableUserPermissions,\n getGroupPermissions,\n IAM_PAGES,\n permissionTooltipHelper,\n} from \"../../../common/SecureComponent/permissions\";\nimport { hasPermission } from \"../../../common/SecureComponent\";\nimport { useAppDispatch } from \"../../../store\";\nimport { policyDetailsSort } from \"../../../utils/sortFunctions\";\nimport TooltipWrapper from \"../Common/TooltipWrapper/TooltipWrapper\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport HelpMenu from \"../HelpMenu\";\nimport api from \"../../../common/api\";\nimport ChangeUserGroups from \"./ChangeUserGroups\";\nimport SetUserPolicies from \"./SetUserPolicies\";\nimport UserServiceAccountsPanel from \"./UserServiceAccountsPanel\";\nimport ChangeUserPasswordModal from \"../Account/ChangeUserPasswordModal\";\nimport DeleteUser from \"./DeleteUser\";\n\ninterface IGroupItem {\n group: string;\n}\n\nconst UserDetails = () => {\n const dispatch = useAppDispatch();\n const params = useParams();\n const navigate = useNavigate();\n\n const [loading, setLoading] = useState(false);\n const [addGroupOpen, setAddGroupOpen] = useState(false);\n const [policyOpen, setPolicyOpen] = useState(false);\n const [addLoading, setAddLoading] = useState(false);\n const [enabled, setEnabled] = useState(false);\n const [selectedGroups, setSelectedGroups] = useState([]);\n const [currentGroups, setCurrentGroups] = useState([]);\n const [currentPolicies, setCurrentPolicies] = useState([]);\n const [changeUserPasswordModalOpen, setChangeUserPasswordModalOpen] =\n useState(false);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [hasPolicy, setHasPolicy] = useState(false);\n const [selectedTab, setSelectedTab] = useState(\"groups\");\n\n const enableEnabled =\n hasPermission(CONSOLE_UI_RESOURCE, enableUserPermissions) && !enabled;\n const disableEnabled =\n hasPermission(CONSOLE_UI_RESOURCE, disableUserPermissions) && enabled;\n\n const userName = decodeURLString(params.userName || \"\");\n\n const changeUserPassword = () => {\n setChangeUserPasswordModalOpen(true);\n };\n\n const deleteUser = () => {\n setDeleteOpen(true);\n };\n\n const userLoggedIn = localStorage.getItem(\"userLoggedIn\") || \"\";\n const canAssignPolicy = hasPermission(\n CONSOLE_UI_RESOURCE,\n assignIAMPolicyPermissions,\n true,\n );\n const canAssignGroup = hasPermission(\n CONSOLE_UI_RESOURCE,\n assignGroupPermissions,\n true,\n );\n\n const viewGroup = hasPermission(CONSOLE_UI_RESOURCE, getGroupPermissions);\n\n const getUserInformation = useCallback(() => {\n if (userName === \"\") {\n return null;\n }\n setLoading(true);\n api\n .invoke(\"GET\", `/api/v1/user/${encodeURLString(userName)}`)\n .then((res) => {\n setAddLoading(false);\n const memberOf = res.memberOf || [];\n setSelectedGroups(memberOf);\n\n const currentGroups: IGroupItem[] = memberOf.map((group: string) => {\n return {\n group: group,\n };\n });\n\n setCurrentGroups(currentGroups);\n const currentPolicies: IPolicyItem[] = res.policy.map(\n (policy: string) => {\n return {\n policy: policy,\n };\n },\n );\n\n currentPolicies.sort(policyDetailsSort);\n\n setCurrentPolicies(currentPolicies);\n setEnabled(res.status === \"enabled\");\n setHasPolicy(res.hasPolicy);\n setLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n }, [userName, dispatch]);\n\n const saveRecord = (isEnabled: boolean) => {\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n api\n .invoke(\"PUT\", `/api/v1/user/${encodeURLString(userName)}`, {\n status: isEnabled ? \"enabled\" : \"disabled\",\n groups: selectedGroups,\n })\n .then((_) => {\n setAddLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n };\n\n useEffect(() => {\n dispatch(setHelpName(\"user_details_groups\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n getUserInformation();\n }, [getUserInformation]);\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n if (refresh) {\n getUserInformation();\n }\n };\n\n const groupViewAction = (group: any) => {\n navigate(`${IAM_PAGES.GROUPS}/${encodeURLString(group.group)}`);\n };\n\n const groupTableActions = [\n {\n type: \"view\",\n onClick: groupViewAction,\n disableButtonFunction: () => !viewGroup,\n },\n ];\n\n return (\n \n {addGroupOpen && (\n {\n setAddGroupOpen(false);\n getUserInformation();\n }}\n />\n )}\n {policyOpen && (\n {\n setPolicyOpen(false);\n getUserInformation();\n }}\n />\n )}\n {deleteOpen && (\n {\n closeDeleteModalAndRefresh(refresh);\n }}\n />\n )}\n {changeUserPasswordModalOpen && (\n setChangeUserPasswordModalOpen(false)}\n />\n )}\n \n navigate(IAM_PAGES.USERS)}\n />\n \n }\n actions={}\n />\n \n \n \n }\n title={userName}\n subTitle={\"\"}\n actions={\n \n \n User Status:\n \n \n {enabled ? \"Enabled\" : \"Disabled\"}\n \n \n {\n setEnabled(!enabled);\n saveRecord(!enabled);\n }}\n switchOnly\n disabled={!enableEnabled && !disableEnabled}\n />\n \n \n }\n variant={\"secondary\"}\n disabled={\n !hasPermission(\n CONSOLE_UI_RESOURCE,\n deleteUserPermissions,\n ) || userLoggedIn === userName\n }\n />\n \n\n \n }\n variant={\"regular\"}\n />\n \n \n }\n sx={{ marginBottom: 15 }}\n />\n \n\n \n \n \n dispatch(setHelpName(\"user_details_groups\"))\n }\n >\n \n {\n setAddGroupOpen(true);\n }}\n icon={}\n variant={\"callAction\"}\n disabled={!canAssignGroup}\n />\n \n }\n >\n Groups\n \n \n \n dispatch(setHelpName(\"user_details_groups\"))\n }\n >\n \n \n \n ),\n },\n {\n tabConfig: {\n id: \"service_accounts\",\n label: \"Service Accounts\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n editServiceAccountPermissions,\n ),\n },\n content: (\n \n ),\n },\n {\n tabConfig: {\n id: \"policies\",\n label: \"Policies\",\n disabled: !canAssignPolicy,\n },\n content: (\n \n \n dispatch(setHelpName(\"user_details_policies\"))\n }\n >\n \n {\n setPolicyOpen(true);\n }}\n icon={}\n variant={\"callAction\"}\n disabled={!canAssignPolicy}\n />\n \n }\n >\n Policies\n \n \n \n {\n navigate(\n `${IAM_PAGES.POLICIES}/${encodeURLString(\n policy.policy,\n )}`,\n );\n },\n },\n ]}\n columns={[{ label: \"Name\", elementKey: \"policy\" }]}\n isLoading={loading}\n records={currentPolicies}\n entityName=\"Policies\"\n idField=\"policy\"\n />\n \n \n ),\n },\n ]}\n />\n \n \n \n \n );\n};\n\nexport default UserDetails;\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 .\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\nimport {\n ChangeAccessPolicyIcon,\n GroupsIcon,\n HelpIconFilled,\n UsersIcon,\n} from \"mds\";\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 AddUserHelpBox = () => {\n return (\n \n \n \n
    Learn more about the Users feature
    \n \n \n A MinIO user consists of a unique access key (username) and\n corresponding secret key (password). Clients must authenticate their\n identity by specifying both a valid access key (username) and the\n corresponding secret key (password) of an existing MinIO user.\n
    \n
    \n Each user can have one or more assigned policies that explicitly list\n the actions and resources to which that user has access. Users can also\n inherit policies from the groups in which they have membership.\n
    \n
    \n\n \n } description={`Create Users`} />\n } description={`Manage Groups`} />\n }\n description={`Assign Policies`}\n />\n \n \n );\n};\n\nexport default AddUserHelpBox;\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 { setUserName } from \"./AddUsersSlice\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { InputBox } from \"mds\";\n\nconst UserSelector = () => {\n const dispatch = useAppDispatch();\n const userName = useSelector((state: AppState) => state.createUser.userName);\n return (\n ) => {\n dispatch(setUserName(e.target.value));\n }}\n />\n );\n};\nexport default UserSelector;\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 { InputBox } from \"mds\";\nimport { setSecretKey, setShowPassword } from \"./AddUsersSlice\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\n\nconst PasswordSelector = () => {\n const dispatch = useAppDispatch();\n const showPassword = useSelector(\n (state: AppState) => state.createUser.showPassword,\n );\n const secretKey = useSelector(\n (state: AppState) => state.createUser.secretKey,\n );\n return (\n ) => {\n dispatch(setSecretKey(e.target.value));\n }}\n autoComplete=\"current-password\"\n overlayIcon={showPassword ? : }\n overlayAction={() => dispatch(setShowPassword(!showPassword))}\n />\n );\n};\nexport default PasswordSelector;\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 } from \"react\";\nimport {\n BackLink,\n Button,\n CreateUserIcon,\n FormLayout,\n Grid,\n PageLayout,\n} from \"mds\";\nimport { createUserAsync, resetFormAsync } from \"./thunk/AddUsersThunk\";\nimport { modalStyleUtils } from \"../Common/FormComponents/common/styleLibrary\";\nimport { LinearProgress } from \"@mui/material\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport { useNavigate } from \"react-router-dom\";\nimport { setErrorSnackMessage, setHelpName } from \"../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { useSelector } from \"react-redux\";\nimport {\n setAddLoading,\n setSelectedGroups,\n setSendEnabled,\n} from \"./AddUsersSlice\";\nimport AddUserHelpBox from \"./AddUserHelpBox\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport HelpMenu from \"../HelpMenu\";\nimport PolicySelectors from \"../Policies/PolicySelectors\";\nimport UserSelector from \"./UserSelector\";\nimport PasswordSelector from \"./PasswordSelector\";\nimport GroupsSelectors from \"./GroupsSelectors\";\n\nconst AddUser = () => {\n const dispatch = useAppDispatch();\n const selectedPolicies = useSelector(\n (state: AppState) => state.createUser.selectedPolicies,\n );\n const selectedGroups = useSelector(\n (state: AppState) => state.createUser.selectedGroups,\n );\n const addLoading = useSelector(\n (state: AppState) => state.createUser.addLoading,\n );\n const sendEnabled = useSelector(\n (state: AppState) => state.createUser.sendEnabled,\n );\n const secretKeylength = useSelector(\n (state: AppState) => state.createUser.secretKeylength,\n );\n const navigate = useNavigate();\n dispatch(setSendEnabled());\n\n const saveRecord = (event: React.FormEvent) => {\n event.preventDefault();\n if (secretKeylength < 8) {\n dispatch(\n setErrorSnackMessage({\n errorMessage: \"Passwords must be at least 8 characters long\",\n detailedError: \"\",\n }),\n );\n dispatch(setAddLoading(false));\n return;\n }\n if (addLoading) {\n return;\n }\n dispatch(setAddLoading(true));\n dispatch(createUserAsync())\n .unwrap() // <-- async Thunk returns a promise, that can be 'unwrapped')\n .then(() => navigate(`${IAM_PAGES.USERS}`));\n };\n\n useEffect(() => {\n dispatch(setHelpName(\"add_user\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n \n navigate(IAM_PAGES.USERS)}\n />\n }\n actions={}\n />\n \n }\n helpBox={}\n >\n ) => {\n saveRecord(e);\n }}\n >\n \n \n \n {\n dispatch(setSelectedGroups(elements));\n }}\n />\n {addLoading && (\n \n \n \n )}\n\n \n {\n dispatch(resetFormAsync());\n }}\n label={\"Clear\"}\n />\n\n \n \n \n \n \n \n \n );\n};\n\nexport default AddUser;\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 .\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\nimport {\n HelpIconFilled,\n IAMPoliciesIcon,\n PasswordKeyIcon,\n ServiceAccountIcon,\n} from \"mds\";\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 AddUserServiceAccountHelpBox = () => {\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 AddUserServiceAccountHelpBox;\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 { useNavigate, useParams } from \"react-router-dom\";\nimport {\n BackLink,\n Box,\n Button,\n FormLayout,\n Grid,\n InputBox,\n PageLayout,\n PasswordKeyIcon,\n ServiceAccountCredentialsIcon,\n ServiceAccountIcon,\n Switch,\n} from \"mds\";\nimport { modalStyleUtils } from \"../Common/FormComponents/common/styleLibrary\";\nimport { NewServiceAccount } from \"../Common/CredentialsPrompt/types\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport {\n decodeURLString,\n encodeURLString,\n getRandomString,\n} from \"../../../common/utils\";\nimport { setErrorSnackMessage, setHelpName } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport api from \"../../../../src/common/api\";\nimport CredentialsPrompt from \"../Common/CredentialsPrompt/CredentialsPrompt\";\nimport AddUserServiceAccountHelpBox from \"./AddUserServiceAccountHelpBox\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport HelpMenu from \"../HelpMenu\";\nimport PanelTitle from \"../Common/PanelTitle/PanelTitle\";\n\nconst AddServiceAccount = () => {\n const dispatch = useAppDispatch();\n const params = useParams();\n const navigate = useNavigate();\n\n const [addSending, setAddSending] = useState(false);\n const [accessKey, setAccessKey] = useState(getRandomString(20));\n const [secretKey, setSecretKey] = useState(getRandomString(40));\n const [isRestrictedByPolicy, setIsRestrictedByPolicy] =\n useState(false);\n const [newServiceAccount, setNewServiceAccount] =\n useState(null);\n const [policyJSON, setPolicyJSON] = useState(\"\");\n\n const userName = decodeURLString(params.userName || \"\");\n\n useEffect(() => {\n if (addSending) {\n api\n .invoke(\n \"POST\",\n `/api/v1/user/${encodeURLString(\n userName,\n )}/service-account-credentials`,\n {\n policy: policyJSON,\n accessKey: accessKey,\n secretKey: secretKey,\n },\n )\n .then((res) => {\n setAddSending(false);\n setNewServiceAccount({\n accessKey: res.accessKey || \"\",\n secretKey: res.secretKey || \"\",\n url: res.url || \"\",\n });\n })\n .catch((err: ErrorResponseHandler) => {\n setAddSending(false);\n dispatch(setErrorSnackMessage(err));\n });\n }\n }, [\n addSending,\n setAddSending,\n dispatch,\n policyJSON,\n userName,\n accessKey,\n secretKey,\n ]);\n\n useEffect(() => {\n if (isRestrictedByPolicy) {\n api\n .invoke(\"GET\", `/api/v1/user/${encodeURLString(userName)}/policies`)\n\n .then((res) => {\n setPolicyJSON(JSON.stringify(JSON.parse(res.policy), null, 4));\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n });\n }\n }, [isRestrictedByPolicy, userName]);\n\n const addUserServiceAccount = (e: React.FormEvent) => {\n e.preventDefault();\n setAddSending(true);\n };\n\n const resetForm = () => {\n setNewServiceAccount(null);\n setAccessKey(\"\");\n setSecretKey(\"\");\n };\n\n const closeCredentialsModal = () => {\n setNewServiceAccount(null);\n navigate(`${IAM_PAGES.USERS}/${encodeURLString(userName)}`);\n };\n\n useEffect(() => {\n dispatch(setHelpName(\"add_user_SA\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n {newServiceAccount && (\n {\n closeCredentialsModal();\n }}\n entity=\"Access Key\"\n />\n )}\n \n \n navigate(`${IAM_PAGES.USERS}/${encodeURLString(userName)}`)\n }\n label={\"User Details - \" + userName}\n />\n }\n actions={}\n />\n \n }\n icon={}\n title={`Create Access Key for ${userName}`}\n >\n ) => {\n e.preventDefault();\n addUserServiceAccount(e);\n }}\n >\n {\n setAccessKey(e.target.value);\n }}\n startIcon={}\n />\n {\n setSecretKey(e.target.value);\n }}\n startIcon={}\n />\n ) => {\n setIsRestrictedByPolicy(event.target.checked);\n }}\n label={\"Restrict beyond user policy\"}\n description={\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 {isRestrictedByPolicy && (\n \n \n \n Current User Policy - edit the JSON to remove permissions\n 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\nexport default 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 { Route, Routes } from \"react-router-dom\";\nimport NotFoundPage from \"../../NotFoundPage\";\nimport ListUsers from \"./ListUsers\";\nimport UserDetails from \"./UserDetails\";\nimport AddUserScreen from \"./AddUserScreen\";\nimport AddUserServiceAccountScreen from \"./AddUserServiceAccountScreen\";\n\nconst Users = () => {\n return (\n \n } />\n } />\n }\n />\n } />\n } />\n \n );\n};\n\nexport default Users;\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n}), 'RemoveRedEye');\nexports.default = _default;","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"\n}), 'VisibilityOff');\nexports.default = _default;"],"names":["_ref","closeDeleteModalAndRefresh","deleteOpen","selectedServiceAccount","dispatch","useAppDispatch","_useApi","useApi","err","setErrorSnackMessage","_useApi2","_slicedToArray","deleteLoading","invokeDeleteApi","_jsx","ConfirmDialog","title","confirmText","isOpen","titleIcon","ConfirmDeleteIcon","isLoading","onConfirm","concat","encodeURLString","onClose","confirmationContent","_jsxs","Fragment","children","style","maxWidth","whiteSpace","wordWrap","_ref$label","label","_ref$value","value","Box","sx","marginTop","InputLabel","ReadBox","actionButton","CopyToClipboard","text","Button","id","variant","onClick","setModalSnackMessage","marginRight","width","height","padding","icon","CopyIcon","WarningBlock","styled","div","theme","color","fontSize","margin","display","alignItems","download","filename","element","document","createElement","setAttribute","body","appendChild","click","removeChild","_ref2","newServiceAccount","open","closeModal","entity","consoleCreds","get","idp","ModalWrapper","modalOpen","ServiceAccountCredentialsIcon","Grid","container","item","xs","overflowY","maxHeight","fontWeight","Array","isArray","map","credentialsPair","index","CredentialItem","accessKey","secretKey","undefined","_Fragment","WarnIcon","_objectSpread","modalStyleUtils","modalButtonBar","TooltipWrapper","tooltip","consoleExtras","itemMap","url","api","path","JSON","stringify","DownloadIcon","length","allCredentials","withStyles","createStyles","root","classes","className","headerContainer","backgroundColor","borderRadius","marginBottom","paddingBottom","labelHeadline","marginLeft","labelText","_ref$noTitle","noTitle","_useState","useState","_useState2","records","setRecords","_useState3","_useState4","loading","_useState5","_useState6","filter","setFilter","currentPolicies","useSelector","state","createUser","selectedPolicies","fetchPolicies","useCallback","policies","listPolicies","then","res","_res$data$policies","data","sort","policySort","catch","setModalErrorSnackMessage","useEffect","filteredRecords","elementItem","name","includes","LinearProgress","SearchBox","placeholder","onChange","DataTable","columns","elementKey","onSelect","e","targetD","target","checked","elements","_toConsumableArray","push","setSelectedPolicies","selectedItems","entityName","idField","customPaperHeight","textAlign","selectedUsers","navigate","useNavigate","loadingSA","setLoadingSA","hasSA","setHasSA","userSAList","setUserSAList","userLoggedIn","localStorage","getItem","invoke","userServiceAccountList","renderUsers","user","tableActions","type","selectionElement","IAM_PAGES","USERS","userName","noSAtext","_step","_iterator","_createForOfIteratorHelper","s","n","done","errorMessage","detailedError","f","Loader","WarningMessage","itemActions","selectedGroups","setSelectedGroups","fetchGroups","groups","stringSort","selGroups","DeleteUser","withSuspense","React","AddToGroup","setLoading","setDeleteOpen","_useState7","_useState8","addGroupOpen","setAddGroupOpen","_useState9","_useState10","_useState11","_useState12","checkedUsers","setCheckedUsers","displayListUsers","hasPermission","CONSOLE_UI_RESOURCE","listUsersPermissions","viewUser","viewUserPermissions","addUserToGroup","addUserToGroupPermissions","deleteUser","deleteUserPermissions","users","usersSort","viewAction","disableButtonFunction","setHelpName","refresh","closeModalAndRefresh","close","unCheckAll","arguments","closeAddGroupBulk","PageHeaderWrapper","actions","HelpMenu","PageLayout","actionsTray","SecureComponent","resource","scopes","IAM_SCOPES","ADMIN_DELETE_USER","matchAll","errorProps","disabled","permissionTooltipHelper","DeleteIcon","ADMIN_ADD_USER_TO_GROUP","GroupsIcon","ADMIN_CREATE_USER","ADMIN_LIST_USER_POLICIES","ADMIN_LIST_GROUPS","S3_ALL_RESOURCES","ADMIN_ATTACH_USER_OR_GROUP_POLICY","AddIcon","USER_ADD","ADMIN_LIST_USERS","_e$target","_e$target2","_e$target2$value","_e$target2$checked","HelpBox","iconComponent","UsersIcon","help","href","rel","AButton","selectedUser","addLoading","setAddLoading","setAccessKey","setSecretKey","enabled","setEnabled","getUserInformation","memberOf","status","sendEnabled","trim","AddMembersToGroupIcon","noValidate","autoComplete","onSubmit","preventDefault","_","FormLayout","withBorders","containerPadding","GroupsSelectors","actualPolicy","setActualPolicy","statePolicies","userPolicy","pol","policy","IAMPoliciesIcon","PolicySelectors","selectedPolicy","entityType","hasPolicy","setSelectedServiceAccount","showNewCredentials","setShowNewCredentials","setNewServiceAccount","_useState13","_useState14","selectedSAs","setSelectedSAs","_useState15","_useState16","deleteMultipleOpen","setDeleteMultipleOpen","_useState17","_useState18","policyOpen","setPolicyOpen","fetchRecords","serviceAccounts","DeleteServiceAccount","DeleteMultipleServiceAccounts","setSnackBarMessage","CredentialsPrompt","ServiceAccountPolicy","selectedAccessKey","SectionTitle","separator","justifyContent","gap","ADMIN_CREATE_SERVICEACCOUNT","ADMIN_UPDATE_SERVICEACCOUNT","ADMIN_REMOVE_SERVICEACCOUNT","ADMIN_LIST_SERVICEACCOUNTS","selectSAs","onSelectAll","newPassword","setNewPassword","reNewPassword","setReNewPassword","ChangePasswordIcon","event","request","newSecretKey","account","changeUserPassword","errorToHandler","InputBox","params","useParams","currentGroups","setCurrentGroups","setCurrentPolicies","changeUserPasswordModalOpen","setChangeUserPasswordModalOpen","_useState19","_useState20","_useState21","_useState22","setHasPolicy","_useState23","_useState24","selectedTab","setSelectedTab","enableEnabled","enableUserPermissions","disableEnabled","disableUserPermissions","decodeURLString","canAssignPolicy","assignIAMPolicyPermissions","canAssignGroup","assignGroupPermissions","viewGroup","getGroupPermissions","group","policyDetailsSort","groupTableActions","GROUPS","ChangeUserGroups","SetUserPolicies","ChangeUserPasswordModal","BackLink","ScreenTitle","subTitle","enableDisableUserPermissions","Switch","indicatorLabels","isEnabled","switchOnly","TrashIcon","PasswordKeyIcon","Tabs","currentTabOrPath","onTabClick","options","tabConfig","content","onMouseMove","editServiceAccountPermissions","UserServiceAccountsPanel","POLICIES","FeatureItem","description","fontStyle","flex","border","flexFlow","HelpIconFilled","ChangeAccessPolicyIcon","autoFocus","setUserName","showPassword","overlayIcon","VisibilityOffIcon","RemoveRedEyeIcon","overlayAction","setShowPassword","secretKeylength","setSendEnabled","CreateUserIcon","helpBox","AddUserHelpBox","createUserAsync","unwrap","saveRecord","UserSelector","PasswordSelector","resetFormAsync","ServiceAccountIcon","paddingTop","addSending","setAddSending","getRandomString","isRestrictedByPolicy","setIsRestrictedByPolicy","policyJSON","setPolicyJSON","parse","AddUserServiceAccountHelpBox","addUserServiceAccount","startIcon","PanelTitle","formScrollable","CodeMirrorWrapper","editorHeight","Routes","Route","AddUserScreen","UserDetails","AddUserServiceAccountScreen","ListUsers","NotFoundPage","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/483.31c46d8b.chunk.js b/portal-ui/build/static/js/483.31c46d8b.chunk.js deleted file mode 100644 index fcb7b5e0b..000000000 --- a/portal-ui/build/static/js/483.31c46d8b.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[483],{34866:function(e,o,n){"use strict";var t=n(1413),c=n(72791),i=n(61889),a=n(94454),r=n(30829),l=n(20068),s=n(11135),d=n(25787),u=n(23814),p=n(29945),f=n(80184);o.Z=(0,d.Z)((function(e){return(0,s.Z)((0,t.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},u.YI),u.Hr),u.lM),{},{fieldContainer:(0,t.Z)((0,t.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 o=e.label,n=e.onChange,t=e.value,s=e.id,d=e.name,u=e.checked,m=void 0!==u&&u,h=e.disabled,b=void 0!==h&&h,x=e.noTopMargin,v=void 0!==x&&x,g=e.tooltip,k=void 0===g?"":g,Z=e.overrideLabelClasses,j=void 0===Z?"":Z,w=e.overrideCheckboxStyles,y=e.classes,C=e.className;return(0,f.jsx)(c.Fragment,{children:(0,f.jsxs)(i.ZP,{item:!0,xs:12,className:"".concat(y.fieldContainer," ").concat(v?y.noTopMargin:""," ").concat(C||""),children:[(0,f.jsx)("div",{children:(0,f.jsx)(a.Z,{name:d,id:s,value:t,color:"primary",inputProps:{"aria-label":"secondary checkbox"},checked:m,onChange:n,checkedIcon:(0,f.jsx)("span",{className:y.checkedIcon}),icon:(0,f.jsx)("span",{className:y.unCheckedIcon}),disabled:b,disableRipple:!0,disableFocusRipple:!0,focusRipple:!1,centerRipple:!1,disableTouchRipple:!0,style:w||{}})}),""!==o&&(0,f.jsxs)(r.Z,{htmlFor:s,className:"".concat(y.noMinWidthLabel," ").concat(j),children:[(0,f.jsx)("span",{children:o}),""!==k&&(0,f.jsx)("div",{className:y.tooltipContainer,children:(0,f.jsx)(l.Z,{title:k,placement:"top-start",children:(0,f.jsx)("div",{className:y.tooltip,children:(0,f.jsx)(p.byK,{})})})})]})]})})}))},70483:function(e,o,n){"use strict";n.r(o);var t=n(93433),c=n(29439),i=n(1413),a=n(72791),r=n(95087),l=n(29945),s=n(11135),d=n(25787),u=n(61889),p=n(34866),f=n(26824),m=n(23814),h=n(57689),b=n(31460),x=n(9478),v=n(47974),g=n(99670),k=n(81551),Z=n(87995),j=n(80184),w=null;o.default=(0,d.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)({buttonContainer:{display:"flex",justifyContent:"flex-end",marginTop:24,"& button":{marginLeft:8}},dropdown:{marginBottom:24},checkboxLabel:{marginTop:12,marginRight:4,fontSize:16,fontWeight:500},checkboxDisabled:{opacity:.5},inlineCheckboxes:(0,i.Z)((0,i.Z)({},m.IX.inlineCheckboxes),{},{alignItems:"center","@media (max-width: 900px)":{flexFlow:"column",alignItems:"flex-start"}})},m.OR),m.Bz))}))((function(e){var o=e.classes,n=(0,h.s0)(),i=(0,a.useState)(!1),s=(0,c.Z)(i,2),d=s[0],m=s[1],y=(0,a.useState)(["cpu","mem","block","mutex","goroutines"]),C=(0,c.Z)(y,2),N=C[0],S=C[1],z=(0,x.Yc)(),I=function(e){var o=[];o=N.indexOf(e.target.value)>-1?N.filter((function(o){return o!==e.target.value})):[].concat((0,t.Z)(N),[e.target.value]),S(o)},P=(0,k.TL)();return(0,a.useEffect)((function(){P((0,Z.Sc)("profile"))}),[]),(0,j.jsxs)(a.Fragment,{children:[(0,j.jsx)(v.Z,{label:"Profile",actions:(0,j.jsx)(g.Z,{})}),(0,j.jsxs)(l.Xgh,{children:[!z&&(0,j.jsx)(b.Z,{compactMode:!0}),(0,j.jsxs)(u.ZP,{item:!0,xs:12,className:o.boxy,children:[(0,j.jsx)(u.ZP,{item:!0,xs:12,className:o.dropdown,children:(0,j.jsxs)(u.ZP,{item:!0,xs:12,className:"".concat(o.inlineCheckboxes," ").concat(d&&o.checkboxDisabled),children:[(0,j.jsx)("div",{className:o.checkboxLabel,children:"Types to profile:"}),[{label:"cpu",value:"cpu"},{label:"mem",value:"mem"},{label:"block",value:"block"},{label:"mutex",value:"mutex"},{label:"goroutines",value:"goroutines"}].map((function(e){return(0,j.jsx)(p.Z,{checked:N.indexOf(e.value)>-1,disabled:d,id:"checkbox-".concat(e.label),label:e.label,name:"checkbox-".concat(e.label),onChange:I,value:e.value},"checkbox-".concat(e.label))}))]})}),(0,j.jsxs)(u.ZP,{item:!0,xs:12,className:o.buttonContainer,children:[(0,j.jsx)(l.zxk,{id:"start-profiling",type:"submit",variant:z?"callAction":"regular",disabled:d||N.length<1,onClick:function(){z?function(){var e=N.join(","),o=new URL(window.location.toString()),n=o.port,t=new URL(document.baseURI).pathname,c=(0,f.x2)(o.protocol);if(null!==(w=new r.w3cwebsocket("".concat(c,"://").concat(o.hostname,":").concat(n).concat(t,"ws/profile?types=").concat(e))))w.onopen=function(){m(!0),w.send("ok")},w.onmessage=function(e){var o=new Blob([e.data],{type:"application/zip"});m(!1);var n=document.createElement("a");n.href=window.URL.createObjectURL(o),n.download="profile.zip",document.body.appendChild(n),n.click(),document.body.removeChild(n)},w.onclose=function(){console.log("connection closed by server"),m(!1)}}():n("/support/register")},label:"Start Profiling"}),(0,j.jsx)(l.zxk,{id:"stop-profiling",type:"submit",variant:"callAction",color:"primary",disabled:!d,onClick:function(){w.close(1e3),m(!1)},label:"Stop Profiling"})]})]})]})]})}))},26824:function(e,o,n){"use strict";n.d(o,{HE:function(){return i},V9:function(){return t},ci:function(){return c},x2:function(){return a}});var t=1006,c=1008,i=1011,a=function(e){var o="ws";return"https:"===e&&(o="wss"),o}},94454:function(e,o,n){"use strict";n.d(o,{Z:function(){return z}});var t=n(4942),c=n(63366),i=n(87462),a=n(72791),r=n(28182),l=n(94419),s=n(12065),d=n(97278),u=n(76189),p=n(80184),f=(0,u.Z)((0,p.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,p.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"),h=(0,u.Z)((0,p.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"),b=n(14036),x=n(31402),v=n(66934),g=n(75878),k=n(21217);function Z(e){return(0,k.Z)("MuiCheckbox",e)}var j=(0,g.Z)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary"]),w=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size","className"],y=(0,v.ZP)(d.Z,{shouldForwardProp:function(e){return(0,v.FO)(e)||"classes"===e},name:"MuiCheckbox",slot:"Root",overridesResolver:function(e,o){var n=e.ownerState;return[o.root,n.indeterminate&&o.indeterminate,"default"!==n.color&&o["color".concat((0,b.Z)(n.color))]]}})((function(e){var o,n=e.theme,c=e.ownerState;return(0,i.Z)({color:(n.vars||n).palette.text.secondary},!c.disableRipple&&{"&:hover":{backgroundColor:n.vars?"rgba(".concat("default"===c.color?n.vars.palette.action.activeChannel:n.vars.palette.primary.mainChannel," / ").concat(n.vars.palette.action.hoverOpacity,")"):(0,s.Fq)("default"===c.color?n.palette.action.active:n.palette[c.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==c.color&&(o={},(0,t.Z)(o,"&.".concat(j.checked,", &.").concat(j.indeterminate),{color:(n.vars||n).palette[c.color].main}),(0,t.Z)(o,"&.".concat(j.disabled),{color:(n.vars||n).palette.action.disabled}),o))})),C=(0,p.jsx)(m,{}),N=(0,p.jsx)(f,{}),S=(0,p.jsx)(h,{}),z=a.forwardRef((function(e,o){var n,t,s=(0,x.Z)({props:e,name:"MuiCheckbox"}),d=s.checkedIcon,u=void 0===d?C:d,f=s.color,m=void 0===f?"primary":f,h=s.icon,v=void 0===h?N:h,g=s.indeterminate,k=void 0!==g&&g,j=s.indeterminateIcon,z=void 0===j?S:j,I=s.inputProps,P=s.size,O=void 0===P?"medium":P,R=s.className,T=(0,c.Z)(s,w),L=k?z:v,M=k?z:u,_=(0,i.Z)({},s,{color:m,indeterminate:k,size:O}),E=function(e){var o=e.classes,n=e.indeterminate,t=e.color,c={root:["root",n&&"indeterminate","color".concat((0,b.Z)(t))]},a=(0,l.Z)(c,Z,o);return(0,i.Z)({},o,a)}(_);return(0,p.jsx)(y,(0,i.Z)({type:"checkbox",inputProps:(0,i.Z)({"data-indeterminate":k},I),icon:a.cloneElement(L,{fontSize:null!=(n=L.props.fontSize)?n:O}),checkedIcon:a.cloneElement(M,{fontSize:null!=(t=M.props.fontSize)?t:O}),ownerState:_,ref:o,className:(0,r.Z)(E.root,R)},T,{classes:E}))}))},94210:function(e){var o=function(){if("object"===typeof self&&self)return self;if("object"===typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};e.exports=function(){if(this)return this;if("object"===typeof globalThis&&globalThis)return globalThis;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(e){return o()}try{return __global__||o()}finally{delete Object.prototype.__global__}}()},95087:function(e,o,n){var t;if("object"===typeof globalThis)t=globalThis;else try{t=n(94210)}catch(r){}finally{if(t||"undefined"===typeof window||(t=window),!t)throw new Error("Could not determine global this")}var c=t.WebSocket||t.MozWebSocket,i=n(51496);function a(e,o){return o?new c(e,o):new c(e)}c&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach((function(e){Object.defineProperty(a,e,{get:function(){return c[e]}})})),e.exports={w3cwebsocket:c?a:null,version:i}},51496:function(e,o,n){e.exports=n(19794).version},19794:function(e){"use strict";e.exports={version:"1.0.34"}}}]); -//# sourceMappingURL=483.31c46d8b.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/483.31c46d8b.chunk.js.map b/portal-ui/build/static/js/483.31c46d8b.chunk.js.map deleted file mode 100644 index e85c5b8a8..000000000 --- a/portal-ui/build/static/js/483.31c46d8b.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/483.31c46d8b.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/CheckboxWrapper/CheckboxWrapper.tsx","screens/Console/Support/Profile.tsx","utils/wsUtils.ts","../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/es5-ext/global.js","../node_modules/websocket/lib/browser.js","../node_modules/websocket/lib/version.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 .\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 \"mds\";\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","import React, { Fragment, useEffect, useState } from \"react\";\nimport { IMessageEvent, w3cwebsocket as W3CWebSocket } from \"websocket\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button, PageLayout } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid } from \"@mui/material\";\nimport CheckboxWrapper from \"../Common/FormComponents/CheckboxWrapper/CheckboxWrapper\";\nimport { wsProtocol } from \"../../../utils/wsUtils\";\nimport {\n actionsTray,\n containerForHeader,\n inlineCheckboxes,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { useNavigate } from \"react-router-dom\";\nimport RegisterCluster from \"./RegisterCluster\";\nimport { registeredCluster } from \"../../../config\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport HelpMenu from \"../HelpMenu\";\nimport { useAppDispatch } from \"../../../store\";\nimport { setHelpName } from \"../../../systemSlice\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n marginTop: 24,\n \"& button\": {\n marginLeft: 8,\n },\n },\n dropdown: {\n marginBottom: 24,\n },\n checkboxLabel: {\n marginTop: 12,\n marginRight: 4,\n fontSize: 16,\n fontWeight: 500,\n },\n checkboxDisabled: {\n opacity: 0.5,\n },\n inlineCheckboxes: {\n ...inlineCheckboxes.inlineCheckboxes,\n alignItems: \"center\",\n\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n },\n },\n ...actionsTray,\n ...containerForHeader,\n });\n\ninterface IProfileProps {\n classes: any;\n}\n\nvar c: any = null;\n\nconst Profile = ({ classes }: IProfileProps) => {\n const navigate = useNavigate();\n\n const [profilingStarted, setProfilingStarted] = useState(false);\n const [types, setTypes] = useState([\n \"cpu\",\n \"mem\",\n \"block\",\n \"mutex\",\n \"goroutines\",\n ]);\n const clusterRegistered = registeredCluster();\n const typesList = [\n { label: \"cpu\", value: \"cpu\" },\n { label: \"mem\", value: \"mem\" },\n { label: \"block\", value: \"block\" },\n { label: \"mutex\", value: \"mutex\" },\n { label: \"goroutines\", value: \"goroutines\" },\n ];\n\n const onCheckboxClick = (e: React.ChangeEvent) => {\n let newArr: string[] = [];\n if (types.indexOf(e.target.value) > -1) {\n newArr = types.filter((type) => type !== e.target.value);\n } else {\n newArr = [...types, e.target.value];\n }\n setTypes(newArr);\n };\n\n const startProfiling = () => {\n const typeString = types.join(\",\");\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 c = new W3CWebSocket(\n `${wsProt}://${url.hostname}:${port}${baseUrl}ws/profile?types=${typeString}`,\n );\n\n if (c !== null) {\n c.onopen = () => {\n setProfilingStarted(true);\n c.send(\"ok\");\n };\n c.onmessage = (message: IMessageEvent) => {\n // process received message\n let response = new Blob([message.data], { type: \"application/zip\" });\n let filename = \"profile.zip\";\n setProfilingStarted(false);\n var link = document.createElement(\"a\");\n link.href = window.URL.createObjectURL(response);\n link.download = filename;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n };\n c.onclose = () => {\n console.log(\"connection closed by server\");\n setProfilingStarted(false);\n };\n return () => {\n c.close(1000);\n console.log(\"closing websockets\");\n setProfilingStarted(false);\n };\n }\n };\n\n const stopProfiling = () => {\n c.close(1000);\n setProfilingStarted(false);\n };\n\n const dispatch = useAppDispatch();\n useEffect(() => {\n dispatch(setHelpName(\"profile\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n } />\n\n \n {!clusterRegistered && }\n \n \n \n
    Types to profile:
    \n {typesList.map((t) => (\n -1}\n disabled={profilingStarted}\n key={`checkbox-${t.label}`}\n id={`checkbox-${t.label}`}\n label={t.label}\n name={`checkbox-${t.label}`}\n onChange={onCheckboxClick}\n value={t.value}\n />\n ))}\n
    \n
    \n \n {\n if (!clusterRegistered) {\n navigate(\"/support/register\");\n return;\n }\n startProfiling();\n }}\n label={\"Start Profiling\"}\n />\n {\n stopProfiling();\n }}\n label={\"Stop Profiling\"}\n />\n \n \n
    \n
    \n );\n};\n\nexport default withStyles(styles)(Profile);\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 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","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\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/**\n * @ignore - internal component.\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/**\n * @ignore - internal component.\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 { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\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\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\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\";\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};\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}));\nconst defaultCheckedIcon = /*#__PURE__*/_jsx(CheckBoxIcon, {});\nconst defaultIcon = /*#__PURE__*/_jsx(CheckBoxOutlineBlankIcon, {});\nconst defaultIndeterminateIcon = /*#__PURE__*/_jsx(IndeterminateCheckBoxIcon, {});\nconst Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(inProps, ref) {\n var _icon$props$fontSize, _indeterminateIcon$pr;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCheckbox'\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 className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const icon = indeterminate ? indeterminateIconProp : iconProp;\n const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;\n const ownerState = _extends({}, props, {\n color,\n indeterminate,\n size\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 className: clsx(classes.root, className)\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Checkbox.propTypes /* remove-proptypes */ = {\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 * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n * @default \n */\n checkedIcon: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * The icon to display when the component is unchecked.\n * @default \n */\n icon: PropTypes.node,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\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 * The icon to display when the component is indeterminate.\n * @default \n */\n indeterminateIcon: PropTypes.node,\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 * Pass a ref to the `input` element.\n */\n inputRef: refType,\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 * If `true`, the `input` element is required.\n * @default false\n */\n required: PropTypes.bool,\n /**\n * The size of the component.\n * `small` is equivalent to the dense checkbox styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\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 * 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 naiveFallback = function () {\n\tif (typeof self === \"object\" && self) return self;\n\tif (typeof window === \"object\" && window) return window;\n\tthrow new Error(\"Unable to resolve global `this`\");\n};\n\nmodule.exports = (function () {\n\tif (this) return this;\n\n\t// Unexpected strict mode (may happen if e.g. bundled into ESM module)\n\n\t// Fallback to standard globalThis if available\n\tif (typeof globalThis === \"object\" && globalThis) return globalThis;\n\n\t// Thanks @mathiasbynens -> https://mathiasbynens.be/notes/globalthis\n\t// In all ES5+ engines global object inherits from Object.prototype\n\t// (if you approached one that doesn't please report)\n\ttry {\n\t\tObject.defineProperty(Object.prototype, \"__global__\", {\n\t\t\tget: function () { return this; },\n\t\t\tconfigurable: true\n\t\t});\n\t} catch (error) {\n\t\t// Unfortunate case of updates to Object.prototype being restricted\n\t\t// via preventExtensions, seal or freeze\n\t\treturn naiveFallback();\n\t}\n\ttry {\n\t\t// Safari case (window.__global__ works, but __global__ does not)\n\t\tif (!__global__) return naiveFallback();\n\t\treturn __global__;\n\t} finally {\n\t\tdelete Object.prototype.__global__;\n\t}\n})();\n","var _globalThis;\nif (typeof globalThis === 'object') {\n\t_globalThis = globalThis;\n} else {\n\ttry {\n\t\t_globalThis = require('es5-ext/global');\n\t} catch (error) {\n\t} finally {\n\t\tif (!_globalThis && typeof window !== 'undefined') { _globalThis = window; }\n\t\tif (!_globalThis) { throw new Error('Could not determine global this'); }\n\t}\n}\n\nvar NativeWebSocket = _globalThis.WebSocket || _globalThis.MozWebSocket;\nvar websocket_version = require('./version');\n\n\n/**\n * Expose a W3C WebSocket class with just one or two arguments.\n */\nfunction W3CWebSocket(uri, protocols) {\n\tvar native_instance;\n\n\tif (protocols) {\n\t\tnative_instance = new NativeWebSocket(uri, protocols);\n\t}\n\telse {\n\t\tnative_instance = new NativeWebSocket(uri);\n\t}\n\n\t/**\n\t * 'native_instance' is an instance of nativeWebSocket (the browser's WebSocket\n\t * class). Since it is an Object it will be returned as it is when creating an\n\t * instance of W3CWebSocket via 'new W3CWebSocket()'.\n\t *\n\t * ECMAScript 5: http://bclary.com/2004/11/07/#a-13.2.2\n\t */\n\treturn native_instance;\n}\nif (NativeWebSocket) {\n\t['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'].forEach(function(prop) {\n\t\tObject.defineProperty(W3CWebSocket, prop, {\n\t\t\tget: function() { return NativeWebSocket[prop]; }\n\t\t});\n\t});\n}\n\n/**\n * Module exports.\n */\nmodule.exports = {\n 'w3cwebsocket' : NativeWebSocket ? W3CWebSocket : null,\n 'version' : websocket_version\n};\n","module.exports = require('../package.json').version;\n"],"names":["withStyles","theme","createStyles","_objectSpread","fieldBasic","tooltipHelper","checkboxIcons","fieldContainer","display","justifyContent","alignItems","margin","marginBottom","flexBasis","flexWrap","noTopMargin","marginTop","_ref","label","onChange","value","id","name","_ref$checked","checked","_ref$disabled","disabled","_ref$noTopMargin","_ref$tooltip","tooltip","_ref$overrideLabelCla","overrideLabelClasses","overrideCheckboxStyles","classes","className","_jsx","React","children","_jsxs","Grid","item","xs","concat","Checkbox","color","inputProps","checkedIcon","icon","unCheckedIcon","disableRipple","disableFocusRipple","focusRipple","centerRipple","disableTouchRipple","style","InputLabel","htmlFor","noMinWidthLabel","tooltipContainer","Tooltip","title","placement","HelpIcon","c","buttonContainer","marginLeft","dropdown","checkboxLabel","marginRight","fontSize","fontWeight","checkboxDisabled","opacity","inlineCheckboxes","flexFlow","actionsTray","containerForHeader","navigate","useNavigate","_useState","useState","_useState2","_slicedToArray","profilingStarted","setProfilingStarted","_useState3","_useState4","types","setTypes","clusterRegistered","registeredCluster","onCheckboxClick","e","newArr","indexOf","target","filter","type","_toConsumableArray","dispatch","useAppDispatch","useEffect","setHelpName","Fragment","PageHeaderWrapper","actions","HelpMenu","PageLayout","RegisterCluster","compactMode","boxy","map","t","CheckboxWrapper","Button","variant","length","onClick","typeString","join","url","URL","window","location","toString","port","baseUrl","document","baseURI","pathname","wsProt","wsProtocol","protocol","W3CWebSocket","hostname","onopen","send","onmessage","message","response","Blob","data","link","createElement","href","createObjectURL","download","body","appendChild","click","removeChild","onclose","console","log","startProfiling","close","WSCloseAbnormalClosure","WSClosePolicyViolation","WSCloseInternalServerErr","createSvgIcon","d","getCheckboxUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","CheckboxRoot","styled","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","props","styles","ownerState","root","indeterminate","capitalize","_ref2","_extends","vars","palette","text","secondary","backgroundColor","action","activeChannel","primary","mainChannel","hoverOpacity","alpha","active","main","_defineProperty","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","inProps","ref","_icon$props$fontSize","_indeterminateIcon$pr","useThemeProps","_props$checkedIcon","_props$color","_props$icon","iconProp","_props$indeterminate","_props$indeterminateI","indeterminateIcon","indeterminateIconProp","_props$size","size","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","clsx","naiveFallback","self","Error","module","exports","this","globalThis","Object","defineProperty","prototype","get","configurable","error","__global__","_globalThis","require","NativeWebSocket","WebSocket","MozWebSocket","websocket_version","uri","protocols","forEach"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/483.f00aef93.chunk.js b/portal-ui/build/static/js/483.f00aef93.chunk.js new file mode 100644 index 000000000..c914052d0 --- /dev/null +++ b/portal-ui/build/static/js/483.f00aef93.chunk.js @@ -0,0 +1,2 @@ +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[483],{70483:function(e,t,n){"use strict";n.r(t);var o=n(93433),i=n(29439),l=n(72791),r=n(95087),c=n(29945),a=n(26824),u=n(57689),s=n(9478),f=n(81551),p=n(87995),b=n(31460),d=n(47974),h=n(99670),g=n(80184),w=null;t.default=function(){var e=(0,u.s0)(),t=(0,l.useState)(!1),n=(0,i.Z)(t,2),x=n[0],v=n[1],m=(0,l.useState)(["cpu","mem","block","mutex","goroutines"]),y=(0,i.Z)(m,2),j=y[0],k=y[1],_=(0,s.Yc)(),C=function(e){var t=[];t=j.indexOf(e.target.value)>-1?j.filter((function(t){return t!==e.target.value})):[].concat((0,o.Z)(j),[e.target.value]),k(t)},O=(0,f.TL)();return(0,l.useEffect)((function(){O((0,p.Sc)("profile"))}),[]),(0,g.jsxs)(l.Fragment,{children:[(0,g.jsx)(d.Z,{label:"Profile",actions:(0,g.jsx)(h.Z,{})}),(0,g.jsxs)(c.Xgh,{children:[!_&&(0,g.jsx)(b.Z,{compactMode:!0}),(0,g.jsxs)(c.ltY,{children:[(0,g.jsxs)(c.xuv,{sx:{display:"flex",gap:10,"& div":{width:"initial"},"& .inputItem:not(:last-of-type)":{marginBottom:0}},children:[(0,g.jsx)(c.AZs,{noMinWidth:!0,children:"Types to profile:"}),[{label:"cpu",value:"cpu"},{label:"mem",value:"mem"},{label:"block",value:"block"},{label:"mutex",value:"mutex"},{label:"goroutines",value:"goroutines"}].map((function(e){return(0,g.jsx)(c.XZJ,{checked:j.indexOf(e.value)>-1,disabled:x,id:"checkbox-".concat(e.label),label:e.label,name:"checkbox-".concat(e.label),onChange:C,value:e.value},"checkbox-".concat(e.label))}))]}),(0,g.jsxs)(c.xuv,{sx:{display:"flex",justifyContent:"flex-end",marginTop:24,gap:10},children:[(0,g.jsx)(c.zxk,{id:"start-profiling",type:"submit",variant:_?"callAction":"regular",disabled:x||j.length<1,onClick:function(){_?function(){var e=j.join(","),t=new URL(window.location.toString()),n=t.port,o=new URL(document.baseURI).pathname,i=(0,a.x2)(t.protocol);if(null!==(w=new r.w3cwebsocket("".concat(i,"://").concat(t.hostname,":").concat(n).concat(o,"ws/profile?types=").concat(e))))w.onopen=function(){v(!0),w.send("ok")},w.onmessage=function(e){var t=new Blob([e.data],{type:"application/zip"});v(!1);var n=document.createElement("a");n.href=window.URL.createObjectURL(t),n.download="profile.zip",document.body.appendChild(n),n.click(),document.body.removeChild(n)},w.onclose=function(){console.log("connection closed by server"),v(!1)}}():e("/support/register")},label:"Start Profiling"}),(0,g.jsx)(c.zxk,{id:"stop-profiling",type:"submit",variant:"callAction",color:"primary",disabled:!x,onClick:function(){w.close(1e3),v(!1)},label:"Stop Profiling"})]})]})]})]})}},26824:function(e,t,n){"use strict";n.d(t,{HE:function(){return l},V9:function(){return o},ci:function(){return i},x2:function(){return r}});var o=1006,i=1008,l=1011,r=function(e){var t="ws";return"https:"===e&&(t="wss"),t}},94210:function(e){var t=function(){if("object"===typeof self&&self)return self;if("object"===typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};e.exports=function(){if(this)return this;if("object"===typeof globalThis&&globalThis)return globalThis;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(e){return t()}try{return __global__||t()}finally{delete Object.prototype.__global__}}()},95087:function(e,t,n){var o;if("object"===typeof globalThis)o=globalThis;else try{o=n(94210)}catch(c){}finally{if(o||"undefined"===typeof window||(o=window),!o)throw new Error("Could not determine global this")}var i=o.WebSocket||o.MozWebSocket,l=n(51496);function r(e,t){return t?new i(e,t):new i(e)}i&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach((function(e){Object.defineProperty(r,e,{get:function(){return i[e]}})})),e.exports={w3cwebsocket:i?r:null,version:l}},51496:function(e,t,n){e.exports=n(19794).version},19794:function(e){"use strict";e.exports={version:"1.0.34"}}}]); +//# sourceMappingURL=483.f00aef93.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/483.f00aef93.chunk.js.map b/portal-ui/build/static/js/483.f00aef93.chunk.js.map new file mode 100644 index 000000000..edf786d68 --- /dev/null +++ b/portal-ui/build/static/js/483.f00aef93.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/483.f00aef93.chunk.js","mappings":"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","sources":["screens/Console/Support/Profile.tsx","utils/wsUtils.ts","../node_modules/es5-ext/global.js","../node_modules/websocket/lib/browser.js","../node_modules/websocket/lib/version.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, { Fragment, useEffect, useState } from \"react\";\nimport { IMessageEvent, w3cwebsocket as W3CWebSocket } from \"websocket\";\nimport { Button, PageLayout, FormLayout, Box, Checkbox, InputLabel } from \"mds\";\nimport { wsProtocol } from \"../../../utils/wsUtils\";\nimport { useNavigate } from \"react-router-dom\";\nimport { registeredCluster } from \"../../../config\";\nimport { useAppDispatch } from \"../../../store\";\nimport { setHelpName } from \"../../../systemSlice\";\nimport RegisterCluster from \"./RegisterCluster\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport HelpMenu from \"../HelpMenu\";\n\nvar c: any = null;\n\nconst Profile = () => {\n const navigate = useNavigate();\n\n const [profilingStarted, setProfilingStarted] = useState(false);\n const [types, setTypes] = useState([\n \"cpu\",\n \"mem\",\n \"block\",\n \"mutex\",\n \"goroutines\",\n ]);\n const clusterRegistered = registeredCluster();\n const typesList = [\n { label: \"cpu\", value: \"cpu\" },\n { label: \"mem\", value: \"mem\" },\n { label: \"block\", value: \"block\" },\n { label: \"mutex\", value: \"mutex\" },\n { label: \"goroutines\", value: \"goroutines\" },\n ];\n\n const onCheckboxClick = (e: React.ChangeEvent) => {\n let newArr: string[] = [];\n if (types.indexOf(e.target.value) > -1) {\n newArr = types.filter((type) => type !== e.target.value);\n } else {\n newArr = [...types, e.target.value];\n }\n setTypes(newArr);\n };\n\n const startProfiling = () => {\n const typeString = types.join(\",\");\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 c = new W3CWebSocket(\n `${wsProt}://${url.hostname}:${port}${baseUrl}ws/profile?types=${typeString}`,\n );\n\n if (c !== null) {\n c.onopen = () => {\n setProfilingStarted(true);\n c.send(\"ok\");\n };\n c.onmessage = (message: IMessageEvent) => {\n // process received message\n let response = new Blob([message.data], { type: \"application/zip\" });\n let filename = \"profile.zip\";\n setProfilingStarted(false);\n var link = document.createElement(\"a\");\n link.href = window.URL.createObjectURL(response);\n link.download = filename;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n };\n c.onclose = () => {\n console.log(\"connection closed by server\");\n setProfilingStarted(false);\n };\n return () => {\n c.close(1000);\n console.log(\"closing websockets\");\n setProfilingStarted(false);\n };\n }\n };\n\n const stopProfiling = () => {\n c.close(1000);\n setProfilingStarted(false);\n };\n\n const dispatch = useAppDispatch();\n useEffect(() => {\n dispatch(setHelpName(\"profile\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n } />\n \n {!clusterRegistered && }\n \n \n Types to profile:\n {typesList.map((t) => (\n -1}\n disabled={profilingStarted}\n key={`checkbox-${t.label}`}\n id={`checkbox-${t.label}`}\n label={t.label}\n name={`checkbox-${t.label}`}\n onChange={onCheckboxClick}\n value={t.value}\n />\n ))}\n \n \n {\n if (!clusterRegistered) {\n navigate(\"/support/register\");\n return;\n }\n startProfiling();\n }}\n label={\"Start Profiling\"}\n />\n {\n stopProfiling();\n }}\n label={\"Stop Profiling\"}\n />\n \n \n \n \n );\n};\n\nexport default Profile;\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 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","var naiveFallback = function () {\n\tif (typeof self === \"object\" && self) return self;\n\tif (typeof window === \"object\" && window) return window;\n\tthrow new Error(\"Unable to resolve global `this`\");\n};\n\nmodule.exports = (function () {\n\tif (this) return this;\n\n\t// Unexpected strict mode (may happen if e.g. bundled into ESM module)\n\n\t// Fallback to standard globalThis if available\n\tif (typeof globalThis === \"object\" && globalThis) return globalThis;\n\n\t// Thanks @mathiasbynens -> https://mathiasbynens.be/notes/globalthis\n\t// In all ES5+ engines global object inherits from Object.prototype\n\t// (if you approached one that doesn't please report)\n\ttry {\n\t\tObject.defineProperty(Object.prototype, \"__global__\", {\n\t\t\tget: function () { return this; },\n\t\t\tconfigurable: true\n\t\t});\n\t} catch (error) {\n\t\t// Unfortunate case of updates to Object.prototype being restricted\n\t\t// via preventExtensions, seal or freeze\n\t\treturn naiveFallback();\n\t}\n\ttry {\n\t\t// Safari case (window.__global__ works, but __global__ does not)\n\t\tif (!__global__) return naiveFallback();\n\t\treturn __global__;\n\t} finally {\n\t\tdelete Object.prototype.__global__;\n\t}\n})();\n","var _globalThis;\nif (typeof globalThis === 'object') {\n\t_globalThis = globalThis;\n} else {\n\ttry {\n\t\t_globalThis = require('es5-ext/global');\n\t} catch (error) {\n\t} finally {\n\t\tif (!_globalThis && typeof window !== 'undefined') { _globalThis = window; }\n\t\tif (!_globalThis) { throw new Error('Could not determine global this'); }\n\t}\n}\n\nvar NativeWebSocket = _globalThis.WebSocket || _globalThis.MozWebSocket;\nvar websocket_version = require('./version');\n\n\n/**\n * Expose a W3C WebSocket class with just one or two arguments.\n */\nfunction W3CWebSocket(uri, protocols) {\n\tvar native_instance;\n\n\tif (protocols) {\n\t\tnative_instance = new NativeWebSocket(uri, protocols);\n\t}\n\telse {\n\t\tnative_instance = new NativeWebSocket(uri);\n\t}\n\n\t/**\n\t * 'native_instance' is an instance of nativeWebSocket (the browser's WebSocket\n\t * class). Since it is an Object it will be returned as it is when creating an\n\t * instance of W3CWebSocket via 'new W3CWebSocket()'.\n\t *\n\t * ECMAScript 5: http://bclary.com/2004/11/07/#a-13.2.2\n\t */\n\treturn native_instance;\n}\nif (NativeWebSocket) {\n\t['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'].forEach(function(prop) {\n\t\tObject.defineProperty(W3CWebSocket, prop, {\n\t\t\tget: function() { return NativeWebSocket[prop]; }\n\t\t});\n\t});\n}\n\n/**\n * Module exports.\n */\nmodule.exports = {\n 'w3cwebsocket' : NativeWebSocket ? W3CWebSocket : null,\n 'version' : websocket_version\n};\n","module.exports = require('../package.json').version;\n"],"names":["c","navigate","useNavigate","_useState","useState","_useState2","_slicedToArray","profilingStarted","setProfilingStarted","_useState3","_useState4","types","setTypes","clusterRegistered","registeredCluster","onCheckboxClick","e","newArr","indexOf","target","value","filter","type","concat","_toConsumableArray","dispatch","useAppDispatch","useEffect","setHelpName","_jsxs","Fragment","children","_jsx","PageHeaderWrapper","label","actions","HelpMenu","PageLayout","RegisterCluster","compactMode","FormLayout","Box","sx","display","gap","width","marginBottom","InputLabel","noMinWidth","map","t","Checkbox","checked","disabled","id","name","onChange","justifyContent","marginTop","Button","variant","length","onClick","typeString","join","url","URL","window","location","toString","port","baseUrl","document","baseURI","pathname","wsProt","wsProtocol","protocol","W3CWebSocket","hostname","onopen","send","onmessage","message","response","Blob","data","link","createElement","href","createObjectURL","download","body","appendChild","click","removeChild","onclose","console","log","startProfiling","color","close","WSCloseAbnormalClosure","WSClosePolicyViolation","WSCloseInternalServerErr","naiveFallback","self","Error","module","exports","this","globalThis","Object","defineProperty","prototype","get","configurable","error","__global__","_globalThis","require","NativeWebSocket","WebSocket","MozWebSocket","websocket_version","uri","protocols","forEach","prop"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4882.9c5a4b90.chunk.js.map b/portal-ui/build/static/js/4882.9c5a4b90.chunk.js.map index 8ab53008c..d7a00fe54 100644 --- a/portal-ui/build/static/js/4882.9c5a4b90.chunk.js.map +++ b/portal-ui/build/static/js/4882.9c5a4b90.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/4882.9c5a4b90.chunk.js","mappings":"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","sources":["../node_modules/@mui/icons-material/RemoveRedEye.js","../node_modules/@mui/icons-material/VisibilityOff.js","../node_modules/@mui/icons-material/utils/createSvgIcon.js","../node_modules/@mui/material/FormControl/FormControlContext.js","../node_modules/@mui/material/FormControl/formControlState.js","../node_modules/@mui/material/FormControl/useFormControl.js","../node_modules/@mui/material/FormLabel/FormLabel.js","../node_modules/@mui/material/FormLabel/formLabelClasses.js","../node_modules/@mui/material/InputLabel/inputLabelClasses.js","../node_modules/@mui/material/InputLabel/InputLabel.js","../node_modules/@mui/material/utils/createChainedFunction.js","../node_modules/@mui/material/utils/deprecatedPropType.js","../node_modules/@mui/utils/esm/deprecatedPropType.js","../node_modules/@mui/material/utils/requirePropFactory.js","../node_modules/@mui/utils/esm/requirePropFactory.js","../node_modules/@mui/material/utils/setRef.js","../node_modules/@mui/material/utils/unsupportedProp.js","../node_modules/@mui/utils/esm/unsupportedProp.js","../node_modules/@mui/material/utils/index.js","../node_modules/@mui/material/utils/isMuiElement.js","../node_modules/@mui/utils/esm/isMuiElement.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.js"],"sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n}), 'RemoveRedEye');\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"\n}), 'VisibilityOff');\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst FormControlContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== 'production') {\n FormControlContext.displayName = 'FormControlContext';\n}\nexport default FormControlContext;","export default function formControlState({\n props,\n states,\n muiFormControl\n}) {\n return states.reduce((acc, state) => {\n acc[state] = props[state];\n if (muiFormControl) {\n if (typeof props[state] === 'undefined') {\n acc[state] = muiFormControl[state];\n }\n }\n return acc;\n }, {});\n}","import * as React from 'react';\nimport FormControlContext from './FormControlContext';\nexport default function useFormControl() {\n return React.useContext(FormControlContext);\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"disabled\", \"error\", \"filled\", \"focused\", \"required\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport formLabelClasses, { getFormLabelUtilityClasses } from './formLabelClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n focused,\n disabled,\n error,\n filled,\n required\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, disabled && 'disabled', error && 'error', filled && 'filled', focused && 'focused', required && 'required'],\n asterisk: ['asterisk', error && 'error']\n };\n return composeClasses(slots, getFormLabelUtilityClasses, classes);\n};\nexport const FormLabelRoot = styled('label', {\n name: 'MuiFormLabel',\n slot: 'Root',\n overridesResolver: ({\n ownerState\n }, styles) => {\n return _extends({}, styles.root, ownerState.color === 'secondary' && styles.colorSecondary, ownerState.filled && styles.filled);\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, theme.typography.body1, {\n lineHeight: '1.4375em',\n padding: 0,\n position: 'relative',\n [`&.${formLabelClasses.focused}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${formLabelClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n },\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst AsteriskComponent = styled('span', {\n name: 'MuiFormLabel',\n slot: 'Asterisk',\n overridesResolver: (props, styles) => styles.asterisk\n})(({\n theme\n}) => ({\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst FormLabel = /*#__PURE__*/React.forwardRef(function FormLabel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormLabel'\n });\n const {\n children,\n className,\n component = 'label'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['color', 'required', 'focused', 'disabled', 'error', 'filled']\n });\n const ownerState = _extends({}, props, {\n color: fcs.color || 'primary',\n component,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(FormLabelRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: [children, fcs.required && /*#__PURE__*/_jsxs(AsteriskComponent, {\n ownerState: ownerState,\n \"aria-hidden\": true,\n className: classes.asterisk,\n children: [\"\\u2009\", '*']\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormLabel.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\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 * If `true`, the label should be displayed in a disabled state.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the label should use filled classes key.\n */\n filled: PropTypes.bool,\n /**\n * If `true`, the input of this label is focused (used by `FormGroup` components).\n */\n focused: PropTypes.bool,\n /**\n * If `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\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} : void 0;\nexport default FormLabel;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getFormLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiFormLabel', slot);\n}\nconst formLabelClasses = generateUtilityClasses('MuiFormLabel', ['root', 'colorSecondary', 'focused', 'disabled', 'error', 'filled', 'required', 'asterisk']);\nexport default formLabelClasses;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getInputLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiInputLabel', slot);\n}\nconst inputLabelClasses = generateUtilityClasses('MuiInputLabel', ['root', 'focused', 'disabled', 'error', 'required', 'asterisk', 'formControl', 'sizeSmall', 'shrink', 'animated', 'standard', 'filled', 'outlined']);\nexport default inputLabelClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"disableAnimation\", \"margin\", \"shrink\", \"variant\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport clsx from 'clsx';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport FormLabel, { formLabelClasses } from '../FormLabel';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { getInputLabelUtilityClasses } from './inputLabelClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n formControl,\n size,\n shrink,\n disableAnimation,\n variant,\n required\n } = ownerState;\n const slots = {\n root: ['root', formControl && 'formControl', !disableAnimation && 'animated', shrink && 'shrink', size === 'small' && 'sizeSmall', variant],\n asterisk: [required && 'asterisk']\n };\n const composedClasses = composeClasses(slots, getInputLabelUtilityClasses, classes);\n return _extends({}, classes, composedClasses);\n};\nconst InputLabelRoot = styled(FormLabel, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiInputLabel',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${formLabelClasses.asterisk}`]: styles.asterisk\n }, styles.root, ownerState.formControl && styles.formControl, ownerState.size === 'small' && styles.sizeSmall, ownerState.shrink && styles.shrink, !ownerState.disableAnimation && styles.animated, styles[ownerState.variant]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'block',\n transformOrigin: 'top left',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: '100%'\n}, ownerState.formControl && {\n position: 'absolute',\n left: 0,\n top: 0,\n // slight alteration to spec spacing to match visual spec result\n transform: 'translate(0, 20px) scale(1)'\n}, ownerState.size === 'small' && {\n // Compensation for the `Input.inputSizeSmall` style.\n transform: 'translate(0, 17px) scale(1)'\n}, ownerState.shrink && {\n transform: 'translate(0, -1.5px) scale(0.75)',\n transformOrigin: 'top left',\n maxWidth: '133%'\n}, !ownerState.disableAnimation && {\n transition: theme.transitions.create(['color', 'transform', 'max-width'], {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n })\n}, ownerState.variant === 'filled' && _extends({\n // Chrome's autofill feature gives the input field a yellow background.\n // Since the input field is behind the label in the HTML tree,\n // the input field is drawn last and hides the label with an opaque background color.\n // zIndex: 1 will raise the label above opaque background-colors of input.\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(12px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 13px) scale(1)'\n}, ownerState.shrink && _extends({\n userSelect: 'none',\n pointerEvents: 'auto',\n transform: 'translate(12px, 7px) scale(0.75)',\n maxWidth: 'calc(133% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 4px) scale(0.75)'\n})), ownerState.variant === 'outlined' && _extends({\n // see comment above on filled.zIndex\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(14px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(14px, 9px) scale(1)'\n}, ownerState.shrink && {\n userSelect: 'none',\n pointerEvents: 'auto',\n // Theoretically, we should have (8+5)*2/0.75 = 34px\n // but it feels a better when it bleeds a bit on the left, so 32px.\n maxWidth: 'calc(133% - 32px)',\n transform: 'translate(14px, -9px) scale(0.75)'\n})));\nconst InputLabel = /*#__PURE__*/React.forwardRef(function InputLabel(inProps, ref) {\n const props = useThemeProps({\n name: 'MuiInputLabel',\n props: inProps\n });\n const {\n disableAnimation = false,\n shrink: shrinkProp,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n let shrink = shrinkProp;\n if (typeof shrink === 'undefined' && muiFormControl) {\n shrink = muiFormControl.filled || muiFormControl.focused || muiFormControl.adornedStart;\n }\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['size', 'variant', 'required']\n });\n const ownerState = _extends({}, props, {\n disableAnimation,\n formControl: muiFormControl,\n shrink,\n size: fcs.size,\n variant: fcs.variant,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(InputLabelRoot, _extends({\n \"data-shrink\": shrink,\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? InputLabel.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the transition animation is disabled.\n * @default false\n */\n disableAnimation: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` of this label is focused.\n */\n focused: PropTypes.bool,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: PropTypes.oneOf(['dense']),\n /**\n * if `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n /**\n * If `true`, the label is shrunk.\n */\n shrink: PropTypes.bool,\n /**\n * The size of the component.\n * @default 'normal'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['normal', 'small']), PropTypes.string]),\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 * The variant to use.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputLabel;","import { unstable_createChainedFunction as createChainedFunction } from '@mui/utils';\nexport default createChainedFunction;","import { unstable_deprecatedPropType as deprecatedPropType } from '@mui/utils';\nexport default deprecatedPropType;","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return (props, propName, componentName, location, propFullName) => {\n const componentNameSafe = componentName || '<>';\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The ${location} \\`${propFullNameSafe}\\` of ` + `\\`${componentNameSafe}\\` is deprecated. ${reason}`);\n }\n return null;\n };\n}","import { unstable_requirePropFactory as requirePropFactory } from '@mui/utils';\nexport default requirePropFactory;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function requirePropFactory(componentNameInError, Component) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n\n // eslint-disable-next-line react/forbid-foreign-prop-types\n const prevPropTypes = Component ? _extends({}, Component.propTypes) : null;\n const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {\n const propFullNameSafe = propFullName || propName;\n const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];\n if (defaultTypeChecker) {\n const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);\n if (typeCheckerResult) {\n return typeCheckerResult;\n }\n }\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(`The prop \\`${propFullNameSafe}\\` of ` + `\\`${componentNameInError}\\` can only be used together with the \\`${requiredProp}\\` prop.`);\n }\n return null;\n };\n return requireProp;\n}","import { unstable_setRef as setRef } from '@mui/utils';\nexport default setRef;","import { unstable_unsupportedProp as unsupportedProp } from '@mui/utils';\nexport default unsupportedProp;","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","import { unstable_ClassNameGenerator as ClassNameGenerator } from '@mui/base/className';\nexport { default as capitalize } from './capitalize';\nexport { default as createChainedFunction } from './createChainedFunction';\nexport { default as createSvgIcon } from './createSvgIcon';\nexport { default as debounce } from './debounce';\nexport { default as deprecatedPropType } from './deprecatedPropType';\nexport { default as isMuiElement } from './isMuiElement';\nexport { default as ownerDocument } from './ownerDocument';\nexport { default as ownerWindow } from './ownerWindow';\nexport { default as requirePropFactory } from './requirePropFactory';\nexport { default as setRef } from './setRef';\nexport { default as unstable_useEnhancedEffect } from './useEnhancedEffect';\nexport { default as unstable_useId } from './useId';\nexport { default as unsupportedProp } from './unsupportedProp';\nexport { default as useControlled } from './useControlled';\nexport { default as useEventCallback } from './useEventCallback';\nexport { default as useForkRef } from './useForkRef';\nexport { default as useIsFocusVisible } from './useIsFocusVisible';\n// TODO: remove this export once ClassNameGenerator is stable\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const unstable_ClassNameGenerator = {\n configure: generator => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(['MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.', '', \"You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead\", '', 'The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401', '', 'The updated documentation: https://mui.com/guides/classname-generator/'].join('\\n'));\n }\n ClassNameGenerator.configure(generator);\n }\n};","import { unstable_isMuiElement as isMuiElement } from '@mui/utils';\nexport default isMuiElement;","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf(element.type.muiName) !== -1;\n}","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"names":["_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","Object","defineProperty","value","enumerable","get","_utils","createSvgIcon","FormControlContext","React","undefined","formControlState","_ref","props","states","muiFormControl","reduce","acc","state","useFormControl","_excluded","FormLabelRoot","styled","name","slot","overridesResolver","styles","ownerState","_extends","root","color","colorSecondary","filled","_ref2","_extends2","theme","vars","palette","text","secondary","typography","body1","lineHeight","padding","position","_defineProperty","concat","formLabelClasses","focused","main","disabled","error","AsteriskComponent","asterisk","_ref3","FormLabel","inProps","ref","useThemeProps","children","className","_props$component","component","other","_objectWithoutPropertiesLoose","fcs","required","classes","slots","capitalize","composeClasses","getFormLabelUtilityClasses","useUtilityClasses","_jsxs","as","clsx","generateUtilityClass","generateUtilityClasses","getInputLabelUtilityClasses","InputLabelRoot","shouldForwardProp","prop","rootShouldForwardProp","formControl","size","sizeSmall","shrink","disableAnimation","animated","variant","display","transformOrigin","whiteSpace","overflow","textOverflow","maxWidth","left","top","transform","transition","transitions","create","duration","shorter","easing","easeOut","zIndex","pointerEvents","userSelect","_props$disableAnimati","shrinkProp","adornedStart","composedClasses","_jsx","createChainedFunction","validator","reason","componentNameInError","Component","propName","componentName","location","propFullName","unstable_ClassNameGenerator","configure","generator","ClassNameGenerator","element","muiNames","indexOf","type","muiName","module","obj","__esModule"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/4882.9c5a4b90.chunk.js","mappings":"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","sources":["../node_modules/@mui/icons-material/RemoveRedEye.js","../node_modules/@mui/icons-material/VisibilityOff.js","../node_modules/@mui/icons-material/utils/createSvgIcon.js","../node_modules/@mui/material/FormControl/FormControlContext.js","../node_modules/@mui/material/FormControl/formControlState.js","../node_modules/@mui/material/FormControl/useFormControl.js","../node_modules/@mui/material/FormLabel/FormLabel.js","../node_modules/@mui/material/FormLabel/formLabelClasses.js","../node_modules/@mui/material/InputLabel/inputLabelClasses.js","../node_modules/@mui/material/InputLabel/InputLabel.js","../node_modules/@mui/material/utils/createChainedFunction.js","../node_modules/@mui/material/utils/deprecatedPropType.js","../node_modules/@mui/utils/esm/deprecatedPropType.js","../node_modules/@mui/material/utils/requirePropFactory.js","../node_modules/@mui/utils/esm/requirePropFactory.js","../node_modules/@mui/material/utils/setRef.js","../node_modules/@mui/material/utils/unsupportedProp.js","../node_modules/@mui/utils/esm/unsupportedProp.js","../node_modules/@mui/material/utils/index.js","../node_modules/@mui/material/utils/isMuiElement.js","../node_modules/@mui/utils/esm/isMuiElement.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.js"],"sourcesContent":["\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n}), 'RemoveRedEye');\nexports.default = _default;","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"\n}), 'VisibilityOff');\nexports.default = _default;","\"use strict\";\n'use client';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst FormControlContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== 'production') {\n FormControlContext.displayName = 'FormControlContext';\n}\nexport default FormControlContext;","export default function formControlState({\n props,\n states,\n muiFormControl\n}) {\n return states.reduce((acc, state) => {\n acc[state] = props[state];\n if (muiFormControl) {\n if (typeof props[state] === 'undefined') {\n acc[state] = muiFormControl[state];\n }\n }\n return acc;\n }, {});\n}","'use client';\n\nimport * as React from 'react';\nimport FormControlContext from './FormControlContext';\nexport default function useFormControl() {\n return React.useContext(FormControlContext);\n}","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"disabled\", \"error\", \"filled\", \"focused\", \"required\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport formLabelClasses, { getFormLabelUtilityClasses } from './formLabelClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n focused,\n disabled,\n error,\n filled,\n required\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, disabled && 'disabled', error && 'error', filled && 'filled', focused && 'focused', required && 'required'],\n asterisk: ['asterisk', error && 'error']\n };\n return composeClasses(slots, getFormLabelUtilityClasses, classes);\n};\nexport const FormLabelRoot = styled('label', {\n name: 'MuiFormLabel',\n slot: 'Root',\n overridesResolver: ({\n ownerState\n }, styles) => {\n return _extends({}, styles.root, ownerState.color === 'secondary' && styles.colorSecondary, ownerState.filled && styles.filled);\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, theme.typography.body1, {\n lineHeight: '1.4375em',\n padding: 0,\n position: 'relative',\n [`&.${formLabelClasses.focused}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${formLabelClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n },\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst AsteriskComponent = styled('span', {\n name: 'MuiFormLabel',\n slot: 'Asterisk',\n overridesResolver: (props, styles) => styles.asterisk\n})(({\n theme\n}) => ({\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst FormLabel = /*#__PURE__*/React.forwardRef(function FormLabel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormLabel'\n });\n const {\n children,\n className,\n component = 'label'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['color', 'required', 'focused', 'disabled', 'error', 'filled']\n });\n const ownerState = _extends({}, props, {\n color: fcs.color || 'primary',\n component,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(FormLabelRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: [children, fcs.required && /*#__PURE__*/_jsxs(AsteriskComponent, {\n ownerState: ownerState,\n \"aria-hidden\": true,\n className: classes.asterisk,\n children: [\"\\u2009\", '*']\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormLabel.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\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 * If `true`, the label should be displayed in a disabled state.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the label should use filled classes key.\n */\n filled: PropTypes.bool,\n /**\n * If `true`, the input of this label is focused (used by `FormGroup` components).\n */\n focused: PropTypes.bool,\n /**\n * If `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\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} : void 0;\nexport default FormLabel;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getFormLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiFormLabel', slot);\n}\nconst formLabelClasses = generateUtilityClasses('MuiFormLabel', ['root', 'colorSecondary', 'focused', 'disabled', 'error', 'filled', 'required', 'asterisk']);\nexport default formLabelClasses;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getInputLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiInputLabel', slot);\n}\nconst inputLabelClasses = generateUtilityClasses('MuiInputLabel', ['root', 'focused', 'disabled', 'error', 'required', 'asterisk', 'formControl', 'sizeSmall', 'shrink', 'animated', 'standard', 'filled', 'outlined']);\nexport default inputLabelClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"disableAnimation\", \"margin\", \"shrink\", \"variant\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport clsx from 'clsx';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport FormLabel, { formLabelClasses } from '../FormLabel';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { getInputLabelUtilityClasses } from './inputLabelClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n formControl,\n size,\n shrink,\n disableAnimation,\n variant,\n required\n } = ownerState;\n const slots = {\n root: ['root', formControl && 'formControl', !disableAnimation && 'animated', shrink && 'shrink', size === 'small' && 'sizeSmall', variant],\n asterisk: [required && 'asterisk']\n };\n const composedClasses = composeClasses(slots, getInputLabelUtilityClasses, classes);\n return _extends({}, classes, composedClasses);\n};\nconst InputLabelRoot = styled(FormLabel, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiInputLabel',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${formLabelClasses.asterisk}`]: styles.asterisk\n }, styles.root, ownerState.formControl && styles.formControl, ownerState.size === 'small' && styles.sizeSmall, ownerState.shrink && styles.shrink, !ownerState.disableAnimation && styles.animated, styles[ownerState.variant]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'block',\n transformOrigin: 'top left',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: '100%'\n}, ownerState.formControl && {\n position: 'absolute',\n left: 0,\n top: 0,\n // slight alteration to spec spacing to match visual spec result\n transform: 'translate(0, 20px) scale(1)'\n}, ownerState.size === 'small' && {\n // Compensation for the `Input.inputSizeSmall` style.\n transform: 'translate(0, 17px) scale(1)'\n}, ownerState.shrink && {\n transform: 'translate(0, -1.5px) scale(0.75)',\n transformOrigin: 'top left',\n maxWidth: '133%'\n}, !ownerState.disableAnimation && {\n transition: theme.transitions.create(['color', 'transform', 'max-width'], {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n })\n}, ownerState.variant === 'filled' && _extends({\n // Chrome's autofill feature gives the input field a yellow background.\n // Since the input field is behind the label in the HTML tree,\n // the input field is drawn last and hides the label with an opaque background color.\n // zIndex: 1 will raise the label above opaque background-colors of input.\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(12px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 13px) scale(1)'\n}, ownerState.shrink && _extends({\n userSelect: 'none',\n pointerEvents: 'auto',\n transform: 'translate(12px, 7px) scale(0.75)',\n maxWidth: 'calc(133% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 4px) scale(0.75)'\n})), ownerState.variant === 'outlined' && _extends({\n // see comment above on filled.zIndex\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(14px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(14px, 9px) scale(1)'\n}, ownerState.shrink && {\n userSelect: 'none',\n pointerEvents: 'auto',\n // Theoretically, we should have (8+5)*2/0.75 = 34px\n // but it feels a better when it bleeds a bit on the left, so 32px.\n maxWidth: 'calc(133% - 32px)',\n transform: 'translate(14px, -9px) scale(0.75)'\n})));\nconst InputLabel = /*#__PURE__*/React.forwardRef(function InputLabel(inProps, ref) {\n const props = useThemeProps({\n name: 'MuiInputLabel',\n props: inProps\n });\n const {\n disableAnimation = false,\n shrink: shrinkProp,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n let shrink = shrinkProp;\n if (typeof shrink === 'undefined' && muiFormControl) {\n shrink = muiFormControl.filled || muiFormControl.focused || muiFormControl.adornedStart;\n }\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['size', 'variant', 'required']\n });\n const ownerState = _extends({}, props, {\n disableAnimation,\n formControl: muiFormControl,\n shrink,\n size: fcs.size,\n variant: fcs.variant,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(InputLabelRoot, _extends({\n \"data-shrink\": shrink,\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? InputLabel.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the transition animation is disabled.\n * @default false\n */\n disableAnimation: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` of this label is focused.\n */\n focused: PropTypes.bool,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: PropTypes.oneOf(['dense']),\n /**\n * if `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n /**\n * If `true`, the label is shrunk.\n */\n shrink: PropTypes.bool,\n /**\n * The size of the component.\n * @default 'normal'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['normal', 'small']), PropTypes.string]),\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 * The variant to use.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputLabel;","import { unstable_createChainedFunction as createChainedFunction } from '@mui/utils';\nexport default createChainedFunction;","import { unstable_deprecatedPropType as deprecatedPropType } from '@mui/utils';\nexport default deprecatedPropType;","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return (props, propName, componentName, location, propFullName) => {\n const componentNameSafe = componentName || '<>';\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The ${location} \\`${propFullNameSafe}\\` of ` + `\\`${componentNameSafe}\\` is deprecated. ${reason}`);\n }\n return null;\n };\n}","import { unstable_requirePropFactory as requirePropFactory } from '@mui/utils';\nexport default requirePropFactory;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function requirePropFactory(componentNameInError, Component) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n\n // eslint-disable-next-line react/forbid-foreign-prop-types\n const prevPropTypes = Component ? _extends({}, Component.propTypes) : null;\n const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {\n const propFullNameSafe = propFullName || propName;\n const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];\n if (defaultTypeChecker) {\n const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);\n if (typeCheckerResult) {\n return typeCheckerResult;\n }\n }\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(`The prop \\`${propFullNameSafe}\\` of ` + `\\`${componentNameInError}\\` can only be used together with the \\`${requiredProp}\\` prop.`);\n }\n return null;\n };\n return requireProp;\n}","import { unstable_setRef as setRef } from '@mui/utils';\nexport default setRef;","import { unstable_unsupportedProp as unsupportedProp } from '@mui/utils';\nexport default unsupportedProp;","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","'use client';\n\nimport { unstable_ClassNameGenerator as ClassNameGenerator } from '@mui/base/className';\nexport { default as capitalize } from './capitalize';\nexport { default as createChainedFunction } from './createChainedFunction';\nexport { default as createSvgIcon } from './createSvgIcon';\nexport { default as debounce } from './debounce';\nexport { default as deprecatedPropType } from './deprecatedPropType';\nexport { default as isMuiElement } from './isMuiElement';\nexport { default as ownerDocument } from './ownerDocument';\nexport { default as ownerWindow } from './ownerWindow';\nexport { default as requirePropFactory } from './requirePropFactory';\nexport { default as setRef } from './setRef';\nexport { default as unstable_useEnhancedEffect } from './useEnhancedEffect';\nexport { default as unstable_useId } from './useId';\nexport { default as unsupportedProp } from './unsupportedProp';\nexport { default as useControlled } from './useControlled';\nexport { default as useEventCallback } from './useEventCallback';\nexport { default as useForkRef } from './useForkRef';\nexport { default as useIsFocusVisible } from './useIsFocusVisible';\n// TODO: remove this export once ClassNameGenerator is stable\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const unstable_ClassNameGenerator = {\n configure: generator => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(['MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.', '', \"You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead\", '', 'The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401', '', 'The updated documentation: https://mui.com/guides/classname-generator/'].join('\\n'));\n }\n ClassNameGenerator.configure(generator);\n }\n};","import { unstable_isMuiElement as isMuiElement } from '@mui/utils';\nexport default isMuiElement;","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf(element.type.muiName) !== -1;\n}","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"names":["_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","Object","defineProperty","value","enumerable","get","_utils","createSvgIcon","FormControlContext","React","undefined","formControlState","_ref","props","states","muiFormControl","reduce","acc","state","useFormControl","_excluded","FormLabelRoot","styled","name","slot","overridesResolver","styles","ownerState","_extends","root","color","colorSecondary","filled","_ref2","_extends2","theme","vars","palette","text","secondary","typography","body1","lineHeight","padding","position","_defineProperty","concat","formLabelClasses","focused","main","disabled","error","AsteriskComponent","asterisk","_ref3","FormLabel","inProps","ref","useThemeProps","children","className","_props$component","component","other","_objectWithoutPropertiesLoose","fcs","required","classes","slots","capitalize","composeClasses","getFormLabelUtilityClasses","useUtilityClasses","_jsxs","as","clsx","generateUtilityClass","generateUtilityClasses","getInputLabelUtilityClasses","InputLabelRoot","shouldForwardProp","prop","rootShouldForwardProp","formControl","size","sizeSmall","shrink","disableAnimation","animated","variant","display","transformOrigin","whiteSpace","overflow","textOverflow","maxWidth","left","top","transform","transition","transitions","create","duration","shorter","easing","easeOut","zIndex","pointerEvents","userSelect","_props$disableAnimati","shrinkProp","adornedStart","composedClasses","_jsx","createChainedFunction","validator","reason","componentNameInError","Component","propName","componentName","location","propFullName","unstable_ClassNameGenerator","configure","generator","ClassNameGenerator","element","muiNames","indexOf","type","muiName","module","obj","__esModule"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4884.a13f2bb5.chunk.js b/portal-ui/build/static/js/4884.a13f2bb5.chunk.js new file mode 100644 index 000000000..a283951c1 --- /dev/null +++ b/portal-ui/build/static/js/4884.a13f2bb5.chunk.js @@ -0,0 +1,2 @@ +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4884],{45649:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r.createSvgIcon}});var r=n(28610)},31260:function(e,t,n){"use strict";var r=n(78949);t.Z=r.Z},28610:function(e,t,n){"use strict";n.r(t),n.d(t,{capitalize:function(){return i.Z},createChainedFunction:function(){return a.Z},createSvgIcon:function(){return o.Z},debounce:function(){return u.Z},deprecatedPropType:function(){return c},isMuiElement:function(){return l.Z},ownerDocument:function(){return s.Z},ownerWindow:function(){return p.Z},requirePropFactory:function(){return f},setRef:function(){return h},unstable_ClassNameGenerator:function(){return A},unstable_useEnhancedEffect:function(){return y.Z},unstable_useId:function(){return d.Z},unsupportedProp:function(){return m},useControlled:function(){return v.Z},useEventCallback:function(){return b.Z},useForkRef:function(){return x.Z},useIsFocusVisible:function(){return g.Z}});var r=n(55902),i=n(14036),a=n(31260),o=n(76189),u=n(83199);var c=function(e,t){return function(){return null}},l=n(19103),s=n(98301),p=n(17602);n(87462);var f=function(e,t){return function(){return null}},h=n(62971).Z,y=n(40162),d=n(67384);var m=function(e,t,n,r,i){return null},v=n(98278),b=n(89683),x=n(42071),g=n(23031),A={configure:function(e){r.Z.configure(e)}}},18602:function(e,t,n){"use strict";n.d(t,{u:function(){return V}});var r=n(18111),i=n.n(r),a=n(82066),o=n.n(a),u=n(29627),c=n.n(u),l=n(74786),s=n.n(l),p=n(26181),f=n.n(p),h=n(42854),y=n.n(h),d=n(93629),m=n.n(d),v=n(72791),b=n(81694),x=n.n(b),g=n(98202),A=n(75555),P=n(39718),O=n(46044),j=n(87970),k=n(36768),E=n(70587),w=n(73822),S=n(77612),L=["layout","type","stroke","connectNulls","isRange","ref"];function M(e){return M="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},M(e)}function D(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function C(){return C=Object.assign?Object.assign.bind():function(e){for(var t=1;t0||!i()(c,r)||!i()(l,a))?this.renderAreaWithAnimation(e,t):this.renderAreaStatically(r,a,e,t)}},{key:"render",value:function(){var e,t=this.props,n=t.hide,r=t.dot,i=t.points,a=t.className,o=t.top,u=t.left,c=t.xAxis,l=t.yAxis,s=t.width,p=t.height,f=t.isAnimationActive,h=t.id;if(n||!i||!i.length)return null;var d=this.state.isAnimationFinished,m=1===i.length,b=x()("recharts-area",a),g=c&&c.allowDataOverflow,A=l&&l.allowDataOverflow,P=g||A,k=y()(h)?this.id:h,E=null!==(e=(0,S.L6)(r))&&void 0!==e?e:{r:3,strokeWidth:2},w=E.r,L=void 0===w?3:w,M=E.strokeWidth,D=void 0===M?2:M,C=((0,S.$k)(r)?r:{}).clipDot,_=void 0===C||C,Z=2*L+D;return v.createElement(O.m,{className:b},g||A?v.createElement("defs",null,v.createElement("clipPath",{id:"clipPath-".concat(k)},v.createElement("rect",{x:g?u:u-s/2,y:A?o:o-p/2,width:g?s:2*s,height:A?p:2*p})),!_&&v.createElement("clipPath",{id:"clipPath-dots-".concat(k)},v.createElement("rect",{x:u-Z/2,y:o-Z/2,width:s+Z,height:p+Z}))):null,m?null:this.renderArea(P,k),(r||m)&&this.renderDots(P,_,k),(!f||d)&&j.e.renderCallByParent(this.props,i))}}])&&I(t.prototype,n),r&&I(t,r),Object.defineProperty(t,"prototype",{writable:!1}),u}(v.PureComponent);F(V,"displayName","Area"),F(V,"defaultProps",{stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!k.x.isSsr,animationBegin:0,animationDuration:1500,animationEasing:"ease"}),F(V,"getBaseValue",(function(e,t,n,r){var i=e.layout,a=e.baseValue,o=t.props.baseValue,u=null!==o&&void 0!==o?o:a;if((0,E.hj)(u)&&"number"===typeof u)return u;var c="horizontal"===i?r:n,l=c.scale.domain();if("number"===c.type){var s=Math.max(l[0],l[1]),p=Math.min(l[0],l[1]);return"dataMin"===u?p:"dataMax"===u||s<0?s:Math.max(Math.min(l[0],l[1]),0)}return"dataMin"===u?l[0]:"dataMax"===u?l[1]:l[0]})),F(V,"getComposedData",(function(e){var t,n=e.props,r=e.item,i=e.xAxis,a=e.yAxis,o=e.xAxisTicks,u=e.yAxisTicks,c=e.bandSize,l=e.dataKey,s=e.stackedData,p=e.dataStartIndex,h=e.displayedData,d=e.offset,v=n.layout,b=s&&s.length,x=V.getBaseValue(n,r,i,a),g=!1,A=h.map((function(e,t){var n,r=(0,w.F$)(e,l);b?n=s[p+t]:(n=r,m()(n)?g=!0:n=[x,n]);var f=y()(n[1])||b&&y()(r);return"horizontal"===v?{x:(0,w.Hv)({axis:i,ticks:o,bandSize:c,entry:e,index:t}),y:f?null:a.scale(n[1]),value:n,payload:e}:{x:f?null:i.scale(n[1]),y:(0,w.Hv)({axis:a,ticks:u,bandSize:c,entry:e,index:t}),value:n,payload:e}}));return t=b||g?A.map((function(e){return"horizontal"===v?{x:e.x,y:y()(f()(e,"value[0]"))||y()(f()(e,"y"))?null:a.scale(f()(e,"value[0]"))}:{x:y()(f()(e,"value[0]"))?null:i.scale(f()(e,"value[0]")),y:e.y}})):"horizontal"===v?a.scale(x):i.scale(x),Z({points:A,baseLine:t,layout:v,isRange:g},d)})),F(V,"renderDotItem",(function(e,t){return v.isValidElement(e)?v.cloneElement(e,t):s()(e)?e(t):v.createElement(P.o,C({},t,{className:"recharts-area-dot"}))}))},28265:function(e,t,n){"use strict";n.d(t,{T:function(){return c}});var r=n(625),i=n(18602),a=n(90466),o=n(12891),u=n(93137),c=(0,r.z)({chartName:"AreaChart",GraphicalChild:i.u,axisComponents:[{axisType:"xAxis",AxisComp:a.K},{axisType:"yAxis",AxisComp:o.B}],formatAxisMap:u.t9})},64836:function(e){e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports}}]); +//# sourceMappingURL=4884.a13f2bb5.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4884.a13f2bb5.chunk.js.map b/portal-ui/build/static/js/4884.a13f2bb5.chunk.js.map new file mode 100644 index 000000000..1bd9f83d3 --- /dev/null +++ b/portal-ui/build/static/js/4884.a13f2bb5.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/4884.a13f2bb5.chunk.js","mappings":"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","sources":["../node_modules/@mui/icons-material/utils/createSvgIcon.js","../node_modules/@mui/material/utils/createChainedFunction.js","../node_modules/@mui/material/utils/deprecatedPropType.js","../node_modules/@mui/utils/esm/deprecatedPropType.js","../node_modules/@mui/material/utils/requirePropFactory.js","../node_modules/@mui/utils/esm/requirePropFactory.js","../node_modules/@mui/material/utils/setRef.js","../node_modules/@mui/material/utils/unsupportedProp.js","../node_modules/@mui/utils/esm/unsupportedProp.js","../node_modules/@mui/material/utils/index.js","../node_modules/recharts/es6/cartesian/Area.js","../node_modules/recharts/es6/chart/AreaChart.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.js"],"sourcesContent":["\"use strict\";\n'use client';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");","import { unstable_createChainedFunction as createChainedFunction } from '@mui/utils';\nexport default createChainedFunction;","import { unstable_deprecatedPropType as deprecatedPropType } from '@mui/utils';\nexport default deprecatedPropType;","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return (props, propName, componentName, location, propFullName) => {\n const componentNameSafe = componentName || '<>';\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The ${location} \\`${propFullNameSafe}\\` of ` + `\\`${componentNameSafe}\\` is deprecated. ${reason}`);\n }\n return null;\n };\n}","import { unstable_requirePropFactory as requirePropFactory } from '@mui/utils';\nexport default requirePropFactory;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function requirePropFactory(componentNameInError, Component) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n\n // eslint-disable-next-line react/forbid-foreign-prop-types\n const prevPropTypes = Component ? _extends({}, Component.propTypes) : null;\n const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {\n const propFullNameSafe = propFullName || propName;\n const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];\n if (defaultTypeChecker) {\n const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);\n if (typeCheckerResult) {\n return typeCheckerResult;\n }\n }\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(`The prop \\`${propFullNameSafe}\\` of ` + `\\`${componentNameInError}\\` can only be used together with the \\`${requiredProp}\\` prop.`);\n }\n return null;\n };\n return requireProp;\n}","import { unstable_setRef as setRef } from '@mui/utils';\nexport default setRef;","import { unstable_unsupportedProp as unsupportedProp } from '@mui/utils';\nexport default unsupportedProp;","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","'use client';\n\nimport { unstable_ClassNameGenerator as ClassNameGenerator } from '@mui/base/className';\nexport { default as capitalize } from './capitalize';\nexport { default as createChainedFunction } from './createChainedFunction';\nexport { default as createSvgIcon } from './createSvgIcon';\nexport { default as debounce } from './debounce';\nexport { default as deprecatedPropType } from './deprecatedPropType';\nexport { default as isMuiElement } from './isMuiElement';\nexport { default as ownerDocument } from './ownerDocument';\nexport { default as ownerWindow } from './ownerWindow';\nexport { default as requirePropFactory } from './requirePropFactory';\nexport { default as setRef } from './setRef';\nexport { default as unstable_useEnhancedEffect } from './useEnhancedEffect';\nexport { default as unstable_useId } from './useId';\nexport { default as unsupportedProp } from './unsupportedProp';\nexport { default as useControlled } from './useControlled';\nexport { default as useEventCallback } from './useEventCallback';\nexport { default as useForkRef } from './useForkRef';\nexport { default as useIsFocusVisible } from './useIsFocusVisible';\n// TODO: remove this export once ClassNameGenerator is stable\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const unstable_ClassNameGenerator = {\n configure: generator => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(['MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.', '', \"You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead\", '', 'The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401', '', 'The updated documentation: https://mui.com/guides/classname-generator/'].join('\\n'));\n }\n ClassNameGenerator.configure(generator);\n }\n};","import _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\";\nvar _excluded = [\"layout\", \"type\", \"stroke\", \"connectNulls\", \"isRange\", \"ref\"];\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\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; }\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; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\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 } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\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); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\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; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\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, isDotProps } from '../util/ReactUtils';\nexport var Area = /*#__PURE__*/function (_PureComponent) {\n _inherits(Area, _PureComponent);\n var _super = _createSuper(Area);\n function Area() {\n var _this;\n _classCallCheck(this, Area);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n isAnimationFinished: true\n });\n _defineProperty(_assertThisInitialized(_this), \"id\", uniqueId('recharts-area-'));\n _defineProperty(_assertThisInitialized(_this), \"handleAnimationEnd\", function () {\n var onAnimationEnd = _this.props.onAnimationEnd;\n _this.setState({\n isAnimationFinished: true\n });\n if (_isFunction(onAnimationEnd)) {\n onAnimationEnd();\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"handleAnimationStart\", function () {\n var onAnimationStart = _this.props.onAnimationStart;\n _this.setState({\n isAnimationFinished: false\n });\n if (_isFunction(onAnimationStart)) {\n onAnimationStart();\n }\n });\n return _this;\n }\n _createClass(Area, [{\n key: \"renderDots\",\n value: function renderDots(needClip, clipDot, clipPathId) {\n var isAnimationActive = this.props.isAnimationActive;\n var isAnimationFinished = this.state.isAnimationFinished;\n if (isAnimationActive && !isAnimationFinished) {\n return null;\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 return Area.renderDotItem(dot, dotProps);\n });\n var dotsProps = {\n clipPath: needClip ? \"url(#clipPath-\".concat(clipDot ? '' : 'dots-').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 var maxY = _max(points.map(function (entry) {\n return entry.y || 0;\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 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 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 var maxX = _max(points.map(function (entry) {\n return entry.x || 0;\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 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 return null;\n }\n }, {\n key: \"renderClipRect\",\n value: function renderClipRect(alpha) {\n var layout = this.props.layout;\n if (layout === 'vertical') {\n return this.renderVerticalRect(alpha);\n }\n return this.renderHorizontalRect(alpha);\n }\n }, {\n key: \"renderAreaStatically\",\n value: function renderAreaStatically(points, baseLine, needClip, clipPathId) {\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, _excluded);\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 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;\n // 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 if (prevPoints) {\n var prevPointsDiffFactor = prevPoints.length / points.length;\n // update animtaion\n var stepPoints = points.map(function (entry, index) {\n var prevPointIndex = Math.floor(index * prevPointsDiffFactor);\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 return entry;\n });\n var stepBaseLine;\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 stepBaseLine = _interpolator(t);\n } else {\n stepBaseLine = baseLine.map(function (entry, index) {\n var prevPointIndex = Math.floor(index * prevPointsDiffFactor);\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 return entry;\n });\n }\n return _this2.renderAreaStatically(stepPoints, stepBaseLine, needClip, clipPathId);\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 if (isAnimationActive && points && points.length && (!prevPoints && totalLength > 0 || !_isEqual(prevPoints, points) || !_isEqual(prevBaseLine, baseLine))) {\n return this.renderAreaWithAnimation(needClip, clipPathId);\n }\n return this.renderAreaStatically(points, baseLine, needClip, clipPathId);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _filterProps;\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 if (hide || !points || !points.length) {\n return null;\n }\n var isAnimationFinished = this.state.isAnimationFinished;\n var hasSinglePoint = points.length === 1;\n var layerClass = classNames('recharts-area', className);\n var needClipX = xAxis && xAxis.allowDataOverflow;\n var needClipY = yAxis && yAxis.allowDataOverflow;\n var needClip = needClipX || needClipY;\n var clipPathId = _isNil(id) ? this.id : id;\n var _ref2 = (_filterProps = filterProps(dot)) !== null && _filterProps !== void 0 ? _filterProps : {\n r: 3,\n strokeWidth: 2\n },\n _ref2$r = _ref2.r,\n r = _ref2$r === void 0 ? 3 : _ref2$r,\n _ref2$strokeWidth = _ref2.strokeWidth,\n strokeWidth = _ref2$strokeWidth === void 0 ? 2 : _ref2$strokeWidth;\n var _ref3 = isDotProps(dot) ? dot : {},\n _ref3$clipDot = _ref3.clipDot,\n clipDot = _ref3$clipDot === void 0 ? true : _ref3$clipDot;\n var dotSize = r * 2 + strokeWidth;\n return /*#__PURE__*/React.createElement(Layer, {\n className: layerClass\n }, needClipX || needClipY ? /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clipPath-\".concat(clipPathId)\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: needClipX ? left : left - width / 2,\n y: needClipY ? top : top - height / 2,\n width: needClipX ? width : width * 2,\n height: needClipY ? height : height * 2\n })), !clipDot && /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clipPath-dots-\".concat(clipPathId)\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: left - dotSize / 2,\n y: top - dotSize / 2,\n width: width + dotSize,\n height: height + dotSize\n }))) : null, !hasSinglePoint ? this.renderArea(needClip, clipPathId) : null, (dot || hasSinglePoint) && this.renderDots(needClip, clipDot, 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 if (nextProps.points !== prevState.curPoints || nextProps.baseLine !== prevState.curBaseLine) {\n return {\n curPoints: nextProps.points,\n curBaseLine: nextProps.baseLine\n };\n }\n return null;\n }\n }]);\n return Area;\n}(PureComponent);\n_defineProperty(Area, \"displayName\", 'Area');\n_defineProperty(Area, \"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_defineProperty(Area, \"getBaseValue\", function (props, item, xAxis, yAxis) {\n var layout = props.layout,\n chartBaseValue = props.baseValue;\n var itemBaseValue = item.props.baseValue;\n\n // The baseValue can be defined both on the AreaChart as well as on the Area.\n // The value for the item takes precedence.\n var baseValue = itemBaseValue !== null && itemBaseValue !== void 0 ? itemBaseValue : chartBaseValue;\n if (isNumber(baseValue) && typeof baseValue === 'number') {\n return baseValue;\n }\n var numericAxis = layout === 'horizontal' ? yAxis : xAxis;\n var domain = numericAxis.scale.domain();\n if (numericAxis.type === 'number') {\n var max = Math.max(domain[0], domain[1]);\n var min = Math.min(domain[0], domain[1]);\n if (baseValue === 'dataMin') {\n return min;\n }\n if (baseValue === 'dataMax') {\n return max;\n }\n return max < 0 ? max : Math.max(Math.min(domain[0], domain[1]), 0);\n }\n if (baseValue === 'dataMin') {\n return domain[0];\n }\n if (baseValue === 'dataMax') {\n return domain[1];\n }\n return domain[0];\n});\n_defineProperty(Area, \"getComposedData\", function (_ref4) {\n var props = _ref4.props,\n item = _ref4.item,\n xAxis = _ref4.xAxis,\n yAxis = _ref4.yAxis,\n xAxisTicks = _ref4.xAxisTicks,\n yAxisTicks = _ref4.yAxisTicks,\n bandSize = _ref4.bandSize,\n dataKey = _ref4.dataKey,\n stackedData = _ref4.stackedData,\n dataStartIndex = _ref4.dataStartIndex,\n displayedData = _ref4.displayedData,\n offset = _ref4.offset;\n var layout = props.layout;\n var hasStack = stackedData && stackedData.length;\n var baseValue = Area.getBaseValue(props, item, xAxis, yAxis);\n var isRange = false;\n var points = displayedData.map(function (entry, index) {\n var originalValue = getValueByDataKey(entry, dataKey);\n var value;\n if (hasStack) {\n value = stackedData[dataStartIndex + index];\n } else {\n value = originalValue;\n if (!_isArray(value)) {\n value = [baseValue, value];\n } else {\n isRange = true;\n }\n }\n var isBreakPoint = _isNil(value[1]) || hasStack && _isNil(originalValue);\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 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 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 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 return _objectSpread({\n points: points,\n baseLine: baseLine,\n layout: layout,\n isRange: isRange\n }, offset);\n});\n_defineProperty(Area, \"renderDotItem\", function (option, props) {\n var dotItem;\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 return dotItem;\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});","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"names":["Object","defineProperty","exports","value","enumerable","get","_utils","createSvgIcon","require","createChainedFunction","validator","reason","componentNameInError","Component","props","propName","componentName","location","propFullName","unstable_ClassNameGenerator","configure","generator","ClassNameGenerator","_excluded","_typeof","obj","Symbol","iterator","constructor","prototype","_objectWithoutProperties","source","excluded","key","i","target","sourceKeys","keys","length","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","call","_extends","assign","bind","arguments","hasOwnProperty","apply","this","ownKeys","object","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_defineProperties","descriptor","configurable","writable","_toPropertyKey","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","e","_isNativeReflectConstruct","result","Super","_getPrototypeOf","NewTarget","self","TypeError","_assertThisInitialized","_possibleConstructorReturn","ReferenceError","getPrototypeOf","arg","input","hint","prim","toPrimitive","undefined","res","String","Number","_toPrimitive","Area","_PureComponent","subClass","superClass","create","_inherits","Constructor","protoProps","staticProps","_super","_this","instance","_classCallCheck","_len","args","Array","_key","concat","isAnimationFinished","uniqueId","onAnimationEnd","setState","_isFunction","onAnimationStart","nextProps","prevState","animationId","prevAnimationId","curPoints","points","curBaseLine","baseLine","prevPoints","prevBaseLine","needClip","clipDot","clipPathId","isAnimationActive","state","_this$props","dot","dataKey","areaProps","filterProps","customDotProps","dots","map","entry","dotProps","r","cx","x","cy","y","index","payload","renderDotItem","dotsProps","clipPath","React","Layer","className","alpha","_this$props2","strokeWidth","startX","endX","width","Math","abs","maxY","_max","isNumber","max","_isArray","height","floor","parseInt","_this$props3","startY","endY","maxX","layout","renderVerticalRect","renderHorizontalRect","_this$props4","type","stroke","connectNulls","isRange","others","ref","Curve","fill","_this2","_this$props5","animationBegin","animationDuration","animationEasing","_this$state","Animate","begin","duration","isActive","easing","from","t","to","handleAnimationEnd","handleAnimationStart","_ref","stepBaseLine","prevPointsDiffFactor","stepPoints","prevPointIndex","prev","interpolatorX","interpolateNumber","interpolatorY","interpolator","_isNil","_isNaN","_interpolator","renderAreaStatically","id","renderClipRect","_this$props6","_this$state2","totalLength","_isEqual","renderAreaWithAnimation","_filterProps","_this$props7","hide","top","left","xAxis","yAxis","hasSinglePoint","layerClass","classNames","needClipX","allowDataOverflow","needClipY","_ref2","_ref2$r","_ref2$strokeWidth","_ref3$clipDot","isDotProps","dotSize","renderArea","renderDots","LabelList","renderCallByParent","PureComponent","fillOpacity","xAxisId","yAxisId","legendType","activeDot","Global","isSsr","item","chartBaseValue","baseValue","itemBaseValue","numericAxis","domain","scale","min","_ref4","xAxisTicks","yAxisTicks","bandSize","stackedData","dataStartIndex","displayedData","offset","hasStack","getBaseValue","originalValue","getValueByDataKey","isBreakPoint","getCateCoordinateOfLine","axis","ticks","_get","option","Dot","AreaChart","generateCategoricalChart","chartName","GraphicalChild","axisComponents","axisType","AxisComp","XAxis","YAxis","formatAxisMap","module","__esModule"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4902.ded1f1f5.chunk.js.map b/portal-ui/build/static/js/4902.ded1f1f5.chunk.js.map index 2d62d1d52..c2e444d73 100644 --- a/portal-ui/build/static/js/4902.ded1f1f5.chunk.js.map +++ b/portal-ui/build/static/js/4902.ded1f1f5.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/4902.ded1f1f5.chunk.js","mappings":"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","sources":["screens/Console/Common/Components/withSuspense.tsx","screens/Console/License/LicensePlans.tsx","screens/Console/License/License.tsx","screens/Console/Support/RegistrationStatusBanner.tsx","../node_modules/@mui/icons-material/CheckCircle.js","../node_modules/@mui/icons-material/utils/createSvgIcon.js","../node_modules/@mui/material/useMediaQuery/useMediaQuery.js","../node_modules/@mui/material/utils/createChainedFunction.js","../node_modules/@mui/material/utils/deprecatedPropType.js","../node_modules/@mui/utils/esm/deprecatedPropType.js","../node_modules/@mui/material/utils/requirePropFactory.js","../node_modules/@mui/utils/esm/requirePropFactory.js","../node_modules/@mui/material/utils/setRef.js","../node_modules/@mui/material/utils/unsupportedProp.js","../node_modules/@mui/utils/esm/unsupportedProp.js","../node_modules/@mui/material/utils/index.js","../node_modules/@mui/material/utils/isMuiElement.js","../node_modules/@mui/utils/esm/isMuiElement.js","../node_modules/@mui/utils/esm/createChainedFunction.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.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, { 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","// 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 clsx from \"clsx\";\nimport CheckCircleIcon from \"@mui/icons-material/CheckCircle\";\nimport {\n AGPLV3Logo,\n Button,\n ConsoleEnterprise,\n ConsoleStandard,\n LicenseDocIcon,\n} from \"mds\";\nimport { useTheme } from \"@mui/material/styles\";\nimport { SubnetInfo } from \"./types\";\nimport { Box } from \"@mui/material\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\nimport {\n COMMUNITY_PLAN_FEATURES,\n ENTERPRISE_PLAN_FEATURES,\n FEATURE_ITEMS,\n getRenderValue,\n LICENSE_PLANS,\n PAID_PLANS,\n STANDARD_PLAN_FEATURES,\n} from \"./utils\";\n\ninterface IRegisterStatus {\n activateProductModal: any;\n closeModalAndFetchLicenseInfo: any;\n licenseInfo: SubnetInfo | undefined;\n currentPlanID: number;\n setActivateProductModal: any;\n}\n\nconst PlanHeader = ({\n isActive,\n isXsViewActive,\n title,\n onClick,\n children,\n}: {\n isActive: boolean;\n isXsViewActive: boolean;\n title: string;\n price?: string;\n onClick: any;\n children: any;\n}) => {\n const plan = title.toLowerCase();\n return (\n {\n onClick && onClick(plan);\n }}\n sx={{\n display: \"flex\",\n alignItems: \"flex-start\",\n justifyContent: \"center\",\n flexFlow: \"column\",\n borderLeft: \"1px solid #eaeaea\",\n borderBottom: \"0px !important\",\n \"& .plan-header\": {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flexFlow: \"column\",\n },\n\n \"& .title-block\": {\n display: \"flex\",\n alignItems: \"center\",\n flexFlow: \"column\",\n width: \"100%\",\n \"& .title-main\": {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flex: 1,\n },\n \"& .iconContainer\": {\n \"& .min-icon\": {\n minWidth: 140,\n width: \"100%\",\n maxHeight: 55,\n height: \"100%\",\n },\n },\n },\n\n \"& .open-source\": {\n fontSize: \"14px\",\n display: \"flex\",\n marginBottom: \"5px\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: \"8px\",\n height: \"12px\",\n width: \"12px\",\n },\n },\n\n \"& .cur-plan-text\": {\n fontSize: \"12px\",\n textTransform: \"uppercase\",\n },\n\n \"@media (max-width: 600px)\": {\n cursor: \"pointer\",\n \"& .title-block\": {\n \"& .title\": {\n fontSize: \"14px\",\n fontWeight: 600,\n },\n },\n },\n\n \"&.active, &.active.xs-active\": {\n color: \"#ffffff\",\n position: \"relative\",\n\n \"& .min-icon\": {\n fill: \"#ffffff\",\n },\n\n \"&:before\": {\n content: \"' '\",\n position: \"absolute\",\n width: \"100%\",\n height: \"18px\",\n backgroundColor: \"#2781B0\",\n display: \"block\",\n top: -16,\n },\n \"& .iconContainer\": {\n \"& .min-icon\": {\n marginTop: \"-12px\",\n },\n },\n },\n \"&.active\": {\n background: \"#2781B0\",\n color: \"#ffffff\",\n },\n \"&.xs-active\": {\n background: \"#eaeaea\",\n },\n }}\n >\n {children}\n \n );\n};\n\nconst FeatureTitleRowCmp = (props: { featureLabel: any }) => {\n return (\n \n \n

    {props.featureLabel}
    \n \n \n );\n};\n\nconst PricingFeatureItem = (props: {\n featureLabel: any;\n label?: any;\n detail?: any;\n xsLabel?: string;\n style?: any;\n}) => {\n return (\n \n \n
    \n {getRenderValue(props.featureLabel || \"\")}\n
    \n \n
    {getRenderValue(props.label || \"\")}
    \n {getRenderValue(props.detail)}\n\n
    {props.xsLabel}
    \n
    \n
    \n
    \n );\n};\n\nconst LicensePlans = ({ licenseInfo }: IRegisterStatus) => {\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"sm\"));\n\n let currentPlan = !licenseInfo\n ? \"community\"\n : licenseInfo?.plan?.toLowerCase();\n\n const isCommunityPlan = currentPlan === LICENSE_PLANS.COMMUNITY;\n const isStandardPlan = currentPlan === LICENSE_PLANS.STANDARD;\n const isEnterprisePlan = currentPlan === LICENSE_PLANS.ENTERPRISE;\n\n const isPaidPlan = PAID_PLANS.includes(currentPlan);\n\n /*In smaller screen use tabbed view to show features*/\n const [xsPlanView, setXsPlanView] = useState(\"\");\n let isXsViewCommunity = xsPlanView === LICENSE_PLANS.COMMUNITY;\n let isXsViewStandard = xsPlanView === LICENSE_PLANS.STANDARD;\n let isXsViewEnterprise = xsPlanView === LICENSE_PLANS.ENTERPRISE;\n\n const getCommunityPlanHeader = () => {\n return (\n \n \n \n
    \n \n
    \n
    \n
    \n \n );\n };\n\n const getStandardPlanHeader = () => {\n return (\n \n \n \n
    \n \n
    \n
    \n
    \n \n );\n };\n\n const getEnterpriseHeader = () => {\n return (\n \n \n \n
    \n \n
    \n
    \n
    \n \n );\n };\n\n const getButton = (\n link: string,\n btnText: string,\n variant: any,\n plan: string,\n ) => {\n let linkToNav =\n currentPlan !== \"community\" ? \"https://subnet.min.io\" : link;\n return (\n {\n e.preventDefault();\n\n window.open(`${linkToNav}?ref=con`, \"_blank\");\n }}\n label={btnText}\n />\n );\n };\n\n const onPlanClick = (plan: string) => {\n setXsPlanView(plan);\n };\n\n useEffect(() => {\n if (isSmallScreen) {\n setXsPlanView(currentPlan || \"community\");\n } else {\n setXsPlanView(\"\");\n }\n }, [isSmallScreen, currentPlan]);\n\n const linkTracker = `?ref=con`;\n\n const featureList = FEATURE_ITEMS;\n return (\n \n \n \n \n \n {featureList.map((fi) => {\n const featureTitleRow = fi.featureTitleRow;\n const isHeader = fi.isHeader;\n\n if (isHeader) {\n if (isPaidPlan) {\n return (\n \n \n \n View License agreement
    \n for the registered plan.\n \n
    \n );\n }\n\n return (\n \n {fi.label}\n \n );\n }\n if (featureTitleRow) {\n return (\n \n
    {getRenderValue(fi.desc)}
    \n \n );\n }\n return (\n \n
    {getRenderValue(fi.desc)}
    \n \n );\n })}\n \n {!isPaidPlan ? (\n \n {COMMUNITY_PLAN_FEATURES.map((fi, idx) => {\n const featureLabel = featureList[idx].desc;\n const { featureTitleRow, isHeader } = fi;\n\n if (isHeader) {\n return getCommunityPlanHeader();\n }\n\n if (featureTitleRow) {\n return (\n \n );\n }\n\n return (\n \n );\n })}\n \n {getButton(\n `https://slack.min.io${linkTracker}`,\n \"Join Slack\",\n \"regular\",\n LICENSE_PLANS.COMMUNITY,\n )}\n \n \n ) : null}\n \n {STANDARD_PLAN_FEATURES.map((fi, idx) => {\n const featureLabel = featureList[idx].desc;\n const featureTitleRow = fi.featureTitleRow;\n const isHeader = fi.isHeader;\n\n if (isHeader) {\n return getStandardPlanHeader();\n }\n\n if (featureTitleRow) {\n return (\n \n );\n }\n return (\n \n );\n })}\n\n \n {getButton(\n `https://min.io/signup${linkTracker}`,\n !PAID_PLANS.includes(currentPlan)\n ? \"Subscribe\"\n : \"Login to SUBNET\",\n \"callAction\",\n LICENSE_PLANS.STANDARD,\n )}\n \n \n \n {ENTERPRISE_PLAN_FEATURES.map((fi, idx) => {\n const featureLabel = featureList[idx].desc;\n const { featureTitleRow, isHeader, yesIcon } = fi;\n\n if (isHeader) {\n return getEnterpriseHeader();\n }\n\n if (featureTitleRow) {\n return (\n \n );\n }\n\n if (yesIcon) {\n return (\n \n \n
    \n \n \n \n
    \n
    \n );\n }\n return (\n \n );\n })}\n \n {getButton(\n `https://min.io/signup${linkTracker}`,\n !PAID_PLANS.includes(currentPlan)\n ? \"Subscribe\"\n : \"Login to SUBNET\",\n \"callAction\",\n LICENSE_PLANS.ENTERPRISE,\n )}\n \n \n \n \n
    \n );\n};\n\nexport default LicensePlans;\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, useCallback, useEffect, useState } from \"react\";\nimport { LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { SubnetInfo } from \"./types\";\nimport api from \"../../../common/api\";\nimport { ArrowIcon, Button, PageLayout } from \"mds\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport LicensePlans from \"./LicensePlans\";\nimport { useNavigate } from \"react-router-dom\";\nimport RegistrationStatusBanner from \"../Support/RegistrationStatusBanner\";\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport { getLicenseConsent } from \"./utils\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport HelpMenu from \"../HelpMenu\";\nimport { setHelpName } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\n\nconst LicenseConsentModal = withSuspense(\n React.lazy(() => import(\"./LicenseConsentModal\")),\n);\n\nconst License = () => {\n const navigate = useNavigate();\n const [activateProductModal, setActivateProductModal] =\n useState(false);\n\n const [licenseInfo, setLicenseInfo] = useState();\n const [currentPlanID, setCurrentPlanID] = useState(0);\n const [loadingLicenseInfo, setLoadingLicenseInfo] = useState(false);\n const [initialLicenseLoading, setInitialLicenseLoading] =\n useState(true);\n useState(false);\n const [clusterRegistered, setClusterRegistered] = useState(false);\n\n const [isLicenseConsentOpen, setIsLicenseConsentOpen] =\n useState(false);\n\n const closeModalAndFetchLicenseInfo = () => {\n setActivateProductModal(false);\n fetchLicenseInfo();\n };\n\n const dispatch = useAppDispatch();\n useEffect(() => {\n dispatch(setHelpName(\"license\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const isRegistered = licenseInfo && clusterRegistered;\n\n const isAgplConsentDone = getLicenseConsent();\n\n useEffect(() => {\n const shouldConsent =\n !isRegistered && !isAgplConsentDone && !initialLicenseLoading;\n\n if (shouldConsent && !loadingLicenseInfo) {\n setIsLicenseConsentOpen(true);\n }\n }, [\n isRegistered,\n isAgplConsentDone,\n initialLicenseLoading,\n loadingLicenseInfo,\n ]);\n\n const fetchLicenseInfo = useCallback(() => {\n if (loadingLicenseInfo) {\n return;\n }\n setLoadingLicenseInfo(true);\n api\n .invoke(\"GET\", `/api/v1/subnet/info`)\n .then((res: SubnetInfo) => {\n if (res) {\n if (res.plan === \"STANDARD\") {\n setCurrentPlanID(1);\n } else if (res.plan === \"ENTERPRISE\") {\n setCurrentPlanID(2);\n } else {\n setCurrentPlanID(1);\n }\n setLicenseInfo(res);\n }\n setClusterRegistered(true);\n setLoadingLicenseInfo(false);\n })\n .catch(() => {\n setClusterRegistered(false);\n setLoadingLicenseInfo(false);\n });\n }, [loadingLicenseInfo]);\n\n useEffect(() => {\n if (initialLicenseLoading) {\n fetchLicenseInfo();\n setInitialLicenseLoading(false);\n }\n }, [fetchLicenseInfo, initialLicenseLoading, setInitialLicenseLoading]);\n\n if (loadingLicenseInfo) {\n return (\n \n \n \n );\n }\n\n return (\n \n \n {!isRegistered && (\n navigate(IAM_PAGES.REGISTER_SUPPORT)}\n style={{\n fontSize: \"14px\",\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n }}\n icon={}\n variant={\"callAction\"}\n >\n Register your cluster\n \n )}\n \n \n }\n />\n\n \n \n {isRegistered && (\n \n )}\n \n\n \n\n {\n setIsLicenseConsentOpen(false);\n }}\n />\n \n \n );\n};\n\nexport default License;\n","import React from \"react\";\nimport { Box } from \"@mui/material\";\nimport { VerifiedIcon } from \"mds\";\n\nconst RegistrationStatusBanner = ({ email = \"\" }: { email?: string }) => {\n return (\n \n \n Register status:\n \n \n \n Registered\n \n \n \n\n \n Registered to:\n {email}\n \n \n );\n};\nexport default RegistrationStatusBanner;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckCircle');\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");","import * as React from 'react';\nimport { getThemeProps, useThemeWithoutDefault as useTheme } from '@mui/system';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\n\n/**\n * @deprecated Not used internally. Use `MediaQueryListEvent` from lib.dom.d.ts instead.\n */\n\n/**\n * @deprecated Not used internally. Use `MediaQueryList` from lib.dom.d.ts instead.\n */\n\n/**\n * @deprecated Not used internally. Use `(event: MediaQueryListEvent) => void` instead.\n */\n\nfunction useMediaQueryOld(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr) {\n const [match, setMatch] = React.useState(() => {\n if (noSsr && matchMedia) {\n return matchMedia(query).matches;\n }\n if (ssrMatchMedia) {\n return ssrMatchMedia(query).matches;\n }\n\n // Once the component is mounted, we rely on the\n // event listeners to return the correct matches value.\n return defaultMatches;\n });\n useEnhancedEffect(() => {\n let active = true;\n if (!matchMedia) {\n return undefined;\n }\n const queryList = matchMedia(query);\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 updateMatch();\n // TODO: Use `addEventListener` once support for Safari < 14 is dropped\n queryList.addListener(updateMatch);\n return () => {\n active = false;\n queryList.removeListener(updateMatch);\n };\n }, [query, matchMedia]);\n return match;\n}\n\n// eslint-disable-next-line no-useless-concat -- Workaround for https://github.com/webpack/webpack/issues/14814\nconst maybeReactUseSyncExternalStore = React['useSyncExternalStore' + ''];\nfunction useMediaQueryNew(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr) {\n const getDefaultSnapshot = React.useCallback(() => defaultMatches, [defaultMatches]);\n const getServerSnapshot = React.useMemo(() => {\n if (noSsr && matchMedia) {\n return () => matchMedia(query).matches;\n }\n if (ssrMatchMedia !== null) {\n const {\n matches\n } = ssrMatchMedia(query);\n return () => matches;\n }\n return getDefaultSnapshot;\n }, [getDefaultSnapshot, query, ssrMatchMedia, noSsr, matchMedia]);\n const [getSnapshot, subscribe] = React.useMemo(() => {\n if (matchMedia === null) {\n return [getDefaultSnapshot, () => () => {}];\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}\nexport default function useMediaQuery(queryInput, options = {}) {\n const theme = useTheme();\n // 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 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 = false\n } = getThemeProps({\n name: 'MuiUseMediaQuery',\n props: options,\n theme\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 let query = typeof queryInput === 'function' ? queryInput(theme) : queryInput;\n query = query.replace(/^@media( ?)/m, '');\n\n // TODO: Drop `useMediaQueryOld` and use `use-sync-external-store` shim in `useMediaQueryNew` once the package is stable\n const useMediaQueryImplementation = maybeReactUseSyncExternalStore !== undefined ? useMediaQueryNew : useMediaQueryOld;\n const match = useMediaQueryImplementation(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr);\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 return match;\n}","import { unstable_createChainedFunction as createChainedFunction } from '@mui/utils';\nexport default createChainedFunction;","import { unstable_deprecatedPropType as deprecatedPropType } from '@mui/utils';\nexport default deprecatedPropType;","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return (props, propName, componentName, location, propFullName) => {\n const componentNameSafe = componentName || '<>';\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The ${location} \\`${propFullNameSafe}\\` of ` + `\\`${componentNameSafe}\\` is deprecated. ${reason}`);\n }\n return null;\n };\n}","import { unstable_requirePropFactory as requirePropFactory } from '@mui/utils';\nexport default requirePropFactory;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function requirePropFactory(componentNameInError, Component) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n\n // eslint-disable-next-line react/forbid-foreign-prop-types\n const prevPropTypes = Component ? _extends({}, Component.propTypes) : null;\n const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {\n const propFullNameSafe = propFullName || propName;\n const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];\n if (defaultTypeChecker) {\n const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);\n if (typeCheckerResult) {\n return typeCheckerResult;\n }\n }\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(`The prop \\`${propFullNameSafe}\\` of ` + `\\`${componentNameInError}\\` can only be used together with the \\`${requiredProp}\\` prop.`);\n }\n return null;\n };\n return requireProp;\n}","import { unstable_setRef as setRef } from '@mui/utils';\nexport default setRef;","import { unstable_unsupportedProp as unsupportedProp } from '@mui/utils';\nexport default unsupportedProp;","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","import { unstable_ClassNameGenerator as ClassNameGenerator } from '@mui/base/className';\nexport { default as capitalize } from './capitalize';\nexport { default as createChainedFunction } from './createChainedFunction';\nexport { default as createSvgIcon } from './createSvgIcon';\nexport { default as debounce } from './debounce';\nexport { default as deprecatedPropType } from './deprecatedPropType';\nexport { default as isMuiElement } from './isMuiElement';\nexport { default as ownerDocument } from './ownerDocument';\nexport { default as ownerWindow } from './ownerWindow';\nexport { default as requirePropFactory } from './requirePropFactory';\nexport { default as setRef } from './setRef';\nexport { default as unstable_useEnhancedEffect } from './useEnhancedEffect';\nexport { default as unstable_useId } from './useId';\nexport { default as unsupportedProp } from './unsupportedProp';\nexport { default as useControlled } from './useControlled';\nexport { default as useEventCallback } from './useEventCallback';\nexport { default as useForkRef } from './useForkRef';\nexport { default as useIsFocusVisible } from './useIsFocusVisible';\n// TODO: remove this export once ClassNameGenerator is stable\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const unstable_ClassNameGenerator = {\n configure: generator => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(['MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.', '', \"You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead\", '', 'The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401', '', 'The updated documentation: https://mui.com/guides/classname-generator/'].join('\\n'));\n }\n ClassNameGenerator.configure(generator);\n }\n};","import { unstable_isMuiElement as isMuiElement } from '@mui/utils';\nexport default isMuiElement;","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf(element.type.muiName) !== -1;\n}","/**\n * Safe chained function.\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n */\nexport default function createChainedFunction(...funcs) {\n return funcs.reduce((acc, func) => {\n if (func == null) {\n return acc;\n }\n return function chainedFunction(...args) {\n acc.apply(this, args);\n func.apply(this, args);\n };\n }, () => {});\n}","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"names":["WrappedComponent","fallback","arguments","length","undefined","props","_jsx","Suspense","children","_objectSpread","PlanHeader","_ref","isActive","isXsViewActive","title","onClick","plan","toLowerCase","Box","className","clsx","_defineProperty","active","sx","display","alignItems","justifyContent","flexFlow","borderLeft","borderBottom","width","flex","minWidth","maxHeight","height","fontSize","marginBottom","marginRight","textTransform","cursor","fontWeight","color","position","fill","content","backgroundColor","top","marginTop","background","FeatureTitleRowCmp","_jsxs","featureLabel","PricingFeatureItem","style","getRenderValue","label","detail","xsLabel","_ref2","_licenseInfo$plan","licenseInfo","theme","useTheme","isSmallScreen","useMediaQuery","breakpoints","down","currentPlan","isCommunityPlan","LICENSE_PLANS","COMMUNITY","isStandardPlan","STANDARD","isEnterprisePlan","ENTERPRISE","isPaidPlan","PAID_PLANS","includes","_useState","useState","_useState2","_slicedToArray","xsPlanView","setXsPlanView","isXsViewCommunity","isXsViewStandard","isXsViewEnterprise","getButton","link","btnText","variant","linkToNav","Button","id","concat","disabled","e","preventDefault","window","open","onPlanClick","useEffect","linkTracker","featureList","FEATURE_ITEMS","Fragment","border","borderTop","borderRadius","boxShadow","margin","gridTemplateColumns","sm","xs","padding","paddingLeft","minHeight","textDecoration","textAlign","paddingRight","map","fi","featureTitleRow","isHeader","LicenseDocIcon","href","rel","desc","COMMUNITY_PLAN_FEATURES","idx","AGPLV3Logo","STANDARD_PLAN_FEATURES","ConsoleStandard","ENTERPRISE_PLAN_FEATURES","yesIcon","ConsoleEnterprise","CheckCircleIcon","LicenseConsentModal","withSuspense","React","navigate","useNavigate","activateProductModal","setActivateProductModal","_useState3","_useState4","setLicenseInfo","_useState5","_useState6","currentPlanID","setCurrentPlanID","_useState7","_useState8","loadingLicenseInfo","setLoadingLicenseInfo","_useState9","_useState10","initialLicenseLoading","setInitialLicenseLoading","_useState11","_useState12","clusterRegistered","setClusterRegistered","_useState13","_useState14","isLicenseConsentOpen","setIsLicenseConsentOpen","dispatch","useAppDispatch","setHelpName","isRegistered","isAgplConsentDone","getLicenseConsent","fetchLicenseInfo","useCallback","api","invoke","then","res","catch","Grid","item","LinearProgress","PageHeaderWrapper","actions","IAM_PAGES","REGISTER_SUPPORT","icon","ArrowIcon","HelpMenu","PageLayout","RegistrationStatusBanner","email","LicensePlans","closeModalAndFetchLicenseInfo","isOpen","onClose","_ref$email","left","marginLeft","VerifiedIcon","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","Object","defineProperty","value","enumerable","get","_utils","createSvgIcon","useMediaQueryOld","query","defaultMatches","matchMedia","ssrMatchMedia","noSsr","_React$useState","matches","_React$useState2","match","setMatch","useEnhancedEffect","queryList","updateMatch","addListener","removeListener","maybeReactUseSyncExternalStore","useMediaQueryNew","getDefaultSnapshot","getServerSnapshot","_React$useMemo","mediaQueryList","notify","_React$useMemo2","getSnapshot","subscribe","queryInput","options","supportMatchMedia","_getThemeProps","getThemeProps","name","_getThemeProps$defaul","_getThemeProps$matchM","_getThemeProps$ssrMat","_getThemeProps$noSsr","replace","createChainedFunction","validator","reason","componentNameInError","Component","propName","componentName","location","propFullName","unstable_ClassNameGenerator","configure","generator","ClassNameGenerator","element","muiNames","indexOf","type","muiName","_len","funcs","Array","_key","reduce","acc","func","_len2","args","_key2","apply","this","module","obj","__esModule"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/4902.ded1f1f5.chunk.js","mappings":"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","sources":["screens/Console/Common/Components/withSuspense.tsx","screens/Console/License/LicensePlans.tsx","screens/Console/License/License.tsx","screens/Console/Support/RegistrationStatusBanner.tsx","../node_modules/@mui/icons-material/CheckCircle.js","../node_modules/@mui/icons-material/utils/createSvgIcon.js","../node_modules/@mui/material/useMediaQuery/useMediaQuery.js","../node_modules/@mui/material/utils/createChainedFunction.js","../node_modules/@mui/material/utils/deprecatedPropType.js","../node_modules/@mui/utils/esm/deprecatedPropType.js","../node_modules/@mui/material/utils/requirePropFactory.js","../node_modules/@mui/utils/esm/requirePropFactory.js","../node_modules/@mui/material/utils/setRef.js","../node_modules/@mui/material/utils/unsupportedProp.js","../node_modules/@mui/utils/esm/unsupportedProp.js","../node_modules/@mui/material/utils/index.js","../node_modules/@mui/material/utils/isMuiElement.js","../node_modules/@mui/utils/esm/isMuiElement.js","../node_modules/@mui/utils/esm/createChainedFunction.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.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, { 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","// 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 clsx from \"clsx\";\nimport CheckCircleIcon from \"@mui/icons-material/CheckCircle\";\nimport {\n AGPLV3Logo,\n Button,\n ConsoleEnterprise,\n ConsoleStandard,\n LicenseDocIcon,\n} from \"mds\";\nimport { useTheme } from \"@mui/material/styles\";\nimport { SubnetInfo } from \"./types\";\nimport { Box } from \"@mui/material\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\nimport {\n COMMUNITY_PLAN_FEATURES,\n ENTERPRISE_PLAN_FEATURES,\n FEATURE_ITEMS,\n getRenderValue,\n LICENSE_PLANS,\n PAID_PLANS,\n STANDARD_PLAN_FEATURES,\n} from \"./utils\";\n\ninterface IRegisterStatus {\n activateProductModal: any;\n closeModalAndFetchLicenseInfo: any;\n licenseInfo: SubnetInfo | undefined;\n currentPlanID: number;\n setActivateProductModal: any;\n}\n\nconst PlanHeader = ({\n isActive,\n isXsViewActive,\n title,\n onClick,\n children,\n}: {\n isActive: boolean;\n isXsViewActive: boolean;\n title: string;\n price?: string;\n onClick: any;\n children: any;\n}) => {\n const plan = title.toLowerCase();\n return (\n {\n onClick && onClick(plan);\n }}\n sx={{\n display: \"flex\",\n alignItems: \"flex-start\",\n justifyContent: \"center\",\n flexFlow: \"column\",\n borderLeft: \"1px solid #eaeaea\",\n borderBottom: \"0px !important\",\n \"& .plan-header\": {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flexFlow: \"column\",\n },\n\n \"& .title-block\": {\n display: \"flex\",\n alignItems: \"center\",\n flexFlow: \"column\",\n width: \"100%\",\n \"& .title-main\": {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flex: 1,\n },\n \"& .iconContainer\": {\n \"& .min-icon\": {\n minWidth: 140,\n width: \"100%\",\n maxHeight: 55,\n height: \"100%\",\n },\n },\n },\n\n \"& .open-source\": {\n fontSize: \"14px\",\n display: \"flex\",\n marginBottom: \"5px\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: \"8px\",\n height: \"12px\",\n width: \"12px\",\n },\n },\n\n \"& .cur-plan-text\": {\n fontSize: \"12px\",\n textTransform: \"uppercase\",\n },\n\n \"@media (max-width: 600px)\": {\n cursor: \"pointer\",\n \"& .title-block\": {\n \"& .title\": {\n fontSize: \"14px\",\n fontWeight: 600,\n },\n },\n },\n\n \"&.active, &.active.xs-active\": {\n color: \"#ffffff\",\n position: \"relative\",\n\n \"& .min-icon\": {\n fill: \"#ffffff\",\n },\n\n \"&:before\": {\n content: \"' '\",\n position: \"absolute\",\n width: \"100%\",\n height: \"18px\",\n backgroundColor: \"#2781B0\",\n display: \"block\",\n top: -16,\n },\n \"& .iconContainer\": {\n \"& .min-icon\": {\n marginTop: \"-12px\",\n },\n },\n },\n \"&.active\": {\n background: \"#2781B0\",\n color: \"#ffffff\",\n },\n \"&.xs-active\": {\n background: \"#eaeaea\",\n },\n }}\n >\n {children}\n \n );\n};\n\nconst FeatureTitleRowCmp = (props: { featureLabel: any }) => {\n return (\n \n \n

    {props.featureLabel}
    \n \n \n );\n};\n\nconst PricingFeatureItem = (props: {\n featureLabel: any;\n label?: any;\n detail?: any;\n xsLabel?: string;\n style?: any;\n}) => {\n return (\n \n \n
    \n {getRenderValue(props.featureLabel || \"\")}\n
    \n \n
    {getRenderValue(props.label || \"\")}
    \n {getRenderValue(props.detail)}\n\n
    {props.xsLabel}
    \n
    \n
    \n
    \n );\n};\n\nconst LicensePlans = ({ licenseInfo }: IRegisterStatus) => {\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"sm\"));\n\n let currentPlan = !licenseInfo\n ? \"community\"\n : licenseInfo?.plan?.toLowerCase();\n\n const isCommunityPlan = currentPlan === LICENSE_PLANS.COMMUNITY;\n const isStandardPlan = currentPlan === LICENSE_PLANS.STANDARD;\n const isEnterprisePlan = currentPlan === LICENSE_PLANS.ENTERPRISE;\n\n const isPaidPlan = PAID_PLANS.includes(currentPlan);\n\n /*In smaller screen use tabbed view to show features*/\n const [xsPlanView, setXsPlanView] = useState(\"\");\n let isXsViewCommunity = xsPlanView === LICENSE_PLANS.COMMUNITY;\n let isXsViewStandard = xsPlanView === LICENSE_PLANS.STANDARD;\n let isXsViewEnterprise = xsPlanView === LICENSE_PLANS.ENTERPRISE;\n\n const getCommunityPlanHeader = () => {\n return (\n \n \n \n
    \n \n
    \n
    \n
    \n \n );\n };\n\n const getStandardPlanHeader = () => {\n return (\n \n \n \n
    \n \n
    \n
    \n
    \n \n );\n };\n\n const getEnterpriseHeader = () => {\n return (\n \n \n \n
    \n \n
    \n
    \n
    \n \n );\n };\n\n const getButton = (\n link: string,\n btnText: string,\n variant: any,\n plan: string,\n ) => {\n let linkToNav =\n currentPlan !== \"community\" ? \"https://subnet.min.io\" : link;\n return (\n {\n e.preventDefault();\n\n window.open(`${linkToNav}?ref=con`, \"_blank\");\n }}\n label={btnText}\n />\n );\n };\n\n const onPlanClick = (plan: string) => {\n setXsPlanView(plan);\n };\n\n useEffect(() => {\n if (isSmallScreen) {\n setXsPlanView(currentPlan || \"community\");\n } else {\n setXsPlanView(\"\");\n }\n }, [isSmallScreen, currentPlan]);\n\n const linkTracker = `?ref=con`;\n\n const featureList = FEATURE_ITEMS;\n return (\n \n \n \n \n \n {featureList.map((fi) => {\n const featureTitleRow = fi.featureTitleRow;\n const isHeader = fi.isHeader;\n\n if (isHeader) {\n if (isPaidPlan) {\n return (\n \n \n \n View License agreement
    \n for the registered plan.\n \n
    \n );\n }\n\n return (\n \n {fi.label}\n \n );\n }\n if (featureTitleRow) {\n return (\n \n
    {getRenderValue(fi.desc)}
    \n \n );\n }\n return (\n \n
    {getRenderValue(fi.desc)}
    \n \n );\n })}\n \n {!isPaidPlan ? (\n \n {COMMUNITY_PLAN_FEATURES.map((fi, idx) => {\n const featureLabel = featureList[idx].desc;\n const { featureTitleRow, isHeader } = fi;\n\n if (isHeader) {\n return getCommunityPlanHeader();\n }\n\n if (featureTitleRow) {\n return (\n \n );\n }\n\n return (\n \n );\n })}\n \n {getButton(\n `https://slack.min.io${linkTracker}`,\n \"Join Slack\",\n \"regular\",\n LICENSE_PLANS.COMMUNITY,\n )}\n \n \n ) : null}\n \n {STANDARD_PLAN_FEATURES.map((fi, idx) => {\n const featureLabel = featureList[idx].desc;\n const featureTitleRow = fi.featureTitleRow;\n const isHeader = fi.isHeader;\n\n if (isHeader) {\n return getStandardPlanHeader();\n }\n\n if (featureTitleRow) {\n return (\n \n );\n }\n return (\n \n );\n })}\n\n \n {getButton(\n `https://min.io/signup${linkTracker}`,\n !PAID_PLANS.includes(currentPlan)\n ? \"Subscribe\"\n : \"Login to SUBNET\",\n \"callAction\",\n LICENSE_PLANS.STANDARD,\n )}\n \n \n \n {ENTERPRISE_PLAN_FEATURES.map((fi, idx) => {\n const featureLabel = featureList[idx].desc;\n const { featureTitleRow, isHeader, yesIcon } = fi;\n\n if (isHeader) {\n return getEnterpriseHeader();\n }\n\n if (featureTitleRow) {\n return (\n \n );\n }\n\n if (yesIcon) {\n return (\n \n \n
    \n \n \n \n
    \n
    \n );\n }\n return (\n \n );\n })}\n \n {getButton(\n `https://min.io/signup${linkTracker}`,\n !PAID_PLANS.includes(currentPlan)\n ? \"Subscribe\"\n : \"Login to SUBNET\",\n \"callAction\",\n LICENSE_PLANS.ENTERPRISE,\n )}\n \n \n \n \n
    \n );\n};\n\nexport default LicensePlans;\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, useCallback, useEffect, useState } from \"react\";\nimport { LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { SubnetInfo } from \"./types\";\nimport api from \"../../../common/api\";\nimport { ArrowIcon, Button, PageLayout } from \"mds\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport LicensePlans from \"./LicensePlans\";\nimport { useNavigate } from \"react-router-dom\";\nimport RegistrationStatusBanner from \"../Support/RegistrationStatusBanner\";\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport { getLicenseConsent } from \"./utils\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport HelpMenu from \"../HelpMenu\";\nimport { setHelpName } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\n\nconst LicenseConsentModal = withSuspense(\n React.lazy(() => import(\"./LicenseConsentModal\")),\n);\n\nconst License = () => {\n const navigate = useNavigate();\n const [activateProductModal, setActivateProductModal] =\n useState(false);\n\n const [licenseInfo, setLicenseInfo] = useState();\n const [currentPlanID, setCurrentPlanID] = useState(0);\n const [loadingLicenseInfo, setLoadingLicenseInfo] = useState(false);\n const [initialLicenseLoading, setInitialLicenseLoading] =\n useState(true);\n useState(false);\n const [clusterRegistered, setClusterRegistered] = useState(false);\n\n const [isLicenseConsentOpen, setIsLicenseConsentOpen] =\n useState(false);\n\n const closeModalAndFetchLicenseInfo = () => {\n setActivateProductModal(false);\n fetchLicenseInfo();\n };\n\n const dispatch = useAppDispatch();\n useEffect(() => {\n dispatch(setHelpName(\"license\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const isRegistered = licenseInfo && clusterRegistered;\n\n const isAgplConsentDone = getLicenseConsent();\n\n useEffect(() => {\n const shouldConsent =\n !isRegistered && !isAgplConsentDone && !initialLicenseLoading;\n\n if (shouldConsent && !loadingLicenseInfo) {\n setIsLicenseConsentOpen(true);\n }\n }, [\n isRegistered,\n isAgplConsentDone,\n initialLicenseLoading,\n loadingLicenseInfo,\n ]);\n\n const fetchLicenseInfo = useCallback(() => {\n if (loadingLicenseInfo) {\n return;\n }\n setLoadingLicenseInfo(true);\n api\n .invoke(\"GET\", `/api/v1/subnet/info`)\n .then((res: SubnetInfo) => {\n if (res) {\n if (res.plan === \"STANDARD\") {\n setCurrentPlanID(1);\n } else if (res.plan === \"ENTERPRISE\") {\n setCurrentPlanID(2);\n } else {\n setCurrentPlanID(1);\n }\n setLicenseInfo(res);\n }\n setClusterRegistered(true);\n setLoadingLicenseInfo(false);\n })\n .catch(() => {\n setClusterRegistered(false);\n setLoadingLicenseInfo(false);\n });\n }, [loadingLicenseInfo]);\n\n useEffect(() => {\n if (initialLicenseLoading) {\n fetchLicenseInfo();\n setInitialLicenseLoading(false);\n }\n }, [fetchLicenseInfo, initialLicenseLoading, setInitialLicenseLoading]);\n\n if (loadingLicenseInfo) {\n return (\n \n \n \n );\n }\n\n return (\n \n \n {!isRegistered && (\n navigate(IAM_PAGES.REGISTER_SUPPORT)}\n style={{\n fontSize: \"14px\",\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n }}\n icon={}\n variant={\"callAction\"}\n >\n Register your cluster\n \n )}\n \n \n }\n />\n\n \n \n {isRegistered && (\n \n )}\n \n\n \n\n {\n setIsLicenseConsentOpen(false);\n }}\n />\n \n \n );\n};\n\nexport default License;\n","import React from \"react\";\nimport { Box } from \"@mui/material\";\nimport { VerifiedIcon } from \"mds\";\n\nconst RegistrationStatusBanner = ({ email = \"\" }: { email?: string }) => {\n return (\n \n \n Register status:\n \n \n \n Registered\n \n \n \n\n \n Registered to:\n {email}\n \n \n );\n};\nexport default RegistrationStatusBanner;\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckCircle');\nexports.default = _default;","\"use strict\";\n'use client';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");","'use client';\n\nimport * as React from 'react';\nimport { getThemeProps, useThemeWithoutDefault as useTheme } from '@mui/system';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\n\n/**\n * @deprecated Not used internally. Use `MediaQueryListEvent` from lib.dom.d.ts instead.\n */\n\n/**\n * @deprecated Not used internally. Use `MediaQueryList` from lib.dom.d.ts instead.\n */\n\n/**\n * @deprecated Not used internally. Use `(event: MediaQueryListEvent) => void` instead.\n */\n\nfunction useMediaQueryOld(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr) {\n const [match, setMatch] = React.useState(() => {\n if (noSsr && matchMedia) {\n return matchMedia(query).matches;\n }\n if (ssrMatchMedia) {\n return ssrMatchMedia(query).matches;\n }\n\n // Once the component is mounted, we rely on the\n // event listeners to return the correct matches value.\n return defaultMatches;\n });\n useEnhancedEffect(() => {\n let active = true;\n if (!matchMedia) {\n return undefined;\n }\n const queryList = matchMedia(query);\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 updateMatch();\n // TODO: Use `addEventListener` once support for Safari < 14 is dropped\n queryList.addListener(updateMatch);\n return () => {\n active = false;\n queryList.removeListener(updateMatch);\n };\n }, [query, matchMedia]);\n return match;\n}\n\n// eslint-disable-next-line no-useless-concat -- Workaround for https://github.com/webpack/webpack/issues/14814\nconst maybeReactUseSyncExternalStore = React['useSyncExternalStore' + ''];\nfunction useMediaQueryNew(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr) {\n const getDefaultSnapshot = React.useCallback(() => defaultMatches, [defaultMatches]);\n const getServerSnapshot = React.useMemo(() => {\n if (noSsr && matchMedia) {\n return () => matchMedia(query).matches;\n }\n if (ssrMatchMedia !== null) {\n const {\n matches\n } = ssrMatchMedia(query);\n return () => matches;\n }\n return getDefaultSnapshot;\n }, [getDefaultSnapshot, query, ssrMatchMedia, noSsr, matchMedia]);\n const [getSnapshot, subscribe] = React.useMemo(() => {\n if (matchMedia === null) {\n return [getDefaultSnapshot, () => () => {}];\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}\nexport default function useMediaQuery(queryInput, options = {}) {\n const theme = useTheme();\n // 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 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 = false\n } = getThemeProps({\n name: 'MuiUseMediaQuery',\n props: options,\n theme\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 let query = typeof queryInput === 'function' ? queryInput(theme) : queryInput;\n query = query.replace(/^@media( ?)/m, '');\n\n // TODO: Drop `useMediaQueryOld` and use `use-sync-external-store` shim in `useMediaQueryNew` once the package is stable\n const useMediaQueryImplementation = maybeReactUseSyncExternalStore !== undefined ? useMediaQueryNew : useMediaQueryOld;\n const match = useMediaQueryImplementation(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr);\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 return match;\n}","import { unstable_createChainedFunction as createChainedFunction } from '@mui/utils';\nexport default createChainedFunction;","import { unstable_deprecatedPropType as deprecatedPropType } from '@mui/utils';\nexport default deprecatedPropType;","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return (props, propName, componentName, location, propFullName) => {\n const componentNameSafe = componentName || '<>';\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The ${location} \\`${propFullNameSafe}\\` of ` + `\\`${componentNameSafe}\\` is deprecated. ${reason}`);\n }\n return null;\n };\n}","import { unstable_requirePropFactory as requirePropFactory } from '@mui/utils';\nexport default requirePropFactory;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function requirePropFactory(componentNameInError, Component) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n\n // eslint-disable-next-line react/forbid-foreign-prop-types\n const prevPropTypes = Component ? _extends({}, Component.propTypes) : null;\n const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {\n const propFullNameSafe = propFullName || propName;\n const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];\n if (defaultTypeChecker) {\n const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);\n if (typeCheckerResult) {\n return typeCheckerResult;\n }\n }\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(`The prop \\`${propFullNameSafe}\\` of ` + `\\`${componentNameInError}\\` can only be used together with the \\`${requiredProp}\\` prop.`);\n }\n return null;\n };\n return requireProp;\n}","import { unstable_setRef as setRef } from '@mui/utils';\nexport default setRef;","import { unstable_unsupportedProp as unsupportedProp } from '@mui/utils';\nexport default unsupportedProp;","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","'use client';\n\nimport { unstable_ClassNameGenerator as ClassNameGenerator } from '@mui/base/className';\nexport { default as capitalize } from './capitalize';\nexport { default as createChainedFunction } from './createChainedFunction';\nexport { default as createSvgIcon } from './createSvgIcon';\nexport { default as debounce } from './debounce';\nexport { default as deprecatedPropType } from './deprecatedPropType';\nexport { default as isMuiElement } from './isMuiElement';\nexport { default as ownerDocument } from './ownerDocument';\nexport { default as ownerWindow } from './ownerWindow';\nexport { default as requirePropFactory } from './requirePropFactory';\nexport { default as setRef } from './setRef';\nexport { default as unstable_useEnhancedEffect } from './useEnhancedEffect';\nexport { default as unstable_useId } from './useId';\nexport { default as unsupportedProp } from './unsupportedProp';\nexport { default as useControlled } from './useControlled';\nexport { default as useEventCallback } from './useEventCallback';\nexport { default as useForkRef } from './useForkRef';\nexport { default as useIsFocusVisible } from './useIsFocusVisible';\n// TODO: remove this export once ClassNameGenerator is stable\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const unstable_ClassNameGenerator = {\n configure: generator => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(['MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.', '', \"You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead\", '', 'The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401', '', 'The updated documentation: https://mui.com/guides/classname-generator/'].join('\\n'));\n }\n ClassNameGenerator.configure(generator);\n }\n};","import { unstable_isMuiElement as isMuiElement } from '@mui/utils';\nexport default isMuiElement;","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf(element.type.muiName) !== -1;\n}","/**\n * Safe chained function.\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n */\nexport default function createChainedFunction(...funcs) {\n return funcs.reduce((acc, func) => {\n if (func == null) {\n return acc;\n }\n return function chainedFunction(...args) {\n acc.apply(this, args);\n func.apply(this, args);\n };\n }, () => {});\n}","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"names":["WrappedComponent","fallback","arguments","length","undefined","props","_jsx","Suspense","children","_objectSpread","PlanHeader","_ref","isActive","isXsViewActive","title","onClick","plan","toLowerCase","Box","className","clsx","_defineProperty","active","sx","display","alignItems","justifyContent","flexFlow","borderLeft","borderBottom","width","flex","minWidth","maxHeight","height","fontSize","marginBottom","marginRight","textTransform","cursor","fontWeight","color","position","fill","content","backgroundColor","top","marginTop","background","FeatureTitleRowCmp","_jsxs","featureLabel","PricingFeatureItem","style","getRenderValue","label","detail","xsLabel","_ref2","_licenseInfo$plan","licenseInfo","theme","useTheme","isSmallScreen","useMediaQuery","breakpoints","down","currentPlan","isCommunityPlan","LICENSE_PLANS","COMMUNITY","isStandardPlan","STANDARD","isEnterprisePlan","ENTERPRISE","isPaidPlan","PAID_PLANS","includes","_useState","useState","_useState2","_slicedToArray","xsPlanView","setXsPlanView","isXsViewCommunity","isXsViewStandard","isXsViewEnterprise","getButton","link","btnText","variant","linkToNav","Button","id","concat","disabled","e","preventDefault","window","open","onPlanClick","useEffect","linkTracker","featureList","FEATURE_ITEMS","Fragment","border","borderTop","borderRadius","boxShadow","margin","gridTemplateColumns","sm","xs","padding","paddingLeft","minHeight","textDecoration","textAlign","paddingRight","map","fi","featureTitleRow","isHeader","LicenseDocIcon","href","rel","desc","COMMUNITY_PLAN_FEATURES","idx","AGPLV3Logo","STANDARD_PLAN_FEATURES","ConsoleStandard","ENTERPRISE_PLAN_FEATURES","yesIcon","ConsoleEnterprise","CheckCircleIcon","LicenseConsentModal","withSuspense","React","navigate","useNavigate","activateProductModal","setActivateProductModal","_useState3","_useState4","setLicenseInfo","_useState5","_useState6","currentPlanID","setCurrentPlanID","_useState7","_useState8","loadingLicenseInfo","setLoadingLicenseInfo","_useState9","_useState10","initialLicenseLoading","setInitialLicenseLoading","_useState11","_useState12","clusterRegistered","setClusterRegistered","_useState13","_useState14","isLicenseConsentOpen","setIsLicenseConsentOpen","dispatch","useAppDispatch","setHelpName","isRegistered","isAgplConsentDone","getLicenseConsent","fetchLicenseInfo","useCallback","api","invoke","then","res","catch","Grid","item","LinearProgress","PageHeaderWrapper","actions","IAM_PAGES","REGISTER_SUPPORT","icon","ArrowIcon","HelpMenu","PageLayout","RegistrationStatusBanner","email","LicensePlans","closeModalAndFetchLicenseInfo","isOpen","onClose","_ref$email","left","marginLeft","VerifiedIcon","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","Object","defineProperty","value","enumerable","get","_utils","createSvgIcon","useMediaQueryOld","query","defaultMatches","matchMedia","ssrMatchMedia","noSsr","_React$useState","matches","_React$useState2","match","setMatch","useEnhancedEffect","queryList","updateMatch","addListener","removeListener","maybeReactUseSyncExternalStore","useMediaQueryNew","getDefaultSnapshot","getServerSnapshot","_React$useMemo","mediaQueryList","notify","_React$useMemo2","getSnapshot","subscribe","queryInput","options","supportMatchMedia","_getThemeProps","getThemeProps","name","_getThemeProps$defaul","_getThemeProps$matchM","_getThemeProps$ssrMat","_getThemeProps$noSsr","replace","createChainedFunction","validator","reason","componentNameInError","Component","propName","componentName","location","propFullName","unstable_ClassNameGenerator","configure","generator","ClassNameGenerator","element","muiNames","indexOf","type","muiName","_len","funcs","Array","_key","reduce","acc","func","_len2","args","_key2","apply","this","module","obj","__esModule"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/5004.594e3211.chunk.js b/portal-ui/build/static/js/5004.594e3211.chunk.js deleted file mode 100644 index 49523c2b8..000000000 --- a/portal-ui/build/static/js/5004.594e3211.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5004],{26759:function(e,r,t){"use strict";var n=t(64836);r.Z=void 0;var o=n(t(45649)),a=t(80184),i=(0,o.default)((0,a.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");r.Z=i},70366:function(e,r,t){"use strict";var n=t(64836);r.Z=void 0;var o=n(t(45649)),a=t(80184),i=(0,o.default)((0,a.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");r.Z=i},97911:function(e,r,t){"use strict";var n=t(64836);r.Z=void 0;var o=n(t(45649)),a=t(80184),i=(0,o.default)((0,a.jsx)("path",{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}),"ViewColumn");r.Z=i},45649:function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return n.createSvgIcon}});var n=t(28610)},94454:function(e,r,t){"use strict";t.d(r,{Z:function(){return I}});var n=t(4942),o=t(63366),a=t(87462),i=t(72791),s=t(28182),c=t(94419),u=t(12065),l=t(97278),d=t(76189),f=t(80184),p=(0,d.Z)((0,f.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,f.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,d.Z)((0,f.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"),Z=t(14036),h=t(31402),b=t(66934),x=t(75878),k=t(21217);function g(e){return(0,k.Z)("MuiCheckbox",e)}var w=(0,x.Z)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary"]),C=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size","className"],z=(0,b.ZP)(l.Z,{shouldForwardProp:function(e){return(0,b.FO)(e)||"classes"===e},name:"MuiCheckbox",slot:"Root",overridesResolver:function(e,r){var t=e.ownerState;return[r.root,t.indeterminate&&r.indeterminate,"default"!==t.color&&r["color".concat((0,Z.Z)(t.color))]]}})((function(e){var r,t=e.theme,o=e.ownerState;return(0,a.Z)({color:(t.vars||t).palette.text.secondary},!o.disableRipple&&{"&:hover":{backgroundColor:t.vars?"rgba(".concat("default"===o.color?t.vars.palette.action.activeChannel:t.vars.palette.primary.mainChannel," / ").concat(t.vars.palette.action.hoverOpacity,")"):(0,u.Fq)("default"===o.color?t.palette.action.active:t.palette[o.color].main,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==o.color&&(r={},(0,n.Z)(r,"&.".concat(w.checked,", &.").concat(w.indeterminate),{color:(t.vars||t).palette[o.color].main}),(0,n.Z)(r,"&.".concat(w.disabled),{color:(t.vars||t).palette.action.disabled}),r))})),S=(0,f.jsx)(m,{}),y=(0,f.jsx)(p,{}),F=(0,f.jsx)(v,{}),I=i.forwardRef((function(e,r){var t,n,u=(0,h.Z)({props:e,name:"MuiCheckbox"}),l=u.checkedIcon,d=void 0===l?S:l,p=u.color,m=void 0===p?"primary":p,v=u.icon,b=void 0===v?y:v,x=u.indeterminate,k=void 0!==x&&x,w=u.indeterminateIcon,I=void 0===w?F:w,M=u.inputProps,R=u.size,P=void 0===R?"medium":R,j=u.className,q=(0,o.Z)(u,C),N=k?I:b,O=k?I:d,B=(0,a.Z)({},u,{color:m,indeterminate:k,size:P}),E=function(e){var r=e.classes,t=e.indeterminate,n=e.color,o={root:["root",t&&"indeterminate","color".concat((0,Z.Z)(n))]},i=(0,c.Z)(o,g,r);return(0,a.Z)({},r,i)}(B);return(0,f.jsx)(z,(0,a.Z)({type:"checkbox",inputProps:(0,a.Z)({"data-indeterminate":k},M),icon:i.cloneElement(N,{fontSize:null!=(t=N.props.fontSize)?t:P}),checkedIcon:i.cloneElement(O,{fontSize:null!=(n=O.props.fontSize)?n:P}),ownerState:B,ref:r,className:(0,s.Z)(E.root,j)},q,{classes:E}))}))},93840:function(e,r,t){"use strict";var n=t(72791).createContext(void 0);r.Z=n},76147:function(e,r,t){"use strict";function n(e){var r=e.props,t=e.states,n=e.muiFormControl;return t.reduce((function(e,t){return e[t]=r[t],n&&"undefined"===typeof r[t]&&(e[t]=n[t]),e}),{})}t.d(r,{Z:function(){return n}})},52930:function(e,r,t){"use strict";t.d(r,{Z:function(){return a}});var n=t(72791),o=t(93840);function a(){return n.useContext(o.Z)}},17133:function(e,r,t){"use strict";var n=t(4942),o=t(63366),a=t(87462),i=t(72791),s=t(28182),c=t(94419),u=t(76147),l=t(52930),d=t(14036),f=t(31402),p=t(66934),m=t(10843),v=t(80184),Z=["children","className","color","component","disabled","error","filled","focused","required"],h=(0,p.ZP)("label",{name:"MuiFormLabel",slot:"Root",overridesResolver:function(e,r){var t=e.ownerState;return(0,a.Z)({},r.root,"secondary"===t.color&&r.colorSecondary,t.filled&&r.filled)}})((function(e){var r,t=e.theme,o=e.ownerState;return(0,a.Z)({color:(t.vars||t).palette.text.secondary},t.typography.body1,(r={lineHeight:"1.4375em",padding:0,position:"relative"},(0,n.Z)(r,"&.".concat(m.Z.focused),{color:(t.vars||t).palette[o.color].main}),(0,n.Z)(r,"&.".concat(m.Z.disabled),{color:(t.vars||t).palette.text.disabled}),(0,n.Z)(r,"&.".concat(m.Z.error),{color:(t.vars||t).palette.error.main}),r))})),b=(0,p.ZP)("span",{name:"MuiFormLabel",slot:"Asterisk",overridesResolver:function(e,r){return r.asterisk}})((function(e){var r=e.theme;return(0,n.Z)({},"&.".concat(m.Z.error),{color:(r.vars||r).palette.error.main})})),x=i.forwardRef((function(e,r){var t=(0,f.Z)({props:e,name:"MuiFormLabel"}),n=t.children,i=t.className,p=t.component,x=void 0===p?"label":p,k=(0,o.Z)(t,Z),g=(0,l.Z)(),w=(0,u.Z)({props:t,muiFormControl:g,states:["color","required","focused","disabled","error","filled"]}),C=(0,a.Z)({},t,{color:w.color||"primary",component:x,disabled:w.disabled,error:w.error,filled:w.filled,focused:w.focused,required:w.required}),z=function(e){var r=e.classes,t=e.color,n=e.focused,o=e.disabled,a=e.error,i=e.filled,s=e.required,u={root:["root","color".concat((0,d.Z)(t)),o&&"disabled",a&&"error",i&&"filled",n&&"focused",s&&"required"],asterisk:["asterisk",a&&"error"]};return(0,c.Z)(u,m.M,r)}(C);return(0,v.jsxs)(h,(0,a.Z)({as:x,ownerState:C,className:(0,s.Z)(z.root,i),ref:r},k,{children:[n,w.required&&(0,v.jsxs)(b,{ownerState:C,"aria-hidden":!0,className:z.asterisk,children:["\u2009","*"]})]}))}));r.Z=x},10843:function(e,r,t){"use strict";t.d(r,{M:function(){return a}});var n=t(75878),o=t(21217);function a(e){return(0,o.Z)("MuiFormLabel",e)}var i=(0,n.Z)("MuiFormLabel",["root","colorSecondary","focused","disabled","error","filled","required","asterisk"]);r.Z=i},30829:function(e,r,t){"use strict";t.d(r,{Z:function(){return g}});var n=t(4942),o=t(63366),a=t(87462),i=t(72791),s=t(94419),c=t(28182),u=t(76147),l=t(52930),d=t(17133),f=t(10843),p=t(31402),m=t(66934),v=t(75878),Z=t(21217);function h(e){return(0,Z.Z)("MuiInputLabel",e)}(0,v.Z)("MuiInputLabel",["root","focused","disabled","error","required","asterisk","formControl","sizeSmall","shrink","animated","standard","filled","outlined"]);var b=t(80184),x=["disableAnimation","margin","shrink","variant","className"],k=(0,m.ZP)(d.Z,{shouldForwardProp:function(e){return(0,m.FO)(e)||"classes"===e},name:"MuiInputLabel",slot:"Root",overridesResolver:function(e,r){var t=e.ownerState;return[(0,n.Z)({},"& .".concat(f.Z.asterisk),r.asterisk),r.root,t.formControl&&r.formControl,"small"===t.size&&r.sizeSmall,t.shrink&&r.shrink,!t.disableAnimation&&r.animated,r[t.variant]]}})((function(e){var r=e.theme,t=e.ownerState;return(0,a.Z)({display:"block",transformOrigin:"top left",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"100%"},t.formControl&&{position:"absolute",left:0,top:0,transform:"translate(0, 20px) scale(1)"},"small"===t.size&&{transform:"translate(0, 17px) scale(1)"},t.shrink&&{transform:"translate(0, -1.5px) scale(0.75)",transformOrigin:"top left",maxWidth:"133%"},!t.disableAnimation&&{transition:r.transitions.create(["color","transform","max-width"],{duration:r.transitions.duration.shorter,easing:r.transitions.easing.easeOut})},"filled"===t.variant&&(0,a.Z)({zIndex:1,pointerEvents:"none",transform:"translate(12px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},"small"===t.size&&{transform:"translate(12px, 13px) scale(1)"},t.shrink&&(0,a.Z)({userSelect:"none",pointerEvents:"auto",transform:"translate(12px, 7px) scale(0.75)",maxWidth:"calc(133% - 24px)"},"small"===t.size&&{transform:"translate(12px, 4px) scale(0.75)"})),"outlined"===t.variant&&(0,a.Z)({zIndex:1,pointerEvents:"none",transform:"translate(14px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},"small"===t.size&&{transform:"translate(14px, 9px) scale(1)"},t.shrink&&{userSelect:"none",pointerEvents:"auto",maxWidth:"calc(133% - 32px)",transform:"translate(14px, -9px) scale(0.75)"}))})),g=i.forwardRef((function(e,r){var t=(0,p.Z)({name:"MuiInputLabel",props:e}),n=t.disableAnimation,i=void 0!==n&&n,d=t.shrink,f=t.className,m=(0,o.Z)(t,x),v=(0,l.Z)(),Z=d;"undefined"===typeof Z&&v&&(Z=v.filled||v.focused||v.adornedStart);var g=(0,u.Z)({props:t,muiFormControl:v,states:["size","variant","required"]}),w=(0,a.Z)({},t,{disableAnimation:i,formControl:v,shrink:Z,size:g.size,variant:g.variant,required:g.required}),C=function(e){var r=e.classes,t=e.formControl,n=e.size,o=e.shrink,i={root:["root",t&&"formControl",!e.disableAnimation&&"animated",o&&"shrink","small"===n&&"sizeSmall",e.variant],asterisk:[e.required&&"asterisk"]},c=(0,s.Z)(i,h,r);return(0,a.Z)({},r,c)}(w);return(0,b.jsx)(k,(0,a.Z)({"data-shrink":Z,ownerState:w,ref:r,className:(0,c.Z)(C.root,f)},m,{classes:C}))}))},97278:function(e,r,t){"use strict";t.d(r,{Z:function(){return g}});var n=t(29439),o=t(63366),a=t(87462),i=t(72791),s=t(28182),c=t(94419),u=t(14036),l=t(66934),d=t(98278),f=t(52930),p=t(95080),m=t(75878),v=t(21217);function Z(e){return(0,v.Z)("PrivateSwitchBase",e)}(0,m.Z)("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);var h=t(80184),b=["autoFocus","checked","checkedIcon","className","defaultChecked","disabled","disableFocusRipple","edge","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"],x=(0,l.ZP)(p.Z)((function(e){var r=e.ownerState;return(0,a.Z)({padding:9,borderRadius:"50%"},"start"===r.edge&&{marginLeft:"small"===r.size?-3:-12},"end"===r.edge&&{marginRight:"small"===r.size?-3:-12})})),k=(0,l.ZP)("input")({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),g=i.forwardRef((function(e,r){var t=e.autoFocus,i=e.checked,l=e.checkedIcon,p=e.className,m=e.defaultChecked,v=e.disabled,g=e.disableFocusRipple,w=void 0!==g&&g,C=e.edge,z=void 0!==C&&C,S=e.icon,y=e.id,F=e.inputProps,I=e.inputRef,M=e.name,R=e.onBlur,P=e.onChange,j=e.onFocus,q=e.readOnly,N=e.required,O=void 0!==N&&N,B=e.tabIndex,E=e.type,L=e.value,_=(0,o.Z)(e,b),V=(0,d.Z)({controlled:i,default:Boolean(m),name:"SwitchBase",state:"checked"}),A=(0,n.Z)(V,2),H=A[0],W=A[1],D=(0,f.Z)(),G=v;D&&"undefined"===typeof G&&(G=D.disabled);var T="checkbox"===E||"radio"===E,U=(0,a.Z)({},e,{checked:H,disabled:G,disableFocusRipple:w,edge:z}),J=function(e){var r=e.classes,t=e.checked,n=e.disabled,o=e.edge,a={root:["root",t&&"checked",n&&"disabled",o&&"edge".concat((0,u.Z)(o))],input:["input"]};return(0,c.Z)(a,Z,r)}(U);return(0,h.jsxs)(x,(0,a.Z)({component:"span",className:(0,s.Z)(J.root,p),centerRipple:!0,focusRipple:!w,disabled:G,tabIndex:null,role:void 0,onFocus:function(e){j&&j(e),D&&D.onFocus&&D.onFocus(e)},onBlur:function(e){R&&R(e),D&&D.onBlur&&D.onBlur(e)},ownerState:U,ref:r},_,{children:[(0,h.jsx)(k,(0,a.Z)({autoFocus:t,checked:i,defaultChecked:m,className:J.input,disabled:G,id:T?y:void 0,name:M,onChange:function(e){if(!e.nativeEvent.defaultPrevented){var r=e.target.checked;W(r),P&&P(e,r)}},readOnly:q,ref:I,required:O,ownerState:U,tabIndex:B,type:E},"checkbox"===E&&void 0===L?{}:{value:L},F)),H?l:S]}))}))},31260:function(e,r,t){"use strict";var n=t(78949);r.Z=n.Z},28610:function(e,r,t){"use strict";t.r(r),t.d(r,{capitalize:function(){return o.Z},createChainedFunction:function(){return a.Z},createSvgIcon:function(){return i.Z},debounce:function(){return s.Z},deprecatedPropType:function(){return c},isMuiElement:function(){return u.Z},ownerDocument:function(){return l.Z},ownerWindow:function(){return d.Z},requirePropFactory:function(){return f},setRef:function(){return p},unstable_ClassNameGenerator:function(){return g},unstable_useEnhancedEffect:function(){return m.Z},unstable_useId:function(){return v.Z},unsupportedProp:function(){return Z},useControlled:function(){return h.Z},useEventCallback:function(){return b.Z},useForkRef:function(){return x.Z},useIsFocusVisible:function(){return k.Z}});var n=t(55902),o=t(14036),a=t(31260),i=t(76189),s=t(83199);var c=function(e,r){return function(){return null}},u=t(19103),l=t(98301),d=t(17602);t(87462);var f=function(e,r){return function(){return null}},p=t(62971).Z,m=t(40162),v=t(67384);var Z=function(e,r,t,n,o){return null},h=t(98278),b=t(89683),x=t(42071),k=t(23031),g={configure:function(e){n.Z.configure(e)}}},19103:function(e,r,t){"use strict";t.d(r,{Z:function(){return o}});var n=t(72791);var o=function(e,r){return n.isValidElement(e)&&-1!==r.indexOf(e.type.muiName)}},26769:function(e,r,t){var n=t(39066),o=t(93629),a=t(43141);e.exports=function(e){return"string"==typeof e||!o(e)&&a(e)&&"[object String]"==n(e)}},64836:function(e){e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports}}]); -//# sourceMappingURL=5004.594e3211.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/5004.594e3211.chunk.js.map b/portal-ui/build/static/js/5004.594e3211.chunk.js.map deleted file mode 100644 index 2ba8371d9..000000000 --- a/portal-ui/build/static/js/5004.594e3211.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/5004.594e3211.chunk.js","mappings":"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","sources":["../node_modules/@mui/icons-material/ArrowDropDown.js","../node_modules/@mui/icons-material/ArrowDropUp.js","../node_modules/@mui/icons-material/ViewColumn.js","../node_modules/@mui/icons-material/utils/createSvgIcon.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/FormControl/FormControlContext.js","../node_modules/@mui/material/FormControl/formControlState.js","../node_modules/@mui/material/FormControl/useFormControl.js","../node_modules/@mui/material/FormLabel/FormLabel.js","../node_modules/@mui/material/FormLabel/formLabelClasses.js","../node_modules/@mui/material/InputLabel/inputLabelClasses.js","../node_modules/@mui/material/InputLabel/InputLabel.js","../node_modules/@mui/material/internal/switchBaseClasses.js","../node_modules/@mui/material/internal/SwitchBase.js","../node_modules/@mui/material/utils/createChainedFunction.js","../node_modules/@mui/material/utils/deprecatedPropType.js","../node_modules/@mui/utils/esm/deprecatedPropType.js","../node_modules/@mui/material/utils/requirePropFactory.js","../node_modules/@mui/utils/esm/requirePropFactory.js","../node_modules/@mui/material/utils/setRef.js","../node_modules/@mui/material/utils/unsupportedProp.js","../node_modules/@mui/utils/esm/unsupportedProp.js","../node_modules/@mui/material/utils/index.js","../node_modules/@mui/material/utils/isMuiElement.js","../node_modules/@mui/utils/esm/isMuiElement.js","../node_modules/lodash/isString.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.js"],"sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 10 5 5 5-5z\"\n}), 'ArrowDropDown');\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 14 5-5 5 5z\"\n}), 'ArrowDropUp');\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\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');\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\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/**\n * @ignore - internal component.\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/**\n * @ignore - internal component.\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 { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\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\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\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\";\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};\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}));\nconst defaultCheckedIcon = /*#__PURE__*/_jsx(CheckBoxIcon, {});\nconst defaultIcon = /*#__PURE__*/_jsx(CheckBoxOutlineBlankIcon, {});\nconst defaultIndeterminateIcon = /*#__PURE__*/_jsx(IndeterminateCheckBoxIcon, {});\nconst Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(inProps, ref) {\n var _icon$props$fontSize, _indeterminateIcon$pr;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCheckbox'\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 className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const icon = indeterminate ? indeterminateIconProp : iconProp;\n const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;\n const ownerState = _extends({}, props, {\n color,\n indeterminate,\n size\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 className: clsx(classes.root, className)\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Checkbox.propTypes /* remove-proptypes */ = {\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 * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n * @default \n */\n checkedIcon: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * The icon to display when the component is unchecked.\n * @default \n */\n icon: PropTypes.node,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\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 * The icon to display when the component is indeterminate.\n * @default \n */\n indeterminateIcon: PropTypes.node,\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 * Pass a ref to the `input` element.\n */\n inputRef: refType,\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 * If `true`, the `input` element is required.\n * @default false\n */\n required: PropTypes.bool,\n /**\n * The size of the component.\n * `small` is equivalent to the dense checkbox styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\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 * 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';\n/**\n * @ignore - internal component.\n */\nconst FormControlContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== 'production') {\n FormControlContext.displayName = 'FormControlContext';\n}\nexport default FormControlContext;","export default function formControlState({\n props,\n states,\n muiFormControl\n}) {\n return states.reduce((acc, state) => {\n acc[state] = props[state];\n if (muiFormControl) {\n if (typeof props[state] === 'undefined') {\n acc[state] = muiFormControl[state];\n }\n }\n return acc;\n }, {});\n}","import * as React from 'react';\nimport FormControlContext from './FormControlContext';\nexport default function useFormControl() {\n return React.useContext(FormControlContext);\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"disabled\", \"error\", \"filled\", \"focused\", \"required\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport formLabelClasses, { getFormLabelUtilityClasses } from './formLabelClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n focused,\n disabled,\n error,\n filled,\n required\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, disabled && 'disabled', error && 'error', filled && 'filled', focused && 'focused', required && 'required'],\n asterisk: ['asterisk', error && 'error']\n };\n return composeClasses(slots, getFormLabelUtilityClasses, classes);\n};\nexport const FormLabelRoot = styled('label', {\n name: 'MuiFormLabel',\n slot: 'Root',\n overridesResolver: ({\n ownerState\n }, styles) => {\n return _extends({}, styles.root, ownerState.color === 'secondary' && styles.colorSecondary, ownerState.filled && styles.filled);\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, theme.typography.body1, {\n lineHeight: '1.4375em',\n padding: 0,\n position: 'relative',\n [`&.${formLabelClasses.focused}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${formLabelClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n },\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst AsteriskComponent = styled('span', {\n name: 'MuiFormLabel',\n slot: 'Asterisk',\n overridesResolver: (props, styles) => styles.asterisk\n})(({\n theme\n}) => ({\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst FormLabel = /*#__PURE__*/React.forwardRef(function FormLabel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormLabel'\n });\n const {\n children,\n className,\n component = 'label'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['color', 'required', 'focused', 'disabled', 'error', 'filled']\n });\n const ownerState = _extends({}, props, {\n color: fcs.color || 'primary',\n component,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(FormLabelRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: [children, fcs.required && /*#__PURE__*/_jsxs(AsteriskComponent, {\n ownerState: ownerState,\n \"aria-hidden\": true,\n className: classes.asterisk,\n children: [\"\\u2009\", '*']\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormLabel.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\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 * If `true`, the label should be displayed in a disabled state.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the label should use filled classes key.\n */\n filled: PropTypes.bool,\n /**\n * If `true`, the input of this label is focused (used by `FormGroup` components).\n */\n focused: PropTypes.bool,\n /**\n * If `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\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} : void 0;\nexport default FormLabel;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getFormLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiFormLabel', slot);\n}\nconst formLabelClasses = generateUtilityClasses('MuiFormLabel', ['root', 'colorSecondary', 'focused', 'disabled', 'error', 'filled', 'required', 'asterisk']);\nexport default formLabelClasses;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getInputLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiInputLabel', slot);\n}\nconst inputLabelClasses = generateUtilityClasses('MuiInputLabel', ['root', 'focused', 'disabled', 'error', 'required', 'asterisk', 'formControl', 'sizeSmall', 'shrink', 'animated', 'standard', 'filled', 'outlined']);\nexport default inputLabelClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"disableAnimation\", \"margin\", \"shrink\", \"variant\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport clsx from 'clsx';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport FormLabel, { formLabelClasses } from '../FormLabel';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { getInputLabelUtilityClasses } from './inputLabelClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n formControl,\n size,\n shrink,\n disableAnimation,\n variant,\n required\n } = ownerState;\n const slots = {\n root: ['root', formControl && 'formControl', !disableAnimation && 'animated', shrink && 'shrink', size === 'small' && 'sizeSmall', variant],\n asterisk: [required && 'asterisk']\n };\n const composedClasses = composeClasses(slots, getInputLabelUtilityClasses, classes);\n return _extends({}, classes, composedClasses);\n};\nconst InputLabelRoot = styled(FormLabel, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiInputLabel',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${formLabelClasses.asterisk}`]: styles.asterisk\n }, styles.root, ownerState.formControl && styles.formControl, ownerState.size === 'small' && styles.sizeSmall, ownerState.shrink && styles.shrink, !ownerState.disableAnimation && styles.animated, styles[ownerState.variant]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'block',\n transformOrigin: 'top left',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: '100%'\n}, ownerState.formControl && {\n position: 'absolute',\n left: 0,\n top: 0,\n // slight alteration to spec spacing to match visual spec result\n transform: 'translate(0, 20px) scale(1)'\n}, ownerState.size === 'small' && {\n // Compensation for the `Input.inputSizeSmall` style.\n transform: 'translate(0, 17px) scale(1)'\n}, ownerState.shrink && {\n transform: 'translate(0, -1.5px) scale(0.75)',\n transformOrigin: 'top left',\n maxWidth: '133%'\n}, !ownerState.disableAnimation && {\n transition: theme.transitions.create(['color', 'transform', 'max-width'], {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n })\n}, ownerState.variant === 'filled' && _extends({\n // Chrome's autofill feature gives the input field a yellow background.\n // Since the input field is behind the label in the HTML tree,\n // the input field is drawn last and hides the label with an opaque background color.\n // zIndex: 1 will raise the label above opaque background-colors of input.\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(12px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 13px) scale(1)'\n}, ownerState.shrink && _extends({\n userSelect: 'none',\n pointerEvents: 'auto',\n transform: 'translate(12px, 7px) scale(0.75)',\n maxWidth: 'calc(133% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 4px) scale(0.75)'\n})), ownerState.variant === 'outlined' && _extends({\n // see comment above on filled.zIndex\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(14px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(14px, 9px) scale(1)'\n}, ownerState.shrink && {\n userSelect: 'none',\n pointerEvents: 'auto',\n // Theoretically, we should have (8+5)*2/0.75 = 34px\n // but it feels a better when it bleeds a bit on the left, so 32px.\n maxWidth: 'calc(133% - 32px)',\n transform: 'translate(14px, -9px) scale(0.75)'\n})));\nconst InputLabel = /*#__PURE__*/React.forwardRef(function InputLabel(inProps, ref) {\n const props = useThemeProps({\n name: 'MuiInputLabel',\n props: inProps\n });\n const {\n disableAnimation = false,\n shrink: shrinkProp,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n let shrink = shrinkProp;\n if (typeof shrink === 'undefined' && muiFormControl) {\n shrink = muiFormControl.filled || muiFormControl.focused || muiFormControl.adornedStart;\n }\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['size', 'variant', 'required']\n });\n const ownerState = _extends({}, props, {\n disableAnimation,\n formControl: muiFormControl,\n shrink,\n size: fcs.size,\n variant: fcs.variant,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(InputLabelRoot, _extends({\n \"data-shrink\": shrink,\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? InputLabel.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the transition animation is disabled.\n * @default false\n */\n disableAnimation: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` of this label is focused.\n */\n focused: PropTypes.bool,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: PropTypes.oneOf(['dense']),\n /**\n * if `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n /**\n * If `true`, the label is shrunk.\n */\n shrink: PropTypes.bool,\n /**\n * The size of the component.\n * @default 'normal'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['normal', 'small']), PropTypes.string]),\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 * The variant to use.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputLabel;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getSwitchBaseUtilityClass(slot) {\n return generateUtilityClass('PrivateSwitchBase', slot);\n}\nconst switchBaseClasses = generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);\nexport default switchBaseClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"checked\", \"checkedIcon\", \"className\", \"defaultChecked\", \"disabled\", \"disableFocusRipple\", \"edge\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useControlled from '../utils/useControlled';\nimport useFormControl from '../FormControl/useFormControl';\nimport ButtonBase from '../ButtonBase';\nimport { getSwitchBaseUtilityClass } from './switchBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n checked,\n disabled,\n edge\n } = ownerState;\n const slots = {\n root: ['root', checked && 'checked', disabled && 'disabled', edge && `edge${capitalize(edge)}`],\n input: ['input']\n };\n return composeClasses(slots, getSwitchBaseUtilityClass, classes);\n};\nconst SwitchBaseRoot = styled(ButtonBase)(({\n ownerState\n}) => _extends({\n padding: 9,\n borderRadius: '50%'\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}));\nconst SwitchBaseInput = styled('input')({\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n});\n\n/**\n * @ignore - internal component.\n */\nconst SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref) {\n const {\n autoFocus,\n checked: checkedProp,\n checkedIcon,\n className,\n defaultChecked,\n disabled: disabledProp,\n disableFocusRipple = false,\n edge = false,\n icon,\n id,\n inputProps,\n inputRef,\n name,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n required = false,\n tabIndex,\n type,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const [checked, setCheckedState] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n });\n const muiFormControl = useFormControl();\n const handleFocus = event => {\n if (onFocus) {\n onFocus(event);\n }\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n const handleInputChange = event => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented) {\n return;\n }\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n if (onChange) {\n // TODO v6: remove the second argument.\n onChange(event, newChecked);\n }\n };\n let disabled = disabledProp;\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n const hasLabelFor = type === 'checkbox' || type === 'radio';\n const ownerState = _extends({}, props, {\n checked,\n disabled,\n disableFocusRipple,\n edge\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SwitchBaseRoot, _extends({\n component: \"span\",\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/_jsx(SwitchBaseInput, _extends({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor ? id : undefined,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n ownerState: ownerState,\n tabIndex: tabIndex,\n type: type\n }, type === 'checkbox' && value === undefined ? {} : {\n value\n }, inputProps)), checked ? checkedIcon : icon]\n }));\n});\n\n// NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\nprocess.env.NODE_ENV !== \"production\" ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node.isRequired,\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * @ignore\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node.isRequired,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\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 * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /*\n * @ignore\n */\n name: PropTypes.string,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} 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 * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.object,\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * The input component prop `type`.\n */\n type: PropTypes.string.isRequired,\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default SwitchBase;","import { unstable_createChainedFunction as createChainedFunction } from '@mui/utils';\nexport default createChainedFunction;","import { unstable_deprecatedPropType as deprecatedPropType } from '@mui/utils';\nexport default deprecatedPropType;","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return (props, propName, componentName, location, propFullName) => {\n const componentNameSafe = componentName || '<>';\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The ${location} \\`${propFullNameSafe}\\` of ` + `\\`${componentNameSafe}\\` is deprecated. ${reason}`);\n }\n return null;\n };\n}","import { unstable_requirePropFactory as requirePropFactory } from '@mui/utils';\nexport default requirePropFactory;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function requirePropFactory(componentNameInError, Component) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n\n // eslint-disable-next-line react/forbid-foreign-prop-types\n const prevPropTypes = Component ? _extends({}, Component.propTypes) : null;\n const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {\n const propFullNameSafe = propFullName || propName;\n const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];\n if (defaultTypeChecker) {\n const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);\n if (typeCheckerResult) {\n return typeCheckerResult;\n }\n }\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(`The prop \\`${propFullNameSafe}\\` of ` + `\\`${componentNameInError}\\` can only be used together with the \\`${requiredProp}\\` prop.`);\n }\n return null;\n };\n return requireProp;\n}","import { unstable_setRef as setRef } from '@mui/utils';\nexport default setRef;","import { unstable_unsupportedProp as unsupportedProp } from '@mui/utils';\nexport default unsupportedProp;","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","import { unstable_ClassNameGenerator as ClassNameGenerator } from '@mui/base/className';\nexport { default as capitalize } from './capitalize';\nexport { default as createChainedFunction } from './createChainedFunction';\nexport { default as createSvgIcon } from './createSvgIcon';\nexport { default as debounce } from './debounce';\nexport { default as deprecatedPropType } from './deprecatedPropType';\nexport { default as isMuiElement } from './isMuiElement';\nexport { default as ownerDocument } from './ownerDocument';\nexport { default as ownerWindow } from './ownerWindow';\nexport { default as requirePropFactory } from './requirePropFactory';\nexport { default as setRef } from './setRef';\nexport { default as unstable_useEnhancedEffect } from './useEnhancedEffect';\nexport { default as unstable_useId } from './useId';\nexport { default as unsupportedProp } from './unsupportedProp';\nexport { default as useControlled } from './useControlled';\nexport { default as useEventCallback } from './useEventCallback';\nexport { default as useForkRef } from './useForkRef';\nexport { default as useIsFocusVisible } from './useIsFocusVisible';\n// TODO: remove this export once ClassNameGenerator is stable\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const unstable_ClassNameGenerator = {\n configure: generator => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(['MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.', '', \"You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead\", '', 'The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401', '', 'The updated documentation: https://mui.com/guides/classname-generator/'].join('\\n'));\n }\n ClassNameGenerator.configure(generator);\n }\n};","import { unstable_isMuiElement as isMuiElement } from '@mui/utils';\nexport default isMuiElement;","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf(element.type.muiName) !== -1;\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","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"names":["_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","Object","defineProperty","value","enumerable","get","_utils","createSvgIcon","_jsx","getCheckboxUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","CheckboxRoot","styled","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","ownerState","root","indeterminate","color","concat","capitalize","_ref","_ref2","theme","_extends","vars","palette","text","secondary","disableRipple","backgroundColor","action","activeChannel","primary","mainChannel","hoverOpacity","alpha","active","main","_defineProperty","checkboxClasses","checked","disabled","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","React","inProps","ref","_icon$props$fontSize","_indeterminateIcon$pr","useThemeProps","_props$checkedIcon","checkedIcon","_props$color","_props$icon","icon","iconProp","_props$indeterminate","_props$indeterminateI","indeterminateIcon","indeterminateIconProp","inputProps","_props$size","size","className","other","_objectWithoutPropertiesLoose","classes","slots","composedClasses","composeClasses","useUtilityClasses","type","fontSize","clsx","FormControlContext","undefined","formControlState","states","muiFormControl","reduce","acc","state","useFormControl","FormLabelRoot","colorSecondary","filled","_extends2","typography","body1","lineHeight","padding","position","formLabelClasses","focused","error","AsteriskComponent","asterisk","_ref3","FormLabel","children","_props$component","component","fcs","required","getFormLabelUtilityClasses","_jsxs","as","getInputLabelUtilityClasses","InputLabelRoot","formControl","sizeSmall","shrink","disableAnimation","animated","variant","display","transformOrigin","whiteSpace","overflow","textOverflow","maxWidth","left","top","transform","transition","transitions","create","duration","shorter","easing","easeOut","zIndex","pointerEvents","userSelect","_props$disableAnimati","shrinkProp","adornedStart","getSwitchBaseUtilityClass","SwitchBaseRoot","ButtonBase","borderRadius","edge","marginLeft","marginRight","SwitchBaseInput","cursor","opacity","width","height","margin","autoFocus","checkedProp","defaultChecked","disabledProp","_props$disableFocusRi","disableFocusRipple","_props$edge","id","inputRef","onBlur","onChange","onFocus","readOnly","_props$required","tabIndex","_useControlled","useControlled","controlled","Boolean","_useControlled2","_slicedToArray","setCheckedState","hasLabelFor","input","centerRipple","focusRipple","role","event","nativeEvent","defaultPrevented","newChecked","target","createChainedFunction","validator","reason","componentNameInError","Component","propName","componentName","location","propFullName","unstable_ClassNameGenerator","configure","generator","ClassNameGenerator","element","muiNames","indexOf","muiName","baseGetTag","isArray","isObjectLike","module","obj","__esModule"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/5088.8ed4fd39.chunk.js b/portal-ui/build/static/js/5088.8ed4fd39.chunk.js new file mode 100644 index 000000000..22416f6bf --- /dev/null +++ b/portal-ui/build/static/js/5088.8ed4fd39.chunk.js @@ -0,0 +1,2 @@ +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5088],{75088:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return S}});var r=n(29439),s=n(72791),i=n(95087),o=n(78687),l=n(57689),c=n(29945),a="error",d="success",u="inProgress",x=n(81551),f=n(26824),h=n(87995),g=n(12808),p=n(9478),j=n(31776),m=n(80184),b=function(e){var t=e.title,n=e.children,i=(0,s.useState)("N/A"),o=(0,r.Z)(i,2),l=o[0],a=o[1],d=(0,s.useState)(0),u=(0,r.Z)(d,2),x=u[0],f=u[1],h=(0,s.useState)(0),g=(0,r.Z)(h,2),p=g[0],b=g[1],w=(0,s.useState)(!0),v=(0,r.Z)(w,2),y=v[0],S=v[1];return(0,s.useEffect)((function(){y&&j.h.admin.adminInfo({defaultOnly:!0}).then((function(e){var t,n=null===(t=e.data.servers)||void 0===t?void 0:t.length;if(f(n||0),e.data.servers&&e.data.servers.length>0){a(e.data.servers[0].version||"N/A");var r=e.data.servers.reduce((function(e,t){return e+(t.drives?t.drives.length:0)}),0);b(r)}S(!1)})).catch((function(){S(!1)}))}),[y]),(0,m.jsxs)(c.rjZ,{item:!0,xs:12,children:[(0,m.jsx)(c.NZf,{separator:!0,children:t}),(0,m.jsxs)(c.rjZ,{item:!0,xs:12,children:[(0,m.jsx)(c.rjZ,{item:!0,xs:12,sx:{padding:0,marginBottom:25},children:(0,m.jsx)(c.rjZ,{container:!0,sx:{padding:25},children:y?(0,m.jsx)(s.Fragment,{children:(0,m.jsx)(c.rjZ,{item:!0,xs:12,sx:{textAlign:"center"},children:(0,m.jsx)(c.aNw,{style:{width:25,height:25}})})}):(0,m.jsxs)(s.Fragment,{children:[(0,m.jsxs)(c.rjZ,{item:!0,xs:12,md:4,sx:{fontSize:18,display:"flex",alignItems:"center","& svg":{marginRight:10}},children:[(0,m.jsx)(c.FU8,{})," ",(0,m.jsx)("strong",{children:x}),"\xa0nodes,\xa0",(0,m.jsx)("strong",{children:p}),"\xa0 drives"]}),(0,m.jsxs)(c.rjZ,{item:!0,xs:12,md:4,sx:{fontSize:12,justifyContent:"center",alignSelf:"center",alignItems:"center",display:"flex"},children:[(0,m.jsx)("span",{style:{marginRight:20},children:(0,m.jsx)(c.Dbk,{})})," ","MinIO VERSION\xa0",(0,m.jsx)("strong",{children:l})]})]})})}),n]})]})},w=n(31460),v=n(47974),y=n(99670),S=function(){var e=(0,x.TL)(),t=(0,l.s0)(),n=(0,o.v9)((function(e){return e.healthInfo.message})),j=(0,o.v9)((function(e){return e.system.serverDiagnosticStatus})),S=(0,s.useState)(!1),Z=(0,r.Z)(S,2),C=Z[0],I=Z[1],k=(0,s.useState)(!0),D=(0,r.Z)(k,2),E=D[0],N=D[1],_=(0,s.useState)(""),R=(0,r.Z)(_,2),A=R[0],O=R[1],H=(0,s.useState)("Start Diagnostic"),z=(0,r.Z)(H,2),F=z[0],L=z[1],T=(0,s.useState)("New Diagnostic"),B=(0,r.Z)(T,2),P=B[0],K=B[1],U=(0,s.useState)(""),M=(0,r.Z)(U,2),Y=M[0],W=M[1],X=(0,s.useState)(""),G=(0,r.Z)(X,2),V=G[0],J=G[1],q=(0,p.Yc)();(0,s.useEffect)((function(){return j===u?(K("Diagnostic in progress..."),void O("Diagnostic started. Please do not refresh page during diagnosis.")):j===d?(K("Diagnostic complete"),O("Diagnostic file is ready to be downloaded."),void L("Start New Diagnostic")):j===a?(K("Error"),O("An error occurred while getting the Diagnostic file."),void L("Retry Diagnostic")):void 0}),[j,C]),(0,s.useEffect)((function(){j===d&&n!=={}&&N(!1),j===u&&N(!0),I(!1)}),[j,n]),(0,s.useEffect)((function(){if(C){e((0,g.Xp)()),W("");var t=new URL(window.location.toString()),n=t.port,r=(0,f.x2)(t.protocol),s=new URL(document.baseURI).pathname,o=new i.w3cwebsocket("".concat(r,"://").concat(t.hostname,":").concat(n).concat(s,"ws/health-info?deadline=1h")),l=null;null!==o&&(o.onopen=function(){console.log("WebSocket Client Connected"),o.send("ok"),l=setInterval((function(){o.send("ok")}),1e4),O("Diagnostic started. Please do not refresh page during diagnosis."),e((0,h.KY)(u))},o.onmessage=function(t){var n=JSON.parse(t.data.toString());n.serverHealthInfo&&(n.serverHealthInfo.timestamp=new Date(n.serverHealthInfo.timestamp.toString()),e((0,g.ec)(n.serverHealthInfo))),""!==n.encoded&&W(n.encoded),n.subnetResponse&&J(n.subnetResponse)},o.onerror=function(t){console.log("error closing websocket:",t.message),o.close(1e3),clearInterval(l),e((0,h.KY)(a))},o.onclose=function(t){clearInterval(l),t.code===f.HE||t.code===f.ci||t.code===f.V9?(console.log("connection closed by server with code:",t.code),O("An error occurred while getting the Diagnostic file."),e((0,h.KY)(a))):(console.log("connection closed by server"),O("Diagnostic file is ready to be downloaded."),e((0,h.KY)(d)))})}else I(!1)}),[C,e]);return(0,s.useEffect)((function(){e((0,h.Sc)("health_info"))}),[e]),(0,m.jsxs)(s.Fragment,{children:[(0,m.jsx)(v.Z,{label:"Health",actions:(0,m.jsx)(y.Z,{})}),(0,m.jsxs)(c.Xgh,{children:[!q&&(0,m.jsx)(w.Z,{compactMode:!0}),(0,m.jsx)(c.xuv,{withBorders:!0,children:(0,m.jsx)(b,{title:P,children:(0,m.jsx)(c.rjZ,{container:!0,sx:{justifyContent:"flex-start",gap:20},children:(0,m.jsxs)(c.rjZ,{item:!0,xs:12,sx:{textAlign:"center",marginBottom:25},children:[(0,m.jsx)("h2",{children:A}),(0,m.jsxs)(c.xuv,{sx:{textAlign:"center",marginBottom:25},children:[" ",""!==V&&!V.toLowerCase().includes("error")&&(0,m.jsxs)(c.rjZ,{item:!0,xs:12,children:[(0,m.jsx)("strong",{children:"Health report uploaded to Subnet successfully!"}),"\xa0"," ",(0,m.jsxs)("strong",{children:["See the results on your"," ",(0,m.jsx)("a",{href:V,children:"Subnet Dashboard"})," "]})]}),(""===V||V.toLowerCase().includes("error"))&&j===d&&(0,m.jsxs)(c.rjZ,{item:!0,xs:12,children:[(0,m.jsx)("strong",{children:"Something went wrong uploading your Health report to Subnet."}),"\xa0"," ",(0,m.jsxs)("strong",{children:["Log into your"," ",(0,m.jsx)("a",{href:"https://subnet.min.io",children:"Subnet Account"})," to manually upload your Health report."]})]})]}),j===u?(0,m.jsx)(c.xuv,{sx:{paddingTop:8,paddingLeft:40},children:(0,m.jsx)(c.aNw,{style:{width:25,height:25}})}):(0,m.jsx)(s.Fragment,{children:(0,m.jsxs)(c.xuv,{sx:{display:"flex",gap:10,alignItems:"center",justifyContent:"center"},children:[(0,m.jsx)(c.xuv,{children:j!==a&&!E&&(0,m.jsx)(c.zxk,{id:"download",type:"submit",variant:"callAction",onClick:function(){return function(){var e=document.createElement("a");e.setAttribute("href","data:application/gzip;base64,".concat(Y)),e.setAttribute("download","diagnostic.json.gz"),e.style.display="none",document.body.appendChild(e),e.click(),document.body.removeChild(e)}()},disabled:E,label:"Download"})}),(0,m.jsx)(c.xuv,{children:(0,m.jsx)(c.zxk,{id:"start-new-diagnostic",type:"submit",variant:q?"callAction":"regular",disabled:C,onClick:function(){q?I(!0):t("/support/register")},label:F})})]})})]},"start-download")})})}),!C&&q&&(0,m.jsxs)(s.Fragment,{children:[(0,m.jsx)("br",{}),(0,m.jsx)(c.KfX,{title:"Cluster Health Report will be uploaded to Subnet, and is viewable from your Subnet Diagnostics dashboard.",iconComponent:(0,m.jsx)(c.szr,{}),help:"If the Health report cannot be generated at this time, please wait a moment and try again."})]})]})]})}},31460:function(e,t,n){"use strict";var r=n(72791),s=n(57689),i=n(64554),o=n(29945),l=n(80184);t.Z=function(e){var t=e.compactMode,n=void 0!==t&&t,c=(0,s.s0)(),a=(0,l.jsx)(o.zxk,{id:"go-to-register",type:"submit",variant:"callAction",color:"primary",onClick:function(){return c("/support/register")},children:"Register your Cluster"}),d="Use your MinIO Subscription Network login credentials to register this cluster.";return n?(0,l.jsxs)(r.Fragment,{children:[(0,l.jsx)(o.rjZ,{sx:{"& div.leftItems":{marginBottom:0}},children:(0,l.jsx)(o.KfX,{title:(0,l.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",flexGrow:1},children:[(0,l.jsx)("span",{children:d})," ",a]}),iconComponent:(0,l.jsx)(o.e6P,{}),help:null})}),(0,l.jsx)("br",{})]}):(0,l.jsx)(i.Z,{sx:{padding:"25px",border:"1px solid #eaeaea",display:"flex",alignItems:"center",justifyContent:"center",flexFlow:{sm:"row",xs:"column"},marginBottom:"15px"},children:(0,l.jsxs)(o.rjZ,{container:!0,children:[(0,l.jsx)(o.rjZ,{item:!0,xs:12,children:(0,l.jsx)(i.Z,{sx:{marginRight:"8px",fontSize:"16px",fontWeight:600,display:"flex",alignItems:"center","& .min-icon":{width:"83px",height:"14px",marginLeft:"5px",marginRight:"5px"}},children:"Register your cluster"})}),(0,l.jsx)(o.rjZ,{item:!0,xs:12,children:(0,l.jsx)(i.Z,{sx:{display:"flex",flexFlow:{xs:"column",md:"row"}},children:(0,l.jsxs)(i.Z,{sx:{display:"flex",flexFlow:"column",flex:"2"},children:[(0,l.jsx)(i.Z,{sx:{fontSize:"16px",display:"flex",flexFlow:"column",marginTop:"15px",marginBottom:"15px"},children:d}),(0,l.jsx)(i.Z,{sx:{flex:"1"},children:(0,l.jsx)(i.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"},children:a})})]})})})]})})}},26824:function(e,t,n){"use strict";n.d(t,{HE:function(){return i},V9:function(){return r},ci:function(){return s},x2:function(){return o}});var r=1006,s=1008,i=1011,o=function(e){var t="ws";return"https:"===e&&(t="wss"),t}},94210:function(e){var t=function(){if("object"===typeof self&&self)return self;if("object"===typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};e.exports=function(){if(this)return this;if("object"===typeof globalThis&&globalThis)return globalThis;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(e){return t()}try{return __global__||t()}finally{delete Object.prototype.__global__}}()},95087:function(e,t,n){var r;if("object"===typeof globalThis)r=globalThis;else try{r=n(94210)}catch(l){}finally{if(r||"undefined"===typeof window||(r=window),!r)throw new Error("Could not determine global this")}var s=r.WebSocket||r.MozWebSocket,i=n(51496);function o(e,t){return t?new s(e,t):new s(e)}s&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach((function(e){Object.defineProperty(o,e,{get:function(){return s[e]}})})),e.exports={w3cwebsocket:s?o:null,version:i}},51496:function(e,t,n){e.exports=n(19794).version},19794:function(e){"use strict";e.exports={version:"1.0.34"}}}]); +//# sourceMappingURL=5088.8ed4fd39.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/5088.8ed4fd39.chunk.js.map b/portal-ui/build/static/js/5088.8ed4fd39.chunk.js.map new file mode 100644 index 000000000..88a50ecb2 --- /dev/null +++ b/portal-ui/build/static/js/5088.8ed4fd39.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/5088.8ed4fd39.chunk.js","mappings":"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","sources":["screens/Console/HealthInfo/types.ts","screens/Console/Common/TestWrapper/TestWrapper.tsx","screens/Console/HealthInfo/HealthInfo.tsx","screens/Console/Support/RegisterCluster.tsx","utils/wsUtils.ts","../node_modules/es5-ext/global.js","../node_modules/websocket/lib/browser.js","../node_modules/websocket/lib/version.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\nexport const DiagStatError = \"error\";\nexport const DiagStatSuccess = \"success\";\nexport const DiagStatInProgress = \"inProgress\";\n\nexport interface HealthInfoMessage {\n timestamp: Date;\n error: string;\n perf: perfInfo;\n minio: minioHealthInfo;\n sys: sysHealthInfo;\n}\n\nexport interface ReportMessage {\n encoded: string;\n serverHealthInfo: HealthInfoMessage;\n subnetResponse: string;\n}\n\nexport interface perfInfo {\n drives: serverDrivesInfo[];\n net: serverNetHealthInfo[];\n net_parallel: serverNetHealthInfo;\n error: string;\n}\n\nexport interface serverDrivesInfo {\n addr: string;\n serial: drivePerfInfo[];\n parallel: drivePerfInfo[];\n error: string;\n}\n\nexport interface drivePerfInfo {\n endpoint: string;\n latency: diskLatency;\n throughput: diskThroughput;\n error: string;\n}\n\nexport interface diskLatency {\n avg_secs: number;\n percentile50_secs: number;\n percentile90_secs: number;\n percentile99_secs: number;\n min_secs: number;\n max_secs: number;\n}\n\nexport interface diskThroughput {\n avg_bytes_per_sec: number;\n percentile50_bytes_per_sec: number;\n percentile90_bytes_per_sec: number;\n percentile99_bytes_per_sec: number;\n min_bytes_per_sec: number;\n max_bytes_per_sec: number;\n}\n\nexport interface serverNetHealthInfo {\n addr: string;\n net: netPerfInfo[];\n error: string;\n}\n\nexport interface netPerfInfo {\n remote: string;\n latency: netLatency;\n throughput: netThroughput;\n error: string;\n}\n\nexport interface netLatency {\n avg_secs: number;\n percentile50_secs: number;\n percentile90_secs: number;\n percentile99_secs: number;\n min_secs: number;\n max_secs: number;\n}\n\nexport interface netThroughput {\n avg_bytes_per_sec: number;\n percentile50_bytes_per_sec: number;\n percentile90_bytes_per_sec: number;\n percentile99_bytes_per_sec: number;\n min_bytes_per_sec: number;\n max_bytes_per_sec: number;\n}\n\nexport interface minioHealthInfo {\n info: infoMessage;\n config: any;\n error: string;\n}\n\nexport interface infoMessage {\n mode: string;\n domain: string[];\n region: string;\n sqsARN: string[];\n deploymentID: string;\n buckets: buckets;\n objects: objects;\n usage: usage;\n services: services;\n backend: any;\n servers: serverProperties[];\n}\n\nexport interface buckets {\n count: number;\n}\n\nexport interface objects {\n count: number;\n}\n\nexport interface usage {\n size: number;\n}\n\nexport interface services {\n vault: vault;\n ldap: ldap;\n logger: Map[];\n audit: Map[];\n notifications: Map[]>;\n}\n\nexport interface vault {\n status: string;\n encrypt: string;\n decrypt: string;\n}\n\nexport interface ldap {\n status: string;\n}\n\nexport interface status {\n status: string;\n}\n\nexport interface serverProperties {\n state: string;\n endpoint: string;\n uptime: number;\n version: string;\n commitID: string;\n network: Map;\n drives: disk[];\n}\n\nexport interface disk {\n endpoint: string;\n rootDisk: boolean;\n path: string;\n healing: boolean;\n state: string;\n uuid: string;\n model: string;\n totalspace: number;\n usedspace: number;\n availspace: number;\n readthroughput: number;\n writethroughput: number;\n readlatency: number;\n writelatency: number;\n utilization: number;\n}\n\nexport interface sysHealthInfo {\n cpus: serverCpuInfo[];\n drives: serverDiskHwInfo[];\n osinfos: serverOsInfo[];\n meminfos: serverMemInfo[];\n procinfos: serverProcInfo[];\n error: string;\n}\n\nexport interface serverCpuInfo {\n addr: string;\n cpu: cpuInfoStat[];\n time: cpuTimeStat[];\n error: string;\n}\n\nexport interface cpuInfoStat {\n cpu: number;\n vendorId: string;\n family: string;\n model: string;\n stepping: number;\n physicalId: string;\n coreId: string;\n cores: number;\n modelName: string;\n mhz: number;\n cacheSize: number;\n flags: string[];\n microcode: string;\n}\n\nexport interface cpuTimeStat {\n cpu: string;\n user: number;\n system: number;\n idle: number;\n nice: number;\n iowait: number;\n irq: number;\n softirq: number;\n steal: number;\n guest: number;\n guestNice: number;\n}\n\nexport interface serverDiskHwInfo {\n addr: string;\n usages: diskUsageStat[];\n partitions: partitionStat[];\n counters: Map;\n error: string;\n}\n\nexport interface diskUsageStat {\n path: string;\n fstype: string;\n total: number;\n free: number;\n used: number;\n usedPercent: number;\n inodesTotal: number;\n inodesUsed: number;\n inodesFree: number;\n inodesUsedPercent: number;\n}\n\nexport interface partitionStat {\n device: string;\n mountpoint: string;\n fstype: string;\n opts: string;\n smartInfo: smartInfo;\n}\n\nexport interface smartInfo {\n device: string;\n scsi: scsiInfo;\n nvme: nvmeInfo;\n ata: ataInfo;\n error: string;\n}\n\nexport interface scsiInfo {\n scsiCapacityBytes: number;\n scsiModeSenseBuf: string;\n scsirespLen: number;\n scsiBdLen: number;\n scsiOffset: number;\n sciRpm: number;\n}\n\nexport interface nvmeInfo {\n serialNum: string;\n vendorId: string;\n firmwareVersion: string;\n modelNum: string;\n spareAvailable: string;\n spareThreshold: string;\n temperature: string;\n criticalWarning: string;\n maxDataTransferPages: number;\n controllerBusyTime: number;\n powerOnHours: number;\n powerCycles: number;\n unsafeShutdowns: number;\n mediaAndDataIntgerityErrors: number;\n dataUnitsReadBytes: number;\n dataUnitsWrittenBytes: number;\n hostReadCommands: number;\n hostWriteCommands: number;\n}\n\nexport interface ataInfo {\n scsiLuWWNDeviceID: string;\n serialNum: string;\n modelNum: string;\n firmwareRevision: string;\n RotationRate: string;\n MajorVersion: string;\n MinorVersion: string;\n smartSupportAvailable: boolean;\n smartSupportEnabled: boolean;\n smartErrorLog: string;\n transport: string;\n}\n\nexport interface diskIOCountersStat {\n readCount: number;\n mergedReadCount: number;\n DriteCount: number;\n mergedWriteCount: number;\n readBytes: number;\n writeBytes: number;\n readTime: number;\n writeTime: number;\n iopsInProgress: number;\n ioTime: number;\n weightedIO: number;\n name: string;\n serialNumber: string;\n label: string;\n}\n\nexport interface serverOsInfo {\n addr: string;\n info: infoStat;\n sensors: temperatureStat[];\n users: userStat[];\n error: string;\n}\n\nexport interface infoStat {\n hostname: string;\n uptime: number;\n bootTime: number;\n procs: number;\n os: string;\n platform: string;\n platformFamily: string;\n platformVersion: string;\n kernelVersion: string;\n kernelArch: string;\n virtualizationSystem: string;\n virtualizationRole: string;\n hostid: string;\n}\n\nexport interface temperatureStat {\n sensorKey: string;\n sensorTemperature: number;\n}\n\nexport interface userStat {\n user: string;\n terminal: string;\n host: string;\n started: number;\n}\n\nexport interface serverMemInfo {\n addr: string;\n swap: swapMemoryStat;\n virtualmem: virtualMemoryStat;\n error: string;\n}\n\nexport interface swapMemoryStat {\n total: number;\n used: number;\n free: number;\n usedPercent: number;\n sin: number;\n sout: number;\n pgin: number;\n pgout: number;\n pgfault: number;\n pgmajfault: number;\n}\n\nexport interface virtualMemoryStat {\n total: number;\n available: number;\n used: number;\n usedPercent: number;\n free: number;\n active: number;\n inactive: number;\n wired: number;\n laundry: number;\n buffers: number;\n cached: number;\n writeback: number;\n dirty: number;\n writebacktmp: number;\n shared: number;\n slab: number;\n sreclaimable: number;\n sunreclaim: number;\n pagetables: number;\n swapcached: number;\n commitlimit: number;\n committedas: number;\n hightotal: number;\n highfree: number;\n lowtotal: number;\n lowfree: number;\n swaptotal: number;\n swapfree: number;\n mapped: number;\n vmalloctotal: number;\n vmallocused: number;\n vmallocchunk: number;\n hugepagestotal: number;\n hugepagesfree: number;\n hugepagesize: number;\n}\n\nexport interface serverProcInfo {\n addr: string;\n processes: sysProcess[];\n error: string;\n}\n\nexport interface sysProcess {\n pid: number;\n background: boolean;\n cpupercent: number;\n children: number[];\n cmd: string;\n connections: nethwConnectionStat[];\n createtime: number;\n cwd: string;\n exe: string;\n gids: number[];\n iocounters: processIOCountersStat;\n isrunning: boolean;\n meminfo: memoryInfoStat;\n memmaps: any[];\n mempercent: number;\n name: string;\n netiocounters: nethwIOCounterStat[];\n nice: number;\n numctxswitches: processNmCtxSwitchesStat;\n numfds: number;\n numthreads: number;\n pagefaults: processPageFaultsStat;\n parent: number;\n ppid: number;\n rlimit: processRLimitStat[];\n status: string;\n tgid: number;\n cputimes: cpuTimeStat;\n uids: number[];\n username: string;\n}\n\nexport interface nethwConnectionStat {\n fd: number;\n family: number;\n type: number;\n localaddr: netAddr;\n remoteaddr: netAddr;\n status: string;\n uids: number[];\n pid: number;\n}\n\nexport interface netAddr {\n ip: string;\n port: number;\n}\n\nexport interface processIOCountersStat {\n readCount: number;\n writeCount: number;\n readBytes: number;\n writeBytes: number;\n}\n\nexport interface memoryInfoStat {\n rss: number;\n vms: number;\n hwm: number;\n data: number;\n stack: number;\n locked: number;\n swap: number;\n}\n\nexport interface nethwIOCounterStat {\n name: string;\n bytesSent: number;\n bytesRecv: number;\n packetsSent: number;\n packetsRecv: number;\n errin: number;\n errout: number;\n dropin: number;\n dropout: number;\n fifoin: number;\n fifoout: number;\n}\n\nexport interface processNmCtxSwitchesStat {\n voluntary: number;\n involuntary: number;\n}\n\nexport interface processPageFaultsStat {\n minorFaults: number;\n majorFaults: number;\n childMinorFaults: number;\n childMajorFaults: number;\n}\n\nexport interface processRLimitStat {\n resource: number;\n soft: number;\n hard: number;\n used: number;\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, { Fragment, useEffect, useState } from \"react\";\nimport { DrivesIcon, Loader, SectionTitle, VersionIcon, Grid } from \"mds\";\nimport { api } from \"api\";\nimport { ServerProperties } from \"api/consoleApi\";\n\ninterface ITestWrapper {\n title: any;\n children: any;\n}\n\nconst TestWrapper = ({ title, children }: ITestWrapper) => {\n const [version, setVersion] = useState(\"N/A\");\n const [totalNodes, setTotalNodes] = useState(0);\n const [totalDrives, setTotalDrives] = useState(0);\n const [loading, setLoading] = useState(true);\n\n useEffect(() => {\n if (loading) {\n api.admin\n .adminInfo({\n defaultOnly: true,\n })\n .then((res) => {\n const totalServers = res.data.servers?.length;\n setTotalNodes(totalServers || 0);\n\n if (res.data.servers && res.data.servers.length > 0) {\n setVersion(res.data.servers[0].version || \"N/A\");\n\n const totalServers = res.data.servers.reduce(\n (prevTotal: number, currentElement: ServerProperties) => {\n let c = currentElement.drives\n ? currentElement.drives.length\n : 0;\n return prevTotal + c;\n },\n 0,\n );\n setTotalDrives(totalServers);\n }\n\n setLoading(false);\n })\n .catch(() => {\n setLoading(false);\n });\n }\n }, [loading]);\n\n return (\n \n {title}\n \n \n \n {!loading ? (\n \n \n {totalNodes}\n  nodes, \n {totalDrives}  drives\n \n \n \n \n {\" \"}\n MinIO VERSION {version}\n \n \n ) : (\n \n \n \n \n \n )}\n \n \n {children}\n \n \n );\n};\n\nexport default TestWrapper;\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, { Fragment, useEffect, useState } from \"react\";\nimport {\n ICloseEvent,\n IMessageEvent,\n w3cwebsocket as W3CWebSocket,\n} from \"websocket\";\nimport { useSelector } from \"react-redux\";\nimport { useNavigate } from \"react-router-dom\";\nimport { Box, Button, Grid, HelpBox, InfoIcon, Loader, PageLayout } from \"mds\";\nimport {\n DiagStatError,\n DiagStatInProgress,\n DiagStatSuccess,\n HealthInfoMessage,\n ReportMessage,\n} from \"./types\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport {\n WSCloseAbnormalClosure,\n WSCloseInternalServerErr,\n WSClosePolicyViolation,\n wsProtocol,\n} from \"../../../utils/wsUtils\";\nimport { setHelpName, setServerDiagStat } from \"../../../systemSlice\";\nimport {\n healthInfoMessageReceived,\n healthInfoResetMessage,\n} from \"./healthInfoSlice\";\nimport { registeredCluster } from \"../../../config\";\nimport TestWrapper from \"../Common/TestWrapper/TestWrapper\";\nimport RegisterCluster from \"../Support/RegisterCluster\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport HelpMenu from \"../HelpMenu\";\n\nconst HealthInfo = () => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const message = useSelector((state: AppState) => state.healthInfo.message);\n\n const serverDiagnosticStatus = useSelector(\n (state: AppState) => state.system.serverDiagnosticStatus,\n );\n const [startDiagnostic, setStartDiagnostic] = useState(false);\n\n const [downloadDisabled, setDownloadDisabled] = useState(true);\n const [localMessage, setMessage] = useState(\"\");\n const [buttonStartText, setButtonStartText] =\n useState(\"Start Diagnostic\");\n const [title, setTitle] = useState(\"New Diagnostic\");\n const [diagFileContent, setDiagFileContent] = useState(\"\");\n const [subnetResponse, setSubnetResponse] = useState(\"\");\n const clusterRegistered = registeredCluster();\n\n const download = () => {\n let element = document.createElement(\"a\");\n element.setAttribute(\n \"href\",\n `data:application/gzip;base64,${diagFileContent}`,\n );\n element.setAttribute(\"download\", \"diagnostic.json.gz\");\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n\n document.body.removeChild(element);\n };\n\n useEffect(() => {\n if (serverDiagnosticStatus === DiagStatInProgress) {\n setTitle(\"Diagnostic in progress...\");\n setMessage(\n \"Diagnostic started. Please do not refresh page during diagnosis.\",\n );\n return;\n }\n\n if (serverDiagnosticStatus === DiagStatSuccess) {\n setTitle(\"Diagnostic complete\");\n setMessage(\"Diagnostic file is ready to be downloaded.\");\n setButtonStartText(\"Start New Diagnostic\");\n return;\n }\n\n if (serverDiagnosticStatus === DiagStatError) {\n setTitle(\"Error\");\n setMessage(\"An error occurred while getting the Diagnostic file.\");\n setButtonStartText(\"Retry Diagnostic\");\n return;\n }\n }, [serverDiagnosticStatus, startDiagnostic]);\n\n useEffect(() => {\n if (\n serverDiagnosticStatus === DiagStatSuccess &&\n message !== ({} as HealthInfoMessage)\n ) {\n // Allow download of diagnostics file only when\n // it succeded fetching all the results and info is not empty.\n setDownloadDisabled(false);\n }\n if (serverDiagnosticStatus === DiagStatInProgress) {\n // Disable Start Diagnotic and Disable Download buttons\n // if a Diagnosis is in progress.\n setDownloadDisabled(true);\n }\n setStartDiagnostic(false);\n }, [serverDiagnosticStatus, message]);\n\n useEffect(() => {\n if (startDiagnostic) {\n dispatch(healthInfoResetMessage());\n setDiagFileContent(\"\");\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 const wsProt = wsProtocol(url.protocol);\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 c = new W3CWebSocket(\n `${wsProt}://${url.hostname}:${port}${baseUrl}ws/health-info?deadline=1h`,\n );\n let interval: any | null = null;\n if (c !== null) {\n c.onopen = () => {\n console.log(\"WebSocket Client Connected\");\n c.send(\"ok\");\n interval = setInterval(() => {\n c.send(\"ok\");\n }, 10 * 1000);\n setMessage(\n \"Diagnostic started. Please do not refresh page during diagnosis.\",\n );\n dispatch(setServerDiagStat(DiagStatInProgress));\n };\n c.onmessage = (message: IMessageEvent) => {\n let m: ReportMessage = JSON.parse(message.data.toString());\n if (m.serverHealthInfo) {\n m.serverHealthInfo.timestamp = new Date(\n m.serverHealthInfo.timestamp.toString(),\n );\n dispatch(healthInfoMessageReceived(m.serverHealthInfo));\n }\n if (m.encoded !== \"\") {\n setDiagFileContent(m.encoded);\n }\n if (m.subnetResponse) {\n setSubnetResponse(m.subnetResponse);\n }\n };\n c.onerror = (error: Error) => {\n console.log(\"error closing websocket:\", error.message);\n c.close(1000);\n clearInterval(interval);\n dispatch(setServerDiagStat(DiagStatError));\n };\n c.onclose = (event: ICloseEvent) => {\n clearInterval(interval);\n if (\n event.code === WSCloseInternalServerErr ||\n event.code === WSClosePolicyViolation ||\n event.code === WSCloseAbnormalClosure\n ) {\n // handle close with error\n console.log(\"connection closed by server with code:\", event.code);\n setMessage(\"An error occurred while getting the Diagnostic file.\");\n dispatch(setServerDiagStat(DiagStatError));\n } else {\n console.log(\"connection closed by server\");\n\n setMessage(\"Diagnostic file is ready to be downloaded.\");\n dispatch(setServerDiagStat(DiagStatSuccess));\n }\n };\n }\n } else {\n // reset start status\n setStartDiagnostic(false);\n }\n }, [startDiagnostic, dispatch]);\n\n const startDiagnosticAction = () => {\n if (!clusterRegistered) {\n navigate(\"/support/register\");\n return;\n }\n setStartDiagnostic(true);\n };\n\n useEffect(() => {\n dispatch(setHelpName(\"health_info\"));\n }, [dispatch]);\n\n return (\n \n } />\n\n \n {!clusterRegistered && }\n \n \n \n \n

    {localMessage}

    \n \n {\" \"}\n {subnetResponse !== \"\" &&\n !subnetResponse.toLowerCase().includes(\"error\") && (\n \n \n Health report uploaded to Subnet successfully!\n \n  {\" \"}\n \n See the results on your{\" \"}\n Subnet Dashboard{\" \"}\n \n \n )}\n {(subnetResponse === \"\" ||\n subnetResponse.toLowerCase().includes(\"error\")) &&\n serverDiagnosticStatus === DiagStatSuccess && (\n \n \n Something went wrong uploading your Health report to\n Subnet.\n \n  {\" \"}\n \n Log into your{\" \"}\n Subnet Account to\n manually upload your Health report.\n \n \n )}\n
    \n {serverDiagnosticStatus === DiagStatInProgress ? (\n \n \n \n ) : (\n \n \n \n {serverDiagnosticStatus !== DiagStatError &&\n !downloadDisabled && (\n download()}\n disabled={downloadDisabled}\n label={\"Download\"}\n />\n )}\n \n \n \n \n \n \n )}\n \n \n \n \n {!startDiagnostic && clusterRegistered && (\n \n
    \n }\n help={\n \"If the Health report cannot be generated at this time, please wait a moment and try again.\"\n }\n />\n
    \n )}\n
    \n
    \n );\n};\n\nexport default HealthInfo;\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 { useNavigate } from \"react-router-dom\";\nimport { Box } from \"@mui/material\";\nimport { Button, Grid, HelpBox, WarnIcon } from \"mds\";\n\ninterface IRegisterCluster {\n compactMode?: boolean;\n}\n\nconst RegisterCluster = ({ compactMode = false }: IRegisterCluster) => {\n const navigate = useNavigate();\n\n const redirectButton = (\n navigate(\"/support/register\")}\n >\n Register your Cluster\n \n );\n\n const registerMessage =\n \"Use your MinIO Subscription Network login credentials to register this cluster.\";\n\n if (compactMode) {\n return (\n \n \n \n {registerMessage} {redirectButton}\n \n }\n iconComponent={}\n help={null}\n />\n \n
    \n
    \n );\n }\n\n return (\n \n \n \n \n Register your cluster\n \n \n \n \n \n \n {registerMessage}\n \n \n \n {redirectButton}\n \n \n \n \n \n \n \n );\n};\n\nexport default RegisterCluster;\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 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","var naiveFallback = function () {\n\tif (typeof self === \"object\" && self) return self;\n\tif (typeof window === \"object\" && window) return window;\n\tthrow new Error(\"Unable to resolve global `this`\");\n};\n\nmodule.exports = (function () {\n\tif (this) return this;\n\n\t// Unexpected strict mode (may happen if e.g. bundled into ESM module)\n\n\t// Fallback to standard globalThis if available\n\tif (typeof globalThis === \"object\" && globalThis) return globalThis;\n\n\t// Thanks @mathiasbynens -> https://mathiasbynens.be/notes/globalthis\n\t// In all ES5+ engines global object inherits from Object.prototype\n\t// (if you approached one that doesn't please report)\n\ttry {\n\t\tObject.defineProperty(Object.prototype, \"__global__\", {\n\t\t\tget: function () { return this; },\n\t\t\tconfigurable: true\n\t\t});\n\t} catch (error) {\n\t\t// Unfortunate case of updates to Object.prototype being restricted\n\t\t// via preventExtensions, seal or freeze\n\t\treturn naiveFallback();\n\t}\n\ttry {\n\t\t// Safari case (window.__global__ works, but __global__ does not)\n\t\tif (!__global__) return naiveFallback();\n\t\treturn __global__;\n\t} finally {\n\t\tdelete Object.prototype.__global__;\n\t}\n})();\n","var _globalThis;\nif (typeof globalThis === 'object') {\n\t_globalThis = globalThis;\n} else {\n\ttry {\n\t\t_globalThis = require('es5-ext/global');\n\t} catch (error) {\n\t} finally {\n\t\tif (!_globalThis && typeof window !== 'undefined') { _globalThis = window; }\n\t\tif (!_globalThis) { throw new Error('Could not determine global this'); }\n\t}\n}\n\nvar NativeWebSocket = _globalThis.WebSocket || _globalThis.MozWebSocket;\nvar websocket_version = require('./version');\n\n\n/**\n * Expose a W3C WebSocket class with just one or two arguments.\n */\nfunction W3CWebSocket(uri, protocols) {\n\tvar native_instance;\n\n\tif (protocols) {\n\t\tnative_instance = new NativeWebSocket(uri, protocols);\n\t}\n\telse {\n\t\tnative_instance = new NativeWebSocket(uri);\n\t}\n\n\t/**\n\t * 'native_instance' is an instance of nativeWebSocket (the browser's WebSocket\n\t * class). Since it is an Object it will be returned as it is when creating an\n\t * instance of W3CWebSocket via 'new W3CWebSocket()'.\n\t *\n\t * ECMAScript 5: http://bclary.com/2004/11/07/#a-13.2.2\n\t */\n\treturn native_instance;\n}\nif (NativeWebSocket) {\n\t['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'].forEach(function(prop) {\n\t\tObject.defineProperty(W3CWebSocket, prop, {\n\t\t\tget: function() { return NativeWebSocket[prop]; }\n\t\t});\n\t});\n}\n\n/**\n * Module exports.\n */\nmodule.exports = {\n 'w3cwebsocket' : NativeWebSocket ? W3CWebSocket : null,\n 'version' : websocket_version\n};\n","module.exports = require('../package.json').version;\n"],"names":["DiagStatError","DiagStatSuccess","DiagStatInProgress","_ref","title","children","_useState","useState","_useState2","_slicedToArray","version","setVersion","_useState3","_useState4","totalNodes","setTotalNodes","_useState5","_useState6","totalDrives","setTotalDrives","_useState7","_useState8","loading","setLoading","useEffect","api","admin","adminInfo","defaultOnly","then","res","_res$data$servers","totalServers","data","servers","length","reduce","prevTotal","currentElement","drives","catch","_jsxs","Grid","item","xs","_jsx","SectionTitle","separator","sx","padding","marginBottom","container","Fragment","textAlign","Loader","style","width","height","md","fontSize","display","alignItems","marginRight","DrivesIcon","justifyContent","alignSelf","VersionIcon","dispatch","useAppDispatch","navigate","useNavigate","message","useSelector","state","healthInfo","serverDiagnosticStatus","system","startDiagnostic","setStartDiagnostic","downloadDisabled","setDownloadDisabled","localMessage","setMessage","buttonStartText","setButtonStartText","_useState9","_useState10","setTitle","_useState11","_useState12","diagFileContent","setDiagFileContent","_useState13","_useState14","subnetResponse","setSubnetResponse","clusterRegistered","registeredCluster","healthInfoResetMessage","url","URL","window","location","toString","port","wsProt","wsProtocol","protocol","baseUrl","document","baseURI","pathname","c","W3CWebSocket","concat","hostname","interval","onopen","console","log","send","setInterval","setServerDiagStat","onmessage","m","JSON","parse","serverHealthInfo","timestamp","Date","healthInfoMessageReceived","encoded","onerror","error","close","clearInterval","onclose","event","code","WSCloseInternalServerErr","WSClosePolicyViolation","WSCloseAbnormalClosure","setHelpName","PageHeaderWrapper","label","actions","HelpMenu","PageLayout","RegisterCluster","compactMode","Box","withBorders","TestWrapper","gap","toLowerCase","includes","href","paddingTop","paddingLeft","Button","id","type","variant","onClick","element","createElement","setAttribute","body","appendChild","click","removeChild","download","disabled","HelpBox","iconComponent","InfoIcon","help","_ref$compactMode","redirectButton","color","registerMessage","flexGrow","WarnIcon","border","flexFlow","sm","fontWeight","marginLeft","flex","marginTop","naiveFallback","self","Error","module","exports","this","globalThis","Object","defineProperty","prototype","get","configurable","__global__","_globalThis","require","NativeWebSocket","WebSocket","MozWebSocket","websocket_version","uri","protocols","forEach","prop"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/5088.a07c0273.chunk.js b/portal-ui/build/static/js/5088.a07c0273.chunk.js deleted file mode 100644 index 77159b569..000000000 --- a/portal-ui/build/static/js/5088.a07c0273.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5088],{75088:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return D}});var r=t(29439),o=t(1413),i=t(72791),s=t(95087),a=t(81551),c=t(78687),l=t(57689),d=t(29945),u="error",f="success",x="inProgress",g=t(11135),p=t(25787),h=t(26824),m=t(23814),v=t(61889),j=t(93385),b=t(31776),w=t(80184),y=(0,p.Z)((function(e){return(0,g.Z)({titleBar:{borderBottom:"#E5E5E5 1px solid",padding:"30px 25px",fontSize:20,color:"#07193E",fontWeight:"bold",borderRadius:"10px 10px 0px 0px",paddingTop:0},divisorContainer:{padding:25},serversData:{color:"#07193E",fontSize:18,display:"flex",alignItems:"center","& svg":{marginRight:10}},minioVersionContainer:{fontSize:12,color:"#07193E",justifyContent:"center",alignSelf:"center",alignItems:"center",display:"flex"},versionIcon:{color:"#07193E",marginRight:20},loaderAlign:{textAlign:"center"},advancedContainer:{justifyContent:"flex-end",display:"flex"},optionsContainer:{padding:0,marginBottom:25},advancedConfiguration:{color:"#2781B0",fontSize:10,textDecoration:"underline",border:"none",backgroundColor:"transparent",cursor:"pointer",alignItems:"center",display:"flex","&:hover":{color:"#07193E"},"& svg":{width:10,alignSelf:"center",marginLeft:5}},advancedOpen:{transform:"rotateZ(-90deg) translateX(-4px) translateY(2px)"},advancedClosed:{transform:"rotateZ(90deg)"},advancedContent:{backgroundColor:"#F5F7F9",maxHeight:0,transitionDuration:"0.3s",overflow:"hidden",padding:"0 15px","&.open":{maxHeight:400,padding:15}}})}))((function(e){var n=e.title,t=e.children,o=e.classes,s=e.advancedVisible,a=e.advancedContent,c=(0,i.useState)("N/A"),l=(0,r.Z)(c,2),u=l[0],f=l[1],x=(0,i.useState)(0),g=(0,r.Z)(x,2),p=g[0],h=g[1],m=(0,i.useState)(0),y=(0,r.Z)(m,2),Z=y[0],C=y[1],S=(0,i.useState)(!0),N=(0,r.Z)(S,2),I=N[0],E=N[1],D=(0,i.useState)(!1),k=(0,r.Z)(D,2),_=k[0],P=k[1];return(0,i.useEffect)((function(){I&&b.h.admin.adminInfo({defaultOnly:!0}).then((function(e){var n,t=null===(n=e.data.servers)||void 0===n?void 0:n.length;if(h(t||0),e.data.servers&&e.data.servers.length>0){f(e.data.servers[0].version||"N/A");var r=e.data.servers.reduce((function(e,n){return e+(n.drives?n.drives.length:0)}),0);C(r)}E(!1)})).catch((function(){E(!1)}))}),[I]),(0,w.jsxs)(v.ZP,{item:!0,xs:12,children:[(0,w.jsx)(v.ZP,{item:!0,xs:12,className:o.titleBar,children:n}),(0,w.jsxs)(v.ZP,{item:!0,xs:12,children:[(0,w.jsxs)(v.ZP,{item:!0,xs:12,className:o.optionsContainer,children:[(0,w.jsx)(v.ZP,{container:!0,className:o.divisorContainer,children:I?(0,w.jsx)(i.Fragment,{children:(0,w.jsx)(v.ZP,{item:!0,xs:12,className:o.loaderAlign,children:(0,w.jsx)(d.aNw,{style:{width:25,height:25}})})}):(0,w.jsxs)(i.Fragment,{children:[(0,w.jsxs)(v.ZP,{item:!0,xs:12,md:4,className:o.serversData,children:[(0,w.jsx)(d.FU8,{})," ",(0,w.jsx)("strong",{children:p}),"\xa0nodes,\xa0",(0,w.jsx)("strong",{children:Z}),"\xa0 drives"]}),(0,w.jsxs)(v.ZP,{item:!0,xs:12,md:4,className:o.minioVersionContainer,children:[(0,w.jsx)("span",{className:o.versionIcon,children:(0,w.jsx)(d.Dbk,{})})," ","MinIO VERSION\xa0",(0,w.jsx)("strong",{children:u})]}),(0,w.jsx)(v.ZP,{item:!0,xs:12,md:4,className:o.advancedContainer,children:s&&(0,w.jsxs)("button",{onClick:function(){P(!_)},className:o.advancedConfiguration,children:["Advanced configurations"," ",(0,w.jsx)("span",{className:_?o.advancedOpen:o.advancedClosed,children:(0,w.jsx)(j.Z,{})})]})})]})}),a&&(0,w.jsx)(v.ZP,{xs:12,className:"".concat(o.advancedContent," ").concat(_?"open":""),children:a})]}),t]})]})})),Z=t(87995),C=t(12808),S=t(31460),N=t(47974),I=t(9478),E=t(99670),D=(0,p.Z)((function(e){return(0,g.Z)((0,o.Z)((0,o.Z)({loading:{paddingTop:8,paddingLeft:40},buttons:{justifyContent:"flex-start",gap:20},localMessage:{fontSize:24,color:"#07193E",fontWeight:"bold",textAlign:"center",marginBottom:20},progressResult:{textAlign:"center",marginBottom:25},startDiagnostic:{display:"flex",justifyContent:"flex-end",margin:25,marginBottom:0},startDiagnosticCenter:{textAlign:"center",marginTop:0}},m.OR),m.Bz))}))((function(e){var n=e.classes,t=(0,a.TL)(),o=(0,l.s0)(),g=(0,c.v9)((function(e){return e.healthInfo.message})),p=(0,c.v9)((function(e){return e.system.serverDiagnosticStatus})),m=(0,i.useState)(!1),v=(0,r.Z)(m,2),j=v[0],b=v[1],D=(0,i.useState)(!0),k=(0,r.Z)(D,2),_=k[0],P=k[1],R=(0,i.useState)(""),A=(0,r.Z)(R,2),F=A[0],O=A[1],z=(0,i.useState)("Start Diagnostic"),H=(0,r.Z)(z,2),B=H[0],L=H[1],M=(0,i.useState)("New Diagnostic"),T=(0,r.Z)(M,2),V=T[0],W=T[1],K=(0,i.useState)(""),U=(0,r.Z)(K,2),Y=U[0],X=U[1],G=(0,i.useState)(""),q=(0,r.Z)(G,2),J=q[0],Q=q[1],$=(0,I.Yc)();(0,i.useEffect)((function(){return p===x?(W("Diagnostic in progress..."),void O("Diagnostic started. Please do not refresh page during diagnosis.")):p===f?(W("Diagnostic complete"),O("Diagnostic file is ready to be downloaded."),void L("Start New Diagnostic")):p===u?(W("Error"),O("An error occurred while getting the Diagnostic file."),void L("Retry Diagnostic")):void 0}),[p,j]),(0,i.useEffect)((function(){p===f&&g!=={}&&P(!1),p===x&&P(!0),b(!1)}),[p,g]),(0,i.useEffect)((function(){if(j){t((0,C.Xp)()),X("");var e=new URL(window.location.toString()),n=e.port,r=(0,h.x2)(e.protocol),o=new URL(document.baseURI).pathname,i=new s.w3cwebsocket("".concat(r,"://").concat(e.hostname,":").concat(n).concat(o,"ws/health-info?deadline=1h")),a=null;null!==i&&(i.onopen=function(){console.log("WebSocket Client Connected"),i.send("ok"),a=setInterval((function(){i.send("ok")}),1e4),O("Diagnostic started. Please do not refresh page during diagnosis."),t((0,Z.KY)(x))},i.onmessage=function(e){var n=JSON.parse(e.data.toString());n.serverHealthInfo&&(n.serverHealthInfo.timestamp=new Date(n.serverHealthInfo.timestamp.toString()),t((0,C.ec)(n.serverHealthInfo))),""!==n.encoded&&X(n.encoded),n.subnetResponse&&Q(n.subnetResponse)},i.onerror=function(e){console.log("error closing websocket:",e.message),i.close(1e3),clearInterval(a),t((0,Z.KY)(u))},i.onclose=function(e){clearInterval(a),e.code===h.HE||e.code===h.ci||e.code===h.V9?(console.log("connection closed by server with code:",e.code),O("An error occurred while getting the Diagnostic file."),t((0,Z.KY)(u))):(console.log("connection closed by server"),O("Diagnostic file is ready to be downloaded."),t((0,Z.KY)(f)))})}else b(!1)}),[j,t]);return(0,i.useEffect)((function(){t((0,Z.Sc)("health_info"))}),[t]),(0,w.jsxs)(i.Fragment,{children:[(0,w.jsx)(N.Z,{label:"Health",actions:(0,w.jsx)(E.Z,{})}),(0,w.jsxs)(d.Xgh,{children:[!$&&(0,w.jsx)(S.Z,{compactMode:!0}),(0,w.jsx)(d.rjZ,{item:!0,xs:12,className:n.boxy,children:(0,w.jsx)(y,{title:V,advancedVisible:!1,children:(0,w.jsx)(d.rjZ,{container:!0,className:n.buttons,children:(0,w.jsxs)(d.rjZ,{item:!0,xs:12,className:n.progressResult,children:[(0,w.jsx)("div",{className:n.localMessage,children:F}),(0,w.jsxs)("div",{className:n.progressResult,children:[" ",""!==J&&!J.toLowerCase().includes("error")&&(0,w.jsxs)(d.rjZ,{item:!0,xs:12,className:n.serversData,children:[(0,w.jsx)("strong",{children:"Health report uploaded to Subnet successfully!"}),"\xa0"," ",(0,w.jsxs)("strong",{children:["See the results on your"," ",(0,w.jsx)("a",{href:J,children:"Subnet Dashboard"})," "]})]}),(""===J||J.toLowerCase().includes("error"))&&p===f&&(0,w.jsxs)(d.rjZ,{item:!0,xs:12,className:n.serversData,children:[(0,w.jsx)("strong",{children:"Something went wrong uploading your Health report to Subnet."}),"\xa0"," ",(0,w.jsxs)("strong",{children:["Log into your"," ",(0,w.jsx)("a",{href:"https://subnet.min.io",children:"Subnet Account"})," to manually upload your Health report."]})]})]}),p===x?(0,w.jsx)("div",{className:n.loading,children:(0,w.jsx)(d.aNw,{style:{width:25,height:25}})}):(0,w.jsx)(i.Fragment,{children:(0,w.jsxs)(d.xuv,{sx:{display:"flex",gap:10,alignItems:"center",justifyContent:"center"},children:[(0,w.jsx)(d.xuv,{children:p!==u&&!_&&(0,w.jsx)(d.zxk,{id:"download",type:"submit",variant:"callAction",onClick:function(){return function(){var e=document.createElement("a");e.setAttribute("href","data:application/gzip;base64,".concat(Y)),e.setAttribute("download","diagnostic.json.gz"),e.style.display="none",document.body.appendChild(e),e.click(),document.body.removeChild(e)}()},disabled:_,label:"Download"})}),(0,w.jsx)(d.xuv,{children:(0,w.jsx)(d.zxk,{id:"start-new-diagnostic",type:"submit",variant:$?"callAction":"regular",disabled:j,onClick:function(){$?b(!0):o("/support/register")},label:B})})]})})]},"start-download")})})}),!j&&$&&(0,w.jsxs)(i.Fragment,{children:[(0,w.jsx)("br",{}),(0,w.jsx)(d.KfX,{title:"Cluster Health Report will be uploaded to Subnet, and is viewable from your Subnet Diagnostics dashboard.",iconComponent:(0,w.jsx)(d.szr,{}),help:"If the Health report cannot be generated at this time, please wait a moment and try again."})]})]})]})}))},31460:function(e,n,t){"use strict";var r=t(72791),o=t(57689),i=t(64554),s=t(29945),a=t(80184);n.Z=function(e){var n=e.compactMode,t=void 0!==n&&n,c=(0,o.s0)(),l=(0,a.jsx)(s.zxk,{id:"go-to-register",type:"submit",variant:"callAction",color:"primary",onClick:function(){return c("/support/register")},children:"Register your Cluster"}),d="Use your MinIO Subscription Network login credentials to register this cluster.";return t?(0,a.jsxs)(r.Fragment,{children:[(0,a.jsx)(s.rjZ,{sx:{"& div.leftItems":{marginBottom:0}},children:(0,a.jsx)(s.KfX,{title:(0,a.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",flexGrow:1},children:[(0,a.jsx)("span",{children:d})," ",l]}),iconComponent:(0,a.jsx)(s.e6P,{}),help:(0,a.jsx)(r.Fragment,{})})}),(0,a.jsx)("br",{})]}):(0,a.jsx)(i.Z,{sx:{padding:"25px",border:"1px solid #eaeaea",display:"flex",alignItems:"center",justifyContent:"center",flexFlow:{sm:"row",xs:"column"},marginBottom:"15px"},children:(0,a.jsxs)(s.rjZ,{container:!0,children:[(0,a.jsx)(s.rjZ,{item:!0,xs:12,children:(0,a.jsx)(i.Z,{sx:{marginRight:"8px",fontSize:"16px",fontWeight:600,display:"flex",alignItems:"center","& .min-icon":{width:"83px",height:"14px",marginLeft:"5px",marginRight:"5px"}},children:"Register your cluster"})}),(0,a.jsx)(s.rjZ,{item:!0,xs:12,children:(0,a.jsx)(i.Z,{sx:{display:"flex",flexFlow:{xs:"column",md:"row"}},children:(0,a.jsxs)(i.Z,{sx:{display:"flex",flexFlow:"column",flex:"2"},children:[(0,a.jsx)(i.Z,{sx:{fontSize:"16px",display:"flex",flexFlow:"column",marginTop:"15px",marginBottom:"15px"},children:d}),(0,a.jsx)(i.Z,{sx:{flex:"1"},children:(0,a.jsx)(i.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"},children:l})})]})})})]})})}},26824:function(e,n,t){"use strict";t.d(n,{HE:function(){return i},V9:function(){return r},ci:function(){return o},x2:function(){return s}});var r=1006,o=1008,i=1011,s=function(e){var n="ws";return"https:"===e&&(n="wss"),n}},93385:function(e,n,t){"use strict";var r=t(64836);n.Z=void 0;var o=r(t(45649)),i=t(80184),s=(0,o.default)((0,i.jsx)("path",{d:"M6.23 20.23 8 22l10-10L8 2 6.23 3.77 14.46 12z"}),"ArrowForwardIos");n.Z=s},45649:function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return r.createSvgIcon}});var r=t(28610)},31260:function(e,n,t){"use strict";var r=t(78949);n.Z=r.Z},28610:function(e,n,t){"use strict";t.r(n),t.d(n,{capitalize:function(){return o.Z},createChainedFunction:function(){return i.Z},createSvgIcon:function(){return s.Z},debounce:function(){return a.Z},deprecatedPropType:function(){return c},isMuiElement:function(){return l.Z},ownerDocument:function(){return d.Z},ownerWindow:function(){return u.Z},requirePropFactory:function(){return f},setRef:function(){return x},unstable_ClassNameGenerator:function(){return w},unstable_useEnhancedEffect:function(){return g.Z},unstable_useId:function(){return p.Z},unsupportedProp:function(){return h},useControlled:function(){return m.Z},useEventCallback:function(){return v.Z},useForkRef:function(){return j.Z},useIsFocusVisible:function(){return b.Z}});var r=t(55902),o=t(14036),i=t(31260),s=t(76189),a=t(83199);var c=function(e,n){return function(){return null}},l=t(19103),d=t(98301),u=t(17602);t(87462);var f=function(e,n){return function(){return null}},x=t(62971).Z,g=t(40162),p=t(67384);var h=function(e,n,t,r,o){return null},m=t(98278),v=t(89683),j=t(42071),b=t(23031),w={configure:function(e){r.Z.configure(e)}}},19103:function(e,n,t){"use strict";t.d(n,{Z:function(){return o}});var r=t(72791);var o=function(e,n){return r.isValidElement(e)&&-1!==n.indexOf(e.type.muiName)}},78949:function(e,n,t){"use strict";function r(){for(var e=arguments.length,n=new Array(e),t=0;t.\n\nexport const DiagStatError = \"error\";\nexport const DiagStatSuccess = \"success\";\nexport const DiagStatInProgress = \"inProgress\";\n\nexport interface HealthInfoMessage {\n timestamp: Date;\n error: string;\n perf: perfInfo;\n minio: minioHealthInfo;\n sys: sysHealthInfo;\n}\n\nexport interface ReportMessage {\n encoded: string;\n serverHealthInfo: HealthInfoMessage;\n subnetResponse: string;\n}\n\nexport interface perfInfo {\n drives: serverDrivesInfo[];\n net: serverNetHealthInfo[];\n net_parallel: serverNetHealthInfo;\n error: string;\n}\n\nexport interface serverDrivesInfo {\n addr: string;\n serial: drivePerfInfo[];\n parallel: drivePerfInfo[];\n error: string;\n}\n\nexport interface drivePerfInfo {\n endpoint: string;\n latency: diskLatency;\n throughput: diskThroughput;\n error: string;\n}\n\nexport interface diskLatency {\n avg_secs: number;\n percentile50_secs: number;\n percentile90_secs: number;\n percentile99_secs: number;\n min_secs: number;\n max_secs: number;\n}\n\nexport interface diskThroughput {\n avg_bytes_per_sec: number;\n percentile50_bytes_per_sec: number;\n percentile90_bytes_per_sec: number;\n percentile99_bytes_per_sec: number;\n min_bytes_per_sec: number;\n max_bytes_per_sec: number;\n}\n\nexport interface serverNetHealthInfo {\n addr: string;\n net: netPerfInfo[];\n error: string;\n}\n\nexport interface netPerfInfo {\n remote: string;\n latency: netLatency;\n throughput: netThroughput;\n error: string;\n}\n\nexport interface netLatency {\n avg_secs: number;\n percentile50_secs: number;\n percentile90_secs: number;\n percentile99_secs: number;\n min_secs: number;\n max_secs: number;\n}\n\nexport interface netThroughput {\n avg_bytes_per_sec: number;\n percentile50_bytes_per_sec: number;\n percentile90_bytes_per_sec: number;\n percentile99_bytes_per_sec: number;\n min_bytes_per_sec: number;\n max_bytes_per_sec: number;\n}\n\nexport interface minioHealthInfo {\n info: infoMessage;\n config: any;\n error: string;\n}\n\nexport interface infoMessage {\n mode: string;\n domain: string[];\n region: string;\n sqsARN: string[];\n deploymentID: string;\n buckets: buckets;\n objects: objects;\n usage: usage;\n services: services;\n backend: any;\n servers: serverProperties[];\n}\n\nexport interface buckets {\n count: number;\n}\n\nexport interface objects {\n count: number;\n}\n\nexport interface usage {\n size: number;\n}\n\nexport interface services {\n vault: vault;\n ldap: ldap;\n logger: Map[];\n audit: Map[];\n notifications: Map[]>;\n}\n\nexport interface vault {\n status: string;\n encrypt: string;\n decrypt: string;\n}\n\nexport interface ldap {\n status: string;\n}\n\nexport interface status {\n status: string;\n}\n\nexport interface serverProperties {\n state: string;\n endpoint: string;\n uptime: number;\n version: string;\n commitID: string;\n network: Map;\n drives: disk[];\n}\n\nexport interface disk {\n endpoint: string;\n rootDisk: boolean;\n path: string;\n healing: boolean;\n state: string;\n uuid: string;\n model: string;\n totalspace: number;\n usedspace: number;\n availspace: number;\n readthroughput: number;\n writethroughput: number;\n readlatency: number;\n writelatency: number;\n utilization: number;\n}\n\nexport interface sysHealthInfo {\n cpus: serverCpuInfo[];\n drives: serverDiskHwInfo[];\n osinfos: serverOsInfo[];\n meminfos: serverMemInfo[];\n procinfos: serverProcInfo[];\n error: string;\n}\n\nexport interface serverCpuInfo {\n addr: string;\n cpu: cpuInfoStat[];\n time: cpuTimeStat[];\n error: string;\n}\n\nexport interface cpuInfoStat {\n cpu: number;\n vendorId: string;\n family: string;\n model: string;\n stepping: number;\n physicalId: string;\n coreId: string;\n cores: number;\n modelName: string;\n mhz: number;\n cacheSize: number;\n flags: string[];\n microcode: string;\n}\n\nexport interface cpuTimeStat {\n cpu: string;\n user: number;\n system: number;\n idle: number;\n nice: number;\n iowait: number;\n irq: number;\n softirq: number;\n steal: number;\n guest: number;\n guestNice: number;\n}\n\nexport interface serverDiskHwInfo {\n addr: string;\n usages: diskUsageStat[];\n partitions: partitionStat[];\n counters: Map;\n error: string;\n}\n\nexport interface diskUsageStat {\n path: string;\n fstype: string;\n total: number;\n free: number;\n used: number;\n usedPercent: number;\n inodesTotal: number;\n inodesUsed: number;\n inodesFree: number;\n inodesUsedPercent: number;\n}\n\nexport interface partitionStat {\n device: string;\n mountpoint: string;\n fstype: string;\n opts: string;\n smartInfo: smartInfo;\n}\n\nexport interface smartInfo {\n device: string;\n scsi: scsiInfo;\n nvme: nvmeInfo;\n ata: ataInfo;\n error: string;\n}\n\nexport interface scsiInfo {\n scsiCapacityBytes: number;\n scsiModeSenseBuf: string;\n scsirespLen: number;\n scsiBdLen: number;\n scsiOffset: number;\n sciRpm: number;\n}\n\nexport interface nvmeInfo {\n serialNum: string;\n vendorId: string;\n firmwareVersion: string;\n modelNum: string;\n spareAvailable: string;\n spareThreshold: string;\n temperature: string;\n criticalWarning: string;\n maxDataTransferPages: number;\n controllerBusyTime: number;\n powerOnHours: number;\n powerCycles: number;\n unsafeShutdowns: number;\n mediaAndDataIntgerityErrors: number;\n dataUnitsReadBytes: number;\n dataUnitsWrittenBytes: number;\n hostReadCommands: number;\n hostWriteCommands: number;\n}\n\nexport interface ataInfo {\n scsiLuWWNDeviceID: string;\n serialNum: string;\n modelNum: string;\n firmwareRevision: string;\n RotationRate: string;\n MajorVersion: string;\n MinorVersion: string;\n smartSupportAvailable: boolean;\n smartSupportEnabled: boolean;\n smartErrorLog: string;\n transport: string;\n}\n\nexport interface diskIOCountersStat {\n readCount: number;\n mergedReadCount: number;\n DriteCount: number;\n mergedWriteCount: number;\n readBytes: number;\n writeBytes: number;\n readTime: number;\n writeTime: number;\n iopsInProgress: number;\n ioTime: number;\n weightedIO: number;\n name: string;\n serialNumber: string;\n label: string;\n}\n\nexport interface serverOsInfo {\n addr: string;\n info: infoStat;\n sensors: temperatureStat[];\n users: userStat[];\n error: string;\n}\n\nexport interface infoStat {\n hostname: string;\n uptime: number;\n bootTime: number;\n procs: number;\n os: string;\n platform: string;\n platformFamily: string;\n platformVersion: string;\n kernelVersion: string;\n kernelArch: string;\n virtualizationSystem: string;\n virtualizationRole: string;\n hostid: string;\n}\n\nexport interface temperatureStat {\n sensorKey: string;\n sensorTemperature: number;\n}\n\nexport interface userStat {\n user: string;\n terminal: string;\n host: string;\n started: number;\n}\n\nexport interface serverMemInfo {\n addr: string;\n swap: swapMemoryStat;\n virtualmem: virtualMemoryStat;\n error: string;\n}\n\nexport interface swapMemoryStat {\n total: number;\n used: number;\n free: number;\n usedPercent: number;\n sin: number;\n sout: number;\n pgin: number;\n pgout: number;\n pgfault: number;\n pgmajfault: number;\n}\n\nexport interface virtualMemoryStat {\n total: number;\n available: number;\n used: number;\n usedPercent: number;\n free: number;\n active: number;\n inactive: number;\n wired: number;\n laundry: number;\n buffers: number;\n cached: number;\n writeback: number;\n dirty: number;\n writebacktmp: number;\n shared: number;\n slab: number;\n sreclaimable: number;\n sunreclaim: number;\n pagetables: number;\n swapcached: number;\n commitlimit: number;\n committedas: number;\n hightotal: number;\n highfree: number;\n lowtotal: number;\n lowfree: number;\n swaptotal: number;\n swapfree: number;\n mapped: number;\n vmalloctotal: number;\n vmallocused: number;\n vmallocchunk: number;\n hugepagestotal: number;\n hugepagesfree: number;\n hugepagesize: number;\n}\n\nexport interface serverProcInfo {\n addr: string;\n processes: sysProcess[];\n error: string;\n}\n\nexport interface sysProcess {\n pid: number;\n background: boolean;\n cpupercent: number;\n children: number[];\n cmd: string;\n connections: nethwConnectionStat[];\n createtime: number;\n cwd: string;\n exe: string;\n gids: number[];\n iocounters: processIOCountersStat;\n isrunning: boolean;\n meminfo: memoryInfoStat;\n memmaps: any[];\n mempercent: number;\n name: string;\n netiocounters: nethwIOCounterStat[];\n nice: number;\n numctxswitches: processNmCtxSwitchesStat;\n numfds: number;\n numthreads: number;\n pagefaults: processPageFaultsStat;\n parent: number;\n ppid: number;\n rlimit: processRLimitStat[];\n status: string;\n tgid: number;\n cputimes: cpuTimeStat;\n uids: number[];\n username: string;\n}\n\nexport interface nethwConnectionStat {\n fd: number;\n family: number;\n type: number;\n localaddr: netAddr;\n remoteaddr: netAddr;\n status: string;\n uids: number[];\n pid: number;\n}\n\nexport interface netAddr {\n ip: string;\n port: number;\n}\n\nexport interface processIOCountersStat {\n readCount: number;\n writeCount: number;\n readBytes: number;\n writeBytes: number;\n}\n\nexport interface memoryInfoStat {\n rss: number;\n vms: number;\n hwm: number;\n data: number;\n stack: number;\n locked: number;\n swap: number;\n}\n\nexport interface nethwIOCounterStat {\n name: string;\n bytesSent: number;\n bytesRecv: number;\n packetsSent: number;\n packetsRecv: number;\n errin: number;\n errout: number;\n dropin: number;\n dropout: number;\n fifoin: number;\n fifoout: number;\n}\n\nexport interface processNmCtxSwitchesStat {\n voluntary: number;\n involuntary: number;\n}\n\nexport interface processPageFaultsStat {\n minorFaults: number;\n majorFaults: number;\n childMinorFaults: number;\n childMajorFaults: number;\n}\n\nexport interface processRLimitStat {\n resource: number;\n soft: number;\n hard: number;\n used: number;\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, { Fragment, useEffect, useState } 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\";\nimport ArrowForwardIosIcon from \"@mui/icons-material/ArrowForwardIos\";\nimport { DrivesIcon, Loader, VersionIcon } from \"mds\";\nimport { api } from \"api\";\nimport { ServerProperties } from \"api/consoleApi\";\n\ninterface ITestWrapper {\n title: any;\n children: any;\n classes: any;\n advancedVisible: boolean;\n advancedContent?: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n titleBar: {\n borderBottom: \"#E5E5E5 1px solid\",\n padding: \"30px 25px\",\n fontSize: 20,\n color: \"#07193E\",\n fontWeight: \"bold\",\n borderRadius: \"10px 10px 0px 0px\",\n paddingTop: 0,\n },\n divisorContainer: {\n padding: 25,\n },\n serversData: {\n color: \"#07193E\",\n fontSize: 18,\n display: \"flex\",\n alignItems: \"center\",\n \"& svg\": {\n marginRight: 10,\n },\n },\n minioVersionContainer: {\n fontSize: 12,\n color: \"#07193E\",\n justifyContent: \"center\",\n alignSelf: \"center\",\n alignItems: \"center\",\n display: \"flex\",\n },\n versionIcon: {\n color: \"#07193E\",\n marginRight: 20,\n },\n loaderAlign: {\n textAlign: \"center\",\n },\n advancedContainer: {\n justifyContent: \"flex-end\",\n display: \"flex\",\n },\n optionsContainer: {\n padding: 0,\n marginBottom: 25,\n },\n advancedConfiguration: {\n color: \"#2781B0\",\n fontSize: 10,\n textDecoration: \"underline\",\n border: \"none\",\n backgroundColor: \"transparent\",\n cursor: \"pointer\",\n alignItems: \"center\",\n display: \"flex\",\n\n \"&:hover\": {\n color: \"#07193E\",\n },\n\n \"& svg\": {\n width: 10,\n alignSelf: \"center\",\n marginLeft: 5,\n },\n },\n advancedOpen: {\n transform: \"rotateZ(-90deg) translateX(-4px) translateY(2px)\",\n },\n advancedClosed: {\n transform: \"rotateZ(90deg)\",\n },\n advancedContent: {\n backgroundColor: \"#F5F7F9\",\n maxHeight: 0,\n transitionDuration: \"0.3s\",\n overflow: \"hidden\",\n padding: \"0 15px\",\n \"&.open\": {\n maxHeight: 400,\n padding: 15,\n },\n },\n });\n\nconst TestWrapper = ({\n title,\n children,\n classes,\n advancedVisible,\n advancedContent,\n}: ITestWrapper) => {\n const [version, setVersion] = useState(\"N/A\");\n const [totalNodes, setTotalNodes] = useState(0);\n const [totalDrives, setTotalDrives] = useState(0);\n const [loading, setLoading] = useState(true);\n const [advancedOpen, setAdvancedOpen] = useState(false);\n\n useEffect(() => {\n if (loading) {\n api.admin\n .adminInfo({\n defaultOnly: true,\n })\n .then((res) => {\n const totalServers = res.data.servers?.length;\n setTotalNodes(totalServers || 0);\n\n if (res.data.servers && res.data.servers.length > 0) {\n setVersion(res.data.servers[0].version || \"N/A\");\n\n const totalServers = res.data.servers.reduce(\n (prevTotal: number, currentElement: ServerProperties) => {\n let c = currentElement.drives\n ? currentElement.drives.length\n : 0;\n return prevTotal + c;\n },\n 0,\n );\n setTotalDrives(totalServers);\n }\n\n setLoading(false);\n })\n .catch(() => {\n setLoading(false);\n });\n }\n }, [loading]);\n\n return (\n \n \n {title}\n \n \n \n \n {!loading ? (\n \n \n {totalNodes}\n  nodes, \n {totalDrives}  drives\n \n \n \n \n {\" \"}\n MinIO VERSION {version}\n \n \n {advancedVisible && (\n {\n setAdvancedOpen(!advancedOpen);\n }}\n className={classes.advancedConfiguration}\n >\n Advanced configurations{\" \"}\n \n \n \n \n )}\n \n \n ) : (\n \n \n \n \n \n )}\n \n {advancedContent && (\n \n {advancedContent}\n \n )}\n \n {children}\n \n \n );\n};\n\nexport default withStyles(styles)(TestWrapper);\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, { Fragment, useEffect, useState } from \"react\";\n\nimport {\n ICloseEvent,\n IMessageEvent,\n w3cwebsocket as W3CWebSocket,\n} from \"websocket\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { useSelector } from \"react-redux\";\nimport { useNavigate } from \"react-router-dom\";\nimport { Box, Button, Grid, HelpBox, InfoIcon, Loader, PageLayout } from \"mds\";\nimport {\n DiagStatError,\n DiagStatInProgress,\n DiagStatSuccess,\n HealthInfoMessage,\n ReportMessage,\n} from \"./types\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n WSCloseAbnormalClosure,\n WSCloseInternalServerErr,\n WSClosePolicyViolation,\n wsProtocol,\n} from \"../../../utils/wsUtils\";\nimport {\n actionsTray,\n containerForHeader,\n} from \"../Common/FormComponents/common/styleLibrary\";\n\nimport TestWrapper from \"../Common/TestWrapper/TestWrapper\";\nimport { setHelpName, setServerDiagStat } from \"../../../systemSlice\";\nimport {\n healthInfoMessageReceived,\n healthInfoResetMessage,\n} from \"./healthInfoSlice\";\nimport RegisterCluster from \"../Support/RegisterCluster\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport { registeredCluster } from \"../../../config\";\nimport HelpMenu from \"../HelpMenu\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n loading: {\n paddingTop: 8,\n paddingLeft: 40,\n },\n buttons: {\n justifyContent: \"flex-start\",\n gap: 20,\n },\n localMessage: {\n fontSize: 24,\n color: \"#07193E\",\n fontWeight: \"bold\",\n textAlign: \"center\",\n marginBottom: 20,\n },\n progressResult: {\n textAlign: \"center\",\n marginBottom: 25,\n },\n startDiagnostic: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n margin: 25,\n marginBottom: 0,\n },\n startDiagnosticCenter: {\n textAlign: \"center\",\n marginTop: 0,\n },\n ...actionsTray,\n ...containerForHeader,\n });\n\ninterface IHealthInfo {\n classes: any;\n}\n\nconst HealthInfo = ({ classes }: IHealthInfo) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const message = useSelector((state: AppState) => state.healthInfo.message);\n\n const serverDiagnosticStatus = useSelector(\n (state: AppState) => state.system.serverDiagnosticStatus,\n );\n const [startDiagnostic, setStartDiagnostic] = useState(false);\n\n const [downloadDisabled, setDownloadDisabled] = useState(true);\n const [localMessage, setMessage] = useState(\"\");\n const [buttonStartText, setButtonStartText] =\n useState(\"Start Diagnostic\");\n const [title, setTitle] = useState(\"New Diagnostic\");\n const [diagFileContent, setDiagFileContent] = useState(\"\");\n const [subnetResponse, setSubnetResponse] = useState(\"\");\n const clusterRegistered = registeredCluster();\n\n const download = () => {\n let element = document.createElement(\"a\");\n element.setAttribute(\n \"href\",\n `data:application/gzip;base64,${diagFileContent}`,\n );\n element.setAttribute(\"download\", \"diagnostic.json.gz\");\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n\n document.body.removeChild(element);\n };\n\n useEffect(() => {\n if (serverDiagnosticStatus === DiagStatInProgress) {\n setTitle(\"Diagnostic in progress...\");\n setMessage(\n \"Diagnostic started. Please do not refresh page during diagnosis.\",\n );\n return;\n }\n\n if (serverDiagnosticStatus === DiagStatSuccess) {\n setTitle(\"Diagnostic complete\");\n setMessage(\"Diagnostic file is ready to be downloaded.\");\n setButtonStartText(\"Start New Diagnostic\");\n return;\n }\n\n if (serverDiagnosticStatus === DiagStatError) {\n setTitle(\"Error\");\n setMessage(\"An error occurred while getting the Diagnostic file.\");\n setButtonStartText(\"Retry Diagnostic\");\n return;\n }\n }, [serverDiagnosticStatus, startDiagnostic]);\n\n useEffect(() => {\n if (\n serverDiagnosticStatus === DiagStatSuccess &&\n message !== ({} as HealthInfoMessage)\n ) {\n // Allow download of diagnostics file only when\n // it succeded fetching all the results and info is not empty.\n setDownloadDisabled(false);\n }\n if (serverDiagnosticStatus === DiagStatInProgress) {\n // Disable Start Diagnotic and Disable Download buttons\n // if a Diagnosis is in progress.\n setDownloadDisabled(true);\n }\n setStartDiagnostic(false);\n }, [serverDiagnosticStatus, message]);\n\n useEffect(() => {\n if (startDiagnostic) {\n dispatch(healthInfoResetMessage());\n setDiagFileContent(\"\");\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 const wsProt = wsProtocol(url.protocol);\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 c = new W3CWebSocket(\n `${wsProt}://${url.hostname}:${port}${baseUrl}ws/health-info?deadline=1h`,\n );\n let interval: any | null = null;\n if (c !== null) {\n c.onopen = () => {\n console.log(\"WebSocket Client Connected\");\n c.send(\"ok\");\n interval = setInterval(() => {\n c.send(\"ok\");\n }, 10 * 1000);\n setMessage(\n \"Diagnostic started. Please do not refresh page during diagnosis.\",\n );\n dispatch(setServerDiagStat(DiagStatInProgress));\n };\n c.onmessage = (message: IMessageEvent) => {\n let m: ReportMessage = JSON.parse(message.data.toString());\n if (m.serverHealthInfo) {\n m.serverHealthInfo.timestamp = new Date(\n m.serverHealthInfo.timestamp.toString(),\n );\n dispatch(healthInfoMessageReceived(m.serverHealthInfo));\n }\n if (m.encoded !== \"\") {\n setDiagFileContent(m.encoded);\n }\n if (m.subnetResponse) {\n setSubnetResponse(m.subnetResponse);\n }\n };\n c.onerror = (error: Error) => {\n console.log(\"error closing websocket:\", error.message);\n c.close(1000);\n clearInterval(interval);\n dispatch(setServerDiagStat(DiagStatError));\n };\n c.onclose = (event: ICloseEvent) => {\n clearInterval(interval);\n if (\n event.code === WSCloseInternalServerErr ||\n event.code === WSClosePolicyViolation ||\n event.code === WSCloseAbnormalClosure\n ) {\n // handle close with error\n console.log(\"connection closed by server with code:\", event.code);\n setMessage(\"An error occurred while getting the Diagnostic file.\");\n dispatch(setServerDiagStat(DiagStatError));\n } else {\n console.log(\"connection closed by server\");\n\n setMessage(\"Diagnostic file is ready to be downloaded.\");\n dispatch(setServerDiagStat(DiagStatSuccess));\n }\n };\n }\n } else {\n // reset start status\n setStartDiagnostic(false);\n }\n }, [startDiagnostic, dispatch]);\n\n const startDiagnosticAction = () => {\n if (!clusterRegistered) {\n navigate(\"/support/register\");\n return;\n }\n setStartDiagnostic(true);\n };\n\n useEffect(() => {\n dispatch(setHelpName(\"health_info\"));\n }, [dispatch]);\n\n return (\n \n } />\n\n \n {!clusterRegistered && }\n \n \n \n \n
    {localMessage}
    \n
    \n {\" \"}\n {subnetResponse !== \"\" &&\n !subnetResponse.toLowerCase().includes(\"error\") && (\n \n \n Health report uploaded to Subnet successfully!\n \n  {\" \"}\n \n See the results on your{\" \"}\n Subnet Dashboard{\" \"}\n \n \n )}\n {(subnetResponse === \"\" ||\n subnetResponse.toLowerCase().includes(\"error\")) &&\n serverDiagnosticStatus === DiagStatSuccess && (\n \n \n Something went wrong uploading your Health report to\n Subnet.\n \n  {\" \"}\n \n Log into your{\" \"}\n Subnet Account to\n manually upload your Health report.\n \n \n )}\n
    \n {serverDiagnosticStatus === DiagStatInProgress ? (\n
    \n \n
    \n ) : (\n \n \n \n {serverDiagnosticStatus !== DiagStatError &&\n !downloadDisabled && (\n download()}\n disabled={downloadDisabled}\n label={\"Download\"}\n />\n )}\n \n \n \n \n \n \n )}\n
    \n
    \n \n \n {!startDiagnostic && clusterRegistered && (\n \n
    \n }\n help={\n \"If the Health report cannot be generated at this time, please wait a moment and try again.\"\n }\n />\n
    \n )}\n
    \n
    \n );\n};\n\nexport default withStyles(styles)(HealthInfo);\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 { useNavigate } from \"react-router-dom\";\nimport { Box } from \"@mui/material\";\nimport { Button, Grid, HelpBox, WarnIcon } from \"mds\";\n\ninterface IRegisterCluster {\n compactMode?: boolean;\n}\n\nconst RegisterCluster = ({ compactMode = false }: IRegisterCluster) => {\n const navigate = useNavigate();\n\n const redirectButton = (\n navigate(\"/support/register\")}\n >\n Register your Cluster\n \n );\n\n const registerMessage =\n \"Use your MinIO Subscription Network login credentials to register this cluster.\";\n\n if (compactMode) {\n return (\n \n \n \n {registerMessage} {redirectButton}\n \n }\n iconComponent={}\n help={}\n />\n \n
    \n
    \n );\n }\n\n return (\n \n \n \n \n Register your cluster\n \n \n \n \n \n \n {registerMessage}\n \n \n \n {redirectButton}\n \n \n \n \n \n \n \n );\n};\n\nexport default RegisterCluster;\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 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","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M6.23 20.23 8 22l10-10L8 2 6.23 3.77 14.46 12z\"\n}), 'ArrowForwardIos');\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");","import { unstable_createChainedFunction as createChainedFunction } from '@mui/utils';\nexport default createChainedFunction;","import { unstable_deprecatedPropType as deprecatedPropType } from '@mui/utils';\nexport default deprecatedPropType;","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return (props, propName, componentName, location, propFullName) => {\n const componentNameSafe = componentName || '<>';\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The ${location} \\`${propFullNameSafe}\\` of ` + `\\`${componentNameSafe}\\` is deprecated. ${reason}`);\n }\n return null;\n };\n}","import { unstable_requirePropFactory as requirePropFactory } from '@mui/utils';\nexport default requirePropFactory;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function requirePropFactory(componentNameInError, Component) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n\n // eslint-disable-next-line react/forbid-foreign-prop-types\n const prevPropTypes = Component ? _extends({}, Component.propTypes) : null;\n const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {\n const propFullNameSafe = propFullName || propName;\n const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];\n if (defaultTypeChecker) {\n const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);\n if (typeCheckerResult) {\n return typeCheckerResult;\n }\n }\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(`The prop \\`${propFullNameSafe}\\` of ` + `\\`${componentNameInError}\\` can only be used together with the \\`${requiredProp}\\` prop.`);\n }\n return null;\n };\n return requireProp;\n}","import { unstable_setRef as setRef } from '@mui/utils';\nexport default setRef;","import { unstable_unsupportedProp as unsupportedProp } from '@mui/utils';\nexport default unsupportedProp;","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","import { unstable_ClassNameGenerator as ClassNameGenerator } from '@mui/base/className';\nexport { default as capitalize } from './capitalize';\nexport { default as createChainedFunction } from './createChainedFunction';\nexport { default as createSvgIcon } from './createSvgIcon';\nexport { default as debounce } from './debounce';\nexport { default as deprecatedPropType } from './deprecatedPropType';\nexport { default as isMuiElement } from './isMuiElement';\nexport { default as ownerDocument } from './ownerDocument';\nexport { default as ownerWindow } from './ownerWindow';\nexport { default as requirePropFactory } from './requirePropFactory';\nexport { default as setRef } from './setRef';\nexport { default as unstable_useEnhancedEffect } from './useEnhancedEffect';\nexport { default as unstable_useId } from './useId';\nexport { default as unsupportedProp } from './unsupportedProp';\nexport { default as useControlled } from './useControlled';\nexport { default as useEventCallback } from './useEventCallback';\nexport { default as useForkRef } from './useForkRef';\nexport { default as useIsFocusVisible } from './useIsFocusVisible';\n// TODO: remove this export once ClassNameGenerator is stable\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const unstable_ClassNameGenerator = {\n configure: generator => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(['MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.', '', \"You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead\", '', 'The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401', '', 'The updated documentation: https://mui.com/guides/classname-generator/'].join('\\n'));\n }\n ClassNameGenerator.configure(generator);\n }\n};","import { unstable_isMuiElement as isMuiElement } from '@mui/utils';\nexport default isMuiElement;","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf(element.type.muiName) !== -1;\n}","/**\n * Safe chained function.\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n */\nexport default function createChainedFunction(...funcs) {\n return funcs.reduce((acc, func) => {\n if (func == null) {\n return acc;\n }\n return function chainedFunction(...args) {\n acc.apply(this, args);\n func.apply(this, args);\n };\n }, () => {});\n}","var naiveFallback = function () {\n\tif (typeof self === \"object\" && self) return self;\n\tif (typeof window === \"object\" && window) return window;\n\tthrow new Error(\"Unable to resolve global `this`\");\n};\n\nmodule.exports = (function () {\n\tif (this) return this;\n\n\t// Unexpected strict mode (may happen if e.g. bundled into ESM module)\n\n\t// Fallback to standard globalThis if available\n\tif (typeof globalThis === \"object\" && globalThis) return globalThis;\n\n\t// Thanks @mathiasbynens -> https://mathiasbynens.be/notes/globalthis\n\t// In all ES5+ engines global object inherits from Object.prototype\n\t// (if you approached one that doesn't please report)\n\ttry {\n\t\tObject.defineProperty(Object.prototype, \"__global__\", {\n\t\t\tget: function () { return this; },\n\t\t\tconfigurable: true\n\t\t});\n\t} catch (error) {\n\t\t// Unfortunate case of updates to Object.prototype being restricted\n\t\t// via preventExtensions, seal or freeze\n\t\treturn naiveFallback();\n\t}\n\ttry {\n\t\t// Safari case (window.__global__ works, but __global__ does not)\n\t\tif (!__global__) return naiveFallback();\n\t\treturn __global__;\n\t} finally {\n\t\tdelete Object.prototype.__global__;\n\t}\n})();\n","var _globalThis;\nif (typeof globalThis === 'object') {\n\t_globalThis = globalThis;\n} else {\n\ttry {\n\t\t_globalThis = require('es5-ext/global');\n\t} catch (error) {\n\t} finally {\n\t\tif (!_globalThis && typeof window !== 'undefined') { _globalThis = window; }\n\t\tif (!_globalThis) { throw new Error('Could not determine global this'); }\n\t}\n}\n\nvar NativeWebSocket = _globalThis.WebSocket || _globalThis.MozWebSocket;\nvar websocket_version = require('./version');\n\n\n/**\n * Expose a W3C WebSocket class with just one or two arguments.\n */\nfunction W3CWebSocket(uri, protocols) {\n\tvar native_instance;\n\n\tif (protocols) {\n\t\tnative_instance = new NativeWebSocket(uri, protocols);\n\t}\n\telse {\n\t\tnative_instance = new NativeWebSocket(uri);\n\t}\n\n\t/**\n\t * 'native_instance' is an instance of nativeWebSocket (the browser's WebSocket\n\t * class). Since it is an Object it will be returned as it is when creating an\n\t * instance of W3CWebSocket via 'new W3CWebSocket()'.\n\t *\n\t * ECMAScript 5: http://bclary.com/2004/11/07/#a-13.2.2\n\t */\n\treturn native_instance;\n}\nif (NativeWebSocket) {\n\t['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'].forEach(function(prop) {\n\t\tObject.defineProperty(W3CWebSocket, prop, {\n\t\t\tget: function() { return NativeWebSocket[prop]; }\n\t\t});\n\t});\n}\n\n/**\n * Module exports.\n */\nmodule.exports = {\n 'w3cwebsocket' : NativeWebSocket ? W3CWebSocket : null,\n 'version' : websocket_version\n};\n","module.exports = require('../package.json').version;\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"names":["DiagStatError","DiagStatSuccess","DiagStatInProgress","withStyles","theme","createStyles","titleBar","borderBottom","padding","fontSize","color","fontWeight","borderRadius","paddingTop","divisorContainer","serversData","display","alignItems","marginRight","minioVersionContainer","justifyContent","alignSelf","versionIcon","loaderAlign","textAlign","advancedContainer","optionsContainer","marginBottom","advancedConfiguration","textDecoration","border","backgroundColor","cursor","width","marginLeft","advancedOpen","transform","advancedClosed","advancedContent","maxHeight","transitionDuration","overflow","_ref","title","children","classes","advancedVisible","_useState","useState","_useState2","_slicedToArray","version","setVersion","_useState3","_useState4","totalNodes","setTotalNodes","_useState5","_useState6","totalDrives","setTotalDrives","_useState7","_useState8","loading","setLoading","_useState9","_useState10","setAdvancedOpen","useEffect","api","admin","adminInfo","defaultOnly","then","res","_res$data$servers","totalServers","data","servers","length","reduce","prevTotal","currentElement","drives","catch","_jsxs","Grid","item","xs","_jsx","className","container","Fragment","Loader","style","height","md","DrivesIcon","VersionIcon","onClick","ArrowForwardIosIcon","concat","_objectSpread","paddingLeft","buttons","gap","localMessage","progressResult","startDiagnostic","margin","startDiagnosticCenter","marginTop","actionsTray","containerForHeader","dispatch","useAppDispatch","navigate","useNavigate","message","useSelector","state","healthInfo","serverDiagnosticStatus","system","setStartDiagnostic","downloadDisabled","setDownloadDisabled","setMessage","buttonStartText","setButtonStartText","setTitle","_useState11","_useState12","diagFileContent","setDiagFileContent","_useState13","_useState14","subnetResponse","setSubnetResponse","clusterRegistered","registeredCluster","healthInfoResetMessage","url","URL","window","location","toString","port","wsProt","wsProtocol","protocol","baseUrl","document","baseURI","pathname","c","W3CWebSocket","hostname","interval","onopen","console","log","send","setInterval","setServerDiagStat","onmessage","m","JSON","parse","serverHealthInfo","timestamp","Date","healthInfoMessageReceived","encoded","onerror","error","close","clearInterval","onclose","event","code","WSCloseInternalServerErr","WSClosePolicyViolation","WSCloseAbnormalClosure","setHelpName","PageHeaderWrapper","label","actions","HelpMenu","PageLayout","RegisterCluster","compactMode","boxy","TestWrapper","toLowerCase","includes","href","Box","sx","Button","id","type","variant","element","createElement","setAttribute","body","appendChild","click","removeChild","download","disabled","HelpBox","iconComponent","InfoIcon","help","_ref$compactMode","redirectButton","registerMessage","flexGrow","WarnIcon","flexFlow","sm","flex","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","Object","defineProperty","value","enumerable","get","_utils","createSvgIcon","createChainedFunction","validator","reason","componentNameInError","Component","props","propName","componentName","propFullName","unstable_ClassNameGenerator","configure","generator","ClassNameGenerator","muiNames","React","indexOf","muiName","_len","arguments","funcs","Array","_key","acc","func","_len2","args","_key2","apply","this","naiveFallback","self","Error","module","globalThis","prototype","configurable","__global__","_globalThis","NativeWebSocket","WebSocket","MozWebSocket","websocket_version","uri","protocols","forEach","prop","obj","__esModule"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/5442.657ff257.chunk.js b/portal-ui/build/static/js/5442.657ff257.chunk.js new file mode 100644 index 000000000..93098def2 --- /dev/null +++ b/portal-ui/build/static/js/5442.657ff257.chunk.js @@ -0,0 +1,2 @@ +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5442],{3579:function(e,t,r){"use strict";var o=r(64836);t.Z=void 0;var n=o(r(45649)),a=r(80184),i=(0,n.default)((0,a.jsx)("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"}),"RemoveRedEye");t.Z=i},20165:function(e,t,r){"use strict";var o=r(64836);t.Z=void 0;var n=o(r(45649)),a=r(80184),i=(0,n.default)((0,a.jsx)("path",{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"}),"VisibilityOff");t.Z=i},93840:function(e,t,r){"use strict";var o=r(72791).createContext(void 0);t.Z=o},76147:function(e,t,r){"use strict";function o(e){var t=e.props,r=e.states,o=e.muiFormControl;return r.reduce((function(e,r){return e[r]=t[r],o&&"undefined"===typeof t[r]&&(e[r]=o[r]),e}),{})}r.d(t,{Z:function(){return o}})},52930:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var o=r(72791),n=r(93840);function a(){return o.useContext(n.Z)}},17133:function(e,t,r){"use strict";var o=r(4942),n=r(63366),a=r(87462),i=r(72791),l=r(28182),s=r(94419),c=r(76147),u=r(52930),f=r(14036),p=r(31402),d=r(66934),m=r(10843),b=r(80184),y=["children","className","color","component","disabled","error","filled","focused","required"],v=(0,d.ZP)("label",{name:"MuiFormLabel",slot:"Root",overridesResolver:function(e,t){var r=e.ownerState;return(0,a.Z)({},t.root,"secondary"===r.color&&t.colorSecondary,r.filled&&t.filled)}})((function(e){var t,r=e.theme,n=e.ownerState;return(0,a.Z)({color:(r.vars||r).palette.text.secondary},r.typography.body1,(t={lineHeight:"1.4375em",padding:0,position:"relative"},(0,o.Z)(t,"&.".concat(m.Z.focused),{color:(r.vars||r).palette[n.color].main}),(0,o.Z)(t,"&.".concat(m.Z.disabled),{color:(r.vars||r).palette.text.disabled}),(0,o.Z)(t,"&.".concat(m.Z.error),{color:(r.vars||r).palette.error.main}),t))})),h=(0,d.ZP)("span",{name:"MuiFormLabel",slot:"Asterisk",overridesResolver:function(e,t){return t.asterisk}})((function(e){var t=e.theme;return(0,o.Z)({},"&.".concat(m.Z.error),{color:(t.vars||t).palette.error.main})})),w=i.forwardRef((function(e,t){var r=(0,p.Z)({props:e,name:"MuiFormLabel"}),o=r.children,i=r.className,d=r.component,w=void 0===d?"label":d,x=(0,n.Z)(r,y),g=(0,u.Z)(),C=(0,c.Z)({props:r,muiFormControl:g,states:["color","required","focused","disabled","error","filled"]}),O=(0,a.Z)({},r,{color:C.color||"primary",component:w,disabled:C.disabled,error:C.error,filled:C.filled,focused:C.focused,required:C.required}),Z=function(e){var t=e.classes,r=e.color,o=e.focused,n=e.disabled,a=e.error,i=e.filled,l=e.required,c={root:["root","color".concat((0,f.Z)(r)),n&&"disabled",a&&"error",i&&"filled",o&&"focused",l&&"required"],asterisk:["asterisk",a&&"error"]};return(0,s.Z)(c,m.M,t)}(O);return(0,b.jsxs)(v,(0,a.Z)({as:w,ownerState:O,className:(0,l.Z)(Z.root,i),ref:t},x,{children:[o,C.required&&(0,b.jsxs)(h,{ownerState:O,"aria-hidden":!0,className:Z.asterisk,children:["\u2009","*"]})]}))}));t.Z=w},10843:function(e,t,r){"use strict";r.d(t,{M:function(){return a}});var o=r(75878),n=r(21217);function a(e){return(0,n.Z)("MuiFormLabel",e)}var i=(0,o.Z)("MuiFormLabel",["root","colorSecondary","focused","disabled","error","filled","required","asterisk"]);t.Z=i},30829:function(e,t,r){"use strict";r.d(t,{Z:function(){return g}});var o=r(4942),n=r(63366),a=r(87462),i=r(72791),l=r(94419),s=r(28182),c=r(76147),u=r(52930),f=r(17133),p=r(10843),d=r(31402),m=r(66934),b=r(75878),y=r(21217);function v(e){return(0,y.Z)("MuiInputLabel",e)}(0,b.Z)("MuiInputLabel",["root","focused","disabled","error","required","asterisk","formControl","sizeSmall","shrink","animated","standard","filled","outlined"]);var h=r(80184),w=["disableAnimation","margin","shrink","variant","className"],x=(0,m.ZP)(f.Z,{shouldForwardProp:function(e){return(0,m.FO)(e)||"classes"===e},name:"MuiInputLabel",slot:"Root",overridesResolver:function(e,t){var r=e.ownerState;return[(0,o.Z)({},"& .".concat(p.Z.asterisk),t.asterisk),t.root,r.formControl&&t.formControl,"small"===r.size&&t.sizeSmall,r.shrink&&t.shrink,!r.disableAnimation&&t.animated,t[r.variant]]}})((function(e){var t=e.theme,r=e.ownerState;return(0,a.Z)({display:"block",transformOrigin:"top left",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"100%"},r.formControl&&{position:"absolute",left:0,top:0,transform:"translate(0, 20px) scale(1)"},"small"===r.size&&{transform:"translate(0, 17px) scale(1)"},r.shrink&&{transform:"translate(0, -1.5px) scale(0.75)",transformOrigin:"top left",maxWidth:"133%"},!r.disableAnimation&&{transition:t.transitions.create(["color","transform","max-width"],{duration:t.transitions.duration.shorter,easing:t.transitions.easing.easeOut})},"filled"===r.variant&&(0,a.Z)({zIndex:1,pointerEvents:"none",transform:"translate(12px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},"small"===r.size&&{transform:"translate(12px, 13px) scale(1)"},r.shrink&&(0,a.Z)({userSelect:"none",pointerEvents:"auto",transform:"translate(12px, 7px) scale(0.75)",maxWidth:"calc(133% - 24px)"},"small"===r.size&&{transform:"translate(12px, 4px) scale(0.75)"})),"outlined"===r.variant&&(0,a.Z)({zIndex:1,pointerEvents:"none",transform:"translate(14px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},"small"===r.size&&{transform:"translate(14px, 9px) scale(1)"},r.shrink&&{userSelect:"none",pointerEvents:"auto",maxWidth:"calc(133% - 32px)",transform:"translate(14px, -9px) scale(0.75)"}))})),g=i.forwardRef((function(e,t){var r=(0,d.Z)({name:"MuiInputLabel",props:e}),o=r.disableAnimation,i=void 0!==o&&o,f=r.shrink,p=r.className,m=(0,n.Z)(r,w),b=(0,u.Z)(),y=f;"undefined"===typeof y&&b&&(y=b.filled||b.focused||b.adornedStart);var g=(0,c.Z)({props:r,muiFormControl:b,states:["size","variant","required"]}),C=(0,a.Z)({},r,{disableAnimation:i,formControl:b,shrink:y,size:g.size,variant:g.variant,required:g.required}),O=function(e){var t=e.classes,r=e.formControl,o=e.size,n=e.shrink,i={root:["root",r&&"formControl",!e.disableAnimation&&"animated",n&&"shrink","small"===o&&"sizeSmall",e.variant],asterisk:[e.required&&"asterisk"]},s=(0,l.Z)(i,v,t);return(0,a.Z)({},t,s)}(C);return(0,h.jsx)(x,(0,a.Z)({"data-shrink":y,ownerState:C,ref:t,className:(0,s.Z)(O.root,p)},m,{classes:O}))}))},19103:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});var o=r(72791);var n=function(e,t){return o.isValidElement(e)&&-1!==t.indexOf(e.type.muiName)}},76998:function(e,t,r){"use strict";var o=r(42458),n={"text/plain":"Text","text/html":"Url",default:"Text"};e.exports=function(e,t){var r,a,i,l,s,c,u=!1;t||(t={}),r=t.debug||!1;try{if(i=o(),l=document.createRange(),s=document.getSelection(),(c=document.createElement("span")).textContent=e,c.ariaHidden="true",c.style.all="unset",c.style.position="fixed",c.style.top=0,c.style.clip="rect(0, 0, 0, 0)",c.style.whiteSpace="pre",c.style.webkitUserSelect="text",c.style.MozUserSelect="text",c.style.msUserSelect="text",c.style.userSelect="text",c.addEventListener("copy",(function(o){if(o.stopPropagation(),t.format)if(o.preventDefault(),"undefined"===typeof o.clipboardData){r&&console.warn("unable to use e.clipboardData"),r&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var a=n[t.format]||n.default;window.clipboardData.setData(a,e)}else o.clipboardData.clearData(),o.clipboardData.setData(t.format,e);t.onCopy&&(o.preventDefault(),t.onCopy(o.clipboardData))})),document.body.appendChild(c),l.selectNodeContents(c),s.addRange(l),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");u=!0}catch(f){r&&console.error("unable to copy using execCommand: ",f),r&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",e),t.onCopy&&t.onCopy(window.clipboardData),u=!0}catch(f){r&&console.error("unable to copy using clipboardData: ",f),r&&console.error("falling back to prompt"),a=function(e){var t=(/mac os x/i.test(navigator.userAgent)?"\u2318":"Ctrl")+"+C";return e.replace(/#{\s*key\s*}/g,t)}("message"in t?t.message:"Copy to clipboard: #{key}, Enter"),window.prompt(a,e)}}finally{s&&("function"==typeof s.removeRange?s.removeRange(l):s.removeAllRanges()),c&&document.body.removeChild(c),i()}return u}},94210:function(e){var t=function(){if("object"===typeof self&&self)return self;if("object"===typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};e.exports=function(){if(this)return this;if("object"===typeof globalThis&&globalThis)return globalThis;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(e){return t()}try{return __global__||t()}finally{delete Object.prototype.__global__}}()},568:function(e,t,r){"use strict";function o(e){return o="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},o(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.CopyToClipboard=void 0;var n=l(r(72791)),a=l(r(76998)),i=["text","onCopy","options","children"];function l(e){return e&&e.__esModule?e:{default:e}}function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function c(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function f(e,t){for(var r=0;r {\n acc[state] = props[state];\n if (muiFormControl) {\n if (typeof props[state] === 'undefined') {\n acc[state] = muiFormControl[state];\n }\n }\n return acc;\n }, {});\n}","'use client';\n\nimport * as React from 'react';\nimport FormControlContext from './FormControlContext';\nexport default function useFormControl() {\n return React.useContext(FormControlContext);\n}","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"disabled\", \"error\", \"filled\", \"focused\", \"required\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport formLabelClasses, { getFormLabelUtilityClasses } from './formLabelClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n focused,\n disabled,\n error,\n filled,\n required\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, disabled && 'disabled', error && 'error', filled && 'filled', focused && 'focused', required && 'required'],\n asterisk: ['asterisk', error && 'error']\n };\n return composeClasses(slots, getFormLabelUtilityClasses, classes);\n};\nexport const FormLabelRoot = styled('label', {\n name: 'MuiFormLabel',\n slot: 'Root',\n overridesResolver: ({\n ownerState\n }, styles) => {\n return _extends({}, styles.root, ownerState.color === 'secondary' && styles.colorSecondary, ownerState.filled && styles.filled);\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, theme.typography.body1, {\n lineHeight: '1.4375em',\n padding: 0,\n position: 'relative',\n [`&.${formLabelClasses.focused}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${formLabelClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n },\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst AsteriskComponent = styled('span', {\n name: 'MuiFormLabel',\n slot: 'Asterisk',\n overridesResolver: (props, styles) => styles.asterisk\n})(({\n theme\n}) => ({\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst FormLabel = /*#__PURE__*/React.forwardRef(function FormLabel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormLabel'\n });\n const {\n children,\n className,\n component = 'label'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['color', 'required', 'focused', 'disabled', 'error', 'filled']\n });\n const ownerState = _extends({}, props, {\n color: fcs.color || 'primary',\n component,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(FormLabelRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: [children, fcs.required && /*#__PURE__*/_jsxs(AsteriskComponent, {\n ownerState: ownerState,\n \"aria-hidden\": true,\n className: classes.asterisk,\n children: [\"\\u2009\", '*']\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormLabel.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\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 * If `true`, the label should be displayed in a disabled state.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the label should use filled classes key.\n */\n filled: PropTypes.bool,\n /**\n * If `true`, the input of this label is focused (used by `FormGroup` components).\n */\n focused: PropTypes.bool,\n /**\n * If `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\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} : void 0;\nexport default FormLabel;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getFormLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiFormLabel', slot);\n}\nconst formLabelClasses = generateUtilityClasses('MuiFormLabel', ['root', 'colorSecondary', 'focused', 'disabled', 'error', 'filled', 'required', 'asterisk']);\nexport default formLabelClasses;","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getInputLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiInputLabel', slot);\n}\nconst inputLabelClasses = generateUtilityClasses('MuiInputLabel', ['root', 'focused', 'disabled', 'error', 'required', 'asterisk', 'formControl', 'sizeSmall', 'shrink', 'animated', 'standard', 'filled', 'outlined']);\nexport default inputLabelClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"disableAnimation\", \"margin\", \"shrink\", \"variant\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport clsx from 'clsx';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport FormLabel, { formLabelClasses } from '../FormLabel';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { getInputLabelUtilityClasses } from './inputLabelClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n formControl,\n size,\n shrink,\n disableAnimation,\n variant,\n required\n } = ownerState;\n const slots = {\n root: ['root', formControl && 'formControl', !disableAnimation && 'animated', shrink && 'shrink', size === 'small' && 'sizeSmall', variant],\n asterisk: [required && 'asterisk']\n };\n const composedClasses = composeClasses(slots, getInputLabelUtilityClasses, classes);\n return _extends({}, classes, composedClasses);\n};\nconst InputLabelRoot = styled(FormLabel, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiInputLabel',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${formLabelClasses.asterisk}`]: styles.asterisk\n }, styles.root, ownerState.formControl && styles.formControl, ownerState.size === 'small' && styles.sizeSmall, ownerState.shrink && styles.shrink, !ownerState.disableAnimation && styles.animated, styles[ownerState.variant]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'block',\n transformOrigin: 'top left',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: '100%'\n}, ownerState.formControl && {\n position: 'absolute',\n left: 0,\n top: 0,\n // slight alteration to spec spacing to match visual spec result\n transform: 'translate(0, 20px) scale(1)'\n}, ownerState.size === 'small' && {\n // Compensation for the `Input.inputSizeSmall` style.\n transform: 'translate(0, 17px) scale(1)'\n}, ownerState.shrink && {\n transform: 'translate(0, -1.5px) scale(0.75)',\n transformOrigin: 'top left',\n maxWidth: '133%'\n}, !ownerState.disableAnimation && {\n transition: theme.transitions.create(['color', 'transform', 'max-width'], {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n })\n}, ownerState.variant === 'filled' && _extends({\n // Chrome's autofill feature gives the input field a yellow background.\n // Since the input field is behind the label in the HTML tree,\n // the input field is drawn last and hides the label with an opaque background color.\n // zIndex: 1 will raise the label above opaque background-colors of input.\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(12px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 13px) scale(1)'\n}, ownerState.shrink && _extends({\n userSelect: 'none',\n pointerEvents: 'auto',\n transform: 'translate(12px, 7px) scale(0.75)',\n maxWidth: 'calc(133% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 4px) scale(0.75)'\n})), ownerState.variant === 'outlined' && _extends({\n // see comment above on filled.zIndex\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(14px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(14px, 9px) scale(1)'\n}, ownerState.shrink && {\n userSelect: 'none',\n pointerEvents: 'auto',\n // Theoretically, we should have (8+5)*2/0.75 = 34px\n // but it feels a better when it bleeds a bit on the left, so 32px.\n maxWidth: 'calc(133% - 32px)',\n transform: 'translate(14px, -9px) scale(0.75)'\n})));\nconst InputLabel = /*#__PURE__*/React.forwardRef(function InputLabel(inProps, ref) {\n const props = useThemeProps({\n name: 'MuiInputLabel',\n props: inProps\n });\n const {\n disableAnimation = false,\n shrink: shrinkProp,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n let shrink = shrinkProp;\n if (typeof shrink === 'undefined' && muiFormControl) {\n shrink = muiFormControl.filled || muiFormControl.focused || muiFormControl.adornedStart;\n }\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['size', 'variant', 'required']\n });\n const ownerState = _extends({}, props, {\n disableAnimation,\n formControl: muiFormControl,\n shrink,\n size: fcs.size,\n variant: fcs.variant,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(InputLabelRoot, _extends({\n \"data-shrink\": shrink,\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? InputLabel.propTypes /* remove-proptypes */ = {\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 * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\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 */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the transition animation is disabled.\n * @default false\n */\n disableAnimation: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` of this label is focused.\n */\n focused: PropTypes.bool,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: PropTypes.oneOf(['dense']),\n /**\n * if `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n /**\n * If `true`, the label is shrunk.\n */\n shrink: PropTypes.bool,\n /**\n * The size of the component.\n * @default 'normal'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['normal', 'small']), PropTypes.string]),\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 * The variant to use.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputLabel;","import { unstable_isMuiElement as isMuiElement } from '@mui/utils';\nexport default isMuiElement;","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf(element.type.muiName) !== -1;\n}","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","var naiveFallback = function () {\n\tif (typeof self === \"object\" && self) return self;\n\tif (typeof window === \"object\" && window) return window;\n\tthrow new Error(\"Unable to resolve global `this`\");\n};\n\nmodule.exports = (function () {\n\tif (this) return this;\n\n\t// Unexpected strict mode (may happen if e.g. bundled into ESM module)\n\n\t// Fallback to standard globalThis if available\n\tif (typeof globalThis === \"object\" && globalThis) return globalThis;\n\n\t// Thanks @mathiasbynens -> https://mathiasbynens.be/notes/globalthis\n\t// In all ES5+ engines global object inherits from Object.prototype\n\t// (if you approached one that doesn't please report)\n\ttry {\n\t\tObject.defineProperty(Object.prototype, \"__global__\", {\n\t\t\tget: function () { return this; },\n\t\t\tconfigurable: true\n\t\t});\n\t} catch (error) {\n\t\t// Unfortunate case of updates to Object.prototype being restricted\n\t\t// via preventExtensions, seal or freeze\n\t\treturn naiveFallback();\n\t}\n\ttry {\n\t\t// Safari case (window.__global__ works, but __global__ does not)\n\t\tif (!__global__) return naiveFallback();\n\t\treturn __global__;\n\t} finally {\n\t\tdelete Object.prototype.__global__;\n\t}\n})();\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CopyToClipboard = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _copyToClipboard = _interopRequireDefault(require(\"copy-to-clipboard\"));\n\nvar _excluded = [\"text\", \"onCopy\", \"options\", \"children\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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 _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); Object.defineProperty(Constructor, \"prototype\", { writable: false }); 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 } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); 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; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } 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\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\nvar CopyToClipboard = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(CopyToClipboard, _React$PureComponent);\n\n var _super = _createSuper(CopyToClipboard);\n\n function CopyToClipboard() {\n var _this;\n\n _classCallCheck(this, CopyToClipboard);\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\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n var _this$props = _this.props,\n text = _this$props.text,\n onCopy = _this$props.onCopy,\n children = _this$props.children,\n options = _this$props.options;\n\n var elem = _react[\"default\"].Children.only(children);\n\n var result = (0, _copyToClipboard[\"default\"])(text, options);\n\n if (onCopy) {\n onCopy(text, result);\n } // Bypass onClick if it was present\n\n\n if (elem && elem.props && typeof elem.props.onClick === 'function') {\n elem.props.onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(CopyToClipboard, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _text = _this$props2.text,\n _onCopy = _this$props2.onCopy,\n _options = _this$props2.options,\n children = _this$props2.children,\n props = _objectWithoutProperties(_this$props2, _excluded);\n\n var elem = _react[\"default\"].Children.only(children);\n\n return /*#__PURE__*/_react[\"default\"].cloneElement(elem, _objectSpread(_objectSpread({}, props), {}, {\n onClick: this.onClick\n }));\n }\n }]);\n\n return CopyToClipboard;\n}(_react[\"default\"].PureComponent);\n\nexports.CopyToClipboard = CopyToClipboard;\n\n_defineProperty(CopyToClipboard, \"defaultProps\", {\n onCopy: undefined,\n options: undefined\n});","\"use strict\";\n\nvar _require = require('./Component'),\n CopyToClipboard = _require.CopyToClipboard;\n\nCopyToClipboard.CopyToClipboard = CopyToClipboard;\nmodule.exports = CopyToClipboard;","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n","var _globalThis;\nif (typeof globalThis === 'object') {\n\t_globalThis = globalThis;\n} else {\n\ttry {\n\t\t_globalThis = require('es5-ext/global');\n\t} catch (error) {\n\t} finally {\n\t\tif (!_globalThis && typeof window !== 'undefined') { _globalThis = window; }\n\t\tif (!_globalThis) { throw new Error('Could not determine global this'); }\n\t}\n}\n\nvar NativeWebSocket = _globalThis.WebSocket || _globalThis.MozWebSocket;\nvar websocket_version = require('./version');\n\n\n/**\n * Expose a W3C WebSocket class with just one or two arguments.\n */\nfunction W3CWebSocket(uri, protocols) {\n\tvar native_instance;\n\n\tif (protocols) {\n\t\tnative_instance = new NativeWebSocket(uri, protocols);\n\t}\n\telse {\n\t\tnative_instance = new NativeWebSocket(uri);\n\t}\n\n\t/**\n\t * 'native_instance' is an instance of nativeWebSocket (the browser's WebSocket\n\t * class). Since it is an Object it will be returned as it is when creating an\n\t * instance of W3CWebSocket via 'new W3CWebSocket()'.\n\t *\n\t * ECMAScript 5: http://bclary.com/2004/11/07/#a-13.2.2\n\t */\n\treturn native_instance;\n}\nif (NativeWebSocket) {\n\t['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'].forEach(function(prop) {\n\t\tObject.defineProperty(W3CWebSocket, prop, {\n\t\t\tget: function() { return NativeWebSocket[prop]; }\n\t\t});\n\t});\n}\n\n/**\n * Module exports.\n */\nmodule.exports = {\n 'w3cwebsocket' : NativeWebSocket ? W3CWebSocket : null,\n 'version' : websocket_version\n};\n","module.exports = require('../package.json').version;\n"],"names":["_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","FormControlContext","React","undefined","formControlState","_ref","props","states","muiFormControl","reduce","acc","state","useFormControl","_excluded","FormLabelRoot","styled","name","slot","overridesResolver","styles","ownerState","_extends","root","color","colorSecondary","filled","_ref2","_extends2","theme","vars","palette","text","secondary","typography","body1","lineHeight","padding","position","_defineProperty","concat","formLabelClasses","focused","main","disabled","error","AsteriskComponent","asterisk","_ref3","FormLabel","inProps","ref","useThemeProps","children","className","_props$component","component","other","_objectWithoutPropertiesLoose","fcs","required","classes","slots","capitalize","composeClasses","getFormLabelUtilityClasses","useUtilityClasses","_jsxs","as","clsx","generateUtilityClass","generateUtilityClasses","getInputLabelUtilityClasses","InputLabelRoot","shouldForwardProp","prop","rootShouldForwardProp","formControl","size","sizeSmall","shrink","disableAnimation","animated","variant","display","transformOrigin","whiteSpace","overflow","textOverflow","maxWidth","left","top","transform","transition","transitions","create","duration","shorter","easing","easeOut","zIndex","pointerEvents","userSelect","_props$disableAnimati","shrinkProp","adornedStart","composedClasses","_jsx","element","muiNames","indexOf","type","muiName","deselectCurrent","clipboardToIE11Formatting","module","options","debug","message","reselectPrevious","range","selection","mark","success","document","createRange","getSelection","createElement","textContent","ariaHidden","style","all","clip","webkitUserSelect","MozUserSelect","msUserSelect","addEventListener","e","stopPropagation","format","preventDefault","clipboardData","console","warn","window","clearData","setData","onCopy","body","appendChild","selectNodeContents","addRange","execCommand","Error","err","copyKey","test","navigator","userAgent","replace","prompt","removeRange","removeAllRanges","removeChild","naiveFallback","self","this","globalThis","Object","defineProperty","prototype","get","configurable","__global__","_typeof","obj","Symbol","iterator","constructor","value","CopyToClipboard","_react","_copyToClipboard","__esModule","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","excluded","sourceKeys","sourceSymbolKeys","propertyIsEnumerable","call","_defineProperties","descriptor","writable","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","_isNativeReflectConstruct","result","Super","_getPrototypeOf","NewTarget","TypeError","_assertThisInitialized","_possibleConstructorReturn","ReferenceError","getPrototypeOf","_React$PureComponent","subClass","superClass","_inherits","Constructor","protoProps","staticProps","_super","_this","instance","_classCallCheck","_len","args","Array","_key","event","_this$props","elem","Children","only","onClick","_this$props2","cloneElement","PureComponent","rangeCount","active","activeElement","ranges","getRangeAt","tagName","toUpperCase","blur","focus","_globalThis","NativeWebSocket","WebSocket","MozWebSocket","websocket_version","W3CWebSocket","uri","protocols"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/5473.5690bac9.chunk.js b/portal-ui/build/static/js/5473.5690bac9.chunk.js new file mode 100644 index 000000000..918dd7127 --- /dev/null +++ b/portal-ui/build/static/js/5473.5690bac9.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5473],{32080:function(e,n,o){var t=o(72791),r=o(6117),i=o(84913),a=o(80184),l=["input","select","textarea","a[href]","button","[tabindex]","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])'].join(",");function s(e){var n=[],o=[];return Array.from(e.querySelectorAll(l)).forEach((function(e,t){var r=function(e){var n=parseInt(e.getAttribute("tabindex")||"",10);return Number.isNaN(n)?"true"===e.contentEditable||("AUDIO"===e.nodeName||"VIDEO"===e.nodeName||"DETAILS"===e.nodeName)&&null===e.getAttribute("tabindex")?0:e.tabIndex:n}(e);-1!==r&&function(e){return!(e.disabled||"INPUT"===e.tagName&&"hidden"===e.type||function(e){if("INPUT"!==e.tagName||"radio"!==e.type)return!1;if(!e.name)return!1;var n=function(n){return e.ownerDocument.querySelector('input[type="radio"]'.concat(n))},o=n('[name="'.concat(e.name,'"]:checked'));return o||(o=n('[name="'.concat(e.name,'"]'))),o!==e}(e))}(e)&&(0===r?n.push(e):o.push({documentOrder:t,tabIndex:r,node:e}))})),o.sort((function(e,n){return e.tabIndex===n.tabIndex?e.documentOrder-n.documentOrder:e.tabIndex-n.tabIndex})).map((function(e){return e.node})).concat(n)}function c(){return!0}n.Z=function(e){var n=e.children,o=e.disableAutoFocus,l=void 0!==o&&o,u=e.disableEnforceFocus,d=void 0!==u&&u,f=e.disableRestoreFocus,p=void 0!==f&&f,v=e.getTabbable,h=void 0===v?s:v,m=e.isEnabled,b=void 0===m?c:m,Z=e.open,g=t.useRef(!1),y=t.useRef(null),E=t.useRef(null),x=t.useRef(null),k=t.useRef(null),P=t.useRef(!1),R=t.useRef(null),T=(0,r.Z)(n.ref,R),w=t.useRef(null);t.useEffect((function(){Z&&R.current&&(P.current=!l)}),[l,Z]),t.useEffect((function(){if(Z&&R.current){var e=(0,i.Z)(R.current);return R.current.contains(e.activeElement)||(R.current.hasAttribute("tabIndex")||R.current.setAttribute("tabIndex","-1"),P.current&&R.current.focus()),function(){p||(x.current&&x.current.focus&&(g.current=!0,x.current.focus()),x.current=null)}}}),[Z]),t.useEffect((function(){if(Z&&R.current){var e=(0,i.Z)(R.current),n=function(n){var o=R.current;if(null!==o)if(e.hasFocus()&&!d&&b()&&!g.current){if(!o.contains(e.activeElement)){if(n&&k.current!==n.target||e.activeElement!==k.current)k.current=null;else if(null!==k.current)return;if(!P.current)return;var t=[];if(e.activeElement!==y.current&&e.activeElement!==E.current||(t=h(R.current)),t.length>0){var r,i,a=Boolean((null==(r=w.current)?void 0:r.shiftKey)&&"Tab"===(null==(i=w.current)?void 0:i.key)),l=t[0],s=t[t.length-1];"string"!==typeof l&&"string"!==typeof s&&(a?s.focus():l.focus())}else o.focus()}}else g.current=!1},o=function(n){w.current=n,!d&&b()&&"Tab"===n.key&&e.activeElement===R.current&&n.shiftKey&&(g.current=!0,E.current&&E.current.focus())};e.addEventListener("focusin",n),e.addEventListener("keydown",o,!0);var t=setInterval((function(){e.activeElement&&"BODY"===e.activeElement.tagName&&n(null)}),50);return function(){clearInterval(t),e.removeEventListener("focusin",n),e.removeEventListener("keydown",o,!0)}}}),[l,d,p,b,Z,h]);var C=function(e){null===x.current&&(x.current=e.relatedTarget),P.current=!0};return(0,a.jsxs)(t.Fragment,{children:[(0,a.jsx)("div",{tabIndex:Z?0:-1,onFocus:C,ref:y,"data-testid":"sentinelStart"}),t.cloneElement(n,{ref:T,onFocus:function(e){null===x.current&&(x.current=e.relatedTarget),P.current=!0,k.current=e.target;var o=n.props.onFocus;o&&o(e)}}),(0,a.jsx)("div",{tabIndex:Z?0:-1,onFocus:C,ref:E,"data-testid":"sentinelEnd"})]})}},52739:function(e,n,o){o.d(n,{Z:function(){return b}});var t=o(63366),r=o(87462),i=o(72791),a=o(28182),l=o(94419),s=o(66934),c=o(31402),u=o(60627),d=o(75878),f=o(21217);function p(e){return(0,f.Z)("MuiBackdrop",e)}(0,d.Z)("MuiBackdrop",["root","invisible"]);var v=o(80184),h=["children","className","component","components","componentsProps","invisible","open","slotProps","slots","TransitionComponent","transitionDuration"],m=(0,s.ZP)("div",{name:"MuiBackdrop",slot:"Root",overridesResolver:function(e,n){var o=e.ownerState;return[n.root,o.invisible&&n.invisible]}})((function(e){var n=e.ownerState;return(0,r.Z)({position:"fixed",display:"flex",alignItems:"center",justifyContent:"center",right:0,bottom:0,top:0,left:0,backgroundColor:"rgba(0, 0, 0, 0.5)",WebkitTapHighlightColor:"transparent"},n.invisible&&{backgroundColor:"transparent"})})),b=i.forwardRef((function(e,n){var o,i,s,d=(0,c.Z)({props:e,name:"MuiBackdrop"}),f=d.children,b=d.className,Z=d.component,g=void 0===Z?"div":Z,y=d.components,E=void 0===y?{}:y,x=d.componentsProps,k=void 0===x?{}:x,P=d.invisible,R=void 0!==P&&P,T=d.open,w=d.slotProps,C=void 0===w?{}:w,S=d.slots,N=void 0===S?{}:S,A=d.TransitionComponent,M=void 0===A?u.Z:A,F=d.transitionDuration,I=(0,t.Z)(d,h),O=(0,r.Z)({},d,{component:g,invisible:R}),L=function(e){var n=e.classes,o={root:["root",e.invisible&&"invisible"]};return(0,l.Z)(o,p,n)}(O),B=null!=(o=C.root)?o:k.root;return(0,v.jsx)(M,(0,r.Z)({in:T,timeout:F},I,{children:(0,v.jsx)(m,(0,r.Z)({"aria-hidden":!0},B,{as:null!=(i=null!=(s=N.root)?s:E.Root)?i:g,className:(0,a.Z)(L.root,b,null==B?void 0:B.className),ownerState:(0,r.Z)({},O,null==B?void 0:B.ownerState),classes:L,ref:n,children:f}))}))}))},60627:function(e,n,o){var t=o(87462),r=o(63366),i=o(72791),a=o(18875),l=o(13967),s=o(4999),c=o(42071),u=o(80184),d=["addEndListener","appear","children","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"],f={entering:{opacity:1},entered:{opacity:1}},p=i.forwardRef((function(e,n){var o=(0,l.Z)(),p={enter:o.transitions.duration.enteringScreen,exit:o.transitions.duration.leavingScreen},v=e.addEndListener,h=e.appear,m=void 0===h||h,b=e.children,Z=e.easing,g=e.in,y=e.onEnter,E=e.onEntered,x=e.onEntering,k=e.onExit,P=e.onExited,R=e.onExiting,T=e.style,w=e.timeout,C=void 0===w?p:w,S=e.TransitionComponent,N=void 0===S?a.ZP:S,A=(0,r.Z)(e,d),M=i.useRef(null),F=(0,c.Z)(M,b.ref,n),I=function(e){return function(n){if(e){var o=M.current;void 0===n?e(o):e(o,n)}}},O=I(x),L=I((function(e,n){(0,s.n)(e);var t=(0,s.C)({style:T,timeout:C,easing:Z},{mode:"enter"});e.style.webkitTransition=o.transitions.create("opacity",t),e.style.transition=o.transitions.create("opacity",t),y&&y(e,n)})),B=I(E),D=I(R),j=I((function(e){var n=(0,s.C)({style:T,timeout:C,easing:Z},{mode:"exit"});e.style.webkitTransition=o.transitions.create("opacity",n),e.style.transition=o.transitions.create("opacity",n),k&&k(e)})),z=I(P);return(0,u.jsx)(N,(0,t.Z)({appear:m,in:g,nodeRef:M,onEnter:L,onEntered:B,onEntering:O,onExit:j,onExited:z,onExiting:D,addEndListener:function(e){v&&v(M.current,e)},timeout:C},A,{children:function(e,n){return i.cloneElement(b,(0,t.Z)({style:(0,t.Z)({opacity:0,visibility:"exited"!==e||g?void 0:"hidden"},f[e],T,b.props.style),ref:F},n))}}))}));n.Z=p},73590:function(e,n,o){o.d(n,{Z:function(){return W}});var t=o(29439),r=o(63366),i=o(87462),a=o(72791),l=o(28182),s=o(6117),c=o(84913),u=o(97054),d=o(78949),f=o(94419),p=o(96174),v=o(15671),h=o(43144),m=o(93433),b=o(65202),Z=o(57137);function g(e,n){n?e.setAttribute("aria-hidden","true"):e.removeAttribute("aria-hidden")}function y(e){return parseInt((0,b.Z)(e).getComputedStyle(e).paddingRight,10)||0}function E(e,n,o,t,r){var i=[n,o].concat((0,m.Z)(t));[].forEach.call(e.children,(function(e){var n=-1===i.indexOf(e),o=!function(e){var n=-1!==["TEMPLATE","SCRIPT","STYLE","LINK","MAP","META","NOSCRIPT","PICTURE","COL","COLGROUP","PARAM","SLOT","SOURCE","TRACK"].indexOf(e.tagName),o="INPUT"===e.tagName&&"hidden"===e.getAttribute("type");return n||o}(e);n&&o&&g(e,r)}))}function x(e,n){var o=-1;return e.some((function(e,t){return!!n(e)&&(o=t,!0)})),o}function k(e,n){var o=[],t=e.container;if(!n.disableScrollLock){if(function(e){var n=(0,c.Z)(e);return n.body===e?(0,b.Z)(e).innerWidth>n.documentElement.clientWidth:e.scrollHeight>e.clientHeight}(t)){var r=(0,Z.Z)((0,c.Z)(t));o.push({value:t.style.paddingRight,property:"padding-right",el:t}),t.style.paddingRight="".concat(y(t)+r,"px");var i=(0,c.Z)(t).querySelectorAll(".mui-fixed");[].forEach.call(i,(function(e){o.push({value:e.style.paddingRight,property:"padding-right",el:e}),e.style.paddingRight="".concat(y(e)+r,"px")}))}var a;if(t.parentNode instanceof DocumentFragment)a=(0,c.Z)(t).body;else{var l=t.parentElement,s=(0,b.Z)(t);a="HTML"===(null==l?void 0:l.nodeName)&&"scroll"===s.getComputedStyle(l).overflowY?l:t}o.push({value:a.style.overflow,property:"overflow",el:a},{value:a.style.overflowX,property:"overflow-x",el:a},{value:a.style.overflowY,property:"overflow-y",el:a}),a.style.overflow="hidden"}return function(){o.forEach((function(e){var n=e.value,o=e.el,t=e.property;n?o.style.setProperty(t,n):o.style.removeProperty(t)}))}}var P=function(){function e(){(0,v.Z)(this,e),this.containers=void 0,this.modals=void 0,this.modals=[],this.containers=[]}return(0,h.Z)(e,[{key:"add",value:function(e,n){var o=this.modals.indexOf(e);if(-1!==o)return o;o=this.modals.length,this.modals.push(e),e.modalRef&&g(e.modalRef,!1);var t=function(e){var n=[];return[].forEach.call(e.children,(function(e){"true"===e.getAttribute("aria-hidden")&&n.push(e)})),n}(n);E(n,e.mount,e.modalRef,t,!0);var r=x(this.containers,(function(e){return e.container===n}));return-1!==r?(this.containers[r].modals.push(e),o):(this.containers.push({modals:[e],container:n,restore:null,hiddenSiblings:t}),o)}},{key:"mount",value:function(e,n){var o=x(this.containers,(function(n){return-1!==n.modals.indexOf(e)})),t=this.containers[o];t.restore||(t.restore=k(t,n))}},{key:"remove",value:function(e){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=this.modals.indexOf(e);if(-1===o)return o;var t=x(this.containers,(function(n){return-1!==n.modals.indexOf(e)})),r=this.containers[t];if(r.modals.splice(r.modals.indexOf(e),1),this.modals.splice(o,1),0===r.modals.length)r.restore&&r.restore(),e.modalRef&&g(e.modalRef,n),E(r.container,e.mount,e.modalRef,r.hiddenSiblings,!1),this.containers.splice(t,1);else{var i=r.modals[r.modals.length-1];i.modalRef&&g(i.modalRef,!1)}return o}},{key:"isTopModal",value:function(e){return this.modals.length>0&&this.modals[this.modals.length-1]===e}}]),e}(),R=o(32080),T=o(75878),w=o(21217);function C(e){return(0,w.Z)("MuiModal",e)}(0,T.Z)("MuiModal",["root","hidden","backdrop"]);var S=o(40536),N=o(6826),A=o(80184),M=["children","closeAfterTransition","container","disableAutoFocus","disableEnforceFocus","disableEscapeKeyDown","disablePortal","disableRestoreFocus","disableScrollLock","hideBackdrop","keepMounted","manager","onBackdropClick","onClose","onKeyDown","open","onTransitionEnter","onTransitionExited","slotProps","slots"];var F=new P,I=a.forwardRef((function(e,n){var o,l,v=e.children,h=e.closeAfterTransition,m=void 0!==h&&h,b=e.container,Z=e.disableAutoFocus,y=void 0!==Z&&Z,E=e.disableEnforceFocus,x=void 0!==E&&E,k=e.disableEscapeKeyDown,P=void 0!==k&&k,T=e.disablePortal,w=void 0!==T&&T,I=e.disableRestoreFocus,O=void 0!==I&&I,L=e.disableScrollLock,B=void 0!==L&&L,D=e.hideBackdrop,j=void 0!==D&&D,z=e.keepMounted,K=void 0!==z&&z,H=e.manager,W=void 0===H?F:H,U=e.onBackdropClick,Y=e.onClose,q=e.onKeyDown,X=e.open,_=e.onTransitionEnter,G=e.onTransitionExited,V=e.slotProps,J=void 0===V?{}:V,Q=e.slots,$=void 0===Q?{}:Q,ee=(0,r.Z)(e,M),ne=W,oe=a.useState(!X),te=(0,t.Z)(oe,2),re=te[0],ie=te[1],ae=a.useRef({}),le=a.useRef(null),se=a.useRef(null),ce=(0,s.Z)(se,n),ue=function(e){return!!e&&e.props.hasOwnProperty("in")}(v),de=null==(o=e["aria-hidden"])||o,fe=function(){return ae.current.modalRef=se.current,ae.current.mountNode=le.current,ae.current},pe=function(){ne.mount(fe(),{disableScrollLock:B}),se.current&&(se.current.scrollTop=0)},ve=(0,u.Z)((function(){var e=function(e){return"function"===typeof e?e():e}(b)||(0,c.Z)(le.current).body;ne.add(fe(),e),se.current&&pe()})),he=a.useCallback((function(){return ne.isTopModal(fe())}),[ne]),me=(0,u.Z)((function(e){le.current=e,e&&se.current&&(X&&he()?pe():g(se.current,de))})),be=a.useCallback((function(){ne.remove(fe(),de)}),[ne,de]);a.useEffect((function(){return function(){be()}}),[be]),a.useEffect((function(){X?ve():ue&&m||be()}),[X,be,ue,m,ve]);var Ze=(0,i.Z)({},e,{closeAfterTransition:m,disableAutoFocus:y,disableEnforceFocus:x,disableEscapeKeyDown:P,disablePortal:w,disableRestoreFocus:O,disableScrollLock:B,exited:re,hideBackdrop:j,keepMounted:K}),ge=function(e){var n=e.open,o=e.exited,t={root:["root",!n&&o&&"hidden"],backdrop:["backdrop"]};return(0,f.Z)(t,(0,N.T)(C))}(Ze),ye={};void 0===v.props.tabIndex&&(ye.tabIndex="-1"),ue&&(ye.onEnter=(0,d.Z)((function(){ie(!1),_&&_()}),v.props.onEnter),ye.onExited=(0,d.Z)((function(){ie(!0),G&&G(),m&&be()}),v.props.onExited));var Ee=null!=(l=$.root)?l:"div",xe=(0,S.Z)({elementType:Ee,externalSlotProps:J.root,externalForwardedProps:ee,additionalProps:{ref:ce,role:"presentation",onKeyDown:function(e){q&&q(e),"Escape"===e.key&&he()&&(P||(e.stopPropagation(),Y&&Y(e,"escapeKeyDown")))}},className:ge.root,ownerState:Ze}),ke=$.backdrop,Pe=(0,S.Z)({elementType:ke,externalSlotProps:J.backdrop,additionalProps:{"aria-hidden":!0,onClick:function(e){e.target===e.currentTarget&&(U&&U(e),Y&&Y(e,"backdropClick"))},open:X},className:ge.backdrop,ownerState:Ze});return K||X||ue&&!re?(0,A.jsx)(p.Z,{ref:me,container:b,disablePortal:w,children:(0,A.jsxs)(Ee,(0,i.Z)({},xe,{children:[!j&&ke?(0,A.jsx)(ke,(0,i.Z)({},Pe)):null,(0,A.jsx)(R.Z,{disableEnforceFocus:x,disableAutoFocus:y,disableRestoreFocus:O,isEnabled:he,open:X,children:a.cloneElement(v,ye)})]}))}):null})),O=o(71503),L=o(20627),B=o(66934),D=o(31402),j=o(52739),z=["BackdropComponent","BackdropProps","classes","className","closeAfterTransition","children","container","component","components","componentsProps","disableAutoFocus","disableEnforceFocus","disableEscapeKeyDown","disablePortal","disableRestoreFocus","disableScrollLock","hideBackdrop","keepMounted","onBackdropClick","onClose","open","slotProps","slots","theme"],K=(0,B.ZP)("div",{name:"MuiModal",slot:"Root",overridesResolver:function(e,n){var o=e.ownerState;return[n.root,!o.open&&o.exited&&n.hidden]}})((function(e){var n=e.theme,o=e.ownerState;return(0,i.Z)({position:"fixed",zIndex:(n.vars||n).zIndex.modal,right:0,bottom:0,top:0,left:0},!o.open&&o.exited&&{visibility:"hidden"})})),H=(0,B.ZP)(j.Z,{name:"MuiModal",slot:"Backdrop",overridesResolver:function(e,n){return n.backdrop}})({zIndex:-1}),W=a.forwardRef((function(e,n){var o,s,c,u,d,f,p=(0,D.Z)({name:"MuiModal",props:e}),v=p.BackdropComponent,h=void 0===v?H:v,m=p.BackdropProps,b=p.classes,Z=p.className,g=p.closeAfterTransition,y=void 0!==g&&g,E=p.children,x=p.container,k=p.component,P=p.components,R=void 0===P?{}:P,T=p.componentsProps,w=void 0===T?{}:T,C=p.disableAutoFocus,S=void 0!==C&&C,N=p.disableEnforceFocus,M=void 0!==N&&N,F=p.disableEscapeKeyDown,B=void 0!==F&&F,j=p.disablePortal,W=void 0!==j&&j,U=p.disableRestoreFocus,Y=void 0!==U&&U,q=p.disableScrollLock,X=void 0!==q&&q,_=p.hideBackdrop,G=void 0!==_&&_,V=p.keepMounted,J=void 0!==V&&V,Q=p.onBackdropClick,$=p.onClose,ee=p.open,ne=p.slotProps,oe=p.slots,te=p.theme,re=(0,r.Z)(p,z),ie=a.useState(!0),ae=(0,t.Z)(ie,2),le=ae[0],se=ae[1],ce={container:x,closeAfterTransition:y,disableAutoFocus:S,disableEnforceFocus:M,disableEscapeKeyDown:B,disablePortal:W,disableRestoreFocus:Y,disableScrollLock:X,hideBackdrop:G,keepMounted:J,onBackdropClick:Q,onClose:$,open:ee},ue=(0,i.Z)({},p,ce,{exited:le}),de=null!=(o=null!=(s=null==oe?void 0:oe.root)?s:R.Root)?o:K,fe=null!=(c=null!=(u=null==oe?void 0:oe.backdrop)?u:R.Backdrop)?c:h,pe=null!=(d=null==ne?void 0:ne.root)?d:w.root,ve=null!=(f=null==ne?void 0:ne.backdrop)?f:w.backdrop;return(0,A.jsx)(I,(0,i.Z)({slots:{root:de,backdrop:fe},slotProps:{root:function(){return(0,i.Z)({},(0,O.Z)(pe,ue),!(0,L.Z)(de)&&{as:k,theme:te},{className:(0,l.Z)(Z,null==pe?void 0:pe.className,null==b?void 0:b.root,!ue.open&&ue.exited&&(null==b?void 0:b.hidden))})},backdrop:function(){return(0,i.Z)({},m,(0,O.Z)(ve,ue),{className:(0,l.Z)(null==ve?void 0:ve.className,null==m?void 0:m.className,null==b?void 0:b.backdrop)})}},onTransitionEnter:function(){return se(!1)},onTransitionExited:function(){return se(!0)},ref:n},re,ce,{children:E}))}))},15473:function(e,n,o){o.d(n,{XS:function(){return M},ZP:function(){return F}});var t=o(29439),r=o(87462),i=o(63366),a=o(72791),l=o(28182),s=o(94419),c=o(40536),u=o(20627),d=o(66934),f=o(31402),p=o(83199),v=o(98301),h=o(17602),m=o(42071),b=o(13208),Z=o(73590),g=o(35527),y=o(75878),E=o(21217);function x(e){return(0,E.Z)("MuiPopover",e)}(0,y.Z)("MuiPopover",["root","paper"]);var k=o(80184),P=["onEntering"],R=["action","anchorEl","anchorOrigin","anchorPosition","anchorReference","children","className","container","elevation","marginThreshold","open","PaperProps","slots","slotProps","transformOrigin","TransitionComponent","transitionDuration","TransitionProps"],T=["slotProps"];function w(e,n){var o=0;return"number"===typeof n?o=n:"center"===n?o=e.height/2:"bottom"===n&&(o=e.height),o}function C(e,n){var o=0;return"number"===typeof n?o=n:"center"===n?o=e.width/2:"right"===n&&(o=e.width),o}function S(e){return[e.horizontal,e.vertical].map((function(e){return"number"===typeof e?"".concat(e,"px"):e})).join(" ")}function N(e){return"function"===typeof e?e():e}var A=(0,d.ZP)(Z.Z,{name:"MuiPopover",slot:"Root",overridesResolver:function(e,n){return n.root}})({}),M=(0,d.ZP)(g.Z,{name:"MuiPopover",slot:"Paper",overridesResolver:function(e,n){return n.paper}})({position:"absolute",overflowY:"auto",overflowX:"hidden",minWidth:16,minHeight:16,maxWidth:"calc(100% - 32px)",maxHeight:"calc(100% - 32px)",outline:0}),F=a.forwardRef((function(e,n){var o,d,Z,g=(0,f.Z)({props:e,name:"MuiPopover"}),y=g.action,E=g.anchorEl,F=g.anchorOrigin,I=void 0===F?{vertical:"top",horizontal:"left"}:F,O=g.anchorPosition,L=g.anchorReference,B=void 0===L?"anchorEl":L,D=g.children,j=g.className,z=g.container,K=g.elevation,H=void 0===K?8:K,W=g.marginThreshold,U=void 0===W?16:W,Y=g.open,q=g.PaperProps,X=void 0===q?{}:q,_=g.slots,G=g.slotProps,V=g.transformOrigin,J=void 0===V?{vertical:"top",horizontal:"left"}:V,Q=g.TransitionComponent,$=void 0===Q?b.Z:Q,ee=g.transitionDuration,ne=void 0===ee?"auto":ee,oe=g.TransitionProps,te=(void 0===oe?{}:oe).onEntering,re=(0,i.Z)(g.TransitionProps,P),ie=(0,i.Z)(g,R),ae=null!=(o=null==G?void 0:G.paper)?o:X,le=a.useRef(),se=(0,m.Z)(le,ae.ref),ce=(0,r.Z)({},g,{anchorOrigin:I,anchorReference:B,elevation:H,marginThreshold:U,externalPaperSlotProps:ae,transformOrigin:J,TransitionComponent:$,transitionDuration:ne,TransitionProps:re}),ue=function(e){var n=e.classes;return(0,s.Z)({root:["root"],paper:["paper"]},x,n)}(ce),de=a.useCallback((function(){if("anchorPosition"===B)return O;var e=N(E),n=(e&&1===e.nodeType?e:(0,v.Z)(le.current).body).getBoundingClientRect();return{top:n.top+w(n,I.vertical),left:n.left+C(n,I.horizontal)}}),[E,I.horizontal,I.vertical,O,B]),fe=a.useCallback((function(e){return{vertical:w(e,J.vertical),horizontal:C(e,J.horizontal)}}),[J.horizontal,J.vertical]),pe=a.useCallback((function(e){var n={width:e.offsetWidth,height:e.offsetHeight},o=fe(n);if("none"===B)return{top:null,left:null,transformOrigin:S(o)};var t=de(),r=t.top-o.vertical,i=t.left-o.horizontal,a=r+n.height,l=i+n.width,s=(0,h.Z)(N(E)),c=s.innerHeight-U,u=s.innerWidth-U;if(rc){var f=a-c;r-=f,o.vertical+=f}if(iu){var v=l-u;i-=v,o.horizontal+=v}return{top:"".concat(Math.round(r),"px"),left:"".concat(Math.round(i),"px"),transformOrigin:S(o)}}),[E,B,de,fe,U]),ve=a.useState(Y),he=(0,t.Z)(ve,2),me=he[0],be=he[1],Ze=a.useCallback((function(){var e=le.current;if(e){var n=pe(e);null!==n.top&&(e.style.top=n.top),null!==n.left&&(e.style.left=n.left),e.style.transformOrigin=n.transformOrigin,be(!0)}}),[pe]);a.useEffect((function(){Y&&Ze()})),a.useImperativeHandle(y,(function(){return Y?{updatePosition:function(){Ze()}}:null}),[Y,Ze]),a.useEffect((function(){if(Y){var e=(0,p.Z)((function(){Ze()})),n=(0,h.Z)(E);return n.addEventListener("resize",e),function(){e.clear(),n.removeEventListener("resize",e)}}}),[E,Y,Ze]);var ge=ne;"auto"!==ne||$.muiSupportAuto||(ge=void 0);var ye=z||(E?(0,v.Z)(N(E)).body:void 0),Ee=null!=(d=null==_?void 0:_.root)?d:A,xe=null!=(Z=null==_?void 0:_.paper)?Z:M,ke=(0,c.Z)({elementType:xe,externalSlotProps:(0,r.Z)({},ae,{style:me?ae.style:(0,r.Z)({},ae.style,{opacity:0})}),additionalProps:{elevation:H,ref:se},ownerState:ce,className:(0,l.Z)(ue.paper,null==ae?void 0:ae.className)}),Pe=(0,c.Z)({elementType:Ee,externalSlotProps:(null==G?void 0:G.root)||{},externalForwardedProps:ie,additionalProps:{ref:n,slotProps:{backdrop:{invisible:!0}},container:ye,open:Y},ownerState:ce,className:(0,l.Z)(ue.root,j)}),Re=Pe.slotProps,Te=(0,i.Z)(Pe,T);return(0,k.jsx)(Ee,(0,r.Z)({},Te,!(0,u.Z)(Ee)&&{slotProps:Re},{children:(0,k.jsx)($,(0,r.Z)({appear:!0,in:Y,onEntering:function(e,n){te&&te(e,n),Ze()},onExited:function(){be(!1)},timeout:ge},re,{children:(0,k.jsx)(xe,(0,r.Z)({},ke,{children:D}))}))}))}))},78949:function(e,n,o){function t(){for(var e=arguments.length,n=new Array(e),o=0;o,