From 534f3ec6276b8d364b69c3ac5ad20efec8315ff4 Mon Sep 17 00:00:00 2001 From: Alex <33497058+bexsoft@users.noreply.github.com> Date: Wed, 11 Jan 2023 17:20:05 -0600 Subject: [PATCH] Release v0.22.5 (#2568) --- .../base/console-deployment.yaml | 2 +- .../standalone/console-deployment.yaml | 2 +- portal-ui/build/asset-manifest.json | 530 +++++++++--------- portal-ui/build/index.html | 2 +- ...33cf.chunk.css => 1275.8bbdd881.chunk.css} | 2 +- ...nk.css.map => 1275.8bbdd881.chunk.css.map} | 2 +- ...33cf.chunk.css => 1367.8bbdd881.chunk.css} | 2 +- ...nk.css.map => 1367.8bbdd881.chunk.css.map} | 2 +- ...33cf.chunk.css => 1507.8bbdd881.chunk.css} | 2 +- ...nk.css.map => 1507.8bbdd881.chunk.css.map} | 2 +- ...33cf.chunk.css => 2797.8bbdd881.chunk.css} | 2 +- ...nk.css.map => 2797.8bbdd881.chunk.css.map} | 2 +- ...c33cf.chunk.css => 343.8bbdd881.chunk.css} | 2 +- ...unk.css.map => 343.8bbdd881.chunk.css.map} | 2 +- .../build/static/css/3549.8bbdd881.chunk.css | 2 + .../static/css/3549.8bbdd881.chunk.css.map | 1 + .../build/static/css/3549.e99c33cf.chunk.css | 2 - .../static/css/3549.e99c33cf.chunk.css.map | 1 - .../build/static/css/3905.8bbdd881.chunk.css | 2 + .../static/css/3905.8bbdd881.chunk.css.map | 1 + .../build/static/css/5503.8bbdd881.chunk.css | 2 + .../static/css/5503.8bbdd881.chunk.css.map | 1 + .../build/static/css/5503.e99c33cf.chunk.css | 2 - .../static/css/5503.e99c33cf.chunk.css.map | 1 - .../build/static/css/5517.8bbdd881.chunk.css | 2 + .../static/css/5517.8bbdd881.chunk.css.map | 1 + .../build/static/css/5517.e99c33cf.chunk.css | 2 - .../static/css/5517.e99c33cf.chunk.css.map | 1 - .../build/static/css/6995.8bbdd881.chunk.css | 2 + .../static/css/6995.8bbdd881.chunk.css.map | 1 + .../build/static/css/6995.e99c33cf.chunk.css | 2 - .../static/css/6995.e99c33cf.chunk.css.map | 1 - .../build/static/css/9682.8bbdd881.chunk.css | 2 + .../static/css/9682.8bbdd881.chunk.css.map | 1 + .../build/static/css/9682.e99c33cf.chunk.css | 2 - .../static/css/9682.e99c33cf.chunk.css.map | 1 - portal-ui/build/static/css/main.7c092a9d.css | 2 + .../build/static/css/main.7c092a9d.css.map | 1 + portal-ui/build/static/css/main.b20a708b.css | 2 - .../build/static/css/main.b20a708b.css.map | 1 - .../build/static/js/1030.0c362d0c.chunk.js | 2 - .../static/js/1030.0c362d0c.chunk.js.map | 1 - .../build/static/js/1030.39fd7796.chunk.js | 2 + .../static/js/1030.39fd7796.chunk.js.map | 1 + .../build/static/js/1275.1d84ee6a.chunk.js | 2 + .../static/js/1275.1d84ee6a.chunk.js.map | 1 + .../build/static/js/1275.3857a963.chunk.js | 2 - .../static/js/1275.3857a963.chunk.js.map | 1 - .../build/static/js/1367.7ad56d1c.chunk.js | 2 + .../static/js/1367.7ad56d1c.chunk.js.map | 1 + .../build/static/js/1367.e7a5805d.chunk.js | 2 - .../static/js/1367.e7a5805d.chunk.js.map | 1 - .../build/static/js/1440.8750dde4.chunk.js | 2 - .../static/js/1440.8750dde4.chunk.js.map | 1 - .../build/static/js/1440.b5fbee60.chunk.js | 2 + .../static/js/1440.b5fbee60.chunk.js.map | 1 + .../build/static/js/1501.2b23a1c6.chunk.js | 2 - .../static/js/1501.2b23a1c6.chunk.js.map | 1 - .../build/static/js/1501.e543ab00.chunk.js | 2 + .../static/js/1501.e543ab00.chunk.js.map | 1 + .../build/static/js/1507.979cb39c.chunk.js | 2 + .../static/js/1507.979cb39c.chunk.js.map | 1 + .../build/static/js/1507.a4807651.chunk.js | 2 - .../static/js/1507.a4807651.chunk.js.map | 1 - .../build/static/js/1581.16dc83a0.chunk.js | 2 + .../static/js/1581.16dc83a0.chunk.js.map | 1 + .../build/static/js/1581.6892440d.chunk.js | 2 - .../static/js/1581.6892440d.chunk.js.map | 1 - .../build/static/js/1604.6758414b.chunk.js | 2 + .../static/js/1604.6758414b.chunk.js.map | 1 + .../build/static/js/1604.816d8ab5.chunk.js | 2 - .../static/js/1604.816d8ab5.chunk.js.map | 1 - .../build/static/js/1705.3ecc6022.chunk.js | 2 + .../static/js/1705.3ecc6022.chunk.js.map | 1 + .../build/static/js/1705.88e02e9a.chunk.js | 2 - .../static/js/1705.88e02e9a.chunk.js.map | 1 - ...996f85.chunk.js => 1799.b4e6b095.chunk.js} | 4 +- ...hunk.js.map => 1799.b4e6b095.chunk.js.map} | 2 +- .../build/static/js/1829.dddf5fc0.chunk.js | 2 - .../static/js/1829.dddf5fc0.chunk.js.map | 1 - .../build/static/js/1829.ebfd458a.chunk.js | 2 + .../static/js/1829.ebfd458a.chunk.js.map | 1 + .../build/static/js/2032.4598ddc6.chunk.js | 2 + .../static/js/2032.4598ddc6.chunk.js.map | 1 + ...5537ec.chunk.js => 2112.1820b142.chunk.js} | 4 +- .../static/js/2112.1820b142.chunk.js.map | 1 + .../static/js/2112.c85537ec.chunk.js.map | 1 - .../build/static/js/2180.26a5c38b.chunk.js | 2 - .../static/js/2180.26a5c38b.chunk.js.map | 1 - .../build/static/js/2180.dc0f648b.chunk.js | 2 + .../static/js/2180.dc0f648b.chunk.js.map | 1 + .../build/static/js/2185.9f8ebee0.chunk.js | 2 + .../static/js/2185.9f8ebee0.chunk.js.map | 1 + .../build/static/js/2185.b77a9469.chunk.js | 2 - .../static/js/2185.b77a9469.chunk.js.map | 1 - .../build/static/js/2338.0f7ba0f5.chunk.js | 2 - .../build/static/js/2338.d265a623.chunk.js | 2 + ...hunk.js.map => 2338.d265a623.chunk.js.map} | 2 +- .../static/js/2408.4f7b17cd.chunk.js.map | 1 - ...7b17cd.chunk.js => 2408.b23e320f.chunk.js} | 4 +- .../static/js/2408.b23e320f.chunk.js.map | 1 + .../build/static/js/247.37adf47a.chunk.js | 2 + .../build/static/js/247.37adf47a.chunk.js.map | 1 + .../build/static/js/247.f860e311.chunk.js | 2 - .../build/static/js/247.f860e311.chunk.js.map | 1 - .../build/static/js/2516.6c64276a.chunk.js | 2 + ...hunk.js.map => 2516.6c64276a.chunk.js.map} | 2 +- .../build/static/js/2516.c5c34c4d.chunk.js | 2 - .../build/static/js/2555.acd8bfbf.chunk.js | 2 - .../static/js/2555.acd8bfbf.chunk.js.map | 1 - .../build/static/js/2555.da84d5ce.chunk.js | 2 + .../static/js/2555.da84d5ce.chunk.js.map | 1 + .../build/static/js/2637.a78c67b6.chunk.js | 2 - .../static/js/2637.a78c67b6.chunk.js.map | 1 - .../build/static/js/2637.a7bb7b5b.chunk.js | 2 + .../static/js/2637.a7bb7b5b.chunk.js.map | 1 + .../build/static/js/2661.af7d8b4d.chunk.js | 2 + .../static/js/2661.af7d8b4d.chunk.js.map | 1 + .../build/static/js/2661.ec609143.chunk.js | 2 - .../static/js/2661.ec609143.chunk.js.map | 1 - .../build/static/js/2684.03e0baba.chunk.js | 2 - .../static/js/2684.03e0baba.chunk.js.map | 1 - .../build/static/js/2684.73fcefda.chunk.js | 2 + .../static/js/2684.73fcefda.chunk.js.map | 1 + .../build/static/js/2763.0e8b50c7.chunk.js | 2 - .../build/static/js/2763.7c4fb5a0.chunk.js | 2 + ...hunk.js.map => 2763.7c4fb5a0.chunk.js.map} | 2 +- .../build/static/js/2797.69df7d1d.chunk.js | 2 - .../static/js/2797.69df7d1d.chunk.js.map | 1 - .../build/static/js/2797.6dae3357.chunk.js | 2 + .../static/js/2797.6dae3357.chunk.js.map | 1 + .../build/static/js/2878.1330cf42.chunk.js | 2 - .../static/js/2878.1330cf42.chunk.js.map | 1 - .../build/static/js/2878.6ecef4ed.chunk.js | 2 + .../static/js/2878.6ecef4ed.chunk.js.map | 1 + .../build/static/js/2949.2cc2d873.chunk.js | 2 - .../static/js/2949.2cc2d873.chunk.js.map | 1 - .../build/static/js/2949.7c1ea98c.chunk.js | 2 + .../static/js/2949.7c1ea98c.chunk.js.map | 1 + .../build/static/js/2983.66d9f91c.chunk.js | 2 - .../build/static/js/2983.ca089e19.chunk.js | 2 + ...hunk.js.map => 2983.ca089e19.chunk.js.map} | 2 +- .../build/static/js/3034.eeaa9de7.chunk.js | 2 + .../static/js/3034.eeaa9de7.chunk.js.map | 1 + .../build/static/js/3061.12708207.chunk.js | 2 - .../static/js/3061.12708207.chunk.js.map | 1 - .../build/static/js/3061.ef8f8361.chunk.js | 2 + .../static/js/3061.ef8f8361.chunk.js.map | 1 + .../build/static/js/3097.b19643e9.chunk.js | 2 + .../static/js/3097.b19643e9.chunk.js.map | 1 + .../build/static/js/3097.c627671b.chunk.js | 2 - .../static/js/3097.c627671b.chunk.js.map | 1 - .../build/static/js/3115.da843172.chunk.js | 2 + .../static/js/3115.da843172.chunk.js.map | 1 + .../build/static/js/3119.1664ba97.chunk.js | 2 - .../static/js/3119.1664ba97.chunk.js.map | 1 - .../build/static/js/3119.e9b6547a.chunk.js | 2 + .../static/js/3119.e9b6547a.chunk.js.map | 1 + ...70148c8.chunk.js => 312.1397c0a8.chunk.js} | 4 +- .../build/static/js/312.1397c0a8.chunk.js.map | 1 + .../build/static/js/312.770148c8.chunk.js.map | 1 - .../build/static/js/3328.64f37bf8.chunk.js | 2 - .../static/js/3328.64f37bf8.chunk.js.map | 1 - .../build/static/js/343.08a3aa1e.chunk.js | 2 + .../build/static/js/343.08a3aa1e.chunk.js.map | 1 + .../build/static/js/343.0d456511.chunk.js | 2 - .../build/static/js/343.0d456511.chunk.js.map | 1 - .../build/static/js/3543.63b7961a.chunk.js | 2 - .../static/js/3543.63b7961a.chunk.js.map | 1 - .../build/static/js/3543.b27540db.chunk.js | 2 + .../static/js/3543.b27540db.chunk.js.map | 1 + .../build/static/js/3549.4d424641.chunk.js | 2 + .../static/js/3549.4d424641.chunk.js.map | 1 + .../build/static/js/3549.dbf06ae0.chunk.js | 2 - .../static/js/3549.dbf06ae0.chunk.js.map | 1 - .../build/static/js/3832.064838f9.chunk.js | 2 + .../static/js/3832.064838f9.chunk.js.map | 1 + .../build/static/js/3839.7de43728.chunk.js | 2 + .../static/js/3839.7de43728.chunk.js.map | 1 + .../build/static/js/3864.01198cc4.chunk.js | 2 + .../static/js/3864.01198cc4.chunk.js.map | 1 + .../build/static/js/3875.68ff4b06.chunk.js | 2 - .../static/js/3875.68ff4b06.chunk.js.map | 1 - .../build/static/js/3875.e4e37704.chunk.js | 2 + .../static/js/3875.e4e37704.chunk.js.map | 1 + .../build/static/js/3905.640266d7.chunk.js | 2 + .../static/js/3905.640266d7.chunk.js.map | 1 + ...b98a64.chunk.js => 3956.802d6679.chunk.js} | 4 +- .../static/js/3956.802d6679.chunk.js.map | 1 + .../static/js/3956.81b98a64.chunk.js.map | 1 - ...6c69861.chunk.js => 402.2318f11d.chunk.js} | 4 +- .../build/static/js/402.2318f11d.chunk.js.map | 1 + .../build/static/js/402.46c69861.chunk.js.map | 1 - ...d6fdd4.chunk.js => 4021.b25d428e.chunk.js} | 6 +- ...txt => 4021.b25d428e.chunk.js.LICENSE.txt} | 0 ...hunk.js.map => 4021.b25d428e.chunk.js.map} | 2 +- .../build/static/js/4061.21163e18.chunk.js | 2 + .../static/js/4061.21163e18.chunk.js.map | 1 + .../build/static/js/4061.bc2708cb.chunk.js | 2 - .../static/js/4061.bc2708cb.chunk.js.map | 1 - .../build/static/js/4131.498b212f.chunk.js | 2 - .../static/js/4131.498b212f.chunk.js.map | 1 - .../build/static/js/4131.fb6eaf02.chunk.js | 2 + .../static/js/4131.fb6eaf02.chunk.js.map | 1 + .../build/static/js/4133.4da17d39.chunk.js | 2 - .../static/js/4133.4da17d39.chunk.js.map | 1 - .../build/static/js/4133.fff44ab1.chunk.js | 2 + .../static/js/4133.fff44ab1.chunk.js.map | 1 + .../build/static/js/4209.06b0245b.chunk.js | 2 + .../static/js/4209.06b0245b.chunk.js.map | 1 + .../build/static/js/4209.d713bd2e.chunk.js | 2 - .../static/js/4209.d713bd2e.chunk.js.map | 1 - .../build/static/js/4335.e38511e4.chunk.js | 2 - .../static/js/4335.e38511e4.chunk.js.map | 1 - .../build/static/js/4335.fe71a24c.chunk.js | 2 + .../static/js/4335.fe71a24c.chunk.js.map | 1 + .../build/static/js/4414.8d9d85ec.chunk.js | 2 - .../static/js/4414.8d9d85ec.chunk.js.map | 1 - .../build/static/js/4414.ff3ede37.chunk.js | 2 + .../static/js/4414.ff3ede37.chunk.js.map | 1 + .../build/static/js/4455.93668d49.chunk.js | 2 + ...hunk.js.map => 4455.93668d49.chunk.js.map} | 2 +- .../build/static/js/4455.aceaa0c6.chunk.js | 2 - ...b142906.chunk.js => 455.1ab65317.chunk.js} | 4 +- .../build/static/js/455.1ab65317.chunk.js.map | 1 + .../build/static/js/455.4b142906.chunk.js.map | 1 - .../build/static/js/4619.1abcedba.chunk.js | 2 - .../static/js/4619.1abcedba.chunk.js.map | 1 - .../build/static/js/4619.beba8be5.chunk.js | 2 + .../static/js/4619.beba8be5.chunk.js.map | 1 + .../build/static/js/4672.a4d46683.chunk.js | 2 - .../static/js/4672.a4d46683.chunk.js.map | 1 - .../build/static/js/4672.df68fa8d.chunk.js | 2 + .../static/js/4672.df68fa8d.chunk.js.map | 1 + .../build/static/js/4781.27325faf.chunk.js | 2 + .../static/js/4781.27325faf.chunk.js.map | 1 + .../build/static/js/4781.f4794912.chunk.js | 2 - .../static/js/4781.f4794912.chunk.js.map | 1 - .../build/static/js/483.6f698412.chunk.js | 2 + .../build/static/js/483.6f698412.chunk.js.map | 1 + .../build/static/js/483.f2287673.chunk.js | 2 - .../build/static/js/483.f2287673.chunk.js.map | 1 - .../build/static/js/4873.1840dbc4.chunk.js | 2 + .../static/js/4873.1840dbc4.chunk.js.map | 1 + .../build/static/js/4873.5bde9bed.chunk.js | 2 - .../static/js/4873.5bde9bed.chunk.js.map | 1 - .../build/static/js/4902.04f664fa.chunk.js | 2 + .../static/js/4902.04f664fa.chunk.js.map | 1 + .../build/static/js/4902.0ede76f0.chunk.js | 2 - .../static/js/4902.0ede76f0.chunk.js.map | 1 - .../build/static/js/5088.2a540e0f.chunk.js | 2 - .../static/js/5088.2a540e0f.chunk.js.map | 1 - .../build/static/js/5088.e2dea68b.chunk.js | 2 + .../static/js/5088.e2dea68b.chunk.js.map | 1 + .../build/static/js/51.19251cf7.chunk.js | 2 - .../build/static/js/51.19251cf7.chunk.js.map | 1 - .../build/static/js/51.ab1fa6c3.chunk.js | 2 + .../build/static/js/51.ab1fa6c3.chunk.js.map | 1 + .../build/static/js/5112.145171e2.chunk.js | 2 - .../static/js/5112.145171e2.chunk.js.map | 1 - .../build/static/js/5112.1e71afd4.chunk.js | 2 + .../static/js/5112.1e71afd4.chunk.js.map | 1 + .../build/static/js/5140.c3d0a706.chunk.js | 2 - .../static/js/5140.c3d0a706.chunk.js.map | 1 - .../build/static/js/5140.d55a77e3.chunk.js | 2 + .../static/js/5140.d55a77e3.chunk.js.map | 1 + ...8fce49.chunk.js => 5223.d3ef0b66.chunk.js} | 4 +- ...hunk.js.map => 5223.d3ef0b66.chunk.js.map} | 2 +- ...c076fc.chunk.js => 5367.12b9d328.chunk.js} | 4 +- ...hunk.js.map => 5367.12b9d328.chunk.js.map} | 2 +- .../build/static/js/537.561ba81d.chunk.js | 2 + .../build/static/js/537.561ba81d.chunk.js.map | 1 + .../build/static/js/537.ac3e6c1f.chunk.js | 2 - .../build/static/js/537.ac3e6c1f.chunk.js.map | 1 - .../build/static/js/5503.99647175.chunk.js | 2 + .../static/js/5503.99647175.chunk.js.map | 1 + .../build/static/js/5503.ede909ff.chunk.js | 2 - .../static/js/5503.ede909ff.chunk.js.map | 1 - .../build/static/js/5517.c01a8b7c.chunk.js | 2 + .../static/js/5517.c01a8b7c.chunk.js.map | 1 + .../build/static/js/5517.c2167d52.chunk.js | 2 - .../static/js/5517.c2167d52.chunk.js.map | 1 - .../build/static/js/5643.58815d0f.chunk.js | 2 + .../static/js/5643.58815d0f.chunk.js.map | 1 + .../build/static/js/5643.d7b117e6.chunk.js | 2 - .../static/js/5643.d7b117e6.chunk.js.map | 1 - .../build/static/js/5690.770e1ac1.chunk.js | 2 - .../static/js/5690.770e1ac1.chunk.js.map | 1 - .../build/static/js/583.7e06d8f7.chunk.js | 2 + .../build/static/js/583.7e06d8f7.chunk.js.map | 1 + .../build/static/js/5861.37a1f0f2.chunk.js | 2 + .../static/js/5861.37a1f0f2.chunk.js.map | 1 + .../build/static/js/5861.9b443eee.chunk.js | 2 - .../static/js/5861.9b443eee.chunk.js.map | 1 - .../build/static/js/5882.6b35beab.chunk.js | 2 - .../static/js/5882.6b35beab.chunk.js.map | 1 - .../build/static/js/5882.ad761d2c.chunk.js | 2 + .../static/js/5882.ad761d2c.chunk.js.map | 1 + .../static/js/5926.916c8233.chunk.js.map | 1 - ...6c8233.chunk.js => 5926.b3d18dd7.chunk.js} | 4 +- .../static/js/5926.b3d18dd7.chunk.js.map | 1 + ...e721bd.chunk.js => 5995.686a9a3d.chunk.js} | 4 +- .../static/js/5995.686a9a3d.chunk.js.map | 1 + .../static/js/5995.aee721bd.chunk.js.map | 1 - .../build/static/js/6040.c297c8b1.chunk.js | 2 - .../static/js/6040.c297c8b1.chunk.js.map | 1 - .../build/static/js/6040.e12da05d.chunk.js | 2 + .../static/js/6040.e12da05d.chunk.js.map | 1 + .../build/static/js/6137.7535bbb1.chunk.js | 2 + ...hunk.js.map => 6137.7535bbb1.chunk.js.map} | 2 +- .../build/static/js/6137.90580e27.chunk.js | 2 - .../build/static/js/6401.2d1d41e3.chunk.js | 2 - .../static/js/6401.2d1d41e3.chunk.js.map | 1 - .../build/static/js/6401.f5081a76.chunk.js | 2 + .../static/js/6401.f5081a76.chunk.js.map | 1 + .../build/static/js/6405.0e2d66a4.chunk.js | 2 - .../static/js/6405.0e2d66a4.chunk.js.map | 1 - .../build/static/js/6405.a17792e5.chunk.js | 2 + .../static/js/6405.a17792e5.chunk.js.map | 1 + .../build/static/js/6510.29948999.chunk.js | 2 - .../static/js/6510.29948999.chunk.js.map | 1 - .../build/static/js/6526.a725f558.chunk.js | 2 - .../static/js/6526.a725f558.chunk.js.map | 1 - .../build/static/js/6526.fb2e4acc.chunk.js | 2 + .../static/js/6526.fb2e4acc.chunk.js.map | 1 + .../build/static/js/6577.8452e067.chunk.js | 2 + .../static/js/6577.8452e067.chunk.js.map | 1 + .../build/static/js/6577.caaa5471.chunk.js | 2 - .../static/js/6577.caaa5471.chunk.js.map | 1 - .../build/static/js/6621.4eb56e28.chunk.js | 2 + .../static/js/6621.4eb56e28.chunk.js.map | 1 + .../build/static/js/6763.d2f4f7b7.chunk.js | 2 - .../static/js/6763.d2f4f7b7.chunk.js.map | 1 - .../build/static/js/6895.8d73d55a.chunk.js | 2 - .../static/js/6895.8d73d55a.chunk.js.map | 1 - .../build/static/js/6895.d8bf854d.chunk.js | 2 + .../static/js/6895.d8bf854d.chunk.js.map | 1 + .../build/static/js/6901.9c779e6d.chunk.js | 2 + .../static/js/6901.9c779e6d.chunk.js.map | 1 + .../build/static/js/6901.d43d56e6.chunk.js | 2 - .../static/js/6901.d43d56e6.chunk.js.map | 1 - ...367537.chunk.js => 6914.9cc3ab4e.chunk.js} | 4 +- ...hunk.js.map => 6914.9cc3ab4e.chunk.js.map} | 2 +- .../build/static/js/692.6c4b6abb.chunk.js | 2 - .../build/static/js/692.6c4b6abb.chunk.js.map | 1 - .../build/static/js/692.aa4b543f.chunk.js | 2 + .../build/static/js/692.aa4b543f.chunk.js.map | 1 + .../build/static/js/6995.5b180444.chunk.js | 2 + .../static/js/6995.5b180444.chunk.js.map | 1 + .../build/static/js/6995.b765bc2f.chunk.js | 2 - .../static/js/6995.b765bc2f.chunk.js.map | 1 - .../build/static/js/701.c1e0e69c.chunk.js | 2 - .../build/static/js/701.c438988e.chunk.js | 2 + ...chunk.js.map => 701.c438988e.chunk.js.map} | 2 +- .../build/static/js/7021.35a1212b.chunk.js | 2 + .../static/js/7021.35a1212b.chunk.js.map | 1 + .../build/static/js/7021.cbf7f23a.chunk.js | 2 - .../static/js/7021.cbf7f23a.chunk.js.map | 1 - .../build/static/js/7092.98cb7d30.chunk.js | 2 - .../static/js/7092.98cb7d30.chunk.js.map | 1 - .../build/static/js/711.c9f818ab.chunk.js.map | 1 - ...9f818ab.chunk.js => 711.fbbd2d52.chunk.js} | 4 +- .../build/static/js/711.fbbd2d52.chunk.js.map | 1 + .../build/static/js/7164.3762a0c0.chunk.js | 2 - .../static/js/7164.3762a0c0.chunk.js.map | 1 - .../build/static/js/7164.ca69b510.chunk.js | 2 + .../static/js/7164.ca69b510.chunk.js.map | 1 + .../static/js/7295.acbcda52.chunk.js.map | 1 - ...bcda52.chunk.js => 7295.cfd1690b.chunk.js} | 4 +- .../static/js/7295.cfd1690b.chunk.js.map | 1 + .../build/static/js/7585.22a36735.chunk.js | 2 - .../static/js/7585.22a36735.chunk.js.map | 1 - .../build/static/js/7585.ab5a26e5.chunk.js | 2 + .../static/js/7585.ab5a26e5.chunk.js.map | 1 + .../build/static/js/7770.611c18cd.chunk.js | 2 + .../static/js/7770.611c18cd.chunk.js.map | 1 + .../build/static/js/7770.a8aef98b.chunk.js | 2 - .../static/js/7770.a8aef98b.chunk.js.map | 1 - .../build/static/js/7798.88e1551b.chunk.js | 2 - .../static/js/7798.88e1551b.chunk.js.map | 1 - .../build/static/js/7798.d6a28f0f.chunk.js | 2 + .../static/js/7798.d6a28f0f.chunk.js.map | 1 + ...9a6564.chunk.js => 7847.7319336d.chunk.js} | 4 +- .../static/js/7847.7319336d.chunk.js.map | 1 + .../static/js/7847.e49a6564.chunk.js.map | 1 - .../build/static/js/7873.0f0682a9.chunk.js | 2 - .../static/js/7873.0f0682a9.chunk.js.map | 1 - .../build/static/js/7873.7374a5f3.chunk.js | 2 + .../static/js/7873.7374a5f3.chunk.js.map | 1 + .../build/static/js/7893.f547add4.chunk.js | 2 + .../static/js/7893.f547add4.chunk.js.map | 1 + .../build/static/js/8277.78032a3f.chunk.js | 2 - .../static/js/8277.78032a3f.chunk.js.map | 1 - ...17d087.chunk.js => 8350.70bb0791.chunk.js} | 4 +- ...hunk.js.map => 8350.70bb0791.chunk.js.map} | 2 +- .../build/static/js/8360.19c25a88.chunk.js | 2 - .../static/js/8360.19c25a88.chunk.js.map | 1 - .../build/static/js/8360.c87a8251.chunk.js | 2 + .../static/js/8360.c87a8251.chunk.js.map | 1 + .../build/static/js/8391.875d2320.chunk.js | 2 - .../static/js/8391.875d2320.chunk.js.map | 1 - .../build/static/js/8455.416190cd.chunk.js | 2 + .../static/js/8455.416190cd.chunk.js.map | 1 + .../build/static/js/8455.5db6563b.chunk.js | 2 - .../static/js/8455.5db6563b.chunk.js.map | 1 - .../build/static/js/8626.198c0509.chunk.js | 2 - .../static/js/8626.198c0509.chunk.js.map | 1 - .../build/static/js/8626.d4b77c9f.chunk.js | 2 + .../static/js/8626.d4b77c9f.chunk.js.map | 1 + .../build/static/js/8725.7ed02e0c.chunk.js | 2 + .../static/js/8725.7ed02e0c.chunk.js.map | 1 + .../build/static/js/8833.6d5381bf.chunk.js | 2 + .../static/js/8833.6d5381bf.chunk.js.map | 1 + .../build/static/js/8833.cc57fe33.chunk.js | 2 - .../static/js/8833.cc57fe33.chunk.js.map | 1 - .../build/static/js/889.bba47c51.chunk.js | 2 - .../build/static/js/889.bba47c51.chunk.js.map | 1 - .../build/static/js/889.bc3ac140.chunk.js | 2 + .../build/static/js/889.bc3ac140.chunk.js.map | 1 + ...ddf273.chunk.js => 8896.aa552ac4.chunk.js} | 4 +- .../static/js/8896.aa552ac4.chunk.js.map | 1 + ...806e82.chunk.js => 8990.9cbc5e71.chunk.js} | 4 +- ...hunk.js.map => 8990.9cbc5e71.chunk.js.map} | 2 +- .../build/static/js/8998.6d51ddf2.chunk.js | 2 - .../static/js/8998.6d51ddf2.chunk.js.map | 1 - .../build/static/js/8998.a5f0b2dc.chunk.js | 2 + .../static/js/8998.a5f0b2dc.chunk.js.map | 1 + .../static/js/9031.d8ddf273.chunk.js.map | 1 - .../static/js/9088.17f4cb12.chunk.js.map | 1 - ...f4cb12.chunk.js => 9088.89fcd230.chunk.js} | 4 +- .../static/js/9088.89fcd230.chunk.js.map | 1 + ...72a7f7.chunk.js => 9134.764884d7.chunk.js} | 4 +- ...hunk.js.map => 9134.764884d7.chunk.js.map} | 2 +- .../static/js/9145.77b06f48.chunk.js.map | 1 - ...b06f48.chunk.js => 9145.b61c5e46.chunk.js} | 4 +- .../static/js/9145.b61c5e46.chunk.js.map | 1 + .../build/static/js/9179.26f8387f.chunk.js | 2 - .../static/js/9179.26f8387f.chunk.js.map | 1 - .../build/static/js/9179.962d592f.chunk.js | 2 + .../static/js/9179.962d592f.chunk.js.map | 1 + .../build/static/js/9221.38a31de2.chunk.js | 2 - .../build/static/js/9221.b78f1e48.chunk.js | 2 + ...hunk.js.map => 9221.b78f1e48.chunk.js.map} | 2 +- .../build/static/js/9251.a9e6e404.chunk.js | 2 + .../static/js/9251.a9e6e404.chunk.js.map | 1 + ...a667e5.chunk.js => 9297.ab07c841.chunk.js} | 4 +- ...hunk.js.map => 9297.ab07c841.chunk.js.map} | 2 +- .../build/static/js/9467.0ba82b58.chunk.js | 2 - .../static/js/9467.0ba82b58.chunk.js.map | 1 - .../build/static/js/9467.5eac6111.chunk.js | 2 + .../static/js/9467.5eac6111.chunk.js.map | 1 + .../build/static/js/9478.6a568948.chunk.js | 2 + .../static/js/9478.6a568948.chunk.js.map | 1 + .../build/static/js/9478.b1688b00.chunk.js | 2 - .../static/js/9478.b1688b00.chunk.js.map | 1 - ...6938ca.chunk.js => 9611.7f153cb9.chunk.js} | 4 +- ...hunk.js.map => 9611.7f153cb9.chunk.js.map} | 2 +- .../build/static/js/9682.5c31e74c.chunk.js | 2 - .../static/js/9682.5c31e74c.chunk.js.map | 1 - .../build/static/js/9682.bf1d4c51.chunk.js | 2 + .../static/js/9682.bf1d4c51.chunk.js.map | 1 + .../build/static/js/977.1d5d246f.chunk.js | 2 + .../build/static/js/977.1d5d246f.chunk.js.map | 1 + .../build/static/js/9779.4f8ac570.chunk.js | 2 + .../static/js/9779.4f8ac570.chunk.js.map | 1 + .../build/static/js/9779.6d822fe6.chunk.js | 2 - .../static/js/9779.6d822fe6.chunk.js.map | 1 - .../build/static/js/9918.80f0bfbe.chunk.js | 2 + .../static/js/9918.80f0bfbe.chunk.js.map | 1 + .../build/static/js/9952.5ed9b96a.chunk.js | 2 + .../static/js/9952.5ed9b96a.chunk.js.map | 1 + ...de9579.chunk.js => 9968.6da000eb.chunk.js} | 4 +- .../static/js/9968.6da000eb.chunk.js.map | 1 + .../static/js/9968.8cde9579.chunk.js.map | 1 - portal-ui/build/static/js/main.c7a9c285.js | 3 + ...CENSE.txt => main.c7a9c285.js.LICENSE.txt} | 0 .../build/static/js/main.c7a9c285.js.map | 1 + portal-ui/build/static/js/main.e02e3a76.js | 3 - .../build/static/js/main.e02e3a76.js.map | 1 - 479 files changed, 682 insertions(+), 637 deletions(-) rename portal-ui/build/static/css/{1275.e99c33cf.chunk.css => 1275.8bbdd881.chunk.css} (99%) rename portal-ui/build/static/css/{1507.e99c33cf.chunk.css.map => 1275.8bbdd881.chunk.css.map} (99%) rename portal-ui/build/static/css/{1507.e99c33cf.chunk.css => 1367.8bbdd881.chunk.css} (99%) rename portal-ui/build/static/css/{1275.e99c33cf.chunk.css.map => 1367.8bbdd881.chunk.css.map} (99%) rename portal-ui/build/static/css/{1367.e99c33cf.chunk.css => 1507.8bbdd881.chunk.css} (99%) rename portal-ui/build/static/css/{2797.e99c33cf.chunk.css.map => 1507.8bbdd881.chunk.css.map} (99%) rename portal-ui/build/static/css/{2797.e99c33cf.chunk.css => 2797.8bbdd881.chunk.css} (99%) rename portal-ui/build/static/css/{1367.e99c33cf.chunk.css.map => 2797.8bbdd881.chunk.css.map} (99%) rename portal-ui/build/static/css/{343.e99c33cf.chunk.css => 343.8bbdd881.chunk.css} (99%) rename portal-ui/build/static/css/{343.e99c33cf.chunk.css.map => 343.8bbdd881.chunk.css.map} (99%) create mode 100644 portal-ui/build/static/css/3549.8bbdd881.chunk.css create mode 100644 portal-ui/build/static/css/3549.8bbdd881.chunk.css.map delete mode 100644 portal-ui/build/static/css/3549.e99c33cf.chunk.css delete mode 100644 portal-ui/build/static/css/3549.e99c33cf.chunk.css.map create mode 100644 portal-ui/build/static/css/3905.8bbdd881.chunk.css create mode 100644 portal-ui/build/static/css/3905.8bbdd881.chunk.css.map create mode 100644 portal-ui/build/static/css/5503.8bbdd881.chunk.css create mode 100644 portal-ui/build/static/css/5503.8bbdd881.chunk.css.map delete mode 100644 portal-ui/build/static/css/5503.e99c33cf.chunk.css delete mode 100644 portal-ui/build/static/css/5503.e99c33cf.chunk.css.map create mode 100644 portal-ui/build/static/css/5517.8bbdd881.chunk.css create mode 100644 portal-ui/build/static/css/5517.8bbdd881.chunk.css.map delete mode 100644 portal-ui/build/static/css/5517.e99c33cf.chunk.css delete mode 100644 portal-ui/build/static/css/5517.e99c33cf.chunk.css.map create mode 100644 portal-ui/build/static/css/6995.8bbdd881.chunk.css create mode 100644 portal-ui/build/static/css/6995.8bbdd881.chunk.css.map delete mode 100644 portal-ui/build/static/css/6995.e99c33cf.chunk.css delete mode 100644 portal-ui/build/static/css/6995.e99c33cf.chunk.css.map create mode 100644 portal-ui/build/static/css/9682.8bbdd881.chunk.css create mode 100644 portal-ui/build/static/css/9682.8bbdd881.chunk.css.map delete mode 100644 portal-ui/build/static/css/9682.e99c33cf.chunk.css delete mode 100644 portal-ui/build/static/css/9682.e99c33cf.chunk.css.map create mode 100644 portal-ui/build/static/css/main.7c092a9d.css create mode 100644 portal-ui/build/static/css/main.7c092a9d.css.map delete mode 100644 portal-ui/build/static/css/main.b20a708b.css delete mode 100644 portal-ui/build/static/css/main.b20a708b.css.map delete mode 100644 portal-ui/build/static/js/1030.0c362d0c.chunk.js delete mode 100644 portal-ui/build/static/js/1030.0c362d0c.chunk.js.map create mode 100644 portal-ui/build/static/js/1030.39fd7796.chunk.js create mode 100644 portal-ui/build/static/js/1030.39fd7796.chunk.js.map create mode 100644 portal-ui/build/static/js/1275.1d84ee6a.chunk.js create mode 100644 portal-ui/build/static/js/1275.1d84ee6a.chunk.js.map delete mode 100644 portal-ui/build/static/js/1275.3857a963.chunk.js delete mode 100644 portal-ui/build/static/js/1275.3857a963.chunk.js.map create mode 100644 portal-ui/build/static/js/1367.7ad56d1c.chunk.js create mode 100644 portal-ui/build/static/js/1367.7ad56d1c.chunk.js.map delete mode 100644 portal-ui/build/static/js/1367.e7a5805d.chunk.js delete mode 100644 portal-ui/build/static/js/1367.e7a5805d.chunk.js.map delete mode 100644 portal-ui/build/static/js/1440.8750dde4.chunk.js delete mode 100644 portal-ui/build/static/js/1440.8750dde4.chunk.js.map create mode 100644 portal-ui/build/static/js/1440.b5fbee60.chunk.js create mode 100644 portal-ui/build/static/js/1440.b5fbee60.chunk.js.map delete mode 100644 portal-ui/build/static/js/1501.2b23a1c6.chunk.js delete mode 100644 portal-ui/build/static/js/1501.2b23a1c6.chunk.js.map create mode 100644 portal-ui/build/static/js/1501.e543ab00.chunk.js create mode 100644 portal-ui/build/static/js/1501.e543ab00.chunk.js.map create mode 100644 portal-ui/build/static/js/1507.979cb39c.chunk.js create mode 100644 portal-ui/build/static/js/1507.979cb39c.chunk.js.map delete mode 100644 portal-ui/build/static/js/1507.a4807651.chunk.js delete mode 100644 portal-ui/build/static/js/1507.a4807651.chunk.js.map create mode 100644 portal-ui/build/static/js/1581.16dc83a0.chunk.js create mode 100644 portal-ui/build/static/js/1581.16dc83a0.chunk.js.map delete mode 100644 portal-ui/build/static/js/1581.6892440d.chunk.js delete mode 100644 portal-ui/build/static/js/1581.6892440d.chunk.js.map create mode 100644 portal-ui/build/static/js/1604.6758414b.chunk.js create mode 100644 portal-ui/build/static/js/1604.6758414b.chunk.js.map delete mode 100644 portal-ui/build/static/js/1604.816d8ab5.chunk.js delete mode 100644 portal-ui/build/static/js/1604.816d8ab5.chunk.js.map create mode 100644 portal-ui/build/static/js/1705.3ecc6022.chunk.js create mode 100644 portal-ui/build/static/js/1705.3ecc6022.chunk.js.map delete mode 100644 portal-ui/build/static/js/1705.88e02e9a.chunk.js delete mode 100644 portal-ui/build/static/js/1705.88e02e9a.chunk.js.map rename portal-ui/build/static/js/{1799.d2996f85.chunk.js => 1799.b4e6b095.chunk.js} (96%) rename portal-ui/build/static/js/{1799.d2996f85.chunk.js.map => 1799.b4e6b095.chunk.js.map} (52%) delete mode 100644 portal-ui/build/static/js/1829.dddf5fc0.chunk.js delete mode 100644 portal-ui/build/static/js/1829.dddf5fc0.chunk.js.map create mode 100644 portal-ui/build/static/js/1829.ebfd458a.chunk.js create mode 100644 portal-ui/build/static/js/1829.ebfd458a.chunk.js.map create mode 100644 portal-ui/build/static/js/2032.4598ddc6.chunk.js create mode 100644 portal-ui/build/static/js/2032.4598ddc6.chunk.js.map rename portal-ui/build/static/js/{2112.c85537ec.chunk.js => 2112.1820b142.chunk.js} (90%) create mode 100644 portal-ui/build/static/js/2112.1820b142.chunk.js.map delete mode 100644 portal-ui/build/static/js/2112.c85537ec.chunk.js.map delete mode 100644 portal-ui/build/static/js/2180.26a5c38b.chunk.js delete mode 100644 portal-ui/build/static/js/2180.26a5c38b.chunk.js.map create mode 100644 portal-ui/build/static/js/2180.dc0f648b.chunk.js create mode 100644 portal-ui/build/static/js/2180.dc0f648b.chunk.js.map create mode 100644 portal-ui/build/static/js/2185.9f8ebee0.chunk.js create mode 100644 portal-ui/build/static/js/2185.9f8ebee0.chunk.js.map delete mode 100644 portal-ui/build/static/js/2185.b77a9469.chunk.js delete mode 100644 portal-ui/build/static/js/2185.b77a9469.chunk.js.map delete mode 100644 portal-ui/build/static/js/2338.0f7ba0f5.chunk.js create mode 100644 portal-ui/build/static/js/2338.d265a623.chunk.js rename portal-ui/build/static/js/{2338.0f7ba0f5.chunk.js.map => 2338.d265a623.chunk.js.map} (61%) delete mode 100644 portal-ui/build/static/js/2408.4f7b17cd.chunk.js.map rename portal-ui/build/static/js/{2408.4f7b17cd.chunk.js => 2408.b23e320f.chunk.js} (89%) create mode 100644 portal-ui/build/static/js/2408.b23e320f.chunk.js.map create mode 100644 portal-ui/build/static/js/247.37adf47a.chunk.js create mode 100644 portal-ui/build/static/js/247.37adf47a.chunk.js.map delete mode 100644 portal-ui/build/static/js/247.f860e311.chunk.js delete mode 100644 portal-ui/build/static/js/247.f860e311.chunk.js.map create mode 100644 portal-ui/build/static/js/2516.6c64276a.chunk.js rename portal-ui/build/static/js/{2516.c5c34c4d.chunk.js.map => 2516.6c64276a.chunk.js.map} (50%) delete mode 100644 portal-ui/build/static/js/2516.c5c34c4d.chunk.js delete mode 100644 portal-ui/build/static/js/2555.acd8bfbf.chunk.js delete mode 100644 portal-ui/build/static/js/2555.acd8bfbf.chunk.js.map create mode 100644 portal-ui/build/static/js/2555.da84d5ce.chunk.js create mode 100644 portal-ui/build/static/js/2555.da84d5ce.chunk.js.map delete mode 100644 portal-ui/build/static/js/2637.a78c67b6.chunk.js delete mode 100644 portal-ui/build/static/js/2637.a78c67b6.chunk.js.map create mode 100644 portal-ui/build/static/js/2637.a7bb7b5b.chunk.js create mode 100644 portal-ui/build/static/js/2637.a7bb7b5b.chunk.js.map create mode 100644 portal-ui/build/static/js/2661.af7d8b4d.chunk.js create mode 100644 portal-ui/build/static/js/2661.af7d8b4d.chunk.js.map delete mode 100644 portal-ui/build/static/js/2661.ec609143.chunk.js delete mode 100644 portal-ui/build/static/js/2661.ec609143.chunk.js.map delete mode 100644 portal-ui/build/static/js/2684.03e0baba.chunk.js delete mode 100644 portal-ui/build/static/js/2684.03e0baba.chunk.js.map create mode 100644 portal-ui/build/static/js/2684.73fcefda.chunk.js create mode 100644 portal-ui/build/static/js/2684.73fcefda.chunk.js.map delete mode 100644 portal-ui/build/static/js/2763.0e8b50c7.chunk.js create mode 100644 portal-ui/build/static/js/2763.7c4fb5a0.chunk.js rename portal-ui/build/static/js/{2763.0e8b50c7.chunk.js.map => 2763.7c4fb5a0.chunk.js.map} (50%) delete mode 100644 portal-ui/build/static/js/2797.69df7d1d.chunk.js delete mode 100644 portal-ui/build/static/js/2797.69df7d1d.chunk.js.map create mode 100644 portal-ui/build/static/js/2797.6dae3357.chunk.js create mode 100644 portal-ui/build/static/js/2797.6dae3357.chunk.js.map delete mode 100644 portal-ui/build/static/js/2878.1330cf42.chunk.js delete mode 100644 portal-ui/build/static/js/2878.1330cf42.chunk.js.map create mode 100644 portal-ui/build/static/js/2878.6ecef4ed.chunk.js create mode 100644 portal-ui/build/static/js/2878.6ecef4ed.chunk.js.map delete mode 100644 portal-ui/build/static/js/2949.2cc2d873.chunk.js delete mode 100644 portal-ui/build/static/js/2949.2cc2d873.chunk.js.map create mode 100644 portal-ui/build/static/js/2949.7c1ea98c.chunk.js create mode 100644 portal-ui/build/static/js/2949.7c1ea98c.chunk.js.map delete mode 100644 portal-ui/build/static/js/2983.66d9f91c.chunk.js create mode 100644 portal-ui/build/static/js/2983.ca089e19.chunk.js rename portal-ui/build/static/js/{2983.66d9f91c.chunk.js.map => 2983.ca089e19.chunk.js.map} (52%) create mode 100644 portal-ui/build/static/js/3034.eeaa9de7.chunk.js create mode 100644 portal-ui/build/static/js/3034.eeaa9de7.chunk.js.map delete mode 100644 portal-ui/build/static/js/3061.12708207.chunk.js delete mode 100644 portal-ui/build/static/js/3061.12708207.chunk.js.map create mode 100644 portal-ui/build/static/js/3061.ef8f8361.chunk.js create mode 100644 portal-ui/build/static/js/3061.ef8f8361.chunk.js.map create mode 100644 portal-ui/build/static/js/3097.b19643e9.chunk.js create mode 100644 portal-ui/build/static/js/3097.b19643e9.chunk.js.map delete mode 100644 portal-ui/build/static/js/3097.c627671b.chunk.js delete mode 100644 portal-ui/build/static/js/3097.c627671b.chunk.js.map create mode 100644 portal-ui/build/static/js/3115.da843172.chunk.js create mode 100644 portal-ui/build/static/js/3115.da843172.chunk.js.map delete mode 100644 portal-ui/build/static/js/3119.1664ba97.chunk.js delete mode 100644 portal-ui/build/static/js/3119.1664ba97.chunk.js.map create mode 100644 portal-ui/build/static/js/3119.e9b6547a.chunk.js create mode 100644 portal-ui/build/static/js/3119.e9b6547a.chunk.js.map rename portal-ui/build/static/js/{312.770148c8.chunk.js => 312.1397c0a8.chunk.js} (87%) create mode 100644 portal-ui/build/static/js/312.1397c0a8.chunk.js.map delete mode 100644 portal-ui/build/static/js/312.770148c8.chunk.js.map delete mode 100644 portal-ui/build/static/js/3328.64f37bf8.chunk.js delete mode 100644 portal-ui/build/static/js/3328.64f37bf8.chunk.js.map create mode 100644 portal-ui/build/static/js/343.08a3aa1e.chunk.js create mode 100644 portal-ui/build/static/js/343.08a3aa1e.chunk.js.map delete mode 100644 portal-ui/build/static/js/343.0d456511.chunk.js delete mode 100644 portal-ui/build/static/js/343.0d456511.chunk.js.map delete mode 100644 portal-ui/build/static/js/3543.63b7961a.chunk.js delete mode 100644 portal-ui/build/static/js/3543.63b7961a.chunk.js.map create mode 100644 portal-ui/build/static/js/3543.b27540db.chunk.js create mode 100644 portal-ui/build/static/js/3543.b27540db.chunk.js.map create mode 100644 portal-ui/build/static/js/3549.4d424641.chunk.js create mode 100644 portal-ui/build/static/js/3549.4d424641.chunk.js.map delete mode 100644 portal-ui/build/static/js/3549.dbf06ae0.chunk.js delete mode 100644 portal-ui/build/static/js/3549.dbf06ae0.chunk.js.map create mode 100644 portal-ui/build/static/js/3832.064838f9.chunk.js create mode 100644 portal-ui/build/static/js/3832.064838f9.chunk.js.map create mode 100644 portal-ui/build/static/js/3839.7de43728.chunk.js create mode 100644 portal-ui/build/static/js/3839.7de43728.chunk.js.map create mode 100644 portal-ui/build/static/js/3864.01198cc4.chunk.js create mode 100644 portal-ui/build/static/js/3864.01198cc4.chunk.js.map delete mode 100644 portal-ui/build/static/js/3875.68ff4b06.chunk.js delete mode 100644 portal-ui/build/static/js/3875.68ff4b06.chunk.js.map create mode 100644 portal-ui/build/static/js/3875.e4e37704.chunk.js create mode 100644 portal-ui/build/static/js/3875.e4e37704.chunk.js.map create mode 100644 portal-ui/build/static/js/3905.640266d7.chunk.js create mode 100644 portal-ui/build/static/js/3905.640266d7.chunk.js.map rename portal-ui/build/static/js/{3956.81b98a64.chunk.js => 3956.802d6679.chunk.js} (89%) create mode 100644 portal-ui/build/static/js/3956.802d6679.chunk.js.map delete mode 100644 portal-ui/build/static/js/3956.81b98a64.chunk.js.map rename portal-ui/build/static/js/{402.46c69861.chunk.js => 402.2318f11d.chunk.js} (90%) create mode 100644 portal-ui/build/static/js/402.2318f11d.chunk.js.map delete mode 100644 portal-ui/build/static/js/402.46c69861.chunk.js.map rename portal-ui/build/static/js/{8896.57d6fdd4.chunk.js => 4021.b25d428e.chunk.js} (52%) rename portal-ui/build/static/js/{8896.57d6fdd4.chunk.js.LICENSE.txt => 4021.b25d428e.chunk.js.LICENSE.txt} (100%) rename portal-ui/build/static/js/{8896.57d6fdd4.chunk.js.map => 4021.b25d428e.chunk.js.map} (50%) create mode 100644 portal-ui/build/static/js/4061.21163e18.chunk.js create mode 100644 portal-ui/build/static/js/4061.21163e18.chunk.js.map delete mode 100644 portal-ui/build/static/js/4061.bc2708cb.chunk.js delete mode 100644 portal-ui/build/static/js/4061.bc2708cb.chunk.js.map delete mode 100644 portal-ui/build/static/js/4131.498b212f.chunk.js delete mode 100644 portal-ui/build/static/js/4131.498b212f.chunk.js.map create mode 100644 portal-ui/build/static/js/4131.fb6eaf02.chunk.js create mode 100644 portal-ui/build/static/js/4131.fb6eaf02.chunk.js.map delete mode 100644 portal-ui/build/static/js/4133.4da17d39.chunk.js delete mode 100644 portal-ui/build/static/js/4133.4da17d39.chunk.js.map create mode 100644 portal-ui/build/static/js/4133.fff44ab1.chunk.js create mode 100644 portal-ui/build/static/js/4133.fff44ab1.chunk.js.map create mode 100644 portal-ui/build/static/js/4209.06b0245b.chunk.js create mode 100644 portal-ui/build/static/js/4209.06b0245b.chunk.js.map delete mode 100644 portal-ui/build/static/js/4209.d713bd2e.chunk.js delete mode 100644 portal-ui/build/static/js/4209.d713bd2e.chunk.js.map delete mode 100644 portal-ui/build/static/js/4335.e38511e4.chunk.js delete mode 100644 portal-ui/build/static/js/4335.e38511e4.chunk.js.map create mode 100644 portal-ui/build/static/js/4335.fe71a24c.chunk.js create mode 100644 portal-ui/build/static/js/4335.fe71a24c.chunk.js.map delete mode 100644 portal-ui/build/static/js/4414.8d9d85ec.chunk.js delete mode 100644 portal-ui/build/static/js/4414.8d9d85ec.chunk.js.map create mode 100644 portal-ui/build/static/js/4414.ff3ede37.chunk.js create mode 100644 portal-ui/build/static/js/4414.ff3ede37.chunk.js.map create mode 100644 portal-ui/build/static/js/4455.93668d49.chunk.js rename portal-ui/build/static/js/{4455.aceaa0c6.chunk.js.map => 4455.93668d49.chunk.js.map} (99%) delete mode 100644 portal-ui/build/static/js/4455.aceaa0c6.chunk.js rename portal-ui/build/static/js/{455.4b142906.chunk.js => 455.1ab65317.chunk.js} (88%) create mode 100644 portal-ui/build/static/js/455.1ab65317.chunk.js.map delete mode 100644 portal-ui/build/static/js/455.4b142906.chunk.js.map delete mode 100644 portal-ui/build/static/js/4619.1abcedba.chunk.js delete mode 100644 portal-ui/build/static/js/4619.1abcedba.chunk.js.map create mode 100644 portal-ui/build/static/js/4619.beba8be5.chunk.js create mode 100644 portal-ui/build/static/js/4619.beba8be5.chunk.js.map delete mode 100644 portal-ui/build/static/js/4672.a4d46683.chunk.js delete mode 100644 portal-ui/build/static/js/4672.a4d46683.chunk.js.map create mode 100644 portal-ui/build/static/js/4672.df68fa8d.chunk.js create mode 100644 portal-ui/build/static/js/4672.df68fa8d.chunk.js.map create mode 100644 portal-ui/build/static/js/4781.27325faf.chunk.js create mode 100644 portal-ui/build/static/js/4781.27325faf.chunk.js.map delete mode 100644 portal-ui/build/static/js/4781.f4794912.chunk.js delete mode 100644 portal-ui/build/static/js/4781.f4794912.chunk.js.map create mode 100644 portal-ui/build/static/js/483.6f698412.chunk.js create mode 100644 portal-ui/build/static/js/483.6f698412.chunk.js.map delete mode 100644 portal-ui/build/static/js/483.f2287673.chunk.js delete mode 100644 portal-ui/build/static/js/483.f2287673.chunk.js.map create mode 100644 portal-ui/build/static/js/4873.1840dbc4.chunk.js create mode 100644 portal-ui/build/static/js/4873.1840dbc4.chunk.js.map delete mode 100644 portal-ui/build/static/js/4873.5bde9bed.chunk.js delete mode 100644 portal-ui/build/static/js/4873.5bde9bed.chunk.js.map create mode 100644 portal-ui/build/static/js/4902.04f664fa.chunk.js create mode 100644 portal-ui/build/static/js/4902.04f664fa.chunk.js.map delete mode 100644 portal-ui/build/static/js/4902.0ede76f0.chunk.js delete mode 100644 portal-ui/build/static/js/4902.0ede76f0.chunk.js.map delete mode 100644 portal-ui/build/static/js/5088.2a540e0f.chunk.js delete mode 100644 portal-ui/build/static/js/5088.2a540e0f.chunk.js.map create mode 100644 portal-ui/build/static/js/5088.e2dea68b.chunk.js create mode 100644 portal-ui/build/static/js/5088.e2dea68b.chunk.js.map delete mode 100644 portal-ui/build/static/js/51.19251cf7.chunk.js delete mode 100644 portal-ui/build/static/js/51.19251cf7.chunk.js.map create mode 100644 portal-ui/build/static/js/51.ab1fa6c3.chunk.js create mode 100644 portal-ui/build/static/js/51.ab1fa6c3.chunk.js.map delete mode 100644 portal-ui/build/static/js/5112.145171e2.chunk.js delete mode 100644 portal-ui/build/static/js/5112.145171e2.chunk.js.map create mode 100644 portal-ui/build/static/js/5112.1e71afd4.chunk.js create mode 100644 portal-ui/build/static/js/5112.1e71afd4.chunk.js.map delete mode 100644 portal-ui/build/static/js/5140.c3d0a706.chunk.js delete mode 100644 portal-ui/build/static/js/5140.c3d0a706.chunk.js.map create mode 100644 portal-ui/build/static/js/5140.d55a77e3.chunk.js create mode 100644 portal-ui/build/static/js/5140.d55a77e3.chunk.js.map rename portal-ui/build/static/js/{5223.218fce49.chunk.js => 5223.d3ef0b66.chunk.js} (54%) rename portal-ui/build/static/js/{5223.218fce49.chunk.js.map => 5223.d3ef0b66.chunk.js.map} (68%) rename portal-ui/build/static/js/{5367.a0c076fc.chunk.js => 5367.12b9d328.chunk.js} (60%) rename portal-ui/build/static/js/{5367.a0c076fc.chunk.js.map => 5367.12b9d328.chunk.js.map} (99%) create mode 100644 portal-ui/build/static/js/537.561ba81d.chunk.js create mode 100644 portal-ui/build/static/js/537.561ba81d.chunk.js.map delete mode 100644 portal-ui/build/static/js/537.ac3e6c1f.chunk.js delete mode 100644 portal-ui/build/static/js/537.ac3e6c1f.chunk.js.map create mode 100644 portal-ui/build/static/js/5503.99647175.chunk.js create mode 100644 portal-ui/build/static/js/5503.99647175.chunk.js.map delete mode 100644 portal-ui/build/static/js/5503.ede909ff.chunk.js delete mode 100644 portal-ui/build/static/js/5503.ede909ff.chunk.js.map create mode 100644 portal-ui/build/static/js/5517.c01a8b7c.chunk.js create mode 100644 portal-ui/build/static/js/5517.c01a8b7c.chunk.js.map delete mode 100644 portal-ui/build/static/js/5517.c2167d52.chunk.js delete mode 100644 portal-ui/build/static/js/5517.c2167d52.chunk.js.map create mode 100644 portal-ui/build/static/js/5643.58815d0f.chunk.js create mode 100644 portal-ui/build/static/js/5643.58815d0f.chunk.js.map delete mode 100644 portal-ui/build/static/js/5643.d7b117e6.chunk.js delete mode 100644 portal-ui/build/static/js/5643.d7b117e6.chunk.js.map delete mode 100644 portal-ui/build/static/js/5690.770e1ac1.chunk.js delete mode 100644 portal-ui/build/static/js/5690.770e1ac1.chunk.js.map create mode 100644 portal-ui/build/static/js/583.7e06d8f7.chunk.js create mode 100644 portal-ui/build/static/js/583.7e06d8f7.chunk.js.map create mode 100644 portal-ui/build/static/js/5861.37a1f0f2.chunk.js create mode 100644 portal-ui/build/static/js/5861.37a1f0f2.chunk.js.map delete mode 100644 portal-ui/build/static/js/5861.9b443eee.chunk.js delete mode 100644 portal-ui/build/static/js/5861.9b443eee.chunk.js.map delete mode 100644 portal-ui/build/static/js/5882.6b35beab.chunk.js delete mode 100644 portal-ui/build/static/js/5882.6b35beab.chunk.js.map create mode 100644 portal-ui/build/static/js/5882.ad761d2c.chunk.js create mode 100644 portal-ui/build/static/js/5882.ad761d2c.chunk.js.map delete mode 100644 portal-ui/build/static/js/5926.916c8233.chunk.js.map rename portal-ui/build/static/js/{5926.916c8233.chunk.js => 5926.b3d18dd7.chunk.js} (98%) create mode 100644 portal-ui/build/static/js/5926.b3d18dd7.chunk.js.map rename portal-ui/build/static/js/{5995.aee721bd.chunk.js => 5995.686a9a3d.chunk.js} (99%) create mode 100644 portal-ui/build/static/js/5995.686a9a3d.chunk.js.map delete mode 100644 portal-ui/build/static/js/5995.aee721bd.chunk.js.map delete mode 100644 portal-ui/build/static/js/6040.c297c8b1.chunk.js delete mode 100644 portal-ui/build/static/js/6040.c297c8b1.chunk.js.map create mode 100644 portal-ui/build/static/js/6040.e12da05d.chunk.js create mode 100644 portal-ui/build/static/js/6040.e12da05d.chunk.js.map create mode 100644 portal-ui/build/static/js/6137.7535bbb1.chunk.js rename portal-ui/build/static/js/{6137.90580e27.chunk.js.map => 6137.7535bbb1.chunk.js.map} (99%) delete mode 100644 portal-ui/build/static/js/6137.90580e27.chunk.js delete mode 100644 portal-ui/build/static/js/6401.2d1d41e3.chunk.js delete mode 100644 portal-ui/build/static/js/6401.2d1d41e3.chunk.js.map create mode 100644 portal-ui/build/static/js/6401.f5081a76.chunk.js create mode 100644 portal-ui/build/static/js/6401.f5081a76.chunk.js.map delete mode 100644 portal-ui/build/static/js/6405.0e2d66a4.chunk.js delete mode 100644 portal-ui/build/static/js/6405.0e2d66a4.chunk.js.map create mode 100644 portal-ui/build/static/js/6405.a17792e5.chunk.js create mode 100644 portal-ui/build/static/js/6405.a17792e5.chunk.js.map delete mode 100644 portal-ui/build/static/js/6510.29948999.chunk.js delete mode 100644 portal-ui/build/static/js/6510.29948999.chunk.js.map delete mode 100644 portal-ui/build/static/js/6526.a725f558.chunk.js delete mode 100644 portal-ui/build/static/js/6526.a725f558.chunk.js.map create mode 100644 portal-ui/build/static/js/6526.fb2e4acc.chunk.js create mode 100644 portal-ui/build/static/js/6526.fb2e4acc.chunk.js.map create mode 100644 portal-ui/build/static/js/6577.8452e067.chunk.js create mode 100644 portal-ui/build/static/js/6577.8452e067.chunk.js.map delete mode 100644 portal-ui/build/static/js/6577.caaa5471.chunk.js delete mode 100644 portal-ui/build/static/js/6577.caaa5471.chunk.js.map create mode 100644 portal-ui/build/static/js/6621.4eb56e28.chunk.js create mode 100644 portal-ui/build/static/js/6621.4eb56e28.chunk.js.map delete mode 100644 portal-ui/build/static/js/6763.d2f4f7b7.chunk.js delete mode 100644 portal-ui/build/static/js/6763.d2f4f7b7.chunk.js.map delete mode 100644 portal-ui/build/static/js/6895.8d73d55a.chunk.js delete mode 100644 portal-ui/build/static/js/6895.8d73d55a.chunk.js.map create mode 100644 portal-ui/build/static/js/6895.d8bf854d.chunk.js create mode 100644 portal-ui/build/static/js/6895.d8bf854d.chunk.js.map create mode 100644 portal-ui/build/static/js/6901.9c779e6d.chunk.js create mode 100644 portal-ui/build/static/js/6901.9c779e6d.chunk.js.map delete mode 100644 portal-ui/build/static/js/6901.d43d56e6.chunk.js delete mode 100644 portal-ui/build/static/js/6901.d43d56e6.chunk.js.map rename portal-ui/build/static/js/{6914.98367537.chunk.js => 6914.9cc3ab4e.chunk.js} (84%) rename portal-ui/build/static/js/{6914.98367537.chunk.js.map => 6914.9cc3ab4e.chunk.js.map} (98%) delete mode 100644 portal-ui/build/static/js/692.6c4b6abb.chunk.js delete mode 100644 portal-ui/build/static/js/692.6c4b6abb.chunk.js.map create mode 100644 portal-ui/build/static/js/692.aa4b543f.chunk.js create mode 100644 portal-ui/build/static/js/692.aa4b543f.chunk.js.map create mode 100644 portal-ui/build/static/js/6995.5b180444.chunk.js create mode 100644 portal-ui/build/static/js/6995.5b180444.chunk.js.map delete mode 100644 portal-ui/build/static/js/6995.b765bc2f.chunk.js delete mode 100644 portal-ui/build/static/js/6995.b765bc2f.chunk.js.map delete mode 100644 portal-ui/build/static/js/701.c1e0e69c.chunk.js create mode 100644 portal-ui/build/static/js/701.c438988e.chunk.js rename portal-ui/build/static/js/{701.c1e0e69c.chunk.js.map => 701.c438988e.chunk.js.map} (99%) create mode 100644 portal-ui/build/static/js/7021.35a1212b.chunk.js create mode 100644 portal-ui/build/static/js/7021.35a1212b.chunk.js.map delete mode 100644 portal-ui/build/static/js/7021.cbf7f23a.chunk.js delete mode 100644 portal-ui/build/static/js/7021.cbf7f23a.chunk.js.map delete mode 100644 portal-ui/build/static/js/7092.98cb7d30.chunk.js delete mode 100644 portal-ui/build/static/js/7092.98cb7d30.chunk.js.map delete mode 100644 portal-ui/build/static/js/711.c9f818ab.chunk.js.map rename portal-ui/build/static/js/{711.c9f818ab.chunk.js => 711.fbbd2d52.chunk.js} (95%) create mode 100644 portal-ui/build/static/js/711.fbbd2d52.chunk.js.map delete mode 100644 portal-ui/build/static/js/7164.3762a0c0.chunk.js delete mode 100644 portal-ui/build/static/js/7164.3762a0c0.chunk.js.map create mode 100644 portal-ui/build/static/js/7164.ca69b510.chunk.js create mode 100644 portal-ui/build/static/js/7164.ca69b510.chunk.js.map delete mode 100644 portal-ui/build/static/js/7295.acbcda52.chunk.js.map rename portal-ui/build/static/js/{7295.acbcda52.chunk.js => 7295.cfd1690b.chunk.js} (86%) create mode 100644 portal-ui/build/static/js/7295.cfd1690b.chunk.js.map delete mode 100644 portal-ui/build/static/js/7585.22a36735.chunk.js delete mode 100644 portal-ui/build/static/js/7585.22a36735.chunk.js.map create mode 100644 portal-ui/build/static/js/7585.ab5a26e5.chunk.js create mode 100644 portal-ui/build/static/js/7585.ab5a26e5.chunk.js.map create mode 100644 portal-ui/build/static/js/7770.611c18cd.chunk.js create mode 100644 portal-ui/build/static/js/7770.611c18cd.chunk.js.map delete mode 100644 portal-ui/build/static/js/7770.a8aef98b.chunk.js delete mode 100644 portal-ui/build/static/js/7770.a8aef98b.chunk.js.map delete mode 100644 portal-ui/build/static/js/7798.88e1551b.chunk.js delete mode 100644 portal-ui/build/static/js/7798.88e1551b.chunk.js.map create mode 100644 portal-ui/build/static/js/7798.d6a28f0f.chunk.js create mode 100644 portal-ui/build/static/js/7798.d6a28f0f.chunk.js.map rename portal-ui/build/static/js/{7847.e49a6564.chunk.js => 7847.7319336d.chunk.js} (97%) create mode 100644 portal-ui/build/static/js/7847.7319336d.chunk.js.map delete mode 100644 portal-ui/build/static/js/7847.e49a6564.chunk.js.map delete mode 100644 portal-ui/build/static/js/7873.0f0682a9.chunk.js delete mode 100644 portal-ui/build/static/js/7873.0f0682a9.chunk.js.map create mode 100644 portal-ui/build/static/js/7873.7374a5f3.chunk.js create mode 100644 portal-ui/build/static/js/7873.7374a5f3.chunk.js.map create mode 100644 portal-ui/build/static/js/7893.f547add4.chunk.js create mode 100644 portal-ui/build/static/js/7893.f547add4.chunk.js.map delete mode 100644 portal-ui/build/static/js/8277.78032a3f.chunk.js delete mode 100644 portal-ui/build/static/js/8277.78032a3f.chunk.js.map rename portal-ui/build/static/js/{8350.ff17d087.chunk.js => 8350.70bb0791.chunk.js} (91%) rename portal-ui/build/static/js/{8350.ff17d087.chunk.js.map => 8350.70bb0791.chunk.js.map} (54%) delete mode 100644 portal-ui/build/static/js/8360.19c25a88.chunk.js delete mode 100644 portal-ui/build/static/js/8360.19c25a88.chunk.js.map create mode 100644 portal-ui/build/static/js/8360.c87a8251.chunk.js create mode 100644 portal-ui/build/static/js/8360.c87a8251.chunk.js.map delete mode 100644 portal-ui/build/static/js/8391.875d2320.chunk.js delete mode 100644 portal-ui/build/static/js/8391.875d2320.chunk.js.map create mode 100644 portal-ui/build/static/js/8455.416190cd.chunk.js create mode 100644 portal-ui/build/static/js/8455.416190cd.chunk.js.map delete mode 100644 portal-ui/build/static/js/8455.5db6563b.chunk.js delete mode 100644 portal-ui/build/static/js/8455.5db6563b.chunk.js.map delete mode 100644 portal-ui/build/static/js/8626.198c0509.chunk.js delete mode 100644 portal-ui/build/static/js/8626.198c0509.chunk.js.map create mode 100644 portal-ui/build/static/js/8626.d4b77c9f.chunk.js create mode 100644 portal-ui/build/static/js/8626.d4b77c9f.chunk.js.map create mode 100644 portal-ui/build/static/js/8725.7ed02e0c.chunk.js create mode 100644 portal-ui/build/static/js/8725.7ed02e0c.chunk.js.map create mode 100644 portal-ui/build/static/js/8833.6d5381bf.chunk.js create mode 100644 portal-ui/build/static/js/8833.6d5381bf.chunk.js.map delete mode 100644 portal-ui/build/static/js/8833.cc57fe33.chunk.js delete mode 100644 portal-ui/build/static/js/8833.cc57fe33.chunk.js.map delete mode 100644 portal-ui/build/static/js/889.bba47c51.chunk.js delete mode 100644 portal-ui/build/static/js/889.bba47c51.chunk.js.map create mode 100644 portal-ui/build/static/js/889.bc3ac140.chunk.js create mode 100644 portal-ui/build/static/js/889.bc3ac140.chunk.js.map rename portal-ui/build/static/js/{9031.d8ddf273.chunk.js => 8896.aa552ac4.chunk.js} (78%) create mode 100644 portal-ui/build/static/js/8896.aa552ac4.chunk.js.map rename portal-ui/build/static/js/{8990.4f806e82.chunk.js => 8990.9cbc5e71.chunk.js} (87%) rename portal-ui/build/static/js/{8990.4f806e82.chunk.js.map => 8990.9cbc5e71.chunk.js.map} (51%) delete mode 100644 portal-ui/build/static/js/8998.6d51ddf2.chunk.js delete mode 100644 portal-ui/build/static/js/8998.6d51ddf2.chunk.js.map create mode 100644 portal-ui/build/static/js/8998.a5f0b2dc.chunk.js create mode 100644 portal-ui/build/static/js/8998.a5f0b2dc.chunk.js.map delete mode 100644 portal-ui/build/static/js/9031.d8ddf273.chunk.js.map delete mode 100644 portal-ui/build/static/js/9088.17f4cb12.chunk.js.map rename portal-ui/build/static/js/{9088.17f4cb12.chunk.js => 9088.89fcd230.chunk.js} (95%) create mode 100644 portal-ui/build/static/js/9088.89fcd230.chunk.js.map rename portal-ui/build/static/js/{9134.a172a7f7.chunk.js => 9134.764884d7.chunk.js} (70%) rename portal-ui/build/static/js/{9134.a172a7f7.chunk.js.map => 9134.764884d7.chunk.js.map} (99%) delete mode 100644 portal-ui/build/static/js/9145.77b06f48.chunk.js.map rename portal-ui/build/static/js/{9145.77b06f48.chunk.js => 9145.b61c5e46.chunk.js} (66%) create mode 100644 portal-ui/build/static/js/9145.b61c5e46.chunk.js.map delete mode 100644 portal-ui/build/static/js/9179.26f8387f.chunk.js delete mode 100644 portal-ui/build/static/js/9179.26f8387f.chunk.js.map create mode 100644 portal-ui/build/static/js/9179.962d592f.chunk.js create mode 100644 portal-ui/build/static/js/9179.962d592f.chunk.js.map delete mode 100644 portal-ui/build/static/js/9221.38a31de2.chunk.js create mode 100644 portal-ui/build/static/js/9221.b78f1e48.chunk.js rename portal-ui/build/static/js/{9221.38a31de2.chunk.js.map => 9221.b78f1e48.chunk.js.map} (51%) create mode 100644 portal-ui/build/static/js/9251.a9e6e404.chunk.js create mode 100644 portal-ui/build/static/js/9251.a9e6e404.chunk.js.map rename portal-ui/build/static/js/{9297.0fa667e5.chunk.js => 9297.ab07c841.chunk.js} (57%) rename portal-ui/build/static/js/{9297.0fa667e5.chunk.js.map => 9297.ab07c841.chunk.js.map} (68%) delete mode 100644 portal-ui/build/static/js/9467.0ba82b58.chunk.js delete mode 100644 portal-ui/build/static/js/9467.0ba82b58.chunk.js.map create mode 100644 portal-ui/build/static/js/9467.5eac6111.chunk.js create mode 100644 portal-ui/build/static/js/9467.5eac6111.chunk.js.map create mode 100644 portal-ui/build/static/js/9478.6a568948.chunk.js create mode 100644 portal-ui/build/static/js/9478.6a568948.chunk.js.map delete mode 100644 portal-ui/build/static/js/9478.b1688b00.chunk.js delete mode 100644 portal-ui/build/static/js/9478.b1688b00.chunk.js.map rename portal-ui/build/static/js/{9611.dc6938ca.chunk.js => 9611.7f153cb9.chunk.js} (85%) rename portal-ui/build/static/js/{9611.dc6938ca.chunk.js.map => 9611.7f153cb9.chunk.js.map} (85%) delete mode 100644 portal-ui/build/static/js/9682.5c31e74c.chunk.js delete mode 100644 portal-ui/build/static/js/9682.5c31e74c.chunk.js.map create mode 100644 portal-ui/build/static/js/9682.bf1d4c51.chunk.js create mode 100644 portal-ui/build/static/js/9682.bf1d4c51.chunk.js.map create mode 100644 portal-ui/build/static/js/977.1d5d246f.chunk.js create mode 100644 portal-ui/build/static/js/977.1d5d246f.chunk.js.map create mode 100644 portal-ui/build/static/js/9779.4f8ac570.chunk.js create mode 100644 portal-ui/build/static/js/9779.4f8ac570.chunk.js.map delete mode 100644 portal-ui/build/static/js/9779.6d822fe6.chunk.js delete mode 100644 portal-ui/build/static/js/9779.6d822fe6.chunk.js.map create mode 100644 portal-ui/build/static/js/9918.80f0bfbe.chunk.js create mode 100644 portal-ui/build/static/js/9918.80f0bfbe.chunk.js.map create mode 100644 portal-ui/build/static/js/9952.5ed9b96a.chunk.js create mode 100644 portal-ui/build/static/js/9952.5ed9b96a.chunk.js.map rename portal-ui/build/static/js/{9968.8cde9579.chunk.js => 9968.6da000eb.chunk.js} (87%) create mode 100644 portal-ui/build/static/js/9968.6da000eb.chunk.js.map delete mode 100644 portal-ui/build/static/js/9968.8cde9579.chunk.js.map create mode 100644 portal-ui/build/static/js/main.c7a9c285.js rename portal-ui/build/static/js/{main.e02e3a76.js.LICENSE.txt => main.c7a9c285.js.LICENSE.txt} (100%) create mode 100644 portal-ui/build/static/js/main.c7a9c285.js.map delete mode 100644 portal-ui/build/static/js/main.e02e3a76.js delete mode 100644 portal-ui/build/static/js/main.e02e3a76.js.map diff --git a/k8s/operator-console/base/console-deployment.yaml b/k8s/operator-console/base/console-deployment.yaml index dc2814b72..1e44e5ea5 100644 --- a/k8s/operator-console/base/console-deployment.yaml +++ b/k8s/operator-console/base/console-deployment.yaml @@ -15,7 +15,7 @@ spec: serviceAccountName: console-sa containers: - name: console - image: 'minio/console:v0.22.4' + image: 'minio/console:v0.22.5' imagePullPolicy: "IfNotPresent" env: - name: CONSOLE_OPERATOR_MODE diff --git a/k8s/operator-console/standalone/console-deployment.yaml b/k8s/operator-console/standalone/console-deployment.yaml index 829d2dc87..b094a4b44 100644 --- a/k8s/operator-console/standalone/console-deployment.yaml +++ b/k8s/operator-console/standalone/console-deployment.yaml @@ -32,7 +32,7 @@ spec: spec: containers: - name: console - image: 'minio/console:v0.22.4' + image: 'minio/console:v0.22.5' imagePullPolicy: "IfNotPresent" env: - name: CONSOLE_MINIO_SERVER diff --git a/portal-ui/build/asset-manifest.json b/portal-ui/build/asset-manifest.json index 01bea6ecb..cf9df5081 100644 --- a/portal-ui/build/asset-manifest.json +++ b/portal-ui/build/asset-manifest.json @@ -1,166 +1,175 @@ { "files": { - "main.css": "./static/css/main.b20a708b.css", - "main.js": "./static/js/main.e02e3a76.js", + "main.css": "./static/css/main.7c092a9d.css", + "main.js": "./static/js/main.c7a9c285.js", "static/js/1260.4885d31b.chunk.js": "./static/js/1260.4885d31b.chunk.js", - "static/js/6914.98367537.chunk.js": "./static/js/6914.98367537.chunk.js", - "static/js/4209.d713bd2e.chunk.js": "./static/js/4209.d713bd2e.chunk.js", - "static/js/1829.dddf5fc0.chunk.js": "./static/js/1829.dddf5fc0.chunk.js", - "static/js/4455.aceaa0c6.chunk.js": "./static/js/4455.aceaa0c6.chunk.js", - "static/js/5088.2a540e0f.chunk.js": "./static/js/5088.2a540e0f.chunk.js", - "static/js/5140.c3d0a706.chunk.js": "./static/js/5140.c3d0a706.chunk.js", + "static/js/6914.9cc3ab4e.chunk.js": "./static/js/6914.9cc3ab4e.chunk.js", + "static/js/4209.06b0245b.chunk.js": "./static/js/4209.06b0245b.chunk.js", + "static/js/1829.ebfd458a.chunk.js": "./static/js/1829.ebfd458a.chunk.js", + "static/js/4455.93668d49.chunk.js": "./static/js/4455.93668d49.chunk.js", + "static/js/5088.e2dea68b.chunk.js": "./static/js/5088.e2dea68b.chunk.js", + "static/js/5140.d55a77e3.chunk.js": "./static/js/5140.d55a77e3.chunk.js", "static/js/852.952af138.chunk.js": "./static/js/852.952af138.chunk.js", - "static/css/1275.e99c33cf.chunk.css": "./static/css/1275.e99c33cf.chunk.css", - "static/js/1275.3857a963.chunk.js": "./static/js/1275.3857a963.chunk.js", + "static/css/1275.8bbdd881.chunk.css": "./static/css/1275.8bbdd881.chunk.css", + "static/js/1275.1d84ee6a.chunk.js": "./static/js/1275.1d84ee6a.chunk.js", "static/js/3176.59846ccd.chunk.js": "./static/js/3176.59846ccd.chunk.js", - "static/js/6137.90580e27.chunk.js": "./static/js/6137.90580e27.chunk.js", - "static/js/5995.aee721bd.chunk.js": "./static/js/5995.aee721bd.chunk.js", - "static/js/7092.98cb7d30.chunk.js": "./static/js/7092.98cb7d30.chunk.js", - "static/js/2338.0f7ba0f5.chunk.js": "./static/js/2338.0f7ba0f5.chunk.js", - "static/js/4335.e38511e4.chunk.js": "./static/js/4335.e38511e4.chunk.js", - "static/js/3061.12708207.chunk.js": "./static/js/3061.12708207.chunk.js", - "static/js/6763.d2f4f7b7.chunk.js": "./static/js/6763.d2f4f7b7.chunk.js", - "static/js/3543.63b7961a.chunk.js": "./static/js/3543.63b7961a.chunk.js", - "static/js/4061.bc2708cb.chunk.js": "./static/js/4061.bc2708cb.chunk.js", - "static/js/5112.145171e2.chunk.js": "./static/js/5112.145171e2.chunk.js", - "static/js/9611.dc6938ca.chunk.js": "./static/js/9611.dc6938ca.chunk.js", - "static/js/2637.a78c67b6.chunk.js": "./static/js/2637.a78c67b6.chunk.js", - "static/css/5503.e99c33cf.chunk.css": "./static/css/5503.e99c33cf.chunk.css", - "static/js/5503.ede909ff.chunk.js": "./static/js/5503.ede909ff.chunk.js", - "static/js/5926.916c8233.chunk.js": "./static/js/5926.916c8233.chunk.js", - "static/js/6040.c297c8b1.chunk.js": "./static/js/6040.c297c8b1.chunk.js", - "static/js/701.c1e0e69c.chunk.js": "./static/js/701.c1e0e69c.chunk.js", + "static/js/6137.7535bbb1.chunk.js": "./static/js/6137.7535bbb1.chunk.js", + "static/js/5995.686a9a3d.chunk.js": "./static/js/5995.686a9a3d.chunk.js", + "static/js/9251.a9e6e404.chunk.js": "./static/js/9251.a9e6e404.chunk.js", + "static/js/2338.d265a623.chunk.js": "./static/js/2338.d265a623.chunk.js", + "static/js/4335.fe71a24c.chunk.js": "./static/js/4335.fe71a24c.chunk.js", + "static/js/3061.ef8f8361.chunk.js": "./static/js/3061.ef8f8361.chunk.js", + "static/js/3832.064838f9.chunk.js": "./static/js/3832.064838f9.chunk.js", + "static/js/3543.b27540db.chunk.js": "./static/js/3543.b27540db.chunk.js", + "static/js/4061.21163e18.chunk.js": "./static/js/4061.21163e18.chunk.js", + "static/js/5112.1e71afd4.chunk.js": "./static/js/5112.1e71afd4.chunk.js", + "static/js/9611.7f153cb9.chunk.js": "./static/js/9611.7f153cb9.chunk.js", + "static/js/2637.a7bb7b5b.chunk.js": "./static/js/2637.a7bb7b5b.chunk.js", + "static/css/5503.8bbdd881.chunk.css": "./static/css/5503.8bbdd881.chunk.css", + "static/js/5503.99647175.chunk.js": "./static/js/5503.99647175.chunk.js", + "static/js/5926.b3d18dd7.chunk.js": "./static/js/5926.b3d18dd7.chunk.js", + "static/js/6040.e12da05d.chunk.js": "./static/js/6040.e12da05d.chunk.js", + "static/js/701.c438988e.chunk.js": "./static/js/701.c438988e.chunk.js", "static/js/7821.150c08fd.chunk.js": "./static/js/7821.150c08fd.chunk.js", - "static/css/6995.e99c33cf.chunk.css": "./static/css/6995.e99c33cf.chunk.css", - "static/js/6995.b765bc2f.chunk.js": "./static/js/6995.b765bc2f.chunk.js", - "static/js/4131.498b212f.chunk.js": "./static/js/4131.498b212f.chunk.js", - "static/css/343.e99c33cf.chunk.css": "./static/css/343.e99c33cf.chunk.css", - "static/js/343.0d456511.chunk.js": "./static/js/343.0d456511.chunk.js", - "static/css/3549.e99c33cf.chunk.css": "./static/css/3549.e99c33cf.chunk.css", - "static/js/3549.dbf06ae0.chunk.js": "./static/js/3549.dbf06ae0.chunk.js", - "static/css/5517.e99c33cf.chunk.css": "./static/css/5517.e99c33cf.chunk.css", - "static/js/5517.c2167d52.chunk.js": "./static/js/5517.c2167d52.chunk.js", - "static/js/2555.acd8bfbf.chunk.js": "./static/js/2555.acd8bfbf.chunk.js", + "static/css/6995.8bbdd881.chunk.css": "./static/css/6995.8bbdd881.chunk.css", + "static/js/6995.5b180444.chunk.js": "./static/js/6995.5b180444.chunk.js", + "static/js/4131.fb6eaf02.chunk.js": "./static/js/4131.fb6eaf02.chunk.js", + "static/css/343.8bbdd881.chunk.css": "./static/css/343.8bbdd881.chunk.css", + "static/js/343.08a3aa1e.chunk.js": "./static/js/343.08a3aa1e.chunk.js", + "static/css/3549.8bbdd881.chunk.css": "./static/css/3549.8bbdd881.chunk.css", + "static/js/3549.4d424641.chunk.js": "./static/js/3549.4d424641.chunk.js", + "static/css/5517.8bbdd881.chunk.css": "./static/css/5517.8bbdd881.chunk.css", + "static/js/5517.c01a8b7c.chunk.js": "./static/js/5517.c01a8b7c.chunk.js", + "static/js/2555.da84d5ce.chunk.js": "./static/js/2555.da84d5ce.chunk.js", "static/js/7486.83e0d248.chunk.js": "./static/js/7486.83e0d248.chunk.js", "static/js/1377.6fbc40f3.chunk.js": "./static/js/1377.6fbc40f3.chunk.js", - "static/js/4672.a4d46683.chunk.js": "./static/js/4672.a4d46683.chunk.js", - "static/js/2516.c5c34c4d.chunk.js": "./static/js/2516.c5c34c4d.chunk.js", + "static/js/4672.df68fa8d.chunk.js": "./static/js/4672.df68fa8d.chunk.js", + "static/js/2516.6c64276a.chunk.js": "./static/js/2516.6c64276a.chunk.js", "static/js/2759.e83946f0.chunk.js": "./static/js/2759.e83946f0.chunk.js", - "static/js/7295.acbcda52.chunk.js": "./static/js/7295.acbcda52.chunk.js", - "static/js/7585.22a36735.chunk.js": "./static/js/7585.22a36735.chunk.js", - "static/js/4902.0ede76f0.chunk.js": "./static/js/4902.0ede76f0.chunk.js", - "static/js/7847.e49a6564.chunk.js": "./static/js/7847.e49a6564.chunk.js", - "static/js/3097.c627671b.chunk.js": "./static/js/3097.c627671b.chunk.js", - "static/js/692.6c4b6abb.chunk.js": "./static/js/692.6c4b6abb.chunk.js", - "static/js/8626.198c0509.chunk.js": "./static/js/8626.198c0509.chunk.js", - "static/js/8360.19c25a88.chunk.js": "./static/js/8360.19c25a88.chunk.js", - "static/js/6577.caaa5471.chunk.js": "./static/js/6577.caaa5471.chunk.js", - "static/js/3875.68ff4b06.chunk.js": "./static/js/3875.68ff4b06.chunk.js", - "static/js/6401.2d1d41e3.chunk.js": "./static/js/6401.2d1d41e3.chunk.js", - "static/js/2949.2cc2d873.chunk.js": "./static/js/2949.2cc2d873.chunk.js", - "static/js/3119.1664ba97.chunk.js": "./static/js/3119.1664ba97.chunk.js", - "static/js/5643.d7b117e6.chunk.js": "./static/js/5643.d7b117e6.chunk.js", - "static/js/4781.f4794912.chunk.js": "./static/js/4781.f4794912.chunk.js", - "static/js/9478.b1688b00.chunk.js": "./static/js/9478.b1688b00.chunk.js", - "static/js/7164.3762a0c0.chunk.js": "./static/js/7164.3762a0c0.chunk.js", - "static/js/4414.8d9d85ec.chunk.js": "./static/js/4414.8d9d85ec.chunk.js", - "static/js/7798.88e1551b.chunk.js": "./static/js/7798.88e1551b.chunk.js", - "static/js/8833.cc57fe33.chunk.js": "./static/js/8833.cc57fe33.chunk.js", - "static/js/6526.a725f558.chunk.js": "./static/js/6526.a725f558.chunk.js", - "static/js/483.f2287673.chunk.js": "./static/js/483.f2287673.chunk.js", - "static/js/5882.6b35beab.chunk.js": "./static/js/5882.6b35beab.chunk.js", - "static/js/5690.770e1ac1.chunk.js": "./static/js/5690.770e1ac1.chunk.js", - "static/js/9467.0ba82b58.chunk.js": "./static/js/9467.0ba82b58.chunk.js", - "static/js/6895.8d73d55a.chunk.js": "./static/js/6895.8d73d55a.chunk.js", - "static/js/8277.78032a3f.chunk.js": "./static/js/8277.78032a3f.chunk.js", - "static/js/4133.4da17d39.chunk.js": "./static/js/4133.4da17d39.chunk.js", - "static/css/1367.e99c33cf.chunk.css": "./static/css/1367.e99c33cf.chunk.css", - "static/js/1367.e7a5805d.chunk.js": "./static/js/1367.e7a5805d.chunk.js", - "static/js/3956.81b98a64.chunk.js": "./static/js/3956.81b98a64.chunk.js", - "static/js/9221.38a31de2.chunk.js": "./static/js/9221.38a31de2.chunk.js", - "static/js/9031.d8ddf273.chunk.js": "./static/js/9031.d8ddf273.chunk.js", - "static/js/9134.a172a7f7.chunk.js": "./static/js/9134.a172a7f7.chunk.js", - "static/css/1507.e99c33cf.chunk.css": "./static/css/1507.e99c33cf.chunk.css", - "static/js/1507.a4807651.chunk.js": "./static/js/1507.a4807651.chunk.js", - "static/js/1030.0c362d0c.chunk.js": "./static/js/1030.0c362d0c.chunk.js", - "static/js/9145.77b06f48.chunk.js": "./static/js/9145.77b06f48.chunk.js", - "static/js/8998.6d51ddf2.chunk.js": "./static/js/8998.6d51ddf2.chunk.js", - "static/js/1501.2b23a1c6.chunk.js": "./static/js/1501.2b23a1c6.chunk.js", - "static/js/7770.a8aef98b.chunk.js": "./static/js/7770.a8aef98b.chunk.js", + "static/js/7295.cfd1690b.chunk.js": "./static/js/7295.cfd1690b.chunk.js", + "static/js/7585.ab5a26e5.chunk.js": "./static/js/7585.ab5a26e5.chunk.js", + "static/js/4902.04f664fa.chunk.js": "./static/js/4902.04f664fa.chunk.js", + "static/js/7847.7319336d.chunk.js": "./static/js/7847.7319336d.chunk.js", + "static/js/3097.b19643e9.chunk.js": "./static/js/3097.b19643e9.chunk.js", + "static/js/692.aa4b543f.chunk.js": "./static/js/692.aa4b543f.chunk.js", + "static/js/8626.d4b77c9f.chunk.js": "./static/js/8626.d4b77c9f.chunk.js", + "static/js/8360.c87a8251.chunk.js": "./static/js/8360.c87a8251.chunk.js", + "static/js/6577.8452e067.chunk.js": "./static/js/6577.8452e067.chunk.js", + "static/js/3875.e4e37704.chunk.js": "./static/js/3875.e4e37704.chunk.js", + "static/js/6401.f5081a76.chunk.js": "./static/js/6401.f5081a76.chunk.js", + "static/js/2949.7c1ea98c.chunk.js": "./static/js/2949.7c1ea98c.chunk.js", + "static/js/3119.e9b6547a.chunk.js": "./static/js/3119.e9b6547a.chunk.js", + "static/js/3115.da843172.chunk.js": "./static/js/3115.da843172.chunk.js", + "static/js/5643.58815d0f.chunk.js": "./static/js/5643.58815d0f.chunk.js", + "static/js/4781.27325faf.chunk.js": "./static/js/4781.27325faf.chunk.js", + "static/js/9478.6a568948.chunk.js": "./static/js/9478.6a568948.chunk.js", + "static/js/7164.ca69b510.chunk.js": "./static/js/7164.ca69b510.chunk.js", + "static/js/4414.ff3ede37.chunk.js": "./static/js/4414.ff3ede37.chunk.js", + "static/js/7798.d6a28f0f.chunk.js": "./static/js/7798.d6a28f0f.chunk.js", + "static/js/8833.6d5381bf.chunk.js": "./static/js/8833.6d5381bf.chunk.js", + "static/js/6526.fb2e4acc.chunk.js": "./static/js/6526.fb2e4acc.chunk.js", + "static/js/483.6f698412.chunk.js": "./static/js/483.6f698412.chunk.js", + "static/js/5882.ad761d2c.chunk.js": "./static/js/5882.ad761d2c.chunk.js", + "static/js/583.7e06d8f7.chunk.js": "./static/js/583.7e06d8f7.chunk.js", + "static/js/9467.5eac6111.chunk.js": "./static/js/9467.5eac6111.chunk.js", + "static/js/6895.d8bf854d.chunk.js": "./static/js/6895.d8bf854d.chunk.js", + "static/js/977.1d5d246f.chunk.js": "./static/js/977.1d5d246f.chunk.js", + "static/js/4133.fff44ab1.chunk.js": "./static/js/4133.fff44ab1.chunk.js", + "static/css/1367.8bbdd881.chunk.css": "./static/css/1367.8bbdd881.chunk.css", + "static/js/1367.7ad56d1c.chunk.js": "./static/js/1367.7ad56d1c.chunk.js", + "static/js/3956.802d6679.chunk.js": "./static/js/3956.802d6679.chunk.js", + "static/js/9221.b78f1e48.chunk.js": "./static/js/9221.b78f1e48.chunk.js", + "static/js/8896.aa552ac4.chunk.js": "./static/js/8896.aa552ac4.chunk.js", + "static/js/9134.764884d7.chunk.js": "./static/js/9134.764884d7.chunk.js", + "static/css/1507.8bbdd881.chunk.css": "./static/css/1507.8bbdd881.chunk.css", + "static/js/1507.979cb39c.chunk.js": "./static/js/1507.979cb39c.chunk.js", + "static/js/1030.39fd7796.chunk.js": "./static/js/1030.39fd7796.chunk.js", + "static/js/9145.b61c5e46.chunk.js": "./static/js/9145.b61c5e46.chunk.js", + "static/js/8998.a5f0b2dc.chunk.js": "./static/js/8998.a5f0b2dc.chunk.js", + "static/js/1501.e543ab00.chunk.js": "./static/js/1501.e543ab00.chunk.js", + "static/js/7770.611c18cd.chunk.js": "./static/js/7770.611c18cd.chunk.js", "static/js/426.571c3a27.chunk.js": "./static/js/426.571c3a27.chunk.js", "static/js/4298.9f1c9963.chunk.js": "./static/js/4298.9f1c9963.chunk.js", - "static/js/2878.1330cf42.chunk.js": "./static/js/2878.1330cf42.chunk.js", + "static/js/2878.6ecef4ed.chunk.js": "./static/js/2878.6ecef4ed.chunk.js", "static/js/8495.1d26a441.chunk.js": "./static/js/8495.1d26a441.chunk.js", "static/js/4934.bd3169e8.chunk.js": "./static/js/4934.bd3169e8.chunk.js", "static/js/9942.28c4ca07.chunk.js": "./static/js/9942.28c4ca07.chunk.js", - "static/js/7021.cbf7f23a.chunk.js": "./static/js/7021.cbf7f23a.chunk.js", - "static/js/2684.03e0baba.chunk.js": "./static/js/2684.03e0baba.chunk.js", - "static/css/2797.e99c33cf.chunk.css": "./static/css/2797.e99c33cf.chunk.css", - "static/js/2797.69df7d1d.chunk.js": "./static/js/2797.69df7d1d.chunk.js", - "static/js/8350.ff17d087.chunk.js": "./static/js/8350.ff17d087.chunk.js", - "static/js/4873.5bde9bed.chunk.js": "./static/js/4873.5bde9bed.chunk.js", - "static/js/5367.a0c076fc.chunk.js": "./static/js/5367.a0c076fc.chunk.js", - "static/js/6405.0e2d66a4.chunk.js": "./static/js/6405.0e2d66a4.chunk.js", - "static/js/5223.218fce49.chunk.js": "./static/js/5223.218fce49.chunk.js", - "static/js/1799.d2996f85.chunk.js": "./static/js/1799.d2996f85.chunk.js", - "static/js/9297.0fa667e5.chunk.js": "./static/js/9297.0fa667e5.chunk.js", - "static/js/711.c9f818ab.chunk.js": "./static/js/711.c9f818ab.chunk.js", - "static/js/6901.d43d56e6.chunk.js": "./static/js/6901.d43d56e6.chunk.js", - "static/js/2185.b77a9469.chunk.js": "./static/js/2185.b77a9469.chunk.js", - "static/js/9968.8cde9579.chunk.js": "./static/js/9968.8cde9579.chunk.js", - "static/js/2180.26a5c38b.chunk.js": "./static/js/2180.26a5c38b.chunk.js", + "static/js/7021.35a1212b.chunk.js": "./static/js/7021.35a1212b.chunk.js", + "static/js/2684.73fcefda.chunk.js": "./static/js/2684.73fcefda.chunk.js", + "static/css/2797.8bbdd881.chunk.css": "./static/css/2797.8bbdd881.chunk.css", + "static/js/2797.6dae3357.chunk.js": "./static/js/2797.6dae3357.chunk.js", + "static/js/8350.70bb0791.chunk.js": "./static/js/8350.70bb0791.chunk.js", + "static/js/4873.1840dbc4.chunk.js": "./static/js/4873.1840dbc4.chunk.js", + "static/js/5367.12b9d328.chunk.js": "./static/js/5367.12b9d328.chunk.js", + "static/js/6405.a17792e5.chunk.js": "./static/js/6405.a17792e5.chunk.js", + "static/js/5223.d3ef0b66.chunk.js": "./static/js/5223.d3ef0b66.chunk.js", + "static/js/1799.b4e6b095.chunk.js": "./static/js/1799.b4e6b095.chunk.js", + "static/js/9297.ab07c841.chunk.js": "./static/js/9297.ab07c841.chunk.js", + "static/js/3864.01198cc4.chunk.js": "./static/js/3864.01198cc4.chunk.js", + "static/js/3839.7de43728.chunk.js": "./static/js/3839.7de43728.chunk.js", + "static/js/3034.eeaa9de7.chunk.js": "./static/js/3034.eeaa9de7.chunk.js", + "static/css/3905.8bbdd881.chunk.css": "./static/css/3905.8bbdd881.chunk.css", + "static/js/3905.640266d7.chunk.js": "./static/js/3905.640266d7.chunk.js", + "static/js/711.fbbd2d52.chunk.js": "./static/js/711.fbbd2d52.chunk.js", + "static/js/6901.9c779e6d.chunk.js": "./static/js/6901.9c779e6d.chunk.js", + "static/js/2185.9f8ebee0.chunk.js": "./static/js/2185.9f8ebee0.chunk.js", + "static/js/9968.6da000eb.chunk.js": "./static/js/9968.6da000eb.chunk.js", + "static/js/2180.dc0f648b.chunk.js": "./static/js/2180.dc0f648b.chunk.js", "static/js/8253.bdda69c3.chunk.js": "./static/js/8253.bdda69c3.chunk.js", - "static/js/3328.64f37bf8.chunk.js": "./static/js/3328.64f37bf8.chunk.js", - "static/js/1440.8750dde4.chunk.js": "./static/js/1440.8750dde4.chunk.js", - "static/js/9179.26f8387f.chunk.js": "./static/js/9179.26f8387f.chunk.js", - "static/js/51.19251cf7.chunk.js": "./static/js/51.19251cf7.chunk.js", - "static/js/312.770148c8.chunk.js": "./static/js/312.770148c8.chunk.js", - "static/js/2112.c85537ec.chunk.js": "./static/js/2112.c85537ec.chunk.js", - "static/js/4619.1abcedba.chunk.js": "./static/js/4619.1abcedba.chunk.js", - "static/js/8990.4f806e82.chunk.js": "./static/js/8990.4f806e82.chunk.js", - "static/js/8455.5db6563b.chunk.js": "./static/js/8455.5db6563b.chunk.js", - "static/css/9682.e99c33cf.chunk.css": "./static/css/9682.e99c33cf.chunk.css", - "static/js/9682.5c31e74c.chunk.js": "./static/js/9682.5c31e74c.chunk.js", - "static/js/1604.816d8ab5.chunk.js": "./static/js/1604.816d8ab5.chunk.js", - "static/js/8391.875d2320.chunk.js": "./static/js/8391.875d2320.chunk.js", - "static/js/402.46c69861.chunk.js": "./static/js/402.46c69861.chunk.js", - "static/js/1705.88e02e9a.chunk.js": "./static/js/1705.88e02e9a.chunk.js", - "static/js/1581.6892440d.chunk.js": "./static/js/1581.6892440d.chunk.js", - "static/js/455.4b142906.chunk.js": "./static/js/455.4b142906.chunk.js", - "static/js/2661.ec609143.chunk.js": "./static/js/2661.ec609143.chunk.js", - "static/js/889.bba47c51.chunk.js": "./static/js/889.bba47c51.chunk.js", - "static/js/9088.17f4cb12.chunk.js": "./static/js/9088.17f4cb12.chunk.js", - "static/js/247.f860e311.chunk.js": "./static/js/247.f860e311.chunk.js", - "static/js/2408.4f7b17cd.chunk.js": "./static/js/2408.4f7b17cd.chunk.js", + "static/js/9918.80f0bfbe.chunk.js": "./static/js/9918.80f0bfbe.chunk.js", + "static/js/1440.b5fbee60.chunk.js": "./static/js/1440.b5fbee60.chunk.js", + "static/js/9179.962d592f.chunk.js": "./static/js/9179.962d592f.chunk.js", + "static/js/51.ab1fa6c3.chunk.js": "./static/js/51.ab1fa6c3.chunk.js", + "static/js/312.1397c0a8.chunk.js": "./static/js/312.1397c0a8.chunk.js", + "static/js/2112.1820b142.chunk.js": "./static/js/2112.1820b142.chunk.js", + "static/js/2032.4598ddc6.chunk.js": "./static/js/2032.4598ddc6.chunk.js", + "static/js/4619.beba8be5.chunk.js": "./static/js/4619.beba8be5.chunk.js", + "static/js/8990.9cbc5e71.chunk.js": "./static/js/8990.9cbc5e71.chunk.js", + "static/js/8455.416190cd.chunk.js": "./static/js/8455.416190cd.chunk.js", + "static/css/9682.8bbdd881.chunk.css": "./static/css/9682.8bbdd881.chunk.css", + "static/js/9682.bf1d4c51.chunk.js": "./static/js/9682.bf1d4c51.chunk.js", + "static/js/1604.6758414b.chunk.js": "./static/js/1604.6758414b.chunk.js", + "static/js/9952.5ed9b96a.chunk.js": "./static/js/9952.5ed9b96a.chunk.js", + "static/js/402.2318f11d.chunk.js": "./static/js/402.2318f11d.chunk.js", + "static/js/1705.3ecc6022.chunk.js": "./static/js/1705.3ecc6022.chunk.js", + "static/js/1581.16dc83a0.chunk.js": "./static/js/1581.16dc83a0.chunk.js", + "static/js/455.1ab65317.chunk.js": "./static/js/455.1ab65317.chunk.js", + "static/js/2661.af7d8b4d.chunk.js": "./static/js/2661.af7d8b4d.chunk.js", + "static/js/889.bc3ac140.chunk.js": "./static/js/889.bc3ac140.chunk.js", + "static/js/9088.89fcd230.chunk.js": "./static/js/9088.89fcd230.chunk.js", + "static/js/247.37adf47a.chunk.js": "./static/js/247.37adf47a.chunk.js", + "static/js/2408.b23e320f.chunk.js": "./static/js/2408.b23e320f.chunk.js", "static/js/5171.250547aa.chunk.js": "./static/js/5171.250547aa.chunk.js", "static/js/3691.fbd31aba.chunk.js": "./static/js/3691.fbd31aba.chunk.js", "static/js/2813.a175de7f.chunk.js": "./static/js/2813.a175de7f.chunk.js", - "static/js/9779.6d822fe6.chunk.js": "./static/js/9779.6d822fe6.chunk.js", + "static/js/9779.4f8ac570.chunk.js": "./static/js/9779.4f8ac570.chunk.js", "static/js/3801.e125737d.chunk.js": "./static/js/3801.e125737d.chunk.js", "static/js/1918.b61ed655.chunk.js": "./static/js/1918.b61ed655.chunk.js", "static/js/1373.c65e2a03.chunk.js": "./static/js/1373.c65e2a03.chunk.js", "static/js/2011.8a8740c8.chunk.js": "./static/js/2011.8a8740c8.chunk.js", "static/js/9683.a80ed946.chunk.js": "./static/js/9683.a80ed946.chunk.js", "static/js/3909.d99c71e5.chunk.js": "./static/js/3909.d99c71e5.chunk.js", - "static/js/6510.29948999.chunk.js": "./static/js/6510.29948999.chunk.js", + "static/js/7893.f547add4.chunk.js": "./static/js/7893.f547add4.chunk.js", "static/js/1267.b6db32f4.chunk.js": "./static/js/1267.b6db32f4.chunk.js", "static/js/6172.fb47bd8a.chunk.js": "./static/js/6172.fb47bd8a.chunk.js", + "static/js/6621.4eb56e28.chunk.js": "./static/js/6621.4eb56e28.chunk.js", "static/js/696.a5768242.chunk.js": "./static/js/696.a5768242.chunk.js", + "static/js/8725.7ed02e0c.chunk.js": "./static/js/8725.7ed02e0c.chunk.js", "static/js/3388.d7ba6c88.chunk.js": "./static/js/3388.d7ba6c88.chunk.js", "static/js/59.2f1cdf77.chunk.js": "./static/js/59.2f1cdf77.chunk.js", - "static/js/8896.57d6fdd4.chunk.js": "./static/js/8896.57d6fdd4.chunk.js", "static/js/5740.76f72bd3.chunk.js": "./static/js/5740.76f72bd3.chunk.js", + "static/js/4021.b25d428e.chunk.js": "./static/js/4021.b25d428e.chunk.js", "static/js/6484.7b5e3559.chunk.js": "./static/js/6484.7b5e3559.chunk.js", "static/js/7142.2a4bff95.chunk.js": "./static/js/7142.2a4bff95.chunk.js", "static/js/2691.2b7d55be.chunk.js": "./static/js/2691.2b7d55be.chunk.js", "static/js/1790.f58a9b74.chunk.js": "./static/js/1790.f58a9b74.chunk.js", "static/js/2331.977274a2.chunk.js": "./static/js/2331.977274a2.chunk.js", "static/js/6474.761eaa0f.chunk.js": "./static/js/6474.761eaa0f.chunk.js", - "static/js/2983.66d9f91c.chunk.js": "./static/js/2983.66d9f91c.chunk.js", - "static/js/5861.9b443eee.chunk.js": "./static/js/5861.9b443eee.chunk.js", - "static/js/7873.0f0682a9.chunk.js": "./static/js/7873.0f0682a9.chunk.js", - "static/js/537.ac3e6c1f.chunk.js": "./static/js/537.ac3e6c1f.chunk.js", - "static/js/2763.0e8b50c7.chunk.js": "./static/js/2763.0e8b50c7.chunk.js", + "static/js/2983.ca089e19.chunk.js": "./static/js/2983.ca089e19.chunk.js", + "static/js/5861.37a1f0f2.chunk.js": "./static/js/5861.37a1f0f2.chunk.js", + "static/js/7873.7374a5f3.chunk.js": "./static/js/7873.7374a5f3.chunk.js", + "static/js/537.561ba81d.chunk.js": "./static/js/537.561ba81d.chunk.js", + "static/js/2763.7c4fb5a0.chunk.js": "./static/js/2763.7c4fb5a0.chunk.js", "static/media/videoBG.mp4": "./static/media/videoBG.17363418b3c2246a0e27.mp4", "static/media/loginAnimationPoster.png": "./static/media/loginAnimationPoster.9aa924bfe619e71d5d29.png", "static/media/Inter-BoldItalic.woff": "./static/media/Inter-BoldItalic.b376885042f6c961a541.woff", @@ -182,170 +191,179 @@ "static/media/Inter-Thin.woff2": "./static/media/Inter-Thin.fff2a096db014f6239d4.woff2", "static/media/Inter-Regular.woff2": "./static/media/Inter-Regular.c8ba52b05a9ef10f4758.woff2", "index.html": "./index.html", - "main.b20a708b.css.map": "./static/css/main.b20a708b.css.map", - "main.e02e3a76.js.map": "./static/js/main.e02e3a76.js.map", + "main.7c092a9d.css.map": "./static/css/main.7c092a9d.css.map", + "main.c7a9c285.js.map": "./static/js/main.c7a9c285.js.map", "1260.4885d31b.chunk.js.map": "./static/js/1260.4885d31b.chunk.js.map", - "6914.98367537.chunk.js.map": "./static/js/6914.98367537.chunk.js.map", - "4209.d713bd2e.chunk.js.map": "./static/js/4209.d713bd2e.chunk.js.map", - "1829.dddf5fc0.chunk.js.map": "./static/js/1829.dddf5fc0.chunk.js.map", - "4455.aceaa0c6.chunk.js.map": "./static/js/4455.aceaa0c6.chunk.js.map", - "5088.2a540e0f.chunk.js.map": "./static/js/5088.2a540e0f.chunk.js.map", - "5140.c3d0a706.chunk.js.map": "./static/js/5140.c3d0a706.chunk.js.map", + "6914.9cc3ab4e.chunk.js.map": "./static/js/6914.9cc3ab4e.chunk.js.map", + "4209.06b0245b.chunk.js.map": "./static/js/4209.06b0245b.chunk.js.map", + "1829.ebfd458a.chunk.js.map": "./static/js/1829.ebfd458a.chunk.js.map", + "4455.93668d49.chunk.js.map": "./static/js/4455.93668d49.chunk.js.map", + "5088.e2dea68b.chunk.js.map": "./static/js/5088.e2dea68b.chunk.js.map", + "5140.d55a77e3.chunk.js.map": "./static/js/5140.d55a77e3.chunk.js.map", "852.952af138.chunk.js.map": "./static/js/852.952af138.chunk.js.map", - "1275.e99c33cf.chunk.css.map": "./static/css/1275.e99c33cf.chunk.css.map", - "1275.3857a963.chunk.js.map": "./static/js/1275.3857a963.chunk.js.map", + "1275.8bbdd881.chunk.css.map": "./static/css/1275.8bbdd881.chunk.css.map", + "1275.1d84ee6a.chunk.js.map": "./static/js/1275.1d84ee6a.chunk.js.map", "3176.59846ccd.chunk.js.map": "./static/js/3176.59846ccd.chunk.js.map", - "6137.90580e27.chunk.js.map": "./static/js/6137.90580e27.chunk.js.map", - "5995.aee721bd.chunk.js.map": "./static/js/5995.aee721bd.chunk.js.map", - "7092.98cb7d30.chunk.js.map": "./static/js/7092.98cb7d30.chunk.js.map", - "2338.0f7ba0f5.chunk.js.map": "./static/js/2338.0f7ba0f5.chunk.js.map", - "4335.e38511e4.chunk.js.map": "./static/js/4335.e38511e4.chunk.js.map", - "3061.12708207.chunk.js.map": "./static/js/3061.12708207.chunk.js.map", - "6763.d2f4f7b7.chunk.js.map": "./static/js/6763.d2f4f7b7.chunk.js.map", - "3543.63b7961a.chunk.js.map": "./static/js/3543.63b7961a.chunk.js.map", - "4061.bc2708cb.chunk.js.map": "./static/js/4061.bc2708cb.chunk.js.map", - "5112.145171e2.chunk.js.map": "./static/js/5112.145171e2.chunk.js.map", - "9611.dc6938ca.chunk.js.map": "./static/js/9611.dc6938ca.chunk.js.map", - "2637.a78c67b6.chunk.js.map": "./static/js/2637.a78c67b6.chunk.js.map", - "5503.e99c33cf.chunk.css.map": "./static/css/5503.e99c33cf.chunk.css.map", - "5503.ede909ff.chunk.js.map": "./static/js/5503.ede909ff.chunk.js.map", - "5926.916c8233.chunk.js.map": "./static/js/5926.916c8233.chunk.js.map", - "6040.c297c8b1.chunk.js.map": "./static/js/6040.c297c8b1.chunk.js.map", - "701.c1e0e69c.chunk.js.map": "./static/js/701.c1e0e69c.chunk.js.map", + "6137.7535bbb1.chunk.js.map": "./static/js/6137.7535bbb1.chunk.js.map", + "5995.686a9a3d.chunk.js.map": "./static/js/5995.686a9a3d.chunk.js.map", + "9251.a9e6e404.chunk.js.map": "./static/js/9251.a9e6e404.chunk.js.map", + "2338.d265a623.chunk.js.map": "./static/js/2338.d265a623.chunk.js.map", + "4335.fe71a24c.chunk.js.map": "./static/js/4335.fe71a24c.chunk.js.map", + "3061.ef8f8361.chunk.js.map": "./static/js/3061.ef8f8361.chunk.js.map", + "3832.064838f9.chunk.js.map": "./static/js/3832.064838f9.chunk.js.map", + "3543.b27540db.chunk.js.map": "./static/js/3543.b27540db.chunk.js.map", + "4061.21163e18.chunk.js.map": "./static/js/4061.21163e18.chunk.js.map", + "5112.1e71afd4.chunk.js.map": "./static/js/5112.1e71afd4.chunk.js.map", + "9611.7f153cb9.chunk.js.map": "./static/js/9611.7f153cb9.chunk.js.map", + "2637.a7bb7b5b.chunk.js.map": "./static/js/2637.a7bb7b5b.chunk.js.map", + "5503.8bbdd881.chunk.css.map": "./static/css/5503.8bbdd881.chunk.css.map", + "5503.99647175.chunk.js.map": "./static/js/5503.99647175.chunk.js.map", + "5926.b3d18dd7.chunk.js.map": "./static/js/5926.b3d18dd7.chunk.js.map", + "6040.e12da05d.chunk.js.map": "./static/js/6040.e12da05d.chunk.js.map", + "701.c438988e.chunk.js.map": "./static/js/701.c438988e.chunk.js.map", "7821.150c08fd.chunk.js.map": "./static/js/7821.150c08fd.chunk.js.map", - "6995.e99c33cf.chunk.css.map": "./static/css/6995.e99c33cf.chunk.css.map", - "6995.b765bc2f.chunk.js.map": "./static/js/6995.b765bc2f.chunk.js.map", - "4131.498b212f.chunk.js.map": "./static/js/4131.498b212f.chunk.js.map", - "343.e99c33cf.chunk.css.map": "./static/css/343.e99c33cf.chunk.css.map", - "343.0d456511.chunk.js.map": "./static/js/343.0d456511.chunk.js.map", - "3549.e99c33cf.chunk.css.map": "./static/css/3549.e99c33cf.chunk.css.map", - "3549.dbf06ae0.chunk.js.map": "./static/js/3549.dbf06ae0.chunk.js.map", - "5517.e99c33cf.chunk.css.map": "./static/css/5517.e99c33cf.chunk.css.map", - "5517.c2167d52.chunk.js.map": "./static/js/5517.c2167d52.chunk.js.map", - "2555.acd8bfbf.chunk.js.map": "./static/js/2555.acd8bfbf.chunk.js.map", + "6995.8bbdd881.chunk.css.map": "./static/css/6995.8bbdd881.chunk.css.map", + "6995.5b180444.chunk.js.map": "./static/js/6995.5b180444.chunk.js.map", + "4131.fb6eaf02.chunk.js.map": "./static/js/4131.fb6eaf02.chunk.js.map", + "343.8bbdd881.chunk.css.map": "./static/css/343.8bbdd881.chunk.css.map", + "343.08a3aa1e.chunk.js.map": "./static/js/343.08a3aa1e.chunk.js.map", + "3549.8bbdd881.chunk.css.map": "./static/css/3549.8bbdd881.chunk.css.map", + "3549.4d424641.chunk.js.map": "./static/js/3549.4d424641.chunk.js.map", + "5517.8bbdd881.chunk.css.map": "./static/css/5517.8bbdd881.chunk.css.map", + "5517.c01a8b7c.chunk.js.map": "./static/js/5517.c01a8b7c.chunk.js.map", + "2555.da84d5ce.chunk.js.map": "./static/js/2555.da84d5ce.chunk.js.map", "7486.83e0d248.chunk.js.map": "./static/js/7486.83e0d248.chunk.js.map", "1377.6fbc40f3.chunk.js.map": "./static/js/1377.6fbc40f3.chunk.js.map", - "4672.a4d46683.chunk.js.map": "./static/js/4672.a4d46683.chunk.js.map", - "2516.c5c34c4d.chunk.js.map": "./static/js/2516.c5c34c4d.chunk.js.map", + "4672.df68fa8d.chunk.js.map": "./static/js/4672.df68fa8d.chunk.js.map", + "2516.6c64276a.chunk.js.map": "./static/js/2516.6c64276a.chunk.js.map", "2759.e83946f0.chunk.js.map": "./static/js/2759.e83946f0.chunk.js.map", - "7295.acbcda52.chunk.js.map": "./static/js/7295.acbcda52.chunk.js.map", - "7585.22a36735.chunk.js.map": "./static/js/7585.22a36735.chunk.js.map", - "4902.0ede76f0.chunk.js.map": "./static/js/4902.0ede76f0.chunk.js.map", - "7847.e49a6564.chunk.js.map": "./static/js/7847.e49a6564.chunk.js.map", - "3097.c627671b.chunk.js.map": "./static/js/3097.c627671b.chunk.js.map", - "692.6c4b6abb.chunk.js.map": "./static/js/692.6c4b6abb.chunk.js.map", - "8626.198c0509.chunk.js.map": "./static/js/8626.198c0509.chunk.js.map", - "8360.19c25a88.chunk.js.map": "./static/js/8360.19c25a88.chunk.js.map", - "6577.caaa5471.chunk.js.map": "./static/js/6577.caaa5471.chunk.js.map", - "3875.68ff4b06.chunk.js.map": "./static/js/3875.68ff4b06.chunk.js.map", - "6401.2d1d41e3.chunk.js.map": "./static/js/6401.2d1d41e3.chunk.js.map", - "2949.2cc2d873.chunk.js.map": "./static/js/2949.2cc2d873.chunk.js.map", - "3119.1664ba97.chunk.js.map": "./static/js/3119.1664ba97.chunk.js.map", - "5643.d7b117e6.chunk.js.map": "./static/js/5643.d7b117e6.chunk.js.map", - "4781.f4794912.chunk.js.map": "./static/js/4781.f4794912.chunk.js.map", - "9478.b1688b00.chunk.js.map": "./static/js/9478.b1688b00.chunk.js.map", - "7164.3762a0c0.chunk.js.map": "./static/js/7164.3762a0c0.chunk.js.map", - "4414.8d9d85ec.chunk.js.map": "./static/js/4414.8d9d85ec.chunk.js.map", - "7798.88e1551b.chunk.js.map": "./static/js/7798.88e1551b.chunk.js.map", - "8833.cc57fe33.chunk.js.map": "./static/js/8833.cc57fe33.chunk.js.map", - "6526.a725f558.chunk.js.map": "./static/js/6526.a725f558.chunk.js.map", - "483.f2287673.chunk.js.map": "./static/js/483.f2287673.chunk.js.map", - "5882.6b35beab.chunk.js.map": "./static/js/5882.6b35beab.chunk.js.map", - "5690.770e1ac1.chunk.js.map": "./static/js/5690.770e1ac1.chunk.js.map", - "9467.0ba82b58.chunk.js.map": "./static/js/9467.0ba82b58.chunk.js.map", - "6895.8d73d55a.chunk.js.map": "./static/js/6895.8d73d55a.chunk.js.map", - "8277.78032a3f.chunk.js.map": "./static/js/8277.78032a3f.chunk.js.map", - "4133.4da17d39.chunk.js.map": "./static/js/4133.4da17d39.chunk.js.map", - "1367.e99c33cf.chunk.css.map": "./static/css/1367.e99c33cf.chunk.css.map", - "1367.e7a5805d.chunk.js.map": "./static/js/1367.e7a5805d.chunk.js.map", - "3956.81b98a64.chunk.js.map": "./static/js/3956.81b98a64.chunk.js.map", - "9221.38a31de2.chunk.js.map": "./static/js/9221.38a31de2.chunk.js.map", - "9031.d8ddf273.chunk.js.map": "./static/js/9031.d8ddf273.chunk.js.map", - "9134.a172a7f7.chunk.js.map": "./static/js/9134.a172a7f7.chunk.js.map", - "1507.e99c33cf.chunk.css.map": "./static/css/1507.e99c33cf.chunk.css.map", - "1507.a4807651.chunk.js.map": "./static/js/1507.a4807651.chunk.js.map", - "1030.0c362d0c.chunk.js.map": "./static/js/1030.0c362d0c.chunk.js.map", - "9145.77b06f48.chunk.js.map": "./static/js/9145.77b06f48.chunk.js.map", - "8998.6d51ddf2.chunk.js.map": "./static/js/8998.6d51ddf2.chunk.js.map", - "1501.2b23a1c6.chunk.js.map": "./static/js/1501.2b23a1c6.chunk.js.map", - "7770.a8aef98b.chunk.js.map": "./static/js/7770.a8aef98b.chunk.js.map", + "7295.cfd1690b.chunk.js.map": "./static/js/7295.cfd1690b.chunk.js.map", + "7585.ab5a26e5.chunk.js.map": "./static/js/7585.ab5a26e5.chunk.js.map", + "4902.04f664fa.chunk.js.map": "./static/js/4902.04f664fa.chunk.js.map", + "7847.7319336d.chunk.js.map": "./static/js/7847.7319336d.chunk.js.map", + "3097.b19643e9.chunk.js.map": "./static/js/3097.b19643e9.chunk.js.map", + "692.aa4b543f.chunk.js.map": "./static/js/692.aa4b543f.chunk.js.map", + "8626.d4b77c9f.chunk.js.map": "./static/js/8626.d4b77c9f.chunk.js.map", + "8360.c87a8251.chunk.js.map": "./static/js/8360.c87a8251.chunk.js.map", + "6577.8452e067.chunk.js.map": "./static/js/6577.8452e067.chunk.js.map", + "3875.e4e37704.chunk.js.map": "./static/js/3875.e4e37704.chunk.js.map", + "6401.f5081a76.chunk.js.map": "./static/js/6401.f5081a76.chunk.js.map", + "2949.7c1ea98c.chunk.js.map": "./static/js/2949.7c1ea98c.chunk.js.map", + "3119.e9b6547a.chunk.js.map": "./static/js/3119.e9b6547a.chunk.js.map", + "3115.da843172.chunk.js.map": "./static/js/3115.da843172.chunk.js.map", + "5643.58815d0f.chunk.js.map": "./static/js/5643.58815d0f.chunk.js.map", + "4781.27325faf.chunk.js.map": "./static/js/4781.27325faf.chunk.js.map", + "9478.6a568948.chunk.js.map": "./static/js/9478.6a568948.chunk.js.map", + "7164.ca69b510.chunk.js.map": "./static/js/7164.ca69b510.chunk.js.map", + "4414.ff3ede37.chunk.js.map": "./static/js/4414.ff3ede37.chunk.js.map", + "7798.d6a28f0f.chunk.js.map": "./static/js/7798.d6a28f0f.chunk.js.map", + "8833.6d5381bf.chunk.js.map": "./static/js/8833.6d5381bf.chunk.js.map", + "6526.fb2e4acc.chunk.js.map": "./static/js/6526.fb2e4acc.chunk.js.map", + "483.6f698412.chunk.js.map": "./static/js/483.6f698412.chunk.js.map", + "5882.ad761d2c.chunk.js.map": "./static/js/5882.ad761d2c.chunk.js.map", + "583.7e06d8f7.chunk.js.map": "./static/js/583.7e06d8f7.chunk.js.map", + "9467.5eac6111.chunk.js.map": "./static/js/9467.5eac6111.chunk.js.map", + "6895.d8bf854d.chunk.js.map": "./static/js/6895.d8bf854d.chunk.js.map", + "977.1d5d246f.chunk.js.map": "./static/js/977.1d5d246f.chunk.js.map", + "4133.fff44ab1.chunk.js.map": "./static/js/4133.fff44ab1.chunk.js.map", + "1367.8bbdd881.chunk.css.map": "./static/css/1367.8bbdd881.chunk.css.map", + "1367.7ad56d1c.chunk.js.map": "./static/js/1367.7ad56d1c.chunk.js.map", + "3956.802d6679.chunk.js.map": "./static/js/3956.802d6679.chunk.js.map", + "9221.b78f1e48.chunk.js.map": "./static/js/9221.b78f1e48.chunk.js.map", + "8896.aa552ac4.chunk.js.map": "./static/js/8896.aa552ac4.chunk.js.map", + "9134.764884d7.chunk.js.map": "./static/js/9134.764884d7.chunk.js.map", + "1507.8bbdd881.chunk.css.map": "./static/css/1507.8bbdd881.chunk.css.map", + "1507.979cb39c.chunk.js.map": "./static/js/1507.979cb39c.chunk.js.map", + "1030.39fd7796.chunk.js.map": "./static/js/1030.39fd7796.chunk.js.map", + "9145.b61c5e46.chunk.js.map": "./static/js/9145.b61c5e46.chunk.js.map", + "8998.a5f0b2dc.chunk.js.map": "./static/js/8998.a5f0b2dc.chunk.js.map", + "1501.e543ab00.chunk.js.map": "./static/js/1501.e543ab00.chunk.js.map", + "7770.611c18cd.chunk.js.map": "./static/js/7770.611c18cd.chunk.js.map", "426.571c3a27.chunk.js.map": "./static/js/426.571c3a27.chunk.js.map", "4298.9f1c9963.chunk.js.map": "./static/js/4298.9f1c9963.chunk.js.map", - "2878.1330cf42.chunk.js.map": "./static/js/2878.1330cf42.chunk.js.map", + "2878.6ecef4ed.chunk.js.map": "./static/js/2878.6ecef4ed.chunk.js.map", "8495.1d26a441.chunk.js.map": "./static/js/8495.1d26a441.chunk.js.map", "4934.bd3169e8.chunk.js.map": "./static/js/4934.bd3169e8.chunk.js.map", "9942.28c4ca07.chunk.js.map": "./static/js/9942.28c4ca07.chunk.js.map", - "7021.cbf7f23a.chunk.js.map": "./static/js/7021.cbf7f23a.chunk.js.map", - "2684.03e0baba.chunk.js.map": "./static/js/2684.03e0baba.chunk.js.map", - "2797.e99c33cf.chunk.css.map": "./static/css/2797.e99c33cf.chunk.css.map", - "2797.69df7d1d.chunk.js.map": "./static/js/2797.69df7d1d.chunk.js.map", - "8350.ff17d087.chunk.js.map": "./static/js/8350.ff17d087.chunk.js.map", - "4873.5bde9bed.chunk.js.map": "./static/js/4873.5bde9bed.chunk.js.map", - "5367.a0c076fc.chunk.js.map": "./static/js/5367.a0c076fc.chunk.js.map", - "6405.0e2d66a4.chunk.js.map": "./static/js/6405.0e2d66a4.chunk.js.map", - "5223.218fce49.chunk.js.map": "./static/js/5223.218fce49.chunk.js.map", - "1799.d2996f85.chunk.js.map": "./static/js/1799.d2996f85.chunk.js.map", - "9297.0fa667e5.chunk.js.map": "./static/js/9297.0fa667e5.chunk.js.map", - "711.c9f818ab.chunk.js.map": "./static/js/711.c9f818ab.chunk.js.map", - "6901.d43d56e6.chunk.js.map": "./static/js/6901.d43d56e6.chunk.js.map", - "2185.b77a9469.chunk.js.map": "./static/js/2185.b77a9469.chunk.js.map", - "9968.8cde9579.chunk.js.map": "./static/js/9968.8cde9579.chunk.js.map", - "2180.26a5c38b.chunk.js.map": "./static/js/2180.26a5c38b.chunk.js.map", + "7021.35a1212b.chunk.js.map": "./static/js/7021.35a1212b.chunk.js.map", + "2684.73fcefda.chunk.js.map": "./static/js/2684.73fcefda.chunk.js.map", + "2797.8bbdd881.chunk.css.map": "./static/css/2797.8bbdd881.chunk.css.map", + "2797.6dae3357.chunk.js.map": "./static/js/2797.6dae3357.chunk.js.map", + "8350.70bb0791.chunk.js.map": "./static/js/8350.70bb0791.chunk.js.map", + "4873.1840dbc4.chunk.js.map": "./static/js/4873.1840dbc4.chunk.js.map", + "5367.12b9d328.chunk.js.map": "./static/js/5367.12b9d328.chunk.js.map", + "6405.a17792e5.chunk.js.map": "./static/js/6405.a17792e5.chunk.js.map", + "5223.d3ef0b66.chunk.js.map": "./static/js/5223.d3ef0b66.chunk.js.map", + "1799.b4e6b095.chunk.js.map": "./static/js/1799.b4e6b095.chunk.js.map", + "9297.ab07c841.chunk.js.map": "./static/js/9297.ab07c841.chunk.js.map", + "3864.01198cc4.chunk.js.map": "./static/js/3864.01198cc4.chunk.js.map", + "3839.7de43728.chunk.js.map": "./static/js/3839.7de43728.chunk.js.map", + "3034.eeaa9de7.chunk.js.map": "./static/js/3034.eeaa9de7.chunk.js.map", + "3905.8bbdd881.chunk.css.map": "./static/css/3905.8bbdd881.chunk.css.map", + "3905.640266d7.chunk.js.map": "./static/js/3905.640266d7.chunk.js.map", + "711.fbbd2d52.chunk.js.map": "./static/js/711.fbbd2d52.chunk.js.map", + "6901.9c779e6d.chunk.js.map": "./static/js/6901.9c779e6d.chunk.js.map", + "2185.9f8ebee0.chunk.js.map": "./static/js/2185.9f8ebee0.chunk.js.map", + "9968.6da000eb.chunk.js.map": "./static/js/9968.6da000eb.chunk.js.map", + "2180.dc0f648b.chunk.js.map": "./static/js/2180.dc0f648b.chunk.js.map", "8253.bdda69c3.chunk.js.map": "./static/js/8253.bdda69c3.chunk.js.map", - "3328.64f37bf8.chunk.js.map": "./static/js/3328.64f37bf8.chunk.js.map", - "1440.8750dde4.chunk.js.map": "./static/js/1440.8750dde4.chunk.js.map", - "9179.26f8387f.chunk.js.map": "./static/js/9179.26f8387f.chunk.js.map", - "51.19251cf7.chunk.js.map": "./static/js/51.19251cf7.chunk.js.map", - "312.770148c8.chunk.js.map": "./static/js/312.770148c8.chunk.js.map", - "2112.c85537ec.chunk.js.map": "./static/js/2112.c85537ec.chunk.js.map", - "4619.1abcedba.chunk.js.map": "./static/js/4619.1abcedba.chunk.js.map", - "8990.4f806e82.chunk.js.map": "./static/js/8990.4f806e82.chunk.js.map", - "8455.5db6563b.chunk.js.map": "./static/js/8455.5db6563b.chunk.js.map", - "9682.e99c33cf.chunk.css.map": "./static/css/9682.e99c33cf.chunk.css.map", - "9682.5c31e74c.chunk.js.map": "./static/js/9682.5c31e74c.chunk.js.map", - "1604.816d8ab5.chunk.js.map": "./static/js/1604.816d8ab5.chunk.js.map", - "8391.875d2320.chunk.js.map": "./static/js/8391.875d2320.chunk.js.map", - "402.46c69861.chunk.js.map": "./static/js/402.46c69861.chunk.js.map", - "1705.88e02e9a.chunk.js.map": "./static/js/1705.88e02e9a.chunk.js.map", - "1581.6892440d.chunk.js.map": "./static/js/1581.6892440d.chunk.js.map", - "455.4b142906.chunk.js.map": "./static/js/455.4b142906.chunk.js.map", - "2661.ec609143.chunk.js.map": "./static/js/2661.ec609143.chunk.js.map", - "889.bba47c51.chunk.js.map": "./static/js/889.bba47c51.chunk.js.map", - "9088.17f4cb12.chunk.js.map": "./static/js/9088.17f4cb12.chunk.js.map", - "247.f860e311.chunk.js.map": "./static/js/247.f860e311.chunk.js.map", - "2408.4f7b17cd.chunk.js.map": "./static/js/2408.4f7b17cd.chunk.js.map", + "9918.80f0bfbe.chunk.js.map": "./static/js/9918.80f0bfbe.chunk.js.map", + "1440.b5fbee60.chunk.js.map": "./static/js/1440.b5fbee60.chunk.js.map", + "9179.962d592f.chunk.js.map": "./static/js/9179.962d592f.chunk.js.map", + "51.ab1fa6c3.chunk.js.map": "./static/js/51.ab1fa6c3.chunk.js.map", + "312.1397c0a8.chunk.js.map": "./static/js/312.1397c0a8.chunk.js.map", + "2112.1820b142.chunk.js.map": "./static/js/2112.1820b142.chunk.js.map", + "2032.4598ddc6.chunk.js.map": "./static/js/2032.4598ddc6.chunk.js.map", + "4619.beba8be5.chunk.js.map": "./static/js/4619.beba8be5.chunk.js.map", + "8990.9cbc5e71.chunk.js.map": "./static/js/8990.9cbc5e71.chunk.js.map", + "8455.416190cd.chunk.js.map": "./static/js/8455.416190cd.chunk.js.map", + "9682.8bbdd881.chunk.css.map": "./static/css/9682.8bbdd881.chunk.css.map", + "9682.bf1d4c51.chunk.js.map": "./static/js/9682.bf1d4c51.chunk.js.map", + "1604.6758414b.chunk.js.map": "./static/js/1604.6758414b.chunk.js.map", + "9952.5ed9b96a.chunk.js.map": "./static/js/9952.5ed9b96a.chunk.js.map", + "402.2318f11d.chunk.js.map": "./static/js/402.2318f11d.chunk.js.map", + "1705.3ecc6022.chunk.js.map": "./static/js/1705.3ecc6022.chunk.js.map", + "1581.16dc83a0.chunk.js.map": "./static/js/1581.16dc83a0.chunk.js.map", + "455.1ab65317.chunk.js.map": "./static/js/455.1ab65317.chunk.js.map", + "2661.af7d8b4d.chunk.js.map": "./static/js/2661.af7d8b4d.chunk.js.map", + "889.bc3ac140.chunk.js.map": "./static/js/889.bc3ac140.chunk.js.map", + "9088.89fcd230.chunk.js.map": "./static/js/9088.89fcd230.chunk.js.map", + "247.37adf47a.chunk.js.map": "./static/js/247.37adf47a.chunk.js.map", + "2408.b23e320f.chunk.js.map": "./static/js/2408.b23e320f.chunk.js.map", "5171.250547aa.chunk.js.map": "./static/js/5171.250547aa.chunk.js.map", "3691.fbd31aba.chunk.js.map": "./static/js/3691.fbd31aba.chunk.js.map", "2813.a175de7f.chunk.js.map": "./static/js/2813.a175de7f.chunk.js.map", - "9779.6d822fe6.chunk.js.map": "./static/js/9779.6d822fe6.chunk.js.map", + "9779.4f8ac570.chunk.js.map": "./static/js/9779.4f8ac570.chunk.js.map", "3801.e125737d.chunk.js.map": "./static/js/3801.e125737d.chunk.js.map", "1918.b61ed655.chunk.js.map": "./static/js/1918.b61ed655.chunk.js.map", "1373.c65e2a03.chunk.js.map": "./static/js/1373.c65e2a03.chunk.js.map", "2011.8a8740c8.chunk.js.map": "./static/js/2011.8a8740c8.chunk.js.map", "9683.a80ed946.chunk.js.map": "./static/js/9683.a80ed946.chunk.js.map", "3909.d99c71e5.chunk.js.map": "./static/js/3909.d99c71e5.chunk.js.map", - "6510.29948999.chunk.js.map": "./static/js/6510.29948999.chunk.js.map", + "7893.f547add4.chunk.js.map": "./static/js/7893.f547add4.chunk.js.map", "1267.b6db32f4.chunk.js.map": "./static/js/1267.b6db32f4.chunk.js.map", "6172.fb47bd8a.chunk.js.map": "./static/js/6172.fb47bd8a.chunk.js.map", + "6621.4eb56e28.chunk.js.map": "./static/js/6621.4eb56e28.chunk.js.map", "696.a5768242.chunk.js.map": "./static/js/696.a5768242.chunk.js.map", + "8725.7ed02e0c.chunk.js.map": "./static/js/8725.7ed02e0c.chunk.js.map", "3388.d7ba6c88.chunk.js.map": "./static/js/3388.d7ba6c88.chunk.js.map", "59.2f1cdf77.chunk.js.map": "./static/js/59.2f1cdf77.chunk.js.map", - "8896.57d6fdd4.chunk.js.map": "./static/js/8896.57d6fdd4.chunk.js.map", "5740.76f72bd3.chunk.js.map": "./static/js/5740.76f72bd3.chunk.js.map", + "4021.b25d428e.chunk.js.map": "./static/js/4021.b25d428e.chunk.js.map", "6484.7b5e3559.chunk.js.map": "./static/js/6484.7b5e3559.chunk.js.map", "7142.2a4bff95.chunk.js.map": "./static/js/7142.2a4bff95.chunk.js.map", "2691.2b7d55be.chunk.js.map": "./static/js/2691.2b7d55be.chunk.js.map", "1790.f58a9b74.chunk.js.map": "./static/js/1790.f58a9b74.chunk.js.map", "2331.977274a2.chunk.js.map": "./static/js/2331.977274a2.chunk.js.map", "6474.761eaa0f.chunk.js.map": "./static/js/6474.761eaa0f.chunk.js.map", - "2983.66d9f91c.chunk.js.map": "./static/js/2983.66d9f91c.chunk.js.map", - "5861.9b443eee.chunk.js.map": "./static/js/5861.9b443eee.chunk.js.map", - "7873.0f0682a9.chunk.js.map": "./static/js/7873.0f0682a9.chunk.js.map", - "537.ac3e6c1f.chunk.js.map": "./static/js/537.ac3e6c1f.chunk.js.map", - "2763.0e8b50c7.chunk.js.map": "./static/js/2763.0e8b50c7.chunk.js.map" + "2983.ca089e19.chunk.js.map": "./static/js/2983.ca089e19.chunk.js.map", + "5861.37a1f0f2.chunk.js.map": "./static/js/5861.37a1f0f2.chunk.js.map", + "7873.7374a5f3.chunk.js.map": "./static/js/7873.7374a5f3.chunk.js.map", + "537.561ba81d.chunk.js.map": "./static/js/537.561ba81d.chunk.js.map", + "2763.7c4fb5a0.chunk.js.map": "./static/js/2763.7c4fb5a0.chunk.js.map" }, "entrypoints": [ - "static/css/main.b20a708b.css", - "static/js/main.e02e3a76.js" + "static/css/main.7c092a9d.css", + "static/js/main.c7a9c285.js" ] } \ No newline at end of file diff --git a/portal-ui/build/index.html b/portal-ui/build/index.html index 9437c553f..4f3a17bf0 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/1275.e99c33cf.chunk.css b/portal-ui/build/static/css/1275.8bbdd881.chunk.css similarity index 99% rename from portal-ui/build/static/css/1275.e99c33cf.chunk.css rename to portal-ui/build/static/css/1275.8bbdd881.chunk.css index 1243e9e95..cd3afd6b5 100644 --- a/portal-ui/build/static/css/1275.e99c33cf.chunk.css +++ b/portal-ui/build/static/css/1275.8bbdd881.chunk.css @@ -1,2 +1,2 @@ @media (prefers-color-scheme:dark){.w-tc-editor{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}}@media (prefers-color-scheme:light){.w-tc-editor{--color-fg-default:#24292f;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}}[data-color-mode*=dark] .w-tc-editor,[data-color-mode*=dark] .w-tc-editor-var,body[data-color-mode*=dark]{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}[data-color-mode*=light] .w-tc-editor,[data-color-mode*=light] .w-tc-editor-var,body[data-color-mode*=light]{--color-fg-default:#24292f;--color-canvas-subtle:#f6f8fa;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}.w-tc-editor{background-color:var(--color-canvas-subtle);color:var(--color-fg-default);font-family:inherit;font-size:12px}.w-tc-editor-preview,.w-tc-editor-text{min-height:16px}.w-tc-editor-preview pre{font-family:inherit;font-size:inherit;margin:0;padding:0;white-space:inherit}.w-tc-editor-preview pre code{font-family:inherit}.w-tc-editor code[class*=language-] .token.cdata,.w-tc-editor code[class*=language-] .token.comment,.w-tc-editor code[class*=language-] .token.doctype,.w-tc-editor code[class*=language-] .token.prolog,.w-tc-editor pre[class*=language-] .token.cdata,.w-tc-editor pre[class*=language-] .token.comment,.w-tc-editor pre[class*=language-] .token.doctype,.w-tc-editor pre[class*=language-] .token.prolog{color:var(--color-prettylights-syntax-comment)}.w-tc-editor code[class*=language-] .token.punctuation,.w-tc-editor pre[class*=language-] .token.punctuation{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.w-tc-editor code[class*=language-] .namespace,.w-tc-editor pre[class*=language-] .namespace{opacity:.7}.w-tc-editor code[class*=language-] .token.boolean,.w-tc-editor code[class*=language-] .token.constant,.w-tc-editor code[class*=language-] .token.deleted,.w-tc-editor code[class*=language-] .token.number,.w-tc-editor code[class*=language-] .token.symbol,.w-tc-editor pre[class*=language-] .token.boolean,.w-tc-editor pre[class*=language-] .token.constant,.w-tc-editor pre[class*=language-] .token.deleted,.w-tc-editor pre[class*=language-] .token.number,.w-tc-editor pre[class*=language-] .token.symbol{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .style .token.string,.w-tc-editor code[class*=language-] .token.builtin,.w-tc-editor code[class*=language-] .token.char,.w-tc-editor code[class*=language-] .token.entity,.w-tc-editor code[class*=language-] .token.inserted,.w-tc-editor code[class*=language-] .token.operator,.w-tc-editor code[class*=language-] .token.property,.w-tc-editor code[class*=language-] .token.selector,.w-tc-editor code[class*=language-] .token.string,.w-tc-editor code[class*=language-] .token.url,.w-tc-editor pre[class*=language-] .style .token.string,.w-tc-editor pre[class*=language-] .token.builtin,.w-tc-editor pre[class*=language-] .token.char,.w-tc-editor pre[class*=language-] .token.entity,.w-tc-editor pre[class*=language-] .token.inserted,.w-tc-editor pre[class*=language-] .token.operator,.w-tc-editor pre[class*=language-] .token.property,.w-tc-editor pre[class*=language-] .token.selector,.w-tc-editor pre[class*=language-] .token.string,.w-tc-editor pre[class*=language-] .token.url{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.atrule,.w-tc-editor code[class*=language-] .token.keyword,.w-tc-editor code[class*=language-] .token.property-access .token.method,.w-tc-editor pre[class*=language-] .token.atrule,.w-tc-editor pre[class*=language-] .token.keyword,.w-tc-editor pre[class*=language-] .token.property-access .token.method{color:var(--color-prettylights-syntax-keyword)}.w-tc-editor code[class*=language-] .token.function,.w-tc-editor pre[class*=language-] .token.function{color:var(--color-prettylights-syntax-string)}.w-tc-editor code[class*=language-] .token.important,.w-tc-editor code[class*=language-] .token.regex,.w-tc-editor code[class*=language-] .token.variable,.w-tc-editor pre[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.regex,.w-tc-editor pre[class*=language-] .token.variable{color:var(--color-prettylights-syntax-string-regexp)}.w-tc-editor code[class*=language-] .token.bold,.w-tc-editor code[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.bold,.w-tc-editor pre[class*=language-] .token.important{color:var(--color-prettylights-syntax-markup-bold)}.w-tc-editor code[class*=language-] .token.tag,.w-tc-editor pre[class*=language-] .token.tag{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .token.attr-name,.w-tc-editor code[class*=language-] .token.attr-value,.w-tc-editor pre[class*=language-] .token.attr-name,.w-tc-editor pre[class*=language-] .token.attr-value{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.class-name,.w-tc-editor code[class*=language-] .token.selector .class,.w-tc-editor pre[class*=language-] .token.class-name,.w-tc-editor pre[class*=language-] .token.selector .class{color:var(--color-prettylights-syntax-entity)} -/*# sourceMappingURL=1275.e99c33cf.chunk.css.map*/ \ No newline at end of file +/*# sourceMappingURL=1275.8bbdd881.chunk.css.map*/ \ No newline at end of file diff --git a/portal-ui/build/static/css/1507.e99c33cf.chunk.css.map b/portal-ui/build/static/css/1275.8bbdd881.chunk.css.map similarity index 99% rename from portal-ui/build/static/css/1507.e99c33cf.chunk.css.map rename to portal-ui/build/static/css/1275.8bbdd881.chunk.css.map index bf6a5afc4..ea96b763c 100644 --- a/portal-ui/build/static/css/1507.e99c33cf.chunk.css.map +++ b/portal-ui/build/static/css/1275.8bbdd881.chunk.css.map @@ -1 +1 @@ -{"version":3,"file":"static/css/1507.e99c33cf.chunk.css","mappings":"AAAA,mCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,oCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,0GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,6GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,aAGE,2CAA4C,CAC5C,6BAA8B,CAH9B,mBAAoB,CACpB,cAGF,CACA,uCAEE,eACF,CACA,yBAIE,mBAAoB,CACpB,iBAAkB,CAJlB,QAAS,CACT,SAAU,CACV,mBAGF,CACA,8BACE,mBACF,CACA,8YAQE,8CACF,CACA,6GAEE,gEACF,CACA,6FAEE,UACF,CACA,ufAUE,iDACF,CAaA,o/BAUE,+CACF,CACA,yVAME,8CACF,CACA,uGAEE,6CACF,CACA,iTAME,oDACF,CACA,wMAIE,kDACF,CACA,6FAEE,iDACF,CACA,oNAIE,+CACF,CACA,gOAIE,6CACF","sources":["../node_modules/@uiw/react-textarea-code-editor/esm/style/index.css"],"sourcesContent":["@media (prefers-color-scheme: dark) {\n .w-tc-editor {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n }\n}\n@media (prefers-color-scheme: light) {\n .w-tc-editor {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n }\n}\n[data-color-mode*='dark'] .w-tc-editor,\n[data-color-mode*='dark'] .w-tc-editor-var,\nbody[data-color-mode*='dark'] {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n}\n[data-color-mode*='light'] .w-tc-editor,\n[data-color-mode*='light'] .w-tc-editor-var,\nbody[data-color-mode*='light'] {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #f6f8fa;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n}\n.w-tc-editor {\n font-family: inherit;\n font-size: 12px;\n background-color: var(--color-canvas-subtle);\n color: var(--color-fg-default);\n}\n.w-tc-editor-text,\n.w-tc-editor-preview {\n min-height: 16px;\n}\n.w-tc-editor-preview pre {\n margin: 0;\n padding: 0;\n white-space: inherit;\n font-family: inherit;\n font-size: inherit;\n}\n.w-tc-editor-preview pre code {\n font-family: inherit;\n}\n.w-tc-editor code[class*='language-'] .token.cdata,\n.w-tc-editor pre[class*='language-'] .token.cdata,\n.w-tc-editor code[class*='language-'] .token.comment,\n.w-tc-editor pre[class*='language-'] .token.comment,\n.w-tc-editor code[class*='language-'] .token.doctype,\n.w-tc-editor pre[class*='language-'] .token.doctype,\n.w-tc-editor code[class*='language-'] .token.prolog,\n.w-tc-editor pre[class*='language-'] .token.prolog {\n color: var(--color-prettylights-syntax-comment);\n}\n.w-tc-editor code[class*='language-'] .token.punctuation,\n.w-tc-editor pre[class*='language-'] .token.punctuation {\n color: var(--color-prettylights-syntax-sublimelinter-gutter-mark);\n}\n.w-tc-editor code[class*='language-'] .namespace,\n.w-tc-editor pre[class*='language-'] .namespace {\n opacity: 0.7;\n}\n.w-tc-editor code[class*='language-'] .token.boolean,\n.w-tc-editor pre[class*='language-'] .token.boolean,\n.w-tc-editor code[class*='language-'] .token.constant,\n.w-tc-editor pre[class*='language-'] .token.constant,\n.w-tc-editor code[class*='language-'] .token.deleted,\n.w-tc-editor pre[class*='language-'] .token.deleted,\n.w-tc-editor code[class*='language-'] .token.number,\n.w-tc-editor pre[class*='language-'] .token.number,\n.w-tc-editor code[class*='language-'] .token.symbol,\n.w-tc-editor pre[class*='language-'] .token.symbol {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.builtin,\n.w-tc-editor pre[class*='language-'] .token.builtin,\n.w-tc-editor code[class*='language-'] .token.char,\n.w-tc-editor pre[class*='language-'] .token.char,\n.w-tc-editor code[class*='language-'] .token.inserted,\n.w-tc-editor pre[class*='language-'] .token.inserted,\n.w-tc-editor code[class*='language-'] .token.selector,\n.w-tc-editor pre[class*='language-'] .token.selector,\n.w-tc-editor code[class*='language-'] .token.string,\n.w-tc-editor pre[class*='language-'] .token.string {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .style .token.string,\n.w-tc-editor pre[class*='language-'] .style .token.string,\n.w-tc-editor code[class*='language-'] .token.entity,\n.w-tc-editor pre[class*='language-'] .token.entity,\n.w-tc-editor code[class*='language-'] .token.property,\n.w-tc-editor pre[class*='language-'] .token.property,\n.w-tc-editor code[class*='language-'] .token.operator,\n.w-tc-editor pre[class*='language-'] .token.operator,\n.w-tc-editor code[class*='language-'] .token.url,\n.w-tc-editor pre[class*='language-'] .token.url {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.atrule,\n.w-tc-editor pre[class*='language-'] .token.atrule,\n.w-tc-editor code[class*='language-'] .token.property-access .token.method,\n.w-tc-editor pre[class*='language-'] .token.property-access .token.method,\n.w-tc-editor code[class*='language-'] .token.keyword,\n.w-tc-editor pre[class*='language-'] .token.keyword {\n color: var(--color-prettylights-syntax-keyword);\n}\n.w-tc-editor code[class*='language-'] .token.function,\n.w-tc-editor pre[class*='language-'] .token.function {\n color: var(--color-prettylights-syntax-string);\n}\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important,\n.w-tc-editor code[class*='language-'] .token.regex,\n.w-tc-editor pre[class*='language-'] .token.regex,\n.w-tc-editor code[class*='language-'] .token.variable,\n.w-tc-editor pre[class*='language-'] .token.variable {\n color: var(--color-prettylights-syntax-string-regexp);\n}\n.w-tc-editor code[class*='language-'] .token.bold,\n.w-tc-editor pre[class*='language-'] .token.bold,\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important {\n color: var(--color-prettylights-syntax-markup-bold);\n}\n.w-tc-editor code[class*='language-'] .token.tag,\n.w-tc-editor pre[class*='language-'] .token.tag {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.attr-value,\n.w-tc-editor pre[class*='language-'] .token.attr-value,\n.w-tc-editor code[class*='language-'] .token.attr-name,\n.w-tc-editor pre[class*='language-'] .token.attr-name {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.selector .class,\n.w-tc-editor pre[class*='language-'] .token.selector .class,\n.w-tc-editor code[class*='language-'] .token.class-name,\n.w-tc-editor pre[class*='language-'] .token.class-name {\n color: var(--color-prettylights-syntax-entity);\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/css/1275.8bbdd881.chunk.css","mappings":"AAAA,mCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,oCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,0GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,6GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,aAGE,2CAA4C,CAC5C,6BAA8B,CAH9B,mBAAoB,CACpB,cAGF,CACA,uCAEE,eACF,CACA,yBAIE,mBAAoB,CACpB,iBAAkB,CAJlB,QAAS,CACT,SAAU,CACV,mBAGF,CACA,8BACE,mBACF,CACA,8YAQE,8CACF,CACA,6GAEE,gEACF,CACA,6FAEE,UACF,CACA,ufAUE,iDACF,CAaA,o/BAUE,+CACF,CACA,yVAME,8CACF,CACA,uGAEE,6CACF,CACA,iTAME,oDACF,CACA,wMAIE,kDACF,CACA,6FAEE,iDACF,CACA,oNAIE,+CACF,CACA,gOAIE,6CACF","sources":["../node_modules/@uiw/react-textarea-code-editor/esm/style/index.css"],"sourcesContent":["@media (prefers-color-scheme: dark) {\n .w-tc-editor {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n }\n}\n@media (prefers-color-scheme: light) {\n .w-tc-editor {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n }\n}\n[data-color-mode*='dark'] .w-tc-editor,\n[data-color-mode*='dark'] .w-tc-editor-var,\nbody[data-color-mode*='dark'] {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n}\n[data-color-mode*='light'] .w-tc-editor,\n[data-color-mode*='light'] .w-tc-editor-var,\nbody[data-color-mode*='light'] {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #f6f8fa;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n}\n.w-tc-editor {\n font-family: inherit;\n font-size: 12px;\n background-color: var(--color-canvas-subtle);\n color: var(--color-fg-default);\n}\n.w-tc-editor-text,\n.w-tc-editor-preview {\n min-height: 16px;\n}\n.w-tc-editor-preview pre {\n margin: 0;\n padding: 0;\n white-space: inherit;\n font-family: inherit;\n font-size: inherit;\n}\n.w-tc-editor-preview pre code {\n font-family: inherit;\n}\n.w-tc-editor code[class*='language-'] .token.cdata,\n.w-tc-editor pre[class*='language-'] .token.cdata,\n.w-tc-editor code[class*='language-'] .token.comment,\n.w-tc-editor pre[class*='language-'] .token.comment,\n.w-tc-editor code[class*='language-'] .token.doctype,\n.w-tc-editor pre[class*='language-'] .token.doctype,\n.w-tc-editor code[class*='language-'] .token.prolog,\n.w-tc-editor pre[class*='language-'] .token.prolog {\n color: var(--color-prettylights-syntax-comment);\n}\n.w-tc-editor code[class*='language-'] .token.punctuation,\n.w-tc-editor pre[class*='language-'] .token.punctuation {\n color: var(--color-prettylights-syntax-sublimelinter-gutter-mark);\n}\n.w-tc-editor code[class*='language-'] .namespace,\n.w-tc-editor pre[class*='language-'] .namespace {\n opacity: 0.7;\n}\n.w-tc-editor code[class*='language-'] .token.boolean,\n.w-tc-editor pre[class*='language-'] .token.boolean,\n.w-tc-editor code[class*='language-'] .token.constant,\n.w-tc-editor pre[class*='language-'] .token.constant,\n.w-tc-editor code[class*='language-'] .token.deleted,\n.w-tc-editor pre[class*='language-'] .token.deleted,\n.w-tc-editor code[class*='language-'] .token.number,\n.w-tc-editor pre[class*='language-'] .token.number,\n.w-tc-editor code[class*='language-'] .token.symbol,\n.w-tc-editor pre[class*='language-'] .token.symbol {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.builtin,\n.w-tc-editor pre[class*='language-'] .token.builtin,\n.w-tc-editor code[class*='language-'] .token.char,\n.w-tc-editor pre[class*='language-'] .token.char,\n.w-tc-editor code[class*='language-'] .token.inserted,\n.w-tc-editor pre[class*='language-'] .token.inserted,\n.w-tc-editor code[class*='language-'] .token.selector,\n.w-tc-editor pre[class*='language-'] .token.selector,\n.w-tc-editor code[class*='language-'] .token.string,\n.w-tc-editor pre[class*='language-'] .token.string {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .style .token.string,\n.w-tc-editor pre[class*='language-'] .style .token.string,\n.w-tc-editor code[class*='language-'] .token.entity,\n.w-tc-editor pre[class*='language-'] .token.entity,\n.w-tc-editor code[class*='language-'] .token.property,\n.w-tc-editor pre[class*='language-'] .token.property,\n.w-tc-editor code[class*='language-'] .token.operator,\n.w-tc-editor pre[class*='language-'] .token.operator,\n.w-tc-editor code[class*='language-'] .token.url,\n.w-tc-editor pre[class*='language-'] .token.url {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.atrule,\n.w-tc-editor pre[class*='language-'] .token.atrule,\n.w-tc-editor code[class*='language-'] .token.property-access .token.method,\n.w-tc-editor pre[class*='language-'] .token.property-access .token.method,\n.w-tc-editor code[class*='language-'] .token.keyword,\n.w-tc-editor pre[class*='language-'] .token.keyword {\n color: var(--color-prettylights-syntax-keyword);\n}\n.w-tc-editor code[class*='language-'] .token.function,\n.w-tc-editor pre[class*='language-'] .token.function {\n color: var(--color-prettylights-syntax-string);\n}\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important,\n.w-tc-editor code[class*='language-'] .token.regex,\n.w-tc-editor pre[class*='language-'] .token.regex,\n.w-tc-editor code[class*='language-'] .token.variable,\n.w-tc-editor pre[class*='language-'] .token.variable {\n color: var(--color-prettylights-syntax-string-regexp);\n}\n.w-tc-editor code[class*='language-'] .token.bold,\n.w-tc-editor pre[class*='language-'] .token.bold,\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important {\n color: var(--color-prettylights-syntax-markup-bold);\n}\n.w-tc-editor code[class*='language-'] .token.tag,\n.w-tc-editor pre[class*='language-'] .token.tag {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.attr-value,\n.w-tc-editor pre[class*='language-'] .token.attr-value,\n.w-tc-editor code[class*='language-'] .token.attr-name,\n.w-tc-editor pre[class*='language-'] .token.attr-name {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.selector .class,\n.w-tc-editor pre[class*='language-'] .token.selector .class,\n.w-tc-editor code[class*='language-'] .token.class-name,\n.w-tc-editor pre[class*='language-'] .token.class-name {\n color: var(--color-prettylights-syntax-entity);\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/css/1507.e99c33cf.chunk.css b/portal-ui/build/static/css/1367.8bbdd881.chunk.css similarity index 99% rename from portal-ui/build/static/css/1507.e99c33cf.chunk.css rename to portal-ui/build/static/css/1367.8bbdd881.chunk.css index fa6aa0928..fde4e354b 100644 --- a/portal-ui/build/static/css/1507.e99c33cf.chunk.css +++ b/portal-ui/build/static/css/1367.8bbdd881.chunk.css @@ -1,2 +1,2 @@ @media (prefers-color-scheme:dark){.w-tc-editor{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}}@media (prefers-color-scheme:light){.w-tc-editor{--color-fg-default:#24292f;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}}[data-color-mode*=dark] .w-tc-editor,[data-color-mode*=dark] .w-tc-editor-var,body[data-color-mode*=dark]{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}[data-color-mode*=light] .w-tc-editor,[data-color-mode*=light] .w-tc-editor-var,body[data-color-mode*=light]{--color-fg-default:#24292f;--color-canvas-subtle:#f6f8fa;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}.w-tc-editor{background-color:var(--color-canvas-subtle);color:var(--color-fg-default);font-family:inherit;font-size:12px}.w-tc-editor-preview,.w-tc-editor-text{min-height:16px}.w-tc-editor-preview pre{font-family:inherit;font-size:inherit;margin:0;padding:0;white-space:inherit}.w-tc-editor-preview pre code{font-family:inherit}.w-tc-editor code[class*=language-] .token.cdata,.w-tc-editor code[class*=language-] .token.comment,.w-tc-editor code[class*=language-] .token.doctype,.w-tc-editor code[class*=language-] .token.prolog,.w-tc-editor pre[class*=language-] .token.cdata,.w-tc-editor pre[class*=language-] .token.comment,.w-tc-editor pre[class*=language-] .token.doctype,.w-tc-editor pre[class*=language-] .token.prolog{color:var(--color-prettylights-syntax-comment)}.w-tc-editor code[class*=language-] .token.punctuation,.w-tc-editor pre[class*=language-] .token.punctuation{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.w-tc-editor code[class*=language-] .namespace,.w-tc-editor pre[class*=language-] .namespace{opacity:.7}.w-tc-editor code[class*=language-] .token.boolean,.w-tc-editor code[class*=language-] .token.constant,.w-tc-editor code[class*=language-] .token.deleted,.w-tc-editor code[class*=language-] .token.number,.w-tc-editor code[class*=language-] .token.symbol,.w-tc-editor pre[class*=language-] .token.boolean,.w-tc-editor pre[class*=language-] .token.constant,.w-tc-editor pre[class*=language-] .token.deleted,.w-tc-editor pre[class*=language-] .token.number,.w-tc-editor pre[class*=language-] .token.symbol{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .style .token.string,.w-tc-editor code[class*=language-] .token.builtin,.w-tc-editor code[class*=language-] .token.char,.w-tc-editor code[class*=language-] .token.entity,.w-tc-editor code[class*=language-] .token.inserted,.w-tc-editor code[class*=language-] .token.operator,.w-tc-editor code[class*=language-] .token.property,.w-tc-editor code[class*=language-] .token.selector,.w-tc-editor code[class*=language-] .token.string,.w-tc-editor code[class*=language-] .token.url,.w-tc-editor pre[class*=language-] .style .token.string,.w-tc-editor pre[class*=language-] .token.builtin,.w-tc-editor pre[class*=language-] .token.char,.w-tc-editor pre[class*=language-] .token.entity,.w-tc-editor pre[class*=language-] .token.inserted,.w-tc-editor pre[class*=language-] .token.operator,.w-tc-editor pre[class*=language-] .token.property,.w-tc-editor pre[class*=language-] .token.selector,.w-tc-editor pre[class*=language-] .token.string,.w-tc-editor pre[class*=language-] .token.url{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.atrule,.w-tc-editor code[class*=language-] .token.keyword,.w-tc-editor code[class*=language-] .token.property-access .token.method,.w-tc-editor pre[class*=language-] .token.atrule,.w-tc-editor pre[class*=language-] .token.keyword,.w-tc-editor pre[class*=language-] .token.property-access .token.method{color:var(--color-prettylights-syntax-keyword)}.w-tc-editor code[class*=language-] .token.function,.w-tc-editor pre[class*=language-] .token.function{color:var(--color-prettylights-syntax-string)}.w-tc-editor code[class*=language-] .token.important,.w-tc-editor code[class*=language-] .token.regex,.w-tc-editor code[class*=language-] .token.variable,.w-tc-editor pre[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.regex,.w-tc-editor pre[class*=language-] .token.variable{color:var(--color-prettylights-syntax-string-regexp)}.w-tc-editor code[class*=language-] .token.bold,.w-tc-editor code[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.bold,.w-tc-editor pre[class*=language-] .token.important{color:var(--color-prettylights-syntax-markup-bold)}.w-tc-editor code[class*=language-] .token.tag,.w-tc-editor pre[class*=language-] .token.tag{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .token.attr-name,.w-tc-editor code[class*=language-] .token.attr-value,.w-tc-editor pre[class*=language-] .token.attr-name,.w-tc-editor pre[class*=language-] .token.attr-value{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.class-name,.w-tc-editor code[class*=language-] .token.selector .class,.w-tc-editor pre[class*=language-] .token.class-name,.w-tc-editor pre[class*=language-] .token.selector .class{color:var(--color-prettylights-syntax-entity)} -/*# sourceMappingURL=1507.e99c33cf.chunk.css.map*/ \ No newline at end of file +/*# sourceMappingURL=1367.8bbdd881.chunk.css.map*/ \ No newline at end of file diff --git a/portal-ui/build/static/css/1275.e99c33cf.chunk.css.map b/portal-ui/build/static/css/1367.8bbdd881.chunk.css.map similarity index 99% rename from portal-ui/build/static/css/1275.e99c33cf.chunk.css.map rename to portal-ui/build/static/css/1367.8bbdd881.chunk.css.map index c700a26c6..984f86c3f 100644 --- a/portal-ui/build/static/css/1275.e99c33cf.chunk.css.map +++ b/portal-ui/build/static/css/1367.8bbdd881.chunk.css.map @@ -1 +1 @@ -{"version":3,"file":"static/css/1275.e99c33cf.chunk.css","mappings":"AAAA,mCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,oCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,0GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,6GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,aAGE,2CAA4C,CAC5C,6BAA8B,CAH9B,mBAAoB,CACpB,cAGF,CACA,uCAEE,eACF,CACA,yBAIE,mBAAoB,CACpB,iBAAkB,CAJlB,QAAS,CACT,SAAU,CACV,mBAGF,CACA,8BACE,mBACF,CACA,8YAQE,8CACF,CACA,6GAEE,gEACF,CACA,6FAEE,UACF,CACA,ufAUE,iDACF,CAaA,o/BAUE,+CACF,CACA,yVAME,8CACF,CACA,uGAEE,6CACF,CACA,iTAME,oDACF,CACA,wMAIE,kDACF,CACA,6FAEE,iDACF,CACA,oNAIE,+CACF,CACA,gOAIE,6CACF","sources":["../node_modules/@uiw/react-textarea-code-editor/esm/style/index.css"],"sourcesContent":["@media (prefers-color-scheme: dark) {\n .w-tc-editor {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n }\n}\n@media (prefers-color-scheme: light) {\n .w-tc-editor {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n }\n}\n[data-color-mode*='dark'] .w-tc-editor,\n[data-color-mode*='dark'] .w-tc-editor-var,\nbody[data-color-mode*='dark'] {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n}\n[data-color-mode*='light'] .w-tc-editor,\n[data-color-mode*='light'] .w-tc-editor-var,\nbody[data-color-mode*='light'] {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #f6f8fa;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n}\n.w-tc-editor {\n font-family: inherit;\n font-size: 12px;\n background-color: var(--color-canvas-subtle);\n color: var(--color-fg-default);\n}\n.w-tc-editor-text,\n.w-tc-editor-preview {\n min-height: 16px;\n}\n.w-tc-editor-preview pre {\n margin: 0;\n padding: 0;\n white-space: inherit;\n font-family: inherit;\n font-size: inherit;\n}\n.w-tc-editor-preview pre code {\n font-family: inherit;\n}\n.w-tc-editor code[class*='language-'] .token.cdata,\n.w-tc-editor pre[class*='language-'] .token.cdata,\n.w-tc-editor code[class*='language-'] .token.comment,\n.w-tc-editor pre[class*='language-'] .token.comment,\n.w-tc-editor code[class*='language-'] .token.doctype,\n.w-tc-editor pre[class*='language-'] .token.doctype,\n.w-tc-editor code[class*='language-'] .token.prolog,\n.w-tc-editor pre[class*='language-'] .token.prolog {\n color: var(--color-prettylights-syntax-comment);\n}\n.w-tc-editor code[class*='language-'] .token.punctuation,\n.w-tc-editor pre[class*='language-'] .token.punctuation {\n color: var(--color-prettylights-syntax-sublimelinter-gutter-mark);\n}\n.w-tc-editor code[class*='language-'] .namespace,\n.w-tc-editor pre[class*='language-'] .namespace {\n opacity: 0.7;\n}\n.w-tc-editor code[class*='language-'] .token.boolean,\n.w-tc-editor pre[class*='language-'] .token.boolean,\n.w-tc-editor code[class*='language-'] .token.constant,\n.w-tc-editor pre[class*='language-'] .token.constant,\n.w-tc-editor code[class*='language-'] .token.deleted,\n.w-tc-editor pre[class*='language-'] .token.deleted,\n.w-tc-editor code[class*='language-'] .token.number,\n.w-tc-editor pre[class*='language-'] .token.number,\n.w-tc-editor code[class*='language-'] .token.symbol,\n.w-tc-editor pre[class*='language-'] .token.symbol {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.builtin,\n.w-tc-editor pre[class*='language-'] .token.builtin,\n.w-tc-editor code[class*='language-'] .token.char,\n.w-tc-editor pre[class*='language-'] .token.char,\n.w-tc-editor code[class*='language-'] .token.inserted,\n.w-tc-editor pre[class*='language-'] .token.inserted,\n.w-tc-editor code[class*='language-'] .token.selector,\n.w-tc-editor pre[class*='language-'] .token.selector,\n.w-tc-editor code[class*='language-'] .token.string,\n.w-tc-editor pre[class*='language-'] .token.string {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .style .token.string,\n.w-tc-editor pre[class*='language-'] .style .token.string,\n.w-tc-editor code[class*='language-'] .token.entity,\n.w-tc-editor pre[class*='language-'] .token.entity,\n.w-tc-editor code[class*='language-'] .token.property,\n.w-tc-editor pre[class*='language-'] .token.property,\n.w-tc-editor code[class*='language-'] .token.operator,\n.w-tc-editor pre[class*='language-'] .token.operator,\n.w-tc-editor code[class*='language-'] .token.url,\n.w-tc-editor pre[class*='language-'] .token.url {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.atrule,\n.w-tc-editor pre[class*='language-'] .token.atrule,\n.w-tc-editor code[class*='language-'] .token.property-access .token.method,\n.w-tc-editor pre[class*='language-'] .token.property-access .token.method,\n.w-tc-editor code[class*='language-'] .token.keyword,\n.w-tc-editor pre[class*='language-'] .token.keyword {\n color: var(--color-prettylights-syntax-keyword);\n}\n.w-tc-editor code[class*='language-'] .token.function,\n.w-tc-editor pre[class*='language-'] .token.function {\n color: var(--color-prettylights-syntax-string);\n}\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important,\n.w-tc-editor code[class*='language-'] .token.regex,\n.w-tc-editor pre[class*='language-'] .token.regex,\n.w-tc-editor code[class*='language-'] .token.variable,\n.w-tc-editor pre[class*='language-'] .token.variable {\n color: var(--color-prettylights-syntax-string-regexp);\n}\n.w-tc-editor code[class*='language-'] .token.bold,\n.w-tc-editor pre[class*='language-'] .token.bold,\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important {\n color: var(--color-prettylights-syntax-markup-bold);\n}\n.w-tc-editor code[class*='language-'] .token.tag,\n.w-tc-editor pre[class*='language-'] .token.tag {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.attr-value,\n.w-tc-editor pre[class*='language-'] .token.attr-value,\n.w-tc-editor code[class*='language-'] .token.attr-name,\n.w-tc-editor pre[class*='language-'] .token.attr-name {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.selector .class,\n.w-tc-editor pre[class*='language-'] .token.selector .class,\n.w-tc-editor code[class*='language-'] .token.class-name,\n.w-tc-editor pre[class*='language-'] .token.class-name {\n color: var(--color-prettylights-syntax-entity);\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/css/1367.8bbdd881.chunk.css","mappings":"AAAA,mCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,oCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,0GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,6GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,aAGE,2CAA4C,CAC5C,6BAA8B,CAH9B,mBAAoB,CACpB,cAGF,CACA,uCAEE,eACF,CACA,yBAIE,mBAAoB,CACpB,iBAAkB,CAJlB,QAAS,CACT,SAAU,CACV,mBAGF,CACA,8BACE,mBACF,CACA,8YAQE,8CACF,CACA,6GAEE,gEACF,CACA,6FAEE,UACF,CACA,ufAUE,iDACF,CAaA,o/BAUE,+CACF,CACA,yVAME,8CACF,CACA,uGAEE,6CACF,CACA,iTAME,oDACF,CACA,wMAIE,kDACF,CACA,6FAEE,iDACF,CACA,oNAIE,+CACF,CACA,gOAIE,6CACF","sources":["../node_modules/@uiw/react-textarea-code-editor/esm/style/index.css"],"sourcesContent":["@media (prefers-color-scheme: dark) {\n .w-tc-editor {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n }\n}\n@media (prefers-color-scheme: light) {\n .w-tc-editor {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n }\n}\n[data-color-mode*='dark'] .w-tc-editor,\n[data-color-mode*='dark'] .w-tc-editor-var,\nbody[data-color-mode*='dark'] {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n}\n[data-color-mode*='light'] .w-tc-editor,\n[data-color-mode*='light'] .w-tc-editor-var,\nbody[data-color-mode*='light'] {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #f6f8fa;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n}\n.w-tc-editor {\n font-family: inherit;\n font-size: 12px;\n background-color: var(--color-canvas-subtle);\n color: var(--color-fg-default);\n}\n.w-tc-editor-text,\n.w-tc-editor-preview {\n min-height: 16px;\n}\n.w-tc-editor-preview pre {\n margin: 0;\n padding: 0;\n white-space: inherit;\n font-family: inherit;\n font-size: inherit;\n}\n.w-tc-editor-preview pre code {\n font-family: inherit;\n}\n.w-tc-editor code[class*='language-'] .token.cdata,\n.w-tc-editor pre[class*='language-'] .token.cdata,\n.w-tc-editor code[class*='language-'] .token.comment,\n.w-tc-editor pre[class*='language-'] .token.comment,\n.w-tc-editor code[class*='language-'] .token.doctype,\n.w-tc-editor pre[class*='language-'] .token.doctype,\n.w-tc-editor code[class*='language-'] .token.prolog,\n.w-tc-editor pre[class*='language-'] .token.prolog {\n color: var(--color-prettylights-syntax-comment);\n}\n.w-tc-editor code[class*='language-'] .token.punctuation,\n.w-tc-editor pre[class*='language-'] .token.punctuation {\n color: var(--color-prettylights-syntax-sublimelinter-gutter-mark);\n}\n.w-tc-editor code[class*='language-'] .namespace,\n.w-tc-editor pre[class*='language-'] .namespace {\n opacity: 0.7;\n}\n.w-tc-editor code[class*='language-'] .token.boolean,\n.w-tc-editor pre[class*='language-'] .token.boolean,\n.w-tc-editor code[class*='language-'] .token.constant,\n.w-tc-editor pre[class*='language-'] .token.constant,\n.w-tc-editor code[class*='language-'] .token.deleted,\n.w-tc-editor pre[class*='language-'] .token.deleted,\n.w-tc-editor code[class*='language-'] .token.number,\n.w-tc-editor pre[class*='language-'] .token.number,\n.w-tc-editor code[class*='language-'] .token.symbol,\n.w-tc-editor pre[class*='language-'] .token.symbol {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.builtin,\n.w-tc-editor pre[class*='language-'] .token.builtin,\n.w-tc-editor code[class*='language-'] .token.char,\n.w-tc-editor pre[class*='language-'] .token.char,\n.w-tc-editor code[class*='language-'] .token.inserted,\n.w-tc-editor pre[class*='language-'] .token.inserted,\n.w-tc-editor code[class*='language-'] .token.selector,\n.w-tc-editor pre[class*='language-'] .token.selector,\n.w-tc-editor code[class*='language-'] .token.string,\n.w-tc-editor pre[class*='language-'] .token.string {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .style .token.string,\n.w-tc-editor pre[class*='language-'] .style .token.string,\n.w-tc-editor code[class*='language-'] .token.entity,\n.w-tc-editor pre[class*='language-'] .token.entity,\n.w-tc-editor code[class*='language-'] .token.property,\n.w-tc-editor pre[class*='language-'] .token.property,\n.w-tc-editor code[class*='language-'] .token.operator,\n.w-tc-editor pre[class*='language-'] .token.operator,\n.w-tc-editor code[class*='language-'] .token.url,\n.w-tc-editor pre[class*='language-'] .token.url {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.atrule,\n.w-tc-editor pre[class*='language-'] .token.atrule,\n.w-tc-editor code[class*='language-'] .token.property-access .token.method,\n.w-tc-editor pre[class*='language-'] .token.property-access .token.method,\n.w-tc-editor code[class*='language-'] .token.keyword,\n.w-tc-editor pre[class*='language-'] .token.keyword {\n color: var(--color-prettylights-syntax-keyword);\n}\n.w-tc-editor code[class*='language-'] .token.function,\n.w-tc-editor pre[class*='language-'] .token.function {\n color: var(--color-prettylights-syntax-string);\n}\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important,\n.w-tc-editor code[class*='language-'] .token.regex,\n.w-tc-editor pre[class*='language-'] .token.regex,\n.w-tc-editor code[class*='language-'] .token.variable,\n.w-tc-editor pre[class*='language-'] .token.variable {\n color: var(--color-prettylights-syntax-string-regexp);\n}\n.w-tc-editor code[class*='language-'] .token.bold,\n.w-tc-editor pre[class*='language-'] .token.bold,\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important {\n color: var(--color-prettylights-syntax-markup-bold);\n}\n.w-tc-editor code[class*='language-'] .token.tag,\n.w-tc-editor pre[class*='language-'] .token.tag {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.attr-value,\n.w-tc-editor pre[class*='language-'] .token.attr-value,\n.w-tc-editor code[class*='language-'] .token.attr-name,\n.w-tc-editor pre[class*='language-'] .token.attr-name {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.selector .class,\n.w-tc-editor pre[class*='language-'] .token.selector .class,\n.w-tc-editor code[class*='language-'] .token.class-name,\n.w-tc-editor pre[class*='language-'] .token.class-name {\n color: var(--color-prettylights-syntax-entity);\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/css/1367.e99c33cf.chunk.css b/portal-ui/build/static/css/1507.8bbdd881.chunk.css similarity index 99% rename from portal-ui/build/static/css/1367.e99c33cf.chunk.css rename to portal-ui/build/static/css/1507.8bbdd881.chunk.css index 251818d37..5e3befd7c 100644 --- a/portal-ui/build/static/css/1367.e99c33cf.chunk.css +++ b/portal-ui/build/static/css/1507.8bbdd881.chunk.css @@ -1,2 +1,2 @@ @media (prefers-color-scheme:dark){.w-tc-editor{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}}@media (prefers-color-scheme:light){.w-tc-editor{--color-fg-default:#24292f;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}}[data-color-mode*=dark] .w-tc-editor,[data-color-mode*=dark] .w-tc-editor-var,body[data-color-mode*=dark]{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}[data-color-mode*=light] .w-tc-editor,[data-color-mode*=light] .w-tc-editor-var,body[data-color-mode*=light]{--color-fg-default:#24292f;--color-canvas-subtle:#f6f8fa;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}.w-tc-editor{background-color:var(--color-canvas-subtle);color:var(--color-fg-default);font-family:inherit;font-size:12px}.w-tc-editor-preview,.w-tc-editor-text{min-height:16px}.w-tc-editor-preview pre{font-family:inherit;font-size:inherit;margin:0;padding:0;white-space:inherit}.w-tc-editor-preview pre code{font-family:inherit}.w-tc-editor code[class*=language-] .token.cdata,.w-tc-editor code[class*=language-] .token.comment,.w-tc-editor code[class*=language-] .token.doctype,.w-tc-editor code[class*=language-] .token.prolog,.w-tc-editor pre[class*=language-] .token.cdata,.w-tc-editor pre[class*=language-] .token.comment,.w-tc-editor pre[class*=language-] .token.doctype,.w-tc-editor pre[class*=language-] .token.prolog{color:var(--color-prettylights-syntax-comment)}.w-tc-editor code[class*=language-] .token.punctuation,.w-tc-editor pre[class*=language-] .token.punctuation{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.w-tc-editor code[class*=language-] .namespace,.w-tc-editor pre[class*=language-] .namespace{opacity:.7}.w-tc-editor code[class*=language-] .token.boolean,.w-tc-editor code[class*=language-] .token.constant,.w-tc-editor code[class*=language-] .token.deleted,.w-tc-editor code[class*=language-] .token.number,.w-tc-editor code[class*=language-] .token.symbol,.w-tc-editor pre[class*=language-] .token.boolean,.w-tc-editor pre[class*=language-] .token.constant,.w-tc-editor pre[class*=language-] .token.deleted,.w-tc-editor pre[class*=language-] .token.number,.w-tc-editor pre[class*=language-] .token.symbol{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .style .token.string,.w-tc-editor code[class*=language-] .token.builtin,.w-tc-editor code[class*=language-] .token.char,.w-tc-editor code[class*=language-] .token.entity,.w-tc-editor code[class*=language-] .token.inserted,.w-tc-editor code[class*=language-] .token.operator,.w-tc-editor code[class*=language-] .token.property,.w-tc-editor code[class*=language-] .token.selector,.w-tc-editor code[class*=language-] .token.string,.w-tc-editor code[class*=language-] .token.url,.w-tc-editor pre[class*=language-] .style .token.string,.w-tc-editor pre[class*=language-] .token.builtin,.w-tc-editor pre[class*=language-] .token.char,.w-tc-editor pre[class*=language-] .token.entity,.w-tc-editor pre[class*=language-] .token.inserted,.w-tc-editor pre[class*=language-] .token.operator,.w-tc-editor pre[class*=language-] .token.property,.w-tc-editor pre[class*=language-] .token.selector,.w-tc-editor pre[class*=language-] .token.string,.w-tc-editor pre[class*=language-] .token.url{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.atrule,.w-tc-editor code[class*=language-] .token.keyword,.w-tc-editor code[class*=language-] .token.property-access .token.method,.w-tc-editor pre[class*=language-] .token.atrule,.w-tc-editor pre[class*=language-] .token.keyword,.w-tc-editor pre[class*=language-] .token.property-access .token.method{color:var(--color-prettylights-syntax-keyword)}.w-tc-editor code[class*=language-] .token.function,.w-tc-editor pre[class*=language-] .token.function{color:var(--color-prettylights-syntax-string)}.w-tc-editor code[class*=language-] .token.important,.w-tc-editor code[class*=language-] .token.regex,.w-tc-editor code[class*=language-] .token.variable,.w-tc-editor pre[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.regex,.w-tc-editor pre[class*=language-] .token.variable{color:var(--color-prettylights-syntax-string-regexp)}.w-tc-editor code[class*=language-] .token.bold,.w-tc-editor code[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.bold,.w-tc-editor pre[class*=language-] .token.important{color:var(--color-prettylights-syntax-markup-bold)}.w-tc-editor code[class*=language-] .token.tag,.w-tc-editor pre[class*=language-] .token.tag{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .token.attr-name,.w-tc-editor code[class*=language-] .token.attr-value,.w-tc-editor pre[class*=language-] .token.attr-name,.w-tc-editor pre[class*=language-] .token.attr-value{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.class-name,.w-tc-editor code[class*=language-] .token.selector .class,.w-tc-editor pre[class*=language-] .token.class-name,.w-tc-editor pre[class*=language-] .token.selector .class{color:var(--color-prettylights-syntax-entity)} -/*# sourceMappingURL=1367.e99c33cf.chunk.css.map*/ \ No newline at end of file +/*# sourceMappingURL=1507.8bbdd881.chunk.css.map*/ \ No newline at end of file diff --git a/portal-ui/build/static/css/2797.e99c33cf.chunk.css.map b/portal-ui/build/static/css/1507.8bbdd881.chunk.css.map similarity index 99% rename from portal-ui/build/static/css/2797.e99c33cf.chunk.css.map rename to portal-ui/build/static/css/1507.8bbdd881.chunk.css.map index 66aa3e4ef..168c7d691 100644 --- a/portal-ui/build/static/css/2797.e99c33cf.chunk.css.map +++ b/portal-ui/build/static/css/1507.8bbdd881.chunk.css.map @@ -1 +1 @@ -{"version":3,"file":"static/css/2797.e99c33cf.chunk.css","mappings":"AAAA,mCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,oCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,0GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,6GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,aAGE,2CAA4C,CAC5C,6BAA8B,CAH9B,mBAAoB,CACpB,cAGF,CACA,uCAEE,eACF,CACA,yBAIE,mBAAoB,CACpB,iBAAkB,CAJlB,QAAS,CACT,SAAU,CACV,mBAGF,CACA,8BACE,mBACF,CACA,8YAQE,8CACF,CACA,6GAEE,gEACF,CACA,6FAEE,UACF,CACA,ufAUE,iDACF,CAaA,o/BAUE,+CACF,CACA,yVAME,8CACF,CACA,uGAEE,6CACF,CACA,iTAME,oDACF,CACA,wMAIE,kDACF,CACA,6FAEE,iDACF,CACA,oNAIE,+CACF,CACA,gOAIE,6CACF","sources":["../node_modules/@uiw/react-textarea-code-editor/esm/style/index.css"],"sourcesContent":["@media (prefers-color-scheme: dark) {\n .w-tc-editor {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n }\n}\n@media (prefers-color-scheme: light) {\n .w-tc-editor {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n }\n}\n[data-color-mode*='dark'] .w-tc-editor,\n[data-color-mode*='dark'] .w-tc-editor-var,\nbody[data-color-mode*='dark'] {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n}\n[data-color-mode*='light'] .w-tc-editor,\n[data-color-mode*='light'] .w-tc-editor-var,\nbody[data-color-mode*='light'] {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #f6f8fa;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n}\n.w-tc-editor {\n font-family: inherit;\n font-size: 12px;\n background-color: var(--color-canvas-subtle);\n color: var(--color-fg-default);\n}\n.w-tc-editor-text,\n.w-tc-editor-preview {\n min-height: 16px;\n}\n.w-tc-editor-preview pre {\n margin: 0;\n padding: 0;\n white-space: inherit;\n font-family: inherit;\n font-size: inherit;\n}\n.w-tc-editor-preview pre code {\n font-family: inherit;\n}\n.w-tc-editor code[class*='language-'] .token.cdata,\n.w-tc-editor pre[class*='language-'] .token.cdata,\n.w-tc-editor code[class*='language-'] .token.comment,\n.w-tc-editor pre[class*='language-'] .token.comment,\n.w-tc-editor code[class*='language-'] .token.doctype,\n.w-tc-editor pre[class*='language-'] .token.doctype,\n.w-tc-editor code[class*='language-'] .token.prolog,\n.w-tc-editor pre[class*='language-'] .token.prolog {\n color: var(--color-prettylights-syntax-comment);\n}\n.w-tc-editor code[class*='language-'] .token.punctuation,\n.w-tc-editor pre[class*='language-'] .token.punctuation {\n color: var(--color-prettylights-syntax-sublimelinter-gutter-mark);\n}\n.w-tc-editor code[class*='language-'] .namespace,\n.w-tc-editor pre[class*='language-'] .namespace {\n opacity: 0.7;\n}\n.w-tc-editor code[class*='language-'] .token.boolean,\n.w-tc-editor pre[class*='language-'] .token.boolean,\n.w-tc-editor code[class*='language-'] .token.constant,\n.w-tc-editor pre[class*='language-'] .token.constant,\n.w-tc-editor code[class*='language-'] .token.deleted,\n.w-tc-editor pre[class*='language-'] .token.deleted,\n.w-tc-editor code[class*='language-'] .token.number,\n.w-tc-editor pre[class*='language-'] .token.number,\n.w-tc-editor code[class*='language-'] .token.symbol,\n.w-tc-editor pre[class*='language-'] .token.symbol {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.builtin,\n.w-tc-editor pre[class*='language-'] .token.builtin,\n.w-tc-editor code[class*='language-'] .token.char,\n.w-tc-editor pre[class*='language-'] .token.char,\n.w-tc-editor code[class*='language-'] .token.inserted,\n.w-tc-editor pre[class*='language-'] .token.inserted,\n.w-tc-editor code[class*='language-'] .token.selector,\n.w-tc-editor pre[class*='language-'] .token.selector,\n.w-tc-editor code[class*='language-'] .token.string,\n.w-tc-editor pre[class*='language-'] .token.string {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .style .token.string,\n.w-tc-editor pre[class*='language-'] .style .token.string,\n.w-tc-editor code[class*='language-'] .token.entity,\n.w-tc-editor pre[class*='language-'] .token.entity,\n.w-tc-editor code[class*='language-'] .token.property,\n.w-tc-editor pre[class*='language-'] .token.property,\n.w-tc-editor code[class*='language-'] .token.operator,\n.w-tc-editor pre[class*='language-'] .token.operator,\n.w-tc-editor code[class*='language-'] .token.url,\n.w-tc-editor pre[class*='language-'] .token.url {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.atrule,\n.w-tc-editor pre[class*='language-'] .token.atrule,\n.w-tc-editor code[class*='language-'] .token.property-access .token.method,\n.w-tc-editor pre[class*='language-'] .token.property-access .token.method,\n.w-tc-editor code[class*='language-'] .token.keyword,\n.w-tc-editor pre[class*='language-'] .token.keyword {\n color: var(--color-prettylights-syntax-keyword);\n}\n.w-tc-editor code[class*='language-'] .token.function,\n.w-tc-editor pre[class*='language-'] .token.function {\n color: var(--color-prettylights-syntax-string);\n}\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important,\n.w-tc-editor code[class*='language-'] .token.regex,\n.w-tc-editor pre[class*='language-'] .token.regex,\n.w-tc-editor code[class*='language-'] .token.variable,\n.w-tc-editor pre[class*='language-'] .token.variable {\n color: var(--color-prettylights-syntax-string-regexp);\n}\n.w-tc-editor code[class*='language-'] .token.bold,\n.w-tc-editor pre[class*='language-'] .token.bold,\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important {\n color: var(--color-prettylights-syntax-markup-bold);\n}\n.w-tc-editor code[class*='language-'] .token.tag,\n.w-tc-editor pre[class*='language-'] .token.tag {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.attr-value,\n.w-tc-editor pre[class*='language-'] .token.attr-value,\n.w-tc-editor code[class*='language-'] .token.attr-name,\n.w-tc-editor pre[class*='language-'] .token.attr-name {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.selector .class,\n.w-tc-editor pre[class*='language-'] .token.selector .class,\n.w-tc-editor code[class*='language-'] .token.class-name,\n.w-tc-editor pre[class*='language-'] .token.class-name {\n color: var(--color-prettylights-syntax-entity);\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/css/1507.8bbdd881.chunk.css","mappings":"AAAA,mCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,oCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,0GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,6GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,aAGE,2CAA4C,CAC5C,6BAA8B,CAH9B,mBAAoB,CACpB,cAGF,CACA,uCAEE,eACF,CACA,yBAIE,mBAAoB,CACpB,iBAAkB,CAJlB,QAAS,CACT,SAAU,CACV,mBAGF,CACA,8BACE,mBACF,CACA,8YAQE,8CACF,CACA,6GAEE,gEACF,CACA,6FAEE,UACF,CACA,ufAUE,iDACF,CAaA,o/BAUE,+CACF,CACA,yVAME,8CACF,CACA,uGAEE,6CACF,CACA,iTAME,oDACF,CACA,wMAIE,kDACF,CACA,6FAEE,iDACF,CACA,oNAIE,+CACF,CACA,gOAIE,6CACF","sources":["../node_modules/@uiw/react-textarea-code-editor/esm/style/index.css"],"sourcesContent":["@media (prefers-color-scheme: dark) {\n .w-tc-editor {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n }\n}\n@media (prefers-color-scheme: light) {\n .w-tc-editor {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n }\n}\n[data-color-mode*='dark'] .w-tc-editor,\n[data-color-mode*='dark'] .w-tc-editor-var,\nbody[data-color-mode*='dark'] {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n}\n[data-color-mode*='light'] .w-tc-editor,\n[data-color-mode*='light'] .w-tc-editor-var,\nbody[data-color-mode*='light'] {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #f6f8fa;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n}\n.w-tc-editor {\n font-family: inherit;\n font-size: 12px;\n background-color: var(--color-canvas-subtle);\n color: var(--color-fg-default);\n}\n.w-tc-editor-text,\n.w-tc-editor-preview {\n min-height: 16px;\n}\n.w-tc-editor-preview pre {\n margin: 0;\n padding: 0;\n white-space: inherit;\n font-family: inherit;\n font-size: inherit;\n}\n.w-tc-editor-preview pre code {\n font-family: inherit;\n}\n.w-tc-editor code[class*='language-'] .token.cdata,\n.w-tc-editor pre[class*='language-'] .token.cdata,\n.w-tc-editor code[class*='language-'] .token.comment,\n.w-tc-editor pre[class*='language-'] .token.comment,\n.w-tc-editor code[class*='language-'] .token.doctype,\n.w-tc-editor pre[class*='language-'] .token.doctype,\n.w-tc-editor code[class*='language-'] .token.prolog,\n.w-tc-editor pre[class*='language-'] .token.prolog {\n color: var(--color-prettylights-syntax-comment);\n}\n.w-tc-editor code[class*='language-'] .token.punctuation,\n.w-tc-editor pre[class*='language-'] .token.punctuation {\n color: var(--color-prettylights-syntax-sublimelinter-gutter-mark);\n}\n.w-tc-editor code[class*='language-'] .namespace,\n.w-tc-editor pre[class*='language-'] .namespace {\n opacity: 0.7;\n}\n.w-tc-editor code[class*='language-'] .token.boolean,\n.w-tc-editor pre[class*='language-'] .token.boolean,\n.w-tc-editor code[class*='language-'] .token.constant,\n.w-tc-editor pre[class*='language-'] .token.constant,\n.w-tc-editor code[class*='language-'] .token.deleted,\n.w-tc-editor pre[class*='language-'] .token.deleted,\n.w-tc-editor code[class*='language-'] .token.number,\n.w-tc-editor pre[class*='language-'] .token.number,\n.w-tc-editor code[class*='language-'] .token.symbol,\n.w-tc-editor pre[class*='language-'] .token.symbol {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.builtin,\n.w-tc-editor pre[class*='language-'] .token.builtin,\n.w-tc-editor code[class*='language-'] .token.char,\n.w-tc-editor pre[class*='language-'] .token.char,\n.w-tc-editor code[class*='language-'] .token.inserted,\n.w-tc-editor pre[class*='language-'] .token.inserted,\n.w-tc-editor code[class*='language-'] .token.selector,\n.w-tc-editor pre[class*='language-'] .token.selector,\n.w-tc-editor code[class*='language-'] .token.string,\n.w-tc-editor pre[class*='language-'] .token.string {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .style .token.string,\n.w-tc-editor pre[class*='language-'] .style .token.string,\n.w-tc-editor code[class*='language-'] .token.entity,\n.w-tc-editor pre[class*='language-'] .token.entity,\n.w-tc-editor code[class*='language-'] .token.property,\n.w-tc-editor pre[class*='language-'] .token.property,\n.w-tc-editor code[class*='language-'] .token.operator,\n.w-tc-editor pre[class*='language-'] .token.operator,\n.w-tc-editor code[class*='language-'] .token.url,\n.w-tc-editor pre[class*='language-'] .token.url {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.atrule,\n.w-tc-editor pre[class*='language-'] .token.atrule,\n.w-tc-editor code[class*='language-'] .token.property-access .token.method,\n.w-tc-editor pre[class*='language-'] .token.property-access .token.method,\n.w-tc-editor code[class*='language-'] .token.keyword,\n.w-tc-editor pre[class*='language-'] .token.keyword {\n color: var(--color-prettylights-syntax-keyword);\n}\n.w-tc-editor code[class*='language-'] .token.function,\n.w-tc-editor pre[class*='language-'] .token.function {\n color: var(--color-prettylights-syntax-string);\n}\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important,\n.w-tc-editor code[class*='language-'] .token.regex,\n.w-tc-editor pre[class*='language-'] .token.regex,\n.w-tc-editor code[class*='language-'] .token.variable,\n.w-tc-editor pre[class*='language-'] .token.variable {\n color: var(--color-prettylights-syntax-string-regexp);\n}\n.w-tc-editor code[class*='language-'] .token.bold,\n.w-tc-editor pre[class*='language-'] .token.bold,\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important {\n color: var(--color-prettylights-syntax-markup-bold);\n}\n.w-tc-editor code[class*='language-'] .token.tag,\n.w-tc-editor pre[class*='language-'] .token.tag {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.attr-value,\n.w-tc-editor pre[class*='language-'] .token.attr-value,\n.w-tc-editor code[class*='language-'] .token.attr-name,\n.w-tc-editor pre[class*='language-'] .token.attr-name {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.selector .class,\n.w-tc-editor pre[class*='language-'] .token.selector .class,\n.w-tc-editor code[class*='language-'] .token.class-name,\n.w-tc-editor pre[class*='language-'] .token.class-name {\n color: var(--color-prettylights-syntax-entity);\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/css/2797.e99c33cf.chunk.css b/portal-ui/build/static/css/2797.8bbdd881.chunk.css similarity index 99% rename from portal-ui/build/static/css/2797.e99c33cf.chunk.css rename to portal-ui/build/static/css/2797.8bbdd881.chunk.css index 01a8a02ac..ea410b096 100644 --- a/portal-ui/build/static/css/2797.e99c33cf.chunk.css +++ b/portal-ui/build/static/css/2797.8bbdd881.chunk.css @@ -1,2 +1,2 @@ @media (prefers-color-scheme:dark){.w-tc-editor{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}}@media (prefers-color-scheme:light){.w-tc-editor{--color-fg-default:#24292f;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}}[data-color-mode*=dark] .w-tc-editor,[data-color-mode*=dark] .w-tc-editor-var,body[data-color-mode*=dark]{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}[data-color-mode*=light] .w-tc-editor,[data-color-mode*=light] .w-tc-editor-var,body[data-color-mode*=light]{--color-fg-default:#24292f;--color-canvas-subtle:#f6f8fa;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}.w-tc-editor{background-color:var(--color-canvas-subtle);color:var(--color-fg-default);font-family:inherit;font-size:12px}.w-tc-editor-preview,.w-tc-editor-text{min-height:16px}.w-tc-editor-preview pre{font-family:inherit;font-size:inherit;margin:0;padding:0;white-space:inherit}.w-tc-editor-preview pre code{font-family:inherit}.w-tc-editor code[class*=language-] .token.cdata,.w-tc-editor code[class*=language-] .token.comment,.w-tc-editor code[class*=language-] .token.doctype,.w-tc-editor code[class*=language-] .token.prolog,.w-tc-editor pre[class*=language-] .token.cdata,.w-tc-editor pre[class*=language-] .token.comment,.w-tc-editor pre[class*=language-] .token.doctype,.w-tc-editor pre[class*=language-] .token.prolog{color:var(--color-prettylights-syntax-comment)}.w-tc-editor code[class*=language-] .token.punctuation,.w-tc-editor pre[class*=language-] .token.punctuation{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.w-tc-editor code[class*=language-] .namespace,.w-tc-editor pre[class*=language-] .namespace{opacity:.7}.w-tc-editor code[class*=language-] .token.boolean,.w-tc-editor code[class*=language-] .token.constant,.w-tc-editor code[class*=language-] .token.deleted,.w-tc-editor code[class*=language-] .token.number,.w-tc-editor code[class*=language-] .token.symbol,.w-tc-editor pre[class*=language-] .token.boolean,.w-tc-editor pre[class*=language-] .token.constant,.w-tc-editor pre[class*=language-] .token.deleted,.w-tc-editor pre[class*=language-] .token.number,.w-tc-editor pre[class*=language-] .token.symbol{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .style .token.string,.w-tc-editor code[class*=language-] .token.builtin,.w-tc-editor code[class*=language-] .token.char,.w-tc-editor code[class*=language-] .token.entity,.w-tc-editor code[class*=language-] .token.inserted,.w-tc-editor code[class*=language-] .token.operator,.w-tc-editor code[class*=language-] .token.property,.w-tc-editor code[class*=language-] .token.selector,.w-tc-editor code[class*=language-] .token.string,.w-tc-editor code[class*=language-] .token.url,.w-tc-editor pre[class*=language-] .style .token.string,.w-tc-editor pre[class*=language-] .token.builtin,.w-tc-editor pre[class*=language-] .token.char,.w-tc-editor pre[class*=language-] .token.entity,.w-tc-editor pre[class*=language-] .token.inserted,.w-tc-editor pre[class*=language-] .token.operator,.w-tc-editor pre[class*=language-] .token.property,.w-tc-editor pre[class*=language-] .token.selector,.w-tc-editor pre[class*=language-] .token.string,.w-tc-editor pre[class*=language-] .token.url{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.atrule,.w-tc-editor code[class*=language-] .token.keyword,.w-tc-editor code[class*=language-] .token.property-access .token.method,.w-tc-editor pre[class*=language-] .token.atrule,.w-tc-editor pre[class*=language-] .token.keyword,.w-tc-editor pre[class*=language-] .token.property-access .token.method{color:var(--color-prettylights-syntax-keyword)}.w-tc-editor code[class*=language-] .token.function,.w-tc-editor pre[class*=language-] .token.function{color:var(--color-prettylights-syntax-string)}.w-tc-editor code[class*=language-] .token.important,.w-tc-editor code[class*=language-] .token.regex,.w-tc-editor code[class*=language-] .token.variable,.w-tc-editor pre[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.regex,.w-tc-editor pre[class*=language-] .token.variable{color:var(--color-prettylights-syntax-string-regexp)}.w-tc-editor code[class*=language-] .token.bold,.w-tc-editor code[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.bold,.w-tc-editor pre[class*=language-] .token.important{color:var(--color-prettylights-syntax-markup-bold)}.w-tc-editor code[class*=language-] .token.tag,.w-tc-editor pre[class*=language-] .token.tag{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .token.attr-name,.w-tc-editor code[class*=language-] .token.attr-value,.w-tc-editor pre[class*=language-] .token.attr-name,.w-tc-editor pre[class*=language-] .token.attr-value{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.class-name,.w-tc-editor code[class*=language-] .token.selector .class,.w-tc-editor pre[class*=language-] .token.class-name,.w-tc-editor pre[class*=language-] .token.selector .class{color:var(--color-prettylights-syntax-entity)} -/*# sourceMappingURL=2797.e99c33cf.chunk.css.map*/ \ No newline at end of file +/*# sourceMappingURL=2797.8bbdd881.chunk.css.map*/ \ No newline at end of file diff --git a/portal-ui/build/static/css/1367.e99c33cf.chunk.css.map b/portal-ui/build/static/css/2797.8bbdd881.chunk.css.map similarity index 99% rename from portal-ui/build/static/css/1367.e99c33cf.chunk.css.map rename to portal-ui/build/static/css/2797.8bbdd881.chunk.css.map index 63481ced2..789f41078 100644 --- a/portal-ui/build/static/css/1367.e99c33cf.chunk.css.map +++ b/portal-ui/build/static/css/2797.8bbdd881.chunk.css.map @@ -1 +1 @@ -{"version":3,"file":"static/css/1367.e99c33cf.chunk.css","mappings":"AAAA,mCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,oCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,0GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,6GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,aAGE,2CAA4C,CAC5C,6BAA8B,CAH9B,mBAAoB,CACpB,cAGF,CACA,uCAEE,eACF,CACA,yBAIE,mBAAoB,CACpB,iBAAkB,CAJlB,QAAS,CACT,SAAU,CACV,mBAGF,CACA,8BACE,mBACF,CACA,8YAQE,8CACF,CACA,6GAEE,gEACF,CACA,6FAEE,UACF,CACA,ufAUE,iDACF,CAaA,o/BAUE,+CACF,CACA,yVAME,8CACF,CACA,uGAEE,6CACF,CACA,iTAME,oDACF,CACA,wMAIE,kDACF,CACA,6FAEE,iDACF,CACA,oNAIE,+CACF,CACA,gOAIE,6CACF","sources":["../node_modules/@uiw/react-textarea-code-editor/esm/style/index.css"],"sourcesContent":["@media (prefers-color-scheme: dark) {\n .w-tc-editor {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n }\n}\n@media (prefers-color-scheme: light) {\n .w-tc-editor {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n }\n}\n[data-color-mode*='dark'] .w-tc-editor,\n[data-color-mode*='dark'] .w-tc-editor-var,\nbody[data-color-mode*='dark'] {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n}\n[data-color-mode*='light'] .w-tc-editor,\n[data-color-mode*='light'] .w-tc-editor-var,\nbody[data-color-mode*='light'] {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #f6f8fa;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n}\n.w-tc-editor {\n font-family: inherit;\n font-size: 12px;\n background-color: var(--color-canvas-subtle);\n color: var(--color-fg-default);\n}\n.w-tc-editor-text,\n.w-tc-editor-preview {\n min-height: 16px;\n}\n.w-tc-editor-preview pre {\n margin: 0;\n padding: 0;\n white-space: inherit;\n font-family: inherit;\n font-size: inherit;\n}\n.w-tc-editor-preview pre code {\n font-family: inherit;\n}\n.w-tc-editor code[class*='language-'] .token.cdata,\n.w-tc-editor pre[class*='language-'] .token.cdata,\n.w-tc-editor code[class*='language-'] .token.comment,\n.w-tc-editor pre[class*='language-'] .token.comment,\n.w-tc-editor code[class*='language-'] .token.doctype,\n.w-tc-editor pre[class*='language-'] .token.doctype,\n.w-tc-editor code[class*='language-'] .token.prolog,\n.w-tc-editor pre[class*='language-'] .token.prolog {\n color: var(--color-prettylights-syntax-comment);\n}\n.w-tc-editor code[class*='language-'] .token.punctuation,\n.w-tc-editor pre[class*='language-'] .token.punctuation {\n color: var(--color-prettylights-syntax-sublimelinter-gutter-mark);\n}\n.w-tc-editor code[class*='language-'] .namespace,\n.w-tc-editor pre[class*='language-'] .namespace {\n opacity: 0.7;\n}\n.w-tc-editor code[class*='language-'] .token.boolean,\n.w-tc-editor pre[class*='language-'] .token.boolean,\n.w-tc-editor code[class*='language-'] .token.constant,\n.w-tc-editor pre[class*='language-'] .token.constant,\n.w-tc-editor code[class*='language-'] .token.deleted,\n.w-tc-editor pre[class*='language-'] .token.deleted,\n.w-tc-editor code[class*='language-'] .token.number,\n.w-tc-editor pre[class*='language-'] .token.number,\n.w-tc-editor code[class*='language-'] .token.symbol,\n.w-tc-editor pre[class*='language-'] .token.symbol {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.builtin,\n.w-tc-editor pre[class*='language-'] .token.builtin,\n.w-tc-editor code[class*='language-'] .token.char,\n.w-tc-editor pre[class*='language-'] .token.char,\n.w-tc-editor code[class*='language-'] .token.inserted,\n.w-tc-editor pre[class*='language-'] .token.inserted,\n.w-tc-editor code[class*='language-'] .token.selector,\n.w-tc-editor pre[class*='language-'] .token.selector,\n.w-tc-editor code[class*='language-'] .token.string,\n.w-tc-editor pre[class*='language-'] .token.string {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .style .token.string,\n.w-tc-editor pre[class*='language-'] .style .token.string,\n.w-tc-editor code[class*='language-'] .token.entity,\n.w-tc-editor pre[class*='language-'] .token.entity,\n.w-tc-editor code[class*='language-'] .token.property,\n.w-tc-editor pre[class*='language-'] .token.property,\n.w-tc-editor code[class*='language-'] .token.operator,\n.w-tc-editor pre[class*='language-'] .token.operator,\n.w-tc-editor code[class*='language-'] .token.url,\n.w-tc-editor pre[class*='language-'] .token.url {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.atrule,\n.w-tc-editor pre[class*='language-'] .token.atrule,\n.w-tc-editor code[class*='language-'] .token.property-access .token.method,\n.w-tc-editor pre[class*='language-'] .token.property-access .token.method,\n.w-tc-editor code[class*='language-'] .token.keyword,\n.w-tc-editor pre[class*='language-'] .token.keyword {\n color: var(--color-prettylights-syntax-keyword);\n}\n.w-tc-editor code[class*='language-'] .token.function,\n.w-tc-editor pre[class*='language-'] .token.function {\n color: var(--color-prettylights-syntax-string);\n}\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important,\n.w-tc-editor code[class*='language-'] .token.regex,\n.w-tc-editor pre[class*='language-'] .token.regex,\n.w-tc-editor code[class*='language-'] .token.variable,\n.w-tc-editor pre[class*='language-'] .token.variable {\n color: var(--color-prettylights-syntax-string-regexp);\n}\n.w-tc-editor code[class*='language-'] .token.bold,\n.w-tc-editor pre[class*='language-'] .token.bold,\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important {\n color: var(--color-prettylights-syntax-markup-bold);\n}\n.w-tc-editor code[class*='language-'] .token.tag,\n.w-tc-editor pre[class*='language-'] .token.tag {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.attr-value,\n.w-tc-editor pre[class*='language-'] .token.attr-value,\n.w-tc-editor code[class*='language-'] .token.attr-name,\n.w-tc-editor pre[class*='language-'] .token.attr-name {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.selector .class,\n.w-tc-editor pre[class*='language-'] .token.selector .class,\n.w-tc-editor code[class*='language-'] .token.class-name,\n.w-tc-editor pre[class*='language-'] .token.class-name {\n color: var(--color-prettylights-syntax-entity);\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/css/2797.8bbdd881.chunk.css","mappings":"AAAA,mCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,oCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,0GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,6GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,aAGE,2CAA4C,CAC5C,6BAA8B,CAH9B,mBAAoB,CACpB,cAGF,CACA,uCAEE,eACF,CACA,yBAIE,mBAAoB,CACpB,iBAAkB,CAJlB,QAAS,CACT,SAAU,CACV,mBAGF,CACA,8BACE,mBACF,CACA,8YAQE,8CACF,CACA,6GAEE,gEACF,CACA,6FAEE,UACF,CACA,ufAUE,iDACF,CAaA,o/BAUE,+CACF,CACA,yVAME,8CACF,CACA,uGAEE,6CACF,CACA,iTAME,oDACF,CACA,wMAIE,kDACF,CACA,6FAEE,iDACF,CACA,oNAIE,+CACF,CACA,gOAIE,6CACF","sources":["../node_modules/@uiw/react-textarea-code-editor/esm/style/index.css"],"sourcesContent":["@media (prefers-color-scheme: dark) {\n .w-tc-editor {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n }\n}\n@media (prefers-color-scheme: light) {\n .w-tc-editor {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n }\n}\n[data-color-mode*='dark'] .w-tc-editor,\n[data-color-mode*='dark'] .w-tc-editor-var,\nbody[data-color-mode*='dark'] {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n}\n[data-color-mode*='light'] .w-tc-editor,\n[data-color-mode*='light'] .w-tc-editor-var,\nbody[data-color-mode*='light'] {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #f6f8fa;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n}\n.w-tc-editor {\n font-family: inherit;\n font-size: 12px;\n background-color: var(--color-canvas-subtle);\n color: var(--color-fg-default);\n}\n.w-tc-editor-text,\n.w-tc-editor-preview {\n min-height: 16px;\n}\n.w-tc-editor-preview pre {\n margin: 0;\n padding: 0;\n white-space: inherit;\n font-family: inherit;\n font-size: inherit;\n}\n.w-tc-editor-preview pre code {\n font-family: inherit;\n}\n.w-tc-editor code[class*='language-'] .token.cdata,\n.w-tc-editor pre[class*='language-'] .token.cdata,\n.w-tc-editor code[class*='language-'] .token.comment,\n.w-tc-editor pre[class*='language-'] .token.comment,\n.w-tc-editor code[class*='language-'] .token.doctype,\n.w-tc-editor pre[class*='language-'] .token.doctype,\n.w-tc-editor code[class*='language-'] .token.prolog,\n.w-tc-editor pre[class*='language-'] .token.prolog {\n color: var(--color-prettylights-syntax-comment);\n}\n.w-tc-editor code[class*='language-'] .token.punctuation,\n.w-tc-editor pre[class*='language-'] .token.punctuation {\n color: var(--color-prettylights-syntax-sublimelinter-gutter-mark);\n}\n.w-tc-editor code[class*='language-'] .namespace,\n.w-tc-editor pre[class*='language-'] .namespace {\n opacity: 0.7;\n}\n.w-tc-editor code[class*='language-'] .token.boolean,\n.w-tc-editor pre[class*='language-'] .token.boolean,\n.w-tc-editor code[class*='language-'] .token.constant,\n.w-tc-editor pre[class*='language-'] .token.constant,\n.w-tc-editor code[class*='language-'] .token.deleted,\n.w-tc-editor pre[class*='language-'] .token.deleted,\n.w-tc-editor code[class*='language-'] .token.number,\n.w-tc-editor pre[class*='language-'] .token.number,\n.w-tc-editor code[class*='language-'] .token.symbol,\n.w-tc-editor pre[class*='language-'] .token.symbol {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.builtin,\n.w-tc-editor pre[class*='language-'] .token.builtin,\n.w-tc-editor code[class*='language-'] .token.char,\n.w-tc-editor pre[class*='language-'] .token.char,\n.w-tc-editor code[class*='language-'] .token.inserted,\n.w-tc-editor pre[class*='language-'] .token.inserted,\n.w-tc-editor code[class*='language-'] .token.selector,\n.w-tc-editor pre[class*='language-'] .token.selector,\n.w-tc-editor code[class*='language-'] .token.string,\n.w-tc-editor pre[class*='language-'] .token.string {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .style .token.string,\n.w-tc-editor pre[class*='language-'] .style .token.string,\n.w-tc-editor code[class*='language-'] .token.entity,\n.w-tc-editor pre[class*='language-'] .token.entity,\n.w-tc-editor code[class*='language-'] .token.property,\n.w-tc-editor pre[class*='language-'] .token.property,\n.w-tc-editor code[class*='language-'] .token.operator,\n.w-tc-editor pre[class*='language-'] .token.operator,\n.w-tc-editor code[class*='language-'] .token.url,\n.w-tc-editor pre[class*='language-'] .token.url {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.atrule,\n.w-tc-editor pre[class*='language-'] .token.atrule,\n.w-tc-editor code[class*='language-'] .token.property-access .token.method,\n.w-tc-editor pre[class*='language-'] .token.property-access .token.method,\n.w-tc-editor code[class*='language-'] .token.keyword,\n.w-tc-editor pre[class*='language-'] .token.keyword {\n color: var(--color-prettylights-syntax-keyword);\n}\n.w-tc-editor code[class*='language-'] .token.function,\n.w-tc-editor pre[class*='language-'] .token.function {\n color: var(--color-prettylights-syntax-string);\n}\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important,\n.w-tc-editor code[class*='language-'] .token.regex,\n.w-tc-editor pre[class*='language-'] .token.regex,\n.w-tc-editor code[class*='language-'] .token.variable,\n.w-tc-editor pre[class*='language-'] .token.variable {\n color: var(--color-prettylights-syntax-string-regexp);\n}\n.w-tc-editor code[class*='language-'] .token.bold,\n.w-tc-editor pre[class*='language-'] .token.bold,\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important {\n color: var(--color-prettylights-syntax-markup-bold);\n}\n.w-tc-editor code[class*='language-'] .token.tag,\n.w-tc-editor pre[class*='language-'] .token.tag {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.attr-value,\n.w-tc-editor pre[class*='language-'] .token.attr-value,\n.w-tc-editor code[class*='language-'] .token.attr-name,\n.w-tc-editor pre[class*='language-'] .token.attr-name {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.selector .class,\n.w-tc-editor pre[class*='language-'] .token.selector .class,\n.w-tc-editor code[class*='language-'] .token.class-name,\n.w-tc-editor pre[class*='language-'] .token.class-name {\n color: var(--color-prettylights-syntax-entity);\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/css/343.e99c33cf.chunk.css b/portal-ui/build/static/css/343.8bbdd881.chunk.css similarity index 99% rename from portal-ui/build/static/css/343.e99c33cf.chunk.css rename to portal-ui/build/static/css/343.8bbdd881.chunk.css index e695eb30c..1adbd6a3b 100644 --- a/portal-ui/build/static/css/343.e99c33cf.chunk.css +++ b/portal-ui/build/static/css/343.8bbdd881.chunk.css @@ -1,2 +1,2 @@ @media (prefers-color-scheme:dark){.w-tc-editor{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}}@media (prefers-color-scheme:light){.w-tc-editor{--color-fg-default:#24292f;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}}[data-color-mode*=dark] .w-tc-editor,[data-color-mode*=dark] .w-tc-editor-var,body[data-color-mode*=dark]{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}[data-color-mode*=light] .w-tc-editor,[data-color-mode*=light] .w-tc-editor-var,body[data-color-mode*=light]{--color-fg-default:#24292f;--color-canvas-subtle:#f6f8fa;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}.w-tc-editor{background-color:var(--color-canvas-subtle);color:var(--color-fg-default);font-family:inherit;font-size:12px}.w-tc-editor-preview,.w-tc-editor-text{min-height:16px}.w-tc-editor-preview pre{font-family:inherit;font-size:inherit;margin:0;padding:0;white-space:inherit}.w-tc-editor-preview pre code{font-family:inherit}.w-tc-editor code[class*=language-] .token.cdata,.w-tc-editor code[class*=language-] .token.comment,.w-tc-editor code[class*=language-] .token.doctype,.w-tc-editor code[class*=language-] .token.prolog,.w-tc-editor pre[class*=language-] .token.cdata,.w-tc-editor pre[class*=language-] .token.comment,.w-tc-editor pre[class*=language-] .token.doctype,.w-tc-editor pre[class*=language-] .token.prolog{color:var(--color-prettylights-syntax-comment)}.w-tc-editor code[class*=language-] .token.punctuation,.w-tc-editor pre[class*=language-] .token.punctuation{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.w-tc-editor code[class*=language-] .namespace,.w-tc-editor pre[class*=language-] .namespace{opacity:.7}.w-tc-editor code[class*=language-] .token.boolean,.w-tc-editor code[class*=language-] .token.constant,.w-tc-editor code[class*=language-] .token.deleted,.w-tc-editor code[class*=language-] .token.number,.w-tc-editor code[class*=language-] .token.symbol,.w-tc-editor pre[class*=language-] .token.boolean,.w-tc-editor pre[class*=language-] .token.constant,.w-tc-editor pre[class*=language-] .token.deleted,.w-tc-editor pre[class*=language-] .token.number,.w-tc-editor pre[class*=language-] .token.symbol{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .style .token.string,.w-tc-editor code[class*=language-] .token.builtin,.w-tc-editor code[class*=language-] .token.char,.w-tc-editor code[class*=language-] .token.entity,.w-tc-editor code[class*=language-] .token.inserted,.w-tc-editor code[class*=language-] .token.operator,.w-tc-editor code[class*=language-] .token.property,.w-tc-editor code[class*=language-] .token.selector,.w-tc-editor code[class*=language-] .token.string,.w-tc-editor code[class*=language-] .token.url,.w-tc-editor pre[class*=language-] .style .token.string,.w-tc-editor pre[class*=language-] .token.builtin,.w-tc-editor pre[class*=language-] .token.char,.w-tc-editor pre[class*=language-] .token.entity,.w-tc-editor pre[class*=language-] .token.inserted,.w-tc-editor pre[class*=language-] .token.operator,.w-tc-editor pre[class*=language-] .token.property,.w-tc-editor pre[class*=language-] .token.selector,.w-tc-editor pre[class*=language-] .token.string,.w-tc-editor pre[class*=language-] .token.url{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.atrule,.w-tc-editor code[class*=language-] .token.keyword,.w-tc-editor code[class*=language-] .token.property-access .token.method,.w-tc-editor pre[class*=language-] .token.atrule,.w-tc-editor pre[class*=language-] .token.keyword,.w-tc-editor pre[class*=language-] .token.property-access .token.method{color:var(--color-prettylights-syntax-keyword)}.w-tc-editor code[class*=language-] .token.function,.w-tc-editor pre[class*=language-] .token.function{color:var(--color-prettylights-syntax-string)}.w-tc-editor code[class*=language-] .token.important,.w-tc-editor code[class*=language-] .token.regex,.w-tc-editor code[class*=language-] .token.variable,.w-tc-editor pre[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.regex,.w-tc-editor pre[class*=language-] .token.variable{color:var(--color-prettylights-syntax-string-regexp)}.w-tc-editor code[class*=language-] .token.bold,.w-tc-editor code[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.bold,.w-tc-editor pre[class*=language-] .token.important{color:var(--color-prettylights-syntax-markup-bold)}.w-tc-editor code[class*=language-] .token.tag,.w-tc-editor pre[class*=language-] .token.tag{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .token.attr-name,.w-tc-editor code[class*=language-] .token.attr-value,.w-tc-editor pre[class*=language-] .token.attr-name,.w-tc-editor pre[class*=language-] .token.attr-value{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.class-name,.w-tc-editor code[class*=language-] .token.selector .class,.w-tc-editor pre[class*=language-] .token.class-name,.w-tc-editor pre[class*=language-] .token.selector .class{color:var(--color-prettylights-syntax-entity)} -/*# sourceMappingURL=343.e99c33cf.chunk.css.map*/ \ No newline at end of file +/*# sourceMappingURL=343.8bbdd881.chunk.css.map*/ \ No newline at end of file diff --git a/portal-ui/build/static/css/343.e99c33cf.chunk.css.map b/portal-ui/build/static/css/343.8bbdd881.chunk.css.map similarity index 99% rename from portal-ui/build/static/css/343.e99c33cf.chunk.css.map rename to portal-ui/build/static/css/343.8bbdd881.chunk.css.map index 3c06f7ac5..0963a7fc8 100644 --- a/portal-ui/build/static/css/343.e99c33cf.chunk.css.map +++ b/portal-ui/build/static/css/343.8bbdd881.chunk.css.map @@ -1 +1 @@ -{"version":3,"file":"static/css/343.e99c33cf.chunk.css","mappings":"AAAA,mCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,oCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,0GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,6GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,aAGE,2CAA4C,CAC5C,6BAA8B,CAH9B,mBAAoB,CACpB,cAGF,CACA,uCAEE,eACF,CACA,yBAIE,mBAAoB,CACpB,iBAAkB,CAJlB,QAAS,CACT,SAAU,CACV,mBAGF,CACA,8BACE,mBACF,CACA,8YAQE,8CACF,CACA,6GAEE,gEACF,CACA,6FAEE,UACF,CACA,ufAUE,iDACF,CAaA,o/BAUE,+CACF,CACA,yVAME,8CACF,CACA,uGAEE,6CACF,CACA,iTAME,oDACF,CACA,wMAIE,kDACF,CACA,6FAEE,iDACF,CACA,oNAIE,+CACF,CACA,gOAIE,6CACF","sources":["../node_modules/@uiw/react-textarea-code-editor/esm/style/index.css"],"sourcesContent":["@media (prefers-color-scheme: dark) {\n .w-tc-editor {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n }\n}\n@media (prefers-color-scheme: light) {\n .w-tc-editor {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n }\n}\n[data-color-mode*='dark'] .w-tc-editor,\n[data-color-mode*='dark'] .w-tc-editor-var,\nbody[data-color-mode*='dark'] {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n}\n[data-color-mode*='light'] .w-tc-editor,\n[data-color-mode*='light'] .w-tc-editor-var,\nbody[data-color-mode*='light'] {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #f6f8fa;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n}\n.w-tc-editor {\n font-family: inherit;\n font-size: 12px;\n background-color: var(--color-canvas-subtle);\n color: var(--color-fg-default);\n}\n.w-tc-editor-text,\n.w-tc-editor-preview {\n min-height: 16px;\n}\n.w-tc-editor-preview pre {\n margin: 0;\n padding: 0;\n white-space: inherit;\n font-family: inherit;\n font-size: inherit;\n}\n.w-tc-editor-preview pre code {\n font-family: inherit;\n}\n.w-tc-editor code[class*='language-'] .token.cdata,\n.w-tc-editor pre[class*='language-'] .token.cdata,\n.w-tc-editor code[class*='language-'] .token.comment,\n.w-tc-editor pre[class*='language-'] .token.comment,\n.w-tc-editor code[class*='language-'] .token.doctype,\n.w-tc-editor pre[class*='language-'] .token.doctype,\n.w-tc-editor code[class*='language-'] .token.prolog,\n.w-tc-editor pre[class*='language-'] .token.prolog {\n color: var(--color-prettylights-syntax-comment);\n}\n.w-tc-editor code[class*='language-'] .token.punctuation,\n.w-tc-editor pre[class*='language-'] .token.punctuation {\n color: var(--color-prettylights-syntax-sublimelinter-gutter-mark);\n}\n.w-tc-editor code[class*='language-'] .namespace,\n.w-tc-editor pre[class*='language-'] .namespace {\n opacity: 0.7;\n}\n.w-tc-editor code[class*='language-'] .token.boolean,\n.w-tc-editor pre[class*='language-'] .token.boolean,\n.w-tc-editor code[class*='language-'] .token.constant,\n.w-tc-editor pre[class*='language-'] .token.constant,\n.w-tc-editor code[class*='language-'] .token.deleted,\n.w-tc-editor pre[class*='language-'] .token.deleted,\n.w-tc-editor code[class*='language-'] .token.number,\n.w-tc-editor pre[class*='language-'] .token.number,\n.w-tc-editor code[class*='language-'] .token.symbol,\n.w-tc-editor pre[class*='language-'] .token.symbol {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.builtin,\n.w-tc-editor pre[class*='language-'] .token.builtin,\n.w-tc-editor code[class*='language-'] .token.char,\n.w-tc-editor pre[class*='language-'] .token.char,\n.w-tc-editor code[class*='language-'] .token.inserted,\n.w-tc-editor pre[class*='language-'] .token.inserted,\n.w-tc-editor code[class*='language-'] .token.selector,\n.w-tc-editor pre[class*='language-'] .token.selector,\n.w-tc-editor code[class*='language-'] .token.string,\n.w-tc-editor pre[class*='language-'] .token.string {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .style .token.string,\n.w-tc-editor pre[class*='language-'] .style .token.string,\n.w-tc-editor code[class*='language-'] .token.entity,\n.w-tc-editor pre[class*='language-'] .token.entity,\n.w-tc-editor code[class*='language-'] .token.property,\n.w-tc-editor pre[class*='language-'] .token.property,\n.w-tc-editor code[class*='language-'] .token.operator,\n.w-tc-editor pre[class*='language-'] .token.operator,\n.w-tc-editor code[class*='language-'] .token.url,\n.w-tc-editor pre[class*='language-'] .token.url {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.atrule,\n.w-tc-editor pre[class*='language-'] .token.atrule,\n.w-tc-editor code[class*='language-'] .token.property-access .token.method,\n.w-tc-editor pre[class*='language-'] .token.property-access .token.method,\n.w-tc-editor code[class*='language-'] .token.keyword,\n.w-tc-editor pre[class*='language-'] .token.keyword {\n color: var(--color-prettylights-syntax-keyword);\n}\n.w-tc-editor code[class*='language-'] .token.function,\n.w-tc-editor pre[class*='language-'] .token.function {\n color: var(--color-prettylights-syntax-string);\n}\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important,\n.w-tc-editor code[class*='language-'] .token.regex,\n.w-tc-editor pre[class*='language-'] .token.regex,\n.w-tc-editor code[class*='language-'] .token.variable,\n.w-tc-editor pre[class*='language-'] .token.variable {\n color: var(--color-prettylights-syntax-string-regexp);\n}\n.w-tc-editor code[class*='language-'] .token.bold,\n.w-tc-editor pre[class*='language-'] .token.bold,\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important {\n color: var(--color-prettylights-syntax-markup-bold);\n}\n.w-tc-editor code[class*='language-'] .token.tag,\n.w-tc-editor pre[class*='language-'] .token.tag {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.attr-value,\n.w-tc-editor pre[class*='language-'] .token.attr-value,\n.w-tc-editor code[class*='language-'] .token.attr-name,\n.w-tc-editor pre[class*='language-'] .token.attr-name {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.selector .class,\n.w-tc-editor pre[class*='language-'] .token.selector .class,\n.w-tc-editor code[class*='language-'] .token.class-name,\n.w-tc-editor pre[class*='language-'] .token.class-name {\n color: var(--color-prettylights-syntax-entity);\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/css/343.8bbdd881.chunk.css","mappings":"AAAA,mCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,oCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,0GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,6GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,aAGE,2CAA4C,CAC5C,6BAA8B,CAH9B,mBAAoB,CACpB,cAGF,CACA,uCAEE,eACF,CACA,yBAIE,mBAAoB,CACpB,iBAAkB,CAJlB,QAAS,CACT,SAAU,CACV,mBAGF,CACA,8BACE,mBACF,CACA,8YAQE,8CACF,CACA,6GAEE,gEACF,CACA,6FAEE,UACF,CACA,ufAUE,iDACF,CAaA,o/BAUE,+CACF,CACA,yVAME,8CACF,CACA,uGAEE,6CACF,CACA,iTAME,oDACF,CACA,wMAIE,kDACF,CACA,6FAEE,iDACF,CACA,oNAIE,+CACF,CACA,gOAIE,6CACF","sources":["../node_modules/@uiw/react-textarea-code-editor/esm/style/index.css"],"sourcesContent":["@media (prefers-color-scheme: dark) {\n .w-tc-editor {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n }\n}\n@media (prefers-color-scheme: light) {\n .w-tc-editor {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n }\n}\n[data-color-mode*='dark'] .w-tc-editor,\n[data-color-mode*='dark'] .w-tc-editor-var,\nbody[data-color-mode*='dark'] {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n}\n[data-color-mode*='light'] .w-tc-editor,\n[data-color-mode*='light'] .w-tc-editor-var,\nbody[data-color-mode*='light'] {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #f6f8fa;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n}\n.w-tc-editor {\n font-family: inherit;\n font-size: 12px;\n background-color: var(--color-canvas-subtle);\n color: var(--color-fg-default);\n}\n.w-tc-editor-text,\n.w-tc-editor-preview {\n min-height: 16px;\n}\n.w-tc-editor-preview pre {\n margin: 0;\n padding: 0;\n white-space: inherit;\n font-family: inherit;\n font-size: inherit;\n}\n.w-tc-editor-preview pre code {\n font-family: inherit;\n}\n.w-tc-editor code[class*='language-'] .token.cdata,\n.w-tc-editor pre[class*='language-'] .token.cdata,\n.w-tc-editor code[class*='language-'] .token.comment,\n.w-tc-editor pre[class*='language-'] .token.comment,\n.w-tc-editor code[class*='language-'] .token.doctype,\n.w-tc-editor pre[class*='language-'] .token.doctype,\n.w-tc-editor code[class*='language-'] .token.prolog,\n.w-tc-editor pre[class*='language-'] .token.prolog {\n color: var(--color-prettylights-syntax-comment);\n}\n.w-tc-editor code[class*='language-'] .token.punctuation,\n.w-tc-editor pre[class*='language-'] .token.punctuation {\n color: var(--color-prettylights-syntax-sublimelinter-gutter-mark);\n}\n.w-tc-editor code[class*='language-'] .namespace,\n.w-tc-editor pre[class*='language-'] .namespace {\n opacity: 0.7;\n}\n.w-tc-editor code[class*='language-'] .token.boolean,\n.w-tc-editor pre[class*='language-'] .token.boolean,\n.w-tc-editor code[class*='language-'] .token.constant,\n.w-tc-editor pre[class*='language-'] .token.constant,\n.w-tc-editor code[class*='language-'] .token.deleted,\n.w-tc-editor pre[class*='language-'] .token.deleted,\n.w-tc-editor code[class*='language-'] .token.number,\n.w-tc-editor pre[class*='language-'] .token.number,\n.w-tc-editor code[class*='language-'] .token.symbol,\n.w-tc-editor pre[class*='language-'] .token.symbol {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.builtin,\n.w-tc-editor pre[class*='language-'] .token.builtin,\n.w-tc-editor code[class*='language-'] .token.char,\n.w-tc-editor pre[class*='language-'] .token.char,\n.w-tc-editor code[class*='language-'] .token.inserted,\n.w-tc-editor pre[class*='language-'] .token.inserted,\n.w-tc-editor code[class*='language-'] .token.selector,\n.w-tc-editor pre[class*='language-'] .token.selector,\n.w-tc-editor code[class*='language-'] .token.string,\n.w-tc-editor pre[class*='language-'] .token.string {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .style .token.string,\n.w-tc-editor pre[class*='language-'] .style .token.string,\n.w-tc-editor code[class*='language-'] .token.entity,\n.w-tc-editor pre[class*='language-'] .token.entity,\n.w-tc-editor code[class*='language-'] .token.property,\n.w-tc-editor pre[class*='language-'] .token.property,\n.w-tc-editor code[class*='language-'] .token.operator,\n.w-tc-editor pre[class*='language-'] .token.operator,\n.w-tc-editor code[class*='language-'] .token.url,\n.w-tc-editor pre[class*='language-'] .token.url {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.atrule,\n.w-tc-editor pre[class*='language-'] .token.atrule,\n.w-tc-editor code[class*='language-'] .token.property-access .token.method,\n.w-tc-editor pre[class*='language-'] .token.property-access .token.method,\n.w-tc-editor code[class*='language-'] .token.keyword,\n.w-tc-editor pre[class*='language-'] .token.keyword {\n color: var(--color-prettylights-syntax-keyword);\n}\n.w-tc-editor code[class*='language-'] .token.function,\n.w-tc-editor pre[class*='language-'] .token.function {\n color: var(--color-prettylights-syntax-string);\n}\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important,\n.w-tc-editor code[class*='language-'] .token.regex,\n.w-tc-editor pre[class*='language-'] .token.regex,\n.w-tc-editor code[class*='language-'] .token.variable,\n.w-tc-editor pre[class*='language-'] .token.variable {\n color: var(--color-prettylights-syntax-string-regexp);\n}\n.w-tc-editor code[class*='language-'] .token.bold,\n.w-tc-editor pre[class*='language-'] .token.bold,\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important {\n color: var(--color-prettylights-syntax-markup-bold);\n}\n.w-tc-editor code[class*='language-'] .token.tag,\n.w-tc-editor pre[class*='language-'] .token.tag {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.attr-value,\n.w-tc-editor pre[class*='language-'] .token.attr-value,\n.w-tc-editor code[class*='language-'] .token.attr-name,\n.w-tc-editor pre[class*='language-'] .token.attr-name {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.selector .class,\n.w-tc-editor pre[class*='language-'] .token.selector .class,\n.w-tc-editor code[class*='language-'] .token.class-name,\n.w-tc-editor pre[class*='language-'] .token.class-name {\n color: var(--color-prettylights-syntax-entity);\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/css/3549.8bbdd881.chunk.css b/portal-ui/build/static/css/3549.8bbdd881.chunk.css new file mode 100644 index 000000000..5ef7da18a --- /dev/null +++ b/portal-ui/build/static/css/3549.8bbdd881.chunk.css @@ -0,0 +1,2 @@ +@media (prefers-color-scheme:dark){.w-tc-editor{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}}@media (prefers-color-scheme:light){.w-tc-editor{--color-fg-default:#24292f;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}}[data-color-mode*=dark] .w-tc-editor,[data-color-mode*=dark] .w-tc-editor-var,body[data-color-mode*=dark]{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}[data-color-mode*=light] .w-tc-editor,[data-color-mode*=light] .w-tc-editor-var,body[data-color-mode*=light]{--color-fg-default:#24292f;--color-canvas-subtle:#f6f8fa;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}.w-tc-editor{background-color:var(--color-canvas-subtle);color:var(--color-fg-default);font-family:inherit;font-size:12px}.w-tc-editor-preview,.w-tc-editor-text{min-height:16px}.w-tc-editor-preview pre{font-family:inherit;font-size:inherit;margin:0;padding:0;white-space:inherit}.w-tc-editor-preview pre code{font-family:inherit}.w-tc-editor code[class*=language-] .token.cdata,.w-tc-editor code[class*=language-] .token.comment,.w-tc-editor code[class*=language-] .token.doctype,.w-tc-editor code[class*=language-] .token.prolog,.w-tc-editor pre[class*=language-] .token.cdata,.w-tc-editor pre[class*=language-] .token.comment,.w-tc-editor pre[class*=language-] .token.doctype,.w-tc-editor pre[class*=language-] .token.prolog{color:var(--color-prettylights-syntax-comment)}.w-tc-editor code[class*=language-] .token.punctuation,.w-tc-editor pre[class*=language-] .token.punctuation{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.w-tc-editor code[class*=language-] .namespace,.w-tc-editor pre[class*=language-] .namespace{opacity:.7}.w-tc-editor code[class*=language-] .token.boolean,.w-tc-editor code[class*=language-] .token.constant,.w-tc-editor code[class*=language-] .token.deleted,.w-tc-editor code[class*=language-] .token.number,.w-tc-editor code[class*=language-] .token.symbol,.w-tc-editor pre[class*=language-] .token.boolean,.w-tc-editor pre[class*=language-] .token.constant,.w-tc-editor pre[class*=language-] .token.deleted,.w-tc-editor pre[class*=language-] .token.number,.w-tc-editor pre[class*=language-] .token.symbol{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .style .token.string,.w-tc-editor code[class*=language-] .token.builtin,.w-tc-editor code[class*=language-] .token.char,.w-tc-editor code[class*=language-] .token.entity,.w-tc-editor code[class*=language-] .token.inserted,.w-tc-editor code[class*=language-] .token.operator,.w-tc-editor code[class*=language-] .token.property,.w-tc-editor code[class*=language-] .token.selector,.w-tc-editor code[class*=language-] .token.string,.w-tc-editor code[class*=language-] .token.url,.w-tc-editor pre[class*=language-] .style .token.string,.w-tc-editor pre[class*=language-] .token.builtin,.w-tc-editor pre[class*=language-] .token.char,.w-tc-editor pre[class*=language-] .token.entity,.w-tc-editor pre[class*=language-] .token.inserted,.w-tc-editor pre[class*=language-] .token.operator,.w-tc-editor pre[class*=language-] .token.property,.w-tc-editor pre[class*=language-] .token.selector,.w-tc-editor pre[class*=language-] .token.string,.w-tc-editor pre[class*=language-] .token.url{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.atrule,.w-tc-editor code[class*=language-] .token.keyword,.w-tc-editor code[class*=language-] .token.property-access .token.method,.w-tc-editor pre[class*=language-] .token.atrule,.w-tc-editor pre[class*=language-] .token.keyword,.w-tc-editor pre[class*=language-] .token.property-access .token.method{color:var(--color-prettylights-syntax-keyword)}.w-tc-editor code[class*=language-] .token.function,.w-tc-editor pre[class*=language-] .token.function{color:var(--color-prettylights-syntax-string)}.w-tc-editor code[class*=language-] .token.important,.w-tc-editor code[class*=language-] .token.regex,.w-tc-editor code[class*=language-] .token.variable,.w-tc-editor pre[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.regex,.w-tc-editor pre[class*=language-] .token.variable{color:var(--color-prettylights-syntax-string-regexp)}.w-tc-editor code[class*=language-] .token.bold,.w-tc-editor code[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.bold,.w-tc-editor pre[class*=language-] .token.important{color:var(--color-prettylights-syntax-markup-bold)}.w-tc-editor code[class*=language-] .token.tag,.w-tc-editor pre[class*=language-] .token.tag{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .token.attr-name,.w-tc-editor code[class*=language-] .token.attr-value,.w-tc-editor pre[class*=language-] .token.attr-name,.w-tc-editor pre[class*=language-] .token.attr-value{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.class-name,.w-tc-editor code[class*=language-] .token.selector .class,.w-tc-editor pre[class*=language-] .token.class-name,.w-tc-editor pre[class*=language-] .token.selector .class{color:var(--color-prettylights-syntax-entity)} +/*# sourceMappingURL=3549.8bbdd881.chunk.css.map*/ \ No newline at end of file diff --git a/portal-ui/build/static/css/3549.8bbdd881.chunk.css.map b/portal-ui/build/static/css/3549.8bbdd881.chunk.css.map new file mode 100644 index 000000000..4c7de8859 --- /dev/null +++ b/portal-ui/build/static/css/3549.8bbdd881.chunk.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/3549.8bbdd881.chunk.css","mappings":"AAAA,mCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,oCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,0GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,6GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,aAGE,2CAA4C,CAC5C,6BAA8B,CAH9B,mBAAoB,CACpB,cAGF,CACA,uCAEE,eACF,CACA,yBAIE,mBAAoB,CACpB,iBAAkB,CAJlB,QAAS,CACT,SAAU,CACV,mBAGF,CACA,8BACE,mBACF,CACA,8YAQE,8CACF,CACA,6GAEE,gEACF,CACA,6FAEE,UACF,CACA,ufAUE,iDACF,CAaA,o/BAUE,+CACF,CACA,yVAME,8CACF,CACA,uGAEE,6CACF,CACA,iTAME,oDACF,CACA,wMAIE,kDACF,CACA,6FAEE,iDACF,CACA,oNAIE,+CACF,CACA,gOAIE,6CACF","sources":["../node_modules/@uiw/react-textarea-code-editor/esm/style/index.css"],"sourcesContent":["@media (prefers-color-scheme: dark) {\n .w-tc-editor {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n }\n}\n@media (prefers-color-scheme: light) {\n .w-tc-editor {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n }\n}\n[data-color-mode*='dark'] .w-tc-editor,\n[data-color-mode*='dark'] .w-tc-editor-var,\nbody[data-color-mode*='dark'] {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n}\n[data-color-mode*='light'] .w-tc-editor,\n[data-color-mode*='light'] .w-tc-editor-var,\nbody[data-color-mode*='light'] {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #f6f8fa;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n}\n.w-tc-editor {\n font-family: inherit;\n font-size: 12px;\n background-color: var(--color-canvas-subtle);\n color: var(--color-fg-default);\n}\n.w-tc-editor-text,\n.w-tc-editor-preview {\n min-height: 16px;\n}\n.w-tc-editor-preview pre {\n margin: 0;\n padding: 0;\n white-space: inherit;\n font-family: inherit;\n font-size: inherit;\n}\n.w-tc-editor-preview pre code {\n font-family: inherit;\n}\n.w-tc-editor code[class*='language-'] .token.cdata,\n.w-tc-editor pre[class*='language-'] .token.cdata,\n.w-tc-editor code[class*='language-'] .token.comment,\n.w-tc-editor pre[class*='language-'] .token.comment,\n.w-tc-editor code[class*='language-'] .token.doctype,\n.w-tc-editor pre[class*='language-'] .token.doctype,\n.w-tc-editor code[class*='language-'] .token.prolog,\n.w-tc-editor pre[class*='language-'] .token.prolog {\n color: var(--color-prettylights-syntax-comment);\n}\n.w-tc-editor code[class*='language-'] .token.punctuation,\n.w-tc-editor pre[class*='language-'] .token.punctuation {\n color: var(--color-prettylights-syntax-sublimelinter-gutter-mark);\n}\n.w-tc-editor code[class*='language-'] .namespace,\n.w-tc-editor pre[class*='language-'] .namespace {\n opacity: 0.7;\n}\n.w-tc-editor code[class*='language-'] .token.boolean,\n.w-tc-editor pre[class*='language-'] .token.boolean,\n.w-tc-editor code[class*='language-'] .token.constant,\n.w-tc-editor pre[class*='language-'] .token.constant,\n.w-tc-editor code[class*='language-'] .token.deleted,\n.w-tc-editor pre[class*='language-'] .token.deleted,\n.w-tc-editor code[class*='language-'] .token.number,\n.w-tc-editor pre[class*='language-'] .token.number,\n.w-tc-editor code[class*='language-'] .token.symbol,\n.w-tc-editor pre[class*='language-'] .token.symbol {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.builtin,\n.w-tc-editor pre[class*='language-'] .token.builtin,\n.w-tc-editor code[class*='language-'] .token.char,\n.w-tc-editor pre[class*='language-'] .token.char,\n.w-tc-editor code[class*='language-'] .token.inserted,\n.w-tc-editor pre[class*='language-'] .token.inserted,\n.w-tc-editor code[class*='language-'] .token.selector,\n.w-tc-editor pre[class*='language-'] .token.selector,\n.w-tc-editor code[class*='language-'] .token.string,\n.w-tc-editor pre[class*='language-'] .token.string {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .style .token.string,\n.w-tc-editor pre[class*='language-'] .style .token.string,\n.w-tc-editor code[class*='language-'] .token.entity,\n.w-tc-editor pre[class*='language-'] .token.entity,\n.w-tc-editor code[class*='language-'] .token.property,\n.w-tc-editor pre[class*='language-'] .token.property,\n.w-tc-editor code[class*='language-'] .token.operator,\n.w-tc-editor pre[class*='language-'] .token.operator,\n.w-tc-editor code[class*='language-'] .token.url,\n.w-tc-editor pre[class*='language-'] .token.url {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.atrule,\n.w-tc-editor pre[class*='language-'] .token.atrule,\n.w-tc-editor code[class*='language-'] .token.property-access .token.method,\n.w-tc-editor pre[class*='language-'] .token.property-access .token.method,\n.w-tc-editor code[class*='language-'] .token.keyword,\n.w-tc-editor pre[class*='language-'] .token.keyword {\n color: var(--color-prettylights-syntax-keyword);\n}\n.w-tc-editor code[class*='language-'] .token.function,\n.w-tc-editor pre[class*='language-'] .token.function {\n color: var(--color-prettylights-syntax-string);\n}\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important,\n.w-tc-editor code[class*='language-'] .token.regex,\n.w-tc-editor pre[class*='language-'] .token.regex,\n.w-tc-editor code[class*='language-'] .token.variable,\n.w-tc-editor pre[class*='language-'] .token.variable {\n color: var(--color-prettylights-syntax-string-regexp);\n}\n.w-tc-editor code[class*='language-'] .token.bold,\n.w-tc-editor pre[class*='language-'] .token.bold,\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important {\n color: var(--color-prettylights-syntax-markup-bold);\n}\n.w-tc-editor code[class*='language-'] .token.tag,\n.w-tc-editor pre[class*='language-'] .token.tag {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.attr-value,\n.w-tc-editor pre[class*='language-'] .token.attr-value,\n.w-tc-editor code[class*='language-'] .token.attr-name,\n.w-tc-editor pre[class*='language-'] .token.attr-name {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.selector .class,\n.w-tc-editor pre[class*='language-'] .token.selector .class,\n.w-tc-editor code[class*='language-'] .token.class-name,\n.w-tc-editor pre[class*='language-'] .token.class-name {\n color: var(--color-prettylights-syntax-entity);\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/css/3549.e99c33cf.chunk.css b/portal-ui/build/static/css/3549.e99c33cf.chunk.css deleted file mode 100644 index d2760d610..000000000 --- a/portal-ui/build/static/css/3549.e99c33cf.chunk.css +++ /dev/null @@ -1,2 +0,0 @@ -@media (prefers-color-scheme:dark){.w-tc-editor{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}}@media (prefers-color-scheme:light){.w-tc-editor{--color-fg-default:#24292f;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}}[data-color-mode*=dark] .w-tc-editor,[data-color-mode*=dark] .w-tc-editor-var,body[data-color-mode*=dark]{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}[data-color-mode*=light] .w-tc-editor,[data-color-mode*=light] .w-tc-editor-var,body[data-color-mode*=light]{--color-fg-default:#24292f;--color-canvas-subtle:#f6f8fa;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}.w-tc-editor{background-color:var(--color-canvas-subtle);color:var(--color-fg-default);font-family:inherit;font-size:12px}.w-tc-editor-preview,.w-tc-editor-text{min-height:16px}.w-tc-editor-preview pre{font-family:inherit;font-size:inherit;margin:0;padding:0;white-space:inherit}.w-tc-editor-preview pre code{font-family:inherit}.w-tc-editor code[class*=language-] .token.cdata,.w-tc-editor code[class*=language-] .token.comment,.w-tc-editor code[class*=language-] .token.doctype,.w-tc-editor code[class*=language-] .token.prolog,.w-tc-editor pre[class*=language-] .token.cdata,.w-tc-editor pre[class*=language-] .token.comment,.w-tc-editor pre[class*=language-] .token.doctype,.w-tc-editor pre[class*=language-] .token.prolog{color:var(--color-prettylights-syntax-comment)}.w-tc-editor code[class*=language-] .token.punctuation,.w-tc-editor pre[class*=language-] .token.punctuation{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.w-tc-editor code[class*=language-] .namespace,.w-tc-editor pre[class*=language-] .namespace{opacity:.7}.w-tc-editor code[class*=language-] .token.boolean,.w-tc-editor code[class*=language-] .token.constant,.w-tc-editor code[class*=language-] .token.deleted,.w-tc-editor code[class*=language-] .token.number,.w-tc-editor code[class*=language-] .token.symbol,.w-tc-editor pre[class*=language-] .token.boolean,.w-tc-editor pre[class*=language-] .token.constant,.w-tc-editor pre[class*=language-] .token.deleted,.w-tc-editor pre[class*=language-] .token.number,.w-tc-editor pre[class*=language-] .token.symbol{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .style .token.string,.w-tc-editor code[class*=language-] .token.builtin,.w-tc-editor code[class*=language-] .token.char,.w-tc-editor code[class*=language-] .token.entity,.w-tc-editor code[class*=language-] .token.inserted,.w-tc-editor code[class*=language-] .token.operator,.w-tc-editor code[class*=language-] .token.property,.w-tc-editor code[class*=language-] .token.selector,.w-tc-editor code[class*=language-] .token.string,.w-tc-editor code[class*=language-] .token.url,.w-tc-editor pre[class*=language-] .style .token.string,.w-tc-editor pre[class*=language-] .token.builtin,.w-tc-editor pre[class*=language-] .token.char,.w-tc-editor pre[class*=language-] .token.entity,.w-tc-editor pre[class*=language-] .token.inserted,.w-tc-editor pre[class*=language-] .token.operator,.w-tc-editor pre[class*=language-] .token.property,.w-tc-editor pre[class*=language-] .token.selector,.w-tc-editor pre[class*=language-] .token.string,.w-tc-editor pre[class*=language-] .token.url{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.atrule,.w-tc-editor code[class*=language-] .token.keyword,.w-tc-editor code[class*=language-] .token.property-access .token.method,.w-tc-editor pre[class*=language-] .token.atrule,.w-tc-editor pre[class*=language-] .token.keyword,.w-tc-editor pre[class*=language-] .token.property-access .token.method{color:var(--color-prettylights-syntax-keyword)}.w-tc-editor code[class*=language-] .token.function,.w-tc-editor pre[class*=language-] .token.function{color:var(--color-prettylights-syntax-string)}.w-tc-editor code[class*=language-] .token.important,.w-tc-editor code[class*=language-] .token.regex,.w-tc-editor code[class*=language-] .token.variable,.w-tc-editor pre[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.regex,.w-tc-editor pre[class*=language-] .token.variable{color:var(--color-prettylights-syntax-string-regexp)}.w-tc-editor code[class*=language-] .token.bold,.w-tc-editor code[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.bold,.w-tc-editor pre[class*=language-] .token.important{color:var(--color-prettylights-syntax-markup-bold)}.w-tc-editor code[class*=language-] .token.tag,.w-tc-editor pre[class*=language-] .token.tag{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .token.attr-name,.w-tc-editor code[class*=language-] .token.attr-value,.w-tc-editor pre[class*=language-] .token.attr-name,.w-tc-editor pre[class*=language-] .token.attr-value{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.class-name,.w-tc-editor code[class*=language-] .token.selector .class,.w-tc-editor pre[class*=language-] .token.class-name,.w-tc-editor pre[class*=language-] .token.selector .class{color:var(--color-prettylights-syntax-entity)} -/*# sourceMappingURL=3549.e99c33cf.chunk.css.map*/ \ No newline at end of file diff --git a/portal-ui/build/static/css/3549.e99c33cf.chunk.css.map b/portal-ui/build/static/css/3549.e99c33cf.chunk.css.map deleted file mode 100644 index 374c9edab..000000000 --- a/portal-ui/build/static/css/3549.e99c33cf.chunk.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/css/3549.e99c33cf.chunk.css","mappings":"AAAA,mCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,oCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,0GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,6GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,aAGE,2CAA4C,CAC5C,6BAA8B,CAH9B,mBAAoB,CACpB,cAGF,CACA,uCAEE,eACF,CACA,yBAIE,mBAAoB,CACpB,iBAAkB,CAJlB,QAAS,CACT,SAAU,CACV,mBAGF,CACA,8BACE,mBACF,CACA,8YAQE,8CACF,CACA,6GAEE,gEACF,CACA,6FAEE,UACF,CACA,ufAUE,iDACF,CAaA,o/BAUE,+CACF,CACA,yVAME,8CACF,CACA,uGAEE,6CACF,CACA,iTAME,oDACF,CACA,wMAIE,kDACF,CACA,6FAEE,iDACF,CACA,oNAIE,+CACF,CACA,gOAIE,6CACF","sources":["../node_modules/@uiw/react-textarea-code-editor/esm/style/index.css"],"sourcesContent":["@media (prefers-color-scheme: dark) {\n .w-tc-editor {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n }\n}\n@media (prefers-color-scheme: light) {\n .w-tc-editor {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n }\n}\n[data-color-mode*='dark'] .w-tc-editor,\n[data-color-mode*='dark'] .w-tc-editor-var,\nbody[data-color-mode*='dark'] {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n}\n[data-color-mode*='light'] .w-tc-editor,\n[data-color-mode*='light'] .w-tc-editor-var,\nbody[data-color-mode*='light'] {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #f6f8fa;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n}\n.w-tc-editor {\n font-family: inherit;\n font-size: 12px;\n background-color: var(--color-canvas-subtle);\n color: var(--color-fg-default);\n}\n.w-tc-editor-text,\n.w-tc-editor-preview {\n min-height: 16px;\n}\n.w-tc-editor-preview pre {\n margin: 0;\n padding: 0;\n white-space: inherit;\n font-family: inherit;\n font-size: inherit;\n}\n.w-tc-editor-preview pre code {\n font-family: inherit;\n}\n.w-tc-editor code[class*='language-'] .token.cdata,\n.w-tc-editor pre[class*='language-'] .token.cdata,\n.w-tc-editor code[class*='language-'] .token.comment,\n.w-tc-editor pre[class*='language-'] .token.comment,\n.w-tc-editor code[class*='language-'] .token.doctype,\n.w-tc-editor pre[class*='language-'] .token.doctype,\n.w-tc-editor code[class*='language-'] .token.prolog,\n.w-tc-editor pre[class*='language-'] .token.prolog {\n color: var(--color-prettylights-syntax-comment);\n}\n.w-tc-editor code[class*='language-'] .token.punctuation,\n.w-tc-editor pre[class*='language-'] .token.punctuation {\n color: var(--color-prettylights-syntax-sublimelinter-gutter-mark);\n}\n.w-tc-editor code[class*='language-'] .namespace,\n.w-tc-editor pre[class*='language-'] .namespace {\n opacity: 0.7;\n}\n.w-tc-editor code[class*='language-'] .token.boolean,\n.w-tc-editor pre[class*='language-'] .token.boolean,\n.w-tc-editor code[class*='language-'] .token.constant,\n.w-tc-editor pre[class*='language-'] .token.constant,\n.w-tc-editor code[class*='language-'] .token.deleted,\n.w-tc-editor pre[class*='language-'] .token.deleted,\n.w-tc-editor code[class*='language-'] .token.number,\n.w-tc-editor pre[class*='language-'] .token.number,\n.w-tc-editor code[class*='language-'] .token.symbol,\n.w-tc-editor pre[class*='language-'] .token.symbol {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.builtin,\n.w-tc-editor pre[class*='language-'] .token.builtin,\n.w-tc-editor code[class*='language-'] .token.char,\n.w-tc-editor pre[class*='language-'] .token.char,\n.w-tc-editor code[class*='language-'] .token.inserted,\n.w-tc-editor pre[class*='language-'] .token.inserted,\n.w-tc-editor code[class*='language-'] .token.selector,\n.w-tc-editor pre[class*='language-'] .token.selector,\n.w-tc-editor code[class*='language-'] .token.string,\n.w-tc-editor pre[class*='language-'] .token.string {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .style .token.string,\n.w-tc-editor pre[class*='language-'] .style .token.string,\n.w-tc-editor code[class*='language-'] .token.entity,\n.w-tc-editor pre[class*='language-'] .token.entity,\n.w-tc-editor code[class*='language-'] .token.property,\n.w-tc-editor pre[class*='language-'] .token.property,\n.w-tc-editor code[class*='language-'] .token.operator,\n.w-tc-editor pre[class*='language-'] .token.operator,\n.w-tc-editor code[class*='language-'] .token.url,\n.w-tc-editor pre[class*='language-'] .token.url {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.atrule,\n.w-tc-editor pre[class*='language-'] .token.atrule,\n.w-tc-editor code[class*='language-'] .token.property-access .token.method,\n.w-tc-editor pre[class*='language-'] .token.property-access .token.method,\n.w-tc-editor code[class*='language-'] .token.keyword,\n.w-tc-editor pre[class*='language-'] .token.keyword {\n color: var(--color-prettylights-syntax-keyword);\n}\n.w-tc-editor code[class*='language-'] .token.function,\n.w-tc-editor pre[class*='language-'] .token.function {\n color: var(--color-prettylights-syntax-string);\n}\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important,\n.w-tc-editor code[class*='language-'] .token.regex,\n.w-tc-editor pre[class*='language-'] .token.regex,\n.w-tc-editor code[class*='language-'] .token.variable,\n.w-tc-editor pre[class*='language-'] .token.variable {\n color: var(--color-prettylights-syntax-string-regexp);\n}\n.w-tc-editor code[class*='language-'] .token.bold,\n.w-tc-editor pre[class*='language-'] .token.bold,\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important {\n color: var(--color-prettylights-syntax-markup-bold);\n}\n.w-tc-editor code[class*='language-'] .token.tag,\n.w-tc-editor pre[class*='language-'] .token.tag {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.attr-value,\n.w-tc-editor pre[class*='language-'] .token.attr-value,\n.w-tc-editor code[class*='language-'] .token.attr-name,\n.w-tc-editor pre[class*='language-'] .token.attr-name {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.selector .class,\n.w-tc-editor pre[class*='language-'] .token.selector .class,\n.w-tc-editor code[class*='language-'] .token.class-name,\n.w-tc-editor pre[class*='language-'] .token.class-name {\n color: var(--color-prettylights-syntax-entity);\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/css/3905.8bbdd881.chunk.css b/portal-ui/build/static/css/3905.8bbdd881.chunk.css new file mode 100644 index 000000000..b2dc1ec95 --- /dev/null +++ b/portal-ui/build/static/css/3905.8bbdd881.chunk.css @@ -0,0 +1,2 @@ +@media (prefers-color-scheme:dark){.w-tc-editor{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}}@media (prefers-color-scheme:light){.w-tc-editor{--color-fg-default:#24292f;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}}[data-color-mode*=dark] .w-tc-editor,[data-color-mode*=dark] .w-tc-editor-var,body[data-color-mode*=dark]{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}[data-color-mode*=light] .w-tc-editor,[data-color-mode*=light] .w-tc-editor-var,body[data-color-mode*=light]{--color-fg-default:#24292f;--color-canvas-subtle:#f6f8fa;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}.w-tc-editor{background-color:var(--color-canvas-subtle);color:var(--color-fg-default);font-family:inherit;font-size:12px}.w-tc-editor-preview,.w-tc-editor-text{min-height:16px}.w-tc-editor-preview pre{font-family:inherit;font-size:inherit;margin:0;padding:0;white-space:inherit}.w-tc-editor-preview pre code{font-family:inherit}.w-tc-editor code[class*=language-] .token.cdata,.w-tc-editor code[class*=language-] .token.comment,.w-tc-editor code[class*=language-] .token.doctype,.w-tc-editor code[class*=language-] .token.prolog,.w-tc-editor pre[class*=language-] .token.cdata,.w-tc-editor pre[class*=language-] .token.comment,.w-tc-editor pre[class*=language-] .token.doctype,.w-tc-editor pre[class*=language-] .token.prolog{color:var(--color-prettylights-syntax-comment)}.w-tc-editor code[class*=language-] .token.punctuation,.w-tc-editor pre[class*=language-] .token.punctuation{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.w-tc-editor code[class*=language-] .namespace,.w-tc-editor pre[class*=language-] .namespace{opacity:.7}.w-tc-editor code[class*=language-] .token.boolean,.w-tc-editor code[class*=language-] .token.constant,.w-tc-editor code[class*=language-] .token.deleted,.w-tc-editor code[class*=language-] .token.number,.w-tc-editor code[class*=language-] .token.symbol,.w-tc-editor pre[class*=language-] .token.boolean,.w-tc-editor pre[class*=language-] .token.constant,.w-tc-editor pre[class*=language-] .token.deleted,.w-tc-editor pre[class*=language-] .token.number,.w-tc-editor pre[class*=language-] .token.symbol{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .style .token.string,.w-tc-editor code[class*=language-] .token.builtin,.w-tc-editor code[class*=language-] .token.char,.w-tc-editor code[class*=language-] .token.entity,.w-tc-editor code[class*=language-] .token.inserted,.w-tc-editor code[class*=language-] .token.operator,.w-tc-editor code[class*=language-] .token.property,.w-tc-editor code[class*=language-] .token.selector,.w-tc-editor code[class*=language-] .token.string,.w-tc-editor code[class*=language-] .token.url,.w-tc-editor pre[class*=language-] .style .token.string,.w-tc-editor pre[class*=language-] .token.builtin,.w-tc-editor pre[class*=language-] .token.char,.w-tc-editor pre[class*=language-] .token.entity,.w-tc-editor pre[class*=language-] .token.inserted,.w-tc-editor pre[class*=language-] .token.operator,.w-tc-editor pre[class*=language-] .token.property,.w-tc-editor pre[class*=language-] .token.selector,.w-tc-editor pre[class*=language-] .token.string,.w-tc-editor pre[class*=language-] .token.url{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.atrule,.w-tc-editor code[class*=language-] .token.keyword,.w-tc-editor code[class*=language-] .token.property-access .token.method,.w-tc-editor pre[class*=language-] .token.atrule,.w-tc-editor pre[class*=language-] .token.keyword,.w-tc-editor pre[class*=language-] .token.property-access .token.method{color:var(--color-prettylights-syntax-keyword)}.w-tc-editor code[class*=language-] .token.function,.w-tc-editor pre[class*=language-] .token.function{color:var(--color-prettylights-syntax-string)}.w-tc-editor code[class*=language-] .token.important,.w-tc-editor code[class*=language-] .token.regex,.w-tc-editor code[class*=language-] .token.variable,.w-tc-editor pre[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.regex,.w-tc-editor pre[class*=language-] .token.variable{color:var(--color-prettylights-syntax-string-regexp)}.w-tc-editor code[class*=language-] .token.bold,.w-tc-editor code[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.bold,.w-tc-editor pre[class*=language-] .token.important{color:var(--color-prettylights-syntax-markup-bold)}.w-tc-editor code[class*=language-] .token.tag,.w-tc-editor pre[class*=language-] .token.tag{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .token.attr-name,.w-tc-editor code[class*=language-] .token.attr-value,.w-tc-editor pre[class*=language-] .token.attr-name,.w-tc-editor pre[class*=language-] .token.attr-value{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.class-name,.w-tc-editor code[class*=language-] .token.selector .class,.w-tc-editor pre[class*=language-] .token.class-name,.w-tc-editor pre[class*=language-] .token.selector .class{color:var(--color-prettylights-syntax-entity)} +/*# sourceMappingURL=3905.8bbdd881.chunk.css.map*/ \ No newline at end of file diff --git a/portal-ui/build/static/css/3905.8bbdd881.chunk.css.map b/portal-ui/build/static/css/3905.8bbdd881.chunk.css.map new file mode 100644 index 000000000..8e79e0a45 --- /dev/null +++ b/portal-ui/build/static/css/3905.8bbdd881.chunk.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/3905.8bbdd881.chunk.css","mappings":"AAAA,mCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,oCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,0GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,6GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,aAGE,2CAA4C,CAC5C,6BAA8B,CAH9B,mBAAoB,CACpB,cAGF,CACA,uCAEE,eACF,CACA,yBAIE,mBAAoB,CACpB,iBAAkB,CAJlB,QAAS,CACT,SAAU,CACV,mBAGF,CACA,8BACE,mBACF,CACA,8YAQE,8CACF,CACA,6GAEE,gEACF,CACA,6FAEE,UACF,CACA,ufAUE,iDACF,CAaA,o/BAUE,+CACF,CACA,yVAME,8CACF,CACA,uGAEE,6CACF,CACA,iTAME,oDACF,CACA,wMAIE,kDACF,CACA,6FAEE,iDACF,CACA,oNAIE,+CACF,CACA,gOAIE,6CACF","sources":["../node_modules/@uiw/react-textarea-code-editor/esm/style/index.css"],"sourcesContent":["@media (prefers-color-scheme: dark) {\n .w-tc-editor {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n }\n}\n@media (prefers-color-scheme: light) {\n .w-tc-editor {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n }\n}\n[data-color-mode*='dark'] .w-tc-editor,\n[data-color-mode*='dark'] .w-tc-editor-var,\nbody[data-color-mode*='dark'] {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n}\n[data-color-mode*='light'] .w-tc-editor,\n[data-color-mode*='light'] .w-tc-editor-var,\nbody[data-color-mode*='light'] {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #f6f8fa;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n}\n.w-tc-editor {\n font-family: inherit;\n font-size: 12px;\n background-color: var(--color-canvas-subtle);\n color: var(--color-fg-default);\n}\n.w-tc-editor-text,\n.w-tc-editor-preview {\n min-height: 16px;\n}\n.w-tc-editor-preview pre {\n margin: 0;\n padding: 0;\n white-space: inherit;\n font-family: inherit;\n font-size: inherit;\n}\n.w-tc-editor-preview pre code {\n font-family: inherit;\n}\n.w-tc-editor code[class*='language-'] .token.cdata,\n.w-tc-editor pre[class*='language-'] .token.cdata,\n.w-tc-editor code[class*='language-'] .token.comment,\n.w-tc-editor pre[class*='language-'] .token.comment,\n.w-tc-editor code[class*='language-'] .token.doctype,\n.w-tc-editor pre[class*='language-'] .token.doctype,\n.w-tc-editor code[class*='language-'] .token.prolog,\n.w-tc-editor pre[class*='language-'] .token.prolog {\n color: var(--color-prettylights-syntax-comment);\n}\n.w-tc-editor code[class*='language-'] .token.punctuation,\n.w-tc-editor pre[class*='language-'] .token.punctuation {\n color: var(--color-prettylights-syntax-sublimelinter-gutter-mark);\n}\n.w-tc-editor code[class*='language-'] .namespace,\n.w-tc-editor pre[class*='language-'] .namespace {\n opacity: 0.7;\n}\n.w-tc-editor code[class*='language-'] .token.boolean,\n.w-tc-editor pre[class*='language-'] .token.boolean,\n.w-tc-editor code[class*='language-'] .token.constant,\n.w-tc-editor pre[class*='language-'] .token.constant,\n.w-tc-editor code[class*='language-'] .token.deleted,\n.w-tc-editor pre[class*='language-'] .token.deleted,\n.w-tc-editor code[class*='language-'] .token.number,\n.w-tc-editor pre[class*='language-'] .token.number,\n.w-tc-editor code[class*='language-'] .token.symbol,\n.w-tc-editor pre[class*='language-'] .token.symbol {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.builtin,\n.w-tc-editor pre[class*='language-'] .token.builtin,\n.w-tc-editor code[class*='language-'] .token.char,\n.w-tc-editor pre[class*='language-'] .token.char,\n.w-tc-editor code[class*='language-'] .token.inserted,\n.w-tc-editor pre[class*='language-'] .token.inserted,\n.w-tc-editor code[class*='language-'] .token.selector,\n.w-tc-editor pre[class*='language-'] .token.selector,\n.w-tc-editor code[class*='language-'] .token.string,\n.w-tc-editor pre[class*='language-'] .token.string {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .style .token.string,\n.w-tc-editor pre[class*='language-'] .style .token.string,\n.w-tc-editor code[class*='language-'] .token.entity,\n.w-tc-editor pre[class*='language-'] .token.entity,\n.w-tc-editor code[class*='language-'] .token.property,\n.w-tc-editor pre[class*='language-'] .token.property,\n.w-tc-editor code[class*='language-'] .token.operator,\n.w-tc-editor pre[class*='language-'] .token.operator,\n.w-tc-editor code[class*='language-'] .token.url,\n.w-tc-editor pre[class*='language-'] .token.url {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.atrule,\n.w-tc-editor pre[class*='language-'] .token.atrule,\n.w-tc-editor code[class*='language-'] .token.property-access .token.method,\n.w-tc-editor pre[class*='language-'] .token.property-access .token.method,\n.w-tc-editor code[class*='language-'] .token.keyword,\n.w-tc-editor pre[class*='language-'] .token.keyword {\n color: var(--color-prettylights-syntax-keyword);\n}\n.w-tc-editor code[class*='language-'] .token.function,\n.w-tc-editor pre[class*='language-'] .token.function {\n color: var(--color-prettylights-syntax-string);\n}\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important,\n.w-tc-editor code[class*='language-'] .token.regex,\n.w-tc-editor pre[class*='language-'] .token.regex,\n.w-tc-editor code[class*='language-'] .token.variable,\n.w-tc-editor pre[class*='language-'] .token.variable {\n color: var(--color-prettylights-syntax-string-regexp);\n}\n.w-tc-editor code[class*='language-'] .token.bold,\n.w-tc-editor pre[class*='language-'] .token.bold,\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important {\n color: var(--color-prettylights-syntax-markup-bold);\n}\n.w-tc-editor code[class*='language-'] .token.tag,\n.w-tc-editor pre[class*='language-'] .token.tag {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.attr-value,\n.w-tc-editor pre[class*='language-'] .token.attr-value,\n.w-tc-editor code[class*='language-'] .token.attr-name,\n.w-tc-editor pre[class*='language-'] .token.attr-name {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.selector .class,\n.w-tc-editor pre[class*='language-'] .token.selector .class,\n.w-tc-editor code[class*='language-'] .token.class-name,\n.w-tc-editor pre[class*='language-'] .token.class-name {\n color: var(--color-prettylights-syntax-entity);\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/css/5503.8bbdd881.chunk.css b/portal-ui/build/static/css/5503.8bbdd881.chunk.css new file mode 100644 index 000000000..2683575a3 --- /dev/null +++ b/portal-ui/build/static/css/5503.8bbdd881.chunk.css @@ -0,0 +1,2 @@ +@media (prefers-color-scheme:dark){.w-tc-editor{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}}@media (prefers-color-scheme:light){.w-tc-editor{--color-fg-default:#24292f;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}}[data-color-mode*=dark] .w-tc-editor,[data-color-mode*=dark] .w-tc-editor-var,body[data-color-mode*=dark]{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}[data-color-mode*=light] .w-tc-editor,[data-color-mode*=light] .w-tc-editor-var,body[data-color-mode*=light]{--color-fg-default:#24292f;--color-canvas-subtle:#f6f8fa;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}.w-tc-editor{background-color:var(--color-canvas-subtle);color:var(--color-fg-default);font-family:inherit;font-size:12px}.w-tc-editor-preview,.w-tc-editor-text{min-height:16px}.w-tc-editor-preview pre{font-family:inherit;font-size:inherit;margin:0;padding:0;white-space:inherit}.w-tc-editor-preview pre code{font-family:inherit}.w-tc-editor code[class*=language-] .token.cdata,.w-tc-editor code[class*=language-] .token.comment,.w-tc-editor code[class*=language-] .token.doctype,.w-tc-editor code[class*=language-] .token.prolog,.w-tc-editor pre[class*=language-] .token.cdata,.w-tc-editor pre[class*=language-] .token.comment,.w-tc-editor pre[class*=language-] .token.doctype,.w-tc-editor pre[class*=language-] .token.prolog{color:var(--color-prettylights-syntax-comment)}.w-tc-editor code[class*=language-] .token.punctuation,.w-tc-editor pre[class*=language-] .token.punctuation{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.w-tc-editor code[class*=language-] .namespace,.w-tc-editor pre[class*=language-] .namespace{opacity:.7}.w-tc-editor code[class*=language-] .token.boolean,.w-tc-editor code[class*=language-] .token.constant,.w-tc-editor code[class*=language-] .token.deleted,.w-tc-editor code[class*=language-] .token.number,.w-tc-editor code[class*=language-] .token.symbol,.w-tc-editor pre[class*=language-] .token.boolean,.w-tc-editor pre[class*=language-] .token.constant,.w-tc-editor pre[class*=language-] .token.deleted,.w-tc-editor pre[class*=language-] .token.number,.w-tc-editor pre[class*=language-] .token.symbol{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .style .token.string,.w-tc-editor code[class*=language-] .token.builtin,.w-tc-editor code[class*=language-] .token.char,.w-tc-editor code[class*=language-] .token.entity,.w-tc-editor code[class*=language-] .token.inserted,.w-tc-editor code[class*=language-] .token.operator,.w-tc-editor code[class*=language-] .token.property,.w-tc-editor code[class*=language-] .token.selector,.w-tc-editor code[class*=language-] .token.string,.w-tc-editor code[class*=language-] .token.url,.w-tc-editor pre[class*=language-] .style .token.string,.w-tc-editor pre[class*=language-] .token.builtin,.w-tc-editor pre[class*=language-] .token.char,.w-tc-editor pre[class*=language-] .token.entity,.w-tc-editor pre[class*=language-] .token.inserted,.w-tc-editor pre[class*=language-] .token.operator,.w-tc-editor pre[class*=language-] .token.property,.w-tc-editor pre[class*=language-] .token.selector,.w-tc-editor pre[class*=language-] .token.string,.w-tc-editor pre[class*=language-] .token.url{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.atrule,.w-tc-editor code[class*=language-] .token.keyword,.w-tc-editor code[class*=language-] .token.property-access .token.method,.w-tc-editor pre[class*=language-] .token.atrule,.w-tc-editor pre[class*=language-] .token.keyword,.w-tc-editor pre[class*=language-] .token.property-access .token.method{color:var(--color-prettylights-syntax-keyword)}.w-tc-editor code[class*=language-] .token.function,.w-tc-editor pre[class*=language-] .token.function{color:var(--color-prettylights-syntax-string)}.w-tc-editor code[class*=language-] .token.important,.w-tc-editor code[class*=language-] .token.regex,.w-tc-editor code[class*=language-] .token.variable,.w-tc-editor pre[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.regex,.w-tc-editor pre[class*=language-] .token.variable{color:var(--color-prettylights-syntax-string-regexp)}.w-tc-editor code[class*=language-] .token.bold,.w-tc-editor code[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.bold,.w-tc-editor pre[class*=language-] .token.important{color:var(--color-prettylights-syntax-markup-bold)}.w-tc-editor code[class*=language-] .token.tag,.w-tc-editor pre[class*=language-] .token.tag{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .token.attr-name,.w-tc-editor code[class*=language-] .token.attr-value,.w-tc-editor pre[class*=language-] .token.attr-name,.w-tc-editor pre[class*=language-] .token.attr-value{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.class-name,.w-tc-editor code[class*=language-] .token.selector .class,.w-tc-editor pre[class*=language-] .token.class-name,.w-tc-editor pre[class*=language-] .token.selector .class{color:var(--color-prettylights-syntax-entity)} +/*# sourceMappingURL=5503.8bbdd881.chunk.css.map*/ \ No newline at end of file diff --git a/portal-ui/build/static/css/5503.8bbdd881.chunk.css.map b/portal-ui/build/static/css/5503.8bbdd881.chunk.css.map new file mode 100644 index 000000000..7d3a239c2 --- /dev/null +++ b/portal-ui/build/static/css/5503.8bbdd881.chunk.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/5503.8bbdd881.chunk.css","mappings":"AAAA,mCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,oCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,0GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,6GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,aAGE,2CAA4C,CAC5C,6BAA8B,CAH9B,mBAAoB,CACpB,cAGF,CACA,uCAEE,eACF,CACA,yBAIE,mBAAoB,CACpB,iBAAkB,CAJlB,QAAS,CACT,SAAU,CACV,mBAGF,CACA,8BACE,mBACF,CACA,8YAQE,8CACF,CACA,6GAEE,gEACF,CACA,6FAEE,UACF,CACA,ufAUE,iDACF,CAaA,o/BAUE,+CACF,CACA,yVAME,8CACF,CACA,uGAEE,6CACF,CACA,iTAME,oDACF,CACA,wMAIE,kDACF,CACA,6FAEE,iDACF,CACA,oNAIE,+CACF,CACA,gOAIE,6CACF","sources":["../node_modules/@uiw/react-textarea-code-editor/esm/style/index.css"],"sourcesContent":["@media (prefers-color-scheme: dark) {\n .w-tc-editor {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n }\n}\n@media (prefers-color-scheme: light) {\n .w-tc-editor {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n }\n}\n[data-color-mode*='dark'] .w-tc-editor,\n[data-color-mode*='dark'] .w-tc-editor-var,\nbody[data-color-mode*='dark'] {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n}\n[data-color-mode*='light'] .w-tc-editor,\n[data-color-mode*='light'] .w-tc-editor-var,\nbody[data-color-mode*='light'] {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #f6f8fa;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n}\n.w-tc-editor {\n font-family: inherit;\n font-size: 12px;\n background-color: var(--color-canvas-subtle);\n color: var(--color-fg-default);\n}\n.w-tc-editor-text,\n.w-tc-editor-preview {\n min-height: 16px;\n}\n.w-tc-editor-preview pre {\n margin: 0;\n padding: 0;\n white-space: inherit;\n font-family: inherit;\n font-size: inherit;\n}\n.w-tc-editor-preview pre code {\n font-family: inherit;\n}\n.w-tc-editor code[class*='language-'] .token.cdata,\n.w-tc-editor pre[class*='language-'] .token.cdata,\n.w-tc-editor code[class*='language-'] .token.comment,\n.w-tc-editor pre[class*='language-'] .token.comment,\n.w-tc-editor code[class*='language-'] .token.doctype,\n.w-tc-editor pre[class*='language-'] .token.doctype,\n.w-tc-editor code[class*='language-'] .token.prolog,\n.w-tc-editor pre[class*='language-'] .token.prolog {\n color: var(--color-prettylights-syntax-comment);\n}\n.w-tc-editor code[class*='language-'] .token.punctuation,\n.w-tc-editor pre[class*='language-'] .token.punctuation {\n color: var(--color-prettylights-syntax-sublimelinter-gutter-mark);\n}\n.w-tc-editor code[class*='language-'] .namespace,\n.w-tc-editor pre[class*='language-'] .namespace {\n opacity: 0.7;\n}\n.w-tc-editor code[class*='language-'] .token.boolean,\n.w-tc-editor pre[class*='language-'] .token.boolean,\n.w-tc-editor code[class*='language-'] .token.constant,\n.w-tc-editor pre[class*='language-'] .token.constant,\n.w-tc-editor code[class*='language-'] .token.deleted,\n.w-tc-editor pre[class*='language-'] .token.deleted,\n.w-tc-editor code[class*='language-'] .token.number,\n.w-tc-editor pre[class*='language-'] .token.number,\n.w-tc-editor code[class*='language-'] .token.symbol,\n.w-tc-editor pre[class*='language-'] .token.symbol {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.builtin,\n.w-tc-editor pre[class*='language-'] .token.builtin,\n.w-tc-editor code[class*='language-'] .token.char,\n.w-tc-editor pre[class*='language-'] .token.char,\n.w-tc-editor code[class*='language-'] .token.inserted,\n.w-tc-editor pre[class*='language-'] .token.inserted,\n.w-tc-editor code[class*='language-'] .token.selector,\n.w-tc-editor pre[class*='language-'] .token.selector,\n.w-tc-editor code[class*='language-'] .token.string,\n.w-tc-editor pre[class*='language-'] .token.string {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .style .token.string,\n.w-tc-editor pre[class*='language-'] .style .token.string,\n.w-tc-editor code[class*='language-'] .token.entity,\n.w-tc-editor pre[class*='language-'] .token.entity,\n.w-tc-editor code[class*='language-'] .token.property,\n.w-tc-editor pre[class*='language-'] .token.property,\n.w-tc-editor code[class*='language-'] .token.operator,\n.w-tc-editor pre[class*='language-'] .token.operator,\n.w-tc-editor code[class*='language-'] .token.url,\n.w-tc-editor pre[class*='language-'] .token.url {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.atrule,\n.w-tc-editor pre[class*='language-'] .token.atrule,\n.w-tc-editor code[class*='language-'] .token.property-access .token.method,\n.w-tc-editor pre[class*='language-'] .token.property-access .token.method,\n.w-tc-editor code[class*='language-'] .token.keyword,\n.w-tc-editor pre[class*='language-'] .token.keyword {\n color: var(--color-prettylights-syntax-keyword);\n}\n.w-tc-editor code[class*='language-'] .token.function,\n.w-tc-editor pre[class*='language-'] .token.function {\n color: var(--color-prettylights-syntax-string);\n}\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important,\n.w-tc-editor code[class*='language-'] .token.regex,\n.w-tc-editor pre[class*='language-'] .token.regex,\n.w-tc-editor code[class*='language-'] .token.variable,\n.w-tc-editor pre[class*='language-'] .token.variable {\n color: var(--color-prettylights-syntax-string-regexp);\n}\n.w-tc-editor code[class*='language-'] .token.bold,\n.w-tc-editor pre[class*='language-'] .token.bold,\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important {\n color: var(--color-prettylights-syntax-markup-bold);\n}\n.w-tc-editor code[class*='language-'] .token.tag,\n.w-tc-editor pre[class*='language-'] .token.tag {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.attr-value,\n.w-tc-editor pre[class*='language-'] .token.attr-value,\n.w-tc-editor code[class*='language-'] .token.attr-name,\n.w-tc-editor pre[class*='language-'] .token.attr-name {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.selector .class,\n.w-tc-editor pre[class*='language-'] .token.selector .class,\n.w-tc-editor code[class*='language-'] .token.class-name,\n.w-tc-editor pre[class*='language-'] .token.class-name {\n color: var(--color-prettylights-syntax-entity);\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/css/5503.e99c33cf.chunk.css b/portal-ui/build/static/css/5503.e99c33cf.chunk.css deleted file mode 100644 index 291fe985b..000000000 --- a/portal-ui/build/static/css/5503.e99c33cf.chunk.css +++ /dev/null @@ -1,2 +0,0 @@ -@media (prefers-color-scheme:dark){.w-tc-editor{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}}@media (prefers-color-scheme:light){.w-tc-editor{--color-fg-default:#24292f;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}}[data-color-mode*=dark] .w-tc-editor,[data-color-mode*=dark] .w-tc-editor-var,body[data-color-mode*=dark]{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}[data-color-mode*=light] .w-tc-editor,[data-color-mode*=light] .w-tc-editor-var,body[data-color-mode*=light]{--color-fg-default:#24292f;--color-canvas-subtle:#f6f8fa;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}.w-tc-editor{background-color:var(--color-canvas-subtle);color:var(--color-fg-default);font-family:inherit;font-size:12px}.w-tc-editor-preview,.w-tc-editor-text{min-height:16px}.w-tc-editor-preview pre{font-family:inherit;font-size:inherit;margin:0;padding:0;white-space:inherit}.w-tc-editor-preview pre code{font-family:inherit}.w-tc-editor code[class*=language-] .token.cdata,.w-tc-editor code[class*=language-] .token.comment,.w-tc-editor code[class*=language-] .token.doctype,.w-tc-editor code[class*=language-] .token.prolog,.w-tc-editor pre[class*=language-] .token.cdata,.w-tc-editor pre[class*=language-] .token.comment,.w-tc-editor pre[class*=language-] .token.doctype,.w-tc-editor pre[class*=language-] .token.prolog{color:var(--color-prettylights-syntax-comment)}.w-tc-editor code[class*=language-] .token.punctuation,.w-tc-editor pre[class*=language-] .token.punctuation{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.w-tc-editor code[class*=language-] .namespace,.w-tc-editor pre[class*=language-] .namespace{opacity:.7}.w-tc-editor code[class*=language-] .token.boolean,.w-tc-editor code[class*=language-] .token.constant,.w-tc-editor code[class*=language-] .token.deleted,.w-tc-editor code[class*=language-] .token.number,.w-tc-editor code[class*=language-] .token.symbol,.w-tc-editor pre[class*=language-] .token.boolean,.w-tc-editor pre[class*=language-] .token.constant,.w-tc-editor pre[class*=language-] .token.deleted,.w-tc-editor pre[class*=language-] .token.number,.w-tc-editor pre[class*=language-] .token.symbol{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .style .token.string,.w-tc-editor code[class*=language-] .token.builtin,.w-tc-editor code[class*=language-] .token.char,.w-tc-editor code[class*=language-] .token.entity,.w-tc-editor code[class*=language-] .token.inserted,.w-tc-editor code[class*=language-] .token.operator,.w-tc-editor code[class*=language-] .token.property,.w-tc-editor code[class*=language-] .token.selector,.w-tc-editor code[class*=language-] .token.string,.w-tc-editor code[class*=language-] .token.url,.w-tc-editor pre[class*=language-] .style .token.string,.w-tc-editor pre[class*=language-] .token.builtin,.w-tc-editor pre[class*=language-] .token.char,.w-tc-editor pre[class*=language-] .token.entity,.w-tc-editor pre[class*=language-] .token.inserted,.w-tc-editor pre[class*=language-] .token.operator,.w-tc-editor pre[class*=language-] .token.property,.w-tc-editor pre[class*=language-] .token.selector,.w-tc-editor pre[class*=language-] .token.string,.w-tc-editor pre[class*=language-] .token.url{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.atrule,.w-tc-editor code[class*=language-] .token.keyword,.w-tc-editor code[class*=language-] .token.property-access .token.method,.w-tc-editor pre[class*=language-] .token.atrule,.w-tc-editor pre[class*=language-] .token.keyword,.w-tc-editor pre[class*=language-] .token.property-access .token.method{color:var(--color-prettylights-syntax-keyword)}.w-tc-editor code[class*=language-] .token.function,.w-tc-editor pre[class*=language-] .token.function{color:var(--color-prettylights-syntax-string)}.w-tc-editor code[class*=language-] .token.important,.w-tc-editor code[class*=language-] .token.regex,.w-tc-editor code[class*=language-] .token.variable,.w-tc-editor pre[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.regex,.w-tc-editor pre[class*=language-] .token.variable{color:var(--color-prettylights-syntax-string-regexp)}.w-tc-editor code[class*=language-] .token.bold,.w-tc-editor code[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.bold,.w-tc-editor pre[class*=language-] .token.important{color:var(--color-prettylights-syntax-markup-bold)}.w-tc-editor code[class*=language-] .token.tag,.w-tc-editor pre[class*=language-] .token.tag{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .token.attr-name,.w-tc-editor code[class*=language-] .token.attr-value,.w-tc-editor pre[class*=language-] .token.attr-name,.w-tc-editor pre[class*=language-] .token.attr-value{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.class-name,.w-tc-editor code[class*=language-] .token.selector .class,.w-tc-editor pre[class*=language-] .token.class-name,.w-tc-editor pre[class*=language-] .token.selector .class{color:var(--color-prettylights-syntax-entity)} -/*# sourceMappingURL=5503.e99c33cf.chunk.css.map*/ \ No newline at end of file diff --git a/portal-ui/build/static/css/5503.e99c33cf.chunk.css.map b/portal-ui/build/static/css/5503.e99c33cf.chunk.css.map deleted file mode 100644 index 2c8ac4632..000000000 --- a/portal-ui/build/static/css/5503.e99c33cf.chunk.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/css/5503.e99c33cf.chunk.css","mappings":"AAAA,mCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,oCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,0GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,6GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,aAGE,2CAA4C,CAC5C,6BAA8B,CAH9B,mBAAoB,CACpB,cAGF,CACA,uCAEE,eACF,CACA,yBAIE,mBAAoB,CACpB,iBAAkB,CAJlB,QAAS,CACT,SAAU,CACV,mBAGF,CACA,8BACE,mBACF,CACA,8YAQE,8CACF,CACA,6GAEE,gEACF,CACA,6FAEE,UACF,CACA,ufAUE,iDACF,CAaA,o/BAUE,+CACF,CACA,yVAME,8CACF,CACA,uGAEE,6CACF,CACA,iTAME,oDACF,CACA,wMAIE,kDACF,CACA,6FAEE,iDACF,CACA,oNAIE,+CACF,CACA,gOAIE,6CACF","sources":["../node_modules/@uiw/react-textarea-code-editor/esm/style/index.css"],"sourcesContent":["@media (prefers-color-scheme: dark) {\n .w-tc-editor {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n }\n}\n@media (prefers-color-scheme: light) {\n .w-tc-editor {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n }\n}\n[data-color-mode*='dark'] .w-tc-editor,\n[data-color-mode*='dark'] .w-tc-editor-var,\nbody[data-color-mode*='dark'] {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n}\n[data-color-mode*='light'] .w-tc-editor,\n[data-color-mode*='light'] .w-tc-editor-var,\nbody[data-color-mode*='light'] {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #f6f8fa;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n}\n.w-tc-editor {\n font-family: inherit;\n font-size: 12px;\n background-color: var(--color-canvas-subtle);\n color: var(--color-fg-default);\n}\n.w-tc-editor-text,\n.w-tc-editor-preview {\n min-height: 16px;\n}\n.w-tc-editor-preview pre {\n margin: 0;\n padding: 0;\n white-space: inherit;\n font-family: inherit;\n font-size: inherit;\n}\n.w-tc-editor-preview pre code {\n font-family: inherit;\n}\n.w-tc-editor code[class*='language-'] .token.cdata,\n.w-tc-editor pre[class*='language-'] .token.cdata,\n.w-tc-editor code[class*='language-'] .token.comment,\n.w-tc-editor pre[class*='language-'] .token.comment,\n.w-tc-editor code[class*='language-'] .token.doctype,\n.w-tc-editor pre[class*='language-'] .token.doctype,\n.w-tc-editor code[class*='language-'] .token.prolog,\n.w-tc-editor pre[class*='language-'] .token.prolog {\n color: var(--color-prettylights-syntax-comment);\n}\n.w-tc-editor code[class*='language-'] .token.punctuation,\n.w-tc-editor pre[class*='language-'] .token.punctuation {\n color: var(--color-prettylights-syntax-sublimelinter-gutter-mark);\n}\n.w-tc-editor code[class*='language-'] .namespace,\n.w-tc-editor pre[class*='language-'] .namespace {\n opacity: 0.7;\n}\n.w-tc-editor code[class*='language-'] .token.boolean,\n.w-tc-editor pre[class*='language-'] .token.boolean,\n.w-tc-editor code[class*='language-'] .token.constant,\n.w-tc-editor pre[class*='language-'] .token.constant,\n.w-tc-editor code[class*='language-'] .token.deleted,\n.w-tc-editor pre[class*='language-'] .token.deleted,\n.w-tc-editor code[class*='language-'] .token.number,\n.w-tc-editor pre[class*='language-'] .token.number,\n.w-tc-editor code[class*='language-'] .token.symbol,\n.w-tc-editor pre[class*='language-'] .token.symbol {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.builtin,\n.w-tc-editor pre[class*='language-'] .token.builtin,\n.w-tc-editor code[class*='language-'] .token.char,\n.w-tc-editor pre[class*='language-'] .token.char,\n.w-tc-editor code[class*='language-'] .token.inserted,\n.w-tc-editor pre[class*='language-'] .token.inserted,\n.w-tc-editor code[class*='language-'] .token.selector,\n.w-tc-editor pre[class*='language-'] .token.selector,\n.w-tc-editor code[class*='language-'] .token.string,\n.w-tc-editor pre[class*='language-'] .token.string {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .style .token.string,\n.w-tc-editor pre[class*='language-'] .style .token.string,\n.w-tc-editor code[class*='language-'] .token.entity,\n.w-tc-editor pre[class*='language-'] .token.entity,\n.w-tc-editor code[class*='language-'] .token.property,\n.w-tc-editor pre[class*='language-'] .token.property,\n.w-tc-editor code[class*='language-'] .token.operator,\n.w-tc-editor pre[class*='language-'] .token.operator,\n.w-tc-editor code[class*='language-'] .token.url,\n.w-tc-editor pre[class*='language-'] .token.url {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.atrule,\n.w-tc-editor pre[class*='language-'] .token.atrule,\n.w-tc-editor code[class*='language-'] .token.property-access .token.method,\n.w-tc-editor pre[class*='language-'] .token.property-access .token.method,\n.w-tc-editor code[class*='language-'] .token.keyword,\n.w-tc-editor pre[class*='language-'] .token.keyword {\n color: var(--color-prettylights-syntax-keyword);\n}\n.w-tc-editor code[class*='language-'] .token.function,\n.w-tc-editor pre[class*='language-'] .token.function {\n color: var(--color-prettylights-syntax-string);\n}\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important,\n.w-tc-editor code[class*='language-'] .token.regex,\n.w-tc-editor pre[class*='language-'] .token.regex,\n.w-tc-editor code[class*='language-'] .token.variable,\n.w-tc-editor pre[class*='language-'] .token.variable {\n color: var(--color-prettylights-syntax-string-regexp);\n}\n.w-tc-editor code[class*='language-'] .token.bold,\n.w-tc-editor pre[class*='language-'] .token.bold,\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important {\n color: var(--color-prettylights-syntax-markup-bold);\n}\n.w-tc-editor code[class*='language-'] .token.tag,\n.w-tc-editor pre[class*='language-'] .token.tag {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.attr-value,\n.w-tc-editor pre[class*='language-'] .token.attr-value,\n.w-tc-editor code[class*='language-'] .token.attr-name,\n.w-tc-editor pre[class*='language-'] .token.attr-name {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.selector .class,\n.w-tc-editor pre[class*='language-'] .token.selector .class,\n.w-tc-editor code[class*='language-'] .token.class-name,\n.w-tc-editor pre[class*='language-'] .token.class-name {\n color: var(--color-prettylights-syntax-entity);\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/css/5517.8bbdd881.chunk.css b/portal-ui/build/static/css/5517.8bbdd881.chunk.css new file mode 100644 index 000000000..378ba44f1 --- /dev/null +++ b/portal-ui/build/static/css/5517.8bbdd881.chunk.css @@ -0,0 +1,2 @@ +@media (prefers-color-scheme:dark){.w-tc-editor{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}}@media (prefers-color-scheme:light){.w-tc-editor{--color-fg-default:#24292f;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}}[data-color-mode*=dark] .w-tc-editor,[data-color-mode*=dark] .w-tc-editor-var,body[data-color-mode*=dark]{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}[data-color-mode*=light] .w-tc-editor,[data-color-mode*=light] .w-tc-editor-var,body[data-color-mode*=light]{--color-fg-default:#24292f;--color-canvas-subtle:#f6f8fa;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}.w-tc-editor{background-color:var(--color-canvas-subtle);color:var(--color-fg-default);font-family:inherit;font-size:12px}.w-tc-editor-preview,.w-tc-editor-text{min-height:16px}.w-tc-editor-preview pre{font-family:inherit;font-size:inherit;margin:0;padding:0;white-space:inherit}.w-tc-editor-preview pre code{font-family:inherit}.w-tc-editor code[class*=language-] .token.cdata,.w-tc-editor code[class*=language-] .token.comment,.w-tc-editor code[class*=language-] .token.doctype,.w-tc-editor code[class*=language-] .token.prolog,.w-tc-editor pre[class*=language-] .token.cdata,.w-tc-editor pre[class*=language-] .token.comment,.w-tc-editor pre[class*=language-] .token.doctype,.w-tc-editor pre[class*=language-] .token.prolog{color:var(--color-prettylights-syntax-comment)}.w-tc-editor code[class*=language-] .token.punctuation,.w-tc-editor pre[class*=language-] .token.punctuation{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.w-tc-editor code[class*=language-] .namespace,.w-tc-editor pre[class*=language-] .namespace{opacity:.7}.w-tc-editor code[class*=language-] .token.boolean,.w-tc-editor code[class*=language-] .token.constant,.w-tc-editor code[class*=language-] .token.deleted,.w-tc-editor code[class*=language-] .token.number,.w-tc-editor code[class*=language-] .token.symbol,.w-tc-editor pre[class*=language-] .token.boolean,.w-tc-editor pre[class*=language-] .token.constant,.w-tc-editor pre[class*=language-] .token.deleted,.w-tc-editor pre[class*=language-] .token.number,.w-tc-editor pre[class*=language-] .token.symbol{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .style .token.string,.w-tc-editor code[class*=language-] .token.builtin,.w-tc-editor code[class*=language-] .token.char,.w-tc-editor code[class*=language-] .token.entity,.w-tc-editor code[class*=language-] .token.inserted,.w-tc-editor code[class*=language-] .token.operator,.w-tc-editor code[class*=language-] .token.property,.w-tc-editor code[class*=language-] .token.selector,.w-tc-editor code[class*=language-] .token.string,.w-tc-editor code[class*=language-] .token.url,.w-tc-editor pre[class*=language-] .style .token.string,.w-tc-editor pre[class*=language-] .token.builtin,.w-tc-editor pre[class*=language-] .token.char,.w-tc-editor pre[class*=language-] .token.entity,.w-tc-editor pre[class*=language-] .token.inserted,.w-tc-editor pre[class*=language-] .token.operator,.w-tc-editor pre[class*=language-] .token.property,.w-tc-editor pre[class*=language-] .token.selector,.w-tc-editor pre[class*=language-] .token.string,.w-tc-editor pre[class*=language-] .token.url{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.atrule,.w-tc-editor code[class*=language-] .token.keyword,.w-tc-editor code[class*=language-] .token.property-access .token.method,.w-tc-editor pre[class*=language-] .token.atrule,.w-tc-editor pre[class*=language-] .token.keyword,.w-tc-editor pre[class*=language-] .token.property-access .token.method{color:var(--color-prettylights-syntax-keyword)}.w-tc-editor code[class*=language-] .token.function,.w-tc-editor pre[class*=language-] .token.function{color:var(--color-prettylights-syntax-string)}.w-tc-editor code[class*=language-] .token.important,.w-tc-editor code[class*=language-] .token.regex,.w-tc-editor code[class*=language-] .token.variable,.w-tc-editor pre[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.regex,.w-tc-editor pre[class*=language-] .token.variable{color:var(--color-prettylights-syntax-string-regexp)}.w-tc-editor code[class*=language-] .token.bold,.w-tc-editor code[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.bold,.w-tc-editor pre[class*=language-] .token.important{color:var(--color-prettylights-syntax-markup-bold)}.w-tc-editor code[class*=language-] .token.tag,.w-tc-editor pre[class*=language-] .token.tag{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .token.attr-name,.w-tc-editor code[class*=language-] .token.attr-value,.w-tc-editor pre[class*=language-] .token.attr-name,.w-tc-editor pre[class*=language-] .token.attr-value{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.class-name,.w-tc-editor code[class*=language-] .token.selector .class,.w-tc-editor pre[class*=language-] .token.class-name,.w-tc-editor pre[class*=language-] .token.selector .class{color:var(--color-prettylights-syntax-entity)} +/*# sourceMappingURL=5517.8bbdd881.chunk.css.map*/ \ No newline at end of file diff --git a/portal-ui/build/static/css/5517.8bbdd881.chunk.css.map b/portal-ui/build/static/css/5517.8bbdd881.chunk.css.map new file mode 100644 index 000000000..fd682a5d1 --- /dev/null +++ b/portal-ui/build/static/css/5517.8bbdd881.chunk.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/5517.8bbdd881.chunk.css","mappings":"AAAA,mCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,oCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,0GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,6GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,aAGE,2CAA4C,CAC5C,6BAA8B,CAH9B,mBAAoB,CACpB,cAGF,CACA,uCAEE,eACF,CACA,yBAIE,mBAAoB,CACpB,iBAAkB,CAJlB,QAAS,CACT,SAAU,CACV,mBAGF,CACA,8BACE,mBACF,CACA,8YAQE,8CACF,CACA,6GAEE,gEACF,CACA,6FAEE,UACF,CACA,ufAUE,iDACF,CAaA,o/BAUE,+CACF,CACA,yVAME,8CACF,CACA,uGAEE,6CACF,CACA,iTAME,oDACF,CACA,wMAIE,kDACF,CACA,6FAEE,iDACF,CACA,oNAIE,+CACF,CACA,gOAIE,6CACF","sources":["../node_modules/@uiw/react-textarea-code-editor/esm/style/index.css"],"sourcesContent":["@media (prefers-color-scheme: dark) {\n .w-tc-editor {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n }\n}\n@media (prefers-color-scheme: light) {\n .w-tc-editor {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n }\n}\n[data-color-mode*='dark'] .w-tc-editor,\n[data-color-mode*='dark'] .w-tc-editor-var,\nbody[data-color-mode*='dark'] {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n}\n[data-color-mode*='light'] .w-tc-editor,\n[data-color-mode*='light'] .w-tc-editor-var,\nbody[data-color-mode*='light'] {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #f6f8fa;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n}\n.w-tc-editor {\n font-family: inherit;\n font-size: 12px;\n background-color: var(--color-canvas-subtle);\n color: var(--color-fg-default);\n}\n.w-tc-editor-text,\n.w-tc-editor-preview {\n min-height: 16px;\n}\n.w-tc-editor-preview pre {\n margin: 0;\n padding: 0;\n white-space: inherit;\n font-family: inherit;\n font-size: inherit;\n}\n.w-tc-editor-preview pre code {\n font-family: inherit;\n}\n.w-tc-editor code[class*='language-'] .token.cdata,\n.w-tc-editor pre[class*='language-'] .token.cdata,\n.w-tc-editor code[class*='language-'] .token.comment,\n.w-tc-editor pre[class*='language-'] .token.comment,\n.w-tc-editor code[class*='language-'] .token.doctype,\n.w-tc-editor pre[class*='language-'] .token.doctype,\n.w-tc-editor code[class*='language-'] .token.prolog,\n.w-tc-editor pre[class*='language-'] .token.prolog {\n color: var(--color-prettylights-syntax-comment);\n}\n.w-tc-editor code[class*='language-'] .token.punctuation,\n.w-tc-editor pre[class*='language-'] .token.punctuation {\n color: var(--color-prettylights-syntax-sublimelinter-gutter-mark);\n}\n.w-tc-editor code[class*='language-'] .namespace,\n.w-tc-editor pre[class*='language-'] .namespace {\n opacity: 0.7;\n}\n.w-tc-editor code[class*='language-'] .token.boolean,\n.w-tc-editor pre[class*='language-'] .token.boolean,\n.w-tc-editor code[class*='language-'] .token.constant,\n.w-tc-editor pre[class*='language-'] .token.constant,\n.w-tc-editor code[class*='language-'] .token.deleted,\n.w-tc-editor pre[class*='language-'] .token.deleted,\n.w-tc-editor code[class*='language-'] .token.number,\n.w-tc-editor pre[class*='language-'] .token.number,\n.w-tc-editor code[class*='language-'] .token.symbol,\n.w-tc-editor pre[class*='language-'] .token.symbol {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.builtin,\n.w-tc-editor pre[class*='language-'] .token.builtin,\n.w-tc-editor code[class*='language-'] .token.char,\n.w-tc-editor pre[class*='language-'] .token.char,\n.w-tc-editor code[class*='language-'] .token.inserted,\n.w-tc-editor pre[class*='language-'] .token.inserted,\n.w-tc-editor code[class*='language-'] .token.selector,\n.w-tc-editor pre[class*='language-'] .token.selector,\n.w-tc-editor code[class*='language-'] .token.string,\n.w-tc-editor pre[class*='language-'] .token.string {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .style .token.string,\n.w-tc-editor pre[class*='language-'] .style .token.string,\n.w-tc-editor code[class*='language-'] .token.entity,\n.w-tc-editor pre[class*='language-'] .token.entity,\n.w-tc-editor code[class*='language-'] .token.property,\n.w-tc-editor pre[class*='language-'] .token.property,\n.w-tc-editor code[class*='language-'] .token.operator,\n.w-tc-editor pre[class*='language-'] .token.operator,\n.w-tc-editor code[class*='language-'] .token.url,\n.w-tc-editor pre[class*='language-'] .token.url {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.atrule,\n.w-tc-editor pre[class*='language-'] .token.atrule,\n.w-tc-editor code[class*='language-'] .token.property-access .token.method,\n.w-tc-editor pre[class*='language-'] .token.property-access .token.method,\n.w-tc-editor code[class*='language-'] .token.keyword,\n.w-tc-editor pre[class*='language-'] .token.keyword {\n color: var(--color-prettylights-syntax-keyword);\n}\n.w-tc-editor code[class*='language-'] .token.function,\n.w-tc-editor pre[class*='language-'] .token.function {\n color: var(--color-prettylights-syntax-string);\n}\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important,\n.w-tc-editor code[class*='language-'] .token.regex,\n.w-tc-editor pre[class*='language-'] .token.regex,\n.w-tc-editor code[class*='language-'] .token.variable,\n.w-tc-editor pre[class*='language-'] .token.variable {\n color: var(--color-prettylights-syntax-string-regexp);\n}\n.w-tc-editor code[class*='language-'] .token.bold,\n.w-tc-editor pre[class*='language-'] .token.bold,\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important {\n color: var(--color-prettylights-syntax-markup-bold);\n}\n.w-tc-editor code[class*='language-'] .token.tag,\n.w-tc-editor pre[class*='language-'] .token.tag {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.attr-value,\n.w-tc-editor pre[class*='language-'] .token.attr-value,\n.w-tc-editor code[class*='language-'] .token.attr-name,\n.w-tc-editor pre[class*='language-'] .token.attr-name {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.selector .class,\n.w-tc-editor pre[class*='language-'] .token.selector .class,\n.w-tc-editor code[class*='language-'] .token.class-name,\n.w-tc-editor pre[class*='language-'] .token.class-name {\n color: var(--color-prettylights-syntax-entity);\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/css/5517.e99c33cf.chunk.css b/portal-ui/build/static/css/5517.e99c33cf.chunk.css deleted file mode 100644 index d483a0be4..000000000 --- a/portal-ui/build/static/css/5517.e99c33cf.chunk.css +++ /dev/null @@ -1,2 +0,0 @@ -@media (prefers-color-scheme:dark){.w-tc-editor{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}}@media (prefers-color-scheme:light){.w-tc-editor{--color-fg-default:#24292f;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}}[data-color-mode*=dark] .w-tc-editor,[data-color-mode*=dark] .w-tc-editor-var,body[data-color-mode*=dark]{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}[data-color-mode*=light] .w-tc-editor,[data-color-mode*=light] .w-tc-editor-var,body[data-color-mode*=light]{--color-fg-default:#24292f;--color-canvas-subtle:#f6f8fa;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}.w-tc-editor{background-color:var(--color-canvas-subtle);color:var(--color-fg-default);font-family:inherit;font-size:12px}.w-tc-editor-preview,.w-tc-editor-text{min-height:16px}.w-tc-editor-preview pre{font-family:inherit;font-size:inherit;margin:0;padding:0;white-space:inherit}.w-tc-editor-preview pre code{font-family:inherit}.w-tc-editor code[class*=language-] .token.cdata,.w-tc-editor code[class*=language-] .token.comment,.w-tc-editor code[class*=language-] .token.doctype,.w-tc-editor code[class*=language-] .token.prolog,.w-tc-editor pre[class*=language-] .token.cdata,.w-tc-editor pre[class*=language-] .token.comment,.w-tc-editor pre[class*=language-] .token.doctype,.w-tc-editor pre[class*=language-] .token.prolog{color:var(--color-prettylights-syntax-comment)}.w-tc-editor code[class*=language-] .token.punctuation,.w-tc-editor pre[class*=language-] .token.punctuation{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.w-tc-editor code[class*=language-] .namespace,.w-tc-editor pre[class*=language-] .namespace{opacity:.7}.w-tc-editor code[class*=language-] .token.boolean,.w-tc-editor code[class*=language-] .token.constant,.w-tc-editor code[class*=language-] .token.deleted,.w-tc-editor code[class*=language-] .token.number,.w-tc-editor code[class*=language-] .token.symbol,.w-tc-editor pre[class*=language-] .token.boolean,.w-tc-editor pre[class*=language-] .token.constant,.w-tc-editor pre[class*=language-] .token.deleted,.w-tc-editor pre[class*=language-] .token.number,.w-tc-editor pre[class*=language-] .token.symbol{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .style .token.string,.w-tc-editor code[class*=language-] .token.builtin,.w-tc-editor code[class*=language-] .token.char,.w-tc-editor code[class*=language-] .token.entity,.w-tc-editor code[class*=language-] .token.inserted,.w-tc-editor code[class*=language-] .token.operator,.w-tc-editor code[class*=language-] .token.property,.w-tc-editor code[class*=language-] .token.selector,.w-tc-editor code[class*=language-] .token.string,.w-tc-editor code[class*=language-] .token.url,.w-tc-editor pre[class*=language-] .style .token.string,.w-tc-editor pre[class*=language-] .token.builtin,.w-tc-editor pre[class*=language-] .token.char,.w-tc-editor pre[class*=language-] .token.entity,.w-tc-editor pre[class*=language-] .token.inserted,.w-tc-editor pre[class*=language-] .token.operator,.w-tc-editor pre[class*=language-] .token.property,.w-tc-editor pre[class*=language-] .token.selector,.w-tc-editor pre[class*=language-] .token.string,.w-tc-editor pre[class*=language-] .token.url{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.atrule,.w-tc-editor code[class*=language-] .token.keyword,.w-tc-editor code[class*=language-] .token.property-access .token.method,.w-tc-editor pre[class*=language-] .token.atrule,.w-tc-editor pre[class*=language-] .token.keyword,.w-tc-editor pre[class*=language-] .token.property-access .token.method{color:var(--color-prettylights-syntax-keyword)}.w-tc-editor code[class*=language-] .token.function,.w-tc-editor pre[class*=language-] .token.function{color:var(--color-prettylights-syntax-string)}.w-tc-editor code[class*=language-] .token.important,.w-tc-editor code[class*=language-] .token.regex,.w-tc-editor code[class*=language-] .token.variable,.w-tc-editor pre[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.regex,.w-tc-editor pre[class*=language-] .token.variable{color:var(--color-prettylights-syntax-string-regexp)}.w-tc-editor code[class*=language-] .token.bold,.w-tc-editor code[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.bold,.w-tc-editor pre[class*=language-] .token.important{color:var(--color-prettylights-syntax-markup-bold)}.w-tc-editor code[class*=language-] .token.tag,.w-tc-editor pre[class*=language-] .token.tag{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .token.attr-name,.w-tc-editor code[class*=language-] .token.attr-value,.w-tc-editor pre[class*=language-] .token.attr-name,.w-tc-editor pre[class*=language-] .token.attr-value{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.class-name,.w-tc-editor code[class*=language-] .token.selector .class,.w-tc-editor pre[class*=language-] .token.class-name,.w-tc-editor pre[class*=language-] .token.selector .class{color:var(--color-prettylights-syntax-entity)} -/*# sourceMappingURL=5517.e99c33cf.chunk.css.map*/ \ No newline at end of file diff --git a/portal-ui/build/static/css/5517.e99c33cf.chunk.css.map b/portal-ui/build/static/css/5517.e99c33cf.chunk.css.map deleted file mode 100644 index cc7b0a68b..000000000 --- a/portal-ui/build/static/css/5517.e99c33cf.chunk.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/css/5517.e99c33cf.chunk.css","mappings":"AAAA,mCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,oCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,0GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,6GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,aAGE,2CAA4C,CAC5C,6BAA8B,CAH9B,mBAAoB,CACpB,cAGF,CACA,uCAEE,eACF,CACA,yBAIE,mBAAoB,CACpB,iBAAkB,CAJlB,QAAS,CACT,SAAU,CACV,mBAGF,CACA,8BACE,mBACF,CACA,8YAQE,8CACF,CACA,6GAEE,gEACF,CACA,6FAEE,UACF,CACA,ufAUE,iDACF,CAaA,o/BAUE,+CACF,CACA,yVAME,8CACF,CACA,uGAEE,6CACF,CACA,iTAME,oDACF,CACA,wMAIE,kDACF,CACA,6FAEE,iDACF,CACA,oNAIE,+CACF,CACA,gOAIE,6CACF","sources":["../node_modules/@uiw/react-textarea-code-editor/esm/style/index.css"],"sourcesContent":["@media (prefers-color-scheme: dark) {\n .w-tc-editor {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n }\n}\n@media (prefers-color-scheme: light) {\n .w-tc-editor {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n }\n}\n[data-color-mode*='dark'] .w-tc-editor,\n[data-color-mode*='dark'] .w-tc-editor-var,\nbody[data-color-mode*='dark'] {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n}\n[data-color-mode*='light'] .w-tc-editor,\n[data-color-mode*='light'] .w-tc-editor-var,\nbody[data-color-mode*='light'] {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #f6f8fa;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n}\n.w-tc-editor {\n font-family: inherit;\n font-size: 12px;\n background-color: var(--color-canvas-subtle);\n color: var(--color-fg-default);\n}\n.w-tc-editor-text,\n.w-tc-editor-preview {\n min-height: 16px;\n}\n.w-tc-editor-preview pre {\n margin: 0;\n padding: 0;\n white-space: inherit;\n font-family: inherit;\n font-size: inherit;\n}\n.w-tc-editor-preview pre code {\n font-family: inherit;\n}\n.w-tc-editor code[class*='language-'] .token.cdata,\n.w-tc-editor pre[class*='language-'] .token.cdata,\n.w-tc-editor code[class*='language-'] .token.comment,\n.w-tc-editor pre[class*='language-'] .token.comment,\n.w-tc-editor code[class*='language-'] .token.doctype,\n.w-tc-editor pre[class*='language-'] .token.doctype,\n.w-tc-editor code[class*='language-'] .token.prolog,\n.w-tc-editor pre[class*='language-'] .token.prolog {\n color: var(--color-prettylights-syntax-comment);\n}\n.w-tc-editor code[class*='language-'] .token.punctuation,\n.w-tc-editor pre[class*='language-'] .token.punctuation {\n color: var(--color-prettylights-syntax-sublimelinter-gutter-mark);\n}\n.w-tc-editor code[class*='language-'] .namespace,\n.w-tc-editor pre[class*='language-'] .namespace {\n opacity: 0.7;\n}\n.w-tc-editor code[class*='language-'] .token.boolean,\n.w-tc-editor pre[class*='language-'] .token.boolean,\n.w-tc-editor code[class*='language-'] .token.constant,\n.w-tc-editor pre[class*='language-'] .token.constant,\n.w-tc-editor code[class*='language-'] .token.deleted,\n.w-tc-editor pre[class*='language-'] .token.deleted,\n.w-tc-editor code[class*='language-'] .token.number,\n.w-tc-editor pre[class*='language-'] .token.number,\n.w-tc-editor code[class*='language-'] .token.symbol,\n.w-tc-editor pre[class*='language-'] .token.symbol {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.builtin,\n.w-tc-editor pre[class*='language-'] .token.builtin,\n.w-tc-editor code[class*='language-'] .token.char,\n.w-tc-editor pre[class*='language-'] .token.char,\n.w-tc-editor code[class*='language-'] .token.inserted,\n.w-tc-editor pre[class*='language-'] .token.inserted,\n.w-tc-editor code[class*='language-'] .token.selector,\n.w-tc-editor pre[class*='language-'] .token.selector,\n.w-tc-editor code[class*='language-'] .token.string,\n.w-tc-editor pre[class*='language-'] .token.string {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .style .token.string,\n.w-tc-editor pre[class*='language-'] .style .token.string,\n.w-tc-editor code[class*='language-'] .token.entity,\n.w-tc-editor pre[class*='language-'] .token.entity,\n.w-tc-editor code[class*='language-'] .token.property,\n.w-tc-editor pre[class*='language-'] .token.property,\n.w-tc-editor code[class*='language-'] .token.operator,\n.w-tc-editor pre[class*='language-'] .token.operator,\n.w-tc-editor code[class*='language-'] .token.url,\n.w-tc-editor pre[class*='language-'] .token.url {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.atrule,\n.w-tc-editor pre[class*='language-'] .token.atrule,\n.w-tc-editor code[class*='language-'] .token.property-access .token.method,\n.w-tc-editor pre[class*='language-'] .token.property-access .token.method,\n.w-tc-editor code[class*='language-'] .token.keyword,\n.w-tc-editor pre[class*='language-'] .token.keyword {\n color: var(--color-prettylights-syntax-keyword);\n}\n.w-tc-editor code[class*='language-'] .token.function,\n.w-tc-editor pre[class*='language-'] .token.function {\n color: var(--color-prettylights-syntax-string);\n}\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important,\n.w-tc-editor code[class*='language-'] .token.regex,\n.w-tc-editor pre[class*='language-'] .token.regex,\n.w-tc-editor code[class*='language-'] .token.variable,\n.w-tc-editor pre[class*='language-'] .token.variable {\n color: var(--color-prettylights-syntax-string-regexp);\n}\n.w-tc-editor code[class*='language-'] .token.bold,\n.w-tc-editor pre[class*='language-'] .token.bold,\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important {\n color: var(--color-prettylights-syntax-markup-bold);\n}\n.w-tc-editor code[class*='language-'] .token.tag,\n.w-tc-editor pre[class*='language-'] .token.tag {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.attr-value,\n.w-tc-editor pre[class*='language-'] .token.attr-value,\n.w-tc-editor code[class*='language-'] .token.attr-name,\n.w-tc-editor pre[class*='language-'] .token.attr-name {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.selector .class,\n.w-tc-editor pre[class*='language-'] .token.selector .class,\n.w-tc-editor code[class*='language-'] .token.class-name,\n.w-tc-editor pre[class*='language-'] .token.class-name {\n color: var(--color-prettylights-syntax-entity);\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/css/6995.8bbdd881.chunk.css b/portal-ui/build/static/css/6995.8bbdd881.chunk.css new file mode 100644 index 000000000..fbf372d94 --- /dev/null +++ b/portal-ui/build/static/css/6995.8bbdd881.chunk.css @@ -0,0 +1,2 @@ +@media (prefers-color-scheme:dark){.w-tc-editor{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}}@media (prefers-color-scheme:light){.w-tc-editor{--color-fg-default:#24292f;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}}[data-color-mode*=dark] .w-tc-editor,[data-color-mode*=dark] .w-tc-editor-var,body[data-color-mode*=dark]{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}[data-color-mode*=light] .w-tc-editor,[data-color-mode*=light] .w-tc-editor-var,body[data-color-mode*=light]{--color-fg-default:#24292f;--color-canvas-subtle:#f6f8fa;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}.w-tc-editor{background-color:var(--color-canvas-subtle);color:var(--color-fg-default);font-family:inherit;font-size:12px}.w-tc-editor-preview,.w-tc-editor-text{min-height:16px}.w-tc-editor-preview pre{font-family:inherit;font-size:inherit;margin:0;padding:0;white-space:inherit}.w-tc-editor-preview pre code{font-family:inherit}.w-tc-editor code[class*=language-] .token.cdata,.w-tc-editor code[class*=language-] .token.comment,.w-tc-editor code[class*=language-] .token.doctype,.w-tc-editor code[class*=language-] .token.prolog,.w-tc-editor pre[class*=language-] .token.cdata,.w-tc-editor pre[class*=language-] .token.comment,.w-tc-editor pre[class*=language-] .token.doctype,.w-tc-editor pre[class*=language-] .token.prolog{color:var(--color-prettylights-syntax-comment)}.w-tc-editor code[class*=language-] .token.punctuation,.w-tc-editor pre[class*=language-] .token.punctuation{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.w-tc-editor code[class*=language-] .namespace,.w-tc-editor pre[class*=language-] .namespace{opacity:.7}.w-tc-editor code[class*=language-] .token.boolean,.w-tc-editor code[class*=language-] .token.constant,.w-tc-editor code[class*=language-] .token.deleted,.w-tc-editor code[class*=language-] .token.number,.w-tc-editor code[class*=language-] .token.symbol,.w-tc-editor pre[class*=language-] .token.boolean,.w-tc-editor pre[class*=language-] .token.constant,.w-tc-editor pre[class*=language-] .token.deleted,.w-tc-editor pre[class*=language-] .token.number,.w-tc-editor pre[class*=language-] .token.symbol{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .style .token.string,.w-tc-editor code[class*=language-] .token.builtin,.w-tc-editor code[class*=language-] .token.char,.w-tc-editor code[class*=language-] .token.entity,.w-tc-editor code[class*=language-] .token.inserted,.w-tc-editor code[class*=language-] .token.operator,.w-tc-editor code[class*=language-] .token.property,.w-tc-editor code[class*=language-] .token.selector,.w-tc-editor code[class*=language-] .token.string,.w-tc-editor code[class*=language-] .token.url,.w-tc-editor pre[class*=language-] .style .token.string,.w-tc-editor pre[class*=language-] .token.builtin,.w-tc-editor pre[class*=language-] .token.char,.w-tc-editor pre[class*=language-] .token.entity,.w-tc-editor pre[class*=language-] .token.inserted,.w-tc-editor pre[class*=language-] .token.operator,.w-tc-editor pre[class*=language-] .token.property,.w-tc-editor pre[class*=language-] .token.selector,.w-tc-editor pre[class*=language-] .token.string,.w-tc-editor pre[class*=language-] .token.url{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.atrule,.w-tc-editor code[class*=language-] .token.keyword,.w-tc-editor code[class*=language-] .token.property-access .token.method,.w-tc-editor pre[class*=language-] .token.atrule,.w-tc-editor pre[class*=language-] .token.keyword,.w-tc-editor pre[class*=language-] .token.property-access .token.method{color:var(--color-prettylights-syntax-keyword)}.w-tc-editor code[class*=language-] .token.function,.w-tc-editor pre[class*=language-] .token.function{color:var(--color-prettylights-syntax-string)}.w-tc-editor code[class*=language-] .token.important,.w-tc-editor code[class*=language-] .token.regex,.w-tc-editor code[class*=language-] .token.variable,.w-tc-editor pre[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.regex,.w-tc-editor pre[class*=language-] .token.variable{color:var(--color-prettylights-syntax-string-regexp)}.w-tc-editor code[class*=language-] .token.bold,.w-tc-editor code[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.bold,.w-tc-editor pre[class*=language-] .token.important{color:var(--color-prettylights-syntax-markup-bold)}.w-tc-editor code[class*=language-] .token.tag,.w-tc-editor pre[class*=language-] .token.tag{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .token.attr-name,.w-tc-editor code[class*=language-] .token.attr-value,.w-tc-editor pre[class*=language-] .token.attr-name,.w-tc-editor pre[class*=language-] .token.attr-value{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.class-name,.w-tc-editor code[class*=language-] .token.selector .class,.w-tc-editor pre[class*=language-] .token.class-name,.w-tc-editor pre[class*=language-] .token.selector .class{color:var(--color-prettylights-syntax-entity)} +/*# sourceMappingURL=6995.8bbdd881.chunk.css.map*/ \ No newline at end of file diff --git a/portal-ui/build/static/css/6995.8bbdd881.chunk.css.map b/portal-ui/build/static/css/6995.8bbdd881.chunk.css.map new file mode 100644 index 000000000..8ae3fa8df --- /dev/null +++ b/portal-ui/build/static/css/6995.8bbdd881.chunk.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/6995.8bbdd881.chunk.css","mappings":"AAAA,mCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,oCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,0GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,6GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,aAGE,2CAA4C,CAC5C,6BAA8B,CAH9B,mBAAoB,CACpB,cAGF,CACA,uCAEE,eACF,CACA,yBAIE,mBAAoB,CACpB,iBAAkB,CAJlB,QAAS,CACT,SAAU,CACV,mBAGF,CACA,8BACE,mBACF,CACA,8YAQE,8CACF,CACA,6GAEE,gEACF,CACA,6FAEE,UACF,CACA,ufAUE,iDACF,CAaA,o/BAUE,+CACF,CACA,yVAME,8CACF,CACA,uGAEE,6CACF,CACA,iTAME,oDACF,CACA,wMAIE,kDACF,CACA,6FAEE,iDACF,CACA,oNAIE,+CACF,CACA,gOAIE,6CACF","sources":["../node_modules/@uiw/react-textarea-code-editor/esm/style/index.css"],"sourcesContent":["@media (prefers-color-scheme: dark) {\n .w-tc-editor {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n }\n}\n@media (prefers-color-scheme: light) {\n .w-tc-editor {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n }\n}\n[data-color-mode*='dark'] .w-tc-editor,\n[data-color-mode*='dark'] .w-tc-editor-var,\nbody[data-color-mode*='dark'] {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n}\n[data-color-mode*='light'] .w-tc-editor,\n[data-color-mode*='light'] .w-tc-editor-var,\nbody[data-color-mode*='light'] {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #f6f8fa;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n}\n.w-tc-editor {\n font-family: inherit;\n font-size: 12px;\n background-color: var(--color-canvas-subtle);\n color: var(--color-fg-default);\n}\n.w-tc-editor-text,\n.w-tc-editor-preview {\n min-height: 16px;\n}\n.w-tc-editor-preview pre {\n margin: 0;\n padding: 0;\n white-space: inherit;\n font-family: inherit;\n font-size: inherit;\n}\n.w-tc-editor-preview pre code {\n font-family: inherit;\n}\n.w-tc-editor code[class*='language-'] .token.cdata,\n.w-tc-editor pre[class*='language-'] .token.cdata,\n.w-tc-editor code[class*='language-'] .token.comment,\n.w-tc-editor pre[class*='language-'] .token.comment,\n.w-tc-editor code[class*='language-'] .token.doctype,\n.w-tc-editor pre[class*='language-'] .token.doctype,\n.w-tc-editor code[class*='language-'] .token.prolog,\n.w-tc-editor pre[class*='language-'] .token.prolog {\n color: var(--color-prettylights-syntax-comment);\n}\n.w-tc-editor code[class*='language-'] .token.punctuation,\n.w-tc-editor pre[class*='language-'] .token.punctuation {\n color: var(--color-prettylights-syntax-sublimelinter-gutter-mark);\n}\n.w-tc-editor code[class*='language-'] .namespace,\n.w-tc-editor pre[class*='language-'] .namespace {\n opacity: 0.7;\n}\n.w-tc-editor code[class*='language-'] .token.boolean,\n.w-tc-editor pre[class*='language-'] .token.boolean,\n.w-tc-editor code[class*='language-'] .token.constant,\n.w-tc-editor pre[class*='language-'] .token.constant,\n.w-tc-editor code[class*='language-'] .token.deleted,\n.w-tc-editor pre[class*='language-'] .token.deleted,\n.w-tc-editor code[class*='language-'] .token.number,\n.w-tc-editor pre[class*='language-'] .token.number,\n.w-tc-editor code[class*='language-'] .token.symbol,\n.w-tc-editor pre[class*='language-'] .token.symbol {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.builtin,\n.w-tc-editor pre[class*='language-'] .token.builtin,\n.w-tc-editor code[class*='language-'] .token.char,\n.w-tc-editor pre[class*='language-'] .token.char,\n.w-tc-editor code[class*='language-'] .token.inserted,\n.w-tc-editor pre[class*='language-'] .token.inserted,\n.w-tc-editor code[class*='language-'] .token.selector,\n.w-tc-editor pre[class*='language-'] .token.selector,\n.w-tc-editor code[class*='language-'] .token.string,\n.w-tc-editor pre[class*='language-'] .token.string {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .style .token.string,\n.w-tc-editor pre[class*='language-'] .style .token.string,\n.w-tc-editor code[class*='language-'] .token.entity,\n.w-tc-editor pre[class*='language-'] .token.entity,\n.w-tc-editor code[class*='language-'] .token.property,\n.w-tc-editor pre[class*='language-'] .token.property,\n.w-tc-editor code[class*='language-'] .token.operator,\n.w-tc-editor pre[class*='language-'] .token.operator,\n.w-tc-editor code[class*='language-'] .token.url,\n.w-tc-editor pre[class*='language-'] .token.url {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.atrule,\n.w-tc-editor pre[class*='language-'] .token.atrule,\n.w-tc-editor code[class*='language-'] .token.property-access .token.method,\n.w-tc-editor pre[class*='language-'] .token.property-access .token.method,\n.w-tc-editor code[class*='language-'] .token.keyword,\n.w-tc-editor pre[class*='language-'] .token.keyword {\n color: var(--color-prettylights-syntax-keyword);\n}\n.w-tc-editor code[class*='language-'] .token.function,\n.w-tc-editor pre[class*='language-'] .token.function {\n color: var(--color-prettylights-syntax-string);\n}\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important,\n.w-tc-editor code[class*='language-'] .token.regex,\n.w-tc-editor pre[class*='language-'] .token.regex,\n.w-tc-editor code[class*='language-'] .token.variable,\n.w-tc-editor pre[class*='language-'] .token.variable {\n color: var(--color-prettylights-syntax-string-regexp);\n}\n.w-tc-editor code[class*='language-'] .token.bold,\n.w-tc-editor pre[class*='language-'] .token.bold,\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important {\n color: var(--color-prettylights-syntax-markup-bold);\n}\n.w-tc-editor code[class*='language-'] .token.tag,\n.w-tc-editor pre[class*='language-'] .token.tag {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.attr-value,\n.w-tc-editor pre[class*='language-'] .token.attr-value,\n.w-tc-editor code[class*='language-'] .token.attr-name,\n.w-tc-editor pre[class*='language-'] .token.attr-name {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.selector .class,\n.w-tc-editor pre[class*='language-'] .token.selector .class,\n.w-tc-editor code[class*='language-'] .token.class-name,\n.w-tc-editor pre[class*='language-'] .token.class-name {\n color: var(--color-prettylights-syntax-entity);\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/css/6995.e99c33cf.chunk.css b/portal-ui/build/static/css/6995.e99c33cf.chunk.css deleted file mode 100644 index 4dbfb7436..000000000 --- a/portal-ui/build/static/css/6995.e99c33cf.chunk.css +++ /dev/null @@ -1,2 +0,0 @@ -@media (prefers-color-scheme:dark){.w-tc-editor{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}}@media (prefers-color-scheme:light){.w-tc-editor{--color-fg-default:#24292f;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}}[data-color-mode*=dark] .w-tc-editor,[data-color-mode*=dark] .w-tc-editor-var,body[data-color-mode*=dark]{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}[data-color-mode*=light] .w-tc-editor,[data-color-mode*=light] .w-tc-editor-var,body[data-color-mode*=light]{--color-fg-default:#24292f;--color-canvas-subtle:#f6f8fa;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}.w-tc-editor{background-color:var(--color-canvas-subtle);color:var(--color-fg-default);font-family:inherit;font-size:12px}.w-tc-editor-preview,.w-tc-editor-text{min-height:16px}.w-tc-editor-preview pre{font-family:inherit;font-size:inherit;margin:0;padding:0;white-space:inherit}.w-tc-editor-preview pre code{font-family:inherit}.w-tc-editor code[class*=language-] .token.cdata,.w-tc-editor code[class*=language-] .token.comment,.w-tc-editor code[class*=language-] .token.doctype,.w-tc-editor code[class*=language-] .token.prolog,.w-tc-editor pre[class*=language-] .token.cdata,.w-tc-editor pre[class*=language-] .token.comment,.w-tc-editor pre[class*=language-] .token.doctype,.w-tc-editor pre[class*=language-] .token.prolog{color:var(--color-prettylights-syntax-comment)}.w-tc-editor code[class*=language-] .token.punctuation,.w-tc-editor pre[class*=language-] .token.punctuation{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.w-tc-editor code[class*=language-] .namespace,.w-tc-editor pre[class*=language-] .namespace{opacity:.7}.w-tc-editor code[class*=language-] .token.boolean,.w-tc-editor code[class*=language-] .token.constant,.w-tc-editor code[class*=language-] .token.deleted,.w-tc-editor code[class*=language-] .token.number,.w-tc-editor code[class*=language-] .token.symbol,.w-tc-editor pre[class*=language-] .token.boolean,.w-tc-editor pre[class*=language-] .token.constant,.w-tc-editor pre[class*=language-] .token.deleted,.w-tc-editor pre[class*=language-] .token.number,.w-tc-editor pre[class*=language-] .token.symbol{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .style .token.string,.w-tc-editor code[class*=language-] .token.builtin,.w-tc-editor code[class*=language-] .token.char,.w-tc-editor code[class*=language-] .token.entity,.w-tc-editor code[class*=language-] .token.inserted,.w-tc-editor code[class*=language-] .token.operator,.w-tc-editor code[class*=language-] .token.property,.w-tc-editor code[class*=language-] .token.selector,.w-tc-editor code[class*=language-] .token.string,.w-tc-editor code[class*=language-] .token.url,.w-tc-editor pre[class*=language-] .style .token.string,.w-tc-editor pre[class*=language-] .token.builtin,.w-tc-editor pre[class*=language-] .token.char,.w-tc-editor pre[class*=language-] .token.entity,.w-tc-editor pre[class*=language-] .token.inserted,.w-tc-editor pre[class*=language-] .token.operator,.w-tc-editor pre[class*=language-] .token.property,.w-tc-editor pre[class*=language-] .token.selector,.w-tc-editor pre[class*=language-] .token.string,.w-tc-editor pre[class*=language-] .token.url{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.atrule,.w-tc-editor code[class*=language-] .token.keyword,.w-tc-editor code[class*=language-] .token.property-access .token.method,.w-tc-editor pre[class*=language-] .token.atrule,.w-tc-editor pre[class*=language-] .token.keyword,.w-tc-editor pre[class*=language-] .token.property-access .token.method{color:var(--color-prettylights-syntax-keyword)}.w-tc-editor code[class*=language-] .token.function,.w-tc-editor pre[class*=language-] .token.function{color:var(--color-prettylights-syntax-string)}.w-tc-editor code[class*=language-] .token.important,.w-tc-editor code[class*=language-] .token.regex,.w-tc-editor code[class*=language-] .token.variable,.w-tc-editor pre[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.regex,.w-tc-editor pre[class*=language-] .token.variable{color:var(--color-prettylights-syntax-string-regexp)}.w-tc-editor code[class*=language-] .token.bold,.w-tc-editor code[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.bold,.w-tc-editor pre[class*=language-] .token.important{color:var(--color-prettylights-syntax-markup-bold)}.w-tc-editor code[class*=language-] .token.tag,.w-tc-editor pre[class*=language-] .token.tag{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .token.attr-name,.w-tc-editor code[class*=language-] .token.attr-value,.w-tc-editor pre[class*=language-] .token.attr-name,.w-tc-editor pre[class*=language-] .token.attr-value{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.class-name,.w-tc-editor code[class*=language-] .token.selector .class,.w-tc-editor pre[class*=language-] .token.class-name,.w-tc-editor pre[class*=language-] .token.selector .class{color:var(--color-prettylights-syntax-entity)} -/*# sourceMappingURL=6995.e99c33cf.chunk.css.map*/ \ No newline at end of file diff --git a/portal-ui/build/static/css/6995.e99c33cf.chunk.css.map b/portal-ui/build/static/css/6995.e99c33cf.chunk.css.map deleted file mode 100644 index 9d71a5e03..000000000 --- a/portal-ui/build/static/css/6995.e99c33cf.chunk.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/css/6995.e99c33cf.chunk.css","mappings":"AAAA,mCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,oCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,0GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,6GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,aAGE,2CAA4C,CAC5C,6BAA8B,CAH9B,mBAAoB,CACpB,cAGF,CACA,uCAEE,eACF,CACA,yBAIE,mBAAoB,CACpB,iBAAkB,CAJlB,QAAS,CACT,SAAU,CACV,mBAGF,CACA,8BACE,mBACF,CACA,8YAQE,8CACF,CACA,6GAEE,gEACF,CACA,6FAEE,UACF,CACA,ufAUE,iDACF,CAaA,o/BAUE,+CACF,CACA,yVAME,8CACF,CACA,uGAEE,6CACF,CACA,iTAME,oDACF,CACA,wMAIE,kDACF,CACA,6FAEE,iDACF,CACA,oNAIE,+CACF,CACA,gOAIE,6CACF","sources":["../node_modules/@uiw/react-textarea-code-editor/esm/style/index.css"],"sourcesContent":["@media (prefers-color-scheme: dark) {\n .w-tc-editor {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n }\n}\n@media (prefers-color-scheme: light) {\n .w-tc-editor {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n }\n}\n[data-color-mode*='dark'] .w-tc-editor,\n[data-color-mode*='dark'] .w-tc-editor-var,\nbody[data-color-mode*='dark'] {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n}\n[data-color-mode*='light'] .w-tc-editor,\n[data-color-mode*='light'] .w-tc-editor-var,\nbody[data-color-mode*='light'] {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #f6f8fa;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n}\n.w-tc-editor {\n font-family: inherit;\n font-size: 12px;\n background-color: var(--color-canvas-subtle);\n color: var(--color-fg-default);\n}\n.w-tc-editor-text,\n.w-tc-editor-preview {\n min-height: 16px;\n}\n.w-tc-editor-preview pre {\n margin: 0;\n padding: 0;\n white-space: inherit;\n font-family: inherit;\n font-size: inherit;\n}\n.w-tc-editor-preview pre code {\n font-family: inherit;\n}\n.w-tc-editor code[class*='language-'] .token.cdata,\n.w-tc-editor pre[class*='language-'] .token.cdata,\n.w-tc-editor code[class*='language-'] .token.comment,\n.w-tc-editor pre[class*='language-'] .token.comment,\n.w-tc-editor code[class*='language-'] .token.doctype,\n.w-tc-editor pre[class*='language-'] .token.doctype,\n.w-tc-editor code[class*='language-'] .token.prolog,\n.w-tc-editor pre[class*='language-'] .token.prolog {\n color: var(--color-prettylights-syntax-comment);\n}\n.w-tc-editor code[class*='language-'] .token.punctuation,\n.w-tc-editor pre[class*='language-'] .token.punctuation {\n color: var(--color-prettylights-syntax-sublimelinter-gutter-mark);\n}\n.w-tc-editor code[class*='language-'] .namespace,\n.w-tc-editor pre[class*='language-'] .namespace {\n opacity: 0.7;\n}\n.w-tc-editor code[class*='language-'] .token.boolean,\n.w-tc-editor pre[class*='language-'] .token.boolean,\n.w-tc-editor code[class*='language-'] .token.constant,\n.w-tc-editor pre[class*='language-'] .token.constant,\n.w-tc-editor code[class*='language-'] .token.deleted,\n.w-tc-editor pre[class*='language-'] .token.deleted,\n.w-tc-editor code[class*='language-'] .token.number,\n.w-tc-editor pre[class*='language-'] .token.number,\n.w-tc-editor code[class*='language-'] .token.symbol,\n.w-tc-editor pre[class*='language-'] .token.symbol {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.builtin,\n.w-tc-editor pre[class*='language-'] .token.builtin,\n.w-tc-editor code[class*='language-'] .token.char,\n.w-tc-editor pre[class*='language-'] .token.char,\n.w-tc-editor code[class*='language-'] .token.inserted,\n.w-tc-editor pre[class*='language-'] .token.inserted,\n.w-tc-editor code[class*='language-'] .token.selector,\n.w-tc-editor pre[class*='language-'] .token.selector,\n.w-tc-editor code[class*='language-'] .token.string,\n.w-tc-editor pre[class*='language-'] .token.string {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .style .token.string,\n.w-tc-editor pre[class*='language-'] .style .token.string,\n.w-tc-editor code[class*='language-'] .token.entity,\n.w-tc-editor pre[class*='language-'] .token.entity,\n.w-tc-editor code[class*='language-'] .token.property,\n.w-tc-editor pre[class*='language-'] .token.property,\n.w-tc-editor code[class*='language-'] .token.operator,\n.w-tc-editor pre[class*='language-'] .token.operator,\n.w-tc-editor code[class*='language-'] .token.url,\n.w-tc-editor pre[class*='language-'] .token.url {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.atrule,\n.w-tc-editor pre[class*='language-'] .token.atrule,\n.w-tc-editor code[class*='language-'] .token.property-access .token.method,\n.w-tc-editor pre[class*='language-'] .token.property-access .token.method,\n.w-tc-editor code[class*='language-'] .token.keyword,\n.w-tc-editor pre[class*='language-'] .token.keyword {\n color: var(--color-prettylights-syntax-keyword);\n}\n.w-tc-editor code[class*='language-'] .token.function,\n.w-tc-editor pre[class*='language-'] .token.function {\n color: var(--color-prettylights-syntax-string);\n}\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important,\n.w-tc-editor code[class*='language-'] .token.regex,\n.w-tc-editor pre[class*='language-'] .token.regex,\n.w-tc-editor code[class*='language-'] .token.variable,\n.w-tc-editor pre[class*='language-'] .token.variable {\n color: var(--color-prettylights-syntax-string-regexp);\n}\n.w-tc-editor code[class*='language-'] .token.bold,\n.w-tc-editor pre[class*='language-'] .token.bold,\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important {\n color: var(--color-prettylights-syntax-markup-bold);\n}\n.w-tc-editor code[class*='language-'] .token.tag,\n.w-tc-editor pre[class*='language-'] .token.tag {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.attr-value,\n.w-tc-editor pre[class*='language-'] .token.attr-value,\n.w-tc-editor code[class*='language-'] .token.attr-name,\n.w-tc-editor pre[class*='language-'] .token.attr-name {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.selector .class,\n.w-tc-editor pre[class*='language-'] .token.selector .class,\n.w-tc-editor code[class*='language-'] .token.class-name,\n.w-tc-editor pre[class*='language-'] .token.class-name {\n color: var(--color-prettylights-syntax-entity);\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/css/9682.8bbdd881.chunk.css b/portal-ui/build/static/css/9682.8bbdd881.chunk.css new file mode 100644 index 000000000..b39dab869 --- /dev/null +++ b/portal-ui/build/static/css/9682.8bbdd881.chunk.css @@ -0,0 +1,2 @@ +@media (prefers-color-scheme:dark){.w-tc-editor{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}}@media (prefers-color-scheme:light){.w-tc-editor{--color-fg-default:#24292f;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}}[data-color-mode*=dark] .w-tc-editor,[data-color-mode*=dark] .w-tc-editor-var,body[data-color-mode*=dark]{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}[data-color-mode*=light] .w-tc-editor,[data-color-mode*=light] .w-tc-editor-var,body[data-color-mode*=light]{--color-fg-default:#24292f;--color-canvas-subtle:#f6f8fa;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}.w-tc-editor{background-color:var(--color-canvas-subtle);color:var(--color-fg-default);font-family:inherit;font-size:12px}.w-tc-editor-preview,.w-tc-editor-text{min-height:16px}.w-tc-editor-preview pre{font-family:inherit;font-size:inherit;margin:0;padding:0;white-space:inherit}.w-tc-editor-preview pre code{font-family:inherit}.w-tc-editor code[class*=language-] .token.cdata,.w-tc-editor code[class*=language-] .token.comment,.w-tc-editor code[class*=language-] .token.doctype,.w-tc-editor code[class*=language-] .token.prolog,.w-tc-editor pre[class*=language-] .token.cdata,.w-tc-editor pre[class*=language-] .token.comment,.w-tc-editor pre[class*=language-] .token.doctype,.w-tc-editor pre[class*=language-] .token.prolog{color:var(--color-prettylights-syntax-comment)}.w-tc-editor code[class*=language-] .token.punctuation,.w-tc-editor pre[class*=language-] .token.punctuation{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.w-tc-editor code[class*=language-] .namespace,.w-tc-editor pre[class*=language-] .namespace{opacity:.7}.w-tc-editor code[class*=language-] .token.boolean,.w-tc-editor code[class*=language-] .token.constant,.w-tc-editor code[class*=language-] .token.deleted,.w-tc-editor code[class*=language-] .token.number,.w-tc-editor code[class*=language-] .token.symbol,.w-tc-editor pre[class*=language-] .token.boolean,.w-tc-editor pre[class*=language-] .token.constant,.w-tc-editor pre[class*=language-] .token.deleted,.w-tc-editor pre[class*=language-] .token.number,.w-tc-editor pre[class*=language-] .token.symbol{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .style .token.string,.w-tc-editor code[class*=language-] .token.builtin,.w-tc-editor code[class*=language-] .token.char,.w-tc-editor code[class*=language-] .token.entity,.w-tc-editor code[class*=language-] .token.inserted,.w-tc-editor code[class*=language-] .token.operator,.w-tc-editor code[class*=language-] .token.property,.w-tc-editor code[class*=language-] .token.selector,.w-tc-editor code[class*=language-] .token.string,.w-tc-editor code[class*=language-] .token.url,.w-tc-editor pre[class*=language-] .style .token.string,.w-tc-editor pre[class*=language-] .token.builtin,.w-tc-editor pre[class*=language-] .token.char,.w-tc-editor pre[class*=language-] .token.entity,.w-tc-editor pre[class*=language-] .token.inserted,.w-tc-editor pre[class*=language-] .token.operator,.w-tc-editor pre[class*=language-] .token.property,.w-tc-editor pre[class*=language-] .token.selector,.w-tc-editor pre[class*=language-] .token.string,.w-tc-editor pre[class*=language-] .token.url{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.atrule,.w-tc-editor code[class*=language-] .token.keyword,.w-tc-editor code[class*=language-] .token.property-access .token.method,.w-tc-editor pre[class*=language-] .token.atrule,.w-tc-editor pre[class*=language-] .token.keyword,.w-tc-editor pre[class*=language-] .token.property-access .token.method{color:var(--color-prettylights-syntax-keyword)}.w-tc-editor code[class*=language-] .token.function,.w-tc-editor pre[class*=language-] .token.function{color:var(--color-prettylights-syntax-string)}.w-tc-editor code[class*=language-] .token.important,.w-tc-editor code[class*=language-] .token.regex,.w-tc-editor code[class*=language-] .token.variable,.w-tc-editor pre[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.regex,.w-tc-editor pre[class*=language-] .token.variable{color:var(--color-prettylights-syntax-string-regexp)}.w-tc-editor code[class*=language-] .token.bold,.w-tc-editor code[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.bold,.w-tc-editor pre[class*=language-] .token.important{color:var(--color-prettylights-syntax-markup-bold)}.w-tc-editor code[class*=language-] .token.tag,.w-tc-editor pre[class*=language-] .token.tag{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .token.attr-name,.w-tc-editor code[class*=language-] .token.attr-value,.w-tc-editor pre[class*=language-] .token.attr-name,.w-tc-editor pre[class*=language-] .token.attr-value{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.class-name,.w-tc-editor code[class*=language-] .token.selector .class,.w-tc-editor pre[class*=language-] .token.class-name,.w-tc-editor pre[class*=language-] .token.selector .class{color:var(--color-prettylights-syntax-entity)} +/*# sourceMappingURL=9682.8bbdd881.chunk.css.map*/ \ No newline at end of file diff --git a/portal-ui/build/static/css/9682.8bbdd881.chunk.css.map b/portal-ui/build/static/css/9682.8bbdd881.chunk.css.map new file mode 100644 index 000000000..a8e5848ed --- /dev/null +++ b/portal-ui/build/static/css/9682.8bbdd881.chunk.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/9682.8bbdd881.chunk.css","mappings":"AAAA,mCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,oCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,0GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,6GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,aAGE,2CAA4C,CAC5C,6BAA8B,CAH9B,mBAAoB,CACpB,cAGF,CACA,uCAEE,eACF,CACA,yBAIE,mBAAoB,CACpB,iBAAkB,CAJlB,QAAS,CACT,SAAU,CACV,mBAGF,CACA,8BACE,mBACF,CACA,8YAQE,8CACF,CACA,6GAEE,gEACF,CACA,6FAEE,UACF,CACA,ufAUE,iDACF,CAaA,o/BAUE,+CACF,CACA,yVAME,8CACF,CACA,uGAEE,6CACF,CACA,iTAME,oDACF,CACA,wMAIE,kDACF,CACA,6FAEE,iDACF,CACA,oNAIE,+CACF,CACA,gOAIE,6CACF","sources":["../node_modules/@uiw/react-textarea-code-editor/esm/style/index.css"],"sourcesContent":["@media (prefers-color-scheme: dark) {\n .w-tc-editor {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n }\n}\n@media (prefers-color-scheme: light) {\n .w-tc-editor {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n }\n}\n[data-color-mode*='dark'] .w-tc-editor,\n[data-color-mode*='dark'] .w-tc-editor-var,\nbody[data-color-mode*='dark'] {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n}\n[data-color-mode*='light'] .w-tc-editor,\n[data-color-mode*='light'] .w-tc-editor-var,\nbody[data-color-mode*='light'] {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #f6f8fa;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n}\n.w-tc-editor {\n font-family: inherit;\n font-size: 12px;\n background-color: var(--color-canvas-subtle);\n color: var(--color-fg-default);\n}\n.w-tc-editor-text,\n.w-tc-editor-preview {\n min-height: 16px;\n}\n.w-tc-editor-preview pre {\n margin: 0;\n padding: 0;\n white-space: inherit;\n font-family: inherit;\n font-size: inherit;\n}\n.w-tc-editor-preview pre code {\n font-family: inherit;\n}\n.w-tc-editor code[class*='language-'] .token.cdata,\n.w-tc-editor pre[class*='language-'] .token.cdata,\n.w-tc-editor code[class*='language-'] .token.comment,\n.w-tc-editor pre[class*='language-'] .token.comment,\n.w-tc-editor code[class*='language-'] .token.doctype,\n.w-tc-editor pre[class*='language-'] .token.doctype,\n.w-tc-editor code[class*='language-'] .token.prolog,\n.w-tc-editor pre[class*='language-'] .token.prolog {\n color: var(--color-prettylights-syntax-comment);\n}\n.w-tc-editor code[class*='language-'] .token.punctuation,\n.w-tc-editor pre[class*='language-'] .token.punctuation {\n color: var(--color-prettylights-syntax-sublimelinter-gutter-mark);\n}\n.w-tc-editor code[class*='language-'] .namespace,\n.w-tc-editor pre[class*='language-'] .namespace {\n opacity: 0.7;\n}\n.w-tc-editor code[class*='language-'] .token.boolean,\n.w-tc-editor pre[class*='language-'] .token.boolean,\n.w-tc-editor code[class*='language-'] .token.constant,\n.w-tc-editor pre[class*='language-'] .token.constant,\n.w-tc-editor code[class*='language-'] .token.deleted,\n.w-tc-editor pre[class*='language-'] .token.deleted,\n.w-tc-editor code[class*='language-'] .token.number,\n.w-tc-editor pre[class*='language-'] .token.number,\n.w-tc-editor code[class*='language-'] .token.symbol,\n.w-tc-editor pre[class*='language-'] .token.symbol {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.builtin,\n.w-tc-editor pre[class*='language-'] .token.builtin,\n.w-tc-editor code[class*='language-'] .token.char,\n.w-tc-editor pre[class*='language-'] .token.char,\n.w-tc-editor code[class*='language-'] .token.inserted,\n.w-tc-editor pre[class*='language-'] .token.inserted,\n.w-tc-editor code[class*='language-'] .token.selector,\n.w-tc-editor pre[class*='language-'] .token.selector,\n.w-tc-editor code[class*='language-'] .token.string,\n.w-tc-editor pre[class*='language-'] .token.string {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .style .token.string,\n.w-tc-editor pre[class*='language-'] .style .token.string,\n.w-tc-editor code[class*='language-'] .token.entity,\n.w-tc-editor pre[class*='language-'] .token.entity,\n.w-tc-editor code[class*='language-'] .token.property,\n.w-tc-editor pre[class*='language-'] .token.property,\n.w-tc-editor code[class*='language-'] .token.operator,\n.w-tc-editor pre[class*='language-'] .token.operator,\n.w-tc-editor code[class*='language-'] .token.url,\n.w-tc-editor pre[class*='language-'] .token.url {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.atrule,\n.w-tc-editor pre[class*='language-'] .token.atrule,\n.w-tc-editor code[class*='language-'] .token.property-access .token.method,\n.w-tc-editor pre[class*='language-'] .token.property-access .token.method,\n.w-tc-editor code[class*='language-'] .token.keyword,\n.w-tc-editor pre[class*='language-'] .token.keyword {\n color: var(--color-prettylights-syntax-keyword);\n}\n.w-tc-editor code[class*='language-'] .token.function,\n.w-tc-editor pre[class*='language-'] .token.function {\n color: var(--color-prettylights-syntax-string);\n}\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important,\n.w-tc-editor code[class*='language-'] .token.regex,\n.w-tc-editor pre[class*='language-'] .token.regex,\n.w-tc-editor code[class*='language-'] .token.variable,\n.w-tc-editor pre[class*='language-'] .token.variable {\n color: var(--color-prettylights-syntax-string-regexp);\n}\n.w-tc-editor code[class*='language-'] .token.bold,\n.w-tc-editor pre[class*='language-'] .token.bold,\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important {\n color: var(--color-prettylights-syntax-markup-bold);\n}\n.w-tc-editor code[class*='language-'] .token.tag,\n.w-tc-editor pre[class*='language-'] .token.tag {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.attr-value,\n.w-tc-editor pre[class*='language-'] .token.attr-value,\n.w-tc-editor code[class*='language-'] .token.attr-name,\n.w-tc-editor pre[class*='language-'] .token.attr-name {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.selector .class,\n.w-tc-editor pre[class*='language-'] .token.selector .class,\n.w-tc-editor code[class*='language-'] .token.class-name,\n.w-tc-editor pre[class*='language-'] .token.class-name {\n color: var(--color-prettylights-syntax-entity);\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/css/9682.e99c33cf.chunk.css b/portal-ui/build/static/css/9682.e99c33cf.chunk.css deleted file mode 100644 index bbbe846ba..000000000 --- a/portal-ui/build/static/css/9682.e99c33cf.chunk.css +++ /dev/null @@ -1,2 +0,0 @@ -@media (prefers-color-scheme:dark){.w-tc-editor{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}}@media (prefers-color-scheme:light){.w-tc-editor{--color-fg-default:#24292f;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}}[data-color-mode*=dark] .w-tc-editor,[data-color-mode*=dark] .w-tc-editor-var,body[data-color-mode*=dark]{--color-fg-default:#c9d1d9;--color-canvas-subtle:#161b22;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-markup-bold:#c9d1d9}[data-color-mode*=light] .w-tc-editor,[data-color-mode*=light] .w-tc-editor-var,body[data-color-mode*=light]{--color-fg-default:#24292f;--color-canvas-subtle:#f6f8fa;--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-entity:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-markup-bold:#24292f}.w-tc-editor{background-color:var(--color-canvas-subtle);color:var(--color-fg-default);font-family:inherit;font-size:12px}.w-tc-editor-preview,.w-tc-editor-text{min-height:16px}.w-tc-editor-preview pre{font-family:inherit;font-size:inherit;margin:0;padding:0;white-space:inherit}.w-tc-editor-preview pre code{font-family:inherit}.w-tc-editor code[class*=language-] .token.cdata,.w-tc-editor code[class*=language-] .token.comment,.w-tc-editor code[class*=language-] .token.doctype,.w-tc-editor code[class*=language-] .token.prolog,.w-tc-editor pre[class*=language-] .token.cdata,.w-tc-editor pre[class*=language-] .token.comment,.w-tc-editor pre[class*=language-] .token.doctype,.w-tc-editor pre[class*=language-] .token.prolog{color:var(--color-prettylights-syntax-comment)}.w-tc-editor code[class*=language-] .token.punctuation,.w-tc-editor pre[class*=language-] .token.punctuation{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.w-tc-editor code[class*=language-] .namespace,.w-tc-editor pre[class*=language-] .namespace{opacity:.7}.w-tc-editor code[class*=language-] .token.boolean,.w-tc-editor code[class*=language-] .token.constant,.w-tc-editor code[class*=language-] .token.deleted,.w-tc-editor code[class*=language-] .token.number,.w-tc-editor code[class*=language-] .token.symbol,.w-tc-editor pre[class*=language-] .token.boolean,.w-tc-editor pre[class*=language-] .token.constant,.w-tc-editor pre[class*=language-] .token.deleted,.w-tc-editor pre[class*=language-] .token.number,.w-tc-editor pre[class*=language-] .token.symbol{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .style .token.string,.w-tc-editor code[class*=language-] .token.builtin,.w-tc-editor code[class*=language-] .token.char,.w-tc-editor code[class*=language-] .token.entity,.w-tc-editor code[class*=language-] .token.inserted,.w-tc-editor code[class*=language-] .token.operator,.w-tc-editor code[class*=language-] .token.property,.w-tc-editor code[class*=language-] .token.selector,.w-tc-editor code[class*=language-] .token.string,.w-tc-editor code[class*=language-] .token.url,.w-tc-editor pre[class*=language-] .style .token.string,.w-tc-editor pre[class*=language-] .token.builtin,.w-tc-editor pre[class*=language-] .token.char,.w-tc-editor pre[class*=language-] .token.entity,.w-tc-editor pre[class*=language-] .token.inserted,.w-tc-editor pre[class*=language-] .token.operator,.w-tc-editor pre[class*=language-] .token.property,.w-tc-editor pre[class*=language-] .token.selector,.w-tc-editor pre[class*=language-] .token.string,.w-tc-editor pre[class*=language-] .token.url{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.atrule,.w-tc-editor code[class*=language-] .token.keyword,.w-tc-editor code[class*=language-] .token.property-access .token.method,.w-tc-editor pre[class*=language-] .token.atrule,.w-tc-editor pre[class*=language-] .token.keyword,.w-tc-editor pre[class*=language-] .token.property-access .token.method{color:var(--color-prettylights-syntax-keyword)}.w-tc-editor code[class*=language-] .token.function,.w-tc-editor pre[class*=language-] .token.function{color:var(--color-prettylights-syntax-string)}.w-tc-editor code[class*=language-] .token.important,.w-tc-editor code[class*=language-] .token.regex,.w-tc-editor code[class*=language-] .token.variable,.w-tc-editor pre[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.regex,.w-tc-editor pre[class*=language-] .token.variable{color:var(--color-prettylights-syntax-string-regexp)}.w-tc-editor code[class*=language-] .token.bold,.w-tc-editor code[class*=language-] .token.important,.w-tc-editor pre[class*=language-] .token.bold,.w-tc-editor pre[class*=language-] .token.important{color:var(--color-prettylights-syntax-markup-bold)}.w-tc-editor code[class*=language-] .token.tag,.w-tc-editor pre[class*=language-] .token.tag{color:var(--color-prettylights-syntax-entity-tag)}.w-tc-editor code[class*=language-] .token.attr-name,.w-tc-editor code[class*=language-] .token.attr-value,.w-tc-editor pre[class*=language-] .token.attr-name,.w-tc-editor pre[class*=language-] .token.attr-value{color:var(--color-prettylights-syntax-constant)}.w-tc-editor code[class*=language-] .token.class-name,.w-tc-editor code[class*=language-] .token.selector .class,.w-tc-editor pre[class*=language-] .token.class-name,.w-tc-editor pre[class*=language-] .token.selector .class{color:var(--color-prettylights-syntax-entity)} -/*# sourceMappingURL=9682.e99c33cf.chunk.css.map*/ \ No newline at end of file diff --git a/portal-ui/build/static/css/9682.e99c33cf.chunk.css.map b/portal-ui/build/static/css/9682.e99c33cf.chunk.css.map deleted file mode 100644 index 6771055c4..000000000 --- a/portal-ui/build/static/css/9682.e99c33cf.chunk.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/css/9682.e99c33cf.chunk.css","mappings":"AAAA,mCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,oCACE,aACE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACF,CACA,0GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,6GAGE,0BAA2B,CAC3B,6BAA8B,CAC9B,2CAA4C,CAC5C,8CAA+C,CAC/C,0CAA2C,CAC3C,6DAA8D,CAC9D,4CAA6C,CAC7C,0CAA2C,CAC3C,2CAA4C,CAC5C,+CACF,CACA,aAGE,2CAA4C,CAC5C,6BAA8B,CAH9B,mBAAoB,CACpB,cAGF,CACA,uCAEE,eACF,CACA,yBAIE,mBAAoB,CACpB,iBAAkB,CAJlB,QAAS,CACT,SAAU,CACV,mBAGF,CACA,8BACE,mBACF,CACA,8YAQE,8CACF,CACA,6GAEE,gEACF,CACA,6FAEE,UACF,CACA,ufAUE,iDACF,CAaA,o/BAUE,+CACF,CACA,yVAME,8CACF,CACA,uGAEE,6CACF,CACA,iTAME,oDACF,CACA,wMAIE,kDACF,CACA,6FAEE,iDACF,CACA,oNAIE,+CACF,CACA,gOAIE,6CACF","sources":["../node_modules/@uiw/react-textarea-code-editor/esm/style/index.css"],"sourcesContent":["@media (prefers-color-scheme: dark) {\n .w-tc-editor {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n }\n}\n@media (prefers-color-scheme: light) {\n .w-tc-editor {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n }\n}\n[data-color-mode*='dark'] .w-tc-editor,\n[data-color-mode*='dark'] .w-tc-editor-var,\nbody[data-color-mode*='dark'] {\n --color-fg-default: #c9d1d9;\n --color-canvas-subtle: #161b22;\n --color-prettylights-syntax-comment: #8b949e;\n --color-prettylights-syntax-entity-tag: #7ee787;\n --color-prettylights-syntax-entity: #d2a8ff;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;\n --color-prettylights-syntax-constant: #79c0ff;\n --color-prettylights-syntax-string: #a5d6ff;\n --color-prettylights-syntax-keyword: #ff7b72;\n --color-prettylights-syntax-markup-bold: #c9d1d9;\n}\n[data-color-mode*='light'] .w-tc-editor,\n[data-color-mode*='light'] .w-tc-editor-var,\nbody[data-color-mode*='light'] {\n --color-fg-default: #24292f;\n --color-canvas-subtle: #f6f8fa;\n --color-prettylights-syntax-comment: #6e7781;\n --color-prettylights-syntax-entity-tag: #116329;\n --color-prettylights-syntax-entity: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-markup-bold: #24292f;\n}\n.w-tc-editor {\n font-family: inherit;\n font-size: 12px;\n background-color: var(--color-canvas-subtle);\n color: var(--color-fg-default);\n}\n.w-tc-editor-text,\n.w-tc-editor-preview {\n min-height: 16px;\n}\n.w-tc-editor-preview pre {\n margin: 0;\n padding: 0;\n white-space: inherit;\n font-family: inherit;\n font-size: inherit;\n}\n.w-tc-editor-preview pre code {\n font-family: inherit;\n}\n.w-tc-editor code[class*='language-'] .token.cdata,\n.w-tc-editor pre[class*='language-'] .token.cdata,\n.w-tc-editor code[class*='language-'] .token.comment,\n.w-tc-editor pre[class*='language-'] .token.comment,\n.w-tc-editor code[class*='language-'] .token.doctype,\n.w-tc-editor pre[class*='language-'] .token.doctype,\n.w-tc-editor code[class*='language-'] .token.prolog,\n.w-tc-editor pre[class*='language-'] .token.prolog {\n color: var(--color-prettylights-syntax-comment);\n}\n.w-tc-editor code[class*='language-'] .token.punctuation,\n.w-tc-editor pre[class*='language-'] .token.punctuation {\n color: var(--color-prettylights-syntax-sublimelinter-gutter-mark);\n}\n.w-tc-editor code[class*='language-'] .namespace,\n.w-tc-editor pre[class*='language-'] .namespace {\n opacity: 0.7;\n}\n.w-tc-editor code[class*='language-'] .token.boolean,\n.w-tc-editor pre[class*='language-'] .token.boolean,\n.w-tc-editor code[class*='language-'] .token.constant,\n.w-tc-editor pre[class*='language-'] .token.constant,\n.w-tc-editor code[class*='language-'] .token.deleted,\n.w-tc-editor pre[class*='language-'] .token.deleted,\n.w-tc-editor code[class*='language-'] .token.number,\n.w-tc-editor pre[class*='language-'] .token.number,\n.w-tc-editor code[class*='language-'] .token.symbol,\n.w-tc-editor pre[class*='language-'] .token.symbol {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.builtin,\n.w-tc-editor pre[class*='language-'] .token.builtin,\n.w-tc-editor code[class*='language-'] .token.char,\n.w-tc-editor pre[class*='language-'] .token.char,\n.w-tc-editor code[class*='language-'] .token.inserted,\n.w-tc-editor pre[class*='language-'] .token.inserted,\n.w-tc-editor code[class*='language-'] .token.selector,\n.w-tc-editor pre[class*='language-'] .token.selector,\n.w-tc-editor code[class*='language-'] .token.string,\n.w-tc-editor pre[class*='language-'] .token.string {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .style .token.string,\n.w-tc-editor pre[class*='language-'] .style .token.string,\n.w-tc-editor code[class*='language-'] .token.entity,\n.w-tc-editor pre[class*='language-'] .token.entity,\n.w-tc-editor code[class*='language-'] .token.property,\n.w-tc-editor pre[class*='language-'] .token.property,\n.w-tc-editor code[class*='language-'] .token.operator,\n.w-tc-editor pre[class*='language-'] .token.operator,\n.w-tc-editor code[class*='language-'] .token.url,\n.w-tc-editor pre[class*='language-'] .token.url {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.atrule,\n.w-tc-editor pre[class*='language-'] .token.atrule,\n.w-tc-editor code[class*='language-'] .token.property-access .token.method,\n.w-tc-editor pre[class*='language-'] .token.property-access .token.method,\n.w-tc-editor code[class*='language-'] .token.keyword,\n.w-tc-editor pre[class*='language-'] .token.keyword {\n color: var(--color-prettylights-syntax-keyword);\n}\n.w-tc-editor code[class*='language-'] .token.function,\n.w-tc-editor pre[class*='language-'] .token.function {\n color: var(--color-prettylights-syntax-string);\n}\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important,\n.w-tc-editor code[class*='language-'] .token.regex,\n.w-tc-editor pre[class*='language-'] .token.regex,\n.w-tc-editor code[class*='language-'] .token.variable,\n.w-tc-editor pre[class*='language-'] .token.variable {\n color: var(--color-prettylights-syntax-string-regexp);\n}\n.w-tc-editor code[class*='language-'] .token.bold,\n.w-tc-editor pre[class*='language-'] .token.bold,\n.w-tc-editor code[class*='language-'] .token.important,\n.w-tc-editor pre[class*='language-'] .token.important {\n color: var(--color-prettylights-syntax-markup-bold);\n}\n.w-tc-editor code[class*='language-'] .token.tag,\n.w-tc-editor pre[class*='language-'] .token.tag {\n color: var(--color-prettylights-syntax-entity-tag);\n}\n.w-tc-editor code[class*='language-'] .token.attr-value,\n.w-tc-editor pre[class*='language-'] .token.attr-value,\n.w-tc-editor code[class*='language-'] .token.attr-name,\n.w-tc-editor pre[class*='language-'] .token.attr-name {\n color: var(--color-prettylights-syntax-constant);\n}\n.w-tc-editor code[class*='language-'] .token.selector .class,\n.w-tc-editor pre[class*='language-'] .token.selector .class,\n.w-tc-editor code[class*='language-'] .token.class-name,\n.w-tc-editor pre[class*='language-'] .token.class-name {\n color: var(--color-prettylights-syntax-entity);\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/css/main.7c092a9d.css b/portal-ui/build/static/css/main.7c092a9d.css new file mode 100644 index 000000000..cff62e1ec --- /dev/null +++ b/portal-ui/build/static/css/main.7c092a9d.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:Lato,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}input.removeArrows::-webkit-inner-spin-button,input.removeArrows::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input.removeArrows[type=number]{-moz-appearance:textfield} +/*# sourceMappingURL=main.7c092a9d.css.map*/ \ No newline at end of file diff --git a/portal-ui/build/static/css/main.7c092a9d.css.map b/portal-ui/build/static/css/main.7c092a9d.css.map new file mode 100644 index 000000000..6d84ecdb8 --- /dev/null +++ b/portal-ui/build/static/css/main.7c092a9d.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/main.7c092a9d.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,2BAA+B,CAD/B,QAIF,CAEA,KACE,uEAEF,CAGA,4FAEE,uBAAwB,CACxB,QACF,CAGA,gCACE,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: \"Lato\", 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 -webkit-appearance: none;\n margin: 0;\n}\n\n/* Firefox */\ninput.removeArrows[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.b20a708b.css b/portal-ui/build/static/css/main.b20a708b.css deleted file mode 100644 index 2735f7ef8..000000000 --- a/portal-ui/build/static/css/main.b20a708b.css +++ /dev/null @@ -1,2 +0,0 @@ -.min-loader{height:40px;width:40px}#eB8dk2fHKWC2_tr{-webkit-animation:eB8dk2fHKWC2_tr__tr 3s linear infinite normal forwards;animation:eB8dk2fHKWC2_tr__tr 3s linear infinite normal forwards}@-webkit-keyframes eB8dk2fHKWC2_tr__tr{0%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-transform:translate(139.785027px,140.086989px) rotate(45.236493deg);transform:translate(139.785027px,140.086989px) rotate(45.236493deg)}10%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-transform:translate(139.785027px,140.086989px) rotate(-197.740907deg);transform:translate(139.785027px,140.086989px) rotate(-197.740907deg)}20%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-transform:translate(139.785027px,140.086989px) rotate(-108.6deg);transform:translate(139.785027px,140.086989px) rotate(-108.6deg)}30%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-transform:translate(139.785027px,140.086989px) rotate(-17.484014deg);transform:translate(139.785027px,140.086989px) rotate(-17.484014deg)}33.333333%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-transform:translate(139.785027px,140.086989px) rotate(-17.48deg);transform:translate(139.785027px,140.086989px) rotate(-17.48deg)}43.333333%{-webkit-transform:translate(139.785027px,140.086989px) rotate(160.887995deg);transform:translate(139.785027px,140.086989px) rotate(160.887995deg)}to{-webkit-transform:translate(139.785027px,140.086989px) rotate(160.887995deg);transform:translate(139.785027px,140.086989px) rotate(160.887995deg)}}@keyframes eB8dk2fHKWC2_tr__tr{0%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-transform:translate(139.785027px,140.086989px) rotate(45.236493deg);transform:translate(139.785027px,140.086989px) rotate(45.236493deg)}10%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-transform:translate(139.785027px,140.086989px) rotate(-197.740907deg);transform:translate(139.785027px,140.086989px) rotate(-197.740907deg)}20%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-transform:translate(139.785027px,140.086989px) rotate(-108.6deg);transform:translate(139.785027px,140.086989px) rotate(-108.6deg)}30%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-transform:translate(139.785027px,140.086989px) rotate(-17.484014deg);transform:translate(139.785027px,140.086989px) rotate(-17.484014deg)}33.333333%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-transform:translate(139.785027px,140.086989px) rotate(-17.48deg);transform:translate(139.785027px,140.086989px) rotate(-17.48deg)}43.333333%{-webkit-transform:translate(139.785027px,140.086989px) rotate(160.887995deg);transform:translate(139.785027px,140.086989px) rotate(160.887995deg)}to{-webkit-transform:translate(139.785027px,140.086989px) rotate(160.887995deg);transform:translate(139.785027px,140.086989px) rotate(160.887995deg)}}#eB8dk2fHKWC2_ts{-webkit-animation:eB8dk2fHKWC2_ts__ts 3s linear infinite normal forwards;animation:eB8dk2fHKWC2_ts__ts 3s linear infinite normal forwards}@-webkit-keyframes eB8dk2fHKWC2_ts__ts{0%{-webkit-transform:scaleY(.995019);transform:scaleY(.995019)}33.333333%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-transform:scaleY(.995019);transform:scaleY(.995019)}43.333333%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-transform:scale(.101121,.102033);transform:scale(.101121,.102033)}50%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-transform:scale(.1);transform:scale(.1)}60%{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes eB8dk2fHKWC2_ts__ts{0%{-webkit-transform:scaleY(.995019);transform:scaleY(.995019)}33.333333%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-transform:scaleY(.995019);transform:scaleY(.995019)}43.333333%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-transform:scale(.101121,.102033);transform:scale(.101121,.102033)}50%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-transform:scale(.1);transform:scale(.1)}60%{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(1);transform:scale(1)}}#eB8dk2fHKWC2{-webkit-animation:eB8dk2fHKWC2_c_o 3s linear infinite normal forwards;animation:eB8dk2fHKWC2_c_o 3s linear infinite normal forwards}@-webkit-keyframes eB8dk2fHKWC2_c_o{0%{opacity:1}6.666667%{opacity:1}10%{opacity:0}13.333333%{opacity:0}20%{opacity:1}30%{opacity:1}36.666667%{opacity:1}40%{opacity:0}to{opacity:0}}@keyframes eB8dk2fHKWC2_c_o{0%{opacity:1}6.666667%{opacity:1}10%{opacity:0}13.333333%{opacity:0}20%{opacity:1}30%{opacity:1}36.666667%{opacity:1}40%{opacity:0}to{opacity:0}}#eB8dk2fHKWC4{-webkit-animation:eB8dk2fHKWC4__m 3s linear infinite normal forwards;animation:eB8dk2fHKWC4__m 3s linear infinite normal forwards}@-webkit-keyframes eB8dk2fHKWC4__m{0%{d:path("M85.4,249.8C109.08,255.3,133.72,257.37,157.65,252.14C181.65,246.89,202.95,233.55,219.27,215.35C227.84,205.79,213.74,191.6,205.13,201.21C190.9,217.1,173.27,228.26,152.34,232.86C132.03,237.32,110.79,235.19,90.73,230.52C78.19,227.61,72.85,246.88,85.4,249.8C85.4,249.8,85.4,249.8,85.4,249.8Z")}10%{d:path("M85.4,249.8C85.4,249.8,85.399999,249.800001,85.399999,249.800001C85.399999,249.800001,85.4,249.800002,85.4,249.800002C85.4,249.800002,90.484102,251.966034,95.043213,248.269966C100.484052,243.859082,98.694728,236.722769,97.073675,234.469349C95.517658,232.306335,94.559418,231.751273,90.73,230.52C78.19,227.61,72.85,246.88,85.4,249.8C85.4,249.8,85.4,249.8,85.4,249.8Z")}20%{d:path("M85.4,249.8C85.4,249.8,85.399999,249.800001,85.399999,249.800001C85.399999,249.800001,85.4,249.800002,85.4,249.800002C85.4,249.800002,90.484102,251.966034,95.043213,248.269966C100.484052,243.859082,98.694728,236.722769,97.073675,234.469349C95.517658,232.306335,94.559418,231.751273,90.73,230.52C78.19,227.61,72.85,246.88,85.4,249.8C85.4,249.8,85.4,249.8,85.4,249.8Z")}30%{d:path("M85.4,249.8C109.08,255.3,133.72,257.37,157.65,252.14C181.65,246.89,202.95,233.55,219.27,215.35C227.84,205.79,213.74,191.6,205.13,201.21C190.9,217.1,173.27,228.26,152.34,232.86C132.03,237.32,110.79,235.19,90.73,230.52C78.19,227.61,72.85,246.88,85.4,249.8C85.4,249.8,85.4,249.8,85.4,249.8Z")}33.333333%{d:path("M85.4,249.8C109.08,255.3,133.72,257.37,157.65,252.14C181.65,246.89,202.95,233.55,219.27,215.35C227.84,205.79,213.74,191.6,205.13,201.21C190.9,217.1,173.27,228.26,152.34,232.86C132.03,237.32,110.79,235.19,90.73,230.52C78.19,227.61,72.85,246.88,85.4,249.8C85.4,249.8,85.4,249.8,85.4,249.8Z")}43.333333%{d:path("M84.281285,246.076032C107.50521,254.051555,133.72,257.37,157.65,252.14C181.65,246.89,202.95,233.55,219.27,215.35C227.84,205.79,213.74,191.6,205.13,201.21C190.9,217.1,173.27,228.26,152.34,232.86C132.03,237.32,86.465691,239.82846,53.85604,207.193233C41.31604,204.283233,32.439249,213.928672,40.474905,219.54755C40.474905,219.54755,61.310295,238.187372,84.281285,246.076032Z")}to{d:path("M84.281285,246.076032C107.50521,254.051555,133.72,257.37,157.65,252.14C181.65,246.89,202.95,233.55,219.27,215.35C227.84,205.79,213.74,191.6,205.13,201.21C190.9,217.1,173.27,228.26,152.34,232.86C132.03,237.32,86.465691,239.82846,53.85604,207.193233C41.31604,204.283233,32.439249,213.928672,40.474905,219.54755C40.474905,219.54755,61.310295,238.187372,84.281285,246.076032Z")}}@keyframes eB8dk2fHKWC4__m{0%{d:path("M85.4,249.8C109.08,255.3,133.72,257.37,157.65,252.14C181.65,246.89,202.95,233.55,219.27,215.35C227.84,205.79,213.74,191.6,205.13,201.21C190.9,217.1,173.27,228.26,152.34,232.86C132.03,237.32,110.79,235.19,90.73,230.52C78.19,227.61,72.85,246.88,85.4,249.8C85.4,249.8,85.4,249.8,85.4,249.8Z")}10%{d:path("M85.4,249.8C85.4,249.8,85.399999,249.800001,85.399999,249.800001C85.399999,249.800001,85.4,249.800002,85.4,249.800002C85.4,249.800002,90.484102,251.966034,95.043213,248.269966C100.484052,243.859082,98.694728,236.722769,97.073675,234.469349C95.517658,232.306335,94.559418,231.751273,90.73,230.52C78.19,227.61,72.85,246.88,85.4,249.8C85.4,249.8,85.4,249.8,85.4,249.8Z")}20%{d:path("M85.4,249.8C85.4,249.8,85.399999,249.800001,85.399999,249.800001C85.399999,249.800001,85.4,249.800002,85.4,249.800002C85.4,249.800002,90.484102,251.966034,95.043213,248.269966C100.484052,243.859082,98.694728,236.722769,97.073675,234.469349C95.517658,232.306335,94.559418,231.751273,90.73,230.52C78.19,227.61,72.85,246.88,85.4,249.8C85.4,249.8,85.4,249.8,85.4,249.8Z")}30%{d:path("M85.4,249.8C109.08,255.3,133.72,257.37,157.65,252.14C181.65,246.89,202.95,233.55,219.27,215.35C227.84,205.79,213.74,191.6,205.13,201.21C190.9,217.1,173.27,228.26,152.34,232.86C132.03,237.32,110.79,235.19,90.73,230.52C78.19,227.61,72.85,246.88,85.4,249.8C85.4,249.8,85.4,249.8,85.4,249.8Z")}33.333333%{d:path("M85.4,249.8C109.08,255.3,133.72,257.37,157.65,252.14C181.65,246.89,202.95,233.55,219.27,215.35C227.84,205.79,213.74,191.6,205.13,201.21C190.9,217.1,173.27,228.26,152.34,232.86C132.03,237.32,110.79,235.19,90.73,230.52C78.19,227.61,72.85,246.88,85.4,249.8C85.4,249.8,85.4,249.8,85.4,249.8Z")}43.333333%{d:path("M84.281285,246.076032C107.50521,254.051555,133.72,257.37,157.65,252.14C181.65,246.89,202.95,233.55,219.27,215.35C227.84,205.79,213.74,191.6,205.13,201.21C190.9,217.1,173.27,228.26,152.34,232.86C132.03,237.32,86.465691,239.82846,53.85604,207.193233C41.31604,204.283233,32.439249,213.928672,40.474905,219.54755C40.474905,219.54755,61.310295,238.187372,84.281285,246.076032Z")}to{d:path("M84.281285,246.076032C107.50521,254.051555,133.72,257.37,157.65,252.14C181.65,246.89,202.95,233.55,219.27,215.35C227.84,205.79,213.74,191.6,205.13,201.21C190.9,217.1,173.27,228.26,152.34,232.86C132.03,237.32,86.465691,239.82846,53.85604,207.193233C41.31604,204.283233,32.439249,213.928672,40.474905,219.54755C40.474905,219.54755,61.310295,238.187372,84.281285,246.076032Z")}}#eB8dk2fHKWC6{-webkit-animation:eB8dk2fHKWC6__m 3s linear infinite normal forwards;animation:eB8dk2fHKWC6__m 3s linear infinite normal forwards}@-webkit-keyframes eB8dk2fHKWC6__m{0%{d:path("M249.74,169.63C255.24,145.95,257.31,121.31,252.08,97.38C246.83,73.38,233.49,52.08,215.29,35.76C205.73,27.19,191.54,41.29,201.15,49.9C217.04,64.13,228.2,81.76,232.8,102.69C237.26,123,235.13,144.24,230.46,164.3C227.54,176.84,246.82,182.18,249.74,169.63C249.74,169.63,249.74,169.63,249.74,169.63Z")}10%{d:path("M250.887564,168.08137C250.887564,168.081368,250.887563,168.081375,250.887563,168.081375C250.887563,168.081375,253.7831,157.676613,244.778825,154.781475C235.762034,151.882313,232.694053,158.881918,231.752888,162.486547C231.017121,165.304508,231.564293,168.517464,232.231509,169.666243C233.407087,171.690293,235.517449,173.828597,238.467701,174.606956C241.339242,175.364549,245.542656,175.427978,248.770823,172.704057C248.770823,172.704057,250.400569,171.202441,250.887564,168.08137Z")}20%{d:path("M250.887564,168.08137C250.887564,168.081368,250.887563,168.081375,250.887563,168.081375C250.887563,168.081375,253.7831,157.676613,244.778825,154.781475C235.762034,151.882313,232.694053,158.881918,231.752888,162.486547C231.017121,165.304508,231.564293,168.517464,232.231509,169.666243C233.407087,171.690293,235.517449,173.828597,238.467701,174.606956C241.339242,175.364549,245.542656,175.427978,248.770823,172.704057C248.770823,172.704057,250.400569,171.202441,250.887564,168.08137Z")}30%{d:path("M249.74,169.63C255.24,145.95,257.31,121.31,252.08,97.38C246.83,73.38,233.49,52.08,215.29,35.76C205.73,27.19,191.54,41.29,201.15,49.9C217.04,64.13,228.2,81.76,232.8,102.69C237.26,123,235.13,144.24,230.46,164.3C227.54,176.84,246.82,182.18,249.74,169.63C249.74,169.63,249.74,169.63,249.74,169.63Z")}33.333333%{d:path("M249.74,169.63C255.24,145.95,257.31,121.31,252.08,97.38C246.83,73.38,233.49,52.08,215.29,35.76C205.73,27.19,191.54,41.29,201.15,49.9C217.04,64.13,228.2,81.76,232.8,102.69C237.26,123,235.13,144.24,230.46,164.3C227.54,176.84,246.82,182.18,249.74,169.63C249.74,169.63,249.74,169.63,249.74,169.63Z")}43.333333%{d:path("M241.985702,180.287452C255.201364,145.393106,257.31,121.31,252.08,97.38C246.83,73.38,233.49,52.08,215.29,35.76C205.73,27.19,189.760952,38.146938,199.370952,46.756938C229.706596,66.855753,234.126292,101.544407,234.194759,127.574104C235.798839,155.047874,216.192342,185.901625,205.13,201.21C199.980012,208.336696,214.039151,220.128533,219.270001,215.35C219.270001,215.35,237.299554,192.660656,241.985702,180.287452Z")}to{d:path("M241.985702,180.287452C255.201364,145.393106,257.31,121.31,252.08,97.38C246.83,73.38,233.49,52.08,215.29,35.76C205.73,27.19,189.760952,38.146938,199.370952,46.756938C229.706596,66.855753,234.126292,101.544407,234.194759,127.574104C235.798839,155.047874,216.192342,185.901625,205.13,201.21C199.980012,208.336696,214.039151,220.128533,219.270001,215.35C219.270001,215.35,237.299554,192.660656,241.985702,180.287452Z")}}@keyframes eB8dk2fHKWC6__m{0%{d:path("M249.74,169.63C255.24,145.95,257.31,121.31,252.08,97.38C246.83,73.38,233.49,52.08,215.29,35.76C205.73,27.19,191.54,41.29,201.15,49.9C217.04,64.13,228.2,81.76,232.8,102.69C237.26,123,235.13,144.24,230.46,164.3C227.54,176.84,246.82,182.18,249.74,169.63C249.74,169.63,249.74,169.63,249.74,169.63Z")}10%{d:path("M250.887564,168.08137C250.887564,168.081368,250.887563,168.081375,250.887563,168.081375C250.887563,168.081375,253.7831,157.676613,244.778825,154.781475C235.762034,151.882313,232.694053,158.881918,231.752888,162.486547C231.017121,165.304508,231.564293,168.517464,232.231509,169.666243C233.407087,171.690293,235.517449,173.828597,238.467701,174.606956C241.339242,175.364549,245.542656,175.427978,248.770823,172.704057C248.770823,172.704057,250.400569,171.202441,250.887564,168.08137Z")}20%{d:path("M250.887564,168.08137C250.887564,168.081368,250.887563,168.081375,250.887563,168.081375C250.887563,168.081375,253.7831,157.676613,244.778825,154.781475C235.762034,151.882313,232.694053,158.881918,231.752888,162.486547C231.017121,165.304508,231.564293,168.517464,232.231509,169.666243C233.407087,171.690293,235.517449,173.828597,238.467701,174.606956C241.339242,175.364549,245.542656,175.427978,248.770823,172.704057C248.770823,172.704057,250.400569,171.202441,250.887564,168.08137Z")}30%{d:path("M249.74,169.63C255.24,145.95,257.31,121.31,252.08,97.38C246.83,73.38,233.49,52.08,215.29,35.76C205.73,27.19,191.54,41.29,201.15,49.9C217.04,64.13,228.2,81.76,232.8,102.69C237.26,123,235.13,144.24,230.46,164.3C227.54,176.84,246.82,182.18,249.74,169.63C249.74,169.63,249.74,169.63,249.74,169.63Z")}33.333333%{d:path("M249.74,169.63C255.24,145.95,257.31,121.31,252.08,97.38C246.83,73.38,233.49,52.08,215.29,35.76C205.73,27.19,191.54,41.29,201.15,49.9C217.04,64.13,228.2,81.76,232.8,102.69C237.26,123,235.13,144.24,230.46,164.3C227.54,176.84,246.82,182.18,249.74,169.63C249.74,169.63,249.74,169.63,249.74,169.63Z")}43.333333%{d:path("M241.985702,180.287452C255.201364,145.393106,257.31,121.31,252.08,97.38C246.83,73.38,233.49,52.08,215.29,35.76C205.73,27.19,189.760952,38.146938,199.370952,46.756938C229.706596,66.855753,234.126292,101.544407,234.194759,127.574104C235.798839,155.047874,216.192342,185.901625,205.13,201.21C199.980012,208.336696,214.039151,220.128533,219.270001,215.35C219.270001,215.35,237.299554,192.660656,241.985702,180.287452Z")}to{d:path("M241.985702,180.287452C255.201364,145.393106,257.31,121.31,252.08,97.38C246.83,73.38,233.49,52.08,215.29,35.76C205.73,27.19,189.760952,38.146938,199.370952,46.756938C229.706596,66.855753,234.126292,101.544407,234.194759,127.574104C235.798839,155.047874,216.192342,185.901625,205.13,201.21C199.980012,208.336696,214.039151,220.128533,219.270001,215.35C219.270001,215.35,237.299554,192.660656,241.985702,180.287452Z")}}#eB8dk2fHKWC8{-webkit-animation:eB8dk2fHKWC8__m 3s linear infinite normal forwards;animation:eB8dk2fHKWC8__m 3s linear infinite normal forwards}@-webkit-keyframes eB8dk2fHKWC8__m{0%{d:path("M171.68,7.71C148.17,1.51,123.61,-1.28,99.53,3.25C75.39,7.79,53.7,20.49,36.85,38.21C28.01,47.52,41.68,62.11,50.57,52.76C65.27,37.3,83.22,26.66,104.27,22.68C124.7,18.82,145.87,21.58,165.79,26.83C178.22,30.11,184.14,11,171.68,7.71C171.68,7.71,171.68,7.71,171.68,7.71Z")}10%{d:path("M171.58686,7.8192C164.834536,7.661923,162.882928,13.414575,162.613915,14.669774C162.613914,14.669774,161.858025,17.37084,162.366976,18.743708C162.782522,19.864622,163.527502,21.022768,164.723558,21.957074C165.842173,22.830886,168.859974,24.254302,168.859974,24.254302C168.859974,24.254302,168.859968,24.254306,168.859967,24.254304C181.289967,27.534304,184.046866,11.109212,171.586866,7.819212C171.586866,7.819212,171.58686,7.8192,171.58686,7.8192Z")}20%{d:path("M171.58686,7.8192C164.834536,7.661923,162.882928,13.414575,162.613915,14.669774C162.613914,14.669774,161.858025,17.37084,162.366976,18.743708C162.782522,19.864622,163.527502,21.022768,164.723558,21.957074C165.842173,22.830886,168.859974,24.254302,168.859974,24.254302C168.859974,24.254302,168.859968,24.254306,168.859967,24.254304C181.289967,27.534304,184.046866,11.109212,171.586866,7.819212C171.586866,7.819212,171.58686,7.8192,171.58686,7.8192Z")}30%{d:path("M171.68,7.71C148.17,1.51,123.61,-1.28,99.53,3.25C75.39,7.79,53.7,20.49,36.85,38.21C28.01,47.52,41.68,62.11,50.57,52.76C65.27,37.3,83.22,26.66,104.27,22.68C124.7,18.82,145.87,21.58,165.79,26.83C178.22,30.11,184.14,11,171.68,7.71C171.68,7.71,171.68,7.71,171.68,7.71Z")}33.333333%{d:path("M171.68,7.71C148.17,1.51,123.61,-1.28,99.53,3.25C75.39,7.79,53.7,20.49,36.85,38.21C28.01,47.52,41.68,62.11,50.57,52.76C65.27,37.3,83.22,26.66,104.27,22.68C124.7,18.82,145.87,21.58,165.79,26.83C178.22,30.11,184.14,11,171.68,7.71C171.68,7.71,171.68,7.71,171.68,7.71Z")}43.333333%{d:path("M154.601291,1.547478C127.732134,-3.659063,101.676041,0.16217,89.834975,4.047622C73.018778,9.565582,43.015709,29.967817,36.85,38.21C28.01,47.52,41.568561,62.002759,50.57,52.76C67.005248,35.884138,77.788003,22.937369,100.935291,18.024709C148.028227,8.029949,175.904245,24.591662,199.370952,46.756938C210.775532,51.88401,219.463487,39.878796,215.289997,35.759998C189.664787,10.470596,154.601291,1.547478,154.601291,1.547478Z")}to{d:path("M154.601291,1.547478C127.732134,-3.659063,101.676041,0.16217,89.834975,4.047622C73.018778,9.565582,43.015709,29.967817,36.85,38.21C28.01,47.52,41.568561,62.002759,50.57,52.76C67.005248,35.884138,77.788003,22.937369,100.935291,18.024709C148.028227,8.029949,175.904245,24.591662,199.370952,46.756938C210.775532,51.88401,219.463487,39.878796,215.289997,35.759998C189.664787,10.470596,154.601291,1.547478,154.601291,1.547478Z")}}@keyframes eB8dk2fHKWC8__m{0%{d:path("M171.68,7.71C148.17,1.51,123.61,-1.28,99.53,3.25C75.39,7.79,53.7,20.49,36.85,38.21C28.01,47.52,41.68,62.11,50.57,52.76C65.27,37.3,83.22,26.66,104.27,22.68C124.7,18.82,145.87,21.58,165.79,26.83C178.22,30.11,184.14,11,171.68,7.71C171.68,7.71,171.68,7.71,171.68,7.71Z")}10%{d:path("M171.58686,7.8192C164.834536,7.661923,162.882928,13.414575,162.613915,14.669774C162.613914,14.669774,161.858025,17.37084,162.366976,18.743708C162.782522,19.864622,163.527502,21.022768,164.723558,21.957074C165.842173,22.830886,168.859974,24.254302,168.859974,24.254302C168.859974,24.254302,168.859968,24.254306,168.859967,24.254304C181.289967,27.534304,184.046866,11.109212,171.586866,7.819212C171.586866,7.819212,171.58686,7.8192,171.58686,7.8192Z")}20%{d:path("M171.58686,7.8192C164.834536,7.661923,162.882928,13.414575,162.613915,14.669774C162.613914,14.669774,161.858025,17.37084,162.366976,18.743708C162.782522,19.864622,163.527502,21.022768,164.723558,21.957074C165.842173,22.830886,168.859974,24.254302,168.859974,24.254302C168.859974,24.254302,168.859968,24.254306,168.859967,24.254304C181.289967,27.534304,184.046866,11.109212,171.586866,7.819212C171.586866,7.819212,171.58686,7.8192,171.58686,7.8192Z")}30%{d:path("M171.68,7.71C148.17,1.51,123.61,-1.28,99.53,3.25C75.39,7.79,53.7,20.49,36.85,38.21C28.01,47.52,41.68,62.11,50.57,52.76C65.27,37.3,83.22,26.66,104.27,22.68C124.7,18.82,145.87,21.58,165.79,26.83C178.22,30.11,184.14,11,171.68,7.71C171.68,7.71,171.68,7.71,171.68,7.71Z")}33.333333%{d:path("M171.68,7.71C148.17,1.51,123.61,-1.28,99.53,3.25C75.39,7.79,53.7,20.49,36.85,38.21C28.01,47.52,41.68,62.11,50.57,52.76C65.27,37.3,83.22,26.66,104.27,22.68C124.7,18.82,145.87,21.58,165.79,26.83C178.22,30.11,184.14,11,171.68,7.71C171.68,7.71,171.68,7.71,171.68,7.71Z")}43.333333%{d:path("M154.601291,1.547478C127.732134,-3.659063,101.676041,0.16217,89.834975,4.047622C73.018778,9.565582,43.015709,29.967817,36.85,38.21C28.01,47.52,41.568561,62.002759,50.57,52.76C67.005248,35.884138,77.788003,22.937369,100.935291,18.024709C148.028227,8.029949,175.904245,24.591662,199.370952,46.756938C210.775532,51.88401,219.463487,39.878796,215.289997,35.759998C189.664787,10.470596,154.601291,1.547478,154.601291,1.547478Z")}to{d:path("M154.601291,1.547478C127.732134,-3.659063,101.676041,0.16217,89.834975,4.047622C73.018778,9.565582,43.015709,29.967817,36.85,38.21C28.01,47.52,41.568561,62.002759,50.57,52.76C67.005248,35.884138,77.788003,22.937369,100.935291,18.024709C148.028227,8.029949,175.904245,24.591662,199.370952,46.756938C210.775532,51.88401,219.463487,39.878796,215.289997,35.759998C189.664787,10.470596,154.601291,1.547478,154.601291,1.547478Z")}}#eB8dk2fHKWC10{-webkit-animation:eB8dk2fHKWC10__m 3s linear infinite normal forwards;animation:eB8dk2fHKWC10__m 3s linear infinite normal forwards}@-webkit-keyframes eB8dk2fHKWC10__m{0%{d:path("M5.83,85.46C0.33,109.14,-1.74,133.78,3.49,157.71C8.74,181.71,22.08,203.01,40.28,219.33C49.84,227.9,64.03,213.8,54.42,205.19C38.53,190.96,27.37,173.33,22.77,152.4C18.31,132.09,20.44,110.85,25.11,90.79C28.03,78.25,8.75,72.91,5.83,85.46L5.83,85.46Z")}3.333333%{d:path("M4.90273,88.748028C1.236063,104.534694,0.694614,122.375568,4.181281,138.328902C7.119767,155.82704,18.329955,178.442148,31.722495,188.944182C39.448991,194.869945,48.960631,181.919808,35.808325,167.974185C27.053341,155.46954,26.778713,144.786038,23.180834,130.168643C19.139468,114.899686,18.114526,100.786543,20.952073,87.411869C21.572437,79.045425,6.897064,77.595457,4.916661,86.915441L4.90273,88.748028Z")}10%{d:path("M3.04819,95.324083C3.04819,95.324083,5.563842,99.566705,5.563842,99.566705C5.563842,99.566705,11.253926,104.287825,15.031546,103.153927C19.091035,103.791214,24.274539,98.764542,25.851733,95.404259C27.275674,92.370488,25.596139,87.698114,24.002501,85.705929C20.798403,80.519057,13.463578,80.659628,12.636219,80.655608C8.65731,80.636275,3.191193,86.96637,3.089982,89.826322L3.04819,95.324083Z")}20%{d:path("M3.04819,95.324083C3.04819,95.324083,5.563842,99.566705,5.563842,99.566705C5.563842,99.566705,11.253926,104.287825,15.031546,103.153927C19.091035,103.791214,24.274539,98.764542,25.851733,95.404259C27.275674,92.370488,25.596139,87.698114,24.002501,85.705929C20.798403,80.519057,13.463578,80.659628,12.636219,80.655608C8.65731,80.636275,3.191193,86.96637,3.089982,89.826322L3.04819,95.324083Z")}30%{d:path("M5.83,85.46C0.33,109.14,-1.74,133.78,3.49,157.71C8.74,181.71,22.08,203.01,40.28,219.33C49.84,227.9,64.03,213.8,54.42,205.19C38.53,190.96,27.37,173.33,22.77,152.4C18.31,132.09,20.44,110.85,25.11,90.79C28.03,78.25,8.75,72.91,5.83,85.46L5.83,85.46Z")}33.333333%{d:path("M5.83,85.46C0.33,109.14,-1.74,133.78,3.49,157.71C8.74,181.71,22.08,203.01,40.28,219.33C49.84,227.9,64.03,213.8,54.42,205.19C38.53,190.96,27.37,173.33,22.77,152.4C18.31,132.09,20.44,110.85,25.11,90.79C28.03,78.25,8.75,72.91,5.83,85.46L5.83,85.46Z")}43.333333%{d:path("M36.436007,38.11681C-7.498754,85.801617,-0.826469,134.911183,5.658972,158.164678C15.873566,192.855226,35.43893,215.965329,40.28,219.33C49.84,227.9,63.271136,215.585685,53.661136,206.975685C38.384036,191.128398,25.999041,166.121323,22.77,152.4C12.429986,121.009925,27.020185,73.061168,50.245766,52.61587C65.058304,39.576508,51.054205,23.186387,36.436019,38.116819L36.436007,38.11681Z")}to{d:path("M36.436007,38.11681C-7.498754,85.801617,-0.826469,134.911183,5.658972,158.164678C15.873566,192.855226,35.43893,215.965329,40.28,219.33C49.84,227.9,63.271136,215.585685,53.661136,206.975685C38.384036,191.128398,25.999041,166.121323,22.77,152.4C12.429986,121.009925,27.020185,73.061168,50.245766,52.61587C65.058304,39.576508,51.054205,23.186387,36.436019,38.116819L36.436007,38.11681Z")}}@keyframes eB8dk2fHKWC10__m{0%{d:path("M5.83,85.46C0.33,109.14,-1.74,133.78,3.49,157.71C8.74,181.71,22.08,203.01,40.28,219.33C49.84,227.9,64.03,213.8,54.42,205.19C38.53,190.96,27.37,173.33,22.77,152.4C18.31,132.09,20.44,110.85,25.11,90.79C28.03,78.25,8.75,72.91,5.83,85.46L5.83,85.46Z")}3.333333%{d:path("M4.90273,88.748028C1.236063,104.534694,0.694614,122.375568,4.181281,138.328902C7.119767,155.82704,18.329955,178.442148,31.722495,188.944182C39.448991,194.869945,48.960631,181.919808,35.808325,167.974185C27.053341,155.46954,26.778713,144.786038,23.180834,130.168643C19.139468,114.899686,18.114526,100.786543,20.952073,87.411869C21.572437,79.045425,6.897064,77.595457,4.916661,86.915441L4.90273,88.748028Z")}10%{d:path("M3.04819,95.324083C3.04819,95.324083,5.563842,99.566705,5.563842,99.566705C5.563842,99.566705,11.253926,104.287825,15.031546,103.153927C19.091035,103.791214,24.274539,98.764542,25.851733,95.404259C27.275674,92.370488,25.596139,87.698114,24.002501,85.705929C20.798403,80.519057,13.463578,80.659628,12.636219,80.655608C8.65731,80.636275,3.191193,86.96637,3.089982,89.826322L3.04819,95.324083Z")}20%{d:path("M3.04819,95.324083C3.04819,95.324083,5.563842,99.566705,5.563842,99.566705C5.563842,99.566705,11.253926,104.287825,15.031546,103.153927C19.091035,103.791214,24.274539,98.764542,25.851733,95.404259C27.275674,92.370488,25.596139,87.698114,24.002501,85.705929C20.798403,80.519057,13.463578,80.659628,12.636219,80.655608C8.65731,80.636275,3.191193,86.96637,3.089982,89.826322L3.04819,95.324083Z")}30%{d:path("M5.83,85.46C0.33,109.14,-1.74,133.78,3.49,157.71C8.74,181.71,22.08,203.01,40.28,219.33C49.84,227.9,64.03,213.8,54.42,205.19C38.53,190.96,27.37,173.33,22.77,152.4C18.31,132.09,20.44,110.85,25.11,90.79C28.03,78.25,8.75,72.91,5.83,85.46L5.83,85.46Z")}33.333333%{d:path("M5.83,85.46C0.33,109.14,-1.74,133.78,3.49,157.71C8.74,181.71,22.08,203.01,40.28,219.33C49.84,227.9,64.03,213.8,54.42,205.19C38.53,190.96,27.37,173.33,22.77,152.4C18.31,132.09,20.44,110.85,25.11,90.79C28.03,78.25,8.75,72.91,5.83,85.46L5.83,85.46Z")}43.333333%{d:path("M36.436007,38.11681C-7.498754,85.801617,-0.826469,134.911183,5.658972,158.164678C15.873566,192.855226,35.43893,215.965329,40.28,219.33C49.84,227.9,63.271136,215.585685,53.661136,206.975685C38.384036,191.128398,25.999041,166.121323,22.77,152.4C12.429986,121.009925,27.020185,73.061168,50.245766,52.61587C65.058304,39.576508,51.054205,23.186387,36.436019,38.116819L36.436007,38.11681Z")}to{d:path("M36.436007,38.11681C-7.498754,85.801617,-0.826469,134.911183,5.658972,158.164678C15.873566,192.855226,35.43893,215.965329,40.28,219.33C49.84,227.9,63.271136,215.585685,53.661136,206.975685C38.384036,191.128398,25.999041,166.121323,22.77,152.4C12.429986,121.009925,27.020185,73.061168,50.245766,52.61587C65.058304,39.576508,51.054205,23.186387,36.436019,38.116819L36.436007,38.11681Z")}}#eB8dk2fHKWC11_ts{-webkit-animation:eB8dk2fHKWC11_ts__ts 3s linear infinite normal forwards;animation:eB8dk2fHKWC11_ts__ts 3s linear infinite normal forwards}@-webkit-keyframes eB8dk2fHKWC11_ts__ts{0%{-webkit-transform:translate(139.784999px,140.086986px) scale(1);transform:translate(139.784999px,140.086986px) scale(1)}30%{-webkit-transform:translate(139.784999px,140.086986px) scale(1);transform:translate(139.784999px,140.086986px) scale(1)}43.333333%{-webkit-transform:translate(139.784999px,140.086986px) scale(.102813);transform:translate(139.784999px,140.086986px) scale(.102813)}50%{-webkit-transform:translate(139.784999px,140.086986px) scale(.102813);transform:translate(139.784999px,140.086986px) scale(.102813)}60%{-webkit-transform:translate(139.784999px,140.086986px) scale(1.001075);transform:translate(139.784999px,140.086986px) scale(1.001075)}to{-webkit-transform:translate(139.784999px,140.086986px) scale(1.001075);transform:translate(139.784999px,140.086986px) scale(1.001075)}}@keyframes eB8dk2fHKWC11_ts__ts{0%{-webkit-transform:translate(139.784999px,140.086986px) scale(1);transform:translate(139.784999px,140.086986px) scale(1)}30%{-webkit-transform:translate(139.784999px,140.086986px) scale(1);transform:translate(139.784999px,140.086986px) scale(1)}43.333333%{-webkit-transform:translate(139.784999px,140.086986px) scale(.102813);transform:translate(139.784999px,140.086986px) scale(.102813)}50%{-webkit-transform:translate(139.784999px,140.086986px) scale(.102813);transform:translate(139.784999px,140.086986px) scale(.102813)}60%{-webkit-transform:translate(139.784999px,140.086986px) scale(1.001075);transform:translate(139.784999px,140.086986px) scale(1.001075)}to{-webkit-transform:translate(139.784999px,140.086986px) scale(1.001075);transform:translate(139.784999px,140.086986px) scale(1.001075)}}#eB8dk2fHKWC11{-webkit-animation:eB8dk2fHKWC11_c_o 3s linear infinite normal forwards;animation:eB8dk2fHKWC11_c_o 3s linear infinite normal forwards}@-webkit-keyframes eB8dk2fHKWC11_c_o{0%{opacity:0}30%{opacity:0}36.666667%{opacity:0}40%{opacity:1}to{opacity:1}}@keyframes eB8dk2fHKWC11_c_o{0%{opacity:0}30%{opacity:0}36.666667%{opacity:0}40%{opacity:1}to{opacity:1}}#eB8dk2fHKWC13_tr{-webkit-animation:eB8dk2fHKWC13_tr__tr 3s linear infinite normal forwards;animation:eB8dk2fHKWC13_tr__tr 3s linear infinite normal forwards}@-webkit-keyframes eB8dk2fHKWC13_tr__tr{0%{-webkit-transform:translate(139.785004px,140.086979px) rotate(0deg);transform:translate(139.785004px,140.086979px) rotate(0deg)}10%{-webkit-transform:translate(139.785004px,140.086979px) rotate(0deg);transform:translate(139.785004px,140.086979px) rotate(0deg)}20%{-webkit-transform:translate(139.785004px,140.086979px) rotate(90.041277deg);transform:translate(139.785004px,140.086979px) rotate(90.041277deg)}to{-webkit-transform:translate(139.785004px,140.086979px) rotate(90.041277deg);transform:translate(139.785004px,140.086979px) rotate(90.041277deg)}}@keyframes eB8dk2fHKWC13_tr__tr{0%{-webkit-transform:translate(139.785004px,140.086979px) rotate(0deg);transform:translate(139.785004px,140.086979px) rotate(0deg)}10%{-webkit-transform:translate(139.785004px,140.086979px) rotate(0deg);transform:translate(139.785004px,140.086979px) rotate(0deg)}20%{-webkit-transform:translate(139.785004px,140.086979px) rotate(90.041277deg);transform:translate(139.785004px,140.086979px) rotate(90.041277deg)}to{-webkit-transform:translate(139.785004px,140.086979px) rotate(90.041277deg);transform:translate(139.785004px,140.086979px) rotate(90.041277deg)}}#eB8dk2fHKWC13{-webkit-animation:eB8dk2fHKWC13_c_o 3s linear infinite normal forwards;animation:eB8dk2fHKWC13_c_o 3s linear infinite normal forwards}@-webkit-keyframes eB8dk2fHKWC13_c_o{0%{opacity:0}6.666667%{opacity:0}10%{opacity:1}13.333333%{opacity:1}20%{opacity:0}to{opacity:0}}@keyframes eB8dk2fHKWC13_c_o{0%{opacity:0}6.666667%{opacity:0}10%{opacity:1}13.333333%{opacity:1}20%{opacity:0}to{opacity: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:-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:Lato,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}input.removeArrows::-webkit-inner-spin-button,input.removeArrows::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input.removeArrows[type=number]{-moz-appearance:textfield} -/*# sourceMappingURL=main.b20a708b.css.map*/ \ No newline at end of file diff --git a/portal-ui/build/static/css/main.b20a708b.css.map b/portal-ui/build/static/css/main.b20a708b.css.map deleted file mode 100644 index 39850a967..000000000 --- a/portal-ui/build/static/css/main.b20a708b.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/css/main.b20a708b.css","mappings":"AAAA,YAEE,WAAY,CADZ,UAEF,CAEA,iBACE,wEAAqE,CAArE,gEACF,CAEA,uCACE,GAEE,6CAAyD,CAAzD,qCAAyD,CADzD,2EAAqE,CAArE,mEAEF,CACA,IAEE,6CAAyD,CAAzD,qCAAyD,CADzD,6EAAuE,CAAvE,qEAEF,CACA,IAEE,6CAAyD,CAAzD,qCAAyD,CADzD,wEAAkE,CAAlE,gEAEF,CACA,IAEE,6CAAyD,CAAzD,qCAAyD,CADzD,4EAAsE,CAAtE,oEAEF,CACA,WAEE,6CAAyD,CAAzD,qCAAyD,CADzD,wEAAkE,CAAlE,gEAEF,CACA,WACE,4EAAsE,CAAtE,oEACF,CACA,GACE,4EAAsE,CAAtE,oEACF,CACF,CA3BA,+BACE,GAEE,6CAAyD,CAAzD,qCAAyD,CADzD,2EAAqE,CAArE,mEAEF,CACA,IAEE,6CAAyD,CAAzD,qCAAyD,CADzD,6EAAuE,CAAvE,qEAEF,CACA,IAEE,6CAAyD,CAAzD,qCAAyD,CADzD,wEAAkE,CAAlE,gEAEF,CACA,IAEE,6CAAyD,CAAzD,qCAAyD,CADzD,4EAAsE,CAAtE,oEAEF,CACA,WAEE,6CAAyD,CAAzD,qCAAyD,CADzD,wEAAkE,CAAlE,gEAEF,CACA,WACE,4EAAsE,CAAtE,oEACF,CACA,GACE,4EAAsE,CAAtE,oEACF,CACF,CAEA,iBACE,wEAAqE,CAArE,gEACF,CAEA,uCACE,GACE,iCAA6B,CAA7B,yBACF,CACA,WAEE,6CAAyD,CAAzD,qCAAyD,CADzD,iCAA6B,CAA7B,yBAEF,CACA,WAEE,6CAAyD,CAAzD,qCAAyD,CADzD,wCAAoC,CAApC,gCAEF,CACA,IAEE,6CAAyD,CAAzD,qCAAyD,CADzD,2BAA0B,CAA1B,mBAEF,CACA,IACE,0BAAsB,CAAtB,kBACF,CACA,GACE,0BAAsB,CAAtB,kBACF,CACF,CAtBA,+BACE,GACE,iCAA6B,CAA7B,yBACF,CACA,WAEE,6CAAyD,CAAzD,qCAAyD,CADzD,iCAA6B,CAA7B,yBAEF,CACA,WAEE,6CAAyD,CAAzD,qCAAyD,CADzD,wCAAoC,CAApC,gCAEF,CACA,IAEE,6CAAyD,CAAzD,qCAAyD,CADzD,2BAA0B,CAA1B,mBAEF,CACA,IACE,0BAAsB,CAAtB,kBACF,CACA,GACE,0BAAsB,CAAtB,kBACF,CACF,CAEA,cACE,qEAAkE,CAAlE,6DACF,CAEA,oCACE,GACE,SACF,CACA,UACE,SACF,CACA,IACE,SACF,CACA,WACE,SACF,CACA,IACE,SACF,CACA,IACE,SACF,CACA,WACE,SACF,CACA,IACE,SACF,CACA,GACE,SACF,CACF,CA5BA,4BACE,GACE,SACF,CACA,UACE,SACF,CACA,IACE,SACF,CACA,WACE,SACF,CACA,IACE,SACF,CACA,IACE,SACF,CACA,WACE,SACF,CACA,IACE,SACF,CACA,GACE,SACF,CACF,CAEA,cACE,oEAAiE,CAAjE,4DACF,CAEA,mCACE,GACE,ySAGF,CACA,IACE,uXAGF,CACA,IACE,uXAGF,CACA,IACE,ySAGF,CACA,WACE,ySAGF,CACA,WACE,6XAGF,CACA,GACE,6XAGF,CACF,CApCA,2BACE,GACE,ySAGF,CACA,IACE,uXAGF,CACA,IACE,uXAGF,CACA,IACE,ySAGF,CACA,WACE,ySAGF,CACA,WACE,6XAGF,CACA,GACE,6XAGF,CACF,CAEA,cACE,oEAAiE,CAAjE,4DACF,CAEA,mCACE,GACE,+SAGF,CACA,IACE,2eAGF,CACA,IACE,2eAGF,CACA,IACE,+SAGF,CACA,WACE,+SAGF,CACA,WACE,uaAGF,CACA,GACE,uaAGF,CACF,CApCA,2BACE,GACE,+SAGF,CACA,IACE,2eAGF,CACA,IACE,2eAGF,CACA,IACE,+SAGF,CACA,WACE,+SAGF,CACA,WACE,uaAGF,CACA,GACE,uaAGF,CACF,CAEA,cACE,oEAAiE,CAAjE,4DACF,CAEA,mCACE,GACE,kRAGF,CACA,IACE,ycAGF,CACA,IACE,ycAGF,CACA,IACE,kRAGF,CACA,WACE,kRAGF,CACA,WACE,+aAGF,CACA,GACE,+aAGF,CACF,CApCA,2BACE,GACE,kRAGF,CACA,IACE,ycAGF,CACA,IACE,ycAGF,CACA,IACE,kRAGF,CACA,WACE,kRAGF,CACA,WACE,+aAGF,CACA,GACE,+aAGF,CACF,CAEA,eACE,qEAAkE,CAAlE,6DACF,CAEA,oCACE,GACE,+PAGF,CACA,UACE,6ZAGF,CACA,IACE,gZAGF,CACA,IACE,gZAGF,CACA,IACE,+PAGF,CACA,WACE,+PAGF,CACA,WACE,wYAGF,CACA,GACE,wYAGF,CACF,CAzCA,4BACE,GACE,+PAGF,CACA,UACE,6ZAGF,CACA,IACE,gZAGF,CACA,IACE,gZAGF,CACA,IACE,+PAGF,CACA,WACE,+PAGF,CACA,WACE,wYAGF,CACA,GACE,wYAGF,CACF,CAEA,kBACE,yEAAsE,CAAtE,iEACF,CAEA,wCACE,GACE,+DAA4D,CAA5D,uDACF,CACA,IACE,+DAA4D,CAA5D,uDACF,CACA,WACE,qEAA0E,CAA1E,6DACF,CACA,IACE,qEAA0E,CAA1E,6DACF,CACA,IACE,sEAA0E,CAA1E,8DACF,CACA,GACE,sEAA0E,CAA1E,8DACF,CACF,CAnBA,gCACE,GACE,+DAA4D,CAA5D,uDACF,CACA,IACE,+DAA4D,CAA5D,uDACF,CACA,WACE,qEAA0E,CAA1E,6DACF,CACA,IACE,qEAA0E,CAA1E,6DACF,CACA,IACE,sEAA0E,CAA1E,8DACF,CACA,GACE,sEAA0E,CAA1E,8DACF,CACF,CAEA,eACE,sEAAmE,CAAnE,8DACF,CAEA,qCACE,GACE,SACF,CACA,IACE,SACF,CACA,WACE,SACF,CACA,IACE,SACF,CACA,GACE,SACF,CACF,CAhBA,6BACE,GACE,SACF,CACA,IACE,SACF,CACA,WACE,SACF,CACA,IACE,SACF,CACA,GACE,SACF,CACF,CAEA,kBACE,yEAAsE,CAAtE,iEACF,CAEA,wCACE,GACE,mEAA6D,CAA7D,2DACF,CACA,IACE,mEAA6D,CAA7D,2DACF,CACA,IACE,2EAAqE,CAArE,mEACF,CACA,GACE,2EAAqE,CAArE,mEACF,CACF,CAbA,gCACE,GACE,mEAA6D,CAA7D,2DACF,CACA,IACE,mEAA6D,CAA7D,2DACF,CACA,IACE,2EAAqE,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","sources":["screens/Console/Common/Loader/loader.styles.css","../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":[".min-loader {\n width: 40px;\n height: 40px;\n}\n\n#eB8dk2fHKWC2_tr {\n animation: eB8dk2fHKWC2_tr__tr 3000ms linear infinite normal forwards;\n}\n\n@keyframes eB8dk2fHKWC2_tr__tr {\n 0% {\n transform: translate(139.785027px, 140.086989px) rotate(45.236493deg);\n animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);\n }\n 10% {\n transform: translate(139.785027px, 140.086989px) rotate(-197.740907deg);\n animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);\n }\n 20% {\n transform: translate(139.785027px, 140.086989px) rotate(-108.6deg);\n animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);\n }\n 30% {\n transform: translate(139.785027px, 140.086989px) rotate(-17.484014deg);\n animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);\n }\n 33.333333% {\n transform: translate(139.785027px, 140.086989px) rotate(-17.48deg);\n animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);\n }\n 43.333333% {\n transform: translate(139.785027px, 140.086989px) rotate(160.887995deg);\n }\n 100% {\n transform: translate(139.785027px, 140.086989px) rotate(160.887995deg);\n }\n}\n\n#eB8dk2fHKWC2_ts {\n animation: eB8dk2fHKWC2_ts__ts 3000ms linear infinite normal forwards;\n}\n\n@keyframes eB8dk2fHKWC2_ts__ts {\n 0% {\n transform: scale(1, 0.995019);\n }\n 33.333333% {\n transform: scale(1, 0.995019);\n animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);\n }\n 43.333333% {\n transform: scale(0.101121, 0.102033);\n animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);\n }\n 50% {\n transform: scale(0.1, 0.1);\n animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);\n }\n 60% {\n transform: scale(1, 1);\n }\n 100% {\n transform: scale(1, 1);\n }\n}\n\n#eB8dk2fHKWC2 {\n animation: eB8dk2fHKWC2_c_o 3000ms linear infinite normal forwards;\n}\n\n@keyframes eB8dk2fHKWC2_c_o {\n 0% {\n opacity: 1;\n }\n 6.666667% {\n opacity: 1;\n }\n 10% {\n opacity: 0;\n }\n 13.333333% {\n opacity: 0;\n }\n 20% {\n opacity: 1;\n }\n 30% {\n opacity: 1;\n }\n 36.666667% {\n opacity: 1;\n }\n 40% {\n opacity: 0;\n }\n 100% {\n opacity: 0;\n }\n}\n\n#eB8dk2fHKWC4 {\n animation: eB8dk2fHKWC4__m 3000ms linear infinite normal forwards;\n}\n\n@keyframes eB8dk2fHKWC4__m {\n 0% {\n d: path(\n \"M85.4,249.8C109.08,255.3,133.72,257.37,157.65,252.14C181.65,246.89,202.95,233.55,219.27,215.35C227.84,205.79,213.74,191.6,205.13,201.21C190.9,217.1,173.27,228.26,152.34,232.86C132.03,237.32,110.79,235.19,90.73,230.52C78.19,227.61,72.85,246.88,85.4,249.8C85.4,249.8,85.4,249.8,85.4,249.8Z\"\n );\n }\n 10% {\n d: path(\n \"M85.4,249.8C85.4,249.8,85.399999,249.800001,85.399999,249.800001C85.399999,249.800001,85.4,249.800002,85.4,249.800002C85.4,249.800002,90.484102,251.966034,95.043213,248.269966C100.484052,243.859082,98.694728,236.722769,97.073675,234.469349C95.517658,232.306335,94.559418,231.751273,90.73,230.52C78.19,227.61,72.85,246.88,85.4,249.8C85.4,249.8,85.4,249.8,85.4,249.8Z\"\n );\n }\n 20% {\n d: path(\n \"M85.4,249.8C85.4,249.8,85.399999,249.800001,85.399999,249.800001C85.399999,249.800001,85.4,249.800002,85.4,249.800002C85.4,249.800002,90.484102,251.966034,95.043213,248.269966C100.484052,243.859082,98.694728,236.722769,97.073675,234.469349C95.517658,232.306335,94.559418,231.751273,90.73,230.52C78.19,227.61,72.85,246.88,85.4,249.8C85.4,249.8,85.4,249.8,85.4,249.8Z\"\n );\n }\n 30% {\n d: path(\n \"M85.4,249.8C109.08,255.3,133.72,257.37,157.65,252.14C181.65,246.89,202.95,233.55,219.27,215.35C227.84,205.79,213.74,191.6,205.13,201.21C190.9,217.1,173.27,228.26,152.34,232.86C132.03,237.32,110.79,235.19,90.73,230.52C78.19,227.61,72.85,246.88,85.4,249.8C85.4,249.8,85.4,249.8,85.4,249.8Z\"\n );\n }\n 33.333333% {\n d: path(\n \"M85.4,249.8C109.08,255.3,133.72,257.37,157.65,252.14C181.65,246.89,202.95,233.55,219.27,215.35C227.84,205.79,213.74,191.6,205.13,201.21C190.9,217.1,173.27,228.26,152.34,232.86C132.03,237.32,110.79,235.19,90.73,230.52C78.19,227.61,72.85,246.88,85.4,249.8C85.4,249.8,85.4,249.8,85.4,249.8Z\"\n );\n }\n 43.333333% {\n d: path(\n \"M84.281285,246.076032C107.50521,254.051555,133.72,257.37,157.65,252.14C181.65,246.89,202.95,233.55,219.27,215.35C227.84,205.79,213.74,191.6,205.13,201.21C190.9,217.1,173.27,228.26,152.34,232.86C132.03,237.32,86.465691,239.82846,53.85604,207.193233C41.31604,204.283233,32.439249,213.928672,40.474905,219.54755C40.474905,219.54755,61.310295,238.187372,84.281285,246.076032Z\"\n );\n }\n 100% {\n d: path(\n \"M84.281285,246.076032C107.50521,254.051555,133.72,257.37,157.65,252.14C181.65,246.89,202.95,233.55,219.27,215.35C227.84,205.79,213.74,191.6,205.13,201.21C190.9,217.1,173.27,228.26,152.34,232.86C132.03,237.32,86.465691,239.82846,53.85604,207.193233C41.31604,204.283233,32.439249,213.928672,40.474905,219.54755C40.474905,219.54755,61.310295,238.187372,84.281285,246.076032Z\"\n );\n }\n}\n\n#eB8dk2fHKWC6 {\n animation: eB8dk2fHKWC6__m 3000ms linear infinite normal forwards;\n}\n\n@keyframes eB8dk2fHKWC6__m {\n 0% {\n d: path(\n \"M249.74,169.63C255.24,145.95,257.31,121.31,252.08,97.38C246.83,73.38,233.49,52.08,215.29,35.76C205.73,27.19,191.54,41.29,201.15,49.9C217.04,64.13,228.2,81.76,232.8,102.69C237.26,123,235.13,144.24,230.46,164.3C227.54,176.84,246.82,182.18,249.74,169.63C249.74,169.63,249.74,169.63,249.74,169.63Z\"\n );\n }\n 10% {\n d: path(\n \"M250.887564,168.08137C250.887564,168.081368,250.887563,168.081375,250.887563,168.081375C250.887563,168.081375,253.7831,157.676613,244.778825,154.781475C235.762034,151.882313,232.694053,158.881918,231.752888,162.486547C231.017121,165.304508,231.564293,168.517464,232.231509,169.666243C233.407087,171.690293,235.517449,173.828597,238.467701,174.606956C241.339242,175.364549,245.542656,175.427978,248.770823,172.704057C248.770823,172.704057,250.400569,171.202441,250.887564,168.08137Z\"\n );\n }\n 20% {\n d: path(\n \"M250.887564,168.08137C250.887564,168.081368,250.887563,168.081375,250.887563,168.081375C250.887563,168.081375,253.7831,157.676613,244.778825,154.781475C235.762034,151.882313,232.694053,158.881918,231.752888,162.486547C231.017121,165.304508,231.564293,168.517464,232.231509,169.666243C233.407087,171.690293,235.517449,173.828597,238.467701,174.606956C241.339242,175.364549,245.542656,175.427978,248.770823,172.704057C248.770823,172.704057,250.400569,171.202441,250.887564,168.08137Z\"\n );\n }\n 30% {\n d: path(\n \"M249.74,169.63C255.24,145.95,257.31,121.31,252.08,97.38C246.83,73.38,233.49,52.08,215.29,35.76C205.73,27.19,191.54,41.29,201.15,49.9C217.04,64.13,228.2,81.76,232.8,102.69C237.26,123,235.13,144.24,230.46,164.3C227.54,176.84,246.82,182.18,249.74,169.63C249.74,169.63,249.74,169.63,249.74,169.63Z\"\n );\n }\n 33.333333% {\n d: path(\n \"M249.74,169.63C255.24,145.95,257.31,121.31,252.08,97.38C246.83,73.38,233.49,52.08,215.29,35.76C205.73,27.19,191.54,41.29,201.15,49.9C217.04,64.13,228.2,81.76,232.8,102.69C237.26,123,235.13,144.24,230.46,164.3C227.54,176.84,246.82,182.18,249.74,169.63C249.74,169.63,249.74,169.63,249.74,169.63Z\"\n );\n }\n 43.333333% {\n d: path(\n \"M241.985702,180.287452C255.201364,145.393106,257.31,121.31,252.08,97.38C246.83,73.38,233.49,52.08,215.29,35.76C205.73,27.19,189.760952,38.146938,199.370952,46.756938C229.706596,66.855753,234.126292,101.544407,234.194759,127.574104C235.798839,155.047874,216.192342,185.901625,205.13,201.21C199.980012,208.336696,214.039151,220.128533,219.270001,215.35C219.270001,215.35,237.299554,192.660656,241.985702,180.287452Z\"\n );\n }\n 100% {\n d: path(\n \"M241.985702,180.287452C255.201364,145.393106,257.31,121.31,252.08,97.38C246.83,73.38,233.49,52.08,215.29,35.76C205.73,27.19,189.760952,38.146938,199.370952,46.756938C229.706596,66.855753,234.126292,101.544407,234.194759,127.574104C235.798839,155.047874,216.192342,185.901625,205.13,201.21C199.980012,208.336696,214.039151,220.128533,219.270001,215.35C219.270001,215.35,237.299554,192.660656,241.985702,180.287452Z\"\n );\n }\n}\n\n#eB8dk2fHKWC8 {\n animation: eB8dk2fHKWC8__m 3000ms linear infinite normal forwards;\n}\n\n@keyframes eB8dk2fHKWC8__m {\n 0% {\n d: path(\n \"M171.68,7.71C148.17,1.51,123.61,-1.28,99.53,3.25C75.39,7.79,53.7,20.49,36.85,38.21C28.01,47.52,41.68,62.11,50.57,52.76C65.27,37.3,83.22,26.66,104.27,22.68C124.7,18.82,145.87,21.58,165.79,26.83C178.22,30.11,184.14,11,171.68,7.71C171.68,7.71,171.68,7.71,171.68,7.71Z\"\n );\n }\n 10% {\n d: path(\n \"M171.58686,7.8192C164.834536,7.661923,162.882928,13.414575,162.613915,14.669774C162.613914,14.669774,161.858025,17.37084,162.366976,18.743708C162.782522,19.864622,163.527502,21.022768,164.723558,21.957074C165.842173,22.830886,168.859974,24.254302,168.859974,24.254302C168.859974,24.254302,168.859968,24.254306,168.859967,24.254304C181.289967,27.534304,184.046866,11.109212,171.586866,7.819212C171.586866,7.819212,171.58686,7.8192,171.58686,7.8192Z\"\n );\n }\n 20% {\n d: path(\n \"M171.58686,7.8192C164.834536,7.661923,162.882928,13.414575,162.613915,14.669774C162.613914,14.669774,161.858025,17.37084,162.366976,18.743708C162.782522,19.864622,163.527502,21.022768,164.723558,21.957074C165.842173,22.830886,168.859974,24.254302,168.859974,24.254302C168.859974,24.254302,168.859968,24.254306,168.859967,24.254304C181.289967,27.534304,184.046866,11.109212,171.586866,7.819212C171.586866,7.819212,171.58686,7.8192,171.58686,7.8192Z\"\n );\n }\n 30% {\n d: path(\n \"M171.68,7.71C148.17,1.51,123.61,-1.28,99.53,3.25C75.39,7.79,53.7,20.49,36.85,38.21C28.01,47.52,41.68,62.11,50.57,52.76C65.27,37.3,83.22,26.66,104.27,22.68C124.7,18.82,145.87,21.58,165.79,26.83C178.22,30.11,184.14,11,171.68,7.71C171.68,7.71,171.68,7.71,171.68,7.71Z\"\n );\n }\n 33.333333% {\n d: path(\n \"M171.68,7.71C148.17,1.51,123.61,-1.28,99.53,3.25C75.39,7.79,53.7,20.49,36.85,38.21C28.01,47.52,41.68,62.11,50.57,52.76C65.27,37.3,83.22,26.66,104.27,22.68C124.7,18.82,145.87,21.58,165.79,26.83C178.22,30.11,184.14,11,171.68,7.71C171.68,7.71,171.68,7.71,171.68,7.71Z\"\n );\n }\n 43.333333% {\n d: path(\n \"M154.601291,1.547478C127.732134,-3.659063,101.676041,0.16217,89.834975,4.047622C73.018778,9.565582,43.015709,29.967817,36.85,38.21C28.01,47.52,41.568561,62.002759,50.57,52.76C67.005248,35.884138,77.788003,22.937369,100.935291,18.024709C148.028227,8.029949,175.904245,24.591662,199.370952,46.756938C210.775532,51.88401,219.463487,39.878796,215.289997,35.759998C189.664787,10.470596,154.601291,1.547478,154.601291,1.547478Z\"\n );\n }\n 100% {\n d: path(\n \"M154.601291,1.547478C127.732134,-3.659063,101.676041,0.16217,89.834975,4.047622C73.018778,9.565582,43.015709,29.967817,36.85,38.21C28.01,47.52,41.568561,62.002759,50.57,52.76C67.005248,35.884138,77.788003,22.937369,100.935291,18.024709C148.028227,8.029949,175.904245,24.591662,199.370952,46.756938C210.775532,51.88401,219.463487,39.878796,215.289997,35.759998C189.664787,10.470596,154.601291,1.547478,154.601291,1.547478Z\"\n );\n }\n}\n\n#eB8dk2fHKWC10 {\n animation: eB8dk2fHKWC10__m 3000ms linear infinite normal forwards;\n}\n\n@keyframes eB8dk2fHKWC10__m {\n 0% {\n d: path(\n \"M5.83,85.46C0.33,109.14,-1.74,133.78,3.49,157.71C8.74,181.71,22.08,203.01,40.28,219.33C49.84,227.9,64.03,213.8,54.42,205.19C38.53,190.96,27.37,173.33,22.77,152.4C18.31,132.09,20.44,110.85,25.11,90.79C28.03,78.25,8.75,72.91,5.83,85.46L5.83,85.46Z\"\n );\n }\n 3.333333% {\n d: path(\n \"M4.90273,88.748028C1.236063,104.534694,0.694614,122.375568,4.181281,138.328902C7.119767,155.82704,18.329955,178.442148,31.722495,188.944182C39.448991,194.869945,48.960631,181.919808,35.808325,167.974185C27.053341,155.46954,26.778713,144.786038,23.180834,130.168643C19.139468,114.899686,18.114526,100.786543,20.952073,87.411869C21.572437,79.045425,6.897064,77.595457,4.916661,86.915441L4.90273,88.748028Z\"\n );\n }\n 10% {\n d: path(\n \"M3.04819,95.324083C3.04819,95.324083,5.563842,99.566705,5.563842,99.566705C5.563842,99.566705,11.253926,104.287825,15.031546,103.153927C19.091035,103.791214,24.274539,98.764542,25.851733,95.404259C27.275674,92.370488,25.596139,87.698114,24.002501,85.705929C20.798403,80.519057,13.463578,80.659628,12.636219,80.655608C8.65731,80.636275,3.191193,86.96637,3.089982,89.826322L3.04819,95.324083Z\"\n );\n }\n 20% {\n d: path(\n \"M3.04819,95.324083C3.04819,95.324083,5.563842,99.566705,5.563842,99.566705C5.563842,99.566705,11.253926,104.287825,15.031546,103.153927C19.091035,103.791214,24.274539,98.764542,25.851733,95.404259C27.275674,92.370488,25.596139,87.698114,24.002501,85.705929C20.798403,80.519057,13.463578,80.659628,12.636219,80.655608C8.65731,80.636275,3.191193,86.96637,3.089982,89.826322L3.04819,95.324083Z\"\n );\n }\n 30% {\n d: path(\n \"M5.83,85.46C0.33,109.14,-1.74,133.78,3.49,157.71C8.74,181.71,22.08,203.01,40.28,219.33C49.84,227.9,64.03,213.8,54.42,205.19C38.53,190.96,27.37,173.33,22.77,152.4C18.31,132.09,20.44,110.85,25.11,90.79C28.03,78.25,8.75,72.91,5.83,85.46L5.83,85.46Z\"\n );\n }\n 33.333333% {\n d: path(\n \"M5.83,85.46C0.33,109.14,-1.74,133.78,3.49,157.71C8.74,181.71,22.08,203.01,40.28,219.33C49.84,227.9,64.03,213.8,54.42,205.19C38.53,190.96,27.37,173.33,22.77,152.4C18.31,132.09,20.44,110.85,25.11,90.79C28.03,78.25,8.75,72.91,5.83,85.46L5.83,85.46Z\"\n );\n }\n 43.333333% {\n d: path(\n \"M36.436007,38.11681C-7.498754,85.801617,-0.826469,134.911183,5.658972,158.164678C15.873566,192.855226,35.43893,215.965329,40.28,219.33C49.84,227.9,63.271136,215.585685,53.661136,206.975685C38.384036,191.128398,25.999041,166.121323,22.77,152.4C12.429986,121.009925,27.020185,73.061168,50.245766,52.61587C65.058304,39.576508,51.054205,23.186387,36.436019,38.116819L36.436007,38.11681Z\"\n );\n }\n 100% {\n d: path(\n \"M36.436007,38.11681C-7.498754,85.801617,-0.826469,134.911183,5.658972,158.164678C15.873566,192.855226,35.43893,215.965329,40.28,219.33C49.84,227.9,63.271136,215.585685,53.661136,206.975685C38.384036,191.128398,25.999041,166.121323,22.77,152.4C12.429986,121.009925,27.020185,73.061168,50.245766,52.61587C65.058304,39.576508,51.054205,23.186387,36.436019,38.116819L36.436007,38.11681Z\"\n );\n }\n}\n\n#eB8dk2fHKWC11_ts {\n animation: eB8dk2fHKWC11_ts__ts 3000ms linear infinite normal forwards;\n}\n\n@keyframes eB8dk2fHKWC11_ts__ts {\n 0% {\n transform: translate(139.784999px, 140.086986px) scale(1, 1);\n }\n 30% {\n transform: translate(139.784999px, 140.086986px) scale(1, 1);\n }\n 43.333333% {\n transform: translate(139.784999px, 140.086986px) scale(0.102813, 0.102813);\n }\n 50% {\n transform: translate(139.784999px, 140.086986px) scale(0.102813, 0.102813);\n }\n 60% {\n transform: translate(139.784999px, 140.086986px) scale(1.001075, 1.001075);\n }\n 100% {\n transform: translate(139.784999px, 140.086986px) scale(1.001075, 1.001075);\n }\n}\n\n#eB8dk2fHKWC11 {\n animation: eB8dk2fHKWC11_c_o 3000ms linear infinite normal forwards;\n}\n\n@keyframes eB8dk2fHKWC11_c_o {\n 0% {\n opacity: 0;\n }\n 30% {\n opacity: 0;\n }\n 36.666667% {\n opacity: 0;\n }\n 40% {\n opacity: 1;\n }\n 100% {\n opacity: 1;\n }\n}\n\n#eB8dk2fHKWC13_tr {\n animation: eB8dk2fHKWC13_tr__tr 3000ms linear infinite normal forwards;\n}\n\n@keyframes eB8dk2fHKWC13_tr__tr {\n 0% {\n transform: translate(139.785004px, 140.086979px) rotate(0deg);\n }\n 10% {\n transform: translate(139.785004px, 140.086979px) rotate(0deg);\n }\n 20% {\n transform: translate(139.785004px, 140.086979px) rotate(90.041277deg);\n }\n 100% {\n transform: translate(139.785004px, 140.086979px) rotate(90.041277deg);\n }\n}\n\n#eB8dk2fHKWC13 {\n animation: eB8dk2fHKWC13_c_o 3000ms linear infinite normal forwards;\n}\n\n@keyframes eB8dk2fHKWC13_c_o {\n 0% {\n opacity: 0;\n }\n 6.666667% {\n opacity: 0;\n }\n 10% {\n opacity: 1;\n }\n 13.333333% {\n opacity: 1;\n }\n 20% {\n opacity: 0;\n }\n 100% {\n opacity: 0;\n }\n}\n","/* 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: \"Lato\", 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 -webkit-appearance: none;\n margin: 0;\n}\n\n/* Firefox */\ninput.removeArrows[type=\"number\"] {\n -moz-appearance: textfield;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1030.0c362d0c.chunk.js b/portal-ui/build/static/js/1030.0c362d0c.chunk.js deleted file mode 100644 index d8de7ba05..000000000 --- a/portal-ui/build/static/js/1030.0c362d0c.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1030],{81806:function(e,n,t){var i=t(1413),a=t(45987),o=(t(72791),t(11135)),l=t(25787),r=t(80184),s=["classes","children"];n.Z=(0,l.Z)((function(e){return(0,o.Z)({root:{padding:0,margin:0,border:0,backgroundColor:"transparent",textDecoration:"underline",cursor:"pointer",fontSize:"inherit",color:e.palette.info.main,fontFamily:"Lato, sans-serif"}})}))((function(e){var n=e.classes,t=e.children,o=(0,a.Z)(e,s);return(0,r.jsx)("button",(0,i.Z)((0,i.Z)({},o),{},{className:n.root,children:t}))}))},56028:function(e,n,t){var i=t(29439),a=t(1413),o=t(72791),l=t(78687),r=t(13400),s=t(55646),c=t(5574),d=t(65661),u=t(39157),m=t(11135),v=t(25787),p=t(23814),h=t(25469),f=t(29823),g=t(28057),x=t(87995),Z=t(80184);n.Z=(0,v.Z)((function(e){return(0,m.Z)((0,a.Z)((0,a.Z)({},p.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},p.sN))}))((function(e){var n=e.onClose,t=e.modalOpen,m=e.title,v=e.children,p=e.classes,j=e.wideLimit,b=void 0===j||j,y=e.noContentPadding,S=e.titleIcon,w=void 0===S?null:S,k=(0,h.TL)(),P=(0,o.useState)(!1),C=(0,i.Z)(P,2),R=C[0],N=C[1],I=(0,l.v9)((function(e){return e.system.modalSnackBar}));(0,o.useEffect)((function(){k((0,x.MK)(""))}),[k]),(0,o.useEffect)((function(){if(I){if(""===I.message)return void N(!1);"error"!==I.type&&N(!0)}}),[I]);var D=b?{classes:{paper:p.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},E="";return I&&(E=I.detailedErrorMsg,(""===I.detailedErrorMsg||I.detailedErrorMsg.length<5)&&(E=I.message)),(0,Z.jsxs)(c.Z,(0,a.Z)((0,a.Z)({open:t,classes:p},D),{},{scroll:"paper",onClose:function(e,t){"backdropClick"!==t&&n()},className:p.root,children:[(0,Z.jsxs)(d.Z,{className:p.title,children:[(0,Z.jsxs)("div",{className:p.titleText,children:[w," ",m]}),(0,Z.jsx)("div",{className:p.closeContainer,children:(0,Z.jsx)(r.Z,{"aria-label":"close",id:"close",className:p.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,Z.jsx)(f.Z,{})})})]}),(0,Z.jsx)(g.Z,{isModal:!0}),(0,Z.jsx)(s.Z,{open:R,className:p.snackBarModal,onClose:function(){N(!1),k((0,x.MK)(""))},message:E,ContentProps:{className:"".concat(p.snackBar," ").concat(I&&"error"===I.type?p.errorSnackBar:"")},autoHideDuration:I&&"error"===I.type?1e4:5e3}),(0,Z.jsx)(u.Z,{className:y?"":p.content,children:v})]}))}))},45902:function(e,n,t){var i=t(1413),a=(t(72791),t(53767)),o=t(80184);n.Z=function(e){var n=e.label,t=void 0===n?null:n,l=e.value,r=void 0===l?"-":l,s=e.orientation,c=void 0===s?"column":s,d=e.stkProps,u=void 0===d?{}:d,m=e.lblProps,v=void 0===m?{}:m,p=e.valProps,h=void 0===p?{}:p;return(0,o.jsxs)(a.Z,(0,i.Z)((0,i.Z)({direction:{xs:"column",sm:c}},u),{},{children:[(0,o.jsx)("label",(0,i.Z)((0,i.Z)({style:{marginRight:5,fontWeight:600}},v),{},{children:t})),(0,o.jsx)("label",(0,i.Z)((0,i.Z)({style:{marginRight:5,fontWeight:500}},h),{},{children:r}))]}))}},74815:function(e,n,t){t.d(n,{Z:function(){return u}});var i=t(93433),a=(t(72791),t(73909)),o=t(21041),l=t(41048),r=t(45248),s=t(56096),c=t(80184),d=function(e){var n=e.totalValue,t=e.sizeItems,i=e.bgColor,a=void 0===i?"#ededed":i;return(0,c.jsx)("div",{style:{width:"100%",height:12,backgroundColor:a,borderRadius:30,display:"flex",transitionDuration:"0.3s",overflow:"hidden"},children:t.map((function(e,t){var i=100*e.value/n;return(0,c.jsx)("div",{style:{width:"".concat(i,"%"),height:"100%",backgroundColor:e.color,transitionDuration:"0.3s"}},"itemSize-".concat(t.toString()))}))})},u=function(e){var n=e.totalCapacity,t=e.usedSpaceVariants,u=e.statusClass,m=e.render,v=void 0===m?"pie":m,p=["#8dacd3","#bca1ea","#92e8d2","#efc9ac","#97f274","#f7d291","#71ACCB","#f28282","#e28cc1","#2781B0"],h="#ededed",f=t.reduce((function(e,n){return e+n.value}),0),g=n-f,x=[],Z=t.find((function(e){return"STANDARD"===e.variant}))||{value:0,variant:"empty"};t.length>10?x=[{value:f-Z.value,color:"#2781B0",label:"Total Tiers Space"}]:x=t.filter((function(e){return"STANDARD"!==e.variant})).map((function(e,n){return{value:e.value,color:p[n],label:"Tier - ".concat(e.variant)}}));var j="#07193E",b=100*Z.value/n;b>=90?j="#C83B51":b>=75&&(j="#FFAB0F");var y=[{value:Z.value,color:j,label:"Used Space by Tenant"}].concat((0,i.Z)(x),[{value:g,color:"bar"===v?h:"transparent",label:"Empty Space"}]);if("bar"===v){var S=y.map((function(e){return{value:e.value,color:e.color,itemName:e.label}}));return(0,c.jsx)("div",{style:{width:"100%",marginBottom:15},children:(0,c.jsx)(d,{totalValue:n,sizeItems:S,bgColor:h})})}return(0,c.jsxs)("div",{style:{position:"relative",width:110,height:110},children:[(0,c.jsx)("div",{style:{position:"absolute",right:-5,top:15,zIndex:400},className:u,children:(0,c.jsx)(s.J$M,{style:{border:"#fff 2px solid",borderRadius:"100%",width:20,height:20}})}),(0,c.jsx)("span",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",fontWeight:"bold",color:"#000",fontSize:12},children:isNaN(f)?"N/A":(0,r.l5)(f)}),(0,c.jsx)("div",{children:(0,c.jsxs)(a.u,{width:110,height:110,children:[(0,c.jsx)(o.b,{data:[{value:100}],cx:"50%",cy:"50%",dataKey:"value",outerRadius:50,innerRadius:40,fill:h,isAnimationActive:!1,stroke:"none"}),(0,c.jsx)(o.b,{data:y,cx:"50%",cy:"50%",dataKey:"value",outerRadius:50,innerRadius:40,children:y.map((function(e,n){return(0,c.jsx)(l.b,{fill:e.color,stroke:"none"},"cellCapacity-".concat(n))}))})]})})]})}},21353:function(e,n,t){t.r(n),t.d(n,{default:function(){return K}});var i=t(29439),a=t(1413),o=t(72791),l=t(78687),r=t(26181),s=t.n(r),c=t(11135),d=t(25787),u=t(23814),m=t(61889),v=t(64554),p=t(75952),h=t(56028),f=t(21435),g=t(37516),x=t(81207),Z=t(87995),j=t(25469),b=t(80184),y=(0,d.Z)((function(e){return(0,c.Z)((0,a.Z)((0,a.Z)({infoText:{fontSize:14}},u.DF),u.ID))}))((function(e){var n=e.open,t=e.closeModalAndRefresh,l=e.namespace,r=e.idTenant,s=e.classes,c=(0,j.TL)(),d=(0,o.useState)(!1),u=(0,i.Z)(d,2),v=u[0],y=u[1],S=(0,o.useState)(""),w=(0,i.Z)(S,2),k=w[0],P=w[1],C=(0,o.useState)(!1),R=(0,i.Z)(C,2),N=R[0],I=R[1],D=(0,o.useState)(""),E=(0,i.Z)(D,2),A=E[0],F=E[1],_=(0,o.useState)(""),B=(0,i.Z)(_,2),M=B[0],z=B[1],T=(0,o.useState)(""),U=(0,i.Z)(T,2),W=U[0],O=U[1],L=(0,o.useState)(!0),$=(0,i.Z)(L,2),V=$[0],K=$[1],G=(0,o.useCallback)((function(e){var n=new RegExp("^$|^((.*?)/(.*?):(.+))$");if("minioImage"===e)K(n.test(k))}),[k]);(0,o.useEffect)((function(){G("minioImage")}),[k,G]);return(0,b.jsx)(h.Z,{title:"Update MinIO Version",modalOpen:n,onClose:function(){t(!1)},children:(0,b.jsxs)(m.ZP,{container:!0,children:[(0,b.jsxs)(m.ZP,{item:!0,xs:12,className:s.modalFormScrollable,children:[(0,b.jsx)("div",{className:s.infoText,children:"Please enter the MinIO image from dockerhub to use. If blank, then latest build will be used."}),(0,b.jsx)("br",{}),(0,b.jsx)("br",{}),(0,b.jsx)(m.ZP,{item:!0,xs:12,className:s.formFieldRow,children:(0,b.jsx)(f.Z,{value:k,label:"MinIO's Image",id:"minioImage",name:"minioImage",placeholder:"E.g. minio/minio:RELEASE.2022-02-26T02-54-46Z",onChange:function(e){P(e.target.value)}})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,className:s.formFieldRow,children:(0,b.jsx)(g.Z,{value:"imageRegistry",id:"setImageRegistry",name:"setImageRegistry",checked:N,onChange:function(e){I(!N)},label:"Set Custom Image Registry",indicatorLabels:["Yes","No"]})}),N&&(0,b.jsxs)(o.Fragment,{children:[(0,b.jsx)(m.ZP,{item:!0,xs:12,className:s.formFieldRow,children:(0,b.jsx)(f.Z,{value:A,label:"Endpoint",id:"imageRegistry",name:"imageRegistry",placeholder:"E.g. https://index.docker.io/v1/",onChange:function(e){F(e.target.value)}})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,className:s.formFieldRow,children:(0,b.jsx)(f.Z,{value:M,label:"Username",id:"imageRegistryUsername",name:"imageRegistryUsername",placeholder:"Enter image registry username",onChange:function(e){z(e.target.value)}})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,className:s.formFieldRow,children:(0,b.jsx)(f.Z,{value:W,label:"Password",id:"imageRegistryPassword",name:"imageRegistryPassword",placeholder:"Enter image registry password",onChange:function(e){O(e.target.value)}})})]})]}),(0,b.jsxs)(m.ZP,{item:!0,xs:12,className:s.modalButtonBar,children:[(0,b.jsx)(p.zx,{id:"clear",variant:"regular",onClick:function(){P(""),I(!1),F(""),z(""),O("")},label:"Clear"}),(0,b.jsx)(p.zx,{id:"save-tenant",type:"submit",variant:"callAction",disabled:!V||N&&(""===A.trim()||""===M.trim()||""===W.trim())||v,onClick:function(){y(!0);var e={image:k,enable_prometheus:!0};if(N){var n={image_registry:{registry:A,username:M,password:W}};e=(0,a.Z)((0,a.Z)({},e),n)}x.Z.invoke("PUT","/api/v1/namespaces/".concat(l,"/tenants/").concat(r),e).then((function(){y(!1),c((0,Z.y1)("Image updated successfully")),t(!0)})).catch((function(e){c((0,Z.zb)(e)),y(!1)}))},label:"Save"})]})]})})})),S=t(81806),w=t(40986),k=t(53767),P=t(56096),C=t(45248),R=t(72401),N=t(74815),I=t(22512),D=t(45902),E=((0,d.Z)((function(e){return{root:{height:10,borderRadius:5},colorPrimary:{backgroundColor:"#F4F4F4"},bar:{borderRadius:5,backgroundColor:"#081C42"},padChart:{padding:"5px"}}}))(w.Z),(0,d.Z)((function(e){return(0,c.Z)({centerItem:{textAlign:"center"}})}))((function(e){var n,t,i,a,l,r,s=e.classes,c=e.tenant,d=e.healthStatus,u=e.loading,v=e.error,p={value:"n/a",unit:""},h={value:"n/a",unit:""},f={value:"n/a",unit:""},g={value:"n/a",unit:""},x={value:"n/a",unit:""};if(null!==(n=c.status)&&void 0!==n&&null!==(t=n.usage)&&void 0!==t&&t.raw){var Z=(0,C.ae)("".concat(c.status.usage.raw),!0).split(" ");p.value=Z[0],p.unit=Z[1]}if(null!==(i=c.status)&&void 0!==i&&null!==(a=i.usage)&&void 0!==a&&a.capacity){var j=(0,C.ae)("".concat(c.status.usage.capacity),!0).split(" ");h.value=j[0],h.unit=j[1]}if(null!==(l=c.status)&&void 0!==l&&null!==(r=l.usage)&&void 0!==r&&r.capacity_usage){var y=(0,C.l5)(c.status.usage.capacity_usage,!0).split(" ");f.value=y[0],f.unit=y[1]}var S=[];if(c.tiers&&0!==c.tiers.length){S=c.tiers.map((function(e){return{value:e.size,variant:e.name}}));var w=c.tiers.filter((function(e){return"internal"===e.type})).reduce((function(e,n){return e+n.size}),0),E=c.tiers.filter((function(e){return"internal"!==e.type})).reduce((function(e,n){return e+n.size}),0),A=(0,C.l5)(E,!0).split(" ");x.value=A[0],x.unit=A[1];var F=(0,C.l5)(w,!0).split(" ");g.value=F[0],g.unit=F[1]}else{var _,B;S=[{value:(null===(_=c.status)||void 0===_||null===(B=_.usage)||void 0===B?void 0:B.capacity_usage)||0,variant:"STANDARD"}]}return(0,b.jsxs)(o.Fragment,{children:[u&&(0,b.jsx)("div",{className:s.padChart,children:(0,b.jsx)(m.ZP,{item:!0,xs:12,className:s.centerItem,children:(0,b.jsx)(R.Z,{style:{width:40,height:40}})})}),function(){var e,n;return u?null:""!==v?(0,b.jsx)(I.Z,{errorMessage:v,withBreak:!1}):(0,b.jsxs)(m.ZP,{item:!0,xs:12,children:[(0,b.jsx)(N.Z,{totalCapacity:(null===(e=c.status)||void 0===e||null===(n=e.usage)||void 0===n?void 0:n.raw)||0,usedSpaceVariants:S,statusClass:"",render:"bar"}),(0,b.jsxs)(k.Z,{direction:{xs:"column",sm:"row"},spacing:{xs:1,sm:2,md:4},alignItems:"stretch",margin:"0 0 15px 0",children:[(!c.tiers||0===c.tiers.length)&&(0,b.jsx)(o.Fragment,{children:(0,b.jsx)(D.Z,{label:"Internal:",orientation:"row",value:"".concat(f.value," ").concat(f.unit)})}),c.tiers&&c.tiers.length>0&&(0,b.jsxs)(o.Fragment,{children:[(0,b.jsx)(D.Z,{label:"Internal:",orientation:"row",value:"".concat(g.value," ").concat(g.unit)}),(0,b.jsx)(D.Z,{label:"Tiered:",orientation:"row",value:"".concat(x.value," ").concat(x.unit)})]}),d&&(0,b.jsx)(D.Z,{orientation:"row",label:"Health:",value:(0,b.jsx)("span",{className:d,children:(0,b.jsx)(P.J$M,{})})})]})]})}()]})}))),A=t(50896),F=t(93433),_=t(13400),B=t(42419),M=t(51979),z=(0,d.Z)((function(e){return(0,c.Z)((0,a.Z)((0,a.Z)({domainInline:{display:"flex",marginBottom:15},overlayAction:{marginLeft:10,display:"flex",alignItems:"center","& svg":{width:15,height:15},"& button":{background:"#EAEAEA"}}},u.DF),u.ID))}))((function(e){var n=e.open,t=e.closeModalAndRefresh,a=e.namespace,l=e.idTenant,r=e.domains,s=e.classes,c=(0,j.TL)(),d=(0,o.useState)(!1),u=(0,i.Z)(d,2),v=u[0],g=u[1],y=(0,o.useState)(""),S=(0,i.Z)(y,2),w=S[0],k=S[1],P=(0,o.useState)([""]),C=(0,i.Z)(P,2),R=C[0],N=C[1],I=(0,o.useState)(!0),D=(0,i.Z)(I,2),E=D[0],A=D[1],z=(0,o.useState)([!0]),T=(0,i.Z)(z,2),U=T[0],W=T[1];(0,o.useEffect)((function(){if(r){var e=r.console||"";if(k(e),""!==e){var n=new RegExp(/^(https?):\/\/([a-zA-Z0-9\-.]+)(:[0-9]+)?(\/[a-zA-Z0-9\-./]*)?$/);A(n.test(e))}else A(!0);if(r.minio&&r.minio.length>0){N(r.minio);var t=new RegExp(/^(https?):\/\/([a-zA-Z0-9\-.]+)(:[0-9]+)?$/),i=r.minio.map((function(e){return""===e.trim()||t.test(e)}));W(i)}}}),[r]);var O=function(){var e=(0,F.Z)(R),n=(0,F.Z)(U);e.push(""),n.push(!0),N(e),W(n)};return(0,b.jsx)(h.Z,{title:"Edit Tenant Domains - ".concat(l),modalOpen:n,onClose:function(){t(!1)},children:(0,b.jsx)(m.ZP,{container:!0,children:(0,b.jsxs)(m.ZP,{item:!0,xs:12,className:s.modalFormScrollable,children:[(0,b.jsxs)(m.ZP,{item:!0,xs:12,className:"".concat(s.configSectionItem),children:[(0,b.jsx)("div",{className:s.containerItem,children:(0,b.jsx)(f.Z,{id:"console_domain",name:"console_domain",onChange:function(e){k(e.target.value),A(e.target.validity.valid)},label:"Console Domain",value:w,placeholder:"Eg. http://subdomain.domain:port/subpath1/subpath2",pattern:"^(https?):\\/\\/([a-zA-Z0-9\\-.]+)(:[0-9]+)?(\\/[a-zA-Z0-9\\-.\\/]*)?$",error:E?"":"Domain format is incorrect (http|https://subdomain.domain:port/subpath1/subpath2)"})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{children:"MinIO Domains"}),(0,b.jsx)("div",{children:R.map((function(e,n){return(0,b.jsxs)("div",{className:"".concat(s.domainInline),children:[(0,b.jsx)(f.Z,{id:"minio-domain-".concat(n.toString()),name:"minio-domain-".concat(n.toString()),onChange:function(e){!function(e,n){var t=(0,F.Z)(R);t[n]=e,N(t)}(e.target.value,n),function(e,n){var t=(0,F.Z)(U);t[n]=e,W(t)}(e.target.validity.valid,n)},label:"MinIO Domain ".concat(n+1),value:e,placeholder:"Eg. http://subdomain.domain",pattern:"^(https?):\\/\\/([a-zA-Z0-9\\-.]+)(:[0-9]+)?$",error:U[n]?"":"MinIO domain format is incorrect (http|https://subdomain.domain)"}),(0,b.jsx)("div",{className:s.overlayAction,children:(0,b.jsx)(_.Z,{size:"small",onClick:O,disabled:n!==R.length-1,children:(0,b.jsx)(B.Z,{})})}),(0,b.jsx)("div",{className:s.overlayAction,children:(0,b.jsx)(_.Z,{size:"small",onClick:function(){return function(e){var n=R.filter((function(n,t){return t!==e})),t=U.filter((function(n,t){return t!==e}));N(n),W(t)}(n)},disabled:R.length<=1,children:(0,b.jsx)(M.Z,{})})})]},"minio-domain-key-".concat(n.toString()))}))})]})]}),(0,b.jsxs)(m.ZP,{item:!0,xs:12,className:s.modalButtonBar,children:[(0,b.jsx)(p.zx,{id:"clear-edit-domain",type:"button",variant:"regular",onClick:function(){k(""),A(!0),N([""]),W([!0])},label:"Clear"}),(0,b.jsx)(p.zx,{id:"save-domain",type:"submit",variant:"callAction",disabled:v||!E||U.filter((function(e){return!e})).length>0,onClick:function(){g(!0);var e={domains:{console:w,minio:R.filter((function(e){return""!==e.trim()}))}};x.Z.invoke("PUT","/api/v1/namespaces/".concat(a,"/tenants/").concat(l,"/domains"),e).then((function(){g(!1),c((0,Z.y1)("Domains updated successfully")),t(!0)})).catch((function(e){g(!1),c((0,Z.zb)(e))}))},label:"Save"})]})]})})})})),T=t(57689),U=t(82295),W=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"red",n=arguments.length>1?arguments[1]:void 0;return"red"===e?n.redState:"yellow"===e?n.yellowState:"green"===e?n.greenState:n.greyState},O=function(e){var n,t=e.tenant,i=e.classes;return t?(0,b.jsx)(E,{tenant:t,label:"Storage",error:"",loading:!1,healthStatus:W(null===t||void 0===t||null===(n=t.status)||void 0===n?void 0:n.health_status,i)}):null},L=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return(0,b.jsx)(g.Z,{indicatorLabels:["Enabled","Disabled"],checked:e,value:e,id:"".concat(n,"-status"),name:"".concat(n,"-status"),onChange:function(){},switchOnly:!0})},$={display:"flex",justifyContent:"space-between",marginTop:"10px","@media (max-width: 600px)":{flexFlow:"column"}},V={stkProps:{sx:{flex:1,marginRight:10,display:"flex",alignItems:"center",justifyContent:"space-between","@media (max-width: 900px)":{marginRight:"25px"}}},lblProps:{style:{minWidth:100}}},K=(0,d.Z)((function(e){return(0,c.Z)((0,a.Z)((0,a.Z)({},u.oZ),{},{redState:{color:e.palette.error.main,"& .min-icon":{width:16,height:16,marginRight:4}},yellowState:{color:e.palette.warning.main,"& .min-icon":{width:16,height:16,marginRight:4}},greenState:{color:e.palette.success.main,"& .min-icon":{width:16,height:16,marginRight:4}},greyState:{color:"grey","& .min-icon":{width:16,height:16,marginRight:4}},detailSection:{"& div":{"& b,i":{minWidth:80,display:"block",float:"left"},"& i":{fontStyle:"normal",wordWrap:"break-word",overflowWrap:"break-word"},"& div":{clear:"both"},clear:"both",marginBottom:2}},linkedSection:{color:e.palette.info.main,fontFamily:"'Lato', sans-serif"},autoGeneratedLink:{fontStyle:"italic"}},(0,u.Bz)(e.spacing(4))))}))((function(e){var n,t,r,c,d,u,h,f,g,x,Z,w,k,C,R,N,I,E,F,_,B,M,W,K,G=e.classes,H=(0,j.TL)(),q=(0,T.UO)(),J=q.tenantName,Q=q.tenantNamespace,Y=(0,l.v9)((function(e){return e.tenants.tenantInfo})),X=(0,l.v9)((function(e){return s()(e.tenants.tenantInfo,"logEnabled",!1)})),ee=(0,l.v9)((function(e){return s()(e.tenants.tenantInfo,"monitoringEnabled",!1)})),ne=(0,l.v9)((function(e){return s()(e.tenants.tenantInfo,"encryptionEnabled",!1)})),te=(0,l.v9)((function(e){return s()(e.tenants.tenantInfo,"minioTLS",!1)})),ie=(0,l.v9)((function(e){return s()(e.tenants.tenantInfo,"idpAdEnabled",!1)})),ae=(0,l.v9)((function(e){return s()(e.tenants.tenantInfo,"idpOidcEnabled",!1)})),oe=(0,o.useState)(0),le=(0,i.Z)(oe,2),re=le[0],se=le[1],ce=(0,o.useState)(0),de=(0,i.Z)(ce,2),ue=de[0],me=de[1],ve=(0,o.useState)(0),pe=(0,i.Z)(ve,2),he=pe[0],fe=pe[1],ge=(0,o.useState)(!1),xe=(0,i.Z)(ge,2),Ze=xe[0],je=xe[1],be=(0,o.useState)(!1),ye=(0,i.Z)(be,2),Se=ye[0],we=ye[1];(0,o.useEffect)((function(){Y&&(se(Y.pools.length),fe(Y.total_volumes||0),me(Y.total_instances||0))}),[Y]);return(0,b.jsxs)(o.Fragment,{children:[Ze&&(0,b.jsx)(y,{open:Ze,closeModalAndRefresh:function(e){je(!1),e&&H((0,U.v)())},idTenant:J||"",namespace:Q||""}),Se&&(0,b.jsx)(z,{open:Se,idTenant:J||"",namespace:Q||"",domains:(null===Y||void 0===Y?void 0:Y.domains)||null,closeModalAndRefresh:function(e){we(!1),e&&H((0,U.v)())}}),(0,b.jsx)(A.Z,{separator:!1,children:"Details"}),(0,b.jsx)(O,{tenant:Y,classes:G}),(0,b.jsxs)(m.ZP,{container:!0,children:[(0,b.jsxs)(m.ZP,{item:!0,xs:12,sm:12,md:8,children:[(0,b.jsx)(m.ZP,{item:!0,xs:12,children:(0,b.jsx)(D.Z,{label:"State:",value:null===Y||void 0===Y?void 0:Y.currentState})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,children:(0,b.jsx)(D.Z,{label:"MinIO:",value:(0,b.jsx)(S.Z,{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"normal",wordBreak:"break-all"},onClick:function(){je(!0)},children:Y?Y.image:""})})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,children:(0,b.jsxs)("h3",{children:["Domains",(0,b.jsx)(p.zx,{id:"edit-domains",icon:(0,b.jsx)(P.dY8,{}),onClick:function(){we(!0)}})]})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,children:(0,b.jsx)(D.Z,{label:"Console:",value:(0,b.jsxs)(o.Fragment,{children:[null!==Y&&void 0!==Y&&null!==(n=Y.domains)&&void 0!==n&&n.console&&""!==(null===Y||void 0===Y||null===(t=Y.domains)||void 0===t?void 0:t.console)||null!==Y&&void 0!==Y&&null!==(r=Y.endpoints)&&void 0!==r&&r.console?"":"-",(null===Y||void 0===Y||null===(c=Y.endpoints)||void 0===c?void 0:c.console)&&(0,b.jsxs)(o.Fragment,{children:[(0,b.jsx)("a",{href:null===Y||void 0===Y||null===(d=Y.endpoints)||void 0===d?void 0:d.console,target:"_blank",rel:"noopener noreferrer",className:"".concat(G.linkedSection," ").concat(G.autoGeneratedLink),children:(null===Y||void 0===Y||null===(u=Y.endpoints)||void 0===u?void 0:u.console)||"-"}),(0,b.jsx)("br",{})]}),(null===Y||void 0===Y||null===(h=Y.domains)||void 0===h?void 0:h.console)&&""!==(null===Y||void 0===Y||null===(f=Y.domains)||void 0===f?void 0:f.console)&&(0,b.jsx)("a",{href:(null===Y||void 0===Y||null===(g=Y.domains)||void 0===g?void 0:g.console)||"",target:"_blank",rel:"noopener noreferrer",className:G.linkedSection,children:(null===Y||void 0===Y||null===(x=Y.domains)||void 0===x?void 0:x.console)||""})]})})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,children:(0,b.jsx)(D.Z,{label:"MinIO Endpoint".concat(null!==Y&&void 0!==Y&&null!==(Z=Y.endpoints)&&void 0!==Z&&Z.minio&&1===(null===Y||void 0===Y||null===(w=Y.endpoints)||void 0===w?void 0:w.minio.length)?"":"s",":"),value:(0,b.jsxs)(o.Fragment,{children:[null!==Y&&void 0!==Y&&null!==(k=Y.domains)&&void 0!==k&&k.minio||null!==Y&&void 0!==Y&&null!==(C=Y.endpoints)&&void 0!==C&&C.minio?"":"-",(null===Y||void 0===Y||null===(R=Y.endpoints)||void 0===R?void 0:R.minio)&&(0,b.jsxs)(o.Fragment,{children:[(0,b.jsx)("a",{href:null===Y||void 0===Y||null===(N=Y.endpoints)||void 0===N?void 0:N.minio,target:"_blank",rel:"noopener noreferrer",className:"".concat(G.linkedSection," ").concat(G.autoGeneratedLink),children:(null===Y||void 0===Y||null===(I=Y.endpoints)||void 0===I?void 0:I.minio)||"-"}),(0,b.jsx)("br",{})]}),(null===Y||void 0===Y||null===(E=Y.domains)||void 0===E?void 0:E.minio)&&Y.domains.minio.map((function(e){return(0,b.jsxs)(o.Fragment,{children:[(0,b.jsx)("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:G.linkedSection,children:e}),(0,b.jsx)("br",{})]},e)}))]})})})]}),(0,b.jsxs)(m.ZP,{item:!0,xs:12,sm:12,md:4,children:[(0,b.jsx)(m.ZP,{item:!0,xs:12,children:(0,b.jsx)(D.Z,{label:"Instances:",value:ue})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,children:(0,b.jsx)(D.Z,{label:"Clusters:",value:re,stkProps:{style:{marginRight:47}}})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,children:(0,b.jsx)(D.Z,{label:"Total Drives:",value:he,stkProps:{style:{marginRight:43}}})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,children:(0,b.jsx)(D.Z,{label:"Write Quorum:",value:null!==Y&&void 0!==Y&&null!==(F=Y.status)&&void 0!==F&&F.write_quorum?null===Y||void 0===Y||null===(_=Y.status)||void 0===_?void 0:_.write_quorum:0})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,children:(0,b.jsx)(D.Z,{label:"Drives Online:",value:null!==Y&&void 0!==Y&&null!==(B=Y.status)&&void 0!==B&&B.drives_online?null===Y||void 0===Y||null===(M=Y.status)||void 0===M?void 0:M.drives_online:0,stkProps:{style:{marginRight:8}}})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,children:(0,b.jsx)(D.Z,{label:"Drives Offline:",value:null!==Y&&void 0!==Y&&null!==(W=Y.status)&&void 0!==W&&W.drives_offline?null===Y||void 0===Y||null===(K=Y.status)||void 0===K?void 0:K.drives_offline:0,stkProps:{style:{marginRight:7}}})})]})]}),(0,b.jsx)(A.Z,{children:"Features"}),(0,b.jsxs)(v.Z,{sx:(0,a.Z)({},$),children:[(0,b.jsx)(D.Z,(0,a.Z)({orientation:"row",label:"Logs:",value:L(X,"tenant-log")},V)),(0,b.jsx)(D.Z,(0,a.Z)({orientation:"row",label:"AD/LDAP:",value:L(ie,"tenant-sts")},V)),(0,b.jsx)(D.Z,(0,a.Z)({orientation:"row",label:"Encryption:",value:L(ne,"tenant-enc")},V))]}),(0,b.jsxs)(v.Z,{sx:(0,a.Z)({},$),children:[(0,b.jsx)(D.Z,(0,a.Z)({orientation:"row",label:"MinIO TLS:",value:L(te,"tenant-tls")},V)),(0,b.jsx)(D.Z,(0,a.Z)({orientation:"row",label:"Monitoring:",value:L(ee,"tenant-monitor")},V)),(0,b.jsx)(D.Z,(0,a.Z)({orientation:"row",label:"OpenID:",value:L(ae,"tenant-oidc")},V))]})]})}))},22512:function(e,n,t){var i=t(72791),a=t(20890),o=t(11135),l=t(25787),r=t(80184);n.Z=(0,l.Z)((function(e){var n;return(0,o.Z)({errorBlock:{color:(null===(n=e.palette)||void 0===n?void 0:n.error.main)||"#C83B51"}})}))((function(e){var n=e.classes,t=e.errorMessage,o=e.withBreak,l=void 0===o||o;return(0,r.jsxs)(i.Fragment,{children:[l&&(0,r.jsx)("br",{}),(0,r.jsx)(a.Z,{component:"p",variant:"body1",className:n.errorBlock,children:t})]})}))},42419:function(e,n,t){var i=t(64836);n.Z=void 0;var a=i(t(45649)),o=t(80184),l=(0,a.default)((0,o.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"}),"Add");n.Z=l},53767:function(e,n,t){var i=t(4942),a=t(63366),o=t(87462),l=t(72791),r=t(51184),s=t(45682),c=t(78519),d=t(82466),u=t(66934),m=t(31402),v=t(80184),p=["component","direction","spacing","divider","children"];function h(e,n){var t=l.Children.toArray(e).filter(Boolean);return t.reduce((function(e,i,a){return e.push(i),a0?u[t[n-1]]:"column";u[e]=i}}));a=(0,d.Z)(a,(0,r.k9)({theme:t},m,(function(e,t){return{"& > :not(style) + :not(style)":(0,i.Z)({margin:0},"margin".concat((a=t?u[t]:n.direction,{row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"}[a])),(0,s.NA)(l,e))};var a})))}return a=(0,r.dt)(t.breakpoints,a)})),g=l.forwardRef((function(e,n){var t=(0,m.Z)({props:e,name:"MuiStack"}),i=(0,c.Z)(t),l=i.component,r=void 0===l?"div":l,s=i.direction,d=void 0===s?"column":s,u=i.spacing,g=void 0===u?0:u,x=i.divider,Z=i.children,j=(0,a.Z)(i,p),b={direction:d,spacing:g};return(0,v.jsx)(f,(0,o.Z)({as:r,ownerState:b,ref:n},j,{children:x?h(Z,x):Z}))}));n.Z=g},23688:function(e,n,t){function i(){var e=this.constructor.getDerivedStateFromProps(this.props,this.state);null!==e&&void 0!==e&&this.setState(e)}function a(e){this.setState(function(n){var t=this.constructor.getDerivedStateFromProps(e,n);return null!==t&&void 0!==t?t:null}.bind(this))}function o(e,n){try{var t=this.props,i=this.state;this.props=e,this.state=n,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(t,i)}finally{this.props=t,this.state=i}}function l(e){var n=e.prototype;if(!n||!n.isReactComponent)throw new Error("Can only polyfill class components");if("function"!==typeof e.getDerivedStateFromProps&&"function"!==typeof n.getSnapshotBeforeUpdate)return e;var t=null,l=null,r=null;if("function"===typeof n.componentWillMount?t="componentWillMount":"function"===typeof n.UNSAFE_componentWillMount&&(t="UNSAFE_componentWillMount"),"function"===typeof n.componentWillReceiveProps?l="componentWillReceiveProps":"function"===typeof n.UNSAFE_componentWillReceiveProps&&(l="UNSAFE_componentWillReceiveProps"),"function"===typeof n.componentWillUpdate?r="componentWillUpdate":"function"===typeof n.UNSAFE_componentWillUpdate&&(r="UNSAFE_componentWillUpdate"),null!==t||null!==l||null!==r){var s=e.displayName||e.name,c="function"===typeof e.getDerivedStateFromProps?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error("Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n"+s+" uses "+c+" but also contains the following legacy lifecycles:"+(null!==t?"\n "+t:"")+(null!==l?"\n "+l:"")+(null!==r?"\n "+r:"")+"\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://fb.me/react-async-component-lifecycle-hooks")}if("function"===typeof e.getDerivedStateFromProps&&(n.componentWillMount=i,n.componentWillReceiveProps=a),"function"===typeof n.getSnapshotBeforeUpdate){if("function"!==typeof n.componentDidUpdate)throw new Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");n.componentWillUpdate=o;var d=n.componentDidUpdate;n.componentDidUpdate=function(e,n,t){var i=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:t;d.call(this,e,n,i)}}return e}t.r(n),t.d(n,{polyfill:function(){return l}}),i.__suppressDeprecationWarning=!0,a.__suppressDeprecationWarning=!0,o.__suppressDeprecationWarning=!0}}]); -//# sourceMappingURL=1030.0c362d0c.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1030.0c362d0c.chunk.js.map b/portal-ui/build/static/js/1030.0c362d0c.chunk.js.map deleted file mode 100644 index a2256b075..000000000 --- a/portal-ui/build/static/js/1030.0c362d0c.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/1030.0c362d0c.chunk.js","mappings":"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","sources":["screens/Console/Common/AButton/AButton.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/UsageBarWrapper/LabelValuePair.tsx","screens/Console/Common/UsageBar/UsageBar.tsx","screens/Console/Tenants/ListTenants/TenantCapacity.tsx","screens/Console/Tenants/TenantDetails/UpdateTenantModal.tsx","screens/Console/Common/UsageBarWrapper/SummaryUsageBar.tsx","screens/Console/Tenants/TenantDetails/EditDomains.tsx","screens/Console/Tenants/TenantDetails/TenantSummary.tsx","screens/shared/ErrorBlock.tsx","../node_modules/@mui/icons-material/Add.js","../node_modules/@mui/material/Stack/Stack.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButtonProps } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 0,\n margin: 0,\n border: 0,\n backgroundColor: \"transparent\",\n textDecoration: \"underline\",\n cursor: \"pointer\",\n fontSize: \"inherit\",\n color: theme.palette.info.main,\n fontFamily: \"Lato, sans-serif\",\n },\n });\n\ninterface IAButton extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst AButton = ({ classes, children, ...rest }: IAButton) => {\n return (\n \n );\n};\n\nexport default withStyles(styles)(AButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n noContentPadding?: boolean;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n noContentPadding,\n titleIcon = null,\n}: IModalProps) => {\n const dispatch = useAppDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nexport default withStyles(styles)(ModalWrapper);\n","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) 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\nexport interface ISizeBarItem {\n value: number;\n itemName: string;\n color: string;\n}\n\nexport interface IUsageBar {\n totalValue: number;\n sizeItems: ISizeBarItem[];\n bgColor?: string;\n}\n\nconst UsageBar = ({\n totalValue,\n sizeItems,\n bgColor = \"#ededed\",\n}: IUsageBar) => {\n return (\n \n {sizeItems.map((sizeElement, index) => {\n const itemPercentage = (sizeElement.value * 100) / totalValue;\n return (\n \n );\n })}\n \n );\n};\n\nexport default UsageBar;\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 { Cell, Pie, PieChart } from \"recharts\";\nimport { CapacityValue, CapacityValues } from \"./types\";\nimport { niceBytesInt } from \"../../../../common/utils\";\nimport { CircleIcon } from \"../../../../icons\";\nimport UsageBar, { ISizeBarItem } from \"../../Common/UsageBar/UsageBar\";\n\ninterface ITenantCapacity {\n totalCapacity: number;\n usedSpaceVariants: CapacityValues[];\n statusClass: string;\n render?: \"pie\" | \"bar\";\n}\n\nconst TenantCapacity = ({\n totalCapacity,\n usedSpaceVariants,\n statusClass,\n render = \"pie\",\n}: ITenantCapacity) => {\n const colors = [\n \"#8dacd3\",\n \"#bca1ea\",\n \"#92e8d2\",\n \"#efc9ac\",\n \"#97f274\",\n \"#f7d291\",\n \"#71ACCB\",\n \"#f28282\",\n \"#e28cc1\",\n \"#2781B0\",\n ];\n\n const BGColor = \"#ededed\";\n\n const totalUsedSpace = usedSpaceVariants.reduce((acc, currValue) => {\n return acc + currValue.value;\n }, 0);\n\n const emptySpace = totalCapacity - totalUsedSpace;\n\n let tiersList: CapacityValue[] = [];\n\n const standardTier = usedSpaceVariants.find(\n (tier) => tier.variant === \"STANDARD\"\n ) || {\n value: 0,\n variant: \"empty\",\n };\n\n if (usedSpaceVariants.length > 10) {\n const totalUsedByTiers = totalUsedSpace - standardTier.value;\n\n tiersList = [\n { value: totalUsedByTiers, color: \"#2781B0\", label: \"Total Tiers Space\" },\n ];\n } else {\n tiersList = usedSpaceVariants\n .filter((variant) => variant.variant !== \"STANDARD\")\n .map((variant, index) => {\n return {\n value: variant.value,\n color: colors[index],\n label: `Tier - ${variant.variant}`,\n };\n });\n }\n\n let standardTierColor = \"#07193E\";\n\n const usedPercentage = (standardTier.value * 100) / totalCapacity;\n\n if (usedPercentage >= 90) {\n standardTierColor = \"#C83B51\";\n } else if (usedPercentage >= 75) {\n standardTierColor = \"#FFAB0F\";\n }\n\n const plotValues: CapacityValue[] = [\n {\n value: standardTier.value,\n color: standardTierColor,\n label: \"Used Space by Tenant\",\n },\n ...tiersList,\n {\n value: emptySpace,\n color: render === \"bar\" ? BGColor : \"transparent\",\n label: \"Empty Space\",\n },\n ];\n\n if (render === \"bar\") {\n const plotValuesForUsageBar: ISizeBarItem[] = plotValues.map((plotVal) => {\n return {\n value: plotVal.value,\n color: plotVal.color,\n itemName: plotVal.label,\n };\n });\n\n return (\n
\n \n
\n );\n }\n\n return (\n
\n \n \n
\n \n {!isNaN(totalUsedSpace) ? niceBytesInt(totalUsedSpace) : \"N/A\"}\n \n
\n \n \n \n {plotValues.map((entry, index) => (\n \n ))}\n \n \n
\n \n );\n};\n\nexport default TenantCapacity;\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 { Button } from \"mds\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid } from \"@mui/material\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport api from \"../../../../common/api\";\nimport {\n setModalErrorSnackMessage,\n setSnackBarMessage,\n} from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IUpdateTenantModal {\n open: boolean;\n closeModalAndRefresh: (update: boolean) => any;\n namespace: string;\n idTenant: string;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n infoText: {\n fontSize: 14,\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\nconst UpdateTenantModal = ({\n open,\n closeModalAndRefresh,\n namespace,\n idTenant,\n classes,\n}: IUpdateTenantModal) => {\n const dispatch = useAppDispatch();\n const [isSending, setIsSending] = useState(false);\n const [minioImage, setMinioImage] = useState(\"\");\n const [imageRegistry, setImageRegistry] = useState(false);\n const [imageRegistryEndpoint, setImageRegistryEndpoint] =\n useState(\"\");\n const [imageRegistryUsername, setImageRegistryUsername] =\n useState(\"\");\n const [imageRegistryPassword, setImageRegistryPassword] =\n useState(\"\");\n const [validMinioImage, setValidMinioImage] = useState(true);\n\n const validateImage = useCallback(\n (fieldToCheck: string) => {\n const pattern = new RegExp(\"^$|^((.*?)/(.*?):(.+))$\");\n\n switch (fieldToCheck) {\n case \"minioImage\":\n setValidMinioImage(pattern.test(minioImage));\n break;\n }\n },\n [minioImage]\n );\n\n useEffect(() => {\n validateImage(\"minioImage\");\n }, [minioImage, validateImage]);\n\n const closeAction = () => {\n closeModalAndRefresh(false);\n };\n\n const resetForm = () => {\n setMinioImage(\"\");\n setImageRegistry(false);\n setImageRegistryEndpoint(\"\");\n setImageRegistryUsername(\"\");\n setImageRegistryPassword(\"\");\n };\n\n const updateMinIOImage = () => {\n setIsSending(true);\n\n let payload = {\n image: minioImage,\n enable_prometheus: true,\n };\n\n if (imageRegistry) {\n const registry: any = {\n image_registry: {\n registry: imageRegistryEndpoint,\n username: imageRegistryUsername,\n password: imageRegistryPassword,\n },\n };\n payload = {\n ...payload,\n ...registry,\n };\n }\n\n api\n .invoke(\n \"PUT\",\n `/api/v1/namespaces/${namespace}/tenants/${idTenant}`,\n payload\n )\n .then(() => {\n setIsSending(false);\n dispatch(setSnackBarMessage(`Image updated successfully`));\n closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setModalErrorSnackMessage(error));\n setIsSending(false);\n });\n };\n\n return (\n \n \n \n
\n Please enter the MinIO image from dockerhub to use. If blank, then\n latest build will be used.\n
\n
\n
\n \n {\n setMinioImage(e.target.value);\n }}\n />\n \n \n ) => {\n setImageRegistry(!imageRegistry);\n }}\n label={\"Set Custom Image Registry\"}\n indicatorLabels={[\"Yes\", \"No\"]}\n />\n \n {imageRegistry && (\n \n \n {\n setImageRegistryEndpoint(e.target.value);\n }}\n />\n \n \n {\n setImageRegistryUsername(e.target.value);\n }}\n />\n \n \n {\n setImageRegistryPassword(e.target.value);\n }}\n />\n \n \n )}\n
\n \n \n \n \n
\n \n );\n};\n\nexport default withStyles(styles)(UpdateTenantModal);\n","import React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { LinearProgress, Stack } from \"@mui/material\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n CapacityValues,\n ITenant,\n ValueUnit,\n} from \"../../Tenants/ListTenants/types\";\nimport { CircleIcon } from \"../../../../icons\";\nimport { niceBytes, niceBytesInt } from \"../../../../common/utils\";\nimport Loader from \"../Loader/Loader\";\nimport TenantCapacity from \"../../Tenants/ListTenants/TenantCapacity\";\nimport ErrorBlock from \"../../../shared/ErrorBlock\";\nimport LabelValuePair from \"./LabelValuePair\";\n\ninterface ISummaryUsageBar {\n tenant: ITenant;\n label: string;\n error: string;\n loading: boolean;\n classes: any;\n labels?: boolean;\n healthStatus?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n centerItem: {\n textAlign: \"center\",\n },\n });\n\nexport const BorderLinearProgress = withStyles((theme) => ({\n root: {\n height: 10,\n borderRadius: 5,\n },\n colorPrimary: {\n backgroundColor: \"#F4F4F4\",\n },\n bar: {\n borderRadius: 5,\n backgroundColor: \"#081C42\",\n },\n padChart: {\n padding: \"5px\",\n },\n}))(LinearProgress);\n\nconst SummaryUsageBar = ({\n classes,\n tenant,\n healthStatus,\n loading,\n error,\n}: ISummaryUsageBar) => {\n let raw: ValueUnit = { value: \"n/a\", unit: \"\" };\n let capacity: ValueUnit = { value: \"n/a\", unit: \"\" };\n let used: ValueUnit = { value: \"n/a\", unit: \"\" };\n let localUse: ValueUnit = { value: \"n/a\", unit: \"\" };\n let tieredUse: ValueUnit = { value: \"n/a\", unit: \"\" };\n\n if (tenant.status?.usage?.raw) {\n const b = niceBytes(`${tenant.status.usage.raw}`, true);\n const parts = b.split(\" \");\n raw.value = parts[0];\n raw.unit = parts[1];\n }\n if (tenant.status?.usage?.capacity) {\n const b = niceBytes(`${tenant.status.usage.capacity}`, true);\n const parts = b.split(\" \");\n capacity.value = parts[0];\n capacity.unit = parts[1];\n }\n if (tenant.status?.usage?.capacity_usage) {\n const b = niceBytesInt(tenant.status.usage.capacity_usage, true);\n const parts = b.split(\" \");\n used.value = parts[0];\n used.unit = parts[1];\n }\n\n let spaceVariants: CapacityValues[] = [];\n if (!tenant.tiers || tenant.tiers.length === 0) {\n spaceVariants = [\n { value: tenant.status?.usage?.capacity_usage || 0, variant: \"STANDARD\" },\n ];\n } else {\n spaceVariants = tenant.tiers.map((itemTenant) => {\n return { value: itemTenant.size, variant: itemTenant.name };\n });\n let internalUsage = tenant.tiers\n .filter((itemTenant) => {\n return itemTenant.type === \"internal\";\n })\n .reduce((sum, itemTenant) => sum + itemTenant.size, 0);\n let tieredUsage = tenant.tiers\n .filter((itemTenant) => {\n return itemTenant.type !== \"internal\";\n })\n .reduce((sum, itemTenant) => sum + itemTenant.size, 0);\n\n const t = niceBytesInt(tieredUsage, true);\n const parts = t.split(\" \");\n tieredUse.value = parts[0];\n tieredUse.unit = parts[1];\n\n const is = niceBytesInt(internalUsage, true);\n const partsInternal = is.split(\" \");\n localUse.value = partsInternal[0];\n localUse.unit = partsInternal[1];\n }\n\n const renderComponent = () => {\n if (!loading) {\n return error !== \"\" ? (\n \n ) : (\n \n \n \n {(!tenant.tiers || tenant.tiers.length === 0) && (\n \n \n \n )}\n {tenant.tiers && tenant.tiers.length > 0 && (\n \n \n \n \n )}\n {healthStatus && (\n \n \n \n }\n />\n )}\n \n \n );\n }\n\n return null;\n };\n\n return (\n \n {loading && (\n
\n \n \n \n
\n )}\n {renderComponent()}\n
\n );\n};\n\nexport default withStyles(styles)(SummaryUsageBar);\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 { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport { Grid, IconButton } from \"@mui/material\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport {\n ErrorResponseHandler,\n IDomainsRequest,\n} from \"../../../../common/types\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport api from \"../../../../common/api\";\nimport RemoveIcon from \"../../../../icons/RemoveIcon\";\nimport {\n setModalErrorSnackMessage,\n setSnackBarMessage,\n} from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IEditDomains {\n open: boolean;\n closeModalAndRefresh: (update: boolean) => any;\n namespace: string;\n idTenant: string;\n domains: IDomainsRequest | null;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n domainInline: {\n display: \"flex\",\n marginBottom: 15,\n },\n overlayAction: {\n marginLeft: 10,\n display: \"flex\",\n alignItems: \"center\",\n \"& svg\": {\n width: 15,\n height: 15,\n },\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\nconst EditDomains = ({\n open,\n closeModalAndRefresh,\n namespace,\n idTenant,\n domains,\n classes,\n}: IEditDomains) => {\n const dispatch = useAppDispatch();\n const [isSending, setIsSending] = useState(false);\n const [consoleDomain, setConsoleDomain] = useState(\"\");\n const [minioDomains, setMinioDomains] = useState([\"\"]);\n const [consoleDomainValid, setConsoleDomainValid] = useState(true);\n const [minioDomainValid, setMinioDomainValid] = useState([true]);\n\n useEffect(() => {\n if (domains) {\n const consoleDomainSet = domains.console || \"\";\n setConsoleDomain(consoleDomainSet);\n\n if (consoleDomainSet !== \"\") {\n // We Validate console domain\n const consoleRegExp = new RegExp(\n /^(https?):\\/\\/([a-zA-Z0-9\\-.]+)(:[0-9]+)?(\\/[a-zA-Z0-9\\-./]*)?$/\n );\n\n setConsoleDomainValid(consoleRegExp.test(consoleDomainSet));\n } else {\n setConsoleDomainValid(true);\n }\n\n if (domains.minio && domains.minio.length > 0) {\n setMinioDomains(domains.minio);\n\n const minioRegExp = new RegExp(\n /^(https?):\\/\\/([a-zA-Z0-9\\-.]+)(:[0-9]+)?$/\n );\n\n const initialValidations = domains.minio.map((domain) => {\n if (domain.trim() !== \"\") {\n return minioRegExp.test(domain);\n } else {\n return true;\n }\n });\n\n setMinioDomainValid(initialValidations);\n }\n }\n }, [domains]);\n\n const closeAction = () => {\n closeModalAndRefresh(false);\n };\n\n const resetForm = () => {\n setConsoleDomain(\"\");\n setConsoleDomainValid(true);\n setMinioDomains([\"\"]);\n setMinioDomainValid([true]);\n };\n\n const updateDomainsList = () => {\n setIsSending(true);\n\n let payload = {\n domains: {\n console: consoleDomain,\n minio: minioDomains.filter((minioDomain) => minioDomain.trim() !== \"\"),\n },\n };\n api\n .invoke(\n \"PUT\",\n `/api/v1/namespaces/${namespace}/tenants/${idTenant}/domains`,\n payload\n )\n .then(() => {\n setIsSending(false);\n dispatch(setSnackBarMessage(`Domains updated successfully`));\n closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n setIsSending(false);\n dispatch(setModalErrorSnackMessage(error));\n });\n };\n\n const updateMinIODomain = (value: string, index: number) => {\n const cloneDomains = [...minioDomains];\n cloneDomains[index] = value;\n\n setMinioDomains(cloneDomains);\n };\n\n const addNewMinIODomain = () => {\n const cloneDomains = [...minioDomains];\n const cloneValidations = [...minioDomainValid];\n\n cloneDomains.push(\"\");\n cloneValidations.push(true);\n\n setMinioDomains(cloneDomains);\n setMinioDomainValid(cloneValidations);\n };\n\n const removeMinIODomain = (removeIndex: number) => {\n const filteredDomains = minioDomains.filter(\n (_, index) => index !== removeIndex\n );\n\n const filterValidations = minioDomainValid.filter(\n (_, index) => index !== removeIndex\n );\n\n setMinioDomains(filteredDomains);\n setMinioDomainValid(filterValidations);\n };\n\n const setMinioDomainValidation = (domainValid: boolean, index: number) => {\n const cloneValidation = [...minioDomainValid];\n cloneValidation[index] = domainValid;\n\n setMinioDomainValid(cloneValidation);\n };\n return (\n \n \n \n \n
\n ) => {\n setConsoleDomain(e.target.value);\n\n setConsoleDomainValid(e.target.validity.valid);\n }}\n label=\"Console Domain\"\n value={consoleDomain}\n placeholder={\n \"Eg. http://subdomain.domain:port/subpath1/subpath2\"\n }\n pattern={\n \"^(https?):\\\\/\\\\/([a-zA-Z0-9\\\\-.]+)(:[0-9]+)?(\\\\/[a-zA-Z0-9\\\\-.\\\\/]*)?$\"\n }\n error={\n !consoleDomainValid\n ? \"Domain format is incorrect (http|https://subdomain.domain:port/subpath1/subpath2)\"\n : \"\"\n }\n />\n
\n
\n

MinIO Domains

\n
\n {minioDomains.map((domain, index) => {\n return (\n \n ) => {\n updateMinIODomain(e.target.value, index);\n setMinioDomainValidation(\n e.target.validity.valid,\n index\n );\n }}\n label={`MinIO Domain ${index + 1}`}\n value={domain}\n placeholder={\"Eg. http://subdomain.domain\"}\n pattern={\n \"^(https?):\\\\/\\\\/([a-zA-Z0-9\\\\-.]+)(:[0-9]+)?$\"\n }\n error={\n !minioDomainValid[index]\n ? \"MinIO domain format is incorrect (http|https://subdomain.domain)\"\n : \"\"\n }\n />\n
\n \n \n \n
\n\n
\n removeMinIODomain(index)}\n disabled={minioDomains.length <= 1}\n >\n \n \n
\n
\n );\n })}\n
\n \n
\n \n \n !domain).length > 0\n }\n onClick={updateDomainsList}\n label={\"Save\"}\n />\n \n
\n
\n \n );\n};\n\nexport default withStyles(styles)(EditDomains);\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 get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n containerForHeader,\n tenantDetailsStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { Box, Grid } from \"@mui/material\";\nimport UpdateTenantModal from \"./UpdateTenantModal\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport AButton from \"../../Common/AButton/AButton\";\nimport SummaryUsageBar from \"../../Common/UsageBarWrapper/SummaryUsageBar\";\nimport LabelValuePair from \"../../Common/UsageBarWrapper/LabelValuePair\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport SectionTitle from \"../../Common/SectionTitle\";\nimport { Button } from \"mds\";\nimport { EditIcon } from \"../../../../icons\";\nimport EditDomains from \"./EditDomains\";\nimport { ITenant } from \"../ListTenants/types\";\nimport { useParams } from \"react-router-dom\";\nimport { getTenantAsync } from \"../thunks/tenantDetailsAsync\";\n\ninterface ITenantsSummary {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n redState: {\n color: theme.palette.error.main,\n \"& .min-icon\": {\n width: 16,\n height: 16,\n marginRight: 4,\n },\n },\n yellowState: {\n color: theme.palette.warning.main,\n \"& .min-icon\": {\n width: 16,\n height: 16,\n marginRight: 4,\n },\n },\n greenState: {\n color: theme.palette.success.main,\n \"& .min-icon\": {\n width: 16,\n height: 16,\n marginRight: 4,\n },\n },\n greyState: {\n color: \"grey\",\n \"& .min-icon\": {\n width: 16,\n height: 16,\n marginRight: 4,\n },\n },\n detailSection: {\n \"& div\": {\n \"& b,i\": {\n minWidth: 80,\n display: \"block\",\n float: \"left\",\n },\n \"& i\": {\n fontStyle: \"normal\",\n wordWrap: \"break-word\",\n overflowWrap: \"break-word\",\n },\n \"& div\": {\n clear: \"both\",\n },\n clear: \"both\",\n marginBottom: 2,\n },\n },\n linkedSection: {\n color: theme.palette.info.main,\n fontFamily: \"'Lato', sans-serif\",\n },\n autoGeneratedLink: {\n fontStyle: \"italic\",\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst healthStatusToClass = (health_status: string = \"red\", classes: any) => {\n return health_status === \"red\"\n ? classes.redState\n : health_status === \"yellow\"\n ? classes.yellowState\n : health_status === \"green\"\n ? classes.greenState\n : classes.greyState;\n};\n\nconst StorageSummary = ({\n tenant,\n classes,\n}: {\n tenant: ITenant | null;\n classes: any;\n}) => {\n if (!tenant) {\n return null;\n }\n\n return (\n \n );\n};\n\nconst getToggle = (toggleValue: boolean, idPrefix = \"\") => {\n return (\n {}}\n switchOnly\n />\n );\n};\n\nconst featureRowStyle = {\n display: \"flex\",\n justifyContent: \"space-between\",\n marginTop: \"10px\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n};\n\nconst featureItemStyleProps = {\n stkProps: {\n sx: {\n flex: 1,\n marginRight: 10,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n \"@media (max-width: 900px)\": {\n marginRight: \"25px\",\n },\n },\n },\n lblProps: {\n style: {\n minWidth: 100,\n },\n },\n};\nconst TenantSummary = ({ classes }: ITenantsSummary) => {\n const dispatch = useAppDispatch();\n const { tenantName, tenantNamespace } = useParams();\n\n const tenant = useSelector((state: AppState) => state.tenants.tenantInfo);\n const logEnabled = useSelector((state: AppState) =>\n get(state.tenants.tenantInfo, \"logEnabled\", false)\n );\n const monitoringEnabled = useSelector((state: AppState) =>\n get(state.tenants.tenantInfo, \"monitoringEnabled\", false)\n );\n const encryptionEnabled = useSelector((state: AppState) =>\n get(state.tenants.tenantInfo, \"encryptionEnabled\", false)\n );\n const minioTLS = useSelector((state: AppState) =>\n get(state.tenants.tenantInfo, \"minioTLS\", false)\n );\n const adEnabled = useSelector((state: AppState) =>\n get(state.tenants.tenantInfo, \"idpAdEnabled\", false)\n );\n const oidcEnabled = useSelector((state: AppState) =>\n get(state.tenants.tenantInfo, \"idpOidcEnabled\", false)\n );\n\n const [poolCount, setPoolCount] = useState(0);\n const [instances, setInstances] = useState(0);\n const [volumes, setVolumes] = useState(0);\n const [updateMinioVersion, setUpdateMinioVersion] = useState(false);\n const [editDomainsOpen, setEditDomainsOpen] = useState(false);\n\n useEffect(() => {\n if (tenant) {\n setPoolCount(tenant.pools.length);\n setVolumes(tenant.total_volumes || 0);\n setInstances(tenant.total_instances || 0);\n }\n }, [tenant]);\n\n const closeEditDomainsModal = (refresh: boolean) => {\n setEditDomainsOpen(false);\n if (refresh) {\n dispatch(getTenantAsync());\n }\n };\n\n return (\n \n {updateMinioVersion && (\n {\n setUpdateMinioVersion(false);\n if (refresh) {\n dispatch(getTenantAsync());\n }\n }}\n idTenant={tenantName || \"\"}\n namespace={tenantNamespace || \"\"}\n />\n )}\n\n {editDomainsOpen && (\n \n )}\n\n Details\n\n \n\n \n \n \n \n \n \n {\n setUpdateMinioVersion(true);\n }}\n >\n {tenant ? tenant.image : \"\"}\n \n }\n />\n \n \n

\n Domains\n }\n onClick={() => {\n setEditDomainsOpen(true);\n }}\n />\n

\n
\n \n \n {(!tenant?.domains?.console ||\n tenant?.domains?.console === \"\") &&\n !tenant?.endpoints?.console\n ? \"-\"\n : \"\"}\n\n {tenant?.endpoints?.console && (\n \n \n {tenant?.endpoints?.console || \"-\"}\n \n
\n
\n )}\n\n {tenant?.domains?.console && tenant?.domains?.console !== \"\" && (\n \n {tenant?.domains?.console || \"\"}\n \n )}\n
\n }\n />\n \n \n \n {!tenant?.domains?.minio && !tenant?.endpoints?.minio\n ? \"-\"\n : \"\"}\n {tenant?.endpoints?.minio && (\n \n \n {tenant?.endpoints?.minio || \"-\"}\n \n
\n
\n )}\n\n {tenant?.domains?.minio &&\n tenant.domains.minio.map((domain) => {\n return (\n \n \n {domain}\n \n
\n
\n );\n })}\n \n }\n />\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n Features\n \n \n\n \n \n \n \n \n\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(TenantSummary);\n","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","\"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 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\"\n}), 'Add');\nexports.default = _default;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"component\", \"direction\", \"spacing\", \"divider\", \"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { createUnarySpacing, getValue, handleBreakpoints, mergeBreakpointsInOrder, unstable_extendSxProp as extendSxProp, unstable_resolveBreakpointValues as resolveBreakpointValues } from '@mui/system';\nimport { deepmerge } from '@mui/utils';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\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 */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\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 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};\nconst StackRoot = styled('div', {\n name: 'MuiStack',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [styles.root];\n }\n})(style);\nconst Stack = /*#__PURE__*/React.forwardRef(function Stack(inProps, ref) {\n const themeProps = useThemeProps({\n props: inProps,\n name: 'MuiStack'\n });\n const props = extendSxProp(themeProps);\n const {\n component = 'div',\n direction = 'column',\n spacing = 0,\n divider,\n children\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = {\n direction,\n spacing\n };\n return /*#__PURE__*/_jsx(StackRoot, _extends({\n as: component,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: divider ? joinChildren(children, divider) : children\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} : void 0;\nexport default Stack;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n"],"names":["withStyles","theme","createStyles","root","padding","margin","border","backgroundColor","textDecoration","cursor","fontSize","color","palette","info","main","fontFamily","classes","children","rest","className","deleteDialogStyles","content","paddingBottom","customDialogSize","width","maxWidth","snackBarCommon","onClose","modalOpen","title","wideLimit","noContentPadding","titleIcon","dispatch","useAppDispatch","useState","openSnackbar","setOpenSnackbar","modalSnackMessage","useSelector","state","system","modalSnackBar","useEffect","setModalSnackMessage","message","type","customSize","paper","fullWidth","detailedErrorMsg","length","open","scroll","event","reason","titleText","closeContainer","id","closeButton","onClick","disableRipple","size","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","label","value","orientation","stkProps","lblProps","valProps","direction","xs","sm","style","marginRight","fontWeight","totalValue","sizeItems","bgColor","height","borderRadius","display","transitionDuration","overflow","map","sizeElement","index","itemPercentage","toString","totalCapacity","usedSpaceVariants","statusClass","render","colors","BGColor","totalUsedSpace","reduce","acc","currValue","emptySpace","tiersList","standardTier","find","tier","variant","filter","standardTierColor","usedPercentage","plotValues","plotValuesForUsageBar","plotVal","itemName","marginBottom","position","right","top","zIndex","left","transform","isNaN","niceBytesInt","PieChart","Pie","data","cx","cy","dataKey","outerRadius","innerRadius","fill","isAnimationActive","stroke","entry","Cell","infoText","formFieldStyles","modalStyleUtils","closeModalAndRefresh","namespace","idTenant","isSending","setIsSending","minioImage","setMinioImage","imageRegistry","setImageRegistry","imageRegistryEndpoint","setImageRegistryEndpoint","imageRegistryUsername","setImageRegistryUsername","imageRegistryPassword","setImageRegistryPassword","validMinioImage","setValidMinioImage","validateImage","useCallback","fieldToCheck","pattern","RegExp","test","ModalWrapper","Grid","container","item","modalFormScrollable","formFieldRow","InputBoxWrapper","name","placeholder","onChange","e","target","FormSwitchWrapper","checked","indicatorLabels","Fragment","modalButtonBar","disabled","trim","payload","image","enable_prometheus","registry","image_registry","username","password","api","then","setSnackBarMessage","catch","error","setModalErrorSnackMessage","colorPrimary","bar","padChart","LinearProgress","centerItem","textAlign","tenant","healthStatus","loading","raw","unit","capacity","used","localUse","tieredUse","status","usage","parts","niceBytes","split","capacity_usage","spaceVariants","tiers","itemTenant","internalUsage","sum","tieredUsage","partsInternal","Loader","ErrorBlock","errorMessage","withBreak","TenantCapacity","Stack","spacing","md","alignItems","LabelValuePair","renderComponent","domainInline","overlayAction","marginLeft","background","domains","consoleDomain","setConsoleDomain","minioDomains","setMinioDomains","consoleDomainValid","setConsoleDomainValid","minioDomainValid","setMinioDomainValid","consoleDomainSet","console","consoleRegExp","minio","minioRegExp","initialValidations","domain","addNewMinIODomain","cloneDomains","cloneValidations","push","configSectionItem","containerItem","validity","valid","updateMinIODomain","domainValid","cloneValidation","setMinioDomainValidation","IconButton","Add","removeIndex","filteredDomains","_","filterValidations","removeMinIODomain","RemoveIcon","minioDomain","healthStatusToClass","health_status","redState","yellowState","greenState","greyState","StorageSummary","getToggle","toggleValue","idPrefix","switchOnly","featureRowStyle","justifyContent","marginTop","flexFlow","featureItemStyleProps","sx","flex","minWidth","tenantDetailsStyles","warning","success","detailSection","float","fontStyle","wordWrap","overflowWrap","clear","linkedSection","autoGeneratedLink","containerForHeader","useParams","tenantName","tenantNamespace","tenants","tenantInfo","logEnabled","get","monitoringEnabled","encryptionEnabled","minioTLS","adEnabled","oidcEnabled","poolCount","setPoolCount","instances","setInstances","volumes","setVolumes","updateMinioVersion","setUpdateMinioVersion","editDomainsOpen","setEditDomainsOpen","pools","total_volumes","total_instances","refresh","getTenantAsync","SectionTitle","separator","currentState","AButton","textOverflow","whiteSpace","wordBreak","icon","endpoints","href","rel","write_quorum","drives_online","drives_offline","Box","errorBlock","component","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","_excluded","joinChildren","childrenArray","React","Boolean","output","child","key","StackRoot","styled","slot","overridesResolver","props","styles","ownerState","_extends","flexDirection","handleBreakpoints","resolveBreakpointValues","values","breakpoints","propValue","transformer","createUnarySpacing","base","Object","keys","breakpoint","directionValues","spacingValues","forEach","previousDirectionValue","deepmerge","row","column","getValue","mergeBreakpointsInOrder","inProps","ref","themeProps","useThemeProps","extendSxProp","divider","other","_objectWithoutPropertiesLoose","_jsx","as","componentWillMount","this","constructor","getDerivedStateFromProps","undefined","setState","componentWillReceiveProps","nextProps","prevState","bind","componentWillUpdate","nextState","prevProps","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","polyfill","Component","prototype","isReactComponent","Error","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","componentName","displayName","newApiName","componentDidUpdate","maybeSnapshot","snapshot","call","__suppressDeprecationWarning"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1030.39fd7796.chunk.js b/portal-ui/build/static/js/1030.39fd7796.chunk.js new file mode 100644 index 000000000..0c2c136c1 --- /dev/null +++ b/portal-ui/build/static/js/1030.39fd7796.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1030],{81806:function(e,n,t){var i=t(1413),a=t(45987),o=(t(72791),t(11135)),l=t(25787),r=t(80184),s=["classes","children"];n.Z=(0,l.Z)((function(e){return(0,o.Z)({root:{padding:0,margin:0,border:0,backgroundColor:"transparent",textDecoration:"underline",cursor:"pointer",fontSize:"inherit",color:e.palette.info.main,fontFamily:"Lato, sans-serif"}})}))((function(e){var n=e.classes,t=e.children,o=(0,a.Z)(e,s);return(0,r.jsx)("button",(0,i.Z)((0,i.Z)({},o),{},{className:n.root,children:t}))}))},56028:function(e,n,t){var i=t(29439),a=t(1413),o=t(72791),l=t(78687),r=t(13400),s=t(55646),c=t(5574),d=t(65661),u=t(39157),m=t(11135),v=t(25787),p=t(23814),h=t(25469),f=t(29823),g=t(28057),x=t(87995),Z=t(80184);n.Z=(0,v.Z)((function(e){return(0,m.Z)((0,a.Z)((0,a.Z)({},p.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},p.sN))}))((function(e){var n=e.onClose,t=e.modalOpen,m=e.title,v=e.children,p=e.classes,j=e.wideLimit,b=void 0===j||j,y=e.noContentPadding,S=e.titleIcon,w=void 0===S?null:S,k=(0,h.TL)(),P=(0,o.useState)(!1),C=(0,i.Z)(P,2),R=C[0],N=C[1],I=(0,l.v9)((function(e){return e.system.modalSnackBar}));(0,o.useEffect)((function(){k((0,x.MK)(""))}),[k]),(0,o.useEffect)((function(){if(I){if(""===I.message)return void N(!1);"error"!==I.type&&N(!0)}}),[I]);var D=b?{classes:{paper:p.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},E="";return I&&(E=I.detailedErrorMsg,(""===I.detailedErrorMsg||I.detailedErrorMsg.length<5)&&(E=I.message)),(0,Z.jsxs)(c.Z,(0,a.Z)((0,a.Z)({open:t,classes:p},D),{},{scroll:"paper",onClose:function(e,t){"backdropClick"!==t&&n()},className:p.root,children:[(0,Z.jsxs)(d.Z,{className:p.title,children:[(0,Z.jsxs)("div",{className:p.titleText,children:[w," ",m]}),(0,Z.jsx)("div",{className:p.closeContainer,children:(0,Z.jsx)(r.Z,{"aria-label":"close",id:"close",className:p.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,Z.jsx)(f.Z,{})})})]}),(0,Z.jsx)(g.Z,{isModal:!0}),(0,Z.jsx)(s.Z,{open:R,className:p.snackBarModal,onClose:function(){N(!1),k((0,x.MK)(""))},message:E,ContentProps:{className:"".concat(p.snackBar," ").concat(I&&"error"===I.type?p.errorSnackBar:"")},autoHideDuration:I&&"error"===I.type?1e4:5e3}),(0,Z.jsx)(u.Z,{className:y?"":p.content,children:v})]}))}))},45902:function(e,n,t){var i=t(1413),a=(t(72791),t(53767)),o=t(80184);n.Z=function(e){var n=e.label,t=void 0===n?null:n,l=e.value,r=void 0===l?"-":l,s=e.orientation,c=void 0===s?"column":s,d=e.stkProps,u=void 0===d?{}:d,m=e.lblProps,v=void 0===m?{}:m,p=e.valProps,h=void 0===p?{}:p;return(0,o.jsxs)(a.Z,(0,i.Z)((0,i.Z)({direction:{xs:"column",sm:c}},u),{},{children:[(0,o.jsx)("label",(0,i.Z)((0,i.Z)({style:{marginRight:5,fontWeight:600}},v),{},{children:t})),(0,o.jsx)("label",(0,i.Z)((0,i.Z)({style:{marginRight:5,fontWeight:500}},h),{},{children:r}))]}))}},74815:function(e,n,t){t.d(n,{Z:function(){return u}});var i=t(93433),a=(t(72791),t(73909)),o=t(21041),l=t(41048),r=t(45248),s=t(75952),c=t(80184),d=function(e){var n=e.totalValue,t=e.sizeItems,i=e.bgColor,a=void 0===i?"#ededed":i;return(0,c.jsx)("div",{style:{width:"100%",height:12,backgroundColor:a,borderRadius:30,display:"flex",transitionDuration:"0.3s",overflow:"hidden"},children:t.map((function(e,t){var i=100*e.value/n;return(0,c.jsx)("div",{style:{width:"".concat(i,"%"),height:"100%",backgroundColor:e.color,transitionDuration:"0.3s"}},"itemSize-".concat(t.toString()))}))})},u=function(e){var n=e.totalCapacity,t=e.usedSpaceVariants,u=e.statusClass,m=e.render,v=void 0===m?"pie":m,p=["#8dacd3","#bca1ea","#92e8d2","#efc9ac","#97f274","#f7d291","#71ACCB","#f28282","#e28cc1","#2781B0"],h="#ededed",f=t.reduce((function(e,n){return e+n.value}),0),g=n-f,x=[],Z=t.find((function(e){return"STANDARD"===e.variant}))||{value:0,variant:"empty"};t.length>10?x=[{value:f-Z.value,color:"#2781B0",label:"Total Tiers Space"}]:x=t.filter((function(e){return"STANDARD"!==e.variant})).map((function(e,n){return{value:e.value,color:p[n],label:"Tier - ".concat(e.variant)}}));var j="#07193E",b=100*Z.value/n;b>=90?j="#C83B51":b>=75&&(j="#FFAB0F");var y=[{value:Z.value,color:j,label:"Used Space by Tenant"}].concat((0,i.Z)(x),[{value:g,color:"bar"===v?h:"transparent",label:"Empty Space"}]);if("bar"===v){var S=y.map((function(e){return{value:e.value,color:e.color,itemName:e.label}}));return(0,c.jsx)("div",{style:{width:"100%",marginBottom:15},children:(0,c.jsx)(d,{totalValue:n,sizeItems:S,bgColor:h})})}return(0,c.jsxs)("div",{style:{position:"relative",width:110,height:110},children:[(0,c.jsx)("div",{style:{position:"absolute",right:-5,top:15,zIndex:400},className:u,children:(0,c.jsx)(s.J$M,{style:{border:"#fff 2px solid",borderRadius:"100%",width:20,height:20}})}),(0,c.jsx)("span",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",fontWeight:"bold",color:"#000",fontSize:12},children:isNaN(f)?"N/A":(0,r.l5)(f)}),(0,c.jsx)("div",{children:(0,c.jsxs)(a.u,{width:110,height:110,children:[(0,c.jsx)(o.b,{data:[{value:100}],cx:"50%",cy:"50%",dataKey:"value",outerRadius:50,innerRadius:40,fill:h,isAnimationActive:!1,stroke:"none"}),(0,c.jsx)(o.b,{data:y,cx:"50%",cy:"50%",dataKey:"value",outerRadius:50,innerRadius:40,children:y.map((function(e,n){return(0,c.jsx)(l.b,{fill:e.color,stroke:"none"},"cellCapacity-".concat(n))}))})]})})]})}},21353:function(e,n,t){t.r(n),t.d(n,{default:function(){return O}});var i=t(29439),a=t(1413),o=t(72791),l=t(78687),r=t(26181),s=t.n(r),c=t(11135),d=t(25787),u=t(23814),m=t(61889),v=t(64554),p=t(75952),h=t(56028),f=t(21435),g=t(37516),x=t(81207),Z=t(87995),j=t(25469),b=t(80184),y=(0,d.Z)((function(e){return(0,c.Z)((0,a.Z)((0,a.Z)({infoText:{fontSize:14}},u.DF),u.ID))}))((function(e){var n=e.open,t=e.closeModalAndRefresh,l=e.namespace,r=e.idTenant,s=e.classes,c=(0,j.TL)(),d=(0,o.useState)(!1),u=(0,i.Z)(d,2),v=u[0],y=u[1],S=(0,o.useState)(""),w=(0,i.Z)(S,2),k=w[0],P=w[1],C=(0,o.useState)(!1),R=(0,i.Z)(C,2),N=R[0],I=R[1],D=(0,o.useState)(""),E=(0,i.Z)(D,2),F=E[0],A=E[1],_=(0,o.useState)(""),B=(0,i.Z)(_,2),M=B[0],z=B[1],T=(0,o.useState)(""),U=(0,i.Z)(T,2),W=U[0],L=U[1],O=(0,o.useState)(!0),$=(0,i.Z)(O,2),V=$[0],H=$[1],K=(0,o.useCallback)((function(e){var n=new RegExp("^$|^((.*?)/(.*?):(.+))$");if("minioImage"===e)H(n.test(k))}),[k]);(0,o.useEffect)((function(){K("minioImage")}),[k,K]);return(0,b.jsx)(h.Z,{title:"Update MinIO Version",modalOpen:n,onClose:function(){t(!1)},children:(0,b.jsxs)(m.ZP,{container:!0,children:[(0,b.jsxs)(m.ZP,{item:!0,xs:12,className:s.modalFormScrollable,children:[(0,b.jsx)("div",{className:s.infoText,children:"Please enter the MinIO image from dockerhub to use. If blank, then latest build will be used."}),(0,b.jsx)("br",{}),(0,b.jsx)("br",{}),(0,b.jsx)(m.ZP,{item:!0,xs:12,className:s.formFieldRow,children:(0,b.jsx)(f.Z,{value:k,label:"MinIO's Image",id:"minioImage",name:"minioImage",placeholder:"E.g. minio/minio:RELEASE.2022-02-26T02-54-46Z",onChange:function(e){P(e.target.value)}})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,className:s.formFieldRow,children:(0,b.jsx)(g.Z,{value:"imageRegistry",id:"setImageRegistry",name:"setImageRegistry",checked:N,onChange:function(e){I(!N)},label:"Set Custom Image Registry",indicatorLabels:["Yes","No"]})}),N&&(0,b.jsxs)(o.Fragment,{children:[(0,b.jsx)(m.ZP,{item:!0,xs:12,className:s.formFieldRow,children:(0,b.jsx)(f.Z,{value:F,label:"Endpoint",id:"imageRegistry",name:"imageRegistry",placeholder:"E.g. https://index.docker.io/v1/",onChange:function(e){A(e.target.value)}})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,className:s.formFieldRow,children:(0,b.jsx)(f.Z,{value:M,label:"Username",id:"imageRegistryUsername",name:"imageRegistryUsername",placeholder:"Enter image registry username",onChange:function(e){z(e.target.value)}})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,className:s.formFieldRow,children:(0,b.jsx)(f.Z,{value:W,label:"Password",id:"imageRegistryPassword",name:"imageRegistryPassword",placeholder:"Enter image registry password",onChange:function(e){L(e.target.value)}})})]})]}),(0,b.jsxs)(m.ZP,{item:!0,xs:12,className:s.modalButtonBar,children:[(0,b.jsx)(p.zxk,{id:"clear",variant:"regular",onClick:function(){P(""),I(!1),A(""),z(""),L("")},label:"Clear"}),(0,b.jsx)(p.zxk,{id:"save-tenant",type:"submit",variant:"callAction",disabled:!V||N&&(""===F.trim()||""===M.trim()||""===W.trim())||v,onClick:function(){y(!0);var e={image:k,enable_prometheus:!0};if(N){var n={image_registry:{registry:F,username:M,password:W}};e=(0,a.Z)((0,a.Z)({},e),n)}x.Z.invoke("PUT","/api/v1/namespaces/".concat(l,"/tenants/").concat(r),e).then((function(){y(!1),c((0,Z.y1)("Image updated successfully")),t(!0)})).catch((function(e){c((0,Z.zb)(e)),y(!1)}))},label:"Save"})]})]})})})),S=t(81806),w=t(40986),k=t(53767),P=t(45248),C=t(74815),R=t(22512),N=t(45902),I=((0,d.Z)((function(e){return{root:{height:10,borderRadius:5},colorPrimary:{backgroundColor:"#F4F4F4"},bar:{borderRadius:5,backgroundColor:"#081C42"},padChart:{padding:"5px"}}}))(w.Z),(0,d.Z)((function(e){return(0,c.Z)({centerItem:{textAlign:"center"}})}))((function(e){var n,t,i,a,l,r,s=e.classes,c=e.tenant,d=e.healthStatus,u=e.loading,v=e.error,h={value:"n/a",unit:""},f={value:"n/a",unit:""},g={value:"n/a",unit:""},x={value:"n/a",unit:""},Z={value:"n/a",unit:""};if(null!==(n=c.status)&&void 0!==n&&null!==(t=n.usage)&&void 0!==t&&t.raw){var j=(0,P.ae)("".concat(c.status.usage.raw),!0).split(" ");h.value=j[0],h.unit=j[1]}if(null!==(i=c.status)&&void 0!==i&&null!==(a=i.usage)&&void 0!==a&&a.capacity){var y=(0,P.ae)("".concat(c.status.usage.capacity),!0).split(" ");f.value=y[0],f.unit=y[1]}if(null!==(l=c.status)&&void 0!==l&&null!==(r=l.usage)&&void 0!==r&&r.capacity_usage){var S=(0,P.l5)(c.status.usage.capacity_usage,!0).split(" ");g.value=S[0],g.unit=S[1]}var w=[];if(c.tiers&&0!==c.tiers.length){w=c.tiers.map((function(e){return{value:e.size,variant:e.name}}));var I=c.tiers.filter((function(e){return"internal"===e.type})).reduce((function(e,n){return e+n.size}),0),D=c.tiers.filter((function(e){return"internal"!==e.type})).reduce((function(e,n){return e+n.size}),0),E=(0,P.l5)(D,!0).split(" ");Z.value=E[0],Z.unit=E[1];var F=(0,P.l5)(I,!0).split(" ");x.value=F[0],x.unit=F[1]}else{var A,_;w=[{value:(null===(A=c.status)||void 0===A||null===(_=A.usage)||void 0===_?void 0:_.capacity_usage)||0,variant:"STANDARD"}]}return(0,b.jsxs)(o.Fragment,{children:[u&&(0,b.jsx)("div",{className:s.padChart,children:(0,b.jsx)(m.ZP,{item:!0,xs:12,className:s.centerItem,children:(0,b.jsx)(p.aNw,{style:{width:40,height:40}})})}),function(){var e,n;return u?null:""!==v?(0,b.jsx)(R.Z,{errorMessage:v,withBreak:!1}):(0,b.jsxs)(m.ZP,{item:!0,xs:12,children:[(0,b.jsx)(C.Z,{totalCapacity:(null===(e=c.status)||void 0===e||null===(n=e.usage)||void 0===n?void 0:n.raw)||0,usedSpaceVariants:w,statusClass:"",render:"bar"}),(0,b.jsxs)(k.Z,{direction:{xs:"column",sm:"row"},spacing:{xs:1,sm:2,md:4},alignItems:"stretch",margin:"0 0 15px 0",children:[(!c.tiers||0===c.tiers.length)&&(0,b.jsx)(o.Fragment,{children:(0,b.jsx)(N.Z,{label:"Internal:",orientation:"row",value:"".concat(g.value," ").concat(g.unit)})}),c.tiers&&c.tiers.length>0&&(0,b.jsxs)(o.Fragment,{children:[(0,b.jsx)(N.Z,{label:"Internal:",orientation:"row",value:"".concat(x.value," ").concat(x.unit)}),(0,b.jsx)(N.Z,{label:"Tiered:",orientation:"row",value:"".concat(Z.value," ").concat(Z.unit)})]}),d&&(0,b.jsx)(N.Z,{orientation:"row",label:"Health:",value:(0,b.jsx)("span",{className:d,children:(0,b.jsx)(p.J$M,{})})})]})]})}()]})}))),D=t(50896),E=t(93433),F=t(13400),A=t(42419),_=(0,d.Z)((function(e){return(0,c.Z)((0,a.Z)((0,a.Z)({domainInline:{display:"flex",marginBottom:15},overlayAction:{marginLeft:10,display:"flex",alignItems:"center","& svg":{width:15,height:15},"& button":{background:"#EAEAEA"}}},u.DF),u.ID))}))((function(e){var n=e.open,t=e.closeModalAndRefresh,a=e.namespace,l=e.idTenant,r=e.domains,s=e.classes,c=(0,j.TL)(),d=(0,o.useState)(!1),u=(0,i.Z)(d,2),v=u[0],g=u[1],y=(0,o.useState)(""),S=(0,i.Z)(y,2),w=S[0],k=S[1],P=(0,o.useState)([""]),C=(0,i.Z)(P,2),R=C[0],N=C[1],I=(0,o.useState)(!0),D=(0,i.Z)(I,2),_=D[0],B=D[1],M=(0,o.useState)([!0]),z=(0,i.Z)(M,2),T=z[0],U=z[1];(0,o.useEffect)((function(){if(r){var e=r.console||"";if(k(e),""!==e){var n=new RegExp(/^(https?):\/\/([a-zA-Z0-9\-.]+)(:[0-9]+)?(\/[a-zA-Z0-9\-./]*)?$/);B(n.test(e))}else B(!0);if(r.minio&&r.minio.length>0){N(r.minio);var t=new RegExp(/^(https?):\/\/([a-zA-Z0-9\-.]+)(:[0-9]+)?$/),i=r.minio.map((function(e){return""===e.trim()||t.test(e)}));U(i)}}}),[r]);var W=function(){var e=(0,E.Z)(R),n=(0,E.Z)(T);e.push(""),n.push(!0),N(e),U(n)};return(0,b.jsx)(h.Z,{title:"Edit Tenant Domains - ".concat(l),modalOpen:n,onClose:function(){t(!1)},children:(0,b.jsx)(m.ZP,{container:!0,children:(0,b.jsxs)(m.ZP,{item:!0,xs:12,className:s.modalFormScrollable,children:[(0,b.jsxs)(m.ZP,{item:!0,xs:12,className:"".concat(s.configSectionItem),children:[(0,b.jsx)("div",{className:s.containerItem,children:(0,b.jsx)(f.Z,{id:"console_domain",name:"console_domain",onChange:function(e){k(e.target.value),B(e.target.validity.valid)},label:"Console Domain",value:w,placeholder:"Eg. http://subdomain.domain:port/subpath1/subpath2",pattern:"^(https?):\\/\\/([a-zA-Z0-9\\-.]+)(:[0-9]+)?(\\/[a-zA-Z0-9\\-.\\/]*)?$",error:_?"":"Domain format is incorrect (http|https://subdomain.domain:port/subpath1/subpath2)"})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{children:"MinIO Domains"}),(0,b.jsx)("div",{children:R.map((function(e,n){return(0,b.jsxs)("div",{className:"".concat(s.domainInline),children:[(0,b.jsx)(f.Z,{id:"minio-domain-".concat(n.toString()),name:"minio-domain-".concat(n.toString()),onChange:function(e){!function(e,n){var t=(0,E.Z)(R);t[n]=e,N(t)}(e.target.value,n),function(e,n){var t=(0,E.Z)(T);t[n]=e,U(t)}(e.target.validity.valid,n)},label:"MinIO Domain ".concat(n+1),value:e,placeholder:"Eg. http://subdomain.domain",pattern:"^(https?):\\/\\/([a-zA-Z0-9\\-.]+)(:[0-9]+)?$",error:T[n]?"":"MinIO domain format is incorrect (http|https://subdomain.domain)"}),(0,b.jsx)("div",{className:s.overlayAction,children:(0,b.jsx)(F.Z,{size:"small",onClick:W,disabled:n!==R.length-1,children:(0,b.jsx)(A.Z,{})})}),(0,b.jsx)("div",{className:s.overlayAction,children:(0,b.jsx)(F.Z,{size:"small",onClick:function(){return function(e){var n=R.filter((function(n,t){return t!==e})),t=T.filter((function(n,t){return t!==e}));N(n),U(t)}(n)},disabled:R.length<=1,children:(0,b.jsx)(p.HFL,{})})})]},"minio-domain-key-".concat(n.toString()))}))})]})]}),(0,b.jsxs)(m.ZP,{item:!0,xs:12,className:s.modalButtonBar,children:[(0,b.jsx)(p.zxk,{id:"clear-edit-domain",type:"button",variant:"regular",onClick:function(){k(""),B(!0),N([""]),U([!0])},label:"Clear"}),(0,b.jsx)(p.zxk,{id:"save-domain",type:"submit",variant:"callAction",disabled:v||!_||T.filter((function(e){return!e})).length>0,onClick:function(){g(!0);var e={domains:{console:w,minio:R.filter((function(e){return""!==e.trim()}))}};x.Z.invoke("PUT","/api/v1/namespaces/".concat(a,"/tenants/").concat(l,"/domains"),e).then((function(){g(!1),c((0,Z.y1)("Domains updated successfully")),t(!0)})).catch((function(e){g(!1),c((0,Z.zb)(e))}))},label:"Save"})]})]})})})})),B=t(57689),M=t(82295),z=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"red",n=arguments.length>1?arguments[1]:void 0;return"red"===e?n.redState:"yellow"===e?n.yellowState:"green"===e?n.greenState:n.greyState},T=function(e){var n,t=e.tenant,i=e.classes;return t?(0,b.jsx)(I,{tenant:t,label:"Storage",error:"",loading:!1,healthStatus:z(null===t||void 0===t||null===(n=t.status)||void 0===n?void 0:n.health_status,i)}):null},U=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return(0,b.jsx)(g.Z,{indicatorLabels:["Enabled","Disabled"],checked:e,value:e,id:"".concat(n,"-status"),name:"".concat(n,"-status"),onChange:function(){},switchOnly:!0})},W={display:"flex",justifyContent:"space-between",marginTop:"10px","@media (max-width: 600px)":{flexFlow:"column"}},L={stkProps:{sx:{flex:1,marginRight:10,display:"flex",alignItems:"center",justifyContent:"space-between","@media (max-width: 900px)":{marginRight:"25px"}}},lblProps:{style:{minWidth:100}}},O=(0,d.Z)((function(e){return(0,c.Z)((0,a.Z)((0,a.Z)({},u.oZ),{},{redState:{color:e.palette.error.main,"& .min-icon":{width:16,height:16,marginRight:4}},yellowState:{color:e.palette.warning.main,"& .min-icon":{width:16,height:16,marginRight:4}},greenState:{color:e.palette.success.main,"& .min-icon":{width:16,height:16,marginRight:4}},greyState:{color:"grey","& .min-icon":{width:16,height:16,marginRight:4}},detailSection:{"& div":{"& b,i":{minWidth:80,display:"block",float:"left"},"& i":{fontStyle:"normal",wordWrap:"break-word",overflowWrap:"break-word"},"& div":{clear:"both"},clear:"both",marginBottom:2}},linkedSection:{color:e.palette.info.main,fontFamily:"'Lato', sans-serif"},autoGeneratedLink:{fontStyle:"italic"}},(0,u.Bz)(e.spacing(4))))}))((function(e){var n,t,r,c,d,u,h,f,g,x,Z,w,k,P,C,R,I,E,F,A,z,O,$,V,H=e.classes,K=(0,j.TL)(),G=(0,B.UO)(),q=G.tenantName,J=G.tenantNamespace,Q=(0,l.v9)((function(e){return e.tenants.tenantInfo})),Y=(0,l.v9)((function(e){return s()(e.tenants.tenantInfo,"logEnabled",!1)})),X=(0,l.v9)((function(e){return s()(e.tenants.tenantInfo,"monitoringEnabled",!1)})),ee=(0,l.v9)((function(e){return s()(e.tenants.tenantInfo,"encryptionEnabled",!1)})),ne=(0,l.v9)((function(e){return s()(e.tenants.tenantInfo,"minioTLS",!1)})),te=(0,l.v9)((function(e){return s()(e.tenants.tenantInfo,"idpAdEnabled",!1)})),ie=(0,l.v9)((function(e){return s()(e.tenants.tenantInfo,"idpOidcEnabled",!1)})),ae=(0,o.useState)(0),oe=(0,i.Z)(ae,2),le=oe[0],re=oe[1],se=(0,o.useState)(0),ce=(0,i.Z)(se,2),de=ce[0],ue=ce[1],me=(0,o.useState)(0),ve=(0,i.Z)(me,2),pe=ve[0],he=ve[1],fe=(0,o.useState)(!1),ge=(0,i.Z)(fe,2),xe=ge[0],Ze=ge[1],je=(0,o.useState)(!1),be=(0,i.Z)(je,2),ye=be[0],Se=be[1];(0,o.useEffect)((function(){Q&&(re(Q.pools.length),he(Q.total_volumes||0),ue(Q.total_instances||0))}),[Q]);return(0,b.jsxs)(o.Fragment,{children:[xe&&(0,b.jsx)(y,{open:xe,closeModalAndRefresh:function(e){Ze(!1),e&&K((0,M.v)())},idTenant:q||"",namespace:J||""}),ye&&(0,b.jsx)(_,{open:ye,idTenant:q||"",namespace:J||"",domains:(null===Q||void 0===Q?void 0:Q.domains)||null,closeModalAndRefresh:function(e){Se(!1),e&&K((0,M.v)())}}),(0,b.jsx)(D.Z,{separator:!1,children:"Details"}),(0,b.jsx)(T,{tenant:Q,classes:H}),(0,b.jsxs)(m.ZP,{container:!0,children:[(0,b.jsxs)(m.ZP,{item:!0,xs:12,sm:12,md:8,children:[(0,b.jsx)(m.ZP,{item:!0,xs:12,children:(0,b.jsx)(N.Z,{label:"State:",value:null===Q||void 0===Q?void 0:Q.currentState})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,children:(0,b.jsx)(N.Z,{label:"MinIO:",value:(0,b.jsx)(S.Z,{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"normal",wordBreak:"break-all"},onClick:function(){Ze(!0)},children:Q?Q.image:""})})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,children:(0,b.jsxs)("h3",{children:["Domains",(0,b.jsx)(p.zxk,{id:"edit-domains",icon:(0,b.jsx)(p.dY8,{}),onClick:function(){Se(!0)}})]})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,children:(0,b.jsx)(N.Z,{label:"Console:",value:(0,b.jsxs)(o.Fragment,{children:[null!==Q&&void 0!==Q&&null!==(n=Q.domains)&&void 0!==n&&n.console&&""!==(null===Q||void 0===Q||null===(t=Q.domains)||void 0===t?void 0:t.console)||null!==Q&&void 0!==Q&&null!==(r=Q.endpoints)&&void 0!==r&&r.console?"":"-",(null===Q||void 0===Q||null===(c=Q.endpoints)||void 0===c?void 0:c.console)&&(0,b.jsxs)(o.Fragment,{children:[(0,b.jsx)("a",{href:null===Q||void 0===Q||null===(d=Q.endpoints)||void 0===d?void 0:d.console,target:"_blank",rel:"noopener noreferrer",className:"".concat(H.linkedSection," ").concat(H.autoGeneratedLink),children:(null===Q||void 0===Q||null===(u=Q.endpoints)||void 0===u?void 0:u.console)||"-"}),(0,b.jsx)("br",{})]}),(null===Q||void 0===Q||null===(h=Q.domains)||void 0===h?void 0:h.console)&&""!==(null===Q||void 0===Q||null===(f=Q.domains)||void 0===f?void 0:f.console)&&(0,b.jsx)("a",{href:(null===Q||void 0===Q||null===(g=Q.domains)||void 0===g?void 0:g.console)||"",target:"_blank",rel:"noopener noreferrer",className:H.linkedSection,children:(null===Q||void 0===Q||null===(x=Q.domains)||void 0===x?void 0:x.console)||""})]})})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,children:(0,b.jsx)(N.Z,{label:"MinIO Endpoint".concat(null!==Q&&void 0!==Q&&null!==(Z=Q.endpoints)&&void 0!==Z&&Z.minio&&1===(null===Q||void 0===Q||null===(w=Q.endpoints)||void 0===w?void 0:w.minio.length)?"":"s",":"),value:(0,b.jsxs)(o.Fragment,{children:[null!==Q&&void 0!==Q&&null!==(k=Q.domains)&&void 0!==k&&k.minio||null!==Q&&void 0!==Q&&null!==(P=Q.endpoints)&&void 0!==P&&P.minio?"":"-",(null===Q||void 0===Q||null===(C=Q.endpoints)||void 0===C?void 0:C.minio)&&(0,b.jsxs)(o.Fragment,{children:[(0,b.jsx)("a",{href:null===Q||void 0===Q||null===(R=Q.endpoints)||void 0===R?void 0:R.minio,target:"_blank",rel:"noopener noreferrer",className:"".concat(H.linkedSection," ").concat(H.autoGeneratedLink),children:(null===Q||void 0===Q||null===(I=Q.endpoints)||void 0===I?void 0:I.minio)||"-"}),(0,b.jsx)("br",{})]}),(null===Q||void 0===Q||null===(E=Q.domains)||void 0===E?void 0:E.minio)&&Q.domains.minio.map((function(e){return(0,b.jsxs)(o.Fragment,{children:[(0,b.jsx)("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:H.linkedSection,children:e}),(0,b.jsx)("br",{})]},e)}))]})})})]}),(0,b.jsxs)(m.ZP,{item:!0,xs:12,sm:12,md:4,children:[(0,b.jsx)(m.ZP,{item:!0,xs:12,children:(0,b.jsx)(N.Z,{label:"Instances:",value:de})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,children:(0,b.jsx)(N.Z,{label:"Clusters:",value:le,stkProps:{style:{marginRight:47}}})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,children:(0,b.jsx)(N.Z,{label:"Total Drives:",value:pe,stkProps:{style:{marginRight:43}}})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,children:(0,b.jsx)(N.Z,{label:"Write Quorum:",value:null!==Q&&void 0!==Q&&null!==(F=Q.status)&&void 0!==F&&F.write_quorum?null===Q||void 0===Q||null===(A=Q.status)||void 0===A?void 0:A.write_quorum:0})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,children:(0,b.jsx)(N.Z,{label:"Drives Online:",value:null!==Q&&void 0!==Q&&null!==(z=Q.status)&&void 0!==z&&z.drives_online?null===Q||void 0===Q||null===(O=Q.status)||void 0===O?void 0:O.drives_online:0,stkProps:{style:{marginRight:8}}})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,children:(0,b.jsx)(N.Z,{label:"Drives Offline:",value:null!==Q&&void 0!==Q&&null!==($=Q.status)&&void 0!==$&&$.drives_offline?null===Q||void 0===Q||null===(V=Q.status)||void 0===V?void 0:V.drives_offline:0,stkProps:{style:{marginRight:7}}})})]})]}),(0,b.jsx)(D.Z,{children:"Features"}),(0,b.jsxs)(v.Z,{sx:(0,a.Z)({},W),children:[(0,b.jsx)(N.Z,(0,a.Z)({orientation:"row",label:"Logs:",value:U(Y,"tenant-log")},L)),(0,b.jsx)(N.Z,(0,a.Z)({orientation:"row",label:"AD/LDAP:",value:U(te,"tenant-sts")},L)),(0,b.jsx)(N.Z,(0,a.Z)({orientation:"row",label:"Encryption:",value:U(ee,"tenant-enc")},L))]}),(0,b.jsxs)(v.Z,{sx:(0,a.Z)({},W),children:[(0,b.jsx)(N.Z,(0,a.Z)({orientation:"row",label:"MinIO TLS:",value:U(ne,"tenant-tls")},L)),(0,b.jsx)(N.Z,(0,a.Z)({orientation:"row",label:"Monitoring:",value:U(X,"tenant-monitor")},L)),(0,b.jsx)(N.Z,(0,a.Z)({orientation:"row",label:"OpenID:",value:U(ie,"tenant-oidc")},L))]})]})}))},22512:function(e,n,t){var i=t(72791),a=t(20890),o=t(11135),l=t(25787),r=t(80184);n.Z=(0,l.Z)((function(e){var n;return(0,o.Z)({errorBlock:{color:(null===(n=e.palette)||void 0===n?void 0:n.error.main)||"#C83B51"}})}))((function(e){var n=e.classes,t=e.errorMessage,o=e.withBreak,l=void 0===o||o;return(0,r.jsxs)(i.Fragment,{children:[l&&(0,r.jsx)("br",{}),(0,r.jsx)(a.Z,{component:"p",variant:"body1",className:n.errorBlock,children:t})]})}))},42419:function(e,n,t){var i=t(64836);n.Z=void 0;var a=i(t(45649)),o=t(80184),l=(0,a.default)((0,o.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"}),"Add");n.Z=l},53767:function(e,n,t){var i=t(4942),a=t(63366),o=t(87462),l=t(72791),r=t(51184),s=t(45682),c=t(78519),d=t(82466),u=t(66934),m=t(31402),v=t(80184),p=["component","direction","spacing","divider","children"];function h(e,n){var t=l.Children.toArray(e).filter(Boolean);return t.reduce((function(e,i,a){return e.push(i),a0?u[t[n-1]]:"column";u[e]=i}}));a=(0,d.Z)(a,(0,r.k9)({theme:t},m,(function(e,t){return{"& > :not(style) + :not(style)":(0,i.Z)({margin:0},"margin".concat((a=t?u[t]:n.direction,{row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"}[a])),(0,s.NA)(l,e))};var a})))}return a=(0,r.dt)(t.breakpoints,a)})),g=l.forwardRef((function(e,n){var t=(0,m.Z)({props:e,name:"MuiStack"}),i=(0,c.Z)(t),l=i.component,r=void 0===l?"div":l,s=i.direction,d=void 0===s?"column":s,u=i.spacing,g=void 0===u?0:u,x=i.divider,Z=i.children,j=(0,a.Z)(i,p),b={direction:d,spacing:g};return(0,v.jsx)(f,(0,o.Z)({as:r,ownerState:b,ref:n},j,{children:x?h(Z,x):Z}))}));n.Z=g},23688:function(e,n,t){function i(){var e=this.constructor.getDerivedStateFromProps(this.props,this.state);null!==e&&void 0!==e&&this.setState(e)}function a(e){this.setState(function(n){var t=this.constructor.getDerivedStateFromProps(e,n);return null!==t&&void 0!==t?t:null}.bind(this))}function o(e,n){try{var t=this.props,i=this.state;this.props=e,this.state=n,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(t,i)}finally{this.props=t,this.state=i}}function l(e){var n=e.prototype;if(!n||!n.isReactComponent)throw new Error("Can only polyfill class components");if("function"!==typeof e.getDerivedStateFromProps&&"function"!==typeof n.getSnapshotBeforeUpdate)return e;var t=null,l=null,r=null;if("function"===typeof n.componentWillMount?t="componentWillMount":"function"===typeof n.UNSAFE_componentWillMount&&(t="UNSAFE_componentWillMount"),"function"===typeof n.componentWillReceiveProps?l="componentWillReceiveProps":"function"===typeof n.UNSAFE_componentWillReceiveProps&&(l="UNSAFE_componentWillReceiveProps"),"function"===typeof n.componentWillUpdate?r="componentWillUpdate":"function"===typeof n.UNSAFE_componentWillUpdate&&(r="UNSAFE_componentWillUpdate"),null!==t||null!==l||null!==r){var s=e.displayName||e.name,c="function"===typeof e.getDerivedStateFromProps?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error("Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n"+s+" uses "+c+" but also contains the following legacy lifecycles:"+(null!==t?"\n "+t:"")+(null!==l?"\n "+l:"")+(null!==r?"\n "+r:"")+"\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://fb.me/react-async-component-lifecycle-hooks")}if("function"===typeof e.getDerivedStateFromProps&&(n.componentWillMount=i,n.componentWillReceiveProps=a),"function"===typeof n.getSnapshotBeforeUpdate){if("function"!==typeof n.componentDidUpdate)throw new Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");n.componentWillUpdate=o;var d=n.componentDidUpdate;n.componentDidUpdate=function(e,n,t){var i=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:t;d.call(this,e,n,i)}}return e}t.r(n),t.d(n,{polyfill:function(){return l}}),i.__suppressDeprecationWarning=!0,a.__suppressDeprecationWarning=!0,o.__suppressDeprecationWarning=!0}}]); +//# sourceMappingURL=1030.39fd7796.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1030.39fd7796.chunk.js.map b/portal-ui/build/static/js/1030.39fd7796.chunk.js.map new file mode 100644 index 000000000..4e4828ef6 --- /dev/null +++ b/portal-ui/build/static/js/1030.39fd7796.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1030.39fd7796.chunk.js","mappings":"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","sources":["screens/Console/Common/AButton/AButton.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/UsageBarWrapper/LabelValuePair.tsx","screens/Console/Common/UsageBar/UsageBar.tsx","screens/Console/Tenants/ListTenants/TenantCapacity.tsx","screens/Console/Tenants/TenantDetails/UpdateTenantModal.tsx","screens/Console/Common/UsageBarWrapper/SummaryUsageBar.tsx","screens/Console/Tenants/TenantDetails/EditDomains.tsx","screens/Console/Tenants/TenantDetails/TenantSummary.tsx","screens/shared/ErrorBlock.tsx","../node_modules/@mui/icons-material/Add.js","../node_modules/@mui/material/Stack/Stack.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButtonProps } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 0,\n margin: 0,\n border: 0,\n backgroundColor: \"transparent\",\n textDecoration: \"underline\",\n cursor: \"pointer\",\n fontSize: \"inherit\",\n color: theme.palette.info.main,\n fontFamily: \"Lato, sans-serif\",\n },\n });\n\ninterface IAButton extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst AButton = ({ classes, children, ...rest }: IAButton) => {\n return (\n \n );\n};\n\nexport default withStyles(styles)(AButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n noContentPadding?: boolean;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n noContentPadding,\n titleIcon = null,\n}: IModalProps) => {\n const dispatch = useAppDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nexport default withStyles(styles)(ModalWrapper);\n","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) 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\nexport interface ISizeBarItem {\n value: number;\n itemName: string;\n color: string;\n}\n\nexport interface IUsageBar {\n totalValue: number;\n sizeItems: ISizeBarItem[];\n bgColor?: string;\n}\n\nconst UsageBar = ({\n totalValue,\n sizeItems,\n bgColor = \"#ededed\",\n}: IUsageBar) => {\n return (\n \n {sizeItems.map((sizeElement, index) => {\n const itemPercentage = (sizeElement.value * 100) / totalValue;\n return (\n \n );\n })}\n \n );\n};\n\nexport default UsageBar;\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 { Cell, Pie, PieChart } from \"recharts\";\nimport { CapacityValue, CapacityValues } from \"./types\";\nimport { niceBytesInt } from \"../../../../common/utils\";\nimport { CircleIcon } from \"mds\";\nimport UsageBar, { ISizeBarItem } from \"../../Common/UsageBar/UsageBar\";\n\ninterface ITenantCapacity {\n totalCapacity: number;\n usedSpaceVariants: CapacityValues[];\n statusClass: string;\n render?: \"pie\" | \"bar\";\n}\n\nconst TenantCapacity = ({\n totalCapacity,\n usedSpaceVariants,\n statusClass,\n render = \"pie\",\n}: ITenantCapacity) => {\n const colors = [\n \"#8dacd3\",\n \"#bca1ea\",\n \"#92e8d2\",\n \"#efc9ac\",\n \"#97f274\",\n \"#f7d291\",\n \"#71ACCB\",\n \"#f28282\",\n \"#e28cc1\",\n \"#2781B0\",\n ];\n\n const BGColor = \"#ededed\";\n\n const totalUsedSpace = usedSpaceVariants.reduce((acc, currValue) => {\n return acc + currValue.value;\n }, 0);\n\n const emptySpace = totalCapacity - totalUsedSpace;\n\n let tiersList: CapacityValue[] = [];\n\n const standardTier = usedSpaceVariants.find(\n (tier) => tier.variant === \"STANDARD\"\n ) || {\n value: 0,\n variant: \"empty\",\n };\n\n if (usedSpaceVariants.length > 10) {\n const totalUsedByTiers = totalUsedSpace - standardTier.value;\n\n tiersList = [\n { value: totalUsedByTiers, color: \"#2781B0\", label: \"Total Tiers Space\" },\n ];\n } else {\n tiersList = usedSpaceVariants\n .filter((variant) => variant.variant !== \"STANDARD\")\n .map((variant, index) => {\n return {\n value: variant.value,\n color: colors[index],\n label: `Tier - ${variant.variant}`,\n };\n });\n }\n\n let standardTierColor = \"#07193E\";\n\n const usedPercentage = (standardTier.value * 100) / totalCapacity;\n\n if (usedPercentage >= 90) {\n standardTierColor = \"#C83B51\";\n } else if (usedPercentage >= 75) {\n standardTierColor = \"#FFAB0F\";\n }\n\n const plotValues: CapacityValue[] = [\n {\n value: standardTier.value,\n color: standardTierColor,\n label: \"Used Space by Tenant\",\n },\n ...tiersList,\n {\n value: emptySpace,\n color: render === \"bar\" ? BGColor : \"transparent\",\n label: \"Empty Space\",\n },\n ];\n\n if (render === \"bar\") {\n const plotValuesForUsageBar: ISizeBarItem[] = plotValues.map((plotVal) => {\n return {\n value: plotVal.value,\n color: plotVal.color,\n itemName: plotVal.label,\n };\n });\n\n return (\n
\n \n
\n );\n }\n\n return (\n
\n \n \n
\n \n {!isNaN(totalUsedSpace) ? niceBytesInt(totalUsedSpace) : \"N/A\"}\n \n
\n \n \n \n {plotValues.map((entry, index) => (\n \n ))}\n \n \n
\n \n );\n};\n\nexport default TenantCapacity;\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 { Button } from \"mds\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid } from \"@mui/material\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport api from \"../../../../common/api\";\nimport {\n setModalErrorSnackMessage,\n setSnackBarMessage,\n} from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IUpdateTenantModal {\n open: boolean;\n closeModalAndRefresh: (update: boolean) => any;\n namespace: string;\n idTenant: string;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n infoText: {\n fontSize: 14,\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\nconst UpdateTenantModal = ({\n open,\n closeModalAndRefresh,\n namespace,\n idTenant,\n classes,\n}: IUpdateTenantModal) => {\n const dispatch = useAppDispatch();\n const [isSending, setIsSending] = useState(false);\n const [minioImage, setMinioImage] = useState(\"\");\n const [imageRegistry, setImageRegistry] = useState(false);\n const [imageRegistryEndpoint, setImageRegistryEndpoint] =\n useState(\"\");\n const [imageRegistryUsername, setImageRegistryUsername] =\n useState(\"\");\n const [imageRegistryPassword, setImageRegistryPassword] =\n useState(\"\");\n const [validMinioImage, setValidMinioImage] = useState(true);\n\n const validateImage = useCallback(\n (fieldToCheck: string) => {\n const pattern = new RegExp(\"^$|^((.*?)/(.*?):(.+))$\");\n\n switch (fieldToCheck) {\n case \"minioImage\":\n setValidMinioImage(pattern.test(minioImage));\n break;\n }\n },\n [minioImage]\n );\n\n useEffect(() => {\n validateImage(\"minioImage\");\n }, [minioImage, validateImage]);\n\n const closeAction = () => {\n closeModalAndRefresh(false);\n };\n\n const resetForm = () => {\n setMinioImage(\"\");\n setImageRegistry(false);\n setImageRegistryEndpoint(\"\");\n setImageRegistryUsername(\"\");\n setImageRegistryPassword(\"\");\n };\n\n const updateMinIOImage = () => {\n setIsSending(true);\n\n let payload = {\n image: minioImage,\n enable_prometheus: true,\n };\n\n if (imageRegistry) {\n const registry: any = {\n image_registry: {\n registry: imageRegistryEndpoint,\n username: imageRegistryUsername,\n password: imageRegistryPassword,\n },\n };\n payload = {\n ...payload,\n ...registry,\n };\n }\n\n api\n .invoke(\n \"PUT\",\n `/api/v1/namespaces/${namespace}/tenants/${idTenant}`,\n payload\n )\n .then(() => {\n setIsSending(false);\n dispatch(setSnackBarMessage(`Image updated successfully`));\n closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setModalErrorSnackMessage(error));\n setIsSending(false);\n });\n };\n\n return (\n \n \n \n
\n Please enter the MinIO image from dockerhub to use. If blank, then\n latest build will be used.\n
\n
\n
\n \n {\n setMinioImage(e.target.value);\n }}\n />\n \n \n ) => {\n setImageRegistry(!imageRegistry);\n }}\n label={\"Set Custom Image Registry\"}\n indicatorLabels={[\"Yes\", \"No\"]}\n />\n \n {imageRegistry && (\n \n \n {\n setImageRegistryEndpoint(e.target.value);\n }}\n />\n \n \n {\n setImageRegistryUsername(e.target.value);\n }}\n />\n \n \n {\n setImageRegistryPassword(e.target.value);\n }}\n />\n \n \n )}\n
\n \n \n \n \n
\n \n );\n};\n\nexport default withStyles(styles)(UpdateTenantModal);\n","import React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { LinearProgress, Stack } from \"@mui/material\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n CapacityValues,\n ITenant,\n ValueUnit,\n} from \"../../Tenants/ListTenants/types\";\nimport { CircleIcon } from \"mds\";\nimport { niceBytes, niceBytesInt } from \"../../../../common/utils\";\nimport { Loader } from \"mds\";\nimport TenantCapacity from \"../../Tenants/ListTenants/TenantCapacity\";\nimport ErrorBlock from \"../../../shared/ErrorBlock\";\nimport LabelValuePair from \"./LabelValuePair\";\n\ninterface ISummaryUsageBar {\n tenant: ITenant;\n label: string;\n error: string;\n loading: boolean;\n classes: any;\n labels?: boolean;\n healthStatus?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n centerItem: {\n textAlign: \"center\",\n },\n });\n\nexport const BorderLinearProgress = withStyles((theme) => ({\n root: {\n height: 10,\n borderRadius: 5,\n },\n colorPrimary: {\n backgroundColor: \"#F4F4F4\",\n },\n bar: {\n borderRadius: 5,\n backgroundColor: \"#081C42\",\n },\n padChart: {\n padding: \"5px\",\n },\n}))(LinearProgress);\n\nconst SummaryUsageBar = ({\n classes,\n tenant,\n healthStatus,\n loading,\n error,\n}: ISummaryUsageBar) => {\n let raw: ValueUnit = { value: \"n/a\", unit: \"\" };\n let capacity: ValueUnit = { value: \"n/a\", unit: \"\" };\n let used: ValueUnit = { value: \"n/a\", unit: \"\" };\n let localUse: ValueUnit = { value: \"n/a\", unit: \"\" };\n let tieredUse: ValueUnit = { value: \"n/a\", unit: \"\" };\n\n if (tenant.status?.usage?.raw) {\n const b = niceBytes(`${tenant.status.usage.raw}`, true);\n const parts = b.split(\" \");\n raw.value = parts[0];\n raw.unit = parts[1];\n }\n if (tenant.status?.usage?.capacity) {\n const b = niceBytes(`${tenant.status.usage.capacity}`, true);\n const parts = b.split(\" \");\n capacity.value = parts[0];\n capacity.unit = parts[1];\n }\n if (tenant.status?.usage?.capacity_usage) {\n const b = niceBytesInt(tenant.status.usage.capacity_usage, true);\n const parts = b.split(\" \");\n used.value = parts[0];\n used.unit = parts[1];\n }\n\n let spaceVariants: CapacityValues[] = [];\n if (!tenant.tiers || tenant.tiers.length === 0) {\n spaceVariants = [\n { value: tenant.status?.usage?.capacity_usage || 0, variant: \"STANDARD\" },\n ];\n } else {\n spaceVariants = tenant.tiers.map((itemTenant) => {\n return { value: itemTenant.size, variant: itemTenant.name };\n });\n let internalUsage = tenant.tiers\n .filter((itemTenant) => {\n return itemTenant.type === \"internal\";\n })\n .reduce((sum, itemTenant) => sum + itemTenant.size, 0);\n let tieredUsage = tenant.tiers\n .filter((itemTenant) => {\n return itemTenant.type !== \"internal\";\n })\n .reduce((sum, itemTenant) => sum + itemTenant.size, 0);\n\n const t = niceBytesInt(tieredUsage, true);\n const parts = t.split(\" \");\n tieredUse.value = parts[0];\n tieredUse.unit = parts[1];\n\n const is = niceBytesInt(internalUsage, true);\n const partsInternal = is.split(\" \");\n localUse.value = partsInternal[0];\n localUse.unit = partsInternal[1];\n }\n\n const renderComponent = () => {\n if (!loading) {\n return error !== \"\" ? (\n \n ) : (\n \n \n \n {(!tenant.tiers || tenant.tiers.length === 0) && (\n \n \n \n )}\n {tenant.tiers && tenant.tiers.length > 0 && (\n \n \n \n \n )}\n {healthStatus && (\n \n \n \n }\n />\n )}\n \n \n );\n }\n\n return null;\n };\n\n return (\n \n {loading && (\n
\n \n \n \n
\n )}\n {renderComponent()}\n
\n );\n};\n\nexport default withStyles(styles)(SummaryUsageBar);\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 { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport { Grid, IconButton } from \"@mui/material\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport {\n ErrorResponseHandler,\n IDomainsRequest,\n} from \"../../../../common/types\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport api from \"../../../../common/api\";\nimport { RemoveIcon } from \"mds\";\nimport {\n setModalErrorSnackMessage,\n setSnackBarMessage,\n} from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IEditDomains {\n open: boolean;\n closeModalAndRefresh: (update: boolean) => any;\n namespace: string;\n idTenant: string;\n domains: IDomainsRequest | null;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n domainInline: {\n display: \"flex\",\n marginBottom: 15,\n },\n overlayAction: {\n marginLeft: 10,\n display: \"flex\",\n alignItems: \"center\",\n \"& svg\": {\n width: 15,\n height: 15,\n },\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\nconst EditDomains = ({\n open,\n closeModalAndRefresh,\n namespace,\n idTenant,\n domains,\n classes,\n}: IEditDomains) => {\n const dispatch = useAppDispatch();\n const [isSending, setIsSending] = useState(false);\n const [consoleDomain, setConsoleDomain] = useState(\"\");\n const [minioDomains, setMinioDomains] = useState([\"\"]);\n const [consoleDomainValid, setConsoleDomainValid] = useState(true);\n const [minioDomainValid, setMinioDomainValid] = useState([true]);\n\n useEffect(() => {\n if (domains) {\n const consoleDomainSet = domains.console || \"\";\n setConsoleDomain(consoleDomainSet);\n\n if (consoleDomainSet !== \"\") {\n // We Validate console domain\n const consoleRegExp = new RegExp(\n /^(https?):\\/\\/([a-zA-Z0-9\\-.]+)(:[0-9]+)?(\\/[a-zA-Z0-9\\-./]*)?$/\n );\n\n setConsoleDomainValid(consoleRegExp.test(consoleDomainSet));\n } else {\n setConsoleDomainValid(true);\n }\n\n if (domains.minio && domains.minio.length > 0) {\n setMinioDomains(domains.minio);\n\n const minioRegExp = new RegExp(\n /^(https?):\\/\\/([a-zA-Z0-9\\-.]+)(:[0-9]+)?$/\n );\n\n const initialValidations = domains.minio.map((domain) => {\n if (domain.trim() !== \"\") {\n return minioRegExp.test(domain);\n } else {\n return true;\n }\n });\n\n setMinioDomainValid(initialValidations);\n }\n }\n }, [domains]);\n\n const closeAction = () => {\n closeModalAndRefresh(false);\n };\n\n const resetForm = () => {\n setConsoleDomain(\"\");\n setConsoleDomainValid(true);\n setMinioDomains([\"\"]);\n setMinioDomainValid([true]);\n };\n\n const updateDomainsList = () => {\n setIsSending(true);\n\n let payload = {\n domains: {\n console: consoleDomain,\n minio: minioDomains.filter((minioDomain) => minioDomain.trim() !== \"\"),\n },\n };\n api\n .invoke(\n \"PUT\",\n `/api/v1/namespaces/${namespace}/tenants/${idTenant}/domains`,\n payload\n )\n .then(() => {\n setIsSending(false);\n dispatch(setSnackBarMessage(`Domains updated successfully`));\n closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n setIsSending(false);\n dispatch(setModalErrorSnackMessage(error));\n });\n };\n\n const updateMinIODomain = (value: string, index: number) => {\n const cloneDomains = [...minioDomains];\n cloneDomains[index] = value;\n\n setMinioDomains(cloneDomains);\n };\n\n const addNewMinIODomain = () => {\n const cloneDomains = [...minioDomains];\n const cloneValidations = [...minioDomainValid];\n\n cloneDomains.push(\"\");\n cloneValidations.push(true);\n\n setMinioDomains(cloneDomains);\n setMinioDomainValid(cloneValidations);\n };\n\n const removeMinIODomain = (removeIndex: number) => {\n const filteredDomains = minioDomains.filter(\n (_, index) => index !== removeIndex\n );\n\n const filterValidations = minioDomainValid.filter(\n (_, index) => index !== removeIndex\n );\n\n setMinioDomains(filteredDomains);\n setMinioDomainValid(filterValidations);\n };\n\n const setMinioDomainValidation = (domainValid: boolean, index: number) => {\n const cloneValidation = [...minioDomainValid];\n cloneValidation[index] = domainValid;\n\n setMinioDomainValid(cloneValidation);\n };\n return (\n \n \n \n \n
\n ) => {\n setConsoleDomain(e.target.value);\n\n setConsoleDomainValid(e.target.validity.valid);\n }}\n label=\"Console Domain\"\n value={consoleDomain}\n placeholder={\n \"Eg. http://subdomain.domain:port/subpath1/subpath2\"\n }\n pattern={\n \"^(https?):\\\\/\\\\/([a-zA-Z0-9\\\\-.]+)(:[0-9]+)?(\\\\/[a-zA-Z0-9\\\\-.\\\\/]*)?$\"\n }\n error={\n !consoleDomainValid\n ? \"Domain format is incorrect (http|https://subdomain.domain:port/subpath1/subpath2)\"\n : \"\"\n }\n />\n
\n
\n

MinIO Domains

\n
\n {minioDomains.map((domain, index) => {\n return (\n \n ) => {\n updateMinIODomain(e.target.value, index);\n setMinioDomainValidation(\n e.target.validity.valid,\n index\n );\n }}\n label={`MinIO Domain ${index + 1}`}\n value={domain}\n placeholder={\"Eg. http://subdomain.domain\"}\n pattern={\n \"^(https?):\\\\/\\\\/([a-zA-Z0-9\\\\-.]+)(:[0-9]+)?$\"\n }\n error={\n !minioDomainValid[index]\n ? \"MinIO domain format is incorrect (http|https://subdomain.domain)\"\n : \"\"\n }\n />\n
\n \n \n \n
\n\n
\n removeMinIODomain(index)}\n disabled={minioDomains.length <= 1}\n >\n \n \n
\n
\n );\n })}\n
\n \n
\n \n \n !domain).length > 0\n }\n onClick={updateDomainsList}\n label={\"Save\"}\n />\n \n
\n
\n \n );\n};\n\nexport default withStyles(styles)(EditDomains);\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 get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n containerForHeader,\n tenantDetailsStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { Box, Grid } from \"@mui/material\";\nimport UpdateTenantModal from \"./UpdateTenantModal\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport AButton from \"../../Common/AButton/AButton\";\nimport SummaryUsageBar from \"../../Common/UsageBarWrapper/SummaryUsageBar\";\nimport LabelValuePair from \"../../Common/UsageBarWrapper/LabelValuePair\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport SectionTitle from \"../../Common/SectionTitle\";\nimport { Button } from \"mds\";\nimport { EditIcon } from \"mds\";\nimport EditDomains from \"./EditDomains\";\nimport { ITenant } from \"../ListTenants/types\";\nimport { useParams } from \"react-router-dom\";\nimport { getTenantAsync } from \"../thunks/tenantDetailsAsync\";\n\ninterface ITenantsSummary {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n redState: {\n color: theme.palette.error.main,\n \"& .min-icon\": {\n width: 16,\n height: 16,\n marginRight: 4,\n },\n },\n yellowState: {\n color: theme.palette.warning.main,\n \"& .min-icon\": {\n width: 16,\n height: 16,\n marginRight: 4,\n },\n },\n greenState: {\n color: theme.palette.success.main,\n \"& .min-icon\": {\n width: 16,\n height: 16,\n marginRight: 4,\n },\n },\n greyState: {\n color: \"grey\",\n \"& .min-icon\": {\n width: 16,\n height: 16,\n marginRight: 4,\n },\n },\n detailSection: {\n \"& div\": {\n \"& b,i\": {\n minWidth: 80,\n display: \"block\",\n float: \"left\",\n },\n \"& i\": {\n fontStyle: \"normal\",\n wordWrap: \"break-word\",\n overflowWrap: \"break-word\",\n },\n \"& div\": {\n clear: \"both\",\n },\n clear: \"both\",\n marginBottom: 2,\n },\n },\n linkedSection: {\n color: theme.palette.info.main,\n fontFamily: \"'Lato', sans-serif\",\n },\n autoGeneratedLink: {\n fontStyle: \"italic\",\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst healthStatusToClass = (health_status: string = \"red\", classes: any) => {\n return health_status === \"red\"\n ? classes.redState\n : health_status === \"yellow\"\n ? classes.yellowState\n : health_status === \"green\"\n ? classes.greenState\n : classes.greyState;\n};\n\nconst StorageSummary = ({\n tenant,\n classes,\n}: {\n tenant: ITenant | null;\n classes: any;\n}) => {\n if (!tenant) {\n return null;\n }\n\n return (\n \n );\n};\n\nconst getToggle = (toggleValue: boolean, idPrefix = \"\") => {\n return (\n {}}\n switchOnly\n />\n );\n};\n\nconst featureRowStyle = {\n display: \"flex\",\n justifyContent: \"space-between\",\n marginTop: \"10px\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n};\n\nconst featureItemStyleProps = {\n stkProps: {\n sx: {\n flex: 1,\n marginRight: 10,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n \"@media (max-width: 900px)\": {\n marginRight: \"25px\",\n },\n },\n },\n lblProps: {\n style: {\n minWidth: 100,\n },\n },\n};\nconst TenantSummary = ({ classes }: ITenantsSummary) => {\n const dispatch = useAppDispatch();\n const { tenantName, tenantNamespace } = useParams();\n\n const tenant = useSelector((state: AppState) => state.tenants.tenantInfo);\n const logEnabled = useSelector((state: AppState) =>\n get(state.tenants.tenantInfo, \"logEnabled\", false)\n );\n const monitoringEnabled = useSelector((state: AppState) =>\n get(state.tenants.tenantInfo, \"monitoringEnabled\", false)\n );\n const encryptionEnabled = useSelector((state: AppState) =>\n get(state.tenants.tenantInfo, \"encryptionEnabled\", false)\n );\n const minioTLS = useSelector((state: AppState) =>\n get(state.tenants.tenantInfo, \"minioTLS\", false)\n );\n const adEnabled = useSelector((state: AppState) =>\n get(state.tenants.tenantInfo, \"idpAdEnabled\", false)\n );\n const oidcEnabled = useSelector((state: AppState) =>\n get(state.tenants.tenantInfo, \"idpOidcEnabled\", false)\n );\n\n const [poolCount, setPoolCount] = useState(0);\n const [instances, setInstances] = useState(0);\n const [volumes, setVolumes] = useState(0);\n const [updateMinioVersion, setUpdateMinioVersion] = useState(false);\n const [editDomainsOpen, setEditDomainsOpen] = useState(false);\n\n useEffect(() => {\n if (tenant) {\n setPoolCount(tenant.pools.length);\n setVolumes(tenant.total_volumes || 0);\n setInstances(tenant.total_instances || 0);\n }\n }, [tenant]);\n\n const closeEditDomainsModal = (refresh: boolean) => {\n setEditDomainsOpen(false);\n if (refresh) {\n dispatch(getTenantAsync());\n }\n };\n\n return (\n \n {updateMinioVersion && (\n {\n setUpdateMinioVersion(false);\n if (refresh) {\n dispatch(getTenantAsync());\n }\n }}\n idTenant={tenantName || \"\"}\n namespace={tenantNamespace || \"\"}\n />\n )}\n\n {editDomainsOpen && (\n \n )}\n\n Details\n\n \n\n \n \n \n \n \n \n {\n setUpdateMinioVersion(true);\n }}\n >\n {tenant ? tenant.image : \"\"}\n \n }\n />\n \n \n

\n Domains\n }\n onClick={() => {\n setEditDomainsOpen(true);\n }}\n />\n

\n
\n \n \n {(!tenant?.domains?.console ||\n tenant?.domains?.console === \"\") &&\n !tenant?.endpoints?.console\n ? \"-\"\n : \"\"}\n\n {tenant?.endpoints?.console && (\n \n \n {tenant?.endpoints?.console || \"-\"}\n \n
\n
\n )}\n\n {tenant?.domains?.console && tenant?.domains?.console !== \"\" && (\n \n {tenant?.domains?.console || \"\"}\n \n )}\n
\n }\n />\n \n \n \n {!tenant?.domains?.minio && !tenant?.endpoints?.minio\n ? \"-\"\n : \"\"}\n {tenant?.endpoints?.minio && (\n \n \n {tenant?.endpoints?.minio || \"-\"}\n \n
\n
\n )}\n\n {tenant?.domains?.minio &&\n tenant.domains.minio.map((domain) => {\n return (\n \n \n {domain}\n \n
\n
\n );\n })}\n \n }\n />\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n Features\n \n \n\n \n \n \n \n \n\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(TenantSummary);\n","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","\"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 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\"\n}), 'Add');\nexports.default = _default;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"component\", \"direction\", \"spacing\", \"divider\", \"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { createUnarySpacing, getValue, handleBreakpoints, mergeBreakpointsInOrder, unstable_extendSxProp as extendSxProp, unstable_resolveBreakpointValues as resolveBreakpointValues } from '@mui/system';\nimport { deepmerge } from '@mui/utils';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\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 */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\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 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};\nconst StackRoot = styled('div', {\n name: 'MuiStack',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [styles.root];\n }\n})(style);\nconst Stack = /*#__PURE__*/React.forwardRef(function Stack(inProps, ref) {\n const themeProps = useThemeProps({\n props: inProps,\n name: 'MuiStack'\n });\n const props = extendSxProp(themeProps);\n const {\n component = 'div',\n direction = 'column',\n spacing = 0,\n divider,\n children\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = {\n direction,\n spacing\n };\n return /*#__PURE__*/_jsx(StackRoot, _extends({\n as: component,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: divider ? joinChildren(children, divider) : children\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} : void 0;\nexport default Stack;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n"],"names":["withStyles","theme","createStyles","root","padding","margin","border","backgroundColor","textDecoration","cursor","fontSize","color","palette","info","main","fontFamily","classes","children","rest","className","deleteDialogStyles","content","paddingBottom","customDialogSize","width","maxWidth","snackBarCommon","onClose","modalOpen","title","wideLimit","noContentPadding","titleIcon","dispatch","useAppDispatch","useState","openSnackbar","setOpenSnackbar","modalSnackMessage","useSelector","state","system","modalSnackBar","useEffect","setModalSnackMessage","message","type","customSize","paper","fullWidth","detailedErrorMsg","length","open","scroll","event","reason","titleText","closeContainer","id","closeButton","onClick","disableRipple","size","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","label","value","orientation","stkProps","lblProps","valProps","direction","xs","sm","style","marginRight","fontWeight","totalValue","sizeItems","bgColor","height","borderRadius","display","transitionDuration","overflow","map","sizeElement","index","itemPercentage","toString","totalCapacity","usedSpaceVariants","statusClass","render","colors","BGColor","totalUsedSpace","reduce","acc","currValue","emptySpace","tiersList","standardTier","find","tier","variant","filter","standardTierColor","usedPercentage","plotValues","plotValuesForUsageBar","plotVal","itemName","marginBottom","position","right","top","zIndex","left","transform","isNaN","niceBytesInt","PieChart","Pie","data","cx","cy","dataKey","outerRadius","innerRadius","fill","isAnimationActive","stroke","entry","Cell","infoText","formFieldStyles","modalStyleUtils","closeModalAndRefresh","namespace","idTenant","isSending","setIsSending","minioImage","setMinioImage","imageRegistry","setImageRegistry","imageRegistryEndpoint","setImageRegistryEndpoint","imageRegistryUsername","setImageRegistryUsername","imageRegistryPassword","setImageRegistryPassword","validMinioImage","setValidMinioImage","validateImage","useCallback","fieldToCheck","pattern","RegExp","test","ModalWrapper","Grid","container","item","modalFormScrollable","formFieldRow","InputBoxWrapper","name","placeholder","onChange","e","target","FormSwitchWrapper","checked","indicatorLabels","Fragment","modalButtonBar","disabled","trim","payload","image","enable_prometheus","registry","image_registry","username","password","api","then","setSnackBarMessage","catch","error","setModalErrorSnackMessage","colorPrimary","bar","padChart","LinearProgress","centerItem","textAlign","tenant","healthStatus","loading","raw","unit","capacity","used","localUse","tieredUse","status","usage","parts","niceBytes","split","capacity_usage","spaceVariants","tiers","itemTenant","internalUsage","sum","tieredUsage","partsInternal","ErrorBlock","errorMessage","withBreak","TenantCapacity","Stack","spacing","md","alignItems","LabelValuePair","renderComponent","domainInline","overlayAction","marginLeft","background","domains","consoleDomain","setConsoleDomain","minioDomains","setMinioDomains","consoleDomainValid","setConsoleDomainValid","minioDomainValid","setMinioDomainValid","consoleDomainSet","console","consoleRegExp","minio","minioRegExp","initialValidations","domain","addNewMinIODomain","cloneDomains","cloneValidations","push","configSectionItem","containerItem","validity","valid","updateMinIODomain","domainValid","cloneValidation","setMinioDomainValidation","IconButton","Add","removeIndex","filteredDomains","_","filterValidations","removeMinIODomain","minioDomain","healthStatusToClass","health_status","redState","yellowState","greenState","greyState","StorageSummary","getToggle","toggleValue","idPrefix","switchOnly","featureRowStyle","justifyContent","marginTop","flexFlow","featureItemStyleProps","sx","flex","minWidth","tenantDetailsStyles","warning","success","detailSection","float","fontStyle","wordWrap","overflowWrap","clear","linkedSection","autoGeneratedLink","containerForHeader","useParams","tenantName","tenantNamespace","tenants","tenantInfo","logEnabled","get","monitoringEnabled","encryptionEnabled","minioTLS","adEnabled","oidcEnabled","poolCount","setPoolCount","instances","setInstances","volumes","setVolumes","updateMinioVersion","setUpdateMinioVersion","editDomainsOpen","setEditDomainsOpen","pools","total_volumes","total_instances","refresh","getTenantAsync","SectionTitle","separator","currentState","AButton","textOverflow","whiteSpace","wordBreak","icon","endpoints","href","rel","write_quorum","drives_online","drives_offline","Box","errorBlock","component","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","_excluded","joinChildren","childrenArray","React","Boolean","output","child","key","StackRoot","styled","slot","overridesResolver","props","styles","ownerState","_extends","flexDirection","handleBreakpoints","resolveBreakpointValues","values","breakpoints","propValue","transformer","createUnarySpacing","base","Object","keys","breakpoint","directionValues","spacingValues","forEach","previousDirectionValue","deepmerge","row","column","getValue","mergeBreakpointsInOrder","inProps","ref","themeProps","useThemeProps","extendSxProp","divider","other","_objectWithoutPropertiesLoose","_jsx","as","componentWillMount","this","constructor","getDerivedStateFromProps","undefined","setState","componentWillReceiveProps","nextProps","prevState","bind","componentWillUpdate","nextState","prevProps","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","polyfill","Component","prototype","isReactComponent","Error","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","componentName","displayName","newApiName","componentDidUpdate","maybeSnapshot","snapshot","call","__suppressDeprecationWarning"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1275.1d84ee6a.chunk.js b/portal-ui/build/static/js/1275.1d84ee6a.chunk.js new file mode 100644 index 000000000..b0b8b70ea --- /dev/null +++ b/portal-ui/build/static/js/1275.1d84ee6a.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1275],{23804:function(e,n,t){t(72791);var r=t(11135),a=t(25787),i=t(61889),s=t(80184);n.Z=(0,a.Z)((function(e){return(0,r.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var n=e.classes,t=e.iconComponent,r=e.title,a=e.help;return(0,s.jsx)("div",{className:n.root,children:(0,s.jsxs)(i.ZP,{container:!0,children:[(0,s.jsxs)(i.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,r]}),(0,s.jsx)(i.ZP,{item:!0,xs:12,className:n.helpText,children:a})]})})}))},37798:function(e,n,t){t.r(n),t.d(n,{default:function(){return Z}});var r=t(1413),a=t(72791),i=t(26181),s=t.n(i),o=t(75952),l=t(11135),c=t(25787),u=t(56028),d=t(61889),m=t(77196),f=t(63466),h=t(78029),x=t.n(h),p=t(23814),g=t(27454),v=t(80184),y=(0,c.Z)((function(e){return(0,l.Z)({container:{display:"flex",flexFlow:"column",padding:"20px 0 8px 0"},inputWithCopy:{"& .MuiInputBase-root ":{width:"100%",background:"#FBFAFA","& .MuiInputBase-input":{height:".8rem"},"& .MuiInputAdornment-positionEnd":{marginRight:".5rem","& .MuiButtonBase-root":{height:"2rem"}}},"& .MuiButtonBase-root .min-icon":{width:".8rem",height:".8rem"}},inputLabel:(0,r.Z)((0,r.Z)({},p.YI.inputLabel),{},{fontSize:".8rem"})})}))((function(e){var n=e.label,t=void 0===n?"":n,r=e.value,a=void 0===r?"":r,i=e.classes,s=void 0===i?{}:i;return(0,v.jsxs)("div",{className:s.container,children:[(0,v.jsxs)("div",{className:s.inputLabel,children:[t,":"]}),(0,v.jsx)("div",{className:s.inputWithCopy,children:(0,v.jsx)(m.Z,{value:a,readOnly:!0,endAdornment:(0,v.jsx)(f.Z,{position:"end",children:(0,v.jsx)(g.Z,{tooltip:"Copy",children:(0,v.jsx)(x(),{text:a,children:(0,v.jsx)(o.zxk,{id:"copy-clipboard","aria-label":"copy",onClick:function(){},onMouseDown:function(){},style:{width:"28px",height:"28px",padding:"0px"},icon:(0,v.jsx)(o.TIy,{})})})})})})})]})})),j=function(e,n){var t=document.createElement("a");t.setAttribute("href","data:text/plain;charset=utf-8,"+n),t.setAttribute("download",e),t.style.display="none",document.body.appendChild(t),t.click(),document.body.removeChild(t)},Z=(0,c.Z)((function(e){return(0,l.Z)({warningBlock:{color:"red",fontSize:".85rem",margin:".5rem 0 .5rem 0",display:"flex",alignItems:"center","& svg ":{marginRight:".3rem",height:16,width:16}},credentialTitle:{padding:".8rem 0 0 0",fontWeight:600,fontSize:".9rem"},buttonContainer:{display:"flex",justifyContent:"flex-end",marginTop:"1rem"},credentialsPanel:{overflowY:"auto",maxHeight:350},promptTitle:{display:"flex",alignItems:"center"},buttonSpacer:{marginRight:".9rem"}})}))((function(e){var n=e.classes,t=e.newServiceAccount,i=e.open,l=e.closeModal,c=e.entity;if(!t)return null;var m=s()(t,"console",null),f=s()(t,"idp",!1);return(0,v.jsx)(u.Z,{modalOpen:i,onClose:function(){l()},title:(0,v.jsx)("div",{className:n.promptTitle,children:(0,v.jsxs)("div",{children:["New ",c," Created"]})}),titleIcon:(0,v.jsx)(o.tVY,{}),children:(0,v.jsxs)(d.ZP,{container:!0,children:[(0,v.jsxs)(d.ZP,{item:!0,xs:12,className:n.formScrollable,children:["A new ",c," has been created with the following details:",!f&&m&&(0,v.jsx)(a.Fragment,{children:(0,v.jsxs)(d.ZP,{item:!0,xs:12,className:n.credentialsPanel,children:[(0,v.jsx)("div",{className:n.credentialTitle,children:"Console Credentials"}),Array.isArray(m)&&m.map((function(e,n){return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(y,{label:"Access Key",value:e.accessKey}),(0,v.jsx)(y,{label:"Secret Key",value:e.secretKey})]})})),!Array.isArray(m)&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(y,{label:"Access Key",value:m.accessKey}),(0,v.jsx)(y,{label:"Secret Key",value:m.secretKey})]})]})}),(null===m||void 0===m)&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(y,{label:"Access Key",value:t.accessKey||""}),(0,v.jsx)(y,{label:"Secret Key",value:t.secretKey||""})]}),f?(0,v.jsx)("div",{className:n.warningBlock,children:"Please Login via the configured external identity provider."}):(0,v.jsxs)("div",{className:n.warningBlock,children:[(0,v.jsx)(o.e6P,{}),(0,v.jsx)("span",{children:"Write these down, as this is the only time the secret will be displayed."})]})]}),(0,v.jsx)(d.ZP,{item:!0,xs:12,className:n.buttonContainer,children:!f&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(g.Z,{tooltip:"Download credentials in a JSON file formatted for import using mc alias import. This will only include the default login credentials.",children:(0,v.jsx)(o.zxk,{id:"download-button",label:"Download for import",className:n.buttonSpacer,onClick:function(){var e={};m?e=Array.isArray(m)?m.map((function(e){return{url:e.url,accessKey:e.accessKey,secretKey:e.secretKey,api:"s3v4",path:"auto"}}))[0]:{url:m.url,accessKey:m.accessKey,secretKey:m.secretKey,api:"s3v4",path:"auto"}:e={url:t.url,accessKey:t.accessKey,secretKey:t.secretKey,api:"s3v4",path:"auto"};j("credentials.json",JSON.stringify((0,r.Z)({},e)))},icon:(0,v.jsx)(o._8t,{}),variant:"callAction"})}),Array.isArray(m)&&m.length>1&&(0,v.jsx)(g.Z,{tooltip:"Download all access credentials to a JSON file. NOTE: This file is not formatted for import using mc alias import. If you plan to import this alias from the file, please use the Download for Import button. ",children:(0,v.jsx)(o.zxk,{id:"download-all-button",label:"Download all access credentials",className:n.buttonSpacer,onClick:function(){var e={};m&&Array.isArray(m)&&m.length>1&&(e=m.map((function(e){return{accessKey:e.accessKey,secretKey:e.secretKey}})));j("all_credentials.json",JSON.stringify((0,r.Z)({},e)))},icon:(0,v.jsx)(o._8t,{}),variant:"callAction",color:"primary"})})]})})]})})}))},92217:function(e,n,t){var r=t(1413),a=t(72791),i=t(61889),s=t(30829),o=t(20068),l=t(64554),c=t(11135),u=t(25787),d=t(75952),m=t(23814),f=t(78029),h=t.n(f),x=t(90932),p=t(27454),g=t(80184);n.Z=(0,u.Z)((function(e){return(0,c.Z)((0,r.Z)({},m.YI))}))((function(e){var n=e.value,t=e.label,r=void 0===t?"":t,c=e.tooltip,u=void 0===c?"":c,m=e.mode,f=void 0===m?"json":m,v=e.classes,y=e.onBeforeChange,j=(e.readOnly,e.editorHeight),Z=void 0===j?"250px":j;return(0,g.jsxs)(a.Fragment,{children:[(0,g.jsx)(i.ZP,{item:!0,xs:12,sx:{marginBottom:"10px"},children:(0,g.jsxs)(s.Z,{className:v.inputLabel,children:[(0,g.jsx)("span",{children:r}),""!==u&&(0,g.jsx)("div",{className:v.tooltipContainer,children:(0,g.jsx)(o.Z,{title:u,placement:"top-start",children:(0,g.jsx)("div",{className:v.tooltip,children:(0,g.jsx)(d.byK,{})})})})]})}),(0,g.jsx)(i.ZP,{item:!0,xs:12,style:{maxHeight:Z,overflow:"auto",border:"1px solid #eaeaea"},children:(0,g.jsx)(x.Z,{value:n,language:f,onChange:function(e){y(null,null,e.target.value)},id:"code_wrapper",padding:15,style:{fontSize:12,backgroundColor:"#fefefe",fontFamily:"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace",minHeight:Z||"initial",color:"#000000"}})}),(0,g.jsx)(i.ZP,{item:!0,xs:12,sx:{background:"#f7f7f7",border:"1px solid #eaeaea",borderTop:0},children:(0,g.jsx)(l.Z,{sx:{display:"flex",alignItems:"center",padding:"2px",paddingRight:"5px",justifyContent:"flex-end","& button":{height:"26px",width:"26px",padding:"2px"," .min-icon":{marginLeft:"0"}}},children:(0,g.jsx)(p.Z,{tooltip:"Copy to Clipboard",children:(0,g.jsx)(h(),{text:n,children:(0,g.jsx)(d.zxk,{type:"button",id:"copy-code-mirror",icon:(0,g.jsx)(d.TIy,{}),color:"primary",variant:"regular"})})})})})]})}))},54639:function(e,n,t){t.d(n,{Z:function(){return j}});var r=t(29439),a=t(1413),i=t(72791),s=t(26181),o=t.n(s),l=t(61889),c=t(30829),u=t(20068),d=t(13400),m=t(99663),f=t(86711),h=t(11135),x=t(25787),p=t(23814),g=t(75952),v=t(22512),y=t(80184),j=(0,x.Z)((function(e){return(0,h.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},p.YI),p.Hr),{},{valueString:{maxWidth:350,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",marginTop:2},fileInputField:{margin:"13px 0","@media (max-width: 900px)":{flexFlow:"column"}}},p.bV),{},{inputLabel:(0,a.Z)((0,a.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"}),textBoxContainer:(0,a.Z)((0,a.Z)({},p.YI.textBoxContainer),{},{maxWidth:"100%",border:"1px solid #eaeaea",paddingLeft:"15px"})}))}))((function(e){var n=e.label,t=e.classes,a=e.onChange,s=e.id,h=e.name,x=e.disabled,p=void 0!==x&&x,j=e.tooltip,Z=void 0===j?"":j,C=e.required,b=e.error,S=void 0===b?"":b,_=e.accept,N=void 0===_?"":_,A=e.value,T=void 0===A?"":A,P=(0,i.useState)(!1),I=(0,r.Z)(P,2),w=I[0],k=I[1];return(0,y.jsx)(i.Fragment,{children:(0,y.jsxs)(l.ZP,{item:!0,xs:12,className:"".concat(t.fileInputField," ").concat(t.fieldBottom," ").concat(t.fieldContainer," ").concat(""!==S?t.errorInField:""),children:[""!==n&&(0,y.jsxs)(c.Z,{htmlFor:s,className:"".concat(""!==S?t.fieldLabelError:""," ").concat(t.inputLabel),children:[(0,y.jsxs)("span",{children:[n,C?"*":""]}),""!==Z&&(0,y.jsx)("div",{className:t.tooltipContainer,children:(0,y.jsx)(u.Z,{title:Z,placement:"top-start",children:(0,y.jsx)("div",{className:t.tooltip,children:(0,y.jsx)(g.byK,{})})})})]}),w||""===T?(0,y.jsxs)("div",{className:t.textBoxContainer,children:[(0,y.jsx)("input",{type:"file",name:h,onChange:function(e){var n=o()(e,"target.files[0].name","");!function(e,n){var t=e.target.files[0],r=new FileReader;r.readAsDataURL(t),r.onload=function(){var e=r.result;if(e){var t=e.toString().split("base64,");2===t.length&&n(t[1])}}}(e,(function(e){a(e,n)}))},accept:N,required:C,disabled:p,className:t.fileInputField}),""!==T&&(0,y.jsx)(d.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){k(!1)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,y.jsx)(f.Z,{})}),""!==S&&(0,y.jsx)(v.Z,{errorMessage:S})]}):(0,y.jsxs)("div",{className:t.fileReselect,children:[(0,y.jsx)("div",{className:t.valueString,children:T}),(0,y.jsx)(d.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){k(!0)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,y.jsx)(m.Z,{})})]})]})})}))},56028:function(e,n,t){var r=t(29439),a=t(1413),i=t(72791),s=t(78687),o=t(13400),l=t(55646),c=t(5574),u=t(65661),d=t(39157),m=t(11135),f=t(25787),h=t(23814),x=t(25469),p=t(29823),g=t(28057),v=t(87995),y=t(80184);n.Z=(0,f.Z)((function(e){return(0,m.Z)((0,a.Z)((0,a.Z)({},h.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},h.sN))}))((function(e){var n=e.onClose,t=e.modalOpen,m=e.title,f=e.children,h=e.classes,j=e.wideLimit,Z=void 0===j||j,C=e.noContentPadding,b=e.titleIcon,S=void 0===b?null:b,_=(0,x.TL)(),N=(0,i.useState)(!1),A=(0,r.Z)(N,2),T=A[0],P=A[1],I=(0,s.v9)((function(e){return e.system.modalSnackBar}));(0,i.useEffect)((function(){_((0,v.MK)(""))}),[_]),(0,i.useEffect)((function(){if(I){if(""===I.message)return void P(!1);"error"!==I.type&&P(!0)}}),[I]);var w=Z?{classes:{paper:h.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},k="";return I&&(k=I.detailedErrorMsg,(""===I.detailedErrorMsg||I.detailedErrorMsg.length<5)&&(k=I.message)),(0,y.jsxs)(c.Z,(0,a.Z)((0,a.Z)({open:t,classes:h},w),{},{scroll:"paper",onClose:function(e,t){"backdropClick"!==t&&n()},className:h.root,children:[(0,y.jsxs)(u.Z,{className:h.title,children:[(0,y.jsxs)("div",{className:h.titleText,children:[S," ",m]}),(0,y.jsx)("div",{className:h.closeContainer,children:(0,y.jsx)(o.Z,{"aria-label":"close",id:"close",className:h.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,y.jsx)(p.Z,{})})})]}),(0,y.jsx)(g.Z,{isModal:!0}),(0,y.jsx)(l.Z,{open:T,className:h.snackBarModal,onClose:function(){P(!1),_((0,v.MK)(""))},message:k,ContentProps:{className:"".concat(h.snackBar," ").concat(I&&"error"===I.type?h.errorSnackBar:"")},autoHideDuration:I&&"error"===I.type?1e4:5e3}),(0,y.jsx)(d.Z,{className:C?"":h.content,children:f})]}))}))},45997:function(e,n,t){t.r(n),t.d(n,{default:function(){return Qe}});var r=t(29439),a=t(1413),i=t(72791),s=t(26181),o=t.n(s),l=t(78687),c=t(61889),u=t(40986),d=t(11135),m=t(23814),f=t(28371),h=t(25469),x=t(93433),p=t(25787),g=t(35527),v=t(13400),y=t(94721),j=t(84741),Z=t(40968),C=t(37516),b=t(21435),S=t(42419),_=t(75952),N=t(76773),A=t(90673),T=t(80184),P=(0,p.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({configSectionItem:{marginRight:15,marginBottom:15,"& .multiContainer":{border:"1px solid red"}},tenantCustomizationFields:{marginLeft:30,width:"88%",margin:"auto"},containerItem:{marginRight:15},fieldGroup:(0,a.Z)((0,a.Z)({},m.QV.fieldGroup),{},{paddingTop:15,marginBottom:25}),responsiveSectionItem:{"@media (max-width: 900px)":{flexFlow:"column",alignItems:"flex-start","& div > div":{marginBottom:5,marginRight:0}}},wrapperContainer:{display:"flex",marginBottom:15},envVarRow:{display:"flex",alignItems:"center",justifyContent:"flex-start","&:last-child":{borderBottom:0},"@media (max-width: 900px)":{flex:1,"& div label":{minWidth:50}}},fileItem:{marginRight:10,display:"flex","& div label":{minWidth:50},"@media (max-width: 900px)":{flexFlow:"column"}},rowActions:{display:"flex",justifyContent:"flex-end","@media (max-width: 900px)":{flex:1}},overlayAction:{marginLeft:10,"& svg":{maxWidth:15,maxHeight:15},"& button":{background:"#EAEAEA"}}},m.oO),m.AK),m.DF))}))((function(e){var n=e.classes,t=(0,h.TL)(),s=(0,l.v9)((function(e){return e.createTenant.fields.configure.exposeMinIO})),o=(0,l.v9)((function(e){return e.createTenant.fields.configure.exposeConsole})),u=(0,l.v9)((function(e){return e.createTenant.fields.configure.setDomains})),d=(0,l.v9)((function(e){return e.createTenant.fields.configure.consoleDomain})),m=(0,l.v9)((function(e){return e.createTenant.fields.configure.minioDomains})),f=(0,l.v9)((function(e){return e.createTenant.fields.configure.tenantCustom})),p=(0,l.v9)((function(e){return e.createTenant.fields.configure.envVars})),P=(0,l.v9)((function(e){return e.createTenant.fields.configure.tenantSecurityContext})),I=(0,i.useState)({}),w=(0,r.Z)(I,2),k=w[0],R=w[1],F=(0,i.useCallback)((function(e,n){t((0,N.HM)({pageName:"configure",field:e,value:n}))}),[t]);(0,i.useEffect)((function(){var e=[];if(f&&(e=[].concat((0,x.Z)(e),[{fieldKey:"tenant_securityContext_runAsUser",required:!0,value:P.runAsUser,customValidation:""===P.runAsUser||parseInt(P.runAsUser)<0,customValidationMessage:"runAsUser must be present and be 0 or more"},{fieldKey:"tenant_securityContext_runAsGroup",required:!0,value:P.runAsGroup,customValidation:""===P.runAsGroup||parseInt(P.runAsGroup)<0,customValidationMessage:"runAsGroup must be present and be 0 or more"},{fieldKey:"tenant_securityContext_fsGroup",required:!0,value:P.fsGroup,customValidation:""===P.fsGroup||parseInt(P.fsGroup)<0,customValidationMessage:"fsGroup must be present and be 0 or more"}])),u){var n=m.map((function(e,n){return{fieldKey:"minio-domain-".concat(n.toString()),required:!1,value:e,pattern:/^(https?):\/\/([a-zA-Z0-9\-.]+)(:[0-9]+)?$/,customPatternMessage:"MinIO domain is not in the form of http|https://subdomain.domain"}}));e=[].concat((0,x.Z)(e),(0,x.Z)(n),[{fieldKey:"console_domain",required:!1,value:d,pattern:/^(https?):\/\/([a-zA-Z0-9\-.]+)(:[0-9]+)?(\/[a-zA-Z0-9\-./]*)?$/,customPatternMessage:"Console domain is not in the form of http|https://subdomain.domain:port/subpath1/subpath2"}])}var r=(0,Z.R)(e);t((0,N.NO)({pageName:"configure",valid:0===Object.keys(r).length})),R(r)}),[t,f,P,u,d,m]);var D=function(e){R((0,j.he)(k,e))};return(0,T.jsxs)(g.Z,{className:n.paperWrapper,children:[(0,T.jsxs)("div",{className:n.headerElement,children:[(0,T.jsx)("h3",{className:n.h3Section,children:"Configure"}),(0,T.jsx)("span",{className:n.descriptionText,children:"Basic configurations for tenant management"})]}),(0,T.jsxs)("div",{className:n.headerElement,children:[(0,T.jsx)("h4",{className:n.h3Section,children:"Services"}),(0,T.jsx)("span",{className:n.descriptionText,children:"Whether the tenant's services should request an external IP via LoadBalancer service type."})]}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.configSectionItem,children:(0,T.jsx)(C.Z,{value:"expose_minio",id:"expose_minio",name:"expose_minio",checked:s,onChange:function(e){var n=e.target.checked;F("exposeMinIO",n)},label:"Expose MinIO Service"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.configSectionItem,children:(0,T.jsx)(C.Z,{value:"expose_console",id:"expose_console",name:"expose_console",checked:o,onChange:function(e){var n=e.target.checked;F("exposeConsole",n)},label:"Expose Console Service"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.configSectionItem,children:(0,T.jsx)(C.Z,{value:"custom_domains",id:"custom_domains",name:"custom_domains",checked:u,onChange:function(e){var n=e.target.checked;F("setDomains",n)},label:"Set Custom Domains"})}),u&&(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.tenantCustomizationFields,children:(0,T.jsxs)("fieldset",{className:n.fieldGroup,children:[(0,T.jsx)("legend",{className:n.descriptionText,children:"Custom Domains for MinIO"}),(0,T.jsxs)(c.ZP,{item:!0,xs:12,className:"".concat(n.configSectionItem),children:[(0,T.jsx)("div",{className:n.containerItem,children:(0,T.jsx)(b.Z,{id:"console_domain",name:"console_domain",onChange:function(e){F("consoleDomain",e.target.value),D("tenant_securityContext_runAsUser")},label:"Console Domain",value:d,placeholder:"Eg. http://subdomain.domain:port/subpath1/subpath2",error:k.console_domain||""})}),(0,T.jsxs)("div",{children:[(0,T.jsx)("h4",{children:"MinIO Domains"}),(0,T.jsx)("div",{className:"".concat(n.responsiveSectionItem),children:m.map((function(e,r){return(0,T.jsxs)("div",{className:"".concat(n.containerItem," ").concat(n.wrapperContainer),children:[(0,T.jsx)(b.Z,{id:"minio-domain-".concat(r.toString()),name:"minio-domain-".concat(r.toString()),onChange:function(e){!function(e,n){var t=(0,x.Z)(m);t[n]=e,F("minioDomains",t)}(e.target.value,r)},label:"MinIO Domain ".concat(r+1),value:e,placeholder:"Eg. http://subdomain.domain",error:k["minio-domain-".concat(r.toString())]||""}),(0,T.jsx)("div",{className:n.overlayAction,children:(0,T.jsx)(v.Z,{size:"small",onClick:function(){return t((0,N.x_)())},disabled:r!==m.length-1,children:(0,T.jsx)(S.Z,{})})}),(0,T.jsx)("div",{className:n.overlayAction,children:(0,T.jsx)(v.Z,{size:"small",onClick:function(){return t((0,N.JL)(r))},disabled:m.length<=1,children:(0,T.jsx)(_.HFL,{})})})]},"minio-domain-key-".concat(r.toString()))}))})]})]})]})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.configSectionItem,children:(0,T.jsx)(C.Z,{value:"tenantConfig",id:"tenant_configuration",name:"tenant_configuration",checked:f,onChange:function(e){var n=e.target.checked;F("tenantCustom",n)},label:"Security Context"})}),f&&(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.tenantCustomizationFields,children:(0,T.jsxs)("fieldset",{className:n.fieldGroup,children:[(0,T.jsx)("legend",{className:n.descriptionText,children:"SecurityContext for MinIO"}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:"".concat(n.configSectionItem),children:(0,T.jsxs)("div",{className:"".concat(n.multiContainer," ").concat(n.responsiveSectionItem),children:[(0,T.jsx)("div",{className:n.containerItem,children:(0,T.jsx)(b.Z,{type:"number",id:"tenant_securityContext_runAsUser",name:"tenant_securityContext_runAsUser",onChange:function(e){F("tenantSecurityContext",(0,a.Z)((0,a.Z)({},P),{},{runAsUser:e.target.value})),D("tenant_securityContext_runAsUser")},label:"Run As User",value:P.runAsUser,required:!0,error:k.tenant_securityContext_runAsUser||"",min:"0"})}),(0,T.jsx)("div",{className:n.containerItem,children:(0,T.jsx)(b.Z,{type:"number",id:"tenant_securityContext_runAsGroup",name:"tenant_securityContext_runAsGroup",onChange:function(e){F("tenantSecurityContext",(0,a.Z)((0,a.Z)({},P),{},{runAsGroup:e.target.value})),D("tenant_securityContext_runAsGroup")},label:"Run As Group",value:P.runAsGroup,required:!0,error:k.tenant_securityContext_runAsGroup||"",min:"0"})})]})}),(0,T.jsx)("br",{}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:"".concat(n.configSectionItem),children:(0,T.jsxs)("div",{className:"".concat(n.multiContainer," ").concat(n.responsiveSectionItem),children:[(0,T.jsx)("div",{className:n.containerItem,children:(0,T.jsx)(b.Z,{type:"number",id:"tenant_securityContext_fsGroup",name:"tenant_securityContext_fsGroup",onChange:function(e){F("tenantSecurityContext",(0,a.Z)((0,a.Z)({},P),{},{fsGroup:e.target.value})),D("tenant_securityContext_fsGroup")},label:"FsGroup",value:P.fsGroup,required:!0,error:k.tenant_securityContext_fsGroup||"",min:"0"})}),(0,T.jsx)("div",{className:n.containerItem,children:(0,T.jsx)("div",{className:n.configSectionItem,children:(0,T.jsx)(A.Z,{label:"FsGroupChangePolicy",id:"securityContext_fsGroupChangePolicy",name:"securityContext_fsGroupChangePolicy",value:P.fsGroupChangePolicy,onChange:function(e){F("tenantSecurityContext",(0,a.Z)((0,a.Z)({},P),{},{fsGroupChangePolicy:e.target.value}))},options:[{label:"Always",value:"Always"},{label:"OnRootMismatch",value:"OnRootMismatch"}]})})})]})}),(0,T.jsx)("br",{}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.configSectionItem,children:(0,T.jsx)("div",{className:n.multiContainer,children:(0,T.jsx)(C.Z,{value:"tenantSecurityContextRunAsNonRoot",id:"tenant_securityContext_runAsNonRoot",name:"tenant_securityContext_runAsNonRoot",checked:P.runAsNonRoot,onChange:function(e){var n=e.target.checked;F("tenantSecurityContext",(0,a.Z)((0,a.Z)({},P),{},{runAsNonRoot:n}))},label:"Do not run as Root"})})})]})}),(0,T.jsx)(y.Z,{}),(0,T.jsxs)("div",{className:n.headerElement,children:[(0,T.jsx)("h3",{className:n.h3Section,children:"Additional Environment Variables"}),(0,T.jsx)("span",{className:n.descriptionText,children:"Define additional environment variables to be used by your MinIO pods"})]}),(0,T.jsx)(c.ZP,{container:!0,children:p.map((function(e,r){return(0,T.jsxs)(c.ZP,{item:!0,xs:12,className:"".concat(n.formFieldRow," ").concat(n.envVarRow),children:[(0,T.jsx)(c.ZP,{item:!0,xs:5,className:n.fileItem,children:(0,T.jsx)(b.Z,{id:"env_var_key",name:"env_var_key",label:"Key",value:e.key,onChange:function(e){var n=(0,x.Z)(p);t((0,N.Ct)(n.map((function(n,t){return t===r?{key:e.target.value,value:n.value}:n}))))},index:r},"env_var_key_".concat(r.toString()))}),(0,T.jsx)(c.ZP,{item:!0,xs:5,className:n.fileItem,children:(0,T.jsx)(b.Z,{id:"env_var_value",name:"env_var_value",label:"Value",value:e.value,onChange:function(e){var n=(0,x.Z)(p);t((0,N.Ct)(n.map((function(n,t){return t===r?{key:n.key,value:e.target.value}:n}))))},index:r},"env_var_value_".concat(r.toString()))}),(0,T.jsxs)(c.ZP,{item:!0,xs:2,className:n.rowActions,children:[(0,T.jsx)("div",{className:n.overlayAction,children:(0,T.jsx)(v.Z,{size:"small",onClick:function(){var e=(0,x.Z)(p);e.push({key:"",value:""}),t((0,N.Ct)(e))},disabled:r!==p.length-1,children:(0,T.jsx)(S.Z,{})})}),(0,T.jsx)("div",{className:n.overlayAction,children:(0,T.jsx)(v.Z,{size:"small",onClick:function(){var e=p.filter((function(e,n){return n!==r}));t((0,N.Ct)(e))},disabled:p.length<=1,children:(0,T.jsx)(_.HFL,{})})})]})]},"tenant-envVar-".concat(r.toString()))}))})]})})),I=t(83679),w=t(20890),k=t(20068),R=t(72455),F=t(27247),D=(0,R.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({adUserDnRows:{display:"flex",marginBottom:10},buttonTray:{marginLeft:10,display:"flex",height:38,"& button":{background:"#EAEAEA"}},overlayAction:{marginLeft:10,"& svg":{maxWidth:15,maxHeight:15},"& button":{background:"#EAEAEA"}}},m.QV),m.DF),m.oO),m.AK))})),G=function(){var e=(0,h.TL)(),n=D(),t=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.idpSelection})),a=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.ADURL})),s=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.ADSkipTLS})),o=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.ADServerInsecure})),u=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.ADGroupSearchBaseDN})),d=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.ADGroupSearchFilter})),m=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.ADUserDNs})),f=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.ADGroupDNs})),p=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.ADLookupBindDN})),g=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.ADLookupBindPassword})),y=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.ADUserDNSearchBaseDN})),_=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.ADUserDNSearchFilter})),A=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.ADServerStartTLS})),P=(0,i.useState)({}),I=(0,r.Z)(P,2),R=I[0],G=I[1],K=(0,i.useCallback)((function(n,t){e((0,N.HM)({pageName:"identityProvider",field:n,value:t}))}),[e]),E=function(e){G((0,j.he)(R,e))};return(0,i.useEffect)((function(){var n=[];"AD"===t&&(n=[].concat((0,x.Z)(n),[{fieldKey:"AD_URL",required:!0,value:a},{fieldKey:"ad_lookupBindDN",required:!0,value:p}]));var r=(0,Z.R)(n);e((0,N.NO)({pageName:"identityProvider",valid:0===Object.keys(r).length})),G(r)}),[p,t,a,u,d,m,f,e]),(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"AD_URL",name:"AD_URL",onChange:function(e){K("ADURL",e.target.value),E("AD_URL")},label:"LDAP Server Address",value:a,placeholder:"ldap-server:636",error:R.AD_URL||"",required:!0})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(C.Z,{value:"ad_skipTLS",id:"ad_skipTLS",name:"ad_skipTLS",checked:s,onChange:function(e){var n=e.target.checked;K("ADSkipTLS",n)},label:"Skip TLS Verification"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(C.Z,{value:"ad_serverInsecure",id:"ad_serverInsecure",name:"ad_serverInsecure",checked:o,onChange:function(e){var n=e.target.checked;K("ADServerInsecure",n)},label:"Server Insecure"})}),o?(0,T.jsxs)(c.ZP,{item:!0,xs:12,children:[(0,T.jsx)(w.Z,{className:n.error,variant:"caption",display:"block",gutterBottom:!0,children:"Warning: All traffic with Active Directory will be unencrypted"}),(0,T.jsx)("br",{})]}):null,(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(C.Z,{value:"ad_serverStartTLS",id:"ad_serverStartTLS",name:"ad_serverStartTLS",checked:A,onChange:function(e){var n=e.target.checked;K("ADServerStartTLS",n)},label:"Start TLS connection to AD/LDAP server"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"ad_lookupBindDN",name:"ad_lookupBindDN",onChange:function(e){K("ADLookupBindDN",e.target.value),E("ad_lookupBindDN")},label:"Lookup Bind DN",value:p,placeholder:"cn=admin,dc=min,dc=io",error:R.ad_lookupBindDN||"",required:!0})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"ad_lookupBindPassword",name:"ad_lookupBindPassword",onChange:function(e){K("ADLookupBindPassword",e.target.value)},label:"Lookup Bind Password",value:g,placeholder:"admin"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"ad_userDNSearchBaseDN",name:"ad_userDNSearchBaseDN",onChange:function(e){K("ADUserDNSearchBaseDN",e.target.value)},label:"User DN Search Base DN",value:y,placeholder:"dc=min,dc=io"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"ad_userDNSearchFilter",name:"ad_userDNSearchFilter",onChange:function(e){K("ADUserDNSearchFilter",e.target.value)},label:"User DN Search Filter",value:_,placeholder:"(sAMAcountName=%s)"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"ad_groupSearchBaseDN",name:"ad_groupSearchBaseDN",onChange:function(e){K("ADGroupSearchBaseDN",e.target.value)},label:"Group Search Base DN",value:u,placeholder:"ou=hwengg,dc=min,dc=io;ou=swengg,dc=min,dc=io"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"ad_groupSearchFilter",name:"ad_groupSearchFilter",onChange:function(e){K("ADGroupSearchFilter",e.target.value)},label:"Group Search Filter",value:d,placeholder:"(&(objectclass=groupOfNames)(member=%s))"})}),(0,T.jsxs)("fieldset",{className:n.fieldGroup,children:[(0,T.jsx)("legend",{className:n.descriptionText,children:"List of user DNs (Distinguished Names) to be Tenant Administrators"}),(0,T.jsx)(c.ZP,{item:!0,xs:12,children:m.map((function(t,r){return(0,T.jsx)(i.Fragment,{children:(0,T.jsxs)("div",{className:n.adUserDnRows,children:[(0,T.jsx)(b.Z,{id:"ad-userdn-".concat(r.toString()),label:"",placeholder:"",name:"ad-userdn-".concat(r.toString()),value:m[r],onChange:function(n){e((0,N.hK)({index:r,userDN:n.target.value})),E("ad-userdn-".concat(r.toString()))},index:r,error:R["ad-userdn-".concat(r.toString())]||""},"csv-ad-userdn-".concat(r.toString())),(0,T.jsxs)("div",{className:n.buttonTray,children:[(0,T.jsx)(k.Z,{title:"Add User","aria-label":"add",children:(0,T.jsx)(v.Z,{size:"small",onClick:function(){e((0,N.Y$)())},children:(0,T.jsx)(S.Z,{})})}),(0,T.jsx)(k.Z,{title:"Remove","aria-label":"add",children:(0,T.jsx)(v.Z,{size:"small",style:{marginLeft:16},onClick:function(){m.length>1&&e((0,N.GU)(r))},children:(0,T.jsx)(F.Z,{})})})]})]})},"identityField-".concat(r.toString()))}))})]}),(0,T.jsxs)("fieldset",{className:n.fieldGroup,children:[(0,T.jsx)("legend",{className:n.descriptionText,children:"List of group DNs (Distinguished Names) to be Tenant Administrators"}),(0,T.jsx)(c.ZP,{item:!0,xs:12,children:f.map((function(t,r){return(0,T.jsx)(i.Fragment,{children:(0,T.jsxs)("div",{className:n.adUserDnRows,children:[(0,T.jsx)(b.Z,{id:"ad-groupdn-".concat(r.toString()),label:"",placeholder:"",name:"ad-groupdn-".concat(r.toString()),value:f[r],onChange:function(n){e((0,N.in)({index:r,userDN:n.target.value})),E("ad-groupdn-".concat(r.toString()))},index:r,error:R["ad-groupdn-".concat(r.toString())]||""},"csv-ad-groupdn-".concat(r.toString())),(0,T.jsxs)("div",{className:n.buttonTray,children:[(0,T.jsx)(k.Z,{title:"Add Group","aria-label":"add",children:(0,T.jsx)(v.Z,{size:"small",onClick:function(){e((0,N.Fe)())},children:(0,T.jsx)(S.Z,{})})}),(0,T.jsx)(k.Z,{title:"Remove","aria-label":"add",children:(0,T.jsx)(v.Z,{size:"small",style:{marginLeft:16},onClick:function(){f.length>1&&e((0,N.Hu)(r))},children:(0,T.jsx)(F.Z,{})})})]})]})},"identityField-".concat(r.toString()))}))})]})]})},K=(0,R.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({buttonTray:{marginLeft:10,display:"flex",height:38,"& button":{background:"#EAEAEA"}},overlayAction:{marginLeft:10,"& svg":{maxWidth:15,maxHeight:15},"& button":{background:"#EAEAEA"}}},m.QV),m.DF),m.oO),m.AK))})),E=function(){var e=(0,h.TL)(),n=K(),t=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.idpSelection})),a=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.openIDConfigurationURL})),s=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.openIDClientID})),o=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.openIDSecretID})),u=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.openIDCallbackURL})),d=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.openIDClaimName})),m=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.openIDScopes})),f=(0,i.useState)({}),p=(0,r.Z)(f,2),g=p[0],v=p[1],y=(0,i.useCallback)((function(n,t){e((0,N.HM)({pageName:"identityProvider",field:n,value:t}))}),[e]),C=function(e){v((0,j.he)(g,e))};return(0,i.useEffect)((function(){var n=[];"OpenID"===t&&(n=[].concat((0,x.Z)(n),[{fieldKey:"openID_CONFIGURATION_URL",required:!0,value:a},{fieldKey:"openID_clientID",required:!0,value:s},{fieldKey:"openID_secretID",required:!0,value:o},{fieldKey:"openID_claimName",required:!0,value:d}]));var r=(0,Z.R)(n);e((0,N.NO)({pageName:"identityProvider",valid:0===Object.keys(r).length})),v(r)}),[t,s,o,a,d,e]),(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"openID_CONFIGURATION_URL",name:"openID_CONFIGURATION_URL",onChange:function(e){y("openIDConfigurationURL",e.target.value),C("openID_CONFIGURATION_URL")},label:"Configuration URL",value:a,placeholder:"https://your-identity-provider.com/.well-known/openid-configuration",error:g.openID_CONFIGURATION_URL||"",required:!0})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"openID_clientID",name:"openID_clientID",onChange:function(e){y("openIDClientID",e.target.value),C("openID_clientID")},label:"Client ID",value:s,error:g.openID_clientID||"",required:!0})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"openID_secretID",name:"openID_secretID",onChange:function(e){y("openIDSecretID",e.target.value),C("openID_secretID")},label:"Secret ID",value:o,error:g.openID_secretID||"",required:!0})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"openID_callbackURL",name:"openID_callbackURL",onChange:function(e){y("openIDCallbackURL",e.target.value),C("openID_callbackURL")},label:"Callback URL",value:u,placeholder:"https://your-console-endpoint:9443/oauth_callback",error:g.openID_callbackURL||""})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"openID_claimName",name:"openID_claimName",onChange:function(e){y("openIDClaimName",e.target.value),C("openID_claimName")},label:"Claim Name",value:d,error:g.openID_claimName||"",required:!0})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"openID_scopes",name:"openID_scopes",onChange:function(e){y("openIDScopes",e.target.value),C("openID_scopes")},label:"Scopes",value:m})})]})},L=t(22918),z=(0,R.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({buttonTray:{marginLeft:10,display:"flex",height:38,"& button":{background:"#EAEAEA"}},overlayAction:{marginLeft:10,"& svg":{maxWidth:15,maxHeight:15},"& button":{background:"#EAEAEA"}},shortened:{gridTemplateColumns:"auto auto 50px 50px",display:"grid",gridGap:15,marginBottom:10,"& input":{fontWeight:400}}},m.QV),m.DF),m.oO),m.AK))})),O=function(){var e=(0,h.TL)(),n=z(),t=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.idpSelection})),a=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.accessKeys})),s=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.secretKeys})),o=(0,i.useState)({}),c=(0,r.Z)(o,2),u=c[0],d=c[1],m=function(e){d((0,j.he)(u,e))};return(0,i.useEffect)((function(){var n=[];if("Built-in"===t){n=(0,x.Z)(n);for(var r=0;r0)&&(U=!0);var B=(0,i.useCallback)((function(e,n){t((0,N.HM)({pageName:"encryption",field:e,value:n}))}),[t]),H=function(e){V((0,j.he)(M,e))};return(0,i.useEffect)((function(){var e=[];d&&(e=[].concat((0,x.Z)(e),[{fieldKey:"rawConfiguration",required:u>0,value:o},{fieldKey:"replicas",required:!0,value:s,customValidation:parseInt(s)<1,customValidationMessage:"Replicas needs to be 1 or greater"},{fieldKey:"kes_securityContext_runAsUser",required:!0,value:L.runAsUser,customValidation:""===L.runAsUser||parseInt(L.runAsUser)<0,customValidationMessage:"runAsUser must be present and be 0 or more"},{fieldKey:"kes_securityContext_runAsGroup",required:!0,value:L.runAsGroup,customValidation:""===L.runAsGroup||parseInt(L.runAsGroup)<0,customValidationMessage:"runAsGroup must be present and be 0 or more"},{fieldKey:"kes_securityContext_fsGroup",required:!0,value:L.fsGroup,customValidation:""===L.fsGroup||parseInt(L.fsGroup)<0,customValidationMessage:"fsGroup must be present and be 0 or more"}]),E&&(e=[].concat((0,x.Z)(e),[{fieldKey:"serverKey",required:!w,value:F.encoded_key},{fieldKey:"serverCert",required:!w,value:F.encoded_cert},{fieldKey:"clientKey",required:!w,value:D.encoded_key},{fieldKey:"clientCert",required:!w,value:D.encoded_cert}])));var n=(0,Z.R)(e);t((0,N.NO)({pageName:"encryption",valid:0===Object.keys(n).length})),V(n)}),[o,u,d,m,f,p,v,y,S,_,t,w,E,F.encoded_key,F.encoded_cert,D.encoded_key,D.encoded_cert,L,s]),(0,T.jsxs)(g.Z,{className:n.paperWrapper,children:[(0,T.jsxs)(c.ZP,{container:!0,alignItems:"center",children:[(0,T.jsx)(c.ZP,{item:!0,xs:!0,children:(0,T.jsx)(W,{children:"Encryption"})}),(0,T.jsx)(c.ZP,{item:!0,xs:4,justifyContent:"end",textAlign:"right",children:(0,T.jsx)(C.Z,{label:"",indicatorLabels:["Enabled","Disabled"],checked:d,value:"tenant_encryption",id:"tenant-encryption",name:"tenant-encryption",onChange:function(e){var n=e.target.checked;B("enableEncryption",n)},description:"",disabled:!U})})]}),(0,T.jsxs)(c.ZP,{container:!0,spacing:1,children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsx)("span",{className:n.descriptionText,children:"MinIO Server-Side Encryption (SSE) protects objects as part of write operations, allowing clients to take advantage of server processing power to secure objects at the storage layer (encryption-at-rest). SSE also provides key functionality to regulatory and compliance requirements around secure locking and erasure."})}),(0,T.jsx)(c.ZP,{xs:12,children:(0,T.jsx)("hr",{className:n.hrClass})}),d&&(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsxs)(ie.Z,{value:u,onChange:function(e,n){B("encryptionTab",n)},indicatorColor:"primary",textColor:"primary","aria-label":"cluster-tabs",variant:"scrollable",scrollButtons:"auto",children:[(0,T.jsx)(se.Z,{id:"kms-options",label:"Options"}),(0,T.jsx)(se.Z,{id:"kms-raw-configuration",label:"Raw Edit"})]})}),u?(0,T.jsx)(i.Fragment,{children:(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsx)(oe.Z,{value:o,mode:"yaml",onBeforeChange:function(e,n,t){B("rawConfiguration",t)},editorHeight:"550px"})})}):(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.encryptionTypeOptions,children:(0,T.jsx)(I.Z,{currentSelection:m,id:"encryptionType",name:"encryptionType",label:"KMS",onChange:function(e){B("encryptionType",e.target.value)},selectorOptions:[{label:"Vault",value:"vault"},{label:"AWS",value:"aws"},{label:"Gemalto",value:"gemalto"},{label:"GCP",value:"gcp"},{label:"Azure",value:"azure"}]})}),"vault"===m&&(0,T.jsx)($,{}),"azure"===m&&(0,T.jsx)(J,{}),"gcp"===m&&(0,T.jsx)(ee,{}),"aws"===m&&(0,T.jsx)(ae,{}),"gemalto"===m&&(0,T.jsx)(te,{})]}),(0,T.jsx)("div",{className:n.headerElement,children:(0,T.jsx)("h4",{className:n.h3Section,children:"Additional Configurations"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsx)(C.Z,{value:"enableCustomCertsForKES",id:"enableCustomCertsForKES",name:"enableCustomCertsForKES",checked:P||!w,onChange:function(e){var n=e.target.checked;B("enableCustomCertsForKES",n)},label:"Custom Certificates",disabled:!w})}),(P||!w)&&(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)(c.ZP,{container:!0,children:(0,T.jsx)(c.ZP,{item:!0,xs:12,style:{marginBottom:15},children:(0,T.jsxs)("fieldset",{className:n.fieldGroup,children:[(0,T.jsx)("legend",{className:n.descriptionText,children:"Encryption server certificates"}),(0,T.jsx)(q.Z,{onChange:function(e,n){t((0,N.uN)({key:"key",fileName:n,value:e})),H("serverKey")},accept:".key,.pem",id:"serverKey",name:"serverKey",label:"Key",error:M.serverKey||"",value:F.key,required:!w}),(0,T.jsx)(q.Z,{onChange:function(e,n){t((0,N.uN)({key:"cert",fileName:n,value:e})),H("serverCert")},accept:".cer,.crt,.cert,.pem",id:"serverCert",name:"serverCert",label:"Cert",error:M.serverCert||"",value:F.cert,required:!w})]})})}),(0,T.jsx)(c.ZP,{container:!0,style:{marginBottom:15},children:(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsxs)("fieldset",{className:n.fieldGroup,children:[(0,T.jsx)("legend",{className:n.descriptionText,children:"MinIO mTLS certificates (connection between MinIO and the Encryption server)"}),(0,T.jsx)(q.Z,{onChange:function(e,n){t((0,N.Ud)({key:"key",fileName:n,value:e})),H("clientKey")},accept:".key,.pem",id:"clientKey",name:"clientKey",label:"Key",error:M.clientKey||"",value:D.key,required:!w}),(0,T.jsx)(q.Z,{onChange:function(e,n){t((0,N.Ud)({key:"cert",fileName:n,value:e})),H("clientCert")},accept:".cer,.crt,.cert,.pem",id:"clientCert",name:"clientCert",label:"Cert",error:M.clientCert||"",value:D.cert,required:!w})]})})}),(0,T.jsx)(c.ZP,{container:!0,className:n.mutualTlsConfig,children:(0,T.jsxs)("fieldset",{className:n.fieldGroup,children:[(0,T.jsx)("legend",{className:n.descriptionText,children:"KMS mTLS certificates (connection between the Encryption server and the KMS)"}),(0,T.jsx)(q.Z,{onChange:function(e,n){t((0,N.Tr)({key:"key",fileName:n,value:e})),H("vault_key")},accept:".key,.pem",id:"vault_key",name:"vault_key",label:"Key",value:G.key}),(0,T.jsx)(q.Z,{onChange:function(e,n){t((0,N.Tr)({key:"cert",fileName:n,value:e})),H("vault_cert")},accept:".cer,.crt,.cert,.pem",id:"vault_cert",name:"vault_cert",label:"Cert",value:G.cert}),(0,T.jsx)(q.Z,{onChange:function(e,n){t((0,N.b9)({fileName:n,value:e})),H("vault_ca")},accept:".cer,.crt,.cert,.pem",id:"vault_ca",name:"vault_ca",label:"CA",value:K.cert})]})})]}),(0,T.jsxs)(c.ZP,{item:!0,xs:12,children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,classes:n.formFieldRow,children:(0,T.jsx)(b.Z,{type:"number",min:"1",id:"replicas",name:"replicas",onChange:function(e){B("replicas",e.target.value),H("replicas")},label:"Replicas",value:s,required:!0,error:M.replicas||""})}),(0,T.jsxs)("fieldset",{className:n.fieldGroup,style:{marginTop:15},children:[(0,T.jsx)("legend",{className:n.descriptionText,children:"SecurityContext for KES pods"}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.kesSecurityContext,children:(0,T.jsxs)("div",{className:"".concat(n.multiContainer," ").concat(n.responsiveContainer),children:[(0,T.jsx)("div",{className:"".concat(n.formFieldRow," ").concat(n.rightSpacer),children:(0,T.jsx)(b.Z,{type:"number",id:"kes_securityContext_runAsUser",name:"kes_securityContext_runAsUser",onChange:function(e){B("kesSecurityContext",(0,a.Z)((0,a.Z)({},L),{},{runAsUser:e.target.value})),H("kes_securityContext_runAsUser")},label:"Run As User",value:L.runAsUser,required:!0,error:M.kes_securityContext_runAsUser||"",min:"0"})}),(0,T.jsx)("div",{className:"".concat(n.formFieldRow," ").concat(n.rightSpacer),children:(0,T.jsx)(b.Z,{type:"number",id:"kes_securityContext_runAsGroup",name:"kes_securityContext_runAsGroup",onChange:function(e){B("kesSecurityContext",(0,a.Z)((0,a.Z)({},L),{},{runAsGroup:e.target.value})),H("kes_securityContext_runAsGroup")},label:"Run As Group",value:L.runAsGroup,required:!0,error:M.kes_securityContext_runAsGroup||"",min:"0"})})]})}),(0,T.jsx)("br",{}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.kesSecurityContext,children:(0,T.jsxs)("div",{className:"".concat(n.multiContainer," ").concat(n.responsiveContainer),children:[(0,T.jsx)("div",{className:"".concat(n.formFieldRow," ").concat(n.rightSpacer),children:(0,T.jsx)(b.Z,{type:"number",id:"kes_securityContext_fsGroup",name:"kes_securityContext_fsGroup",onChange:function(e){B("kesSecurityContext",(0,a.Z)((0,a.Z)({},L),{},{fsGroup:e.target.value})),H("kes_securityContext_fsGroup")},label:"FsGroup",value:L.fsGroup,required:!0,error:M.kes_securityContext_fsGroup||"",min:"0"})}),(0,T.jsx)("div",{className:"".concat(n.formFieldRow," ").concat(n.rightSpacer),children:(0,T.jsx)(A.Z,{label:"FsGroupChangePolicy",id:"securityContext_fsGroupChangePolicy",name:"securityContext_fsGroupChangePolicy",value:L.fsGroupChangePolicy,onChange:function(e){B("kesSecurityContext",(0,a.Z)((0,a.Z)({},L),{},{fsGroupChangePolicy:e.target.value}))},options:[{label:"Always",value:"Always"},{label:"OnRootMismatch",value:"OnRootMismatch"}]})})]})}),(0,T.jsx)("br",{}),(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsx)("div",{className:n.multiContainer,children:(0,T.jsx)(C.Z,{value:"kesSecurityContextRunAsNonRoot",id:"kes_securityContext_runAsNonRoot",name:"kes_securityContext_runAsNonRoot",checked:L.runAsNonRoot,onChange:function(e){var n=e.target.checked;B("kesSecurityContext",(0,a.Z)((0,a.Z)({},L),{},{runAsNonRoot:n}))},label:"Do not run as Root"})})})]})]})]})]})]})})),ce=t(4942),ue=t(81207),de=t(45660),me=t(87995),fe=(0,p.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)({overlayAction:{marginLeft:10,display:"flex",alignItems:"center","& svg":{maxWidth:15,maxHeight:15},"& button":{background:"#EAEAEA"}},affinityConfigField:{display:"flex"},affinityFieldLabel:{display:"flex",flexFlow:"column",flex:1},radioField:{display:"flex",alignItems:"flex-start",marginTop:10,"& div:first-child":{display:"flex",flexFlow:"column",alignItems:"baseline",textAlign:"left !important"}},affinityLabelKey:{"& div:first-child":{marginBottom:0}},affinityLabelValue:{marginLeft:10,"& div:first-child":{marginBottom:0}},rowActions:{display:"flex",alignItems:"center"},affinityRow:{marginBottom:10,display:"flex"}},m.oO),m.AK))}))((function(e){var n=e.classes,t=(0,h.TL)(),s=(0,l.v9)((function(e){return e.createTenant.fields.affinity.podAffinity})),o=(0,l.v9)((function(e){return e.createTenant.fields.affinity.nodeSelectorLabels})),u=(0,l.v9)((function(e){return e.createTenant.fields.affinity.withPodAntiAffinity})),d=(0,l.v9)((function(e){return e.createTenant.nodeSelectorPairs})),m=(0,l.v9)((function(e){return e.createTenant.tolerations})),f=(0,i.useState)({}),p=(0,r.Z)(f,2),y=p[0],j=p[1],S=(0,i.useState)(!0),P=(0,r.Z)(S,2),w=P[0],k=P[1],R=(0,i.useState)({}),F=(0,r.Z)(R,2),D=F[0],G=F[1],K=(0,i.useState)([]),E=(0,r.Z)(K,2),L=E[0],z=E[1],O=(0,i.useCallback)((function(e,n){t((0,N.HM)({pageName:"affinity",field:e,value:n}))}),[t]);(0,i.useEffect)((function(){w&&ue.Z.invoke("GET","/api/v1/nodes/labels").then((function(e){k(!1),G(e);var n=[];for(var t in e)n.push({label:t,value:t});z(n)})).catch((function(e){k(!1),t((0,me.zb)(e)),G({})}))}),[t,w]),(0,i.useEffect)((function(){if(d){var e=d.filter((function(e){return""!==e.key})).map((function(e){return"".concat(e.key,"=").concat(e.value)})).filter((function(e,n,t){return t.indexOf(e)===n})).join("&");O("nodeSelectorLabels",e)}}),[d,O]),(0,i.useEffect)((function(){var e=[];if("nodeSelector"===s){var n=!0,r=o.split("&");1===r.length&&""===r[0]&&(n=!1),r.forEach((function(e,t){var a=e.split("=");2!==a.length&&(n=!1),t+1!==r.length&&(""!==a[0]&&""!==a[1]||(n=!1))})),e=[].concat((0,x.Z)(e),[{fieldKey:"labels",required:!0,value:o,customValidation:!n,customValidationMessage:"You need to add at least one label key-pair"}])}var a=(0,Z.R)(e);t((0,N.NO)({pageName:"affinity",valid:0===Object.keys(a).length})),j(a)}),[t,s,o]);var M=function(e,n,r){var i=(0,a.Z)((0,a.Z)({},m[e]),{},(0,ce.Z)({},n,r));t((0,N.iU)({index:e,tolerationValue:i}))};return(0,T.jsxs)(g.Z,{className:n.paperWrapper,children:[(0,T.jsxs)("div",{className:n.headerElement,children:[(0,T.jsx)("h3",{className:n.h3Section,children:"Pod Placement"}),(0,T.jsx)("span",{className:n.descriptionText,children:"Configure how pods will be assigned to nodes"})]}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.affinityConfigField,children:(0,T.jsxs)(c.ZP,{item:!0,className:n.affinityFieldLabel,children:[(0,T.jsx)("div",{className:n.label,children:"Type"}),(0,T.jsx)("div",{className:"".concat(n.descriptionText," ").concat(n.affinityHelpText),children:"MinIO supports multiple configurations for Pod Affinity"}),(0,T.jsx)(c.ZP,{item:!0,className:n.radioField,children:(0,T.jsx)(I.Z,{currentSelection:s,id:"affinity-options",name:"affinity-options",label:" ",onChange:function(e){O("podAffinity",e.target.value)},selectorOptions:[{label:"None",value:"none"},{label:"Default (Pod Anti-Affinity)",value:"default"},{label:"Node Selector",value:"nodeSelector"}]})})]})}),"nodeSelector"===s&&(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)("br",{}),(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsx)(C.Z,{value:"with_pod_anti_affinity",id:"with_pod_anti_affinity",name:"with_pod_anti_affinity",checked:u,onChange:function(e){var n=e.target.checked;O("withPodAntiAffinity",n)},label:"With Pod Anti-Affinity"})}),(0,T.jsxs)(c.ZP,{item:!0,xs:12,children:[(0,T.jsx)("h3",{children:"Labels"}),(0,T.jsx)("span",{className:n.error,children:y.labels}),(0,T.jsx)(c.ZP,{container:!0,children:d&&d.map((function(e,r){return(0,T.jsxs)(c.ZP,{item:!0,xs:12,className:n.affinityRow,children:[(0,T.jsxs)(c.ZP,{item:!0,xs:5,className:n.affinityLabelKey,children:[L.length>0&&(0,T.jsx)(A.Z,{onChange:function(e){var n=e.target.value,a={key:n,value:D[n][0]},i=(0,x.Z)(d);i[r]=a,t((0,N.i$)(i))},id:"select-access-policy",name:"select-access-policy",label:"",value:e.key,options:L}),0===L.length&&(0,T.jsx)(b.Z,{id:"nodeselector-key-".concat(r.toString()),label:"",name:"nodeselector-".concat(r.toString()),value:e.key,onChange:function(e){var n=(0,x.Z)(d);n[r]={key:n[r].key,value:e.target.value},t((0,N.i$)(n))},index:r,placeholder:"Key"})]}),(0,T.jsxs)(c.ZP,{item:!0,xs:5,className:n.affinityLabelValue,children:[L.length>0&&(0,T.jsx)(A.Z,{onChange:function(e){var n=(0,x.Z)(d);n[r]={key:n[r].key,value:e.target.value},t((0,N.i$)(n))},id:"select-access-policy",name:"select-access-policy",label:"",value:e.value,options:D[e.key]?D[e.key].map((function(e){return{label:e,value:e}})):[]}),0===L.length&&(0,T.jsx)(b.Z,{id:"nodeselector-value-".concat(r.toString()),label:"",name:"nodeselector-".concat(r.toString()),value:e.value,onChange:function(e){var n=(0,x.Z)(d);n[r]={key:n[r].key,value:e.target.value},t((0,N.i$)(n))},index:r,placeholder:"value"})]}),(0,T.jsxs)(c.ZP,{item:!0,xs:2,className:n.rowActions,children:[(0,T.jsx)("div",{className:n.overlayAction,children:(0,T.jsx)(v.Z,{size:"small",onClick:function(){var e=(0,x.Z)(d);L.length>0?e.push({key:L[0].value,value:D[L[0].value][0]}):e.push({key:"",value:""}),t((0,N.i$)(e))},disabled:r!==d.length-1,children:(0,T.jsx)(_.dtP,{})})}),(0,T.jsx)("div",{className:n.overlayAction,children:(0,T.jsx)(v.Z,{size:"small",onClick:function(){var e=d.filter((function(e,n){return n!==r}));t((0,N.i$)(e))},disabled:d.length<=1,children:(0,T.jsx)(_.HFL,{})})})]})]},"affinity-keyVal-".concat(r.toString()))}))})]})]}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.affinityConfigField,children:(0,T.jsxs)(c.ZP,{item:!0,className:n.affinityFieldLabel,children:[(0,T.jsx)("h3",{children:"Tolerations"}),(0,T.jsx)("span",{className:n.error,children:y.tolerations}),(0,T.jsx)(c.ZP,{container:!0,children:m&&m.map((function(e,r){var a;return(0,T.jsxs)(c.ZP,{item:!0,xs:12,className:n.affinityRow,children:[(0,T.jsx)(de.Z,{effect:e.effect,onEffectChange:function(e){M(r,"effect",e)},tolerationKey:e.key,onTolerationKeyChange:function(e){M(r,"key",e)},operator:e.operator,onOperatorChange:function(e){M(r,"operator",e)},value:e.value,onValueChange:function(e){M(r,"value",e)},tolerationSeconds:(null===(a=e.tolerationSeconds)||void 0===a?void 0:a.seconds)||0,onSecondsChange:function(e){M(r,"tolerationSeconds",{seconds:e})},index:r}),(0,T.jsx)("div",{className:n.overlayAction,children:(0,T.jsx)(v.Z,{size:"small",onClick:function(){t((0,N.ly)())},disabled:r!==m.length-1,children:(0,T.jsx)(_.dtP,{})})}),(0,T.jsx)("div",{className:n.overlayAction,children:(0,T.jsx)(v.Z,{size:"small",onClick:function(){return t((0,N.JX)(r))},disabled:m.length<=1,children:(0,T.jsx)(_.HFL,{})})})]},"affinity-keyVal-".concat(r.toString()))}))})]})})]})})),he=t(32291),xe=(0,p.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},m.DF),m.oO),m.AK))}))((function(e){var n=e.classes,t=(0,h.TL)(),a=(0,l.v9)((function(e){return e.createTenant.fields.configure.customImage})),s=(0,l.v9)((function(e){return e.createTenant.fields.configure.imageName})),o=(0,l.v9)((function(e){return e.createTenant.fields.configure.customDockerhub})),u=(0,l.v9)((function(e){return e.createTenant.fields.configure.imageRegistry})),d=(0,l.v9)((function(e){return e.createTenant.fields.configure.imageRegistryUsername})),m=(0,l.v9)((function(e){return e.createTenant.fields.configure.imageRegistryPassword})),f=(0,l.v9)((function(e){return e.createTenant.fields.configure.prometheusEnabled})),p=(0,l.v9)((function(e){return e.createTenant.fields.configure.tenantCustom})),v=(0,l.v9)((function(e){return e.createTenant.fields.configure.logSearchEnabled})),y=(0,l.v9)((function(e){return e.createTenant.fields.configure.logSearchVolumeSize})),S=(0,l.v9)((function(e){return e.createTenant.fields.configure.prometheusVolumeSize})),_=(0,l.v9)((function(e){return e.createTenant.fields.configure.logSearchSelectedStorageClass})),A=(0,l.v9)((function(e){return e.createTenant.fields.configure.logSearchImage})),P=(0,l.v9)((function(e){return e.createTenant.fields.configure.kesImage})),I=(0,l.v9)((function(e){return e.createTenant.fields.configure.logSearchPostgresImage})),w=(0,l.v9)((function(e){return e.createTenant.fields.configure.logSearchPostgresInitImage})),k=(0,l.v9)((function(e){return e.createTenant.fields.configure.prometheusSelectedStorageClass})),R=(0,l.v9)((function(e){return e.createTenant.fields.configure.prometheusImage})),F=(0,l.v9)((function(e){return e.createTenant.fields.configure.prometheusSidecarImage})),D=(0,l.v9)((function(e){return e.createTenant.fields.configure.prometheusInitImage})),G=(0,i.useState)({}),K=(0,r.Z)(G,2),E=K[0],L=K[1],z=(0,i.useCallback)((function(e,n){t((0,N.HM)({pageName:"configure",field:e,value:n}))}),[t]);(0,i.useEffect)((function(){var e=[];f&&(e=[].concat((0,x.Z)(e),[{fieldKey:"prometheus_storage_class",required:!0,value:k,customValidation:""===k,customValidationMessage:"Field cannot be empty"},{fieldKey:"prometheus_volume_size",required:!0,value:S,customValidation:""===S||parseInt(S)<=0,customValidationMessage:"Volume size must be present and be greatter than 0"}])),v&&(e=[].concat((0,x.Z)(e),[{fieldKey:"log_search_storage_class",required:!0,value:_,customValidation:""===_,customValidationMessage:"Field cannot be empty"},{fieldKey:"log_search_volume_size",required:!0,value:y,customValidation:""===y||parseInt(y)<=0,customValidationMessage:"Volume size must be present and be greatter than 0"}])),a&&(e=[].concat((0,x.Z)(e),[{fieldKey:"image",required:!1,value:s,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'minio/minio:VERSION'"},{fieldKey:"logSearchImage",required:!1,value:A,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'minio/operator:VERSION'"},{fieldKey:"kesImage",required:!1,value:P,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'minio/kes:VERSION'"},{fieldKey:"logSearchPostgresImage",required:!1,value:I,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'library/postgres:VERSION'"},{fieldKey:"logSearchPostgresInitImage",required:!1,value:w,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'library/busybox:VERSION'"},{fieldKey:"prometheusImage",required:!1,value:R,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'minio/prometheus:VERSION'"},{fieldKey:"prometheusSidecarImage",required:!1,value:F,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'project/container:VERSION'"},{fieldKey:"prometheusInitImage",required:!1,value:D,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'library/busybox:VERSION'"}]),o&&(e=[].concat((0,x.Z)(e),[{fieldKey:"registry",required:!0,value:u},{fieldKey:"registryUsername",required:!0,value:d},{fieldKey:"registryPassword",required:!0,value:m}])));var n=(0,Z.R)(e);t((0,N.NO)({pageName:"configure",valid:0===Object.keys(n).length})),L(n)}),[a,s,A,P,I,w,R,F,D,o,u,d,m,t,f,p,v,k,S,_,y]);var O=function(e){L((0,j.he)(E,e))};return(0,T.jsxs)(g.Z,{className:n.paperWrapper,children:[(0,T.jsxs)("div",{className:n.headerElement,children:[(0,T.jsx)("h3",{className:n.h3Section,children:"Container Images"}),(0,T.jsx)("span",{className:n.descriptionText,children:"Specify the container images used by the Tenant and it's features."})]}),(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"image",name:"image",onChange:function(e){z("imageName",e.target.value),O("image")},label:"MinIO",value:s,error:E.image||"",placeholder:"minio/minio:RELEASE.2022-02-26T02-54-46Z"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"kesImage",name:"kesImage",onChange:function(e){z("kesImage",e.target.value),O("kesImage")},label:"KES",value:P,error:E.kesImage||"",placeholder:"minio/kes:v0.17.6"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)("h4",{children:"Log Search"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"logSearchImage",name:"logSearchImage",onChange:function(e){z("logSearchImage",e.target.value),O("logSearchImage")},label:"API",value:A,error:E.logSearchImage||"",placeholder:"minio/operator:v4.4.22"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"logSearchPostgresImage",name:"logSearchPostgresImage",onChange:function(e){z("logSearchPostgresImage",e.target.value),O("logSearchPostgresImage")},label:"PostgreSQL",value:I,error:E.logSearchPostgresImage||"",placeholder:"library/postgres:13"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"logSearchPostgresInitImage",name:"logSearchPostgresInitImage",onChange:function(e){z("logSearchPostgresInitImage",e.target.value),O("logSearchPostgresInitImage")},label:"PostgreSQL Init",value:w,error:E.logSearchPostgresInitImage||"",placeholder:"library/busybox:1.33.1"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)("h4",{children:"Monitoring"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"prometheusImage",name:"prometheusImage",onChange:function(e){z("prometheusImage",e.target.value),O("prometheusImage")},label:"Prometheus",value:R,error:E.prometheusImage||"",placeholder:"quay.io/prometheus/prometheus:latest"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"prometheusSidecarImage",name:"prometheusSidecarImage",onChange:function(e){z("prometheusSidecarImage",e.target.value),O("prometheusSidecarImage")},label:"Prometheus Sidecar",value:F,error:E.prometheusSidecarImage||"",placeholder:"library/alpine:latest"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"prometheusInitImage",name:"prometheusInitImage",onChange:function(e){z("prometheusInitImage",e.target.value),O("prometheusInitImage")},label:"Prometheus Init",value:D,error:E.prometheusInitImage||"",placeholder:"library/busybox:1.33.1"})})]}),a&&(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)("h4",{children:"Custom Container Registry"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(C.Z,{value:"custom_docker_hub",id:"custom_docker_hub",name:"custom_docker_hub",checked:o,onChange:function(e){var n=e.target.checked;z("customDockerhub",n)},label:"Use a private container registry"})})]}),o&&(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"registry",name:"registry",onChange:function(e){z("imageRegistry",e.target.value)},label:"Endpoint",value:u,error:E.registry||"",placeholder:"https://index.docker.io/v1/",required:!0})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"registryUsername",name:"registryUsername",onChange:function(e){z("imageRegistryUsername",e.target.value)},label:"Username",value:d,error:E.registryUsername||"",required:!0})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"registryPassword",name:"registryPassword",onChange:function(e){z("imageRegistryPassword",e.target.value)},label:"Password",value:m,error:E.registryPassword||"",required:!0})})]})]})})),pe=t(74794),ge=t(84669),ve=t(79836),ye=t(53382),je=t(53994),Ze=t(35855),Ce=t(45248),be=(0,p.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)({root:{margin:4},table:{"& .MuiTableCell-root":{fontSize:13}}},m.oO),m.AK))}))((function(e){var n=e.classes,t=(0,l.v9)((function(e){return e.createTenant.fields.tenantSize.nodes})),r=(0,l.v9)((function(e){return e.createTenant.fields.tenantSize.resourcesMemoryRequest})),a=(0,l.v9)((function(e){return e.createTenant.fields.tenantSize.ecParity})),s=(0,l.v9)((function(e){return e.createTenant.fields.tenantSize.distribution})),o=(0,l.v9)((function(e){return e.createTenant.fields.tenantSize.ecParityCalc})),c=(0,l.v9)((function(e){return e.createTenant.fields.tenantSize.resourcesCPURequest})),u=(0,l.v9)((function(e){return e.createTenant.fields.tenantSize.integrationSelection})),d=o.storageFactors.find((function(e){return e.erasureCode===a}));return(0,T.jsxs)("div",{className:n.root,children:[(0,T.jsx)("h4",{children:"Resource Allocation"}),(0,T.jsx)(y.Z,{}),(0,T.jsx)(ve.Z,{className:n.table,"aria-label":"simple table",size:"small",children:(0,T.jsxs)(ye.Z,{children:[(0,T.jsxs)(Ze.Z,{children:[(0,T.jsx)(je.Z,{scope:"row",children:"Number of Servers"}),(0,T.jsx)(je.Z,{align:"right",children:parseInt(t)>0?t:"-"})]}),""===u.typeSelection&&""===u.storageClass&&(0,T.jsxs)(i.Fragment,{children:[(0,T.jsxs)(Ze.Z,{children:[(0,T.jsx)(je.Z,{scope:"row",children:"Drives per Server"}),(0,T.jsx)(je.Z,{align:"right",children:s?s.disks:"-"})]}),(0,T.jsxs)(Ze.Z,{children:[(0,T.jsx)(je.Z,{scope:"row",children:"Drive Capacity"}),(0,T.jsx)(je.Z,{align:"right",children:s?(0,Ce.ae)(s.pvSize):"-"})]})]}),(0,T.jsxs)(Ze.Z,{children:[(0,T.jsx)(je.Z,{scope:"row",children:"Total Volumes"}),(0,T.jsx)(je.Z,{align:"right",children:s?s.persistentVolumes:"-"})]}),""===u.typeSelection&&""===u.storageClass&&(0,T.jsxs)(i.Fragment,{children:[(0,T.jsxs)(Ze.Z,{children:[(0,T.jsx)(je.Z,{scope:"row",children:"Memory per Node"}),(0,T.jsxs)(je.Z,{align:"right",children:[r," Gi"]})]}),(0,T.jsxs)(Ze.Z,{children:[(0,T.jsx)(je.Z,{style:{borderBottom:0},scope:"row",children:"CPU Selection"}),(0,T.jsx)(je.Z,{style:{borderBottom:0},align:"right",children:c})]})]})]})}),0===o.error&&d&&(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)("h4",{children:"Erasure Code Configuration"}),(0,T.jsx)(y.Z,{}),(0,T.jsx)(ve.Z,{className:n.table,"aria-label":"simple table",size:"small",children:(0,T.jsxs)(ye.Z,{children:[(0,T.jsxs)(Ze.Z,{children:[(0,T.jsx)(je.Z,{scope:"row",children:"EC Parity"}),(0,T.jsx)(je.Z,{align:"right",children:""!==a?a:"-"})]}),(0,T.jsxs)(Ze.Z,{children:[(0,T.jsx)(je.Z,{scope:"row",children:"Raw Capacity"}),(0,T.jsx)(je.Z,{align:"right",children:(0,Ce.ae)(o.rawCapacity)})]}),(0,T.jsxs)(Ze.Z,{children:[(0,T.jsx)(je.Z,{scope:"row",children:"Usable Capacity"}),(0,T.jsx)(je.Z,{align:"right",children:(0,Ce.ae)(d.maxCapacity)})]}),(0,T.jsxs)(Ze.Z,{children:[(0,T.jsx)(je.Z,{style:{borderBottom:0},scope:"row",children:"Server Failures Tolerated"}),(0,T.jsx)(je.Z,{style:{borderBottom:0},align:"right",children:s?Math.floor(d.maxFailureTolerations/s.disks):"-"})]})]})})]}),""!==u.typeSelection&&""!==u.storageClass&&(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)("h4",{children:"Single Instance Configuration"}),(0,T.jsx)(y.Z,{}),(0,T.jsx)(ve.Z,{className:n.table,"aria-label":"simple table",size:"small",children:(0,T.jsxs)(ye.Z,{children:[(0,T.jsxs)(Ze.Z,{children:[(0,T.jsx)(je.Z,{scope:"row",children:"CPU"}),(0,T.jsx)(je.Z,{align:"right",children:0!==u.CPU?u.CPU:"-"})]}),(0,T.jsxs)(Ze.Z,{children:[(0,T.jsx)(je.Z,{scope:"row",children:"Memory"}),(0,T.jsx)(je.Z,{align:"right",children:0!==u.memory?"".concat(u.memory," Gi"):"-"})]}),(0,T.jsxs)(Ze.Z,{children:[(0,T.jsx)(je.Z,{scope:"row",children:"Drives per Server"}),(0,T.jsx)(je.Z,{align:"right",children:0!==u.drivesPerServer?"".concat(u.drivesPerServer):"-"})]}),(0,T.jsxs)(Ze.Z,{children:[(0,T.jsx)(je.Z,{style:{borderBottom:0},scope:"row",children:"Drive Size"}),(0,T.jsxs)(je.Z,{style:{borderBottom:0},align:"right",children:[u.driveSize.driveSize,u.driveSize.sizeUnit]})]})]})})]})]})})),Se=t(19720),_e=t(45884),Ne=t(46078),Ae=t(51691),Te=t(23508),Pe=t(98222),Ie=(0,R.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)({wrapText:{maxWidth:"200px",whiteSpace:"normal",wordWrap:"break-word"}},m.oO),m.Qw))})),we=function(){var e=(0,h.TL)(),n=Ie(),t=(0,l.v9)((function(e){return e.createTenant.fields.nameTenant.namespace})),r=(0,l.v9)((function(e){return e.createTenant.addNSLoading})),a=(0,l.v9)((function(e){return e.createTenant.addNSOpen}));return(0,T.jsx)(Te.Z,{title:"New namespace",confirmText:"Create",confirmButtonProps:{variant:"callAction"},isOpen:a,titleIcon:(0,T.jsx)(_.EjK,{}),isLoading:r,onConfirm:function(){e((0,Pe.QD)())},onClose:function(){e((0,N.pb)())},confirmationContent:(0,T.jsxs)(i.Fragment,{children:[r&&(0,T.jsx)(u.Z,{}),(0,T.jsxs)(Ae.Z,{children:["Are you sure you want to add a namespace called",(0,T.jsx)("br",{}),(0,T.jsx)("b",{className:n.wrapText,children:t}),"?"]})]})})},ke=t(48573),Re=t.n(ke),Fe=function(e){e.formToRender;var n=(0,h.TL)(),t=(0,l.v9)((function(e){return e.createTenant.fields.nameTenant.namespace})),r=(0,l.v9)((function(e){return e.createTenant.showNSCreateButton})),a=(0,l.v9)((function(e){return e.createTenant.validationErrors.namespace})),s=(0,l.v9)((function(e){return e.createTenant.addNSOpen})),o=(0,i.useMemo)((function(){return Re()((function(){n((0,Pe.IO)())}),500)}),[n]);(0,i.useEffect)((function(){if(""!==t)return o(),o.cancel}),[o,t]);return(0,T.jsxs)(i.Fragment,{children:[s&&(0,T.jsx)(we,{}),(0,T.jsx)(b.Z,{id:"namespace",name:"namespace",onChange:function(e){n((0,N.Zx)(e.target.value))},label:"Namespace",value:t,error:a||"",overlayId:"add-namespace",overlayIcon:r?(0,T.jsx)(_.dtP,{}):null,overlayAction:function(){n((0,N.Oj)())},required:!0})]})},De=function(){var e=(0,h.TL)(),n=(0,l.v9)((function(e){return e.createTenant.fields.nameTenant.tenantName})),t=(0,l.v9)((function(e){return e.createTenant.validationErrors["tenant-name"]}));return(0,T.jsx)(b.Z,{id:"tenant-name",name:"tenant-name",onChange:function(n){e((0,N.V7)(n.target.value))},label:"Name",value:n,required:!0,error:t||""})},Ge=(0,p.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({sizePreview:{marginLeft:10,background:"#FFFFFF",border:"1px solid #EAEAEA",padding:2,marginTop:20}},m.DF),m.oO),m.AK))}))((function(e){var n=e.classes,t=e.formToRender,r=(0,h.TL)(),a=(0,l.v9)((function(e){return e.createTenant.fields.nameTenant.selectedStorageClass})),s=(0,l.v9)((function(e){return e.createTenant.fields.nameTenant.selectedStorageType})),u=(0,l.v9)((function(e){return e.createTenant.storageClasses})),d=(0,l.v9)(Ne.$4),m=(0,i.useCallback)((function(e,n){r((0,N.HM)({pageName:"nameTenant",field:e,value:n}))}),[r]);return(0,i.useEffect)((function(){var e=t===_e.cy.default&&u.length>0||t!==_e.cy.default&&""!==s;r((0,N.NO)({pageName:"nameTenant",valid:e}))}),[u,r,s,t]),(0,T.jsx)(i.Fragment,{children:(0,T.jsxs)(c.ZP,{container:!0,children:[(0,T.jsx)(c.ZP,{item:!0,sx:{width:"calc(100% - 300px)"},children:(0,T.jsx)(g.Z,{className:n.paperWrapper,sx:{minHeight:550},children:(0,T.jsxs)(c.ZP,{container:!0,children:[(0,T.jsxs)(c.ZP,{item:!0,xs:12,children:[(0,T.jsxs)("div",{className:n.headerElement,children:[(0,T.jsx)("h3",{className:n.h3Section,children:"Name"}),(0,T.jsx)("span",{className:n.descriptionText,children:"How would you like to name this new tenant?"})]}),(0,T.jsx)("div",{className:n.formFieldRow,children:(0,T.jsx)(De,{})})]}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(Fe,{formToRender:t})}),t===_e.cy.default?(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(A.Z,{id:"storage_class",name:"storage_class",onChange:function(e){m("selectedStorageClass",e.target.value)},label:"Storage Class",value:a,options:u,disabled:u.length<1})}):(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(A.Z,{id:"storage_type",name:"storage_type",onChange:function(e){r((0,N.Qy)({storageType:e.target.value,features:d}))},label:o()(_e.Hd,"".concat(t,".variantSelectorLabel"),"Storage Type"),value:s,options:o()(_e.Hd,"".concat(t,".variantSelectorValues"),[])})}),t===_e.cy.default?(0,T.jsx)(Se.Z,{}):o()(_e.Hd,"".concat(t,".sizingComponent"),null)]})})}),(0,T.jsx)(c.ZP,{item:!0,children:(0,T.jsx)("div",{className:n.sizePreview,children:(0,T.jsx)(be,{})})})]})})})),Ke=function(){var e=(0,l.v9)(Ne.$4),n=(0,i.useState)(null),t=(0,r.Z)(n,2),a=t[0],s=t[1];return(0,i.useEffect)((function(){var n=_e.cy.default;e&&0!==e.length&&Object.keys(_e.I8).forEach((function(t){e.includes(t)&&(n=o()(_e.I8,t,_e.cy.default))}));s(n)}),[e]),null===a?null:(0,T.jsx)(Ge,{formToRender:a})},Ee=t(56578),Le=(0,p.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)({configSectionItem:{marginRight:15,"& .multiContainer":{border:"1px solid red"}},fieldGroup:(0,a.Z)((0,a.Z)({},m.QV.fieldGroup),{},{paddingTop:15,marginBottom:25}),responsiveSectionItem:{"@media (max-width: 900px)":{flexFlow:"column",alignItems:"flex-start","& div > div":{marginBottom:5,marginRight:0}}},logSearchEnabledFields:{marginLeft:20,padding:10,width:"90%",margin:"auto"},fieldSpaceTop:{marginTop:15}},m.oO),m.AK))}))((function(e){var n=e.classes,t=(0,h.TL)(),s=(0,l.v9)((function(e){return e.createTenant.storageClasses})),o=(0,l.v9)((function(e){return e.createTenant.fields.configure.logSearchEnabled})),u=(0,l.v9)((function(e){return e.createTenant.fields.configure.logSearchVolumeSize})),d=(0,l.v9)((function(e){return e.createTenant.fields.configure.logSearchSelectedStorageClass})),m=(0,l.v9)((function(e){return e.createTenant.fields.configure.logSearchImage})),f=(0,l.v9)((function(e){return e.createTenant.fields.configure.logSearchPostgresImage})),p=(0,l.v9)((function(e){return e.createTenant.fields.configure.logSearchPostgresInitImage})),v=(0,l.v9)((function(e){return e.createTenant.fields.nameTenant.selectedStorageClass})),y=(0,l.v9)((function(e){return e.createTenant.fields.configure.tenantSecurityContext})),S=(0,l.v9)((function(e){return e.createTenant.fields.configure.logSearchSecurityContext})),_=(0,l.v9)((function(e){return e.createTenant.fields.configure.logSearchPostgresSecurityContext})),P=(0,i.useState)({}),I=(0,r.Z)(P,2),w=I[0],k=I[1],R=[{label:"Default",value:"default"}].concat((0,x.Z)(s)),F=(0,i.useCallback)((function(e,n){t((0,N.HM)({pageName:"configure",field:e,value:n}))}),[t]);(0,i.useEffect)((function(){var e=[];o&&(e=[].concat((0,x.Z)(e),[{fieldKey:"log_search_storage_class",required:!0,value:d,customValidation:""===d,customValidationMessage:"Field cannot be empty"},{fieldKey:"log_search_volume_size",required:!0,value:u,customValidation:""===u||parseInt(u)<=0,customValidationMessage:"Volume size must be present and be greatter than 0"},{fieldKey:"logSearch_securityContext_runAsUser",required:!0,value:S.runAsUser,customValidation:""===S.runAsUser||parseInt(S.runAsUser)<0,customValidationMessage:"runAsUser must be present and be 0 or more"},{fieldKey:"logSearch_securityContext_runAsGroup",required:!0,value:S.runAsGroup,customValidation:""===S.runAsGroup||parseInt(S.runAsGroup)<0,customValidationMessage:"runAsGroup must be present and be 0 or more"},{fieldKey:"logSearch_securityContext_fsGroup",required:!0,value:S.fsGroup,customValidation:""===S.fsGroup||parseInt(S.fsGroup)<0,customValidationMessage:"fsGroup must be present and be 0 or more"},{fieldKey:"postgres_securityContext_runAsUser",required:!0,value:_.runAsUser,customValidation:""===_.runAsUser||parseInt(_.runAsUser)<0,customValidationMessage:"runAsUser must be present and be 0 or more"},{fieldKey:"postgres_securityContext_runAsGroup",required:!0,value:S.runAsGroup,customValidation:""===_.runAsGroup||parseInt(_.runAsGroup)<0,customValidationMessage:"runAsGroup must be present and be 0 or more"},{fieldKey:"postgres_securityContext_fsGroup",required:!0,value:_.fsGroup,customValidation:""===_.fsGroup||parseInt(_.fsGroup)<0,customValidationMessage:"fsGroup must be present and be 0 or more"}]));var n=(0,Z.R)(e);t((0,N.NO)({pageName:"configure",valid:0===Object.keys(n).length})),k(n)}),[m,f,p,t,o,d,u,y,S,_]),(0,i.useEffect)((function(){s.length>0&&(0===s.filter((function(e){return e.value===d})).length&&F("logSearchSelectedStorageClass","default"))}),[d,v,s,F]);var D=function(e){k((0,j.he)(w,e))};return(0,T.jsxs)(g.Z,{className:n.paperWrapper,children:[(0,T.jsxs)(c.ZP,{container:!0,alignItems:"center",children:[(0,T.jsx)(c.ZP,{item:!0,xs:!0,children:(0,T.jsx)(W,{children:"Audit Log"})}),(0,T.jsx)(c.ZP,{item:!0,xs:4,children:(0,T.jsx)(C.Z,{value:"enableLogging",id:"enableLogging",name:"enableLogging",checked:o,onChange:function(e){var n=e.target.checked;F("logSearchEnabled",n)},indicatorLabels:["Enabled","Disabled"]})})]}),(0,T.jsxs)(c.ZP,{container:!0,spacing:1,children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsx)("span",{className:n.descriptionText,children:"Deploys a small PostgreSQL database and stores access logs of all calls into the tenant."})}),(0,T.jsx)(c.ZP,{xs:12,children:(0,T.jsx)("hr",{className:n.hrClass})}),o&&(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsx)(A.Z,{id:"log_search_storage_class",name:"log_search_storage_class",onChange:function(e){F("logSearchSelectedStorageClass",e.target.value)},label:"Log Search Storage Class",value:d,options:R,disabled:R.length<1})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsx)("div",{className:n.multiContainer,children:(0,T.jsx)(b.Z,{type:"number",id:"log_search_volume_size",name:"log_search_volume_size",onChange:function(e){F("logSearchVolumeSize",e.target.value),D("log_search_volume_size")},label:"Storage Size",overlayObject:(0,T.jsx)(Ee.Z,{id:"size-unit",onUnitChange:function(){},unitSelected:"Gi",unitsList:[{label:"Gi",value:"Gi"}],disabled:!0}),value:u,required:!0,error:w.log_search_volume_size||"",min:"0"})})}),(0,T.jsxs)("fieldset",{className:"".concat(n.fieldGroup," ").concat(n.fieldSpaceTop),children:[(0,T.jsx)("legend",{className:n.descriptionText,children:"SecurityContext for LogSearch"}),(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsxs)("div",{className:"".concat(n.multiContainer," ").concat(n.responsiveSectionItem),children:[(0,T.jsx)("div",{className:n.configSectionItem,children:(0,T.jsx)(b.Z,{type:"number",id:"logSearch_securityContext_runAsUser",name:"logSearch_securityContext_runAsUser",onChange:function(e){F("logSearchSecurityContext",(0,a.Z)((0,a.Z)({},S),{},{runAsUser:e.target.value})),D("logSearch_securityContext_runAsUser")},label:"Run As User",value:S.runAsUser,required:!0,error:w.logSearch_securityContext_runAsUser||"",min:"0"})}),(0,T.jsx)("div",{className:n.configSectionItem,children:(0,T.jsx)(b.Z,{type:"number",id:"logSearch_securityContext_runAsGroup",name:"logSearch_securityContext_runAsGroup",onChange:function(e){F("logSearchSecurityContext",(0,a.Z)((0,a.Z)({},S),{},{runAsGroup:e.target.value})),D("logSearch_securityContext_runAsGroup")},label:"Run As Group",value:S.runAsGroup,required:!0,error:w.logSearch_securityContext_runAsGroup||"",min:"0"})})]})}),(0,T.jsx)("br",{}),(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsxs)("div",{className:"".concat(n.multiContainer," ").concat(n.responsiveSectionItem),children:[(0,T.jsx)("div",{className:n.configSectionItem,children:(0,T.jsx)(b.Z,{type:"number",id:"logSearch_securityContext_fsGroup",name:"logSearch_securityContext_fsGroup",onChange:function(e){F("logSearchSecurityContext",(0,a.Z)((0,a.Z)({},S),{},{fsGroup:e.target.value})),D("logSearch_securityContext_fsGroup")},label:"FsGroup",value:S.fsGroup,required:!0,error:w.logSearch_securityContext_fsGroup||"",min:"0"})}),(0,T.jsx)("div",{className:n.configSectionItem,children:(0,T.jsx)(A.Z,{label:"FsGroupChangePolicy",id:"securityContext_fsGroupChangePolicy",name:"securityContext_fsGroupChangePolicy",value:S.fsGroupChangePolicy,onChange:function(e){F("logSearchSecurityContext",(0,a.Z)((0,a.Z)({},S),{},{fsGroupChangePolicy:e.target.value}))},options:[{label:"Always",value:"Always"},{label:"OnRootMismatch",value:"OnRootMismatch"}]})})]})}),(0,T.jsx)("br",{}),(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsx)("div",{className:n.multiContainer,children:(0,T.jsx)(C.Z,{value:"logSearchSecurityContextRunAsNonRoot",id:"logSearch_securityContext_runAsNonRoot",name:"logSearch_securityContext_runAsNonRoot",checked:S.runAsNonRoot,onChange:function(e){var n=e.target.checked;F("logSearchSecurityContext",(0,a.Z)((0,a.Z)({},S),{},{runAsNonRoot:n}))},label:"Do not run as Root"})})})]}),(0,T.jsxs)("fieldset",{className:n.fieldGroup,children:[(0,T.jsx)("legend",{className:n.descriptionText,children:"SecurityContext for PostgreSQL"}),(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsxs)("div",{className:"".concat(n.multiContainer," ").concat(n.responsiveSectionItem),children:[(0,T.jsx)("div",{className:n.configSectionItem,children:(0,T.jsx)(b.Z,{type:"number",id:"postgres_securityContext_runAsUser",name:"postgres_securityContext_runAsUser",onChange:function(e){F("logSearchPostgresSecurityContext",(0,a.Z)((0,a.Z)({},_),{},{runAsUser:e.target.value})),D("postgres_securityContext_runAsUser")},label:"Run As User",value:_.runAsUser,required:!0,error:w.postgres_securityContext_runAsUser||"",min:"0"})}),(0,T.jsx)("div",{className:n.configSectionItem,children:(0,T.jsx)(b.Z,{type:"number",id:"postgres_securityContext_runAsGroup",name:"postgres_securityContext_runAsGroup",onChange:function(e){F("logSearchPostgresSecurityContext",(0,a.Z)((0,a.Z)({},_),{},{runAsGroup:e.target.value})),D("postgres_securityContext_runAsGroup")},label:"Run As Group",value:_.runAsGroup,required:!0,error:w.postgres_securityContext_runAsGroup||"",min:"0"})})]})}),(0,T.jsx)("br",{}),(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsxs)("div",{className:"".concat(n.multiContainer," ").concat(n.responsiveSectionItem),children:[(0,T.jsx)("div",{className:n.configSectionItem,children:(0,T.jsx)(b.Z,{type:"number",id:"postgres_securityContext_fsGroup",name:"postgres_securityContext_fsGroup",onChange:function(e){F("logSearchPostgresSecurityContext",(0,a.Z)((0,a.Z)({},_),{},{fsGroup:e.target.value})),D("postgres_securityContext_fsGroup")},label:"FsGroup",value:_.fsGroup,required:!0,error:w.postgres_securityContext_fsGroup||"",min:"0"})}),(0,T.jsx)("div",{className:n.configSectionItem,children:(0,T.jsx)(A.Z,{label:"FsGroupChangePolicy",id:"securityContext_fsGroupChangePolicy",name:"securityContext_fsGroupChangePolicy",value:_.fsGroupChangePolicy,onChange:function(e){F("logSearchPostgresSecurityContext",(0,a.Z)((0,a.Z)({},_),{},{fsGroupChangePolicy:e.target.value}))},options:[{label:"Always",value:"Always"},{label:"OnRootMismatch",value:"OnRootMismatch"}]})})]})}),(0,T.jsx)("br",{}),(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsx)("div",{className:n.multiContainer,children:(0,T.jsx)(C.Z,{value:"postgresSecurityContextRunAsNonRoot",id:"postgres_securityContext_runAsNonRoot",name:"postgres_securityContext_runAsNonRoot",checked:_.runAsNonRoot,onChange:function(e){var n=e.target.checked;F("logSearchPostgresSecurityContext",(0,a.Z)((0,a.Z)({},_),{},{runAsNonRoot:n}))},label:"Do not run as Root"})})})]})]})]})]})})),ze=(0,p.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)({configSectionItem:{marginRight:15,"& .multiContainer":{border:"1px solid red"}},fieldGroup:(0,a.Z)((0,a.Z)({},m.QV.fieldGroup),{},{paddingTop:15,marginBottom:25}),responsiveSectionItem:{"@media (max-width: 900px)":{flexFlow:"column",alignItems:"flex-start","& div > div":{marginBottom:5,marginRight:0}}},fieldSpaceTop:{marginTop:15},prometheusEnabledFields:{marginLeft:20,padding:10,width:"90%",margin:"auto"}},m.oO),m.AK))}))((function(e){var n=e.classes,t=(0,h.TL)(),s=(0,l.v9)((function(e){return e.createTenant.storageClasses})),o=(0,l.v9)((function(e){return e.createTenant.fields.configure.prometheusEnabled})),u=(0,l.v9)((function(e){return e.createTenant.fields.configure.prometheusVolumeSize})),d=(0,l.v9)((function(e){return e.createTenant.fields.configure.prometheusSelectedStorageClass})),m=(0,l.v9)((function(e){return e.createTenant.fields.configure.prometheusImage})),f=(0,l.v9)((function(e){return e.createTenant.fields.configure.prometheusSidecarImage})),p=(0,l.v9)((function(e){return e.createTenant.fields.configure.prometheusInitImage})),v=(0,l.v9)((function(e){return e.createTenant.fields.nameTenant.selectedStorageClass})),y=(0,l.v9)((function(e){return e.createTenant.fields.configure.tenantSecurityContext})),S=(0,l.v9)((function(e){return e.createTenant.fields.configure.prometheusSecurityContext})),_=(0,i.useState)({}),P=(0,r.Z)(_,2),I=P[0],w=P[1],k=[{label:"Default",value:"default"}].concat((0,x.Z)(s)),R=(0,i.useCallback)((function(e,n){t((0,N.HM)({pageName:"configure",field:e,value:n}))}),[t]);(0,i.useEffect)((function(){var e=[];o&&(e=[].concat((0,x.Z)(e),[{fieldKey:"prometheus_storage_class",required:!0,value:d,customValidation:""===d,customValidationMessage:"Field cannot be empty"},{fieldKey:"prometheus_volume_size",required:!0,value:u,customValidation:""===u||parseInt(u)<=0,customValidationMessage:"Volume size must be present and be greater than 0"},{fieldKey:"prometheus_securityContext_runAsUser",required:!0,value:S.runAsUser,customValidation:""===S.runAsUser||parseInt(S.runAsUser)<0,customValidationMessage:"runAsUser must be present and be 0 or more"},{fieldKey:"prometheus_securityContext_runAsGroup",required:!0,value:S.runAsGroup,customValidation:""===S.runAsGroup||parseInt(S.runAsGroup)<0,customValidationMessage:"runAsGroup must be present and be 0 or more"},{fieldKey:"prometheus_securityContext_fsGroup",required:!0,value:S.fsGroup,customValidation:""===S.fsGroup||parseInt(S.fsGroup)<0,customValidationMessage:"fsGroup must be present and be 0 or more"}]));var n=(0,Z.R)(e);t((0,N.NO)({pageName:"configure",valid:0===Object.keys(n).length})),w(n)}),[m,f,p,t,o,d,u,y,S]),(0,i.useEffect)((function(){s.length>0&&(0===s.filter((function(e){return e.value===d})).length&&R("prometheusSelectedStorageClass","default"))}),[d,v,s,R]);var F=function(e){w((0,j.he)(I,e))};return(0,T.jsxs)(g.Z,{className:n.paperWrapper,children:[(0,T.jsxs)(c.ZP,{container:!0,alignItems:"center",children:[(0,T.jsx)(c.ZP,{item:!0,xs:!0,children:(0,T.jsx)(W,{children:"Monitoring"})}),(0,T.jsx)(c.ZP,{item:!0,xs:4,children:(0,T.jsx)(C.Z,{indicatorLabels:["Enabled","Disabled"],checked:o,value:"monitoring_status",id:"monitoring-status",name:"monitoring-status",onChange:function(e){var n=e.target.checked;R("prometheusEnabled",n)},description:""})})]}),(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsx)("span",{className:n.descriptionText,children:"A small Prometheus will be deployed to keep metrics about the tenant."})}),(0,T.jsx)(c.ZP,{xs:12,children:(0,T.jsx)("hr",{className:n.hrClass})}),(0,T.jsx)(c.ZP,{container:!0,spacing:1,children:o&&(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsx)(A.Z,{id:"prometheus_storage_class",name:"prometheus_storage_class",onChange:function(e){R("prometheusSelectedStorageClass",e.target.value)},label:"Storage Class",value:d,options:k,disabled:k.length<1})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsx)("div",{className:n.multiContainer,children:(0,T.jsx)(b.Z,{type:"number",id:"prometheus_volume_size",name:"prometheus_volume_size",onChange:function(e){R("prometheusVolumeSize",e.target.value),F("prometheus_volume_size")},label:"Storage Size",overlayObject:(0,T.jsx)(Ee.Z,{id:"size-unit",onUnitChange:function(){},unitSelected:"Gi",unitsList:[{label:"Gi",value:"Gi"}],disabled:!0}),value:u,required:!0,error:I.prometheus_volume_size||"",min:"0"})})}),(0,T.jsxs)("fieldset",{className:"".concat(n.fieldGroup," ").concat(n.fieldSpaceTop),children:[(0,T.jsx)("legend",{className:n.descriptionText,children:"SecurityContext"}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.configSectionItem,children:(0,T.jsxs)("div",{className:"".concat(n.multiContainer," ").concat(n.responsiveSectionItem),children:[(0,T.jsx)("div",{className:n.configSectionItem,children:(0,T.jsx)(b.Z,{type:"number",id:"prometheus_securityContext_runAsUser",name:"prometheus_securityContext_runAsUser",onChange:function(e){R("prometheusSecurityContext",(0,a.Z)((0,a.Z)({},S),{},{runAsUser:e.target.value})),F("prometheus_securityContext_runAsUser")},label:"Run As User",value:S.runAsUser,required:!0,error:I.prometheus_securityContext_runAsUser||"",min:"0"})}),(0,T.jsx)("div",{className:n.configSectionItem,children:(0,T.jsx)(b.Z,{type:"number",id:"prometheus_securityContext_runAsGroup",name:"prometheus_securityContext_runAsGroup",onChange:function(e){R("prometheusSecurityContext",(0,a.Z)((0,a.Z)({},S),{},{runAsGroup:e.target.value})),F("prometheus_securityContext_runAsGroup")},label:"Run As Group",value:S.runAsGroup,required:!0,error:I.prometheus_securityContext_runAsGroup||"",min:"0"})})]})}),(0,T.jsx)("br",{}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.configSectionItem,children:(0,T.jsxs)("div",{className:"".concat(n.multiContainer," ").concat(n.responsiveSectionItem),children:[(0,T.jsx)("div",{className:n.configSectionItem,children:(0,T.jsx)(b.Z,{type:"number",id:"prometheus_securityContext_fsGroup",name:"prometheus_securityContext_fsGroup",onChange:function(e){R("prometheusSecurityContext",(0,a.Z)((0,a.Z)({},S),{},{fsGroup:e.target.value})),F("prometheus_securityContext_fsGroup")},label:"FsGroup",value:S.fsGroup,required:!0,error:I.prometheus_securityContext_fsGroup||"",min:"0"})}),(0,T.jsx)("div",{className:n.configSectionItem,children:(0,T.jsx)(A.Z,{label:"FsGroupChangePolicy",id:"securityContext_fsGroupChangePolicy",name:"securityContext_fsGroupChangePolicy",value:S.fsGroupChangePolicy,onChange:function(e){R("prometheusSecurityContext",(0,a.Z)((0,a.Z)({},S),{},{fsGroupChangePolicy:e.target.value}))},options:[{label:"Always",value:"Always"},{label:"OnRootMismatch",value:"OnRootMismatch"}]})})]})}),(0,T.jsx)("br",{}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.configSectionItem,children:(0,T.jsx)("div",{className:"".concat(n.multiContainer," ").concat(n.fieldSpaceTop),children:(0,T.jsx)(C.Z,{value:"prometheusSecurityContextRunAsNonRoot",id:"prometheus_securityContext_runAsNonRoot",name:"prometheus_securityContext_runAsNonRoot",checked:S.runAsNonRoot,onChange:function(e){var n=e.target.checked;R("prometheusSecurityContext",(0,a.Z)((0,a.Z)({},S),{},{runAsNonRoot:n}))},label:"Do not run as Root"})})})]})]})})]})})),Oe=t(23804),Me=["nameTenant","tenantSize","configure","affinity","identityProvider","security","encryption"],Ve=t(84218),Ue=function(){var e=(0,h.TL)(),n=(0,l.v9)((function(e){return e.createTenant.addingTenant})),t=(0,l.v9)((function(e){return e.createTenant.validPages})),r=(0,l.v9)((function(e){return e.createTenant.fields.nameTenant.selectedStorageClass})),a=!n&&""!==r&&Me.every((function(e){return t.includes(e)}));return(0,T.jsx)(_.zxk,{id:"wizard-button-Create",variant:"callAction",color:"primary",onClick:function(){e((0,Ve.e)())},disabled:!a,label:"Create"},"button-AddTenant-Create")},qe=t(37798),Be=t(57689),He=function(){var e=(0,h.TL)(),n=(0,Be.s0)(),t=(0,l.v9)((function(e){return e.createTenant.showNewCredentials})),r=(0,l.v9)((function(e){return e.createTenant.createdAccount}));return(0,T.jsx)(i.Fragment,{children:t&&(0,T.jsx)(qe.default,{newServiceAccount:r,open:t,closeModal:function(){e((0,N.dS)()),n("/tenants")},entity:"Tenant"})})},We=(0,R.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({pageBox:{border:"1px solid #EAEAEA"}},m.oO),m.AK),m.Je))})),Qe=function(){var e=(0,h.TL)(),n=(0,Be.s0)(),t=We(),a=(0,l.v9)(Ne.$4),s=(0,l.v9)((function(e){return e.createTenant.addingTenant})),d=(0,i.useState)(null),m=(0,r.Z)(d,2),x=m[0],p=m[1];(0,i.useEffect)((function(){var e=_e.cy.default;a&&0!==a.length&&Object.keys(_e.I8).forEach((function(n){a.includes(n)&&(e=o()(_e.I8,n,_e.cy.default))}));p(e)}),[a]);var g={label:"Cancel",type:"other",enabled:!0,action:function(){e((0,N.dS)()),n("/tenants")}},v={componentRender:(0,T.jsx)(Ue,{},"create-tenant")},y=[{label:"Setup",componentRender:(0,T.jsx)(Ke,{}),buttons:[g,v]},{label:"Configure",advancedOnly:!0,componentRender:(0,T.jsx)(P,{}),buttons:[g,v]},{label:"Images",advancedOnly:!0,componentRender:(0,T.jsx)(xe,{}),buttons:[g,v]},{label:"Pod Placement",advancedOnly:!0,componentRender:(0,T.jsx)(fe,{}),buttons:[g,v]},{label:"Identity Provider",advancedOnly:!0,componentRender:(0,T.jsx)(U,{}),buttons:[g,v]},{label:"Security",advancedOnly:!0,componentRender:(0,T.jsx)(H,{}),buttons:[g,v]},{label:"Encryption",advancedOnly:!0,componentRender:(0,T.jsx)(le,{}),buttons:[g,v]},{label:"Audit Log",advancedOnly:!0,componentRender:(0,T.jsx)(Le,{}),buttons:[g,v]},{label:"Monitoring",advancedOnly:!0,componentRender:(0,T.jsx)(ze,{}),buttons:[g,v]}];return(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)(He,{}),(0,T.jsx)(he.Z,{label:(0,T.jsx)(ge.Z,{to:"/tenants",label:"Tenants",executeOnClick:function(){e((0,N.dS)())}})}),(0,T.jsxs)(pe.Z,{children:[s&&(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsx)(u.Z,{})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:t.pageBox,children:(0,T.jsx)(f.Z,{wizardSteps:y})}),x===_e.cy.aws&&(0,T.jsx)(c.ZP,{item:!0,xs:12,style:{marginTop:16},children:(0,T.jsx)(Oe.Z,{title:"EBS Volume Configuration.",iconComponent:(0,T.jsx)(_.idV,{}),help:(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)("b",{children:"Performance Optimized"}),": Uses the ",(0,T.jsx)("i",{children:"gp3"})," EBS storage class class configured at 1,000Mi/s throughput and 16,000 IOPS, however the minimum volume size for this type of EBS volume is ",(0,T.jsx)("b",{children:"32Gi"}),".",(0,T.jsx)("br",{}),(0,T.jsx)("br",{}),(0,T.jsx)("b",{children:"Storage Optimized"}),": Uses the ",(0,T.jsx)("i",{children:"sc1"})," EBS storage class, however the minimum volume size for this type of EBS volume is \xa0",(0,T.jsx)("b",{children:"16Ti"})," to unlock their maximum throughput speed of 250Mi/s."]})})})]})]})}},88070:function(e,n,t){t(72791);var r=t(78687),a=t(64554),i=t(75952),s=t(57689),o=t(80184),l=function(e){var n=e.icon,t=e.description;return(0,o.jsxs)(a.Z,{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(){var e=(0,s.UO)(),n=e.tenantName||"",t=e.tenantNamespace||"",c=(0,r.v9)((function(e){return""!==t?t:""!==e.createTenant.fields.nameTenant.namespace?e.createTenant.fields.nameTenant.namespace:""})),u=(0,r.v9)((function(e){return""!==n?n:""!==e.createTenant.fields.nameTenant.tenantName?e.createTenant.fields.nameTenant.tenantName:""}));return(0,o.jsx)(a.Z,{sx:{flex:1,border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"20px",marginTop:{xs:"0px"}},children:(0,o.jsxs)(a.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,o.jsx)(l,{icon:(0,o.jsx)(i.Baz,{}),description:"TLS Certificates Warning"}),(0,o.jsxs)(a.Z,{sx:{fontSize:"14px",marginBottom:"15px"},children:["Automatic certificate generation is not enabled.",(0,o.jsx)("br",{}),(0,o.jsx)("br",{}),"If you wish to continue only with ",(0,o.jsx)("b",{children:"custom certificates"})," make sure they are valid for the following internode hostnames, i.e.:",(0,o.jsx)("br",{}),(0,o.jsx)("br",{}),(0,o.jsxs)("div",{style:{fontSize:"14px",fontStyle:"italic",color:"#5E5E5E"},children:["minio.",c,(0,o.jsx)("br",{}),"minio.",c,".svc",(0,o.jsx)("br",{}),"minio.",c,".svc.",(0,o.jsx)("br",{}),"*.",u,"-hl.",c,".svc.",(0,o.jsx)("br",{}),"*.",c,".svc."]}),(0,o.jsx)("br",{}),"Replace ",(0,o.jsx)("em",{children:""}),","," ",(0,o.jsx)("em",{children:""})," and",(0,o.jsx)("em",{children:""})," with the actual values for your MinIO tenant.",(0,o.jsx)("br",{}),(0,o.jsx)("br",{}),"You can learn more at our"," ",(0,o.jsx)("a",{href:"https://min.io/docs/minio/kubernetes/upstream/operations/network-encryption.html?ref=op#id5",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})]})})}},68456:function(e,n,t){t.d(n,{QT:function(){return o},YH:function(){return l},mo:function(){return s}});var r=t(61889),a=t(75952),i=t(80184),s=function(){return(0,i.jsxs)(r.ZP,{container:!0,columnGap:1,children:[(0,i.jsx)(r.ZP,{children:(0,i.jsx)(a.gyG,{width:"16px",height:"16px"})}),(0,i.jsx)(r.ZP,{item:!0,children:"Open ID"})]})},o=function(){return(0,i.jsxs)(r.ZP,{container:!0,columnGap:1,children:[(0,i.jsx)(r.ZP,{children:(0,i.jsx)(a.vcZ,{width:"16px",height:"16px"})}),(0,i.jsx)(r.ZP,{item:!0,children:"LDAP / Active Directory"})]})},l=function(){return(0,i.jsxs)(r.ZP,{container:!0,columnGap:1,children:[(0,i.jsx)(r.ZP,{children:(0,i.jsx)(a.oyc,{width:"16px",height:"16px"})}),(0,i.jsx)(r.ZP,{item:!0,children:"Built-in"})]})}},22512:function(e,n,t){var r=t(72791),a=t(20890),i=t(11135),s=t(25787),o=t(80184);n.Z=(0,s.Z)((function(e){var n;return(0,i.Z)({errorBlock:{color:(null===(n=e.palette)||void 0===n?void 0:n.error.main)||"#C83B51"}})}))((function(e){var n=e.classes,t=e.errorMessage,i=e.withBreak,s=void 0===i||i;return(0,o.jsxs)(r.Fragment,{children:[s&&(0,o.jsx)("br",{}),(0,o.jsx)(a.Z,{component:"p",variant:"body1",className:n.errorBlock,children:t})]})}))},42419:function(e,n,t){var r=t(64836);n.Z=void 0;var a=r(t(45649)),i=t(80184),s=(0,a.default)((0,i.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"}),"Add");n.Z=s},99663:function(e,n,t){var r=t(64836);n.Z=void 0;var a=r(t(45649)),i=t(80184),s=(0,a.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");n.Z=s},86711:function(e,n,t){var r=t(64836);n.Z=void 0;var a=r(t(45649)),i=t(80184),s=(0,a.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");n.Z=s},22918:function(e,n,t){var r=t(64836);n.Z=void 0;var a=r(t(45649)),i=t(80184),s=(0,a.default)((0,i.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-2zM7.5 18c-.83 0-1.5-.67-1.5-1.5S6.67 15 7.5 15s1.5.67 1.5 1.5S8.33 18 7.5 18zm0-9C6.67 9 6 8.33 6 7.5S6.67 6 7.5 6 9 6.67 9 7.5 8.33 9 7.5 9zm4.5 4.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm4.5 4.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm0-9c-.83 0-1.5-.67-1.5-1.5S15.67 6 16.5 6s1.5.67 1.5 1.5S17.33 9 16.5 9z"}),"Casino");n.Z=s},27247:function(e,n,t){var r=t(64836);n.Z=void 0;var a=r(t(45649)),i=t(80184),s=(0,a.default)((0,i.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"}),"Delete");n.Z=s},94721:function(e,n,t){var r=t(63366),a=t(87462),i=t(72791),s=t(28182),o=t(94419),l=t(12065),c=t(66934),u=t(31402),d=t(90133),m=t(80184),f=["absolute","children","className","component","flexItem","light","orientation","role","textAlign","variant"],h=(0,c.ZP)("div",{name:"MuiDivider",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,t.absolute&&n.absolute,n[t.variant],t.light&&n.light,"vertical"===t.orientation&&n.vertical,t.flexItem&&n.flexItem,t.children&&n.withChildren,t.children&&"vertical"===t.orientation&&n.withChildrenVertical,"right"===t.textAlign&&"vertical"!==t.orientation&&n.textAlignRight,"left"===t.textAlign&&"vertical"!==t.orientation&&n.textAlignLeft]}})((function(e){var n=e.theme,t=e.ownerState;return(0,a.Z)({margin:0,flexShrink:0,borderWidth:0,borderStyle:"solid",borderColor:(n.vars||n).palette.divider,borderBottomWidth:"thin"},t.absolute&&{position:"absolute",bottom:0,left:0,width:"100%"},t.light&&{borderColor:n.vars?"rgba(".concat(n.vars.palette.dividerChannel," / 0.08)"):(0,l.Fq)(n.palette.divider,.08)},"inset"===t.variant&&{marginLeft:72},"middle"===t.variant&&"horizontal"===t.orientation&&{marginLeft:n.spacing(2),marginRight:n.spacing(2)},"middle"===t.variant&&"vertical"===t.orientation&&{marginTop:n.spacing(1),marginBottom:n.spacing(1)},"vertical"===t.orientation&&{height:"100%",borderBottomWidth:0,borderRightWidth:"thin"},t.flexItem&&{alignSelf:"stretch",height:"auto"})}),(function(e){var n=e.theme,t=e.ownerState;return(0,a.Z)({},t.children&&{display:"flex",whiteSpace:"nowrap",textAlign:"center",border:0,"&::before, &::after":{position:"relative",width:"100%",borderTop:"thin solid ".concat((n.vars||n).palette.divider),top:"50%",content:'""',transform:"translateY(50%)"}})}),(function(e){var n=e.theme,t=e.ownerState;return(0,a.Z)({},t.children&&"vertical"===t.orientation&&{flexDirection:"column","&::before, &::after":{height:"100%",top:"0%",left:"50%",borderTop:0,borderLeft:"thin solid ".concat((n.vars||n).palette.divider),transform:"translateX(0%)"}})}),(function(e){var n=e.ownerState;return(0,a.Z)({},"right"===n.textAlign&&"vertical"!==n.orientation&&{"&::before":{width:"90%"},"&::after":{width:"10%"}},"left"===n.textAlign&&"vertical"!==n.orientation&&{"&::before":{width:"10%"},"&::after":{width:"90%"}})})),x=(0,c.ZP)("span",{name:"MuiDivider",slot:"Wrapper",overridesResolver:function(e,n){var t=e.ownerState;return[n.wrapper,"vertical"===t.orientation&&n.wrapperVertical]}})((function(e){var n=e.theme,t=e.ownerState;return(0,a.Z)({display:"inline-block",paddingLeft:"calc(".concat(n.spacing(1)," * 1.2)"),paddingRight:"calc(".concat(n.spacing(1)," * 1.2)")},"vertical"===t.orientation&&{paddingTop:"calc(".concat(n.spacing(1)," * 1.2)"),paddingBottom:"calc(".concat(n.spacing(1)," * 1.2)")})})),p=i.forwardRef((function(e,n){var t=(0,u.Z)({props:e,name:"MuiDivider"}),i=t.absolute,l=void 0!==i&&i,c=t.children,p=t.className,g=t.component,v=void 0===g?c?"div":"hr":g,y=t.flexItem,j=void 0!==y&&y,Z=t.light,C=void 0!==Z&&Z,b=t.orientation,S=void 0===b?"horizontal":b,_=t.role,N=void 0===_?"hr"!==v?"separator":void 0:_,A=t.textAlign,T=void 0===A?"center":A,P=t.variant,I=void 0===P?"fullWidth":P,w=(0,r.Z)(t,f),k=(0,a.Z)({},t,{absolute:l,component:v,flexItem:j,light:C,orientation:S,role:N,textAlign:T,variant:I}),R=function(e){var n=e.absolute,t=e.children,r=e.classes,a=e.flexItem,i=e.light,s=e.orientation,l=e.textAlign,c={root:["root",n&&"absolute",e.variant,i&&"light","vertical"===s&&"vertical",a&&"flexItem",t&&"withChildren",t&&"vertical"===s&&"withChildrenVertical","right"===l&&"vertical"!==s&&"textAlignRight","left"===l&&"vertical"!==s&&"textAlignLeft"],wrapper:["wrapper","vertical"===s&&"wrapperVertical"]};return(0,o.Z)(c,d.V,r)}(k);return(0,m.jsx)(h,(0,a.Z)({as:v,className:(0,s.Z)(R.root,p),role:N,ref:n,ownerState:k},w,{children:c?(0,m.jsx)(x,{className:R.wrapper,ownerState:k,children:c}):null}))}));n.Z=p}}]); +//# sourceMappingURL=1275.1d84ee6a.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1275.1d84ee6a.chunk.js.map b/portal-ui/build/static/js/1275.1d84ee6a.chunk.js.map new file mode 100644 index 000000000..1f2c6b490 --- /dev/null +++ b/portal-ui/build/static/js/1275.1d84ee6a.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1275.1d84ee6a.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/CredentialsPrompt/CredentialItem.tsx","screens/Console/Common/CredentialsPrompt/CredentialsPrompt.tsx","screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/FormComponents/FileSelector/FileSelector.tsx","screens/Console/Common/FormComponents/FileSelector/utils.ts","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Tenants/AddTenant/Steps/Configure.tsx","screens/Console/Tenants/AddTenant/Steps/IdentityProvider/IDPActiveDirectory.tsx","screens/Console/Tenants/AddTenant/Steps/IdentityProvider/IDPOpenID.tsx","screens/Console/Tenants/AddTenant/Steps/IdentityProvider/IDPBuiltIn.tsx","screens/Console/Tenants/AddTenant/Steps/IdentityProvider.tsx","screens/Console/Tenants/AddTenant/Steps/Security.tsx","screens/Console/Common/SectionH1.tsx","screens/Console/Tenants/AddTenant/Steps/Encryption/VaultKMSAdd.tsx","screens/Console/Tenants/AddTenant/Steps/Encryption/AzureKMSAdd.tsx","screens/Console/Tenants/AddTenant/Steps/Encryption/GCPKMSAdd.tsx","screens/Console/Tenants/AddTenant/Steps/Encryption/GemaltoKMSAdd.tsx","screens/Console/Tenants/AddTenant/Steps/Encryption/AWSKMSAdd.tsx","screens/Console/Tenants/AddTenant/Steps/Encryption.tsx","screens/Console/Tenants/AddTenant/Steps/Affinity.tsx","screens/Console/Tenants/AddTenant/Steps/Images.tsx","screens/Console/Tenants/AddTenant/Steps/SizePreview.tsx","screens/Console/Tenants/AddTenant/Steps/helpers/AddNamespaceModal.tsx","screens/Console/Tenants/AddTenant/Steps/TenantResources/NamespaceSelector.tsx","screens/Console/Tenants/AddTenant/Steps/TenantResources/NameTenantMain.tsx","screens/Console/Tenants/AddTenant/Steps/TenantResources/TenantResources.tsx","screens/Console/Tenants/AddTenant/Steps/ConfigLogSearch.tsx","screens/Console/Tenants/AddTenant/Steps/ConfigPrometheus.tsx","screens/Console/Tenants/AddTenant/common.ts","screens/Console/Tenants/AddTenant/CreateTenantButton.tsx","screens/Console/Tenants/AddTenant/NewTenantCredentials.tsx","screens/Console/Tenants/AddTenant/AddTenant.tsx","screens/Console/Tenants/HelpBox/TLSHelpBox.tsx","screens/Console/Tenants/LogoComponents.tsx","screens/shared/ErrorBlock.tsx","../node_modules/@mui/icons-material/Add.js","../node_modules/@mui/icons-material/AttachFile.js","../node_modules/@mui/icons-material/Cancel.js","../node_modules/@mui/icons-material/Casino.js","../node_modules/@mui/icons-material/Delete.js","../node_modules/@mui/material/Divider/Divider.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string | React.ReactNode;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { InputAdornment, OutlinedInput } from \"@mui/material\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { CopyIcon } from \"mds\";\nimport { fieldBasic } from \"../FormComponents/common/styleLibrary\";\nimport TooltipWrapper from \"../TooltipWrapper/TooltipWrapper\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n container: {\n display: \"flex\",\n flexFlow: \"column\",\n padding: \"20px 0 8px 0\",\n },\n inputWithCopy: {\n \"& .MuiInputBase-root \": {\n width: \"100%\",\n background: \"#FBFAFA\",\n \"& .MuiInputBase-input\": {\n height: \".8rem\",\n },\n \"& .MuiInputAdornment-positionEnd\": {\n marginRight: \".5rem\",\n \"& .MuiButtonBase-root\": {\n height: \"2rem\",\n },\n },\n },\n \"& .MuiButtonBase-root .min-icon\": {\n width: \".8rem\",\n height: \".8rem\",\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontSize: \".8rem\",\n },\n });\n\nconst CredentialItem = ({\n label = \"\",\n value = \"\",\n classes = {},\n}: {\n label: string;\n value: string;\n classes: any;\n}) => {\n return (\n
\n
{label}:
\n
\n \n \n \n {}}\n onMouseDown={() => {}}\n style={{\n width: \"28px\",\n height: \"28px\",\n padding: \"0px\",\n }}\n icon={}\n />\n \n \n \n }\n />\n
\n
\n );\n};\n\nexport default withStyles(styles)(CredentialItem);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { NewServiceAccount } from \"./types\";\nimport ModalWrapper from \"../ModalWrapper/ModalWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport CredentialItem from \"./CredentialItem\";\nimport { WarnIcon } from \"mds\";\nimport { DownloadIcon, ServiceAccountCredentialsIcon } from \"mds\";\nimport TooltipWrapper from \"../TooltipWrapper/TooltipWrapper\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n warningBlock: {\n color: \"red\",\n fontSize: \".85rem\",\n margin: \".5rem 0 .5rem 0\",\n display: \"flex\",\n alignItems: \"center\",\n \"& svg \": {\n marginRight: \".3rem\",\n height: 16,\n width: 16,\n },\n },\n credentialTitle: {\n padding: \".8rem 0 0 0\",\n fontWeight: 600,\n fontSize: \".9rem\",\n },\n buttonContainer: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n marginTop: \"1rem\",\n },\n credentialsPanel: {\n overflowY: \"auto\",\n maxHeight: 350,\n },\n promptTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n buttonSpacer: {\n marginRight: \".9rem\",\n },\n });\n\ninterface ICredentialsPromptProps {\n classes: any;\n newServiceAccount: NewServiceAccount | null;\n open: boolean;\n entity: string;\n closeModal: () => void;\n}\n\nconst download = (filename: string, text: string) => {\n let element = document.createElement(\"a\");\n element.setAttribute(\"href\", \"data:text/plain;charset=utf-8,\" + text);\n element.setAttribute(\"download\", filename);\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n document.body.removeChild(element);\n};\n\nconst CredentialsPrompt = ({\n classes,\n newServiceAccount,\n open,\n closeModal,\n entity,\n}: ICredentialsPromptProps) => {\n if (!newServiceAccount) {\n return null;\n }\n const consoleCreds = get(newServiceAccount, \"console\", null);\n const idp = get(newServiceAccount, \"idp\", false);\n\n const downloadImport = () => {\n let consoleExtras = {};\n\n if (consoleCreds) {\n if (!Array.isArray(consoleCreds)) {\n consoleExtras = {\n url: consoleCreds.url,\n accessKey: consoleCreds.accessKey,\n secretKey: consoleCreds.secretKey,\n api: \"s3v4\",\n path: \"auto\",\n };\n } else {\n const cCreds = consoleCreds.map((itemMap) => {\n return {\n url: itemMap.url,\n accessKey: itemMap.accessKey,\n secretKey: itemMap.secretKey,\n api: \"s3v4\",\n path: \"auto\",\n };\n });\n consoleExtras = cCreds[0];\n }\n } else {\n consoleExtras = {\n url: newServiceAccount.url,\n accessKey: newServiceAccount.accessKey,\n secretKey: newServiceAccount.secretKey,\n api: \"s3v4\",\n path: \"auto\",\n };\n }\n\n download(\n \"credentials.json\",\n JSON.stringify({\n ...consoleExtras,\n })\n );\n };\n\n const downloaddAllCredentials = () => {\n let allCredentials = {};\n if (\n consoleCreds &&\n Array.isArray(consoleCreds) &&\n consoleCreds.length > 1\n ) {\n const cCreds = consoleCreds.map((itemMap) => {\n return {\n accessKey: itemMap.accessKey,\n secretKey: itemMap.secretKey,\n };\n });\n allCredentials = cCreds;\n }\n download(\n \"all_credentials.json\",\n JSON.stringify({\n ...allCredentials,\n })\n );\n };\n\n return (\n {\n closeModal();\n }}\n title={\n
\n
New {entity} Created
\n
\n }\n titleIcon={}\n >\n \n \n A new {entity} has been created with the following details:\n {!idp && consoleCreds && (\n \n \n
\n Console Credentials\n
\n {Array.isArray(consoleCreds) &&\n consoleCreds.map((credentialsPair, index) => {\n return (\n <>\n \n \n \n );\n })}\n {!Array.isArray(consoleCreds) && (\n <>\n \n \n \n )}\n
\n
\n )}\n {(consoleCreds === null || consoleCreds === undefined) && (\n <>\n \n \n \n )}\n {idp ? (\n
\n Please Login via the configured external identity provider.\n
\n ) : (\n
\n \n \n Write these down, as this is the only time the secret will be\n displayed.\n \n
\n )}\n
\n \n {!idp && (\n <>\n \n }\n variant=\"callAction\"\n />\n \n\n {Array.isArray(consoleCreds) && consoleCreds.length > 1 && (\n \n }\n variant=\"callAction\"\n color=\"primary\"\n />\n \n )}\n \n )}\n \n
\n \n );\n};\n\nexport default withStyles(styles)(CredentialsPrompt);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { HelpIcon } from \"mds\";\nimport { fieldBasic } from \"../common/styleLibrary\";\nimport { CopyIcon } from \"mds\";\nimport { Button } from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport CodeEditor from \"@uiw/react-textarea-code-editor\";\nimport TooltipWrapper from \"../../TooltipWrapper/TooltipWrapper\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n classes: any;\n onChange?: (editor: any, data: any, value: string) => any;\n onBeforeChange: (editor: any, data: any, value: string) => any;\n readOnly?: boolean;\n editorHeight?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n });\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n classes,\n onBeforeChange,\n readOnly = false,\n editorHeight = \"250px\",\n}: ICodeWrapper) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n\n \n {\n onBeforeChange(null, null, evn.target.value);\n }}\n id={\"code_wrapper\"}\n padding={15}\n style={{\n fontSize: 12,\n backgroundColor: \"#fefefe\",\n fontFamily:\n \"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace\",\n minHeight: editorHeight || \"initial\",\n color: \"#000000\",\n }}\n />\n \n \n \n \n \n }\n color={\"primary\"}\n variant={\"regular\"}\n />\n \n \n \n \n
\n );\n};\n\nexport default withStyles(styles)(CodeMirrorWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { 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, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n noContentPadding?: boolean;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n noContentPadding,\n titleIcon = null,\n}: IModalProps) => {\n const dispatch = useAppDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nexport default withStyles(styles)(ModalWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useCallback, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n Divider,\n Grid,\n IconButton,\n Paper,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport {\n createTenantCommon,\n modalBasic,\n wizardCommon,\n formFieldStyles,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\n\nimport { AppState, useAppDispatch } from \"../../../../../store\";\nimport { clearValidationError } from \"../../utils\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../utils/validationFunctions\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport InputBoxWrapper from \"../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport { RemoveIcon } from \"mds\";\nimport {\n addNewMinIODomain,\n isPageValid,\n removeMinIODomain,\n setEnvVars,\n updateAddField,\n} from \"../createTenantSlice\";\nimport SelectWrapper from \"../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\n\ninterface IConfigureProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n configSectionItem: {\n marginRight: 15,\n marginBottom: 15,\n\n \"& .multiContainer\": {\n border: \"1px solid red\",\n },\n },\n tenantCustomizationFields: {\n marginLeft: 30, // 2nd Level(15+15)\n width: \"88%\",\n margin: \"auto\",\n },\n containerItem: {\n marginRight: 15,\n },\n fieldGroup: {\n ...createTenantCommon.fieldGroup,\n paddingTop: 15,\n marginBottom: 25,\n },\n responsiveSectionItem: {\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n\n \"& div > div\": {\n marginBottom: 5,\n marginRight: 0,\n },\n },\n },\n wrapperContainer: {\n display: \"flex\",\n marginBottom: 15,\n },\n envVarRow: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n \"&:last-child\": {\n borderBottom: 0,\n },\n \"@media (max-width: 900px)\": {\n flex: 1,\n\n \"& div label\": {\n minWidth: 50,\n },\n },\n },\n fileItem: {\n marginRight: 10,\n display: \"flex\",\n \"& div label\": {\n minWidth: 50,\n },\n\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n rowActions: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n \"@media (max-width: 900px)\": {\n flex: 1,\n },\n },\n overlayAction: {\n marginLeft: 10,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n ...modalBasic,\n ...wizardCommon,\n ...formFieldStyles,\n });\n\nconst Configure = ({ classes }: IConfigureProps) => {\n const dispatch = useAppDispatch();\n\n const exposeMinIO = useSelector(\n (state: AppState) => state.createTenant.fields.configure.exposeMinIO\n );\n const exposeConsole = useSelector(\n (state: AppState) => state.createTenant.fields.configure.exposeConsole\n );\n const setDomains = useSelector(\n (state: AppState) => state.createTenant.fields.configure.setDomains\n );\n const consoleDomain = useSelector(\n (state: AppState) => state.createTenant.fields.configure.consoleDomain\n );\n const minioDomains = useSelector(\n (state: AppState) => state.createTenant.fields.configure.minioDomains\n );\n const tenantCustom = useSelector(\n (state: AppState) => state.createTenant.fields.configure.tenantCustom\n );\n const tenantEnvVars = useSelector(\n (state: AppState) => state.createTenant.fields.configure.envVars\n );\n const tenantSecurityContext = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.tenantSecurityContext\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"configure\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n // Validation\n useEffect(() => {\n let customAccountValidation: IValidation[] = [];\n if (tenantCustom) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"tenant_securityContext_runAsUser\",\n required: true,\n value: tenantSecurityContext.runAsUser,\n customValidation:\n tenantSecurityContext.runAsUser === \"\" ||\n parseInt(tenantSecurityContext.runAsUser) < 0,\n customValidationMessage: `runAsUser must be present and be 0 or more`,\n },\n {\n fieldKey: \"tenant_securityContext_runAsGroup\",\n required: true,\n value: tenantSecurityContext.runAsGroup,\n customValidation:\n tenantSecurityContext.runAsGroup === \"\" ||\n parseInt(tenantSecurityContext.runAsGroup) < 0,\n customValidationMessage: `runAsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"tenant_securityContext_fsGroup\",\n required: true,\n value: tenantSecurityContext.fsGroup,\n customValidation:\n tenantSecurityContext.fsGroup === \"\" ||\n parseInt(tenantSecurityContext.fsGroup) < 0,\n customValidationMessage: `fsGroup must be present and be 0 or more`,\n },\n ];\n }\n\n if (setDomains) {\n const minioExtraValidations = minioDomains.map((validation, index) => {\n return {\n fieldKey: `minio-domain-${index.toString()}`,\n required: false,\n value: validation,\n pattern: /^(https?):\\/\\/([a-zA-Z0-9\\-.]+)(:[0-9]+)?$/,\n customPatternMessage:\n \"MinIO domain is not in the form of http|https://subdomain.domain\",\n };\n });\n\n customAccountValidation = [\n ...customAccountValidation,\n ...minioExtraValidations,\n {\n fieldKey: \"console_domain\",\n required: false,\n value: consoleDomain,\n pattern:\n /^(https?):\\/\\/([a-zA-Z0-9\\-.]+)(:[0-9]+)?(\\/[a-zA-Z0-9\\-./]*)?$/,\n customPatternMessage:\n \"Console domain is not in the form of http|https://subdomain.domain:port/subpath1/subpath2\",\n },\n ];\n }\n\n const commonVal = commonFormValidation(customAccountValidation);\n\n dispatch(\n isPageValid({\n pageName: \"configure\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n dispatch,\n tenantCustom,\n tenantSecurityContext,\n setDomains,\n consoleDomain,\n minioDomains,\n ]);\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n const updateMinIODomain = (value: string, index: number) => {\n const copyDomains = [...minioDomains];\n copyDomains[index] = value;\n\n updateField(\"minioDomains\", copyDomains);\n };\n\n return (\n \n
\n

Configure

\n \n Basic configurations for tenant management\n \n
\n
\n

Services

\n \n Whether the tenant's services should request an external IP via\n LoadBalancer service type.\n \n
\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"exposeMinIO\", checked);\n }}\n label={\"Expose MinIO Service\"}\n />\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"exposeConsole\", checked);\n }}\n label={\"Expose Console Service\"}\n />\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"setDomains\", checked);\n }}\n label={\"Set Custom Domains\"}\n />\n \n {setDomains && (\n \n
\n \n Custom Domains for MinIO\n \n \n
\n ) => {\n updateField(\"consoleDomain\", e.target.value);\n cleanValidation(\"tenant_securityContext_runAsUser\");\n }}\n label=\"Console Domain\"\n value={consoleDomain}\n placeholder={\n \"Eg. http://subdomain.domain:port/subpath1/subpath2\"\n }\n error={validationErrors[\"console_domain\"] || \"\"}\n />\n
\n
\n

MinIO Domains

\n
\n {minioDomains.map((domain, index) => {\n return (\n \n \n ) => {\n updateMinIODomain(e.target.value, index);\n }}\n label={`MinIO Domain ${index + 1}`}\n value={domain}\n placeholder={\"Eg. http://subdomain.domain\"}\n error={\n validationErrors[\n `minio-domain-${index.toString()}`\n ] || \"\"\n }\n />\n
\n dispatch(addNewMinIODomain())}\n disabled={index !== minioDomains.length - 1}\n >\n \n \n
\n\n
\n dispatch(removeMinIODomain(index))}\n disabled={minioDomains.length <= 1}\n >\n \n \n
\n
\n );\n })}\n
\n \n
\n
\n
\n )}\n\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"tenantCustom\", checked);\n }}\n label={\"Security Context\"}\n />\n \n {tenantCustom && (\n \n
\n \n SecurityContext for MinIO\n \n \n \n
\n ) => {\n updateField(\"tenantSecurityContext\", {\n ...tenantSecurityContext,\n runAsUser: e.target.value,\n });\n cleanValidation(\"tenant_securityContext_runAsUser\");\n }}\n label=\"Run As User\"\n value={tenantSecurityContext.runAsUser}\n required\n error={\n validationErrors[\"tenant_securityContext_runAsUser\"] || \"\"\n }\n min=\"0\"\n />\n
\n
\n ) => {\n updateField(\"tenantSecurityContext\", {\n ...tenantSecurityContext,\n runAsGroup: e.target.value,\n });\n cleanValidation(\"tenant_securityContext_runAsGroup\");\n }}\n label=\"Run As Group\"\n value={tenantSecurityContext.runAsGroup}\n required\n error={\n validationErrors[\"tenant_securityContext_runAsGroup\"] ||\n \"\"\n }\n min=\"0\"\n />\n
\n \n
\n
\n \n \n
\n ) => {\n updateField(\"tenantSecurityContext\", {\n ...tenantSecurityContext,\n fsGroup: e.target.value,\n });\n cleanValidation(\"tenant_securityContext_fsGroup\");\n }}\n label=\"FsGroup\"\n value={tenantSecurityContext.fsGroup}\n required\n error={\n validationErrors[\"tenant_securityContext_fsGroup\"] || \"\"\n }\n min=\"0\"\n />\n
\n
\n
\n ) => {\n updateField(\"tenantSecurityContext\", {\n ...tenantSecurityContext,\n fsGroupChangePolicy: e.target.value,\n });\n }}\n options={[\n {\n label: \"Always\",\n value: \"Always\",\n },\n {\n label: \"OnRootMismatch\",\n value: \"OnRootMismatch\",\n },\n ]}\n />\n
\n
\n \n
\n
\n \n
\n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"tenantSecurityContext\", {\n ...tenantSecurityContext,\n runAsNonRoot: checked,\n });\n }}\n label={\"Do not run as Root\"}\n />\n
\n
\n
\n
\n )}\n \n\n
\n

Additional Environment Variables

\n \n Define additional environment variables to be used by your MinIO pods\n \n
\n \n {tenantEnvVars.map((envVar, index) => (\n \n \n ) => {\n const existingEnvVars = [...tenantEnvVars];\n dispatch(\n setEnvVars(\n existingEnvVars.map((keyPair, i) =>\n i === index\n ? { key: e.target.value, value: keyPair.value }\n : keyPair\n )\n )\n );\n }}\n index={index}\n key={`env_var_key_${index.toString()}`}\n />\n \n \n ) => {\n const existingEnvVars = [...tenantEnvVars];\n dispatch(\n setEnvVars(\n existingEnvVars.map((keyPair, i) =>\n i === index\n ? { key: keyPair.key, value: e.target.value }\n : keyPair\n )\n )\n );\n }}\n index={index}\n key={`env_var_value_${index.toString()}`}\n />\n \n \n
\n {\n const existingEnvVars = [...tenantEnvVars];\n existingEnvVars.push({ key: \"\", value: \"\" });\n\n dispatch(setEnvVars(existingEnvVars));\n }}\n disabled={index !== tenantEnvVars.length - 1}\n >\n \n \n
\n
\n {\n const existingEnvVars = tenantEnvVars.filter(\n (item, fIndex) => fIndex !== index\n );\n dispatch(setEnvVars(existingEnvVars));\n }}\n disabled={tenantEnvVars.length <= 1}\n >\n \n \n
\n
\n
\n ))}\n \n
\n );\n};\n\nexport default withStyles(styles)(Configure);\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 { Grid, IconButton, Tooltip, Typography } from \"@mui/material\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport {\n addIDPADUsrAtIndex,\n isPageValid,\n removeIDPADUsrAtIndex,\n setIDPADUsrAtIndex,\n updateAddField,\n addIDPADGroupAtIndex,\n removeIDPADGroupAtIndex,\n setIDPADGroupAtIndex,\n} from \"../../createTenantSlice\";\nimport { useSelector } from \"react-redux\";\nimport { clearValidationError } from \"../../../utils\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../../utils/validationFunctions\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n adUserDnRows: {\n display: \"flex\",\n marginBottom: 10,\n },\n buttonTray: {\n marginLeft: 10,\n display: \"flex\",\n height: 38,\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n overlayAction: {\n marginLeft: 10,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n })\n);\n\nconst IDPActiveDirectory = () => {\n const dispatch = useAppDispatch();\n const classes = useStyles();\n\n const idpSelection = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.idpSelection\n );\n const ADURL = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.ADURL\n );\n const ADSkipTLS = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.ADSkipTLS\n );\n const ADServerInsecure = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.ADServerInsecure\n );\n const ADGroupSearchBaseDN = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.ADGroupSearchBaseDN\n );\n const ADGroupSearchFilter = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.ADGroupSearchFilter\n );\n const ADUserDNs = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.ADUserDNs\n );\n const ADGroupDNs = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.ADGroupDNs\n );\n const ADLookupBindDN = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.ADLookupBindDN\n );\n const ADLookupBindPassword = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.ADLookupBindPassword\n );\n const ADUserDNSearchBaseDN = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.ADUserDNSearchBaseDN\n );\n const ADUserDNSearchFilter = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.ADUserDNSearchFilter\n );\n const ADServerStartTLS = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.ADServerStartTLS\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({\n pageName: \"identityProvider\",\n field: field,\n value: value,\n })\n );\n },\n [dispatch]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n // Validation\n useEffect(() => {\n let customIDPValidation: IValidation[] = [];\n\n if (idpSelection === \"AD\") {\n customIDPValidation = [\n ...customIDPValidation,\n {\n fieldKey: \"AD_URL\",\n required: true,\n value: ADURL,\n },\n {\n fieldKey: \"ad_lookupBindDN\",\n required: true,\n value: ADLookupBindDN,\n },\n ];\n }\n\n const commonVal = commonFormValidation(customIDPValidation);\n\n dispatch(\n isPageValid({\n pageName: \"identityProvider\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n ADLookupBindDN,\n idpSelection,\n ADURL,\n ADGroupSearchBaseDN,\n ADGroupSearchFilter,\n ADUserDNs,\n ADGroupDNs,\n dispatch,\n ]);\n\n return (\n \n \n ) => {\n updateField(\"ADURL\", e.target.value);\n cleanValidation(\"AD_URL\");\n }}\n label=\"LDAP Server Address\"\n value={ADURL}\n placeholder=\"ldap-server:636\"\n error={validationErrors[\"AD_URL\"] || \"\"}\n required\n />\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"ADSkipTLS\", checked);\n }}\n label={\"Skip TLS Verification\"}\n />\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"ADServerInsecure\", checked);\n }}\n label={\"Server Insecure\"}\n />\n \n {ADServerInsecure ? (\n \n \n Warning: All traffic with Active Directory will be unencrypted\n \n
\n
\n ) : null}\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"ADServerStartTLS\", checked);\n }}\n label={\"Start TLS connection to AD/LDAP server\"}\n />\n \n \n ) => {\n updateField(\"ADLookupBindDN\", e.target.value);\n cleanValidation(\"ad_lookupBindDN\");\n }}\n label=\"Lookup Bind DN\"\n value={ADLookupBindDN}\n placeholder=\"cn=admin,dc=min,dc=io\"\n error={validationErrors[\"ad_lookupBindDN\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"ADLookupBindPassword\", e.target.value);\n }}\n label=\"Lookup Bind Password\"\n value={ADLookupBindPassword}\n placeholder=\"admin\"\n />\n \n \n ) => {\n updateField(\"ADUserDNSearchBaseDN\", e.target.value);\n }}\n label=\"User DN Search Base DN\"\n value={ADUserDNSearchBaseDN}\n placeholder=\"dc=min,dc=io\"\n />\n \n \n ) => {\n updateField(\"ADUserDNSearchFilter\", e.target.value);\n }}\n label=\"User DN Search Filter\"\n value={ADUserDNSearchFilter}\n placeholder=\"(sAMAcountName=%s)\"\n />\n \n \n ) => {\n updateField(\"ADGroupSearchBaseDN\", e.target.value);\n }}\n label=\"Group Search Base DN\"\n value={ADGroupSearchBaseDN}\n placeholder=\"ou=hwengg,dc=min,dc=io;ou=swengg,dc=min,dc=io\"\n />\n \n \n ) => {\n updateField(\"ADGroupSearchFilter\", e.target.value);\n }}\n label=\"Group Search Filter\"\n value={ADGroupSearchFilter}\n placeholder=\"(&(objectclass=groupOfNames)(member=%s))\"\n />\n \n
\n \n List of user DNs (Distinguished Names) to be Tenant Administrators\n \n \n {ADUserDNs.map((_, index) => {\n return (\n \n
\n ) => {\n dispatch(\n setIDPADUsrAtIndex({\n index: index,\n userDN: e.target.value,\n })\n );\n cleanValidation(`ad-userdn-${index.toString()}`);\n }}\n index={index}\n key={`csv-ad-userdn-${index.toString()}`}\n error={\n validationErrors[`ad-userdn-${index.toString()}`] || \"\"\n }\n />\n
\n \n {\n dispatch(addIDPADUsrAtIndex());\n }}\n >\n \n \n \n \n {\n if (ADUserDNs.length > 1) {\n dispatch(removeIDPADUsrAtIndex(index));\n }\n }}\n >\n \n \n \n
\n
\n
\n );\n })}\n
\n
\n
\n \n List of group DNs (Distinguished Names) to be Tenant Administrators\n \n \n {ADGroupDNs.map((_, index) => {\n return (\n \n
\n ) => {\n dispatch(\n setIDPADGroupAtIndex({\n index: index,\n userDN: e.target.value,\n })\n );\n cleanValidation(`ad-groupdn-${index.toString()}`);\n }}\n index={index}\n key={`csv-ad-groupdn-${index.toString()}`}\n error={\n validationErrors[`ad-groupdn-${index.toString()}`] || \"\"\n }\n />\n
\n \n {\n dispatch(addIDPADGroupAtIndex());\n }}\n >\n \n \n \n \n {\n if (ADGroupDNs.length > 1) {\n dispatch(removeIDPADGroupAtIndex(index));\n }\n }}\n >\n \n \n \n
\n
\n
\n );\n })}\n
\n
\n
\n );\n};\n\nexport default IDPActiveDirectory;\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 { Grid } from \"@mui/material\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { isPageValid, updateAddField } from \"../../createTenantSlice\";\nimport { clearValidationError } from \"../../../utils\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../../utils/validationFunctions\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n buttonTray: {\n marginLeft: 10,\n display: \"flex\",\n height: 38,\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n overlayAction: {\n marginLeft: 10,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n })\n);\n\nconst IDPOpenID = () => {\n const dispatch = useAppDispatch();\n const classes = useStyles();\n\n const idpSelection = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.idpSelection\n );\n const openIDConfigurationURL = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.openIDConfigurationURL\n );\n const openIDClientID = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.openIDClientID\n );\n const openIDSecretID = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.openIDSecretID\n );\n const openIDCallbackURL = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.openIDCallbackURL\n );\n const openIDClaimName = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.openIDClaimName\n );\n const openIDScopes = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.openIDScopes\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({\n pageName: \"identityProvider\",\n field: field,\n value: value,\n })\n );\n },\n [dispatch]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n // Validation\n useEffect(() => {\n let customIDPValidation: IValidation[] = [];\n\n if (idpSelection === \"OpenID\") {\n customIDPValidation = [\n ...customIDPValidation,\n {\n fieldKey: \"openID_CONFIGURATION_URL\",\n required: true,\n value: openIDConfigurationURL,\n },\n {\n fieldKey: \"openID_clientID\",\n required: true,\n value: openIDClientID,\n },\n {\n fieldKey: \"openID_secretID\",\n required: true,\n value: openIDSecretID,\n },\n {\n fieldKey: \"openID_claimName\",\n required: true,\n value: openIDClaimName,\n },\n ];\n }\n\n const commonVal = commonFormValidation(customIDPValidation);\n\n dispatch(\n isPageValid({\n pageName: \"identityProvider\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n idpSelection,\n openIDClientID,\n openIDSecretID,\n openIDConfigurationURL,\n openIDClaimName,\n dispatch,\n ]);\n\n return (\n \n \n ) => {\n updateField(\"openIDConfigurationURL\", e.target.value);\n cleanValidation(\"openID_CONFIGURATION_URL\");\n }}\n label=\"Configuration URL\"\n value={openIDConfigurationURL}\n placeholder=\"https://your-identity-provider.com/.well-known/openid-configuration\"\n error={validationErrors[\"openID_CONFIGURATION_URL\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"openIDClientID\", e.target.value);\n cleanValidation(\"openID_clientID\");\n }}\n label=\"Client ID\"\n value={openIDClientID}\n error={validationErrors[\"openID_clientID\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"openIDSecretID\", e.target.value);\n cleanValidation(\"openID_secretID\");\n }}\n label=\"Secret ID\"\n value={openIDSecretID}\n error={validationErrors[\"openID_secretID\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"openIDCallbackURL\", e.target.value);\n cleanValidation(\"openID_callbackURL\");\n }}\n label=\"Callback URL\"\n value={openIDCallbackURL}\n placeholder=\"https://your-console-endpoint:9443/oauth_callback\"\n error={validationErrors[\"openID_callbackURL\"] || \"\"}\n />\n \n \n ) => {\n updateField(\"openIDClaimName\", e.target.value);\n cleanValidation(\"openID_claimName\");\n }}\n label=\"Claim Name\"\n value={openIDClaimName}\n error={validationErrors[\"openID_claimName\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"openIDScopes\", e.target.value);\n cleanValidation(\"openID_scopes\");\n }}\n label=\"Scopes\"\n value={openIDScopes}\n />\n \n \n );\n};\n\nexport default IDPOpenID;\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 InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport {\n addIDPNewKeyPair,\n isPageValid,\n removeIDPKeyPairAtIndex,\n setIDPPwdAtIndex,\n setIDPUsrAtIndex,\n} from \"../../createTenantSlice\";\nimport { IconButton, Tooltip } from \"@mui/material\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport { RemoveIcon } from \"mds\";\nimport { clearValidationError, getRandomString } from \"../../../utils\";\nimport CasinoIcon from \"@mui/icons-material/Casino\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../../utils/validationFunctions\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n buttonTray: {\n marginLeft: 10,\n display: \"flex\",\n height: 38,\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n overlayAction: {\n marginLeft: 10,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n shortened: {\n gridTemplateColumns: \"auto auto 50px 50px\",\n display: \"grid\",\n gridGap: 15,\n marginBottom: 10,\n \"& input\": {\n fontWeight: 400,\n },\n },\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n })\n);\n\nconst IDPBuiltIn = () => {\n const dispatch = useAppDispatch();\n const classes = useStyles();\n\n const idpSelection = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.idpSelection\n );\n const accessKeys = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.accessKeys\n );\n const secretKeys = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.secretKeys\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n // Validation\n useEffect(() => {\n let customIDPValidation: IValidation[] = [];\n\n if (idpSelection === \"Built-in\") {\n customIDPValidation = [...customIDPValidation];\n for (var i = 0; i < accessKeys.length; i++) {\n customIDPValidation.push({\n fieldKey: `accesskey-${i.toString()}`,\n required: true,\n value: accessKeys[i],\n pattern: /^[a-zA-Z0-9-]{8,63}$/,\n customPatternMessage: \"Keys must be at least length 8\",\n });\n customIDPValidation.push({\n fieldKey: `secretkey-${i.toString()}`,\n required: true,\n value: secretKeys[i],\n pattern: /^[a-zA-Z0-9-]{8,63}$/,\n customPatternMessage: \"Keys must be at least length 8\",\n });\n }\n }\n\n const commonVal = commonFormValidation(customIDPValidation);\n\n dispatch(\n isPageValid({\n pageName: \"identityProvider\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [idpSelection, accessKeys, secretKeys, dispatch]);\n\n return (\n \n Add additional users\n {accessKeys.map((_, index) => {\n return (\n \n
\n ) => {\n dispatch(\n setIDPUsrAtIndex({\n index,\n accessKey: e.target.value,\n })\n );\n cleanValidation(`accesskey-${index.toString()}`);\n }}\n index={index}\n key={`csv-accesskey-${index.toString()}`}\n error={validationErrors[`accesskey-${index.toString()}`] || \"\"}\n />\n ) => {\n dispatch(\n setIDPPwdAtIndex({\n index,\n secretKey: e.target.value,\n })\n );\n cleanValidation(`secretkey-${index.toString()}`);\n }}\n index={index}\n key={`csv-secretkey-${index.toString()}`}\n error={validationErrors[`secretkey-${index.toString()}`] || \"\"}\n />\n
\n
\n {\n dispatch(addIDPNewKeyPair());\n }}\n disabled={index !== accessKeys.length - 1}\n >\n \n \n
\n
\n {\n dispatch(removeIDPKeyPairAtIndex(index));\n }}\n disabled={accessKeys.length <= 1}\n >\n \n \n
\n \n
\n {\n dispatch(\n setIDPUsrAtIndex({\n index,\n accessKey: getRandomString(16),\n })\n );\n dispatch(\n setIDPPwdAtIndex({\n index,\n secretKey: getRandomString(16),\n })\n );\n }}\n size={\"small\"}\n >\n \n \n
\n
\n
\n
\n
\n );\n })}\n
\n );\n};\n\nexport default IDPBuiltIn;\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 { useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { Grid, Paper } from \"@mui/material\";\nimport {\n createTenantCommon,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../../store\";\nimport RadioGroupSelector from \"../../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport { setIDP } from \"../createTenantSlice\";\nimport IDPActiveDirectory from \"./IdentityProvider/IDPActiveDirectory\";\nimport IDPOpenID from \"./IdentityProvider/IDPOpenID\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport IDPBuiltIn from \"./IdentityProvider/IDPBuiltIn\";\nimport {\n OIDCLogoElement,\n LDAPLogoElement,\n BuiltInLogoElement,\n} from \"../../LogoComponents\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n protocolRadioOptions: {\n display: \"flex\",\n flexFlow: \"column\",\n marginBottom: 10,\n\n \"& label\": {\n fontSize: 16,\n fontWeight: 600,\n },\n \"& div\": {\n display: \"flex\",\n flexFlow: \"row\",\n alignItems: \"top\",\n },\n },\n ...createTenantCommon,\n ...modalBasic,\n ...wizardCommon,\n })\n);\n\nconst IdentityProvider = () => {\n const dispatch = useAppDispatch();\n const classes = useStyles();\n\n const idpSelection = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.idpSelection\n );\n\n return (\n \n
\n

Identity Provider

\n \n Access to the tenant can be controlled via an external Identity\n Manager.\n \n
\n \n {\n dispatch(setIDP(e.target.value));\n }}\n selectorOptions={[\n { label: , value: \"Built-in\" },\n { label: , value: \"OpenID\" },\n { label: , value: \"AD\" },\n ]}\n />\n \n {idpSelection === \"Built-in\" && }\n {idpSelection === \"OpenID\" && }\n {idpSelection === \"AD\" && }\n
\n );\n};\n\nexport default IdentityProvider;\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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, IconButton, Paper } from \"@mui/material\";\nimport {\n createTenantCommon,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\n\nimport { AppState, useAppDispatch } from \"../../../../../store\";\nimport { KeyPair } from \"../../ListTenants/utils\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport FileSelector from \"../../../Common/FormComponents/FileSelector/FileSelector\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport { RemoveIcon } from \"mds\";\nimport {\n addCaCertificate,\n deleteCaCertificate,\n addFileToCaCertificates,\n addFileToKeyPair,\n addKeyPair,\n deleteKeyPair,\n addClientKeyPair,\n deleteClientKeyPair,\n addFileToClientKeyPair,\n isPageValid,\n updateAddField,\n} from \"../createTenantSlice\";\nimport TLSHelpBox from \"../../HelpBox/TLSHelpBox\";\n\ninterface ISecurityProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n minioCertificateRows: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n borderBottom: \"1px solid #EAEAEA\",\n \"&:last-child\": {\n borderBottom: 0,\n },\n \"@media (max-width: 900px)\": {\n flex: 1,\n },\n },\n fileItem: {\n marginRight: 10,\n display: \"flex\",\n \"& div label\": {\n minWidth: 50,\n },\n\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n minioCertsContainer: {\n marginBottom: 15,\n },\n minioCACertsRow: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n\n borderBottom: \"1px solid #EAEAEA\",\n \"&:last-child\": {\n borderBottom: 0,\n },\n \"@media (max-width: 900px)\": {\n flex: 1,\n\n \"& div label\": {\n minWidth: 50,\n },\n },\n },\n rowActions: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n \"@media (max-width: 900px)\": {\n flex: 1,\n },\n },\n overlayAction: {\n marginLeft: 10,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n\n ...createTenantCommon,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst Security = ({ classes }: ISecurityProps) => {\n const dispatch = useAppDispatch();\n\n const enableTLS = useSelector(\n (state: AppState) => state.createTenant.fields.security.enableTLS\n );\n const enableAutoCert = useSelector(\n (state: AppState) => state.createTenant.fields.security.enableAutoCert\n );\n const enableCustomCerts = useSelector(\n (state: AppState) => state.createTenant.fields.security.enableCustomCerts\n );\n const minioCertificates = useSelector(\n (state: AppState) => state.createTenant.certificates.minioServerCertificates\n );\n const minioClientCertificates = useSelector(\n (state: AppState) => state.createTenant.certificates.minioClientCertificates\n );\n const caCertificates = useSelector(\n (state: AppState) => state.createTenant.certificates.minioCAsCertificates\n );\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"security\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n // Validation\n\n useEffect(() => {\n if (!enableTLS) {\n dispatch(isPageValid({ pageName: \"security\", valid: true }));\n return;\n }\n if (enableAutoCert) {\n dispatch(isPageValid({ pageName: \"security\", valid: true }));\n return;\n }\n if (enableCustomCerts) {\n dispatch(isPageValid({ pageName: \"security\", valid: true }));\n return;\n }\n dispatch(isPageValid({ pageName: \"security\", valid: false }));\n }, [enableTLS, enableAutoCert, enableCustomCerts, dispatch]);\n\n return (\n \n
\n

Security

\n
\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"enableTLS\", checked);\n }}\n label={\"TLS\"}\n description={\n \"Securing all the traffic using TLS. This is required for Encryption Configuration\"\n }\n />\n \n {enableTLS && (\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"enableAutoCert\", checked);\n }}\n label={\"AutoCert\"}\n description={\n \"The internode certificates will be generated and managed by MinIO Operator\"\n }\n />\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"enableCustomCerts\", checked);\n }}\n label={\"Custom Certificates\"}\n description={\"Certificates used to terminated TLS at MinIO\"}\n />\n \n {enableCustomCerts && (\n \n {!enableAutoCert && (\n \n \n \n )}\n \n
MinIO Server Certificates
\n {minioCertificates.map((keyPair: KeyPair, index) => (\n \n \n {\n dispatch(\n addFileToKeyPair({\n id: keyPair.id,\n key: \"cert\",\n fileName: fileName,\n value: encodedValue,\n })\n );\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"tlsCert\"\n name=\"tlsCert\"\n label=\"Cert\"\n value={keyPair.cert}\n />\n {\n dispatch(\n addFileToKeyPair({\n id: keyPair.id,\n key: \"key\",\n fileName: fileName,\n value: encodedValue,\n })\n );\n }}\n accept=\".key,.pem\"\n id=\"tlsKey\"\n name=\"tlsKey\"\n label=\"Key\"\n value={keyPair.key}\n />\n \n\n \n
\n {\n dispatch(addKeyPair());\n }}\n disabled={index !== minioCertificates.length - 1}\n >\n \n \n
\n
\n {\n dispatch(deleteKeyPair(keyPair.id));\n }}\n disabled={minioCertificates.length <= 1}\n >\n \n \n
\n
\n
\n ))}\n
\n \n
MinIO Client Certificates
\n {minioClientCertificates.map((keyPair: KeyPair, index) => (\n \n \n {\n dispatch(\n addFileToClientKeyPair({\n id: keyPair.id,\n key: \"cert\",\n fileName: fileName,\n value: encodedValue,\n })\n );\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"tlsCert\"\n name=\"tlsCert\"\n label=\"Cert\"\n value={keyPair.cert}\n />\n {\n dispatch(\n addFileToClientKeyPair({\n id: keyPair.id,\n key: \"key\",\n fileName: fileName,\n value: encodedValue,\n })\n );\n }}\n accept=\".key,.pem\"\n id=\"tlsKey\"\n name=\"tlsKey\"\n label=\"Key\"\n value={keyPair.key}\n />\n \n\n \n
\n {\n dispatch(addClientKeyPair());\n }}\n disabled={\n index !== minioClientCertificates.length - 1\n }\n >\n \n \n
\n
\n {\n dispatch(deleteClientKeyPair(keyPair.id));\n }}\n disabled={minioClientCertificates.length <= 1}\n >\n \n \n
\n
\n
\n ))}\n \n \n
MinIO CA Certificates
\n {caCertificates.map((keyPair: KeyPair, index) => (\n \n \n {\n dispatch(\n addFileToCaCertificates({\n id: keyPair.id,\n key: \"cert\",\n fileName: fileName,\n value: encodedValue,\n })\n );\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"tlsCert\"\n name=\"tlsCert\"\n label=\"Cert\"\n value={keyPair.cert}\n />\n \n \n
\n
\n {\n dispatch(addCaCertificate());\n }}\n disabled={index !== caCertificates.length - 1}\n >\n \n \n
\n
\n {\n dispatch(deleteCaCertificate(keyPair.id));\n }}\n disabled={caCertificates.length <= 1}\n >\n \n \n
\n
\n
\n
\n ))}\n \n \n )}\n \n )}\n \n
\n );\n};\n\nexport default withStyles(styles)(Security);\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\ntype Props = {\n children: string;\n};\n\nconst SectionH1: React.FC = ({ children }) => {\n return (\n

\n {children}\n

\n );\n};\n\nexport default SectionH1;\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 Grid from \"@mui/material/Grid\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\n\nimport { isPageValid, updateAddField } from \"../../createTenantSlice\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../../utils/validationFunctions\";\nimport { clearValidationError } from \"../../../utils\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n })\n);\n\nconst VaultKMSAdd = () => {\n const dispatch = useAppDispatch();\n const classes = useStyles();\n\n const encryptionTab = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.encryptionTab\n );\n const vaultEndpoint = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.vaultEndpoint\n );\n const vaultEngine = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.vaultEngine\n );\n const vaultNamespace = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.vaultNamespace\n );\n const vaultPrefix = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.vaultPrefix\n );\n const vaultAppRoleEngine = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.vaultAppRoleEngine\n );\n const vaultId = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.vaultId\n );\n const vaultSecret = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.vaultSecret\n );\n const vaultRetry = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.vaultRetry\n );\n const vaultPing = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.vaultPing\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n // Validation\n useEffect(() => {\n let encryptionValidation: IValidation[] = [];\n\n if (!encryptionTab) {\n encryptionValidation = [\n ...encryptionValidation,\n {\n fieldKey: \"vault_endpoint\",\n required: true,\n value: vaultEndpoint,\n },\n {\n fieldKey: \"vault_id\",\n required: true,\n value: vaultId,\n },\n {\n fieldKey: \"vault_secret\",\n required: true,\n value: vaultSecret,\n },\n {\n fieldKey: \"vault_ping\",\n required: false,\n value: vaultPing,\n customValidation: parseInt(vaultPing) < 0,\n customValidationMessage: \"Value needs to be 0 or greater\",\n },\n {\n fieldKey: \"vault_retry\",\n required: false,\n value: vaultRetry,\n customValidation: parseInt(vaultRetry) < 0,\n customValidationMessage: \"Value needs to be 0 or greater\",\n },\n ];\n }\n\n const commonVal = commonFormValidation(encryptionValidation);\n\n dispatch(\n isPageValid({\n pageName: \"encryption\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n encryptionTab,\n vaultEndpoint,\n vaultEngine,\n vaultId,\n vaultSecret,\n vaultPing,\n vaultRetry,\n dispatch,\n ]);\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"encryption\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n return (\n \n \n ) => {\n updateField(\"vaultEndpoint\", e.target.value);\n cleanValidation(\"vault_endpoint\");\n }}\n label=\"Endpoint\"\n value={vaultEndpoint}\n error={validationErrors[\"vault_endpoint\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"vaultEngine\", e.target.value);\n cleanValidation(\"vault_engine\");\n }}\n label=\"Engine\"\n value={vaultEngine}\n />\n \n \n ) => {\n updateField(\"vaultNamespace\", e.target.value);\n }}\n label=\"Namespace\"\n value={vaultNamespace}\n />\n \n \n ) => {\n updateField(\"vaultPrefix\", e.target.value);\n }}\n label=\"Prefix\"\n value={vaultPrefix}\n />\n \n\n \n
\n App Role\n \n ) => {\n updateField(\"vaultAppRoleEngine\", e.target.value);\n }}\n label=\"Engine\"\n value={vaultAppRoleEngine}\n />\n \n \n ) => {\n updateField(\"vaultId\", e.target.value);\n cleanValidation(\"vault_id\");\n }}\n label=\"AppRole ID\"\n value={vaultId}\n error={validationErrors[\"vault_id\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"vaultSecret\", e.target.value);\n cleanValidation(\"vault_secret\");\n }}\n label=\"AppRole Secret\"\n value={vaultSecret}\n error={validationErrors[\"vault_secret\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"vaultRetry\", e.target.value);\n cleanValidation(\"vault_retry\");\n }}\n label=\"Retry (Seconds)\"\n value={vaultRetry}\n error={validationErrors[\"vault_retry\"] || \"\"}\n />\n \n
\n
\n \n
\n Status\n ) => {\n updateField(\"vaultPing\", e.target.value);\n cleanValidation(\"vault_ping\");\n }}\n label=\"Ping (Seconds)\"\n value={vaultPing}\n error={validationErrors[\"vault_ping\"] || \"\"}\n />\n
\n \n
\n );\n};\n\nexport default VaultKMSAdd;\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 Grid from \"@mui/material/Grid\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../../utils/validationFunctions\";\nimport { isPageValid, updateAddField } from \"../../createTenantSlice\";\nimport { clearValidationError } from \"../../../utils\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n })\n);\n\nconst AzureKMSAdd = () => {\n const dispatch = useAppDispatch();\n const classes = useStyles();\n\n const encryptionTab = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.encryptionTab\n );\n const azureEndpoint = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.azureEndpoint\n );\n const azureTenantID = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.azureTenantID\n );\n const azureClientID = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.azureClientID\n );\n const azureClientSecret = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.azureClientSecret\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n // Validation\n useEffect(() => {\n let encryptionValidation: IValidation[] = [];\n\n if (!encryptionTab) {\n encryptionValidation = [\n ...encryptionValidation,\n {\n fieldKey: \"azure_endpoint\",\n required: true,\n value: azureEndpoint,\n },\n {\n fieldKey: \"azure_tenant_id\",\n required: true,\n value: azureTenantID,\n },\n {\n fieldKey: \"azure_client_id\",\n required: true,\n value: azureClientID,\n },\n {\n fieldKey: \"azure_client_secret\",\n required: true,\n value: azureClientSecret,\n },\n ];\n }\n\n const commonVal = commonFormValidation(encryptionValidation);\n\n dispatch(\n isPageValid({\n pageName: \"encryption\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n encryptionTab,\n azureEndpoint,\n azureTenantID,\n azureClientID,\n azureClientSecret,\n dispatch,\n ]);\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"encryption\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n return (\n \n \n ) => {\n updateField(\"azureEndpoint\", e.target.value);\n cleanValidation(\"azure_endpoint\");\n }}\n label=\"Endpoint\"\n value={azureEndpoint}\n error={validationErrors[\"azure_endpoint\"] || \"\"}\n />\n \n \n
\n Credentials\n \n ) => {\n updateField(\"azureTenantID\", e.target.value);\n cleanValidation(\"azure_tenant_id\");\n }}\n label=\"Tenant ID\"\n value={azureTenantID}\n error={validationErrors[\"azure_tenant_id\"] || \"\"}\n />\n \n \n ) => {\n updateField(\"azureClientID\", e.target.value);\n cleanValidation(\"azure_client_id\");\n }}\n label=\"Client ID\"\n value={azureClientID}\n error={validationErrors[\"azure_client_id\"] || \"\"}\n />\n \n \n ) => {\n updateField(\"azureClientSecret\", e.target.value);\n cleanValidation(\"azure_client_secret\");\n }}\n label=\"Client Secret\"\n value={azureClientSecret}\n error={validationErrors[\"azure_client_secret\"] || \"\"}\n />\n \n
\n
\n
\n );\n};\n\nexport default AzureKMSAdd;\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 } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { updateAddField } from \"../../createTenantSlice\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n })\n);\n\nconst GCPKMSAdd = () => {\n const classes = useStyles();\n const dispatch = useAppDispatch();\n\n const gcpProjectID = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpProjectID\n );\n const gcpEndpoint = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpEndpoint\n );\n const gcpClientEmail = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpClientEmail\n );\n const gcpClientID = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpClientID\n );\n const gcpPrivateKeyID = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpPrivateKeyID\n );\n const gcpPrivateKey = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpPrivateKey\n );\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"encryption\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n return (\n \n \n ) => {\n updateField(\"gcpProjectID\", e.target.value);\n }}\n label=\"Project ID\"\n value={gcpProjectID}\n />\n \n \n ) => {\n updateField(\"gcpEndpoint\", e.target.value);\n }}\n label=\"Endpoint\"\n value={gcpEndpoint}\n />\n \n \n
\n Credentials\n \n ) => {\n updateField(\"gcpClientEmail\", e.target.value);\n }}\n label=\"Client Email\"\n value={gcpClientEmail}\n />\n \n \n ) => {\n updateField(\"gcpClientID\", e.target.value);\n }}\n label=\"Client ID\"\n value={gcpClientID}\n />\n \n \n ) => {\n updateField(\"gcpPrivateKeyID\", e.target.value);\n }}\n label=\"Private Key ID\"\n value={gcpPrivateKeyID}\n />\n \n \n ) => {\n updateField(\"gcpPrivateKey\", e.target.value);\n }}\n label=\"Private Key\"\n value={gcpPrivateKey}\n />\n \n
\n
\n
\n );\n};\n\nexport default GCPKMSAdd;\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 Grid from \"@mui/material/Grid\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { isPageValid, updateAddField } from \"../../createTenantSlice\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../../utils/validationFunctions\";\nimport { clearValidationError } from \"../../../utils\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n })\n);\n\nconst GemaltoKMSAdd = () => {\n const dispatch = useAppDispatch();\n const classes = useStyles();\n\n const encryptionTab = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.encryptionTab\n );\n const gemaltoEndpoint = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gemaltoEndpoint\n );\n const gemaltoToken = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gemaltoToken\n );\n const gemaltoDomain = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gemaltoDomain\n );\n const gemaltoRetry = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gemaltoRetry\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n // Validation\n useEffect(() => {\n let encryptionValidation: IValidation[] = [];\n\n if (!encryptionTab) {\n encryptionValidation = [\n ...encryptionValidation,\n {\n fieldKey: \"gemalto_endpoint\",\n required: true,\n value: gemaltoEndpoint,\n },\n {\n fieldKey: \"gemalto_token\",\n required: true,\n value: gemaltoToken,\n },\n {\n fieldKey: \"gemalto_domain\",\n required: true,\n value: gemaltoDomain,\n },\n {\n fieldKey: \"gemalto_retry\",\n required: false,\n value: gemaltoRetry,\n customValidation: parseInt(gemaltoRetry) < 0,\n customValidationMessage: \"Value needs to be 0 or greater\",\n },\n ];\n }\n\n const commonVal = commonFormValidation(encryptionValidation);\n\n dispatch(\n isPageValid({\n pageName: \"encryption\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n encryptionTab,\n gemaltoEndpoint,\n gemaltoToken,\n gemaltoDomain,\n gemaltoRetry,\n dispatch,\n ]);\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"encryption\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n return (\n \n \n ) => {\n updateField(\"gemaltoEndpoint\", e.target.value);\n cleanValidation(\"gemalto_endpoint\");\n }}\n label=\"Endpoint\"\n value={gemaltoEndpoint}\n error={validationErrors[\"gemalto_endpoint\"] || \"\"}\n required\n />\n \n \n
\n Credentials\n \n ) => {\n updateField(\"gemaltoToken\", e.target.value);\n cleanValidation(\"gemalto_token\");\n }}\n label=\"Token\"\n value={gemaltoToken}\n error={validationErrors[\"gemalto_token\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"gemaltoDomain\", e.target.value);\n cleanValidation(\"gemalto_domain\");\n }}\n label=\"Domain\"\n value={gemaltoDomain}\n error={validationErrors[\"gemalto_domain\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"gemaltoRetry\", e.target.value);\n cleanValidation(\"gemalto_retry\");\n }}\n label=\"Retry (seconds)\"\n value={gemaltoRetry}\n error={validationErrors[\"gemalto_retry\"] || \"\"}\n />\n \n
\n \n
\n );\n};\n\nexport default GemaltoKMSAdd;\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 Grid from \"@mui/material/Grid\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../../utils/validationFunctions\";\nimport { isPageValid, updateAddField } from \"../../createTenantSlice\";\nimport { clearValidationError } from \"../../../utils\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n })\n);\n\nconst AWSKMSAdd = () => {\n const dispatch = useAppDispatch();\n const classes = useStyles();\n\n const encryptionTab = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.encryptionTab\n );\n const awsEndpoint = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.awsEndpoint\n );\n const awsRegion = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.awsRegion\n );\n const awsKMSKey = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.awsKMSKey\n );\n const awsAccessKey = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.awsAccessKey\n );\n const awsSecretKey = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.awsSecretKey\n );\n const awsToken = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.awsToken\n );\n const [validationErrors, setValidationErrors] = useState({});\n\n // Validation\n useEffect(() => {\n let encryptionValidation: IValidation[] = [];\n\n if (!encryptionTab) {\n encryptionValidation = [\n ...encryptionValidation,\n {\n fieldKey: \"aws_endpoint\",\n required: true,\n value: awsEndpoint,\n },\n {\n fieldKey: \"aws_region\",\n required: true,\n value: awsRegion,\n },\n {\n fieldKey: \"aws_accessKey\",\n required: true,\n value: awsAccessKey,\n },\n {\n fieldKey: \"aws_secretKey\",\n required: true,\n value: awsSecretKey,\n },\n ];\n }\n\n const commonVal = commonFormValidation(encryptionValidation);\n\n dispatch(\n isPageValid({\n pageName: \"encryption\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n encryptionTab,\n awsEndpoint,\n awsRegion,\n awsSecretKey,\n awsAccessKey,\n dispatch,\n ]);\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"encryption\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n return (\n \n \n ) => {\n updateField(\"awsEndpoint\", e.target.value);\n cleanValidation(\"aws_endpoint\");\n }}\n label=\"Endpoint\"\n value={awsEndpoint}\n error={validationErrors[\"aws_endpoint\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"awsRegion\", e.target.value);\n cleanValidation(\"aws_region\");\n }}\n label=\"Region\"\n value={awsRegion}\n error={validationErrors[\"aws_region\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"awsKMSKey\", e.target.value);\n }}\n label=\"KMS Key\"\n value={awsKMSKey}\n />\n \n \n
\n Credentials\n \n ) => {\n updateField(\"awsAccessKey\", e.target.value);\n cleanValidation(\"aws_accessKey\");\n }}\n label=\"Access Key\"\n value={awsAccessKey}\n error={validationErrors[\"aws_accessKey\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"awsSecretKey\", e.target.value);\n cleanValidation(\"aws_secretKey\");\n }}\n label=\"Secret Key\"\n value={awsSecretKey}\n error={validationErrors[\"aws_secretKey\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"awsToken\", e.target.value);\n }}\n label=\"Token\"\n value={awsToken}\n />\n \n
\n
\n
\n );\n};\n\nexport default AWSKMSAdd;\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 { useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Paper, SelectChangeEvent } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\n\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../../store\";\nimport { clearValidationError } from \"../../utils\";\nimport InputBoxWrapper from \"../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport FileSelector from \"../../../Common/FormComponents/FileSelector/FileSelector\";\nimport RadioGroupSelector from \"../../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../utils/validationFunctions\";\nimport SectionH1 from \"../../../Common/SectionH1\";\nimport {\n addFileMinIOMTLSCert,\n addFileKESServerCert,\n addFileKMSCa,\n addFileKMSMTLSCert,\n isPageValid,\n updateAddField,\n} from \"../createTenantSlice\";\nimport VaultKMSAdd from \"./Encryption/VaultKMSAdd\";\nimport AzureKMSAdd from \"./Encryption/AzureKMSAdd\";\nimport GCPKMSAdd from \"./Encryption/GCPKMSAdd\";\nimport GemaltoKMSAdd from \"./Encryption/GemaltoKMSAdd\";\nimport AWSKMSAdd from \"./Encryption/AWSKMSAdd\";\nimport SelectWrapper from \"../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport Tabs from \"@mui/material/Tabs\";\nimport Tab from \"@mui/material/Tab\";\nimport CodeMirrorWrapper from \"../../../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\n\ninterface IEncryptionProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n encryptionTypeOptions: {\n marginBottom: 15,\n },\n mutualTlsConfig: {\n marginTop: 15,\n \"& fieldset\": {\n flex: 1,\n },\n },\n rightSpacer: {\n marginRight: 15,\n },\n responsiveContainer: {\n \"@media (max-width: 900px)\": {\n display: \"flex\",\n flexFlow: \"column\",\n },\n },\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst Encryption = ({ classes }: IEncryptionProps) => {\n const dispatch = useAppDispatch();\n\n const replicas = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.replicas\n );\n const rawConfiguration = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.rawConfiguration\n );\n const encryptionTab = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.encryptionTab\n );\n const enableEncryption = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.enableEncryption\n );\n const encryptionType = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.encryptionType\n );\n\n const gcpProjectID = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpProjectID\n );\n const gcpEndpoint = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpEndpoint\n );\n const gcpClientEmail = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpClientEmail\n );\n const gcpClientID = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpClientID\n );\n const gcpPrivateKeyID = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpPrivateKeyID\n );\n const gcpPrivateKey = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpPrivateKey\n );\n const enableCustomCertsForKES = useSelector(\n (state: AppState) =>\n state.createTenant.fields.encryption.enableCustomCertsForKES\n );\n const enableAutoCert = useSelector(\n (state: AppState) => state.createTenant.fields.security.enableAutoCert\n );\n const enableTLS = useSelector(\n (state: AppState) => state.createTenant.fields.security.enableTLS\n );\n const minioServerCertificates = useSelector(\n (state: AppState) => state.createTenant.certificates.minioServerCertificates\n );\n const kesServerCertificate = useSelector(\n (state: AppState) => state.createTenant.certificates.kesServerCertificate\n );\n const minioMTLSCertificate = useSelector(\n (state: AppState) => state.createTenant.certificates.minioMTLSCertificate\n );\n const kmsMTLSCertificate = useSelector(\n (state: AppState) => state.createTenant.certificates.kmsMTLSCertificate\n );\n const kmsCA = useSelector(\n (state: AppState) => state.createTenant.certificates.kmsCA\n );\n const enableCustomCerts = useSelector(\n (state: AppState) => state.createTenant.fields.security.enableCustomCerts\n );\n const kesSecurityContext = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.kesSecurityContext\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n let encryptionAvailable = false;\n if (\n enableTLS &&\n (enableAutoCert ||\n (minioServerCertificates &&\n minioServerCertificates.filter(\n (item) => item.encoded_key && item.encoded_cert\n ).length > 0))\n ) {\n encryptionAvailable = true;\n }\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"encryption\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n // Validation\n useEffect(() => {\n let encryptionValidation: IValidation[] = [];\n\n if (enableEncryption) {\n encryptionValidation = [\n ...encryptionValidation,\n {\n fieldKey: \"rawConfiguration\",\n required: encryptionTab > 0,\n value: rawConfiguration,\n },\n {\n fieldKey: \"replicas\",\n required: true,\n value: replicas,\n customValidation: parseInt(replicas) < 1,\n customValidationMessage: \"Replicas needs to be 1 or greater\",\n },\n {\n fieldKey: \"kes_securityContext_runAsUser\",\n required: true,\n value: kesSecurityContext.runAsUser,\n customValidation:\n kesSecurityContext.runAsUser === \"\" ||\n parseInt(kesSecurityContext.runAsUser) < 0,\n customValidationMessage: `runAsUser must be present and be 0 or more`,\n },\n {\n fieldKey: \"kes_securityContext_runAsGroup\",\n required: true,\n value: kesSecurityContext.runAsGroup,\n customValidation:\n kesSecurityContext.runAsGroup === \"\" ||\n parseInt(kesSecurityContext.runAsGroup) < 0,\n customValidationMessage: `runAsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"kes_securityContext_fsGroup\",\n required: true,\n value: kesSecurityContext.fsGroup,\n customValidation:\n kesSecurityContext.fsGroup === \"\" ||\n parseInt(kesSecurityContext.fsGroup) < 0,\n customValidationMessage: `fsGroup must be present and be 0 or more`,\n },\n ];\n\n if (enableCustomCerts) {\n encryptionValidation = [\n ...encryptionValidation,\n {\n fieldKey: \"serverKey\",\n required: !enableAutoCert,\n value: kesServerCertificate.encoded_key,\n },\n {\n fieldKey: \"serverCert\",\n required: !enableAutoCert,\n value: kesServerCertificate.encoded_cert,\n },\n {\n fieldKey: \"clientKey\",\n required: !enableAutoCert,\n value: minioMTLSCertificate.encoded_key,\n },\n {\n fieldKey: \"clientCert\",\n required: !enableAutoCert,\n value: minioMTLSCertificate.encoded_cert,\n },\n ];\n }\n }\n\n const commonVal = commonFormValidation(encryptionValidation);\n dispatch(\n isPageValid({\n pageName: \"encryption\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n rawConfiguration,\n encryptionTab,\n enableEncryption,\n encryptionType,\n gcpProjectID,\n gcpEndpoint,\n gcpClientEmail,\n gcpClientID,\n gcpPrivateKeyID,\n gcpPrivateKey,\n dispatch,\n enableAutoCert,\n enableCustomCerts,\n kesServerCertificate.encoded_key,\n kesServerCertificate.encoded_cert,\n minioMTLSCertificate.encoded_key,\n minioMTLSCertificate.encoded_cert,\n kesSecurityContext,\n replicas,\n ]);\n\n return (\n \n \n \n Encryption\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"enableEncryption\", checked);\n }}\n description=\"\"\n disabled={!encryptionAvailable}\n />\n \n \n \n \n \n MinIO Server-Side Encryption (SSE) protects objects as part of write\n operations, allowing clients to take advantage of server processing\n power to secure objects at the storage layer (encryption-at-rest).\n SSE also provides key functionality to regulatory and compliance\n requirements around secure locking and erasure.\n \n \n \n
\n
\n\n {enableEncryption && (\n \n \n , value: number) => {\n updateField(\"encryptionTab\", value);\n }}\n indicatorColor=\"primary\"\n textColor=\"primary\"\n aria-label=\"cluster-tabs\"\n variant=\"scrollable\"\n scrollButtons=\"auto\"\n >\n \n \n \n \n\n {encryptionTab ? (\n \n \n {\n updateField(\"rawConfiguration\", value);\n }}\n editorHeight={\"550px\"}\n />\n \n \n ) : (\n \n \n {\n updateField(\"encryptionType\", e.target.value);\n }}\n selectorOptions={[\n { label: \"Vault\", value: \"vault\" },\n { label: \"AWS\", value: \"aws\" },\n { label: \"Gemalto\", value: \"gemalto\" },\n { label: \"GCP\", value: \"gcp\" },\n { label: \"Azure\", value: \"azure\" },\n ]}\n />\n \n {encryptionType === \"vault\" && }\n {encryptionType === \"azure\" && }\n {encryptionType === \"gcp\" && }\n {encryptionType === \"aws\" && }\n {encryptionType === \"gemalto\" && }\n \n )}\n\n
\n

Additional Configurations

\n
\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"enableCustomCertsForKES\", checked);\n }}\n label={\"Custom Certificates\"}\n disabled={!enableAutoCert}\n />\n \n {(enableCustomCertsForKES || !enableAutoCert) && (\n \n \n \n
\n \n Encryption server certificates\n \n {\n dispatch(\n addFileKESServerCert({\n key: \"key\",\n fileName: fileName,\n value: encodedValue,\n })\n );\n cleanValidation(\"serverKey\");\n }}\n accept=\".key,.pem\"\n id=\"serverKey\"\n name=\"serverKey\"\n label=\"Key\"\n error={validationErrors[\"serverKey\"] || \"\"}\n value={kesServerCertificate.key}\n required={!enableAutoCert}\n />\n {\n dispatch(\n addFileKESServerCert({\n key: \"cert\",\n fileName: fileName,\n value: encodedValue,\n })\n );\n cleanValidation(\"serverCert\");\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"serverCert\"\n name=\"serverCert\"\n label=\"Cert\"\n error={validationErrors[\"serverCert\"] || \"\"}\n value={kesServerCertificate.cert}\n required={!enableAutoCert}\n />\n
\n
\n
\n \n \n
\n \n MinIO mTLS certificates (connection between MinIO and\n the Encryption server)\n \n {\n dispatch(\n addFileMinIOMTLSCert({\n key: \"key\",\n fileName: fileName,\n value: encodedValue,\n })\n );\n cleanValidation(\"clientKey\");\n }}\n accept=\".key,.pem\"\n id=\"clientKey\"\n name=\"clientKey\"\n label=\"Key\"\n error={validationErrors[\"clientKey\"] || \"\"}\n value={minioMTLSCertificate.key}\n required={!enableAutoCert}\n />\n {\n dispatch(\n addFileMinIOMTLSCert({\n key: \"cert\",\n fileName: fileName,\n value: encodedValue,\n })\n );\n cleanValidation(\"clientCert\");\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"clientCert\"\n name=\"clientCert\"\n label=\"Cert\"\n error={validationErrors[\"clientCert\"] || \"\"}\n value={minioMTLSCertificate.cert}\n required={!enableAutoCert}\n />\n
\n
\n
\n \n
\n \n KMS mTLS certificates (connection between the Encryption\n server and the KMS)\n \n {\n dispatch(\n addFileKMSMTLSCert({\n key: \"key\",\n fileName: fileName,\n value: encodedValue,\n })\n );\n cleanValidation(\"vault_key\");\n }}\n accept=\".key,.pem\"\n id=\"vault_key\"\n name=\"vault_key\"\n label=\"Key\"\n value={kmsMTLSCertificate.key}\n />\n {\n dispatch(\n addFileKMSMTLSCert({\n key: \"cert\",\n fileName: fileName,\n value: encodedValue,\n })\n );\n cleanValidation(\"vault_cert\");\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"vault_cert\"\n name=\"vault_cert\"\n label=\"Cert\"\n value={kmsMTLSCertificate.cert}\n />\n {\n dispatch(\n addFileKMSCa({\n fileName: fileName,\n value: encodedValue,\n })\n );\n cleanValidation(\"vault_ca\");\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"vault_ca\"\n name=\"vault_ca\"\n label=\"CA\"\n value={kmsCA.cert}\n />\n
\n
\n
\n )}\n \n \n ) => {\n updateField(\"replicas\", e.target.value);\n cleanValidation(\"replicas\");\n }}\n label=\"Replicas\"\n value={replicas}\n required\n error={validationErrors[\"replicas\"] || \"\"}\n />\n \n\n \n \n SecurityContext for KES pods\n \n \n \n \n ) => {\n updateField(\"kesSecurityContext\", {\n ...kesSecurityContext,\n runAsUser: e.target.value,\n });\n cleanValidation(\"kes_securityContext_runAsUser\");\n }}\n label=\"Run As User\"\n value={kesSecurityContext.runAsUser}\n required\n error={\n validationErrors[\"kes_securityContext_runAsUser\"] ||\n \"\"\n }\n min=\"0\"\n />\n \n \n ) => {\n updateField(\"kesSecurityContext\", {\n ...kesSecurityContext,\n runAsGroup: e.target.value,\n });\n cleanValidation(\"kes_securityContext_runAsGroup\");\n }}\n label=\"Run As Group\"\n value={kesSecurityContext.runAsGroup}\n required\n error={\n validationErrors[\"kes_securityContext_runAsGroup\"] ||\n \"\"\n }\n min=\"0\"\n />\n \n \n \n
\n \n \n \n ) => {\n updateField(\"kesSecurityContext\", {\n ...kesSecurityContext,\n fsGroup: e.target.value,\n });\n cleanValidation(\"kes_securityContext_fsGroup\");\n }}\n label=\"FsGroup\"\n value={kesSecurityContext.fsGroup}\n required\n error={\n validationErrors[\"kes_securityContext_fsGroup\"] || \"\"\n }\n min=\"0\"\n />\n \n \n ) => {\n updateField(\"kesSecurityContext\", {\n ...kesSecurityContext,\n fsGroupChangePolicy: e.target.value,\n });\n }}\n options={[\n {\n label: \"Always\",\n value: \"Always\",\n },\n {\n label: \"OnRootMismatch\",\n value: \"OnRootMismatch\",\n },\n ]}\n />\n \n \n \n
\n \n
\n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"kesSecurityContext\", {\n ...kesSecurityContext,\n runAsNonRoot: checked,\n });\n }}\n label={\"Do not run as Root\"}\n />\n
\n
\n \n
\n
\n )}\n
\n
\n );\n};\n\nexport default withStyles(styles)(Encryption);\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 { useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, IconButton, Paper, SelectChangeEvent } from \"@mui/material\";\nimport { AppState, useAppDispatch } from \"../../../../../store\";\n\nimport {\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../utils/validationFunctions\";\nimport { ErrorResponseHandler } from \"../../../../../common/types\";\nimport { LabelKeyPair } from \"../../types\";\nimport RadioGroupSelector from \"../../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport api from \"../../../../../common/api\";\nimport InputBoxWrapper from \"../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { AddIcon, RemoveIcon } from \"mds\";\nimport SelectWrapper from \"../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport TolerationSelector from \"../../../Common/TolerationSelector/TolerationSelector\";\nimport { setModalErrorSnackMessage } from \"../../../../../systemSlice\";\nimport {\n addNewToleration,\n isPageValid,\n removeToleration,\n setKeyValuePairs,\n setTolerationInfo,\n updateAddField,\n} from \"../createTenantSlice\";\n\ninterface IAffinityProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n overlayAction: {\n marginLeft: 10,\n display: \"flex\",\n alignItems: \"center\",\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n affinityConfigField: {\n display: \"flex\",\n },\n affinityFieldLabel: {\n display: \"flex\",\n flexFlow: \"column\",\n flex: 1,\n },\n radioField: {\n display: \"flex\",\n alignItems: \"flex-start\",\n marginTop: 10,\n \"& div:first-child\": {\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"baseline\",\n textAlign: \"left !important\",\n },\n },\n affinityLabelKey: {\n \"& div:first-child\": {\n marginBottom: 0,\n },\n },\n affinityLabelValue: {\n marginLeft: 10,\n \"& div:first-child\": {\n marginBottom: 0,\n },\n },\n rowActions: {\n display: \"flex\",\n alignItems: \"center\",\n },\n affinityRow: {\n marginBottom: 10,\n display: \"flex\",\n },\n ...modalBasic,\n ...wizardCommon,\n });\n\ninterface OptionPair {\n label: string;\n value: string;\n}\n\nconst Affinity = ({ classes }: IAffinityProps) => {\n const dispatch = useAppDispatch();\n\n const podAffinity = useSelector(\n (state: AppState) => state.createTenant.fields.affinity.podAffinity\n );\n const nodeSelectorLabels = useSelector(\n (state: AppState) => state.createTenant.fields.affinity.nodeSelectorLabels\n );\n const withPodAntiAffinity = useSelector(\n (state: AppState) => state.createTenant.fields.affinity.withPodAntiAffinity\n );\n const keyValuePairs = useSelector(\n (state: AppState) => state.createTenant.nodeSelectorPairs\n );\n const tolerations = useSelector(\n (state: AppState) => state.createTenant.tolerations\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n const [loading, setLoading] = useState(true);\n const [keyValueMap, setKeyValueMap] = useState<{ [key: string]: string[] }>(\n {}\n );\n const [keyOptions, setKeyOptions] = useState([]);\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({\n pageName: \"affinity\",\n field: field,\n value: value,\n })\n );\n },\n [dispatch]\n );\n\n useEffect(() => {\n if (loading) {\n api\n .invoke(\"GET\", `/api/v1/nodes/labels`)\n .then((res: { [key: string]: string[] }) => {\n setLoading(false);\n setKeyValueMap(res);\n let keys: OptionPair[] = [];\n for (let k in res) {\n keys.push({\n label: k,\n value: k,\n });\n }\n setKeyOptions(keys);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n setKeyValueMap({});\n });\n }\n }, [dispatch, loading]);\n\n useEffect(() => {\n if (keyValuePairs) {\n const vlr = keyValuePairs\n .filter((kvp) => kvp.key !== \"\")\n .map((kvp) => `${kvp.key}=${kvp.value}`)\n .filter((kvs, i, a) => a.indexOf(kvs) === i);\n const vl = vlr.join(\"&\");\n updateField(\"nodeSelectorLabels\", vl);\n }\n }, [keyValuePairs, updateField]);\n\n // Validation\n useEffect(() => {\n let customAccountValidation: IValidation[] = [];\n\n if (podAffinity === \"nodeSelector\") {\n let valid = true;\n\n const splittedLabels = nodeSelectorLabels.split(\"&\");\n\n if (splittedLabels.length === 1 && splittedLabels[0] === \"\") {\n valid = false;\n }\n\n splittedLabels.forEach((item: string, index: number) => {\n const splitItem = item.split(\"=\");\n\n if (splitItem.length !== 2) {\n valid = false;\n }\n\n if (index + 1 !== splittedLabels.length) {\n if (splitItem[0] === \"\" || splitItem[1] === \"\") {\n valid = false;\n }\n }\n });\n\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"labels\",\n required: true,\n value: nodeSelectorLabels,\n customValidation: !valid,\n customValidationMessage:\n \"You need to add at least one label key-pair\",\n },\n ];\n }\n\n const commonVal = commonFormValidation(customAccountValidation);\n\n dispatch(\n isPageValid({\n pageName: \"affinity\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [dispatch, podAffinity, nodeSelectorLabels]);\n\n const updateToleration = (index: number, field: string, value: any) => {\n const alterToleration = { ...tolerations[index], [field]: value };\n\n dispatch(\n setTolerationInfo({\n index: index,\n tolerationValue: alterToleration,\n })\n );\n };\n\n return (\n \n
\n

Pod Placement

\n \n Configure how pods will be assigned to nodes\n \n
\n \n \n
Type
\n \n MinIO supports multiple configurations for Pod Affinity\n \n \n {\n updateField(\"podAffinity\", e.target.value);\n }}\n selectorOptions={[\n { label: \"None\", value: \"none\" },\n { label: \"Default (Pod Anti-Affinity)\", value: \"default\" },\n { label: \"Node Selector\", value: \"nodeSelector\" },\n ]}\n />\n \n
\n
\n {podAffinity === \"nodeSelector\" && (\n \n
\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"withPodAntiAffinity\", checked);\n }}\n label={\"With Pod Anti-Affinity\"}\n />\n \n \n

Labels

\n {validationErrors[\"labels\"]}\n \n {keyValuePairs &&\n keyValuePairs.map((kvp, i) => {\n return (\n \n \n {keyOptions.length > 0 && (\n ) => {\n const newKey = e.target.value as string;\n const newLKP: LabelKeyPair = {\n key: newKey,\n value: keyValueMap[newKey][0],\n };\n const arrCp: LabelKeyPair[] = [...keyValuePairs];\n arrCp[i] = newLKP;\n dispatch(setKeyValuePairs(arrCp));\n }}\n id=\"select-access-policy\"\n name=\"select-access-policy\"\n label={\"\"}\n value={kvp.key}\n options={keyOptions}\n />\n )}\n {keyOptions.length === 0 && (\n {\n const arrCp: LabelKeyPair[] = [...keyValuePairs];\n arrCp[i] = {\n key: arrCp[i].key,\n value: e.target.value as string,\n };\n dispatch(setKeyValuePairs(arrCp));\n }}\n index={i}\n placeholder={\"Key\"}\n />\n )}\n \n \n {keyOptions.length > 0 && (\n ) => {\n const arrCp: LabelKeyPair[] = [...keyValuePairs];\n arrCp[i] = {\n key: arrCp[i].key,\n value: e.target.value as string,\n };\n dispatch(setKeyValuePairs(arrCp));\n }}\n id=\"select-access-policy\"\n name=\"select-access-policy\"\n label={\"\"}\n value={kvp.value}\n options={\n keyValueMap[kvp.key]\n ? keyValueMap[kvp.key].map((v) => {\n return { label: v, value: v };\n })\n : []\n }\n />\n )}\n {keyOptions.length === 0 && (\n {\n const arrCp: LabelKeyPair[] = [...keyValuePairs];\n arrCp[i] = {\n key: arrCp[i].key,\n value: e.target.value as string,\n };\n dispatch(setKeyValuePairs(arrCp));\n }}\n index={i}\n placeholder={\"value\"}\n />\n )}\n \n \n
\n {\n const arrCp = [...keyValuePairs];\n if (keyOptions.length > 0) {\n arrCp.push({\n key: keyOptions[0].value,\n value: keyValueMap[keyOptions[0].value][0],\n });\n } else {\n arrCp.push({ key: \"\", value: \"\" });\n }\n\n dispatch(setKeyValuePairs(arrCp));\n }}\n disabled={i !== keyValuePairs.length - 1}\n >\n \n \n
\n
\n {\n const arrCp = keyValuePairs.filter(\n (item, index) => index !== i\n );\n dispatch(setKeyValuePairs(arrCp));\n }}\n disabled={keyValuePairs.length <= 1}\n >\n \n \n
\n
\n
\n );\n })}\n
\n \n
\n )}\n \n \n

Tolerations

\n \n {validationErrors[\"tolerations\"]}\n \n \n {tolerations &&\n tolerations.map((tol, i) => {\n return (\n \n {\n updateToleration(i, \"effect\", value);\n }}\n tolerationKey={tol.key}\n onTolerationKeyChange={(value) => {\n updateToleration(i, \"key\", value);\n }}\n operator={tol.operator}\n onOperatorChange={(value) => {\n updateToleration(i, \"operator\", value);\n }}\n value={tol.value}\n onValueChange={(value) => {\n updateToleration(i, \"value\", value);\n }}\n tolerationSeconds={tol.tolerationSeconds?.seconds || 0}\n onSecondsChange={(value) => {\n updateToleration(i, \"tolerationSeconds\", {\n seconds: value,\n });\n }}\n index={i}\n />\n
\n {\n dispatch(addNewToleration());\n }}\n disabled={i !== tolerations.length - 1}\n >\n \n \n
\n\n
\n dispatch(removeToleration(i))}\n disabled={tolerations.length <= 1}\n >\n \n \n
\n
\n );\n })}\n
\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(Affinity);\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 { useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, Paper } from \"@mui/material\";\nimport {\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../../store\";\nimport { clearValidationError } from \"../../utils\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../utils/validationFunctions\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport InputBoxWrapper from \"../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { isPageValid, updateAddField } from \"../createTenantSlice\";\n\ninterface IImagesProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst Images = ({ classes }: IImagesProps) => {\n const dispatch = useAppDispatch();\n\n const customImage = useSelector(\n (state: AppState) => state.createTenant.fields.configure.customImage\n );\n const imageName = useSelector(\n (state: AppState) => state.createTenant.fields.configure.imageName\n );\n const customDockerhub = useSelector(\n (state: AppState) => state.createTenant.fields.configure.customDockerhub\n );\n const imageRegistry = useSelector(\n (state: AppState) => state.createTenant.fields.configure.imageRegistry\n );\n const imageRegistryUsername = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.imageRegistryUsername\n );\n const imageRegistryPassword = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.imageRegistryPassword\n );\n\n const prometheusCustom = useSelector(\n (state: AppState) => state.createTenant.fields.configure.prometheusEnabled\n );\n const tenantCustom = useSelector(\n (state: AppState) => state.createTenant.fields.configure.tenantCustom\n );\n const logSearchCustom = useSelector(\n (state: AppState) => state.createTenant.fields.configure.logSearchEnabled\n );\n const logSearchVolumeSize = useSelector(\n (state: AppState) => state.createTenant.fields.configure.logSearchVolumeSize\n );\n\n const prometheusVolumeSize = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.prometheusVolumeSize\n );\n\n const logSearchSelectedStorageClass = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.logSearchSelectedStorageClass\n );\n const logSearchImage = useSelector(\n (state: AppState) => state.createTenant.fields.configure.logSearchImage\n );\n const kesImage = useSelector(\n (state: AppState) => state.createTenant.fields.configure.kesImage\n );\n const logSearchPostgresImage = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.logSearchPostgresImage\n );\n const logSearchPostgresInitImage = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.logSearchPostgresInitImage\n );\n const prometheusSelectedStorageClass = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.prometheusSelectedStorageClass\n );\n const prometheusImage = useSelector(\n (state: AppState) => state.createTenant.fields.configure.prometheusImage\n );\n const prometheusSidecarImage = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.prometheusSidecarImage\n );\n const prometheusInitImage = useSelector(\n (state: AppState) => state.createTenant.fields.configure.prometheusInitImage\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"configure\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n // Validation\n useEffect(() => {\n let customAccountValidation: IValidation[] = [];\n\n if (prometheusCustom) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"prometheus_storage_class\",\n required: true,\n value: prometheusSelectedStorageClass,\n customValidation: prometheusSelectedStorageClass === \"\",\n customValidationMessage: \"Field cannot be empty\",\n },\n {\n fieldKey: \"prometheus_volume_size\",\n required: true,\n value: prometheusVolumeSize,\n customValidation:\n prometheusVolumeSize === \"\" || parseInt(prometheusVolumeSize) <= 0,\n customValidationMessage: `Volume size must be present and be greatter than 0`,\n },\n ];\n }\n if (logSearchCustom) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"log_search_storage_class\",\n required: true,\n value: logSearchSelectedStorageClass,\n customValidation: logSearchSelectedStorageClass === \"\",\n customValidationMessage: \"Field cannot be empty\",\n },\n {\n fieldKey: \"log_search_volume_size\",\n required: true,\n value: logSearchVolumeSize,\n customValidation:\n logSearchVolumeSize === \"\" || parseInt(logSearchVolumeSize) <= 0,\n customValidationMessage: `Volume size must be present and be greatter than 0`,\n },\n ];\n }\n\n if (customImage) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"image\",\n required: false,\n value: imageName,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage: \"Format must be of form: 'minio/minio:VERSION'\",\n },\n {\n fieldKey: \"logSearchImage\",\n required: false,\n value: logSearchImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'minio/operator:VERSION'\",\n },\n {\n fieldKey: \"kesImage\",\n required: false,\n value: kesImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage: \"Format must be of form: 'minio/kes:VERSION'\",\n },\n {\n fieldKey: \"logSearchPostgresImage\",\n required: false,\n value: logSearchPostgresImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'library/postgres:VERSION'\",\n },\n {\n fieldKey: \"logSearchPostgresInitImage\",\n required: false,\n value: logSearchPostgresInitImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'library/busybox:VERSION'\",\n },\n {\n fieldKey: \"prometheusImage\",\n required: false,\n value: prometheusImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'minio/prometheus:VERSION'\",\n },\n {\n fieldKey: \"prometheusSidecarImage\",\n required: false,\n value: prometheusSidecarImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'project/container:VERSION'\",\n },\n {\n fieldKey: \"prometheusInitImage\",\n required: false,\n value: prometheusInitImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'library/busybox:VERSION'\",\n },\n ];\n if (customDockerhub) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"registry\",\n required: true,\n value: imageRegistry,\n },\n {\n fieldKey: \"registryUsername\",\n required: true,\n value: imageRegistryUsername,\n },\n {\n fieldKey: \"registryPassword\",\n required: true,\n value: imageRegistryPassword,\n },\n ];\n }\n }\n\n const commonVal = commonFormValidation(customAccountValidation);\n\n dispatch(\n isPageValid({\n pageName: \"configure\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n customImage,\n imageName,\n logSearchImage,\n kesImage,\n logSearchPostgresImage,\n logSearchPostgresInitImage,\n prometheusImage,\n prometheusSidecarImage,\n prometheusInitImage,\n customDockerhub,\n imageRegistry,\n imageRegistryUsername,\n imageRegistryPassword,\n dispatch,\n prometheusCustom,\n tenantCustom,\n logSearchCustom,\n prometheusSelectedStorageClass,\n prometheusVolumeSize,\n logSearchSelectedStorageClass,\n logSearchVolumeSize,\n ]);\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n return (\n \n
\n

Container Images

\n \n Specify the container images used by the Tenant and it's features.\n \n
\n\n \n \n ) => {\n updateField(\"imageName\", e.target.value);\n cleanValidation(\"image\");\n }}\n label=\"MinIO\"\n value={imageName}\n error={validationErrors[\"image\"] || \"\"}\n placeholder=\"minio/minio:RELEASE.2022-02-26T02-54-46Z\"\n />\n \n\n \n ) => {\n updateField(\"kesImage\", e.target.value);\n cleanValidation(\"kesImage\");\n }}\n label=\"KES\"\n value={kesImage}\n error={validationErrors[\"kesImage\"] || \"\"}\n placeholder=\"minio/kes:v0.17.6\"\n />\n \n \n

Log Search

\n
\n \n ) => {\n updateField(\"logSearchImage\", e.target.value);\n cleanValidation(\"logSearchImage\");\n }}\n label=\"API\"\n value={logSearchImage}\n error={validationErrors[\"logSearchImage\"] || \"\"}\n placeholder=\"minio/operator:v4.4.22\"\n />\n \n \n ) => {\n updateField(\"logSearchPostgresImage\", e.target.value);\n cleanValidation(\"logSearchPostgresImage\");\n }}\n label=\"PostgreSQL\"\n value={logSearchPostgresImage}\n error={validationErrors[\"logSearchPostgresImage\"] || \"\"}\n placeholder=\"library/postgres:13\"\n />\n \n \n ) => {\n updateField(\"logSearchPostgresInitImage\", e.target.value);\n cleanValidation(\"logSearchPostgresInitImage\");\n }}\n label=\"PostgreSQL Init\"\n value={logSearchPostgresInitImage}\n error={validationErrors[\"logSearchPostgresInitImage\"] || \"\"}\n placeholder=\"library/busybox:1.33.1\"\n />\n \n \n

Monitoring

\n
\n \n ) => {\n updateField(\"prometheusImage\", e.target.value);\n cleanValidation(\"prometheusImage\");\n }}\n label=\"Prometheus\"\n value={prometheusImage}\n error={validationErrors[\"prometheusImage\"] || \"\"}\n placeholder=\"quay.io/prometheus/prometheus:latest\"\n />\n \n \n ) => {\n updateField(\"prometheusSidecarImage\", e.target.value);\n cleanValidation(\"prometheusSidecarImage\");\n }}\n label=\"Prometheus Sidecar\"\n value={prometheusSidecarImage}\n error={validationErrors[\"prometheusSidecarImage\"] || \"\"}\n placeholder=\"library/alpine:latest\"\n />\n \n \n ) => {\n updateField(\"prometheusInitImage\", e.target.value);\n cleanValidation(\"prometheusInitImage\");\n }}\n label=\"Prometheus Init\"\n value={prometheusInitImage}\n error={validationErrors[\"prometheusInitImage\"] || \"\"}\n placeholder=\"library/busybox:1.33.1\"\n />\n \n
\n\n {customImage && (\n \n \n

Custom Container Registry

\n
\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"customDockerhub\", checked);\n }}\n label={\"Use a private container registry\"}\n />\n \n
\n )}\n {customDockerhub && (\n \n \n ) => {\n updateField(\"imageRegistry\", e.target.value);\n }}\n label=\"Endpoint\"\n value={imageRegistry}\n error={validationErrors[\"registry\"] || \"\"}\n placeholder=\"https://index.docker.io/v1/\"\n required\n />\n \n \n ) => {\n updateField(\"imageRegistryUsername\", e.target.value);\n }}\n label=\"Username\"\n value={imageRegistryUsername}\n error={validationErrors[\"registryUsername\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"imageRegistryPassword\", e.target.value);\n }}\n label=\"Password\"\n value={imageRegistryPassword}\n error={validationErrors[\"registryPassword\"] || \"\"}\n required\n />\n \n \n )}\n
\n );\n};\n\nexport default withStyles(styles)(Images);\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 { useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport Table from \"@mui/material/Table\";\nimport TableBody from \"@mui/material/TableBody\";\nimport TableCell from \"@mui/material/TableCell\";\nimport TableRow from \"@mui/material/TableRow\";\nimport { niceBytes } from \"../../../../../common/utils\";\n\nimport { Divider } from \"@mui/material\";\n\ninterface ISizePreviewProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n margin: 4,\n },\n table: {\n \"& .MuiTableCell-root\": {\n fontSize: 13,\n },\n },\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst SizePreview = ({ classes }: ISizePreviewProps) => {\n const nodes = useSelector(\n (state: AppState) => state.createTenant.fields.tenantSize.nodes\n );\n const memoryNode = useSelector(\n (state: AppState) =>\n state.createTenant.fields.tenantSize.resourcesMemoryRequest\n );\n const ecParity = useSelector(\n (state: AppState) => state.createTenant.fields.tenantSize.ecParity\n );\n\n const distribution = useSelector(\n (state: AppState) => state.createTenant.fields.tenantSize.distribution\n );\n const ecParityCalc = useSelector(\n (state: AppState) => state.createTenant.fields.tenantSize.ecParityCalc\n );\n\n const cpuToUse = useSelector(\n (state: AppState) =>\n state.createTenant.fields.tenantSize.resourcesCPURequest\n );\n const integrationSelection = useSelector(\n (state: AppState) =>\n state.createTenant.fields.tenantSize.integrationSelection\n );\n\n const usableInformation = ecParityCalc.storageFactors.find(\n (element) => element.erasureCode === ecParity\n );\n\n return (\n
\n

Resource Allocation

\n \n \n \n \n Number of Servers\n \n {parseInt(nodes) > 0 ? nodes : \"-\"}\n \n \n {integrationSelection.typeSelection === \"\" &&\n integrationSelection.storageClass === \"\" && (\n \n \n Drives per Server\n \n {distribution ? distribution.disks : \"-\"}\n \n \n \n Drive Capacity\n \n {distribution ? niceBytes(distribution.pvSize) : \"-\"}\n \n \n \n )}\n\n \n Total Volumes\n \n {distribution ? distribution.persistentVolumes : \"-\"}\n \n \n {integrationSelection.typeSelection === \"\" &&\n integrationSelection.storageClass === \"\" && (\n \n \n Memory per Node\n {memoryNode} Gi\n \n \n \n CPU Selection\n \n \n {cpuToUse}\n \n \n \n )}\n \n
\n {ecParityCalc.error === 0 && usableInformation && (\n \n

Erasure Code Configuration

\n \n \n \n \n EC Parity\n \n {ecParity !== \"\" ? ecParity : \"-\"}\n \n \n \n Raw Capacity\n \n {niceBytes(ecParityCalc.rawCapacity)}\n \n \n \n Usable Capacity\n \n {niceBytes(usableInformation.maxCapacity)}\n \n \n \n \n Server Failures Tolerated\n \n \n {distribution\n ? Math.floor(\n usableInformation.maxFailureTolerations /\n distribution.disks\n )\n : \"-\"}\n \n \n \n \n
\n )}\n {integrationSelection.typeSelection !== \"\" &&\n integrationSelection.storageClass !== \"\" && (\n \n

Single Instance Configuration

\n \n \n \n \n CPU\n \n {integrationSelection.CPU !== 0\n ? integrationSelection.CPU\n : \"-\"}\n \n \n \n Memory\n \n {integrationSelection.memory !== 0\n ? `${integrationSelection.memory} Gi`\n : \"-\"}\n \n \n \n Drives per Server\n \n {integrationSelection.drivesPerServer !== 0\n ? `${integrationSelection.drivesPerServer}`\n : \"-\"}\n \n \n \n \n Drive Size\n \n \n {integrationSelection.driveSize.driveSize}\n {integrationSelection.driveSize.sizeUnit}\n \n \n \n \n
\n )}\n
\n );\n};\n\nexport default withStyles(styles)(SizePreview);\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 { useSelector } from \"react-redux\";\nimport { DialogContentText, LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n deleteDialogStyles,\n modalBasic,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmModalIcon } from \"mds\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { closeAddNSModal } from \"../../createTenantSlice\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { createNamespaceAsync } from \"../../thunks/namespaceThunks\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n wrapText: {\n maxWidth: \"200px\",\n whiteSpace: \"normal\",\n wordWrap: \"break-word\",\n },\n ...modalBasic,\n ...deleteDialogStyles,\n })\n);\n\nconst AddNamespaceModal = () => {\n const dispatch = useAppDispatch();\n const classes = useStyles();\n\n const namespace = useSelector(\n (state: AppState) => state.createTenant.fields.nameTenant.namespace\n );\n const addNamespaceLoading = useSelector(\n (state: AppState) => state.createTenant.addNSLoading\n );\n const addNamespaceOpen = useSelector(\n (state: AppState) => state.createTenant.addNSOpen\n );\n\n return (\n }\n isLoading={addNamespaceLoading}\n onConfirm={() => {\n dispatch(createNamespaceAsync());\n }}\n onClose={() => {\n dispatch(closeAddNSModal());\n }}\n confirmationContent={\n \n {addNamespaceLoading && }\n \n Are you sure you want to add a namespace called\n
\n {namespace}?\n
\n
\n }\n />\n );\n};\n\nexport default AddNamespaceModal;\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, useMemo } from \"react\";\nimport { AddIcon } from \"mds\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { openAddNSModal, setNamespace } from \"../../createTenantSlice\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport AddNamespaceModal from \"../helpers/AddNamespaceModal\";\nimport debounce from \"lodash/debounce\";\nimport { IMkEnvs } from \"./utils\";\nimport { validateNamespaceAsync } from \"../../thunks/namespaceThunks\";\n\nconst NamespaceSelector = ({ formToRender }: { formToRender?: IMkEnvs }) => {\n const dispatch = useAppDispatch();\n\n const namespace = useSelector(\n (state: AppState) => state.createTenant.fields.nameTenant.namespace\n );\n\n const showNSCreateButton = useSelector(\n (state: AppState) => state.createTenant.showNSCreateButton\n );\n\n const namespaceError = useSelector(\n (state: AppState) => state.createTenant.validationErrors[\"namespace\"]\n );\n const openAddNSConfirm = useSelector(\n (state: AppState) => state.createTenant.addNSOpen\n );\n\n const debounceNamespace = useMemo(\n () =>\n debounce(() => {\n dispatch(validateNamespaceAsync());\n }, 500),\n [dispatch]\n );\n\n useEffect(() => {\n if (namespace !== \"\") {\n debounceNamespace();\n // Cancel previous debounce calls during useEffect cleanup.\n return debounceNamespace.cancel;\n }\n }, [debounceNamespace, namespace]);\n\n const addNamespace = () => {\n dispatch(openAddNSModal());\n };\n\n return (\n \n {openAddNSConfirm && }\n ) => {\n dispatch(setNamespace(e.target.value));\n }}\n label=\"Namespace\"\n value={namespace}\n error={namespaceError || \"\"}\n overlayId={\"add-namespace\"}\n overlayIcon={showNSCreateButton ? : null}\n overlayAction={addNamespace}\n required\n />\n \n );\n};\nexport default NamespaceSelector;\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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport SelectWrapper from \"../../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport SizePreview from \"../SizePreview\";\nimport TenantSize from \"./TenantSize\";\nimport { Paper, SelectChangeEvent } from \"@mui/material\";\nimport { IMkEnvs, mkPanelConfigurations } from \"./utils\";\nimport {\n isPageValid,\n setStorageType,\n setTenantName,\n updateAddField,\n} from \"../../createTenantSlice\";\nimport { selFeatures } from \"../../../../consoleSlice\";\nimport NamespaceSelector from \"./NamespaceSelector\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n sizePreview: {\n marginLeft: 10,\n background: \"#FFFFFF\",\n border: \"1px solid #EAEAEA\",\n padding: 2,\n marginTop: 20,\n },\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst NameTenantField = () => {\n const dispatch = useAppDispatch();\n const tenantName = useSelector(\n (state: AppState) => state.createTenant.fields.nameTenant.tenantName\n );\n\n const tenantNameError = useSelector(\n (state: AppState) => state.createTenant.validationErrors[\"tenant-name\"]\n );\n\n return (\n ) => {\n dispatch(setTenantName(e.target.value));\n }}\n label=\"Name\"\n value={tenantName}\n required\n error={tenantNameError || \"\"}\n />\n );\n};\n\ninterface INameTenantMainScreen {\n classes: any;\n formToRender?: IMkEnvs;\n}\n\nconst NameTenantMain = ({ classes, formToRender }: INameTenantMainScreen) => {\n const dispatch = useAppDispatch();\n\n const selectedStorageClass = useSelector(\n (state: AppState) =>\n state.createTenant.fields.nameTenant.selectedStorageClass\n );\n const selectedStorageType = useSelector(\n (state: AppState) =>\n state.createTenant.fields.nameTenant.selectedStorageType\n );\n const storageClasses = useSelector(\n (state: AppState) => state.createTenant.storageClasses\n );\n const features = useSelector(selFeatures);\n\n // Common\n const updateField = useCallback(\n (field: string, value: string) => {\n dispatch(\n updateAddField({ pageName: \"nameTenant\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n // Validation\n useEffect(() => {\n const isValid =\n (formToRender === IMkEnvs.default && storageClasses.length > 0) ||\n (formToRender !== IMkEnvs.default && selectedStorageType !== \"\");\n\n dispatch(isPageValid({ pageName: \"nameTenant\", valid: isValid }));\n }, [storageClasses, dispatch, selectedStorageType, formToRender]);\n\n return (\n \n \n \n \n \n \n
\n

Name

\n \n How would you like to name this new tenant?\n \n
\n
\n \n
\n
\n \n \n \n {formToRender === IMkEnvs.default ? (\n \n ) => {\n updateField(\n \"selectedStorageClass\",\n e.target.value as string\n );\n }}\n label=\"Storage Class\"\n value={selectedStorageClass}\n options={storageClasses}\n disabled={storageClasses.length < 1}\n />\n \n ) : (\n \n ) => {\n dispatch(\n setStorageType({\n storageType: e.target.value as string,\n features: features,\n })\n );\n }}\n label={get(\n mkPanelConfigurations,\n `${formToRender}.variantSelectorLabel`,\n \"Storage Type\"\n )}\n value={selectedStorageType}\n options={get(\n mkPanelConfigurations,\n `${formToRender}.variantSelectorValues`,\n []\n )}\n />\n \n )}\n {formToRender === IMkEnvs.default ? (\n \n ) : (\n get(\n mkPanelConfigurations,\n `${formToRender}.sizingComponent`,\n null\n )\n )}\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n );\n};\n\nexport default withStyles(styles)(NameTenantMain);\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 { useSelector } from \"react-redux\";\nimport get from \"lodash/get\";\nimport NameTenantMain from \"./NameTenantMain\";\nimport { IMkEnvs, resourcesConfigurations } from \"./utils\";\nimport { selFeatures } from \"../../../../consoleSlice\";\n\nconst TenantResources = () => {\n const features = useSelector(selFeatures);\n const [formRender, setFormRender] = useState(null);\n\n useEffect(() => {\n let setConfiguration = IMkEnvs.default;\n\n if (features && features.length !== 0) {\n const possibleVariables = Object.keys(resourcesConfigurations);\n\n possibleVariables.forEach((element) => {\n if (features.includes(element)) {\n setConfiguration = get(\n resourcesConfigurations,\n element,\n IMkEnvs.default\n );\n }\n });\n }\n\n setFormRender(setConfiguration);\n }, [features]);\n\n if (formRender === null) {\n return null;\n }\n\n return ;\n};\n\nexport default TenantResources;\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 { useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, Paper, SelectChangeEvent } from \"@mui/material\";\nimport {\n createTenantCommon,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../../store\";\nimport { clearValidationError } from \"../../utils\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../utils/validationFunctions\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport InputBoxWrapper from \"../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport SelectWrapper from \"../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport InputUnitMenu from \"../../../Common/FormComponents/InputUnitMenu/InputUnitMenu\";\nimport SectionH1 from \"../../../Common/SectionH1\";\nimport { isPageValid, updateAddField } from \"../createTenantSlice\";\n\ninterface IConfigureProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n configSectionItem: {\n marginRight: 15,\n\n \"& .multiContainer\": {\n border: \"1px solid red\",\n },\n },\n fieldGroup: {\n ...createTenantCommon.fieldGroup,\n paddingTop: 15,\n marginBottom: 25,\n },\n responsiveSectionItem: {\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n\n \"& div > div\": {\n marginBottom: 5,\n marginRight: 0,\n },\n },\n },\n\n logSearchEnabledFields: {\n marginLeft: 20, // 2nd Level(15+15)\n padding: 10,\n width: \"90%\",\n margin: \"auto\",\n },\n fieldSpaceTop: {\n marginTop: 15,\n },\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst ConfigLogSearch = ({ classes }: IConfigureProps) => {\n const dispatch = useAppDispatch();\n\n const storageClasses = useSelector(\n (state: AppState) => state.createTenant.storageClasses\n );\n const logSearchEnabled = useSelector(\n (state: AppState) => state.createTenant.fields.configure.logSearchEnabled\n );\n const logSearchVolumeSize = useSelector(\n (state: AppState) => state.createTenant.fields.configure.logSearchVolumeSize\n );\n const logSearchSelectedStorageClass = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.logSearchSelectedStorageClass\n );\n const logSearchImage = useSelector(\n (state: AppState) => state.createTenant.fields.configure.logSearchImage\n );\n const logSearchPostgresImage = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.logSearchPostgresImage\n );\n const logSearchPostgresInitImage = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.logSearchPostgresInitImage\n );\n const selectedStorageClass = useSelector(\n (state: AppState) =>\n state.createTenant.fields.nameTenant.selectedStorageClass\n );\n const tenantSecurityContext = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.tenantSecurityContext\n );\n const logSearchSecurityContext = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.logSearchSecurityContext\n );\n const logSearchPostgresSecurityContext = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.logSearchPostgresSecurityContext\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n const configureSTClasses = [\n { label: \"Default\", value: \"default\" },\n ...storageClasses,\n ];\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"configure\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n // Validation\n useEffect(() => {\n let customAccountValidation: IValidation[] = [];\n\n if (logSearchEnabled) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"log_search_storage_class\",\n required: true,\n value: logSearchSelectedStorageClass,\n customValidation: logSearchSelectedStorageClass === \"\",\n customValidationMessage: \"Field cannot be empty\",\n },\n {\n fieldKey: \"log_search_volume_size\",\n required: true,\n value: logSearchVolumeSize,\n customValidation:\n logSearchVolumeSize === \"\" || parseInt(logSearchVolumeSize) <= 0,\n customValidationMessage: `Volume size must be present and be greatter than 0`,\n },\n {\n fieldKey: \"logSearch_securityContext_runAsUser\",\n required: true,\n value: logSearchSecurityContext.runAsUser,\n customValidation:\n logSearchSecurityContext.runAsUser === \"\" ||\n parseInt(logSearchSecurityContext.runAsUser) < 0,\n customValidationMessage: `runAsUser must be present and be 0 or more`,\n },\n {\n fieldKey: \"logSearch_securityContext_runAsGroup\",\n required: true,\n value: logSearchSecurityContext.runAsGroup,\n customValidation:\n logSearchSecurityContext.runAsGroup === \"\" ||\n parseInt(logSearchSecurityContext.runAsGroup) < 0,\n customValidationMessage: `runAsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"logSearch_securityContext_fsGroup\",\n required: true,\n value: logSearchSecurityContext.fsGroup,\n customValidation:\n logSearchSecurityContext.fsGroup === \"\" ||\n parseInt(logSearchSecurityContext.fsGroup) < 0,\n customValidationMessage: `fsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"postgres_securityContext_runAsUser\",\n required: true,\n value: logSearchPostgresSecurityContext.runAsUser,\n customValidation:\n logSearchPostgresSecurityContext.runAsUser === \"\" ||\n parseInt(logSearchPostgresSecurityContext.runAsUser) < 0,\n customValidationMessage: `runAsUser must be present and be 0 or more`,\n },\n {\n fieldKey: \"postgres_securityContext_runAsGroup\",\n required: true,\n value: logSearchSecurityContext.runAsGroup,\n customValidation:\n logSearchPostgresSecurityContext.runAsGroup === \"\" ||\n parseInt(logSearchPostgresSecurityContext.runAsGroup) < 0,\n customValidationMessage: `runAsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"postgres_securityContext_fsGroup\",\n required: true,\n value: logSearchPostgresSecurityContext.fsGroup,\n customValidation:\n logSearchPostgresSecurityContext.fsGroup === \"\" ||\n parseInt(logSearchPostgresSecurityContext.fsGroup) < 0,\n customValidationMessage: `fsGroup must be present and be 0 or more`,\n },\n ];\n }\n\n const commonVal = commonFormValidation(customAccountValidation);\n\n dispatch(\n isPageValid({\n pageName: \"configure\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n logSearchImage,\n logSearchPostgresImage,\n logSearchPostgresInitImage,\n dispatch,\n logSearchEnabled,\n logSearchSelectedStorageClass,\n logSearchVolumeSize,\n tenantSecurityContext,\n logSearchSecurityContext,\n logSearchPostgresSecurityContext,\n ]);\n\n useEffect(() => {\n // New default values in current selection is invalid\n if (storageClasses.length > 0) {\n const filterLogSearch = storageClasses.filter(\n (item: any) => item.value === logSearchSelectedStorageClass\n );\n if (filterLogSearch.length === 0) {\n updateField(\"logSearchSelectedStorageClass\", \"default\");\n }\n }\n }, [\n logSearchSelectedStorageClass,\n selectedStorageClass,\n storageClasses,\n updateField,\n ]);\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n return (\n \n \n \n Audit Log\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"logSearchEnabled\", checked);\n }}\n indicatorLabels={[\"Enabled\", \"Disabled\"]}\n />\n \n \n \n \n \n Deploys a small PostgreSQL database and stores access logs of all\n calls into the tenant.\n \n \n \n
\n
\n {logSearchEnabled && (\n \n \n ) => {\n updateField(\n \"logSearchSelectedStorageClass\",\n e.target.value as string\n );\n }}\n label=\"Log Search Storage Class\"\n value={logSearchSelectedStorageClass}\n options={configureSTClasses}\n disabled={configureSTClasses.length < 1}\n />\n \n \n
\n ) => {\n updateField(\"logSearchVolumeSize\", e.target.value);\n cleanValidation(\"log_search_volume_size\");\n }}\n label=\"Storage Size\"\n overlayObject={\n {}}\n unitSelected={\"Gi\"}\n unitsList={[{ label: \"Gi\", value: \"Gi\" }]}\n disabled={true}\n />\n }\n value={logSearchVolumeSize}\n required\n error={validationErrors[\"log_search_volume_size\"] || \"\"}\n min=\"0\"\n />\n
\n
\n\n \n \n SecurityContext for LogSearch\n \n\n \n \n
\n ) => {\n updateField(\"logSearchSecurityContext\", {\n ...logSearchSecurityContext,\n runAsUser: e.target.value,\n });\n cleanValidation(\"logSearch_securityContext_runAsUser\");\n }}\n label=\"Run As User\"\n value={logSearchSecurityContext.runAsUser}\n required\n error={\n validationErrors[\n \"logSearch_securityContext_runAsUser\"\n ] || \"\"\n }\n min=\"0\"\n />\n
\n
\n ) => {\n updateField(\"logSearchSecurityContext\", {\n ...logSearchSecurityContext,\n runAsGroup: e.target.value,\n });\n cleanValidation(\"logSearch_securityContext_runAsGroup\");\n }}\n label=\"Run As Group\"\n value={logSearchSecurityContext.runAsGroup}\n required\n error={\n validationErrors[\n \"logSearch_securityContext_runAsGroup\"\n ] || \"\"\n }\n min=\"0\"\n />\n
\n \n
\n
\n \n \n
\n ) => {\n updateField(\"logSearchSecurityContext\", {\n ...logSearchSecurityContext,\n fsGroup: e.target.value,\n });\n cleanValidation(\"logSearch_securityContext_fsGroup\");\n }}\n label=\"FsGroup\"\n value={logSearchSecurityContext.fsGroup}\n required\n error={\n validationErrors[\"logSearch_securityContext_fsGroup\"] ||\n \"\"\n }\n min=\"0\"\n />\n
\n
\n ) => {\n updateField(\"logSearchSecurityContext\", {\n ...logSearchSecurityContext,\n fsGroupChangePolicy: e.target.value,\n });\n }}\n options={[\n {\n label: \"Always\",\n value: \"Always\",\n },\n {\n label: \"OnRootMismatch\",\n value: \"OnRootMismatch\",\n },\n ]}\n />\n
\n \n
\n
\n \n
\n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"logSearchSecurityContext\", {\n ...logSearchSecurityContext,\n runAsNonRoot: checked,\n });\n }}\n label={\"Do not run as Root\"}\n />\n
\n
\n \n
\n \n SecurityContext for PostgreSQL\n \n\n \n \n
\n ) => {\n updateField(\"logSearchPostgresSecurityContext\", {\n ...logSearchPostgresSecurityContext,\n runAsUser: e.target.value,\n });\n cleanValidation(\"postgres_securityContext_runAsUser\");\n }}\n label=\"Run As User\"\n value={logSearchPostgresSecurityContext.runAsUser}\n required\n error={\n validationErrors[\n \"postgres_securityContext_runAsUser\"\n ] || \"\"\n }\n min=\"0\"\n />\n
\n
\n ) => {\n updateField(\"logSearchPostgresSecurityContext\", {\n ...logSearchPostgresSecurityContext,\n runAsGroup: e.target.value,\n });\n cleanValidation(\"postgres_securityContext_runAsGroup\");\n }}\n label=\"Run As Group\"\n value={logSearchPostgresSecurityContext.runAsGroup}\n required\n error={\n validationErrors[\n \"postgres_securityContext_runAsGroup\"\n ] || \"\"\n }\n min=\"0\"\n />\n
\n \n
\n
\n \n \n
\n ) => {\n updateField(\"logSearchPostgresSecurityContext\", {\n ...logSearchPostgresSecurityContext,\n fsGroup: e.target.value,\n });\n cleanValidation(\"postgres_securityContext_fsGroup\");\n }}\n label=\"FsGroup\"\n value={logSearchPostgresSecurityContext.fsGroup}\n required\n error={\n validationErrors[\"postgres_securityContext_fsGroup\"] ||\n \"\"\n }\n min=\"0\"\n />\n
\n
\n ) => {\n updateField(\"logSearchPostgresSecurityContext\", {\n ...logSearchPostgresSecurityContext,\n fsGroupChangePolicy: e.target.value,\n });\n }}\n options={[\n {\n label: \"Always\",\n value: \"Always\",\n },\n {\n label: \"OnRootMismatch\",\n value: \"OnRootMismatch\",\n },\n ]}\n />\n
\n \n
\n
\n \n
\n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"logSearchPostgresSecurityContext\", {\n ...logSearchPostgresSecurityContext,\n runAsNonRoot: checked,\n });\n }}\n label={\"Do not run as Root\"}\n />\n
\n
\n
\n
\n )}\n
\n
\n );\n};\n\nexport default withStyles(styles)(ConfigLogSearch);\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 { useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, Paper, SelectChangeEvent } from \"@mui/material\";\nimport {\n createTenantCommon,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\n\nimport { AppState, useAppDispatch } from \"../../../../../store\";\nimport { clearValidationError } from \"../../utils\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../utils/validationFunctions\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport InputBoxWrapper from \"../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport SelectWrapper from \"../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport InputUnitMenu from \"../../../Common/FormComponents/InputUnitMenu/InputUnitMenu\";\nimport SectionH1 from \"../../../Common/SectionH1\";\nimport { isPageValid, updateAddField } from \"../createTenantSlice\";\n\ninterface IConfigureProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n configSectionItem: {\n marginRight: 15,\n\n \"& .multiContainer\": {\n border: \"1px solid red\",\n },\n },\n fieldGroup: {\n ...createTenantCommon.fieldGroup,\n paddingTop: 15,\n marginBottom: 25,\n },\n responsiveSectionItem: {\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n\n \"& div > div\": {\n marginBottom: 5,\n marginRight: 0,\n },\n },\n },\n fieldSpaceTop: {\n marginTop: 15,\n },\n prometheusEnabledFields: {\n marginLeft: 20, // 2nd Level(15+15)\n padding: 10,\n width: \"90%\",\n margin: \"auto\",\n },\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst ConfigPrometheus = ({ classes }: IConfigureProps) => {\n const dispatch = useAppDispatch();\n\n const storageClasses = useSelector(\n (state: AppState) => state.createTenant.storageClasses\n );\n const prometheusEnabled = useSelector(\n (state: AppState) => state.createTenant.fields.configure.prometheusEnabled\n );\n const prometheusVolumeSize = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.prometheusVolumeSize\n );\n const prometheusSelectedStorageClass = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.prometheusSelectedStorageClass\n );\n const prometheusImage = useSelector(\n (state: AppState) => state.createTenant.fields.configure.prometheusImage\n );\n const prometheusSidecarImage = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.prometheusSidecarImage\n );\n const prometheusInitImage = useSelector(\n (state: AppState) => state.createTenant.fields.configure.prometheusInitImage\n );\n const selectedStorageClass = useSelector(\n (state: AppState) =>\n state.createTenant.fields.nameTenant.selectedStorageClass\n );\n const tenantSecurityContext = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.tenantSecurityContext\n );\n const prometheusSecurityContext = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.prometheusSecurityContext\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n const configureSTClasses = [\n { label: \"Default\", value: \"default\" },\n ...storageClasses,\n ];\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"configure\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n // Validation\n useEffect(() => {\n let customAccountValidation: IValidation[] = [];\n\n if (prometheusEnabled) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"prometheus_storage_class\",\n required: true,\n value: prometheusSelectedStorageClass,\n customValidation: prometheusSelectedStorageClass === \"\",\n customValidationMessage: \"Field cannot be empty\",\n },\n {\n fieldKey: \"prometheus_volume_size\",\n required: true,\n value: prometheusVolumeSize,\n customValidation:\n prometheusVolumeSize === \"\" || parseInt(prometheusVolumeSize) <= 0,\n customValidationMessage: `Volume size must be present and be greater than 0`,\n },\n {\n fieldKey: \"prometheus_securityContext_runAsUser\",\n required: true,\n value: prometheusSecurityContext.runAsUser,\n customValidation:\n prometheusSecurityContext.runAsUser === \"\" ||\n parseInt(prometheusSecurityContext.runAsUser) < 0,\n customValidationMessage: `runAsUser must be present and be 0 or more`,\n },\n {\n fieldKey: \"prometheus_securityContext_runAsGroup\",\n required: true,\n value: prometheusSecurityContext.runAsGroup,\n customValidation:\n prometheusSecurityContext.runAsGroup === \"\" ||\n parseInt(prometheusSecurityContext.runAsGroup) < 0,\n customValidationMessage: `runAsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"prometheus_securityContext_fsGroup\",\n required: true,\n value: prometheusSecurityContext.fsGroup,\n customValidation:\n prometheusSecurityContext.fsGroup === \"\" ||\n parseInt(prometheusSecurityContext.fsGroup) < 0,\n customValidationMessage: `fsGroup must be present and be 0 or more`,\n },\n ];\n }\n\n const commonVal = commonFormValidation(customAccountValidation);\n\n dispatch(\n isPageValid({\n pageName: \"configure\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n prometheusImage,\n prometheusSidecarImage,\n prometheusInitImage,\n dispatch,\n prometheusEnabled,\n prometheusSelectedStorageClass,\n prometheusVolumeSize,\n tenantSecurityContext,\n prometheusSecurityContext,\n ]);\n\n useEffect(() => {\n // New default values in current selection is invalid\n if (storageClasses.length > 0) {\n const filterPrometheus = storageClasses.filter(\n (item: any) => item.value === prometheusSelectedStorageClass\n );\n if (filterPrometheus.length === 0) {\n updateField(\"prometheusSelectedStorageClass\", \"default\");\n }\n }\n }, [\n prometheusSelectedStorageClass,\n selectedStorageClass,\n storageClasses,\n updateField,\n ]);\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n return (\n \n \n \n Monitoring\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"prometheusEnabled\", checked);\n }}\n description=\"\"\n />\n \n \n \n \n A small Prometheus will be deployed to keep metrics about the tenant.\n \n \n \n
\n
\n \n {prometheusEnabled && (\n \n \n ) => {\n updateField(\n \"prometheusSelectedStorageClass\",\n e.target.value as string\n );\n }}\n label=\"Storage Class\"\n value={prometheusSelectedStorageClass}\n options={configureSTClasses}\n disabled={configureSTClasses.length < 1}\n />\n \n \n
\n ) => {\n updateField(\"prometheusVolumeSize\", e.target.value);\n cleanValidation(\"prometheus_volume_size\");\n }}\n label=\"Storage Size\"\n overlayObject={\n {}}\n unitSelected={\"Gi\"}\n unitsList={[{ label: \"Gi\", value: \"Gi\" }]}\n disabled={true}\n />\n }\n value={prometheusVolumeSize}\n required\n error={validationErrors[\"prometheus_volume_size\"] || \"\"}\n min=\"0\"\n />\n
\n
\n \n \n SecurityContext\n \n \n \n
\n ) => {\n updateField(\"prometheusSecurityContext\", {\n ...prometheusSecurityContext,\n runAsUser: e.target.value,\n });\n cleanValidation(\"prometheus_securityContext_runAsUser\");\n }}\n label=\"Run As User\"\n value={prometheusSecurityContext.runAsUser}\n required\n error={\n validationErrors[\n \"prometheus_securityContext_runAsUser\"\n ] || \"\"\n }\n min=\"0\"\n />\n
\n
\n ) => {\n updateField(\"prometheusSecurityContext\", {\n ...prometheusSecurityContext,\n runAsGroup: e.target.value,\n });\n cleanValidation(\n \"prometheus_securityContext_runAsGroup\"\n );\n }}\n label=\"Run As Group\"\n value={prometheusSecurityContext.runAsGroup}\n required\n error={\n validationErrors[\n \"prometheus_securityContext_runAsGroup\"\n ] || \"\"\n }\n min=\"0\"\n />\n
\n \n
\n
\n \n \n
\n ) => {\n updateField(\"prometheusSecurityContext\", {\n ...prometheusSecurityContext,\n fsGroup: e.target.value,\n });\n cleanValidation(\"prometheus_securityContext_fsGroup\");\n }}\n label=\"FsGroup\"\n value={prometheusSecurityContext.fsGroup}\n required\n error={\n validationErrors[\n \"prometheus_securityContext_fsGroup\"\n ] || \"\"\n }\n min=\"0\"\n />\n
\n
\n ) => {\n updateField(\"prometheusSecurityContext\", {\n ...prometheusSecurityContext,\n fsGroupChangePolicy: e.target.value,\n });\n }}\n options={[\n {\n label: \"Always\",\n value: \"Always\",\n },\n {\n label: \"OnRootMismatch\",\n value: \"OnRootMismatch\",\n },\n ]}\n />\n
\n \n
\n
\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"prometheusSecurityContext\", {\n ...prometheusSecurityContext,\n runAsNonRoot: checked,\n });\n }}\n label={\"Do not run as Root\"}\n />\n \n \n \n
\n )}\n
\n
\n );\n};\n\nexport default withStyles(styles)(ConfigPrometheus);\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 .\nexport const requiredPages = [\n \"nameTenant\",\n \"tenantSize\",\n \"configure\",\n \"affinity\",\n \"identityProvider\",\n \"security\",\n \"encryption\",\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 { Button } from \"mds\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport { requiredPages } from \"./common\";\nimport { createTenantAsync } from \"./thunks/createTenantThunk\";\n\nconst CreateTenantButton = () => {\n const dispatch = useAppDispatch();\n\n const addSending = useSelector(\n (state: AppState) => state.createTenant.addingTenant\n );\n\n const validPages = useSelector(\n (state: AppState) => state.createTenant.validPages\n );\n\n const selectedStorageClass = useSelector(\n (state: AppState) =>\n state.createTenant.fields.nameTenant.selectedStorageClass\n );\n\n const enabled =\n !addSending &&\n selectedStorageClass !== \"\" &&\n requiredPages.every((v) => validPages.includes(v));\n\n return (\n {\n dispatch(createTenantAsync());\n }}\n disabled={!enabled}\n key={`button-AddTenant-Create`}\n label={\"Create\"}\n />\n );\n};\n\nexport default CreateTenantButton;\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 CredentialsPrompt from \"../../Common/CredentialsPrompt/CredentialsPrompt\";\nimport { resetAddTenantForm } from \"./createTenantSlice\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport { useNavigate } from \"react-router-dom\";\n\nconst NewTenantCredentials = () => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const showNewCredentials = useSelector(\n (state: AppState) => state.createTenant.showNewCredentials\n );\n const createdAccount = useSelector(\n (state: AppState) => state.createTenant.createdAccount\n );\n\n return (\n \n {showNewCredentials && (\n {\n dispatch(resetAddTenantForm());\n navigate(\"/tenants\");\n }}\n entity=\"Tenant\"\n />\n )}\n \n );\n};\n\nexport default NewTenantCredentials;\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 Grid from \"@mui/material/Grid\";\nimport { LinearProgress } from \"@mui/material\";\n\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n modalBasic,\n settingsCommon,\n wizardCommon,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport GenericWizard from \"../../Common/GenericWizard/GenericWizard\";\nimport {\n IWizardButton,\n IWizardElement,\n} from \"../../Common/GenericWizard/types\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport Configure from \"./Steps/Configure\";\nimport IdentityProvider from \"./Steps/IdentityProvider\";\nimport Security from \"./Steps/Security\";\nimport Encryption from \"./Steps/Encryption\";\nimport Affinity from \"./Steps/Affinity\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport Images from \"./Steps/Images\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport BackLink from \"../../../../common/BackLink\";\nimport TenantResources from \"./Steps/TenantResources/TenantResources\";\nimport ConfigLogSearch from \"./Steps/ConfigLogSearch\";\nimport ConfigPrometheus from \"./Steps/ConfigPrometheus\";\nimport {\n IMkEnvs,\n resourcesConfigurations,\n} from \"./Steps/TenantResources/utils\";\nimport HelpBox from \"../../../../common/HelpBox\";\nimport { StorageIcon } from \"mds\";\nimport { selFeatures } from \"../../consoleSlice\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { resetAddTenantForm } from \"./createTenantSlice\";\nimport CreateTenantButton from \"./CreateTenantButton\";\nimport NewTenantCredentials from \"./NewTenantCredentials\";\nimport { useNavigate } from \"react-router-dom\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n pageBox: {\n border: \"1px solid #EAEAEA\",\n },\n ...modalBasic,\n ...wizardCommon,\n ...settingsCommon,\n })\n);\n\nconst AddTenant = () => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n const classes = useStyles();\n\n const features = useSelector(selFeatures);\n\n // Fields\n const addSending = useSelector(\n (state: AppState) => state.createTenant.addingTenant\n );\n const [formRender, setFormRender] = useState(null);\n\n useEffect(() => {\n let setConfiguration = IMkEnvs.default;\n\n if (features && features.length !== 0) {\n const possibleVariables = Object.keys(resourcesConfigurations);\n\n possibleVariables.forEach((element) => {\n if (features.includes(element)) {\n setConfiguration = get(\n resourcesConfigurations,\n element,\n IMkEnvs.default\n );\n }\n });\n }\n\n setFormRender(setConfiguration);\n }, [features]);\n\n const cancelButton = {\n label: \"Cancel\",\n type: \"other\",\n enabled: true,\n action: () => {\n dispatch(resetAddTenantForm());\n navigate(\"/tenants\");\n },\n };\n\n const createButton: IWizardButton = {\n componentRender: ,\n };\n\n const wizardSteps: IWizardElement[] = [\n {\n label: \"Setup\",\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n {\n label: \"Configure\",\n advancedOnly: true,\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n {\n label: \"Images\",\n advancedOnly: true,\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n {\n label: \"Pod Placement\",\n advancedOnly: true,\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n {\n label: \"Identity Provider\",\n advancedOnly: true,\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n {\n label: \"Security\",\n advancedOnly: true,\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n {\n label: \"Encryption\",\n advancedOnly: true,\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n {\n label: \"Audit Log\",\n advancedOnly: true,\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n {\n label: \"Monitoring\",\n advancedOnly: true,\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n ];\n\n let filteredWizardSteps = wizardSteps;\n\n return (\n \n \n {\n dispatch(resetAddTenantForm());\n }}\n />\n }\n />\n\n \n {addSending && (\n \n \n \n )}\n \n \n \n {formRender === IMkEnvs.aws && (\n \n }\n help={\n \n Performance Optimized: Uses the gp3 EBS storage\n class class configured at 1,000Mi/s throughput and 16,000\n IOPS, however the minimum volume size for this type of EBS\n volume is 32Gi.\n
\n
\n Storage Optimized: Uses the sc1 EBS storage\n class, however the minimum volume size for this type of EBS\n volume is  \n 16Ti to unlock their maximum throughput speed of\n 250Mi/s.\n
\n }\n />\n
\n )}\n
\n
\n );\n};\n\nexport default AddTenant;\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 { useSelector } from \"react-redux\";\nimport { Box } from \"@mui/material\";\nimport { CertificateIcon } from \"mds\";\nimport { useParams } from \"react-router-dom\";\nimport { AppState } from \"../../../../store\";\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 TLSHelpBox = () => {\n const params = useParams();\n const tenantNameParam = params.tenantName || \"\";\n const tenantNamespaceParam = params.tenantNamespace || \"\";\n const namespace = useSelector((state: AppState) => {\n var defaultNamespace = \"\";\n if (tenantNamespaceParam !== \"\") {\n return tenantNamespaceParam;\n }\n if (state.createTenant.fields.nameTenant.namespace !== \"\") {\n return state.createTenant.fields.nameTenant.namespace;\n }\n return defaultNamespace;\n });\n\n const tenantName = useSelector((state: AppState) => {\n var defaultTenantName = \"\";\n if (tenantNameParam !== \"\") {\n return tenantNameParam;\n }\n\n if (state.createTenant.fields.nameTenant.tenantName !== \"\") {\n return state.createTenant.fields.nameTenant.tenantName;\n }\n return defaultTenantName;\n });\n\n return (\n \n \n }\n description={`TLS Certificates Warning`}\n />\n \n Automatic certificate generation is not enabled.\n
\n
\n If you wish to continue only with custom certificates make sure\n they are valid for the following internode hostnames, i.e.:\n
\n
\n \n minio.{namespace}\n
\n minio.{namespace}.svc\n
\n minio.{namespace}.svc.<cluster domain>\n
\n *.{tenantName}-hl.{namespace}.svc.<cluster domain>\n
\n *.{namespace}.svc.<cluster domain>\n \n
\n Replace <tenant-name>,{\" \"}\n <namespace> and\n <cluster domain> with the actual values for your\n MinIO tenant.\n
\n
\n You can learn more at our{\" \"}\n \n documentation\n \n .\n
\n \n \n );\n};\n\nexport default TLSHelpBox;\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 { Grid } from \"@mui/material\";\nimport { LDAPIcon } from \"mds\";\nimport { OIDCIcon } from \"mds\";\nimport { UsersIcon } from \"mds\";\n\nexport const OIDCLogoElement = () => {\n return (\n \n \n \n \n Open ID\n \n );\n};\n\nexport const LDAPLogoElement = () => {\n return (\n \n \n \n \n LDAP / Active Directory\n \n );\n};\n\nexport const BuiltInLogoElement = () => {\n return (\n \n \n \n \n Built-in\n \n );\n};\n","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","\"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 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\"\n}), 'Add');\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: \"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: \"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-2zM7.5 18c-.83 0-1.5-.67-1.5-1.5S6.67 15 7.5 15s1.5.67 1.5 1.5S8.33 18 7.5 18zm0-9C6.67 9 6 8.33 6 7.5S6.67 6 7.5 6 9 6.67 9 7.5 8.33 9 7.5 9zm4.5 4.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm4.5 4.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm0-9c-.83 0-1.5-.67-1.5-1.5S15.67 6 16.5 6s1.5.67 1.5 1.5S17.33 9 16.5 9z\"\n}), 'Casino');\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: \"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z\"\n}), 'Delete');\nexports.default = _default;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"absolute\", \"children\", \"className\", \"component\", \"flexItem\", \"light\", \"orientation\", \"role\", \"textAlign\", \"variant\"];\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 from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDividerUtilityClass } from './dividerClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n absolute,\n children,\n classes,\n flexItem,\n light,\n orientation,\n textAlign,\n variant\n } = ownerState;\n const slots = {\n root: ['root', absolute && 'absolute', variant, light && 'light', orientation === 'vertical' && 'vertical', flexItem && 'flexItem', children && 'withChildren', children && orientation === 'vertical' && 'withChildrenVertical', textAlign === 'right' && orientation !== 'vertical' && 'textAlignRight', textAlign === 'left' && orientation !== 'vertical' && 'textAlignLeft'],\n wrapper: ['wrapper', orientation === 'vertical' && 'wrapperVertical']\n };\n return composeClasses(slots, getDividerUtilityClass, classes);\n};\nconst DividerRoot = styled('div', {\n name: 'MuiDivider',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.absolute && styles.absolute, styles[ownerState.variant], ownerState.light && styles.light, ownerState.orientation === 'vertical' && styles.vertical, ownerState.flexItem && styles.flexItem, ownerState.children && styles.withChildren, ownerState.children && ownerState.orientation === 'vertical' && styles.withChildrenVertical, ownerState.textAlign === 'right' && ownerState.orientation !== 'vertical' && styles.textAlignRight, ownerState.textAlign === 'left' && ownerState.orientation !== 'vertical' && styles.textAlignLeft];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n margin: 0,\n // Reset browser default style.\n flexShrink: 0,\n borderWidth: 0,\n borderStyle: 'solid',\n borderColor: (theme.vars || theme).palette.divider,\n borderBottomWidth: 'thin'\n}, ownerState.absolute && {\n position: 'absolute',\n bottom: 0,\n left: 0,\n width: '100%'\n}, ownerState.light && {\n borderColor: theme.vars ? `rgba(${theme.vars.palette.dividerChannel} / 0.08)` : alpha(theme.palette.divider, 0.08)\n}, ownerState.variant === 'inset' && {\n marginLeft: 72\n}, ownerState.variant === 'middle' && ownerState.orientation === 'horizontal' && {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2)\n}, ownerState.variant === 'middle' && ownerState.orientation === 'vertical' && {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n}, ownerState.orientation === 'vertical' && {\n height: '100%',\n borderBottomWidth: 0,\n borderRightWidth: 'thin'\n}, ownerState.flexItem && {\n alignSelf: 'stretch',\n height: 'auto'\n}), ({\n theme,\n ownerState\n}) => _extends({}, ownerState.children && {\n display: 'flex',\n whiteSpace: 'nowrap',\n textAlign: 'center',\n border: 0,\n '&::before, &::after': {\n position: 'relative',\n width: '100%',\n borderTop: `thin solid ${(theme.vars || theme).palette.divider}`,\n top: '50%',\n content: '\"\"',\n transform: 'translateY(50%)'\n }\n}), ({\n theme,\n ownerState\n}) => _extends({}, ownerState.children && ownerState.orientation === 'vertical' && {\n flexDirection: 'column',\n '&::before, &::after': {\n height: '100%',\n top: '0%',\n left: '50%',\n borderTop: 0,\n borderLeft: `thin solid ${(theme.vars || theme).palette.divider}`,\n transform: 'translateX(0%)'\n }\n}), ({\n ownerState\n}) => _extends({}, ownerState.textAlign === 'right' && ownerState.orientation !== 'vertical' && {\n '&::before': {\n width: '90%'\n },\n '&::after': {\n width: '10%'\n }\n}, ownerState.textAlign === 'left' && ownerState.orientation !== 'vertical' && {\n '&::before': {\n width: '10%'\n },\n '&::after': {\n width: '90%'\n }\n}));\nconst DividerWrapper = styled('span', {\n name: 'MuiDivider',\n slot: 'Wrapper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.wrapper, ownerState.orientation === 'vertical' && styles.wrapperVertical];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'inline-block',\n paddingLeft: `calc(${theme.spacing(1)} * 1.2)`,\n paddingRight: `calc(${theme.spacing(1)} * 1.2)`\n}, ownerState.orientation === 'vertical' && {\n paddingTop: `calc(${theme.spacing(1)} * 1.2)`,\n paddingBottom: `calc(${theme.spacing(1)} * 1.2)`\n}));\nconst Divider = /*#__PURE__*/React.forwardRef(function Divider(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDivider'\n });\n const {\n absolute = false,\n children,\n className,\n component = children ? 'div' : 'hr',\n flexItem = false,\n light = false,\n orientation = 'horizontal',\n role = component !== 'hr' ? 'separator' : undefined,\n textAlign = 'center',\n variant = 'fullWidth'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n absolute,\n component,\n flexItem,\n light,\n orientation,\n role,\n textAlign,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DividerRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n role: role,\n ref: ref,\n ownerState: ownerState\n }, other, {\n children: children ? /*#__PURE__*/_jsx(DividerWrapper, {\n className: classes.wrapper,\n ownerState: ownerState,\n children: children\n }) : null\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Divider.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 * Absolutely position the element.\n * @default false\n */\n absolute: PropTypes.bool,\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`, a vertical divider will have the correct height when used in flex container.\n * (By default, a vertical divider will have a calculated height of `0px` if it is the child of a flex container.)\n * @default false\n */\n flexItem: PropTypes.bool,\n /**\n * If `true`, the divider will have a lighter color.\n * @default false\n */\n light: PropTypes.bool,\n /**\n * The component orientation.\n * @default 'horizontal'\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n /**\n * @ignore\n */\n role: PropTypes /* @typescript-to-proptypes-ignore */.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 text alignment.\n * @default 'center'\n */\n textAlign: PropTypes.oneOf(['center', 'left', 'right']),\n /**\n * The variant to use.\n * @default 'fullWidth'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['fullWidth', 'inset', 'middle']), PropTypes.string])\n} : void 0;\nexport default Divider;"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","flexFlow","padding","inputWithCopy","background","inputLabel","fieldBasic","label","value","OutlinedInput","readOnly","endAdornment","InputAdornment","position","TooltipWrapper","tooltip","text","id","onClick","onMouseDown","style","icon","download","filename","element","document","createElement","setAttribute","body","appendChild","click","removeChild","warningBlock","color","margin","credentialTitle","buttonContainer","justifyContent","marginTop","credentialsPanel","overflowY","maxHeight","promptTitle","buttonSpacer","newServiceAccount","open","closeModal","entity","consoleCreds","get","idp","ModalWrapper","modalOpen","onClose","titleIcon","Grid","formScrollable","Array","isArray","map","credentialsPair","index","accessKey","secretKey","undefined","consoleExtras","itemMap","url","api","path","JSON","stringify","variant","length","allCredentials","mode","onBeforeChange","editorHeight","sx","tooltipContainer","placement","overflow","language","onChange","evn","target","fontFamily","minHeight","borderTop","marginLeft","type","tooltipHelper","valueString","maxWidth","whiteSpace","textOverflow","fileInputField","fileInputStyles","textBoxContainer","name","disabled","required","error","accept","useState","showFileSelector","setShowSelector","fieldBottom","fieldContainer","errorInField","InputLabel","htmlFor","fieldLabelError","Tooltip","e","fileName","evt","callback","file","files","reader","FileReader","readAsDataURL","onload","fileBase64","result","fileArray","toString","split","fileProcess","data","IconButton","component","disableRipple","disableFocusRipple","size","Cancel","ErrorBlock","errorMessage","fileReselect","AttachFile","deleteDialogStyles","content","customDialogSize","snackBarCommon","children","wideLimit","noContentPadding","dispatch","useAppDispatch","openSnackbar","setOpenSnackbar","modalSnackMessage","useSelector","state","system","modalSnackBar","useEffect","setModalSnackMessage","message","customSize","paper","fullWidth","detailedErrorMsg","scroll","event","reason","titleText","closeContainer","closeButton","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","configSectionItem","tenantCustomizationFields","containerItem","fieldGroup","createTenantCommon","responsiveSectionItem","wrapperContainer","envVarRow","borderBottom","flex","minWidth","fileItem","rowActions","overlayAction","modalBasic","wizardCommon","formFieldStyles","exposeMinIO","createTenant","fields","configure","exposeConsole","setDomains","consoleDomain","minioDomains","tenantCustom","tenantEnvVars","envVars","tenantSecurityContext","validationErrors","setValidationErrors","updateField","useCallback","field","updateAddField","pageName","customAccountValidation","fieldKey","runAsUser","customValidation","parseInt","customValidationMessage","runAsGroup","fsGroup","minioExtraValidations","validation","pattern","customPatternMessage","commonVal","commonFormValidation","isPageValid","valid","Object","keys","cleanValidation","fieldName","clearValidationError","Paper","paperWrapper","headerElement","h3Section","descriptionText","FormSwitchWrapper","checked","InputBoxWrapper","placeholder","domain","copyDomains","updateMinIODomain","addNewMinIODomain","Add","removeMinIODomain","multiContainer","min","SelectWrapper","fsGroupChangePolicy","options","runAsNonRoot","Divider","envVar","formFieldRow","key","existingEnvVars","setEnvVars","keyPair","i","push","filter","fIndex","useStyles","makeStyles","adUserDnRows","buttonTray","idpSelection","identityProvider","ADURL","ADSkipTLS","ADServerInsecure","ADGroupSearchBaseDN","ADGroupSearchFilter","ADUserDNs","ADGroupDNs","ADLookupBindDN","ADLookupBindPassword","ADUserDNSearchBaseDN","ADUserDNSearchFilter","ADServerStartTLS","customIDPValidation","Fragment","Typography","gutterBottom","_","setIDPADUsrAtIndex","userDN","addIDPADUsrAtIndex","removeIDPADUsrAtIndex","Delete","setIDPADGroupAtIndex","addIDPADGroupAtIndex","removeIDPADGroupAtIndex","openIDConfigurationURL","openIDClientID","openIDSecretID","openIDCallbackURL","openIDClaimName","openIDScopes","shortened","gridTemplateColumns","gridGap","accessKeys","secretKeys","setIDPUsrAtIndex","setIDPPwdAtIndex","addIDPNewKeyPair","removeIDPKeyPairAtIndex","getRandomString","Casino","protocolRadioOptions","RadioGroupSelector","currentSelection","setIDP","selectorOptions","minioCertificateRows","minioCertsContainer","minioCACertsRow","enableTLS","security","enableAutoCert","enableCustomCerts","minioCertificates","certificates","minioServerCertificates","minioClientCertificates","caCertificates","minioCAsCertificates","spacing","description","TLSHelpBox","FileSelector","encodedValue","addFileToKeyPair","cert","addKeyPair","deleteKeyPair","addFileToClientKeyPair","addClientKeyPair","deleteClientKeyPair","addFileToCaCertificates","addCaCertificate","deleteCaCertificate","encryptionTab","encryption","vaultEndpoint","vaultEngine","vaultNamespace","vaultPrefix","vaultAppRoleEngine","vaultId","vaultSecret","vaultRetry","vaultPing","encryptionValidation","azureEndpoint","azureTenantID","azureClientID","azureClientSecret","gcpProjectID","gcpEndpoint","gcpClientEmail","gcpClientID","gcpPrivateKeyID","gcpPrivateKey","gemaltoEndpoint","gemaltoToken","gemaltoDomain","gemaltoRetry","awsEndpoint","awsRegion","awsKMSKey","awsAccessKey","awsSecretKey","awsToken","encryptionTypeOptions","mutualTlsConfig","rightSpacer","responsiveContainer","replicas","rawConfiguration","enableEncryption","encryptionType","enableCustomCertsForKES","kesServerCertificate","minioMTLSCertificate","kmsMTLSCertificate","kmsCA","kesSecurityContext","encryptionAvailable","encoded_key","encoded_cert","textAlign","indicatorLabels","hrClass","Tabs","indicatorColor","textColor","scrollButtons","Tab","CodeMirrorWrapper","editor","addFileKESServerCert","addFileMinIOMTLSCert","addFileKMSMTLSCert","addFileKMSCa","affinityConfigField","affinityFieldLabel","radioField","affinityLabelKey","affinityLabelValue","affinityRow","podAffinity","affinity","nodeSelectorLabels","withPodAntiAffinity","keyValuePairs","nodeSelectorPairs","tolerations","loading","setLoading","keyValueMap","setKeyValueMap","keyOptions","setKeyOptions","then","res","k","catch","err","setModalErrorSnackMessage","vl","kvp","kvs","a","indexOf","join","splittedLabels","forEach","splitItem","updateToleration","alterToleration","setTolerationInfo","tolerationValue","affinityHelpText","newKey","newLKP","arrCp","setKeyValuePairs","v","tol","TolerationSelector","effect","onEffectChange","tolerationKey","onTolerationKeyChange","operator","onOperatorChange","onValueChange","tolerationSeconds","seconds","onSecondsChange","addNewToleration","removeToleration","customImage","imageName","customDockerhub","imageRegistry","imageRegistryUsername","imageRegistryPassword","prometheusCustom","prometheusEnabled","logSearchCustom","logSearchEnabled","logSearchVolumeSize","prometheusVolumeSize","logSearchSelectedStorageClass","logSearchImage","kesImage","logSearchPostgresImage","logSearchPostgresInitImage","prometheusSelectedStorageClass","prometheusImage","prometheusSidecarImage","prometheusInitImage","table","nodes","tenantSize","memoryNode","resourcesMemoryRequest","ecParity","distribution","ecParityCalc","cpuToUse","resourcesCPURequest","integrationSelection","usableInformation","storageFactors","find","erasureCode","Table","TableBody","TableRow","TableCell","scope","align","typeSelection","storageClass","disks","niceBytes","pvSize","persistentVolumes","rawCapacity","maxCapacity","Math","floor","maxFailureTolerations","CPU","memory","drivesPerServer","driveSize","sizeUnit","wrapText","wordWrap","namespace","nameTenant","addNamespaceLoading","addNSLoading","addNamespaceOpen","addNSOpen","ConfirmDialog","confirmText","confirmButtonProps","isOpen","isLoading","onConfirm","createNamespaceAsync","closeAddNSModal","confirmationContent","LinearProgress","DialogContentText","formToRender","showNSCreateButton","namespaceError","openAddNSConfirm","debounceNamespace","useMemo","debounce","validateNamespaceAsync","cancel","setNamespace","overlayId","overlayIcon","openAddNSModal","NameTenantField","tenantName","tenantNameError","setTenantName","sizePreview","selectedStorageClass","selectedStorageType","storageClasses","features","selFeatures","isValid","IMkEnvs","setStorageType","storageType","mkPanelConfigurations","TenantSize","formRender","setFormRender","setConfiguration","resourcesConfigurations","includes","logSearchEnabledFields","fieldSpaceTop","logSearchSecurityContext","logSearchPostgresSecurityContext","configureSTClasses","overlayObject","InputUnitMenu","onUnitChange","unitSelected","unitsList","prometheusEnabledFields","prometheusSecurityContext","requiredPages","addSending","addingTenant","validPages","enabled","every","createTenantAsync","navigate","useNavigate","showNewCredentials","createdAccount","CredentialsPrompt","resetAddTenantForm","pageBox","settingsCommon","cancelButton","action","createButton","componentRender","filteredWizardSteps","buttons","advancedOnly","PageHeader","BackLink","to","executeOnClick","PageLayout","GenericWizard","wizardSteps","HelpBox","FeatureItem","fontStyle","params","useParams","tenantNameParam","tenantNamespaceParam","tenantNamespace","href","rel","OIDCLogoElement","columnGap","LDAPLogoElement","BuiltInLogoElement","errorBlock","palette","main","withBreak","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","_excluded","DividerRoot","styled","slot","overridesResolver","props","styles","ownerState","absolute","light","orientation","vertical","flexItem","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","_extends","flexShrink","borderWidth","borderStyle","borderColor","vars","divider","borderBottomWidth","bottom","left","dividerChannel","alpha","borderRightWidth","alignSelf","top","transform","flexDirection","borderLeft","DividerWrapper","wrapper","wrapperVertical","React","inProps","ref","useThemeProps","role","other","_objectWithoutPropertiesLoose","slots","composeClasses","getDividerUtilityClass","useUtilityClasses","_jsx","as","clsx"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1275.3857a963.chunk.js b/portal-ui/build/static/js/1275.3857a963.chunk.js deleted file mode 100644 index 31b7e7409..000000000 --- a/portal-ui/build/static/js/1275.3857a963.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1275],{23804:function(e,n,t){t(72791);var r=t(11135),a=t(25787),i=t(61889),s=t(80184);n.Z=(0,a.Z)((function(e){return(0,r.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var n=e.classes,t=e.iconComponent,r=e.title,a=e.help;return(0,s.jsx)("div",{className:n.root,children:(0,s.jsxs)(i.ZP,{container:!0,children:[(0,s.jsxs)(i.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,r]}),(0,s.jsx)(i.ZP,{item:!0,xs:12,className:n.helpText,children:a})]})})}))},46707:function(e,n,t){var r=t(1413),a=(t(72791),t(80184));n.Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"certificate_svg__a",children:(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 2156",fill:"#07193e",d:"M0 0h256v222.048H0z"})})}),(0,a.jsxs)("g",{"data-name":"Grupo 4763",transform:"translate(0 17)",clipPath:"url(#certificate_svg__a)",fill:"#07193e",children:[(0,a.jsx)("path",{"data-name":"Trazado 8152",d:"M240-.002H16a16 16 0 0 0-16 16v160a16 16 0 0 0 16 16h120l4.64-5.6 7.44-9.12A66.72 66.72 0 0 1 256 98.958v-82.96a16 16 0 0 0-16-16m-130.96 149.7H47.3a7.3 7.3 0 1 1 0-14.592h61.74a7.3 7.3 0 1 1 0 14.592m0-56H47.3a7.3 7.3 0 1 1 0-14.592h61.74a7.3 7.3 0 0 1 0 14.592m66.96-39.3a6.419 6.419 0 0 1-6.4 6.4H46.4a6.419 6.419 0 0 1-6.4-6.4v-1.792a6.419 6.419 0 0 1 6.4-6.4h123.2a6.419 6.419 0 0 1 6.4 6.4Z"}),(0,a.jsx)("path",{"data-name":"Trazado 8153",d:"M256 137.486a50.96 50.96 0 1 0-86.16 36.72l-15.52 18.96 7.2 28.88 29.28-35.68a50.018 50.018 0 0 0 28.4 0l29.28 35.68 7.2-28.88-15.52-18.96a50.75 50.75 0 0 0 15.84-36.72m-50.928 29.688a29.688 29.688 0 0 1-.072-59.376h.072a29.688 29.688 0 0 1 0 59.376"})]}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 2157",fill:"none",d:"M0 0h256v256H0z"})]}))}},37798:function(e,n,t){t.r(n),t.d(n,{default:function(){return b}});var r=t(1413),a=t(72791),i=t(26181),s=t.n(i),o=t(75952),l=t(11135),c=t(25787),u=t(56028),d=t(61889),m=t(77196),f=t(63466),h=t(78029),x=t.n(h),p=t(56096),g=t(23814),v=t(27454),y=t(80184),j=(0,c.Z)((function(e){return(0,l.Z)({container:{display:"flex",flexFlow:"column",padding:"20px 0 8px 0"},inputWithCopy:{"& .MuiInputBase-root ":{width:"100%",background:"#FBFAFA","& .MuiInputBase-input":{height:".8rem"},"& .MuiInputAdornment-positionEnd":{marginRight:".5rem","& .MuiButtonBase-root":{height:"2rem"}}},"& .MuiButtonBase-root .min-icon":{width:".8rem",height:".8rem"}},inputLabel:(0,r.Z)((0,r.Z)({},g.YI.inputLabel),{},{fontSize:".8rem"})})}))((function(e){var n=e.label,t=void 0===n?"":n,r=e.value,a=void 0===r?"":r,i=e.classes,s=void 0===i?{}:i;return(0,y.jsxs)("div",{className:s.container,children:[(0,y.jsxs)("div",{className:s.inputLabel,children:[t,":"]}),(0,y.jsx)("div",{className:s.inputWithCopy,children:(0,y.jsx)(m.Z,{value:a,readOnly:!0,endAdornment:(0,y.jsx)(f.Z,{position:"end",children:(0,y.jsx)(v.Z,{tooltip:"Copy",children:(0,y.jsx)(x(),{text:a,children:(0,y.jsx)(o.zx,{id:"copy-clipboard","aria-label":"copy",onClick:function(){},onMouseDown:function(){},style:{width:"28px",height:"28px",padding:"0px"},icon:(0,y.jsx)(p.TIy,{})})})})})})})]})})),Z=t(89357),C=function(e,n){var t=document.createElement("a");t.setAttribute("href","data:text/plain;charset=utf-8,"+n),t.setAttribute("download",e),t.style.display="none",document.body.appendChild(t),t.click(),document.body.removeChild(t)},b=(0,c.Z)((function(e){return(0,l.Z)({warningBlock:{color:"red",fontSize:".85rem",margin:".5rem 0 .5rem 0",display:"flex",alignItems:"center","& svg ":{marginRight:".3rem",height:16,width:16}},credentialTitle:{padding:".8rem 0 0 0",fontWeight:600,fontSize:".9rem"},buttonContainer:{display:"flex",justifyContent:"flex-end",marginTop:"1rem"},credentialsPanel:{overflowY:"auto",maxHeight:350},promptTitle:{display:"flex",alignItems:"center"},buttonSpacer:{marginRight:".9rem"}})}))((function(e){var n=e.classes,t=e.newServiceAccount,i=e.open,l=e.closeModal,c=e.entity;if(!t)return null;var m=s()(t,"console",null),f=s()(t,"idp",!1);return(0,y.jsx)(u.Z,{modalOpen:i,onClose:function(){l()},title:(0,y.jsx)("div",{className:n.promptTitle,children:(0,y.jsxs)("div",{children:["New ",c," Created"]})}),titleIcon:(0,y.jsx)(p.tVY,{}),children:(0,y.jsxs)(d.ZP,{container:!0,children:[(0,y.jsxs)(d.ZP,{item:!0,xs:12,className:n.formScrollable,children:["A new ",c," has been created with the following details:",!f&&m&&(0,y.jsx)(a.Fragment,{children:(0,y.jsxs)(d.ZP,{item:!0,xs:12,className:n.credentialsPanel,children:[(0,y.jsx)("div",{className:n.credentialTitle,children:"Console Credentials"}),Array.isArray(m)&&m.map((function(e,n){return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(j,{label:"Access Key",value:e.accessKey}),(0,y.jsx)(j,{label:"Secret Key",value:e.secretKey})]})})),!Array.isArray(m)&&(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(j,{label:"Access Key",value:m.accessKey}),(0,y.jsx)(j,{label:"Secret Key",value:m.secretKey})]})]})}),(null===m||void 0===m)&&(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(j,{label:"Access Key",value:t.accessKey||""}),(0,y.jsx)(j,{label:"Secret Key",value:t.secretKey||""})]}),f?(0,y.jsx)("div",{className:n.warningBlock,children:"Please Login via the configured external identity provider."}):(0,y.jsxs)("div",{className:n.warningBlock,children:[(0,y.jsx)(Z.Z,{}),(0,y.jsx)("span",{children:"Write these down, as this is the only time the secret will be displayed."})]})]}),(0,y.jsx)(d.ZP,{item:!0,xs:12,className:n.buttonContainer,children:!f&&(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(v.Z,{tooltip:"Download credentials in a JSON file formatted for import using mc alias import. This will only include the default login credentials.",children:(0,y.jsx)(o.zx,{id:"download-button",label:"Download for import",className:n.buttonSpacer,onClick:function(){var e={};m?e=Array.isArray(m)?m.map((function(e){return{url:e.url,accessKey:e.accessKey,secretKey:e.secretKey,api:"s3v4",path:"auto"}}))[0]:{url:m.url,accessKey:m.accessKey,secretKey:m.secretKey,api:"s3v4",path:"auto"}:e={url:t.url,accessKey:t.accessKey,secretKey:t.secretKey,api:"s3v4",path:"auto"};C("credentials.json",JSON.stringify((0,r.Z)({},e)))},icon:(0,y.jsx)(p._8t,{}),variant:"callAction"})}),Array.isArray(m)&&m.length>1&&(0,y.jsx)(v.Z,{tooltip:"Download all access credentials to a JSON file. NOTE: This file is not formatted for import using mc alias import. If you plan to import this alias from the file, please use the Download for Import button. ",children:(0,y.jsx)(o.zx,{id:"download-all-button",label:"Download all access credentials",className:n.buttonSpacer,onClick:function(){var e={};m&&Array.isArray(m)&&m.length>1&&(e=m.map((function(e){return{accessKey:e.accessKey,secretKey:e.secretKey}})));C("all_credentials.json",JSON.stringify((0,r.Z)({},e)))},icon:(0,y.jsx)(p._8t,{}),variant:"callAction",color:"primary"})})]})})]})})}))},92217:function(e,n,t){var r=t(1413),a=t(72791),i=t(61889),s=t(30829),o=t(20068),l=t(64554),c=t(11135),u=t(25787),d=t(84570),m=t(23814),f=t(56096),h=t(75952),x=t(78029),p=t.n(x),g=t(90932),v=t(27454),y=t(80184);n.Z=(0,u.Z)((function(e){return(0,c.Z)((0,r.Z)({},m.YI))}))((function(e){var n=e.value,t=e.label,r=void 0===t?"":t,c=e.tooltip,u=void 0===c?"":c,m=e.mode,x=void 0===m?"json":m,j=e.classes,Z=e.onBeforeChange,C=(e.readOnly,e.editorHeight),b=void 0===C?"250px":C;return(0,y.jsxs)(a.Fragment,{children:[(0,y.jsx)(i.ZP,{item:!0,xs:12,sx:{marginBottom:"10px"},children:(0,y.jsxs)(s.Z,{className:j.inputLabel,children:[(0,y.jsx)("span",{children:r}),""!==u&&(0,y.jsx)("div",{className:j.tooltipContainer,children:(0,y.jsx)(o.Z,{title:u,placement:"top-start",children:(0,y.jsx)("div",{className:j.tooltip,children:(0,y.jsx)(d.Z,{})})})})]})}),(0,y.jsx)(i.ZP,{item:!0,xs:12,style:{maxHeight:b,overflow:"auto",border:"1px solid #eaeaea"},children:(0,y.jsx)(g.Z,{value:n,language:x,onChange:function(e){Z(null,null,e.target.value)},id:"code_wrapper",padding:15,style:{fontSize:12,backgroundColor:"#fefefe",fontFamily:"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace",minHeight:b||"initial",color:"#000000"}})}),(0,y.jsx)(i.ZP,{item:!0,xs:12,sx:{background:"#f7f7f7",border:"1px solid #eaeaea",borderTop:0},children:(0,y.jsx)(l.Z,{sx:{display:"flex",alignItems:"center",padding:"2px",paddingRight:"5px",justifyContent:"flex-end","& button":{height:"26px",width:"26px",padding:"2px"," .min-icon":{marginLeft:"0"}}},children:(0,y.jsx)(v.Z,{tooltip:"Copy to Clipboard",children:(0,y.jsx)(p(),{text:n,children:(0,y.jsx)(h.zx,{type:"button",id:"copy-code-mirror",icon:(0,y.jsx)(f.TIy,{}),color:"primary",variant:"regular"})})})})})]})}))},54639:function(e,n,t){t.d(n,{Z:function(){return j}});var r=t(29439),a=t(1413),i=t(72791),s=t(26181),o=t.n(s),l=t(61889),c=t(30829),u=t(20068),d=t(13400),m=t(99663),f=t(86711),h=t(11135),x=t(25787),p=t(23814),g=t(84570),v=t(22512),y=t(80184),j=(0,x.Z)((function(e){return(0,h.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},p.YI),p.Hr),{},{valueString:{maxWidth:350,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",marginTop:2},fileInputField:{margin:"13px 0","@media (max-width: 900px)":{flexFlow:"column"}}},p.bV),{},{inputLabel:(0,a.Z)((0,a.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"}),textBoxContainer:(0,a.Z)((0,a.Z)({},p.YI.textBoxContainer),{},{maxWidth:"100%",border:"1px solid #eaeaea",paddingLeft:"15px"})}))}))((function(e){var n=e.label,t=e.classes,a=e.onChange,s=e.id,h=e.name,x=e.disabled,p=void 0!==x&&x,j=e.tooltip,Z=void 0===j?"":j,C=e.required,b=e.error,S=void 0===b?"":b,_=e.accept,N=void 0===_?"":_,A=e.value,T=void 0===A?"":A,P=(0,i.useState)(!1),I=(0,r.Z)(P,2),w=I[0],k=I[1];return(0,y.jsx)(i.Fragment,{children:(0,y.jsxs)(l.ZP,{item:!0,xs:12,className:"".concat(t.fileInputField," ").concat(t.fieldBottom," ").concat(t.fieldContainer," ").concat(""!==S?t.errorInField:""),children:[""!==n&&(0,y.jsxs)(c.Z,{htmlFor:s,className:"".concat(""!==S?t.fieldLabelError:""," ").concat(t.inputLabel),children:[(0,y.jsxs)("span",{children:[n,C?"*":""]}),""!==Z&&(0,y.jsx)("div",{className:t.tooltipContainer,children:(0,y.jsx)(u.Z,{title:Z,placement:"top-start",children:(0,y.jsx)("div",{className:t.tooltip,children:(0,y.jsx)(g.Z,{})})})})]}),w||""===T?(0,y.jsxs)("div",{className:t.textBoxContainer,children:[(0,y.jsx)("input",{type:"file",name:h,onChange:function(e){var n=o()(e,"target.files[0].name","");!function(e,n){var t=e.target.files[0],r=new FileReader;r.readAsDataURL(t),r.onload=function(){var e=r.result;if(e){var t=e.toString().split("base64,");2===t.length&&n(t[1])}}}(e,(function(e){a(e,n)}))},accept:N,required:C,disabled:p,className:t.fileInputField}),""!==T&&(0,y.jsx)(d.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){k(!1)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,y.jsx)(f.Z,{})}),""!==S&&(0,y.jsx)(v.Z,{errorMessage:S})]}):(0,y.jsxs)("div",{className:t.fileReselect,children:[(0,y.jsx)("div",{className:t.valueString,children:T}),(0,y.jsx)(d.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){k(!0)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,y.jsx)(m.Z,{})})]})]})})}))},56028:function(e,n,t){var r=t(29439),a=t(1413),i=t(72791),s=t(78687),o=t(13400),l=t(55646),c=t(5574),u=t(65661),d=t(39157),m=t(11135),f=t(25787),h=t(23814),x=t(25469),p=t(29823),g=t(28057),v=t(87995),y=t(80184);n.Z=(0,f.Z)((function(e){return(0,m.Z)((0,a.Z)((0,a.Z)({},h.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},h.sN))}))((function(e){var n=e.onClose,t=e.modalOpen,m=e.title,f=e.children,h=e.classes,j=e.wideLimit,Z=void 0===j||j,C=e.noContentPadding,b=e.titleIcon,S=void 0===b?null:b,_=(0,x.TL)(),N=(0,i.useState)(!1),A=(0,r.Z)(N,2),T=A[0],P=A[1],I=(0,s.v9)((function(e){return e.system.modalSnackBar}));(0,i.useEffect)((function(){_((0,v.MK)(""))}),[_]),(0,i.useEffect)((function(){if(I){if(""===I.message)return void P(!1);"error"!==I.type&&P(!0)}}),[I]);var w=Z?{classes:{paper:h.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},k="";return I&&(k=I.detailedErrorMsg,(""===I.detailedErrorMsg||I.detailedErrorMsg.length<5)&&(k=I.message)),(0,y.jsxs)(c.Z,(0,a.Z)((0,a.Z)({open:t,classes:h},w),{},{scroll:"paper",onClose:function(e,t){"backdropClick"!==t&&n()},className:h.root,children:[(0,y.jsxs)(u.Z,{className:h.title,children:[(0,y.jsxs)("div",{className:h.titleText,children:[S," ",m]}),(0,y.jsx)("div",{className:h.closeContainer,children:(0,y.jsx)(o.Z,{"aria-label":"close",id:"close",className:h.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,y.jsx)(p.Z,{})})})]}),(0,y.jsx)(g.Z,{isModal:!0}),(0,y.jsx)(l.Z,{open:T,className:h.snackBarModal,onClose:function(){P(!1),_((0,v.MK)(""))},message:k,ContentProps:{className:"".concat(h.snackBar," ").concat(I&&"error"===I.type?h.errorSnackBar:"")},autoHideDuration:I&&"error"===I.type?1e4:5e3}),(0,y.jsx)(d.Z,{className:C?"":h.content,children:f})]}))}))},45997:function(e,n,t){t.r(n),t.d(n,{default:function(){return Je}});var r=t(29439),a=t(1413),i=t(72791),s=t(26181),o=t.n(s),l=t(78687),c=t(61889),u=t(40986),d=t(11135),m=t(23814),f=t(28371),h=t(25469),x=t(93433),p=t(25787),g=t(35527),v=t(13400),y=t(94721),j=t(84741),Z=t(40968),C=t(37516),b=t(21435),S=t(42419),_=t(51979),N=t(76773),A=t(90673),T=t(80184),P=(0,p.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({configSectionItem:{marginRight:15,marginBottom:15,"& .multiContainer":{border:"1px solid red"}},tenantCustomizationFields:{marginLeft:30,width:"88%",margin:"auto"},containerItem:{marginRight:15},fieldGroup:(0,a.Z)((0,a.Z)({},m.QV.fieldGroup),{},{paddingTop:15,marginBottom:25}),responsiveSectionItem:{"@media (max-width: 900px)":{flexFlow:"column",alignItems:"flex-start","& div > div":{marginBottom:5,marginRight:0}}},wrapperContainer:{display:"flex",marginBottom:15},envVarRow:{display:"flex",alignItems:"center",justifyContent:"flex-start","&:last-child":{borderBottom:0},"@media (max-width: 900px)":{flex:1,"& div label":{minWidth:50}}},fileItem:{marginRight:10,display:"flex","& div label":{minWidth:50},"@media (max-width: 900px)":{flexFlow:"column"}},rowActions:{display:"flex",justifyContent:"flex-end","@media (max-width: 900px)":{flex:1}},overlayAction:{marginLeft:10,"& svg":{maxWidth:15,maxHeight:15},"& button":{background:"#EAEAEA"}}},m.oO),m.AK),m.DF))}))((function(e){var n=e.classes,t=(0,h.TL)(),s=(0,l.v9)((function(e){return e.createTenant.fields.configure.exposeMinIO})),o=(0,l.v9)((function(e){return e.createTenant.fields.configure.exposeConsole})),u=(0,l.v9)((function(e){return e.createTenant.fields.configure.setDomains})),d=(0,l.v9)((function(e){return e.createTenant.fields.configure.consoleDomain})),m=(0,l.v9)((function(e){return e.createTenant.fields.configure.minioDomains})),f=(0,l.v9)((function(e){return e.createTenant.fields.configure.tenantCustom})),p=(0,l.v9)((function(e){return e.createTenant.fields.configure.envVars})),P=(0,l.v9)((function(e){return e.createTenant.fields.configure.tenantSecurityContext})),I=(0,i.useState)({}),w=(0,r.Z)(I,2),k=w[0],R=w[1],F=(0,i.useCallback)((function(e,n){t((0,N.HM)({pageName:"configure",field:e,value:n}))}),[t]);(0,i.useEffect)((function(){var e=[];if(f&&(e=[].concat((0,x.Z)(e),[{fieldKey:"tenant_securityContext_runAsUser",required:!0,value:P.runAsUser,customValidation:""===P.runAsUser||parseInt(P.runAsUser)<0,customValidationMessage:"runAsUser must be present and be 0 or more"},{fieldKey:"tenant_securityContext_runAsGroup",required:!0,value:P.runAsGroup,customValidation:""===P.runAsGroup||parseInt(P.runAsGroup)<0,customValidationMessage:"runAsGroup must be present and be 0 or more"},{fieldKey:"tenant_securityContext_fsGroup",required:!0,value:P.fsGroup,customValidation:""===P.fsGroup||parseInt(P.fsGroup)<0,customValidationMessage:"fsGroup must be present and be 0 or more"}])),u){var n=m.map((function(e,n){return{fieldKey:"minio-domain-".concat(n.toString()),required:!1,value:e,pattern:/^(https?):\/\/([a-zA-Z0-9\-.]+)(:[0-9]+)?$/,customPatternMessage:"MinIO domain is not in the form of http|https://subdomain.domain"}}));e=[].concat((0,x.Z)(e),(0,x.Z)(n),[{fieldKey:"console_domain",required:!1,value:d,pattern:/^(https?):\/\/([a-zA-Z0-9\-.]+)(:[0-9]+)?(\/[a-zA-Z0-9\-./]*)?$/,customPatternMessage:"Console domain is not in the form of http|https://subdomain.domain:port/subpath1/subpath2"}])}var r=(0,Z.R)(e);t((0,N.NO)({pageName:"configure",valid:0===Object.keys(r).length})),R(r)}),[t,f,P,u,d,m]);var D=function(e){R((0,j.he)(k,e))};return(0,T.jsxs)(g.Z,{className:n.paperWrapper,children:[(0,T.jsxs)("div",{className:n.headerElement,children:[(0,T.jsx)("h3",{className:n.h3Section,children:"Configure"}),(0,T.jsx)("span",{className:n.descriptionText,children:"Basic configurations for tenant management"})]}),(0,T.jsxs)("div",{className:n.headerElement,children:[(0,T.jsx)("h4",{className:n.h3Section,children:"Services"}),(0,T.jsx)("span",{className:n.descriptionText,children:"Whether the tenant's services should request an external IP via LoadBalancer service type."})]}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.configSectionItem,children:(0,T.jsx)(C.Z,{value:"expose_minio",id:"expose_minio",name:"expose_minio",checked:s,onChange:function(e){var n=e.target.checked;F("exposeMinIO",n)},label:"Expose MinIO Service"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.configSectionItem,children:(0,T.jsx)(C.Z,{value:"expose_console",id:"expose_console",name:"expose_console",checked:o,onChange:function(e){var n=e.target.checked;F("exposeConsole",n)},label:"Expose Console Service"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.configSectionItem,children:(0,T.jsx)(C.Z,{value:"custom_domains",id:"custom_domains",name:"custom_domains",checked:u,onChange:function(e){var n=e.target.checked;F("setDomains",n)},label:"Set Custom Domains"})}),u&&(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.tenantCustomizationFields,children:(0,T.jsxs)("fieldset",{className:n.fieldGroup,children:[(0,T.jsx)("legend",{className:n.descriptionText,children:"Custom Domains for MinIO"}),(0,T.jsxs)(c.ZP,{item:!0,xs:12,className:"".concat(n.configSectionItem),children:[(0,T.jsx)("div",{className:n.containerItem,children:(0,T.jsx)(b.Z,{id:"console_domain",name:"console_domain",onChange:function(e){F("consoleDomain",e.target.value),D("tenant_securityContext_runAsUser")},label:"Console Domain",value:d,placeholder:"Eg. http://subdomain.domain:port/subpath1/subpath2",error:k.console_domain||""})}),(0,T.jsxs)("div",{children:[(0,T.jsx)("h4",{children:"MinIO Domains"}),(0,T.jsx)("div",{className:"".concat(n.responsiveSectionItem),children:m.map((function(e,r){return(0,T.jsxs)("div",{className:"".concat(n.containerItem," ").concat(n.wrapperContainer),children:[(0,T.jsx)(b.Z,{id:"minio-domain-".concat(r.toString()),name:"minio-domain-".concat(r.toString()),onChange:function(e){!function(e,n){var t=(0,x.Z)(m);t[n]=e,F("minioDomains",t)}(e.target.value,r)},label:"MinIO Domain ".concat(r+1),value:e,placeholder:"Eg. http://subdomain.domain",error:k["minio-domain-".concat(r.toString())]||""}),(0,T.jsx)("div",{className:n.overlayAction,children:(0,T.jsx)(v.Z,{size:"small",onClick:function(){return t((0,N.x_)())},disabled:r!==m.length-1,children:(0,T.jsx)(S.Z,{})})}),(0,T.jsx)("div",{className:n.overlayAction,children:(0,T.jsx)(v.Z,{size:"small",onClick:function(){return t((0,N.JL)(r))},disabled:m.length<=1,children:(0,T.jsx)(_.Z,{})})})]},"minio-domain-key-".concat(r.toString()))}))})]})]})]})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.configSectionItem,children:(0,T.jsx)(C.Z,{value:"tenantConfig",id:"tenant_configuration",name:"tenant_configuration",checked:f,onChange:function(e){var n=e.target.checked;F("tenantCustom",n)},label:"Security Context"})}),f&&(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.tenantCustomizationFields,children:(0,T.jsxs)("fieldset",{className:n.fieldGroup,children:[(0,T.jsx)("legend",{className:n.descriptionText,children:"SecurityContext for MinIO"}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:"".concat(n.configSectionItem),children:(0,T.jsxs)("div",{className:"".concat(n.multiContainer," ").concat(n.responsiveSectionItem),children:[(0,T.jsx)("div",{className:n.containerItem,children:(0,T.jsx)(b.Z,{type:"number",id:"tenant_securityContext_runAsUser",name:"tenant_securityContext_runAsUser",onChange:function(e){F("tenantSecurityContext",(0,a.Z)((0,a.Z)({},P),{},{runAsUser:e.target.value})),D("tenant_securityContext_runAsUser")},label:"Run As User",value:P.runAsUser,required:!0,error:k.tenant_securityContext_runAsUser||"",min:"0"})}),(0,T.jsx)("div",{className:n.containerItem,children:(0,T.jsx)(b.Z,{type:"number",id:"tenant_securityContext_runAsGroup",name:"tenant_securityContext_runAsGroup",onChange:function(e){F("tenantSecurityContext",(0,a.Z)((0,a.Z)({},P),{},{runAsGroup:e.target.value})),D("tenant_securityContext_runAsGroup")},label:"Run As Group",value:P.runAsGroup,required:!0,error:k.tenant_securityContext_runAsGroup||"",min:"0"})})]})}),(0,T.jsx)("br",{}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:"".concat(n.configSectionItem),children:(0,T.jsxs)("div",{className:"".concat(n.multiContainer," ").concat(n.responsiveSectionItem),children:[(0,T.jsx)("div",{className:n.containerItem,children:(0,T.jsx)(b.Z,{type:"number",id:"tenant_securityContext_fsGroup",name:"tenant_securityContext_fsGroup",onChange:function(e){F("tenantSecurityContext",(0,a.Z)((0,a.Z)({},P),{},{fsGroup:e.target.value})),D("tenant_securityContext_fsGroup")},label:"FsGroup",value:P.fsGroup,required:!0,error:k.tenant_securityContext_fsGroup||"",min:"0"})}),(0,T.jsx)("div",{className:n.containerItem,children:(0,T.jsx)("div",{className:n.configSectionItem,children:(0,T.jsx)(A.Z,{label:"FsGroupChangePolicy",id:"securityContext_fsGroupChangePolicy",name:"securityContext_fsGroupChangePolicy",value:P.fsGroupChangePolicy,onChange:function(e){F("tenantSecurityContext",(0,a.Z)((0,a.Z)({},P),{},{fsGroupChangePolicy:e.target.value}))},options:[{label:"Always",value:"Always"},{label:"OnRootMismatch",value:"OnRootMismatch"}]})})})]})}),(0,T.jsx)("br",{}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.configSectionItem,children:(0,T.jsx)("div",{className:n.multiContainer,children:(0,T.jsx)(C.Z,{value:"tenantSecurityContextRunAsNonRoot",id:"tenant_securityContext_runAsNonRoot",name:"tenant_securityContext_runAsNonRoot",checked:P.runAsNonRoot,onChange:function(e){var n=e.target.checked;F("tenantSecurityContext",(0,a.Z)((0,a.Z)({},P),{},{runAsNonRoot:n}))},label:"Do not run as Root"})})})]})}),(0,T.jsx)(y.Z,{}),(0,T.jsxs)("div",{className:n.headerElement,children:[(0,T.jsx)("h3",{className:n.h3Section,children:"Additional Environment Variables"}),(0,T.jsx)("span",{className:n.descriptionText,children:"Define additional environment variables to be used by your MinIO pods"})]}),(0,T.jsx)(c.ZP,{container:!0,children:p.map((function(e,r){return(0,T.jsxs)(c.ZP,{item:!0,xs:12,className:"".concat(n.formFieldRow," ").concat(n.envVarRow),children:[(0,T.jsx)(c.ZP,{item:!0,xs:5,className:n.fileItem,children:(0,T.jsx)(b.Z,{id:"env_var_key",name:"env_var_key",label:"Key",value:e.key,onChange:function(e){var n=(0,x.Z)(p);t((0,N.Ct)(n.map((function(n,t){return t===r?{key:e.target.value,value:n.value}:n}))))},index:r},"env_var_key_".concat(r.toString()))}),(0,T.jsx)(c.ZP,{item:!0,xs:5,className:n.fileItem,children:(0,T.jsx)(b.Z,{id:"env_var_value",name:"env_var_value",label:"Value",value:e.value,onChange:function(e){var n=(0,x.Z)(p);t((0,N.Ct)(n.map((function(n,t){return t===r?{key:n.key,value:e.target.value}:n}))))},index:r},"env_var_value_".concat(r.toString()))}),(0,T.jsxs)(c.ZP,{item:!0,xs:2,className:n.rowActions,children:[(0,T.jsx)("div",{className:n.overlayAction,children:(0,T.jsx)(v.Z,{size:"small",onClick:function(){var e=(0,x.Z)(p);e.push({key:"",value:""}),t((0,N.Ct)(e))},disabled:r!==p.length-1,children:(0,T.jsx)(S.Z,{})})}),(0,T.jsx)("div",{className:n.overlayAction,children:(0,T.jsx)(v.Z,{size:"small",onClick:function(){var e=p.filter((function(e,n){return n!==r}));t((0,N.Ct)(e))},disabled:p.length<=1,children:(0,T.jsx)(_.Z,{})})})]})]},"tenant-envVar-".concat(r.toString()))}))})]})})),I=t(83679),w=t(20890),k=t(20068),R=t(72455),F=t(27247),D=(0,R.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({adUserDnRows:{display:"flex",marginBottom:10},buttonTray:{marginLeft:10,display:"flex",height:38,"& button":{background:"#EAEAEA"}},overlayAction:{marginLeft:10,"& svg":{maxWidth:15,maxHeight:15},"& button":{background:"#EAEAEA"}}},m.QV),m.DF),m.oO),m.AK))})),G=function(){var e=(0,h.TL)(),n=D(),t=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.idpSelection})),a=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.ADURL})),s=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.ADSkipTLS})),o=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.ADServerInsecure})),u=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.ADGroupSearchBaseDN})),d=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.ADGroupSearchFilter})),m=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.ADUserDNs})),f=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.ADGroupDNs})),p=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.ADLookupBindDN})),g=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.ADLookupBindPassword})),y=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.ADUserDNSearchBaseDN})),_=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.ADUserDNSearchFilter})),A=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.ADServerStartTLS})),P=(0,i.useState)({}),I=(0,r.Z)(P,2),R=I[0],G=I[1],K=(0,i.useCallback)((function(n,t){e((0,N.HM)({pageName:"identityProvider",field:n,value:t}))}),[e]),E=function(e){G((0,j.he)(R,e))};return(0,i.useEffect)((function(){var n=[];"AD"===t&&(n=[].concat((0,x.Z)(n),[{fieldKey:"AD_URL",required:!0,value:a},{fieldKey:"ad_lookupBindDN",required:!0,value:p}]));var r=(0,Z.R)(n);e((0,N.NO)({pageName:"identityProvider",valid:0===Object.keys(r).length})),G(r)}),[p,t,a,u,d,m,f,e]),(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"AD_URL",name:"AD_URL",onChange:function(e){K("ADURL",e.target.value),E("AD_URL")},label:"LDAP Server Address",value:a,placeholder:"ldap-server:636",error:R.AD_URL||"",required:!0})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(C.Z,{value:"ad_skipTLS",id:"ad_skipTLS",name:"ad_skipTLS",checked:s,onChange:function(e){var n=e.target.checked;K("ADSkipTLS",n)},label:"Skip TLS Verification"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(C.Z,{value:"ad_serverInsecure",id:"ad_serverInsecure",name:"ad_serverInsecure",checked:o,onChange:function(e){var n=e.target.checked;K("ADServerInsecure",n)},label:"Server Insecure"})}),o?(0,T.jsxs)(c.ZP,{item:!0,xs:12,children:[(0,T.jsx)(w.Z,{className:n.error,variant:"caption",display:"block",gutterBottom:!0,children:"Warning: All traffic with Active Directory will be unencrypted"}),(0,T.jsx)("br",{})]}):null,(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(C.Z,{value:"ad_serverStartTLS",id:"ad_serverStartTLS",name:"ad_serverStartTLS",checked:A,onChange:function(e){var n=e.target.checked;K("ADServerStartTLS",n)},label:"Start TLS connection to AD/LDAP server"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"ad_lookupBindDN",name:"ad_lookupBindDN",onChange:function(e){K("ADLookupBindDN",e.target.value),E("ad_lookupBindDN")},label:"Lookup Bind DN",value:p,placeholder:"cn=admin,dc=min,dc=io",error:R.ad_lookupBindDN||"",required:!0})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"ad_lookupBindPassword",name:"ad_lookupBindPassword",onChange:function(e){K("ADLookupBindPassword",e.target.value)},label:"Lookup Bind Password",value:g,placeholder:"admin"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"ad_userDNSearchBaseDN",name:"ad_userDNSearchBaseDN",onChange:function(e){K("ADUserDNSearchBaseDN",e.target.value)},label:"User DN Search Base DN",value:y,placeholder:"dc=min,dc=io"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"ad_userDNSearchFilter",name:"ad_userDNSearchFilter",onChange:function(e){K("ADUserDNSearchFilter",e.target.value)},label:"User DN Search Filter",value:_,placeholder:"(sAMAcountName=%s)"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"ad_groupSearchBaseDN",name:"ad_groupSearchBaseDN",onChange:function(e){K("ADGroupSearchBaseDN",e.target.value)},label:"Group Search Base DN",value:u,placeholder:"ou=hwengg,dc=min,dc=io;ou=swengg,dc=min,dc=io"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"ad_groupSearchFilter",name:"ad_groupSearchFilter",onChange:function(e){K("ADGroupSearchFilter",e.target.value)},label:"Group Search Filter",value:d,placeholder:"(&(objectclass=groupOfNames)(member=%s))"})}),(0,T.jsxs)("fieldset",{className:n.fieldGroup,children:[(0,T.jsx)("legend",{className:n.descriptionText,children:"List of user DNs (Distinguished Names) to be Tenant Administrators"}),(0,T.jsx)(c.ZP,{item:!0,xs:12,children:m.map((function(t,r){return(0,T.jsx)(i.Fragment,{children:(0,T.jsxs)("div",{className:n.adUserDnRows,children:[(0,T.jsx)(b.Z,{id:"ad-userdn-".concat(r.toString()),label:"",placeholder:"",name:"ad-userdn-".concat(r.toString()),value:m[r],onChange:function(n){e((0,N.hK)({index:r,userDN:n.target.value})),E("ad-userdn-".concat(r.toString()))},index:r,error:R["ad-userdn-".concat(r.toString())]||""},"csv-ad-userdn-".concat(r.toString())),(0,T.jsxs)("div",{className:n.buttonTray,children:[(0,T.jsx)(k.Z,{title:"Add User","aria-label":"add",children:(0,T.jsx)(v.Z,{size:"small",onClick:function(){e((0,N.Y$)())},children:(0,T.jsx)(S.Z,{})})}),(0,T.jsx)(k.Z,{title:"Remove","aria-label":"add",children:(0,T.jsx)(v.Z,{size:"small",style:{marginLeft:16},onClick:function(){m.length>1&&e((0,N.GU)(r))},children:(0,T.jsx)(F.Z,{})})})]})]})},"identityField-".concat(r.toString()))}))})]}),(0,T.jsxs)("fieldset",{className:n.fieldGroup,children:[(0,T.jsx)("legend",{className:n.descriptionText,children:"List of group DNs (Distinguished Names) to be Tenant Administrators"}),(0,T.jsx)(c.ZP,{item:!0,xs:12,children:f.map((function(t,r){return(0,T.jsx)(i.Fragment,{children:(0,T.jsxs)("div",{className:n.adUserDnRows,children:[(0,T.jsx)(b.Z,{id:"ad-groupdn-".concat(r.toString()),label:"",placeholder:"",name:"ad-groupdn-".concat(r.toString()),value:f[r],onChange:function(n){e((0,N.in)({index:r,userDN:n.target.value})),E("ad-groupdn-".concat(r.toString()))},index:r,error:R["ad-groupdn-".concat(r.toString())]||""},"csv-ad-groupdn-".concat(r.toString())),(0,T.jsxs)("div",{className:n.buttonTray,children:[(0,T.jsx)(k.Z,{title:"Add Group","aria-label":"add",children:(0,T.jsx)(v.Z,{size:"small",onClick:function(){e((0,N.Fe)())},children:(0,T.jsx)(S.Z,{})})}),(0,T.jsx)(k.Z,{title:"Remove","aria-label":"add",children:(0,T.jsx)(v.Z,{size:"small",style:{marginLeft:16},onClick:function(){f.length>1&&e((0,N.Hu)(r))},children:(0,T.jsx)(F.Z,{})})})]})]})},"identityField-".concat(r.toString()))}))})]})]})},K=(0,R.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({buttonTray:{marginLeft:10,display:"flex",height:38,"& button":{background:"#EAEAEA"}},overlayAction:{marginLeft:10,"& svg":{maxWidth:15,maxHeight:15},"& button":{background:"#EAEAEA"}}},m.QV),m.DF),m.oO),m.AK))})),E=function(){var e=(0,h.TL)(),n=K(),t=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.idpSelection})),a=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.openIDConfigurationURL})),s=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.openIDClientID})),o=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.openIDSecretID})),u=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.openIDCallbackURL})),d=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.openIDClaimName})),m=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.openIDScopes})),f=(0,i.useState)({}),p=(0,r.Z)(f,2),g=p[0],v=p[1],y=(0,i.useCallback)((function(n,t){e((0,N.HM)({pageName:"identityProvider",field:n,value:t}))}),[e]),C=function(e){v((0,j.he)(g,e))};return(0,i.useEffect)((function(){var n=[];"OpenID"===t&&(n=[].concat((0,x.Z)(n),[{fieldKey:"openID_CONFIGURATION_URL",required:!0,value:a},{fieldKey:"openID_clientID",required:!0,value:s},{fieldKey:"openID_secretID",required:!0,value:o},{fieldKey:"openID_claimName",required:!0,value:d}]));var r=(0,Z.R)(n);e((0,N.NO)({pageName:"identityProvider",valid:0===Object.keys(r).length})),v(r)}),[t,s,o,a,d,e]),(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"openID_CONFIGURATION_URL",name:"openID_CONFIGURATION_URL",onChange:function(e){y("openIDConfigurationURL",e.target.value),C("openID_CONFIGURATION_URL")},label:"Configuration URL",value:a,placeholder:"https://your-identity-provider.com/.well-known/openid-configuration",error:g.openID_CONFIGURATION_URL||"",required:!0})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"openID_clientID",name:"openID_clientID",onChange:function(e){y("openIDClientID",e.target.value),C("openID_clientID")},label:"Client ID",value:s,error:g.openID_clientID||"",required:!0})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"openID_secretID",name:"openID_secretID",onChange:function(e){y("openIDSecretID",e.target.value),C("openID_secretID")},label:"Secret ID",value:o,error:g.openID_secretID||"",required:!0})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"openID_callbackURL",name:"openID_callbackURL",onChange:function(e){y("openIDCallbackURL",e.target.value),C("openID_callbackURL")},label:"Callback URL",value:u,placeholder:"https://your-console-endpoint:9443/oauth_callback",error:g.openID_callbackURL||""})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"openID_claimName",name:"openID_claimName",onChange:function(e){y("openIDClaimName",e.target.value),C("openID_claimName")},label:"Claim Name",value:d,error:g.openID_claimName||"",required:!0})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"openID_scopes",name:"openID_scopes",onChange:function(e){y("openIDScopes",e.target.value),C("openID_scopes")},label:"Scopes",value:m})})]})},L=t(22918),z=(0,R.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({buttonTray:{marginLeft:10,display:"flex",height:38,"& button":{background:"#EAEAEA"}},overlayAction:{marginLeft:10,"& svg":{maxWidth:15,maxHeight:15},"& button":{background:"#EAEAEA"}},shortened:{gridTemplateColumns:"auto auto 50px 50px",display:"grid",gridGap:15,marginBottom:10,"& input":{fontWeight:400}}},m.QV),m.DF),m.oO),m.AK))})),O=function(){var e=(0,h.TL)(),n=z(),t=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.idpSelection})),a=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.accessKeys})),s=(0,l.v9)((function(e){return e.createTenant.fields.identityProvider.secretKeys})),o=(0,i.useState)({}),c=(0,r.Z)(o,2),u=c[0],d=c[1],m=function(e){d((0,j.he)(u,e))};return(0,i.useEffect)((function(){var n=[];if("Built-in"===t){n=(0,x.Z)(n);for(var r=0;r0)&&(U=!0);var B=(0,i.useCallback)((function(e,n){t((0,N.HM)({pageName:"encryption",field:e,value:n}))}),[t]),H=function(e){V((0,j.he)(M,e))};return(0,i.useEffect)((function(){var e=[];d&&(e=[].concat((0,x.Z)(e),[{fieldKey:"rawConfiguration",required:u>0,value:o},{fieldKey:"replicas",required:!0,value:s,customValidation:parseInt(s)<1,customValidationMessage:"Replicas needs to be 1 or greater"},{fieldKey:"kes_securityContext_runAsUser",required:!0,value:L.runAsUser,customValidation:""===L.runAsUser||parseInt(L.runAsUser)<0,customValidationMessage:"runAsUser must be present and be 0 or more"},{fieldKey:"kes_securityContext_runAsGroup",required:!0,value:L.runAsGroup,customValidation:""===L.runAsGroup||parseInt(L.runAsGroup)<0,customValidationMessage:"runAsGroup must be present and be 0 or more"},{fieldKey:"kes_securityContext_fsGroup",required:!0,value:L.fsGroup,customValidation:""===L.fsGroup||parseInt(L.fsGroup)<0,customValidationMessage:"fsGroup must be present and be 0 or more"}]),E&&(e=[].concat((0,x.Z)(e),[{fieldKey:"serverKey",required:!w,value:F.encoded_key},{fieldKey:"serverCert",required:!w,value:F.encoded_cert},{fieldKey:"clientKey",required:!w,value:D.encoded_key},{fieldKey:"clientCert",required:!w,value:D.encoded_cert}])));var n=(0,Z.R)(e);t((0,N.NO)({pageName:"encryption",valid:0===Object.keys(n).length})),V(n)}),[o,u,d,m,f,p,v,y,S,_,t,w,E,F.encoded_key,F.encoded_cert,D.encoded_key,D.encoded_cert,L,s]),(0,T.jsxs)(g.Z,{className:n.paperWrapper,children:[(0,T.jsxs)(c.ZP,{container:!0,alignItems:"center",children:[(0,T.jsx)(c.ZP,{item:!0,xs:!0,children:(0,T.jsx)(W,{children:"Encryption"})}),(0,T.jsx)(c.ZP,{item:!0,xs:4,justifyContent:"end",textAlign:"right",children:(0,T.jsx)(C.Z,{label:"",indicatorLabels:["Enabled","Disabled"],checked:d,value:"tenant_encryption",id:"tenant-encryption",name:"tenant-encryption",onChange:function(e){var n=e.target.checked;B("enableEncryption",n)},description:"",disabled:!U})})]}),(0,T.jsxs)(c.ZP,{container:!0,spacing:1,children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsx)("span",{className:n.descriptionText,children:"MinIO Server-Side Encryption (SSE) protects objects as part of write operations, allowing clients to take advantage of server processing power to secure objects at the storage layer (encryption-at-rest). SSE also provides key functionality to regulatory and compliance requirements around secure locking and erasure."})}),(0,T.jsx)(c.ZP,{xs:12,children:(0,T.jsx)("hr",{className:n.hrClass})}),d&&(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsxs)(ie.Z,{value:u,onChange:function(e,n){B("encryptionTab",n)},indicatorColor:"primary",textColor:"primary","aria-label":"cluster-tabs",variant:"scrollable",scrollButtons:"auto",children:[(0,T.jsx)(se.Z,{id:"kms-options",label:"Options"}),(0,T.jsx)(se.Z,{id:"kms-raw-configuration",label:"Raw Edit"})]})}),u?(0,T.jsx)(i.Fragment,{children:(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsx)(oe.Z,{value:o,mode:"yaml",onBeforeChange:function(e,n,t){B("rawConfiguration",t)},editorHeight:"550px"})})}):(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.encryptionTypeOptions,children:(0,T.jsx)(I.Z,{currentSelection:m,id:"encryptionType",name:"encryptionType",label:"KMS",onChange:function(e){B("encryptionType",e.target.value)},selectorOptions:[{label:"Vault",value:"vault"},{label:"AWS",value:"aws"},{label:"Gemalto",value:"gemalto"},{label:"GCP",value:"gcp"},{label:"Azure",value:"azure"}]})}),"vault"===m&&(0,T.jsx)($,{}),"azure"===m&&(0,T.jsx)(J,{}),"gcp"===m&&(0,T.jsx)(ee,{}),"aws"===m&&(0,T.jsx)(ae,{}),"gemalto"===m&&(0,T.jsx)(te,{})]}),(0,T.jsx)("div",{className:n.headerElement,children:(0,T.jsx)("h4",{className:n.h3Section,children:"Additional Configurations"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsx)(C.Z,{value:"enableCustomCertsForKES",id:"enableCustomCertsForKES",name:"enableCustomCertsForKES",checked:P||!w,onChange:function(e){var n=e.target.checked;B("enableCustomCertsForKES",n)},label:"Custom Certificates",disabled:!w})}),(P||!w)&&(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)(c.ZP,{container:!0,children:(0,T.jsx)(c.ZP,{item:!0,xs:12,style:{marginBottom:15},children:(0,T.jsxs)("fieldset",{className:n.fieldGroup,children:[(0,T.jsx)("legend",{className:n.descriptionText,children:"Encryption server certificates"}),(0,T.jsx)(q.Z,{onChange:function(e,n){t((0,N.uN)({key:"key",fileName:n,value:e})),H("serverKey")},accept:".key,.pem",id:"serverKey",name:"serverKey",label:"Key",error:M.serverKey||"",value:F.key,required:!w}),(0,T.jsx)(q.Z,{onChange:function(e,n){t((0,N.uN)({key:"cert",fileName:n,value:e})),H("serverCert")},accept:".cer,.crt,.cert,.pem",id:"serverCert",name:"serverCert",label:"Cert",error:M.serverCert||"",value:F.cert,required:!w})]})})}),(0,T.jsx)(c.ZP,{container:!0,style:{marginBottom:15},children:(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsxs)("fieldset",{className:n.fieldGroup,children:[(0,T.jsx)("legend",{className:n.descriptionText,children:"MinIO mTLS certificates (connection between MinIO and the Encryption server)"}),(0,T.jsx)(q.Z,{onChange:function(e,n){t((0,N.Ud)({key:"key",fileName:n,value:e})),H("clientKey")},accept:".key,.pem",id:"clientKey",name:"clientKey",label:"Key",error:M.clientKey||"",value:D.key,required:!w}),(0,T.jsx)(q.Z,{onChange:function(e,n){t((0,N.Ud)({key:"cert",fileName:n,value:e})),H("clientCert")},accept:".cer,.crt,.cert,.pem",id:"clientCert",name:"clientCert",label:"Cert",error:M.clientCert||"",value:D.cert,required:!w})]})})}),(0,T.jsx)(c.ZP,{container:!0,className:n.mutualTlsConfig,children:(0,T.jsxs)("fieldset",{className:n.fieldGroup,children:[(0,T.jsx)("legend",{className:n.descriptionText,children:"KMS mTLS certificates (connection between the Encryption server and the KMS)"}),(0,T.jsx)(q.Z,{onChange:function(e,n){t((0,N.Tr)({key:"key",fileName:n,value:e})),H("vault_key")},accept:".key,.pem",id:"vault_key",name:"vault_key",label:"Key",value:G.key}),(0,T.jsx)(q.Z,{onChange:function(e,n){t((0,N.Tr)({key:"cert",fileName:n,value:e})),H("vault_cert")},accept:".cer,.crt,.cert,.pem",id:"vault_cert",name:"vault_cert",label:"Cert",value:G.cert}),(0,T.jsx)(q.Z,{onChange:function(e,n){t((0,N.b9)({fileName:n,value:e})),H("vault_ca")},accept:".cer,.crt,.cert,.pem",id:"vault_ca",name:"vault_ca",label:"CA",value:K.cert})]})})]}),(0,T.jsxs)(c.ZP,{item:!0,xs:12,children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,classes:n.formFieldRow,children:(0,T.jsx)(b.Z,{type:"number",min:"1",id:"replicas",name:"replicas",onChange:function(e){B("replicas",e.target.value),H("replicas")},label:"Replicas",value:s,required:!0,error:M.replicas||""})}),(0,T.jsxs)("fieldset",{className:n.fieldGroup,style:{marginTop:15},children:[(0,T.jsx)("legend",{className:n.descriptionText,children:"SecurityContext for KES pods"}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.kesSecurityContext,children:(0,T.jsxs)("div",{className:"".concat(n.multiContainer," ").concat(n.responsiveContainer),children:[(0,T.jsx)("div",{className:"".concat(n.formFieldRow," ").concat(n.rightSpacer),children:(0,T.jsx)(b.Z,{type:"number",id:"kes_securityContext_runAsUser",name:"kes_securityContext_runAsUser",onChange:function(e){B("kesSecurityContext",(0,a.Z)((0,a.Z)({},L),{},{runAsUser:e.target.value})),H("kes_securityContext_runAsUser")},label:"Run As User",value:L.runAsUser,required:!0,error:M.kes_securityContext_runAsUser||"",min:"0"})}),(0,T.jsx)("div",{className:"".concat(n.formFieldRow," ").concat(n.rightSpacer),children:(0,T.jsx)(b.Z,{type:"number",id:"kes_securityContext_runAsGroup",name:"kes_securityContext_runAsGroup",onChange:function(e){B("kesSecurityContext",(0,a.Z)((0,a.Z)({},L),{},{runAsGroup:e.target.value})),H("kes_securityContext_runAsGroup")},label:"Run As Group",value:L.runAsGroup,required:!0,error:M.kes_securityContext_runAsGroup||"",min:"0"})})]})}),(0,T.jsx)("br",{}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.kesSecurityContext,children:(0,T.jsxs)("div",{className:"".concat(n.multiContainer," ").concat(n.responsiveContainer),children:[(0,T.jsx)("div",{className:"".concat(n.formFieldRow," ").concat(n.rightSpacer),children:(0,T.jsx)(b.Z,{type:"number",id:"kes_securityContext_fsGroup",name:"kes_securityContext_fsGroup",onChange:function(e){B("kesSecurityContext",(0,a.Z)((0,a.Z)({},L),{},{fsGroup:e.target.value})),H("kes_securityContext_fsGroup")},label:"FsGroup",value:L.fsGroup,required:!0,error:M.kes_securityContext_fsGroup||"",min:"0"})}),(0,T.jsx)("div",{className:"".concat(n.formFieldRow," ").concat(n.rightSpacer),children:(0,T.jsx)(A.Z,{label:"FsGroupChangePolicy",id:"securityContext_fsGroupChangePolicy",name:"securityContext_fsGroupChangePolicy",value:L.fsGroupChangePolicy,onChange:function(e){B("kesSecurityContext",(0,a.Z)((0,a.Z)({},L),{},{fsGroupChangePolicy:e.target.value}))},options:[{label:"Always",value:"Always"},{label:"OnRootMismatch",value:"OnRootMismatch"}]})})]})}),(0,T.jsx)("br",{}),(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsx)("div",{className:n.multiContainer,children:(0,T.jsx)(C.Z,{value:"kesSecurityContextRunAsNonRoot",id:"kes_securityContext_runAsNonRoot",name:"kes_securityContext_runAsNonRoot",checked:L.runAsNonRoot,onChange:function(e){var n=e.target.checked;B("kesSecurityContext",(0,a.Z)((0,a.Z)({},L),{},{runAsNonRoot:n}))},label:"Do not run as Root"})})})]})]})]})]})]})})),ce=t(4942),ue=t(81207),de=t(47919),me=t(45660),fe=t(87995),he=(0,p.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)({overlayAction:{marginLeft:10,display:"flex",alignItems:"center","& svg":{maxWidth:15,maxHeight:15},"& button":{background:"#EAEAEA"}},affinityConfigField:{display:"flex"},affinityFieldLabel:{display:"flex",flexFlow:"column",flex:1},radioField:{display:"flex",alignItems:"flex-start",marginTop:10,"& div:first-child":{display:"flex",flexFlow:"column",alignItems:"baseline",textAlign:"left !important"}},affinityLabelKey:{"& div:first-child":{marginBottom:0}},affinityLabelValue:{marginLeft:10,"& div:first-child":{marginBottom:0}},rowActions:{display:"flex",alignItems:"center"},affinityRow:{marginBottom:10,display:"flex"}},m.oO),m.AK))}))((function(e){var n=e.classes,t=(0,h.TL)(),s=(0,l.v9)((function(e){return e.createTenant.fields.affinity.podAffinity})),o=(0,l.v9)((function(e){return e.createTenant.fields.affinity.nodeSelectorLabels})),u=(0,l.v9)((function(e){return e.createTenant.fields.affinity.withPodAntiAffinity})),d=(0,l.v9)((function(e){return e.createTenant.nodeSelectorPairs})),m=(0,l.v9)((function(e){return e.createTenant.tolerations})),f=(0,i.useState)({}),p=(0,r.Z)(f,2),y=p[0],j=p[1],S=(0,i.useState)(!0),P=(0,r.Z)(S,2),w=P[0],k=P[1],R=(0,i.useState)({}),F=(0,r.Z)(R,2),D=F[0],G=F[1],K=(0,i.useState)([]),E=(0,r.Z)(K,2),L=E[0],z=E[1],O=(0,i.useCallback)((function(e,n){t((0,N.HM)({pageName:"affinity",field:e,value:n}))}),[t]);(0,i.useEffect)((function(){w&&ue.Z.invoke("GET","/api/v1/nodes/labels").then((function(e){k(!1),G(e);var n=[];for(var t in e)n.push({label:t,value:t});z(n)})).catch((function(e){k(!1),t((0,fe.zb)(e)),G({})}))}),[t,w]),(0,i.useEffect)((function(){if(d){var e=d.filter((function(e){return""!==e.key})).map((function(e){return"".concat(e.key,"=").concat(e.value)})).filter((function(e,n,t){return t.indexOf(e)===n})).join("&");O("nodeSelectorLabels",e)}}),[d,O]),(0,i.useEffect)((function(){var e=[];if("nodeSelector"===s){var n=!0,r=o.split("&");1===r.length&&""===r[0]&&(n=!1),r.forEach((function(e,t){var a=e.split("=");2!==a.length&&(n=!1),t+1!==r.length&&(""!==a[0]&&""!==a[1]||(n=!1))})),e=[].concat((0,x.Z)(e),[{fieldKey:"labels",required:!0,value:o,customValidation:!n,customValidationMessage:"You need to add at least one label key-pair"}])}var a=(0,Z.R)(e);t((0,N.NO)({pageName:"affinity",valid:0===Object.keys(a).length})),j(a)}),[t,s,o]);var M=function(e,n,r){var i=(0,a.Z)((0,a.Z)({},m[e]),{},(0,ce.Z)({},n,r));t((0,N.iU)({index:e,tolerationValue:i}))};return(0,T.jsxs)(g.Z,{className:n.paperWrapper,children:[(0,T.jsxs)("div",{className:n.headerElement,children:[(0,T.jsx)("h3",{className:n.h3Section,children:"Pod Placement"}),(0,T.jsx)("span",{className:n.descriptionText,children:"Configure how pods will be assigned to nodes"})]}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.affinityConfigField,children:(0,T.jsxs)(c.ZP,{item:!0,className:n.affinityFieldLabel,children:[(0,T.jsx)("div",{className:n.label,children:"Type"}),(0,T.jsx)("div",{className:"".concat(n.descriptionText," ").concat(n.affinityHelpText),children:"MinIO supports multiple configurations for Pod Affinity"}),(0,T.jsx)(c.ZP,{item:!0,className:n.radioField,children:(0,T.jsx)(I.Z,{currentSelection:s,id:"affinity-options",name:"affinity-options",label:" ",onChange:function(e){O("podAffinity",e.target.value)},selectorOptions:[{label:"None",value:"none"},{label:"Default (Pod Anti-Affinity)",value:"default"},{label:"Node Selector",value:"nodeSelector"}]})})]})}),"nodeSelector"===s&&(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)("br",{}),(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsx)(C.Z,{value:"with_pod_anti_affinity",id:"with_pod_anti_affinity",name:"with_pod_anti_affinity",checked:u,onChange:function(e){var n=e.target.checked;O("withPodAntiAffinity",n)},label:"With Pod Anti-Affinity"})}),(0,T.jsxs)(c.ZP,{item:!0,xs:12,children:[(0,T.jsx)("h3",{children:"Labels"}),(0,T.jsx)("span",{className:n.error,children:y.labels}),(0,T.jsx)(c.ZP,{container:!0,children:d&&d.map((function(e,r){return(0,T.jsxs)(c.ZP,{item:!0,xs:12,className:n.affinityRow,children:[(0,T.jsxs)(c.ZP,{item:!0,xs:5,className:n.affinityLabelKey,children:[L.length>0&&(0,T.jsx)(A.Z,{onChange:function(e){var n=e.target.value,a={key:n,value:D[n][0]},i=(0,x.Z)(d);i[r]=a,t((0,N.i$)(i))},id:"select-access-policy",name:"select-access-policy",label:"",value:e.key,options:L}),0===L.length&&(0,T.jsx)(b.Z,{id:"nodeselector-key-".concat(r.toString()),label:"",name:"nodeselector-".concat(r.toString()),value:e.key,onChange:function(e){var n=(0,x.Z)(d);n[r]={key:n[r].key,value:e.target.value},t((0,N.i$)(n))},index:r,placeholder:"Key"})]}),(0,T.jsxs)(c.ZP,{item:!0,xs:5,className:n.affinityLabelValue,children:[L.length>0&&(0,T.jsx)(A.Z,{onChange:function(e){var n=(0,x.Z)(d);n[r]={key:n[r].key,value:e.target.value},t((0,N.i$)(n))},id:"select-access-policy",name:"select-access-policy",label:"",value:e.value,options:D[e.key]?D[e.key].map((function(e){return{label:e,value:e}})):[]}),0===L.length&&(0,T.jsx)(b.Z,{id:"nodeselector-value-".concat(r.toString()),label:"",name:"nodeselector-".concat(r.toString()),value:e.value,onChange:function(e){var n=(0,x.Z)(d);n[r]={key:n[r].key,value:e.target.value},t((0,N.i$)(n))},index:r,placeholder:"value"})]}),(0,T.jsxs)(c.ZP,{item:!0,xs:2,className:n.rowActions,children:[(0,T.jsx)("div",{className:n.overlayAction,children:(0,T.jsx)(v.Z,{size:"small",onClick:function(){var e=(0,x.Z)(d);L.length>0?e.push({key:L[0].value,value:D[L[0].value][0]}):e.push({key:"",value:""}),t((0,N.i$)(e))},disabled:r!==d.length-1,children:(0,T.jsx)(de.Z,{})})}),(0,T.jsx)("div",{className:n.overlayAction,children:(0,T.jsx)(v.Z,{size:"small",onClick:function(){var e=d.filter((function(e,n){return n!==r}));t((0,N.i$)(e))},disabled:d.length<=1,children:(0,T.jsx)(_.Z,{})})})]})]},"affinity-keyVal-".concat(r.toString()))}))})]})]}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.affinityConfigField,children:(0,T.jsxs)(c.ZP,{item:!0,className:n.affinityFieldLabel,children:[(0,T.jsx)("h3",{children:"Tolerations"}),(0,T.jsx)("span",{className:n.error,children:y.tolerations}),(0,T.jsx)(c.ZP,{container:!0,children:m&&m.map((function(e,r){var a;return(0,T.jsxs)(c.ZP,{item:!0,xs:12,className:n.affinityRow,children:[(0,T.jsx)(me.Z,{effect:e.effect,onEffectChange:function(e){M(r,"effect",e)},tolerationKey:e.key,onTolerationKeyChange:function(e){M(r,"key",e)},operator:e.operator,onOperatorChange:function(e){M(r,"operator",e)},value:e.value,onValueChange:function(e){M(r,"value",e)},tolerationSeconds:(null===(a=e.tolerationSeconds)||void 0===a?void 0:a.seconds)||0,onSecondsChange:function(e){M(r,"tolerationSeconds",{seconds:e})},index:r}),(0,T.jsx)("div",{className:n.overlayAction,children:(0,T.jsx)(v.Z,{size:"small",onClick:function(){t((0,N.ly)())},disabled:r!==m.length-1,children:(0,T.jsx)(de.Z,{})})}),(0,T.jsx)("div",{className:n.overlayAction,children:(0,T.jsx)(v.Z,{size:"small",onClick:function(){return t((0,N.JX)(r))},disabled:m.length<=1,children:(0,T.jsx)(_.Z,{})})})]},"affinity-keyVal-".concat(r.toString()))}))})]})})]})})),xe=t(32291),pe=(0,p.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},m.DF),m.oO),m.AK))}))((function(e){var n=e.classes,t=(0,h.TL)(),a=(0,l.v9)((function(e){return e.createTenant.fields.configure.customImage})),s=(0,l.v9)((function(e){return e.createTenant.fields.configure.imageName})),o=(0,l.v9)((function(e){return e.createTenant.fields.configure.customDockerhub})),u=(0,l.v9)((function(e){return e.createTenant.fields.configure.imageRegistry})),d=(0,l.v9)((function(e){return e.createTenant.fields.configure.imageRegistryUsername})),m=(0,l.v9)((function(e){return e.createTenant.fields.configure.imageRegistryPassword})),f=(0,l.v9)((function(e){return e.createTenant.fields.configure.prometheusEnabled})),p=(0,l.v9)((function(e){return e.createTenant.fields.configure.tenantCustom})),v=(0,l.v9)((function(e){return e.createTenant.fields.configure.logSearchEnabled})),y=(0,l.v9)((function(e){return e.createTenant.fields.configure.logSearchVolumeSize})),S=(0,l.v9)((function(e){return e.createTenant.fields.configure.prometheusVolumeSize})),_=(0,l.v9)((function(e){return e.createTenant.fields.configure.logSearchSelectedStorageClass})),A=(0,l.v9)((function(e){return e.createTenant.fields.configure.logSearchImage})),P=(0,l.v9)((function(e){return e.createTenant.fields.configure.kesImage})),I=(0,l.v9)((function(e){return e.createTenant.fields.configure.logSearchPostgresImage})),w=(0,l.v9)((function(e){return e.createTenant.fields.configure.logSearchPostgresInitImage})),k=(0,l.v9)((function(e){return e.createTenant.fields.configure.prometheusSelectedStorageClass})),R=(0,l.v9)((function(e){return e.createTenant.fields.configure.prometheusImage})),F=(0,l.v9)((function(e){return e.createTenant.fields.configure.prometheusSidecarImage})),D=(0,l.v9)((function(e){return e.createTenant.fields.configure.prometheusInitImage})),G=(0,i.useState)({}),K=(0,r.Z)(G,2),E=K[0],L=K[1],z=(0,i.useCallback)((function(e,n){t((0,N.HM)({pageName:"configure",field:e,value:n}))}),[t]);(0,i.useEffect)((function(){var e=[];f&&(e=[].concat((0,x.Z)(e),[{fieldKey:"prometheus_storage_class",required:!0,value:k,customValidation:""===k,customValidationMessage:"Field cannot be empty"},{fieldKey:"prometheus_volume_size",required:!0,value:S,customValidation:""===S||parseInt(S)<=0,customValidationMessage:"Volume size must be present and be greatter than 0"}])),v&&(e=[].concat((0,x.Z)(e),[{fieldKey:"log_search_storage_class",required:!0,value:_,customValidation:""===_,customValidationMessage:"Field cannot be empty"},{fieldKey:"log_search_volume_size",required:!0,value:y,customValidation:""===y||parseInt(y)<=0,customValidationMessage:"Volume size must be present and be greatter than 0"}])),a&&(e=[].concat((0,x.Z)(e),[{fieldKey:"image",required:!1,value:s,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'minio/minio:VERSION'"},{fieldKey:"logSearchImage",required:!1,value:A,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'minio/operator:VERSION'"},{fieldKey:"kesImage",required:!1,value:P,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'minio/kes:VERSION'"},{fieldKey:"logSearchPostgresImage",required:!1,value:I,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'library/postgres:VERSION'"},{fieldKey:"logSearchPostgresInitImage",required:!1,value:w,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'library/busybox:VERSION'"},{fieldKey:"prometheusImage",required:!1,value:R,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'minio/prometheus:VERSION'"},{fieldKey:"prometheusSidecarImage",required:!1,value:F,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'project/container:VERSION'"},{fieldKey:"prometheusInitImage",required:!1,value:D,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'library/busybox:VERSION'"}]),o&&(e=[].concat((0,x.Z)(e),[{fieldKey:"registry",required:!0,value:u},{fieldKey:"registryUsername",required:!0,value:d},{fieldKey:"registryPassword",required:!0,value:m}])));var n=(0,Z.R)(e);t((0,N.NO)({pageName:"configure",valid:0===Object.keys(n).length})),L(n)}),[a,s,A,P,I,w,R,F,D,o,u,d,m,t,f,p,v,k,S,_,y]);var O=function(e){L((0,j.he)(E,e))};return(0,T.jsxs)(g.Z,{className:n.paperWrapper,children:[(0,T.jsxs)("div",{className:n.headerElement,children:[(0,T.jsx)("h3",{className:n.h3Section,children:"Container Images"}),(0,T.jsx)("span",{className:n.descriptionText,children:"Specify the container images used by the Tenant and it's features."})]}),(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"image",name:"image",onChange:function(e){z("imageName",e.target.value),O("image")},label:"MinIO",value:s,error:E.image||"",placeholder:"minio/minio:RELEASE.2022-02-26T02-54-46Z"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"kesImage",name:"kesImage",onChange:function(e){z("kesImage",e.target.value),O("kesImage")},label:"KES",value:P,error:E.kesImage||"",placeholder:"minio/kes:v0.17.6"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)("h4",{children:"Log Search"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"logSearchImage",name:"logSearchImage",onChange:function(e){z("logSearchImage",e.target.value),O("logSearchImage")},label:"API",value:A,error:E.logSearchImage||"",placeholder:"minio/operator:v4.4.22"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"logSearchPostgresImage",name:"logSearchPostgresImage",onChange:function(e){z("logSearchPostgresImage",e.target.value),O("logSearchPostgresImage")},label:"PostgreSQL",value:I,error:E.logSearchPostgresImage||"",placeholder:"library/postgres:13"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"logSearchPostgresInitImage",name:"logSearchPostgresInitImage",onChange:function(e){z("logSearchPostgresInitImage",e.target.value),O("logSearchPostgresInitImage")},label:"PostgreSQL Init",value:w,error:E.logSearchPostgresInitImage||"",placeholder:"library/busybox:1.33.1"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)("h4",{children:"Monitoring"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"prometheusImage",name:"prometheusImage",onChange:function(e){z("prometheusImage",e.target.value),O("prometheusImage")},label:"Prometheus",value:R,error:E.prometheusImage||"",placeholder:"quay.io/prometheus/prometheus:latest"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"prometheusSidecarImage",name:"prometheusSidecarImage",onChange:function(e){z("prometheusSidecarImage",e.target.value),O("prometheusSidecarImage")},label:"Prometheus Sidecar",value:F,error:E.prometheusSidecarImage||"",placeholder:"library/alpine:latest"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"prometheusInitImage",name:"prometheusInitImage",onChange:function(e){z("prometheusInitImage",e.target.value),O("prometheusInitImage")},label:"Prometheus Init",value:D,error:E.prometheusInitImage||"",placeholder:"library/busybox:1.33.1"})})]}),a&&(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)("h4",{children:"Custom Container Registry"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(C.Z,{value:"custom_docker_hub",id:"custom_docker_hub",name:"custom_docker_hub",checked:o,onChange:function(e){var n=e.target.checked;z("customDockerhub",n)},label:"Use a private container registry"})})]}),o&&(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"registry",name:"registry",onChange:function(e){z("imageRegistry",e.target.value)},label:"Endpoint",value:u,error:E.registry||"",placeholder:"https://index.docker.io/v1/",required:!0})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"registryUsername",name:"registryUsername",onChange:function(e){z("imageRegistryUsername",e.target.value)},label:"Username",value:d,error:E.registryUsername||"",required:!0})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(b.Z,{id:"registryPassword",name:"registryPassword",onChange:function(e){z("imageRegistryPassword",e.target.value)},label:"Password",value:m,error:E.registryPassword||"",required:!0})})]})]})})),ge=t(74794),ve=t(84669),ye=t(79836),je=t(53382),Ze=t(53994),Ce=t(35855),be=t(45248),Se=(0,p.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)({root:{margin:4},table:{"& .MuiTableCell-root":{fontSize:13}}},m.oO),m.AK))}))((function(e){var n=e.classes,t=(0,l.v9)((function(e){return e.createTenant.fields.tenantSize.nodes})),r=(0,l.v9)((function(e){return e.createTenant.fields.tenantSize.resourcesMemoryRequest})),a=(0,l.v9)((function(e){return e.createTenant.fields.tenantSize.ecParity})),s=(0,l.v9)((function(e){return e.createTenant.fields.tenantSize.distribution})),o=(0,l.v9)((function(e){return e.createTenant.fields.tenantSize.ecParityCalc})),c=(0,l.v9)((function(e){return e.createTenant.fields.tenantSize.resourcesCPURequest})),u=(0,l.v9)((function(e){return e.createTenant.fields.tenantSize.integrationSelection})),d=o.storageFactors.find((function(e){return e.erasureCode===a}));return(0,T.jsxs)("div",{className:n.root,children:[(0,T.jsx)("h4",{children:"Resource Allocation"}),(0,T.jsx)(y.Z,{}),(0,T.jsx)(ye.Z,{className:n.table,"aria-label":"simple table",size:"small",children:(0,T.jsxs)(je.Z,{children:[(0,T.jsxs)(Ce.Z,{children:[(0,T.jsx)(Ze.Z,{scope:"row",children:"Number of Servers"}),(0,T.jsx)(Ze.Z,{align:"right",children:parseInt(t)>0?t:"-"})]}),""===u.typeSelection&&""===u.storageClass&&(0,T.jsxs)(i.Fragment,{children:[(0,T.jsxs)(Ce.Z,{children:[(0,T.jsx)(Ze.Z,{scope:"row",children:"Drives per Server"}),(0,T.jsx)(Ze.Z,{align:"right",children:s?s.disks:"-"})]}),(0,T.jsxs)(Ce.Z,{children:[(0,T.jsx)(Ze.Z,{scope:"row",children:"Drive Capacity"}),(0,T.jsx)(Ze.Z,{align:"right",children:s?(0,be.ae)(s.pvSize):"-"})]})]}),(0,T.jsxs)(Ce.Z,{children:[(0,T.jsx)(Ze.Z,{scope:"row",children:"Total Volumes"}),(0,T.jsx)(Ze.Z,{align:"right",children:s?s.persistentVolumes:"-"})]}),""===u.typeSelection&&""===u.storageClass&&(0,T.jsxs)(i.Fragment,{children:[(0,T.jsxs)(Ce.Z,{children:[(0,T.jsx)(Ze.Z,{scope:"row",children:"Memory per Node"}),(0,T.jsxs)(Ze.Z,{align:"right",children:[r," Gi"]})]}),(0,T.jsxs)(Ce.Z,{children:[(0,T.jsx)(Ze.Z,{style:{borderBottom:0},scope:"row",children:"CPU Selection"}),(0,T.jsx)(Ze.Z,{style:{borderBottom:0},align:"right",children:c})]})]})]})}),0===o.error&&d&&(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)("h4",{children:"Erasure Code Configuration"}),(0,T.jsx)(y.Z,{}),(0,T.jsx)(ye.Z,{className:n.table,"aria-label":"simple table",size:"small",children:(0,T.jsxs)(je.Z,{children:[(0,T.jsxs)(Ce.Z,{children:[(0,T.jsx)(Ze.Z,{scope:"row",children:"EC Parity"}),(0,T.jsx)(Ze.Z,{align:"right",children:""!==a?a:"-"})]}),(0,T.jsxs)(Ce.Z,{children:[(0,T.jsx)(Ze.Z,{scope:"row",children:"Raw Capacity"}),(0,T.jsx)(Ze.Z,{align:"right",children:(0,be.ae)(o.rawCapacity)})]}),(0,T.jsxs)(Ce.Z,{children:[(0,T.jsx)(Ze.Z,{scope:"row",children:"Usable Capacity"}),(0,T.jsx)(Ze.Z,{align:"right",children:(0,be.ae)(d.maxCapacity)})]}),(0,T.jsxs)(Ce.Z,{children:[(0,T.jsx)(Ze.Z,{style:{borderBottom:0},scope:"row",children:"Server Failures Tolerated"}),(0,T.jsx)(Ze.Z,{style:{borderBottom:0},align:"right",children:s?Math.floor(d.maxFailureTolerations/s.disks):"-"})]})]})})]}),""!==u.typeSelection&&""!==u.storageClass&&(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)("h4",{children:"Single Instance Configuration"}),(0,T.jsx)(y.Z,{}),(0,T.jsx)(ye.Z,{className:n.table,"aria-label":"simple table",size:"small",children:(0,T.jsxs)(je.Z,{children:[(0,T.jsxs)(Ce.Z,{children:[(0,T.jsx)(Ze.Z,{scope:"row",children:"CPU"}),(0,T.jsx)(Ze.Z,{align:"right",children:0!==u.CPU?u.CPU:"-"})]}),(0,T.jsxs)(Ce.Z,{children:[(0,T.jsx)(Ze.Z,{scope:"row",children:"Memory"}),(0,T.jsx)(Ze.Z,{align:"right",children:0!==u.memory?"".concat(u.memory," Gi"):"-"})]}),(0,T.jsxs)(Ce.Z,{children:[(0,T.jsx)(Ze.Z,{scope:"row",children:"Drives per Server"}),(0,T.jsx)(Ze.Z,{align:"right",children:0!==u.drivesPerServer?"".concat(u.drivesPerServer):"-"})]}),(0,T.jsxs)(Ce.Z,{children:[(0,T.jsx)(Ze.Z,{style:{borderBottom:0},scope:"row",children:"Drive Size"}),(0,T.jsxs)(Ze.Z,{style:{borderBottom:0},align:"right",children:[u.driveSize.driveSize,u.driveSize.sizeUnit]})]})]})})]})]})})),_e=t(19720),Ne=t(45884),Ae=t(46078),Te=t(51691),Pe=t(23508),Ie=t(56096),we=t(98222),ke=(0,R.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)({wrapText:{maxWidth:"200px",whiteSpace:"normal",wordWrap:"break-word"}},m.oO),m.Qw))})),Re=function(){var e=(0,h.TL)(),n=ke(),t=(0,l.v9)((function(e){return e.createTenant.fields.nameTenant.namespace})),r=(0,l.v9)((function(e){return e.createTenant.addNSLoading})),a=(0,l.v9)((function(e){return e.createTenant.addNSOpen}));return(0,T.jsx)(Pe.Z,{title:"New namespace",confirmText:"Create",confirmButtonProps:{variant:"callAction"},isOpen:a,titleIcon:(0,T.jsx)(Ie.EjK,{}),isLoading:r,onConfirm:function(){e((0,we.QD)())},onClose:function(){e((0,N.pb)())},confirmationContent:(0,T.jsxs)(i.Fragment,{children:[r&&(0,T.jsx)(u.Z,{}),(0,T.jsxs)(Te.Z,{children:["Are you sure you want to add a namespace called",(0,T.jsx)("br",{}),(0,T.jsx)("b",{className:n.wrapText,children:t}),"?"]})]})})},Fe=t(48573),De=t.n(Fe),Ge=function(e){e.formToRender;var n=(0,h.TL)(),t=(0,l.v9)((function(e){return e.createTenant.fields.nameTenant.namespace})),r=(0,l.v9)((function(e){return e.createTenant.showNSCreateButton})),a=(0,l.v9)((function(e){return e.createTenant.validationErrors.namespace})),s=(0,l.v9)((function(e){return e.createTenant.addNSOpen})),o=(0,i.useMemo)((function(){return De()((function(){n((0,we.IO)())}),500)}),[n]);(0,i.useEffect)((function(){if(""!==t)return o(),o.cancel}),[o,t]);return(0,T.jsxs)(i.Fragment,{children:[s&&(0,T.jsx)(Re,{}),(0,T.jsx)(b.Z,{id:"namespace",name:"namespace",onChange:function(e){n((0,N.Zx)(e.target.value))},label:"Namespace",value:t,error:a||"",overlayId:"add-namespace",overlayIcon:r?(0,T.jsx)(de.Z,{}):null,overlayAction:function(){n((0,N.Oj)())},required:!0})]})},Ke=function(){var e=(0,h.TL)(),n=(0,l.v9)((function(e){return e.createTenant.fields.nameTenant.tenantName})),t=(0,l.v9)((function(e){return e.createTenant.validationErrors["tenant-name"]}));return(0,T.jsx)(b.Z,{id:"tenant-name",name:"tenant-name",onChange:function(n){e((0,N.V7)(n.target.value))},label:"Name",value:n,required:!0,error:t||""})},Ee=(0,p.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({sizePreview:{marginLeft:10,background:"#FFFFFF",border:"1px solid #EAEAEA",padding:2,marginTop:20}},m.DF),m.oO),m.AK))}))((function(e){var n=e.classes,t=e.formToRender,r=(0,h.TL)(),a=(0,l.v9)((function(e){return e.createTenant.fields.nameTenant.selectedStorageClass})),s=(0,l.v9)((function(e){return e.createTenant.fields.nameTenant.selectedStorageType})),u=(0,l.v9)((function(e){return e.createTenant.storageClasses})),d=(0,l.v9)(Ae.$4),m=(0,i.useCallback)((function(e,n){r((0,N.HM)({pageName:"nameTenant",field:e,value:n}))}),[r]);return(0,i.useEffect)((function(){var e=t===Ne.cy.default&&u.length>0||t!==Ne.cy.default&&""!==s;r((0,N.NO)({pageName:"nameTenant",valid:e}))}),[u,r,s,t]),(0,T.jsx)(i.Fragment,{children:(0,T.jsxs)(c.ZP,{container:!0,children:[(0,T.jsx)(c.ZP,{item:!0,sx:{width:"calc(100% - 300px)"},children:(0,T.jsx)(g.Z,{className:n.paperWrapper,sx:{minHeight:550},children:(0,T.jsxs)(c.ZP,{container:!0,children:[(0,T.jsxs)(c.ZP,{item:!0,xs:12,children:[(0,T.jsxs)("div",{className:n.headerElement,children:[(0,T.jsx)("h3",{className:n.h3Section,children:"Name"}),(0,T.jsx)("span",{className:n.descriptionText,children:"How would you like to name this new tenant?"})]}),(0,T.jsx)("div",{className:n.formFieldRow,children:(0,T.jsx)(Ke,{})})]}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(Ge,{formToRender:t})}),t===Ne.cy.default?(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(A.Z,{id:"storage_class",name:"storage_class",onChange:function(e){m("selectedStorageClass",e.target.value)},label:"Storage Class",value:a,options:u,disabled:u.length<1})}):(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,T.jsx)(A.Z,{id:"storage_type",name:"storage_type",onChange:function(e){r((0,N.Qy)({storageType:e.target.value,features:d}))},label:o()(Ne.Hd,"".concat(t,".variantSelectorLabel"),"Storage Type"),value:s,options:o()(Ne.Hd,"".concat(t,".variantSelectorValues"),[])})}),t===Ne.cy.default?(0,T.jsx)(_e.Z,{}):o()(Ne.Hd,"".concat(t,".sizingComponent"),null)]})})}),(0,T.jsx)(c.ZP,{item:!0,children:(0,T.jsx)("div",{className:n.sizePreview,children:(0,T.jsx)(Se,{})})})]})})})),Le=function(){var e=(0,l.v9)(Ae.$4),n=(0,i.useState)(null),t=(0,r.Z)(n,2),a=t[0],s=t[1];return(0,i.useEffect)((function(){var n=Ne.cy.default;e&&0!==e.length&&Object.keys(Ne.I8).forEach((function(t){e.includes(t)&&(n=o()(Ne.I8,t,Ne.cy.default))}));s(n)}),[e]),null===a?null:(0,T.jsx)(Ee,{formToRender:a})},ze=t(56578),Oe=(0,p.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)({configSectionItem:{marginRight:15,"& .multiContainer":{border:"1px solid red"}},fieldGroup:(0,a.Z)((0,a.Z)({},m.QV.fieldGroup),{},{paddingTop:15,marginBottom:25}),responsiveSectionItem:{"@media (max-width: 900px)":{flexFlow:"column",alignItems:"flex-start","& div > div":{marginBottom:5,marginRight:0}}},logSearchEnabledFields:{marginLeft:20,padding:10,width:"90%",margin:"auto"},fieldSpaceTop:{marginTop:15}},m.oO),m.AK))}))((function(e){var n=e.classes,t=(0,h.TL)(),s=(0,l.v9)((function(e){return e.createTenant.storageClasses})),o=(0,l.v9)((function(e){return e.createTenant.fields.configure.logSearchEnabled})),u=(0,l.v9)((function(e){return e.createTenant.fields.configure.logSearchVolumeSize})),d=(0,l.v9)((function(e){return e.createTenant.fields.configure.logSearchSelectedStorageClass})),m=(0,l.v9)((function(e){return e.createTenant.fields.configure.logSearchImage})),f=(0,l.v9)((function(e){return e.createTenant.fields.configure.logSearchPostgresImage})),p=(0,l.v9)((function(e){return e.createTenant.fields.configure.logSearchPostgresInitImage})),v=(0,l.v9)((function(e){return e.createTenant.fields.nameTenant.selectedStorageClass})),y=(0,l.v9)((function(e){return e.createTenant.fields.configure.tenantSecurityContext})),S=(0,l.v9)((function(e){return e.createTenant.fields.configure.logSearchSecurityContext})),_=(0,l.v9)((function(e){return e.createTenant.fields.configure.logSearchPostgresSecurityContext})),P=(0,i.useState)({}),I=(0,r.Z)(P,2),w=I[0],k=I[1],R=[{label:"Default",value:"default"}].concat((0,x.Z)(s)),F=(0,i.useCallback)((function(e,n){t((0,N.HM)({pageName:"configure",field:e,value:n}))}),[t]);(0,i.useEffect)((function(){var e=[];o&&(e=[].concat((0,x.Z)(e),[{fieldKey:"log_search_storage_class",required:!0,value:d,customValidation:""===d,customValidationMessage:"Field cannot be empty"},{fieldKey:"log_search_volume_size",required:!0,value:u,customValidation:""===u||parseInt(u)<=0,customValidationMessage:"Volume size must be present and be greatter than 0"},{fieldKey:"logSearch_securityContext_runAsUser",required:!0,value:S.runAsUser,customValidation:""===S.runAsUser||parseInt(S.runAsUser)<0,customValidationMessage:"runAsUser must be present and be 0 or more"},{fieldKey:"logSearch_securityContext_runAsGroup",required:!0,value:S.runAsGroup,customValidation:""===S.runAsGroup||parseInt(S.runAsGroup)<0,customValidationMessage:"runAsGroup must be present and be 0 or more"},{fieldKey:"logSearch_securityContext_fsGroup",required:!0,value:S.fsGroup,customValidation:""===S.fsGroup||parseInt(S.fsGroup)<0,customValidationMessage:"fsGroup must be present and be 0 or more"},{fieldKey:"postgres_securityContext_runAsUser",required:!0,value:_.runAsUser,customValidation:""===_.runAsUser||parseInt(_.runAsUser)<0,customValidationMessage:"runAsUser must be present and be 0 or more"},{fieldKey:"postgres_securityContext_runAsGroup",required:!0,value:S.runAsGroup,customValidation:""===_.runAsGroup||parseInt(_.runAsGroup)<0,customValidationMessage:"runAsGroup must be present and be 0 or more"},{fieldKey:"postgres_securityContext_fsGroup",required:!0,value:_.fsGroup,customValidation:""===_.fsGroup||parseInt(_.fsGroup)<0,customValidationMessage:"fsGroup must be present and be 0 or more"}]));var n=(0,Z.R)(e);t((0,N.NO)({pageName:"configure",valid:0===Object.keys(n).length})),k(n)}),[m,f,p,t,o,d,u,y,S,_]),(0,i.useEffect)((function(){s.length>0&&(0===s.filter((function(e){return e.value===d})).length&&F("logSearchSelectedStorageClass","default"))}),[d,v,s,F]);var D=function(e){k((0,j.he)(w,e))};return(0,T.jsxs)(g.Z,{className:n.paperWrapper,children:[(0,T.jsxs)(c.ZP,{container:!0,alignItems:"center",children:[(0,T.jsx)(c.ZP,{item:!0,xs:!0,children:(0,T.jsx)(W,{children:"Audit Log"})}),(0,T.jsx)(c.ZP,{item:!0,xs:4,children:(0,T.jsx)(C.Z,{value:"enableLogging",id:"enableLogging",name:"enableLogging",checked:o,onChange:function(e){var n=e.target.checked;F("logSearchEnabled",n)},indicatorLabels:["Enabled","Disabled"]})})]}),(0,T.jsxs)(c.ZP,{container:!0,spacing:1,children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsx)("span",{className:n.descriptionText,children:"Deploys a small PostgreSQL database and stores access logs of all calls into the tenant."})}),(0,T.jsx)(c.ZP,{xs:12,children:(0,T.jsx)("hr",{className:n.hrClass})}),o&&(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsx)(A.Z,{id:"log_search_storage_class",name:"log_search_storage_class",onChange:function(e){F("logSearchSelectedStorageClass",e.target.value)},label:"Log Search Storage Class",value:d,options:R,disabled:R.length<1})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsx)("div",{className:n.multiContainer,children:(0,T.jsx)(b.Z,{type:"number",id:"log_search_volume_size",name:"log_search_volume_size",onChange:function(e){F("logSearchVolumeSize",e.target.value),D("log_search_volume_size")},label:"Storage Size",overlayObject:(0,T.jsx)(ze.Z,{id:"size-unit",onUnitChange:function(){},unitSelected:"Gi",unitsList:[{label:"Gi",value:"Gi"}],disabled:!0}),value:u,required:!0,error:w.log_search_volume_size||"",min:"0"})})}),(0,T.jsxs)("fieldset",{className:"".concat(n.fieldGroup," ").concat(n.fieldSpaceTop),children:[(0,T.jsx)("legend",{className:n.descriptionText,children:"SecurityContext for LogSearch"}),(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsxs)("div",{className:"".concat(n.multiContainer," ").concat(n.responsiveSectionItem),children:[(0,T.jsx)("div",{className:n.configSectionItem,children:(0,T.jsx)(b.Z,{type:"number",id:"logSearch_securityContext_runAsUser",name:"logSearch_securityContext_runAsUser",onChange:function(e){F("logSearchSecurityContext",(0,a.Z)((0,a.Z)({},S),{},{runAsUser:e.target.value})),D("logSearch_securityContext_runAsUser")},label:"Run As User",value:S.runAsUser,required:!0,error:w.logSearch_securityContext_runAsUser||"",min:"0"})}),(0,T.jsx)("div",{className:n.configSectionItem,children:(0,T.jsx)(b.Z,{type:"number",id:"logSearch_securityContext_runAsGroup",name:"logSearch_securityContext_runAsGroup",onChange:function(e){F("logSearchSecurityContext",(0,a.Z)((0,a.Z)({},S),{},{runAsGroup:e.target.value})),D("logSearch_securityContext_runAsGroup")},label:"Run As Group",value:S.runAsGroup,required:!0,error:w.logSearch_securityContext_runAsGroup||"",min:"0"})})]})}),(0,T.jsx)("br",{}),(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsxs)("div",{className:"".concat(n.multiContainer," ").concat(n.responsiveSectionItem),children:[(0,T.jsx)("div",{className:n.configSectionItem,children:(0,T.jsx)(b.Z,{type:"number",id:"logSearch_securityContext_fsGroup",name:"logSearch_securityContext_fsGroup",onChange:function(e){F("logSearchSecurityContext",(0,a.Z)((0,a.Z)({},S),{},{fsGroup:e.target.value})),D("logSearch_securityContext_fsGroup")},label:"FsGroup",value:S.fsGroup,required:!0,error:w.logSearch_securityContext_fsGroup||"",min:"0"})}),(0,T.jsx)("div",{className:n.configSectionItem,children:(0,T.jsx)(A.Z,{label:"FsGroupChangePolicy",id:"securityContext_fsGroupChangePolicy",name:"securityContext_fsGroupChangePolicy",value:S.fsGroupChangePolicy,onChange:function(e){F("logSearchSecurityContext",(0,a.Z)((0,a.Z)({},S),{},{fsGroupChangePolicy:e.target.value}))},options:[{label:"Always",value:"Always"},{label:"OnRootMismatch",value:"OnRootMismatch"}]})})]})}),(0,T.jsx)("br",{}),(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsx)("div",{className:n.multiContainer,children:(0,T.jsx)(C.Z,{value:"logSearchSecurityContextRunAsNonRoot",id:"logSearch_securityContext_runAsNonRoot",name:"logSearch_securityContext_runAsNonRoot",checked:S.runAsNonRoot,onChange:function(e){var n=e.target.checked;F("logSearchSecurityContext",(0,a.Z)((0,a.Z)({},S),{},{runAsNonRoot:n}))},label:"Do not run as Root"})})})]}),(0,T.jsxs)("fieldset",{className:n.fieldGroup,children:[(0,T.jsx)("legend",{className:n.descriptionText,children:"SecurityContext for PostgreSQL"}),(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsxs)("div",{className:"".concat(n.multiContainer," ").concat(n.responsiveSectionItem),children:[(0,T.jsx)("div",{className:n.configSectionItem,children:(0,T.jsx)(b.Z,{type:"number",id:"postgres_securityContext_runAsUser",name:"postgres_securityContext_runAsUser",onChange:function(e){F("logSearchPostgresSecurityContext",(0,a.Z)((0,a.Z)({},_),{},{runAsUser:e.target.value})),D("postgres_securityContext_runAsUser")},label:"Run As User",value:_.runAsUser,required:!0,error:w.postgres_securityContext_runAsUser||"",min:"0"})}),(0,T.jsx)("div",{className:n.configSectionItem,children:(0,T.jsx)(b.Z,{type:"number",id:"postgres_securityContext_runAsGroup",name:"postgres_securityContext_runAsGroup",onChange:function(e){F("logSearchPostgresSecurityContext",(0,a.Z)((0,a.Z)({},_),{},{runAsGroup:e.target.value})),D("postgres_securityContext_runAsGroup")},label:"Run As Group",value:_.runAsGroup,required:!0,error:w.postgres_securityContext_runAsGroup||"",min:"0"})})]})}),(0,T.jsx)("br",{}),(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsxs)("div",{className:"".concat(n.multiContainer," ").concat(n.responsiveSectionItem),children:[(0,T.jsx)("div",{className:n.configSectionItem,children:(0,T.jsx)(b.Z,{type:"number",id:"postgres_securityContext_fsGroup",name:"postgres_securityContext_fsGroup",onChange:function(e){F("logSearchPostgresSecurityContext",(0,a.Z)((0,a.Z)({},_),{},{fsGroup:e.target.value})),D("postgres_securityContext_fsGroup")},label:"FsGroup",value:_.fsGroup,required:!0,error:w.postgres_securityContext_fsGroup||"",min:"0"})}),(0,T.jsx)("div",{className:n.configSectionItem,children:(0,T.jsx)(A.Z,{label:"FsGroupChangePolicy",id:"securityContext_fsGroupChangePolicy",name:"securityContext_fsGroupChangePolicy",value:_.fsGroupChangePolicy,onChange:function(e){F("logSearchPostgresSecurityContext",(0,a.Z)((0,a.Z)({},_),{},{fsGroupChangePolicy:e.target.value}))},options:[{label:"Always",value:"Always"},{label:"OnRootMismatch",value:"OnRootMismatch"}]})})]})}),(0,T.jsx)("br",{}),(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsx)("div",{className:n.multiContainer,children:(0,T.jsx)(C.Z,{value:"postgresSecurityContextRunAsNonRoot",id:"postgres_securityContext_runAsNonRoot",name:"postgres_securityContext_runAsNonRoot",checked:_.runAsNonRoot,onChange:function(e){var n=e.target.checked;F("logSearchPostgresSecurityContext",(0,a.Z)((0,a.Z)({},_),{},{runAsNonRoot:n}))},label:"Do not run as Root"})})})]})]})]})]})})),Me=(0,p.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)({configSectionItem:{marginRight:15,"& .multiContainer":{border:"1px solid red"}},fieldGroup:(0,a.Z)((0,a.Z)({},m.QV.fieldGroup),{},{paddingTop:15,marginBottom:25}),responsiveSectionItem:{"@media (max-width: 900px)":{flexFlow:"column",alignItems:"flex-start","& div > div":{marginBottom:5,marginRight:0}}},fieldSpaceTop:{marginTop:15},prometheusEnabledFields:{marginLeft:20,padding:10,width:"90%",margin:"auto"}},m.oO),m.AK))}))((function(e){var n=e.classes,t=(0,h.TL)(),s=(0,l.v9)((function(e){return e.createTenant.storageClasses})),o=(0,l.v9)((function(e){return e.createTenant.fields.configure.prometheusEnabled})),u=(0,l.v9)((function(e){return e.createTenant.fields.configure.prometheusVolumeSize})),d=(0,l.v9)((function(e){return e.createTenant.fields.configure.prometheusSelectedStorageClass})),m=(0,l.v9)((function(e){return e.createTenant.fields.configure.prometheusImage})),f=(0,l.v9)((function(e){return e.createTenant.fields.configure.prometheusSidecarImage})),p=(0,l.v9)((function(e){return e.createTenant.fields.configure.prometheusInitImage})),v=(0,l.v9)((function(e){return e.createTenant.fields.nameTenant.selectedStorageClass})),y=(0,l.v9)((function(e){return e.createTenant.fields.configure.tenantSecurityContext})),S=(0,l.v9)((function(e){return e.createTenant.fields.configure.prometheusSecurityContext})),_=(0,i.useState)({}),P=(0,r.Z)(_,2),I=P[0],w=P[1],k=[{label:"Default",value:"default"}].concat((0,x.Z)(s)),R=(0,i.useCallback)((function(e,n){t((0,N.HM)({pageName:"configure",field:e,value:n}))}),[t]);(0,i.useEffect)((function(){var e=[];o&&(e=[].concat((0,x.Z)(e),[{fieldKey:"prometheus_storage_class",required:!0,value:d,customValidation:""===d,customValidationMessage:"Field cannot be empty"},{fieldKey:"prometheus_volume_size",required:!0,value:u,customValidation:""===u||parseInt(u)<=0,customValidationMessage:"Volume size must be present and be greater than 0"},{fieldKey:"prometheus_securityContext_runAsUser",required:!0,value:S.runAsUser,customValidation:""===S.runAsUser||parseInt(S.runAsUser)<0,customValidationMessage:"runAsUser must be present and be 0 or more"},{fieldKey:"prometheus_securityContext_runAsGroup",required:!0,value:S.runAsGroup,customValidation:""===S.runAsGroup||parseInt(S.runAsGroup)<0,customValidationMessage:"runAsGroup must be present and be 0 or more"},{fieldKey:"prometheus_securityContext_fsGroup",required:!0,value:S.fsGroup,customValidation:""===S.fsGroup||parseInt(S.fsGroup)<0,customValidationMessage:"fsGroup must be present and be 0 or more"}]));var n=(0,Z.R)(e);t((0,N.NO)({pageName:"configure",valid:0===Object.keys(n).length})),w(n)}),[m,f,p,t,o,d,u,y,S]),(0,i.useEffect)((function(){s.length>0&&(0===s.filter((function(e){return e.value===d})).length&&R("prometheusSelectedStorageClass","default"))}),[d,v,s,R]);var F=function(e){w((0,j.he)(I,e))};return(0,T.jsxs)(g.Z,{className:n.paperWrapper,children:[(0,T.jsxs)(c.ZP,{container:!0,alignItems:"center",children:[(0,T.jsx)(c.ZP,{item:!0,xs:!0,children:(0,T.jsx)(W,{children:"Monitoring"})}),(0,T.jsx)(c.ZP,{item:!0,xs:4,children:(0,T.jsx)(C.Z,{indicatorLabels:["Enabled","Disabled"],checked:o,value:"monitoring_status",id:"monitoring-status",name:"monitoring-status",onChange:function(e){var n=e.target.checked;R("prometheusEnabled",n)},description:""})})]}),(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsx)("span",{className:n.descriptionText,children:"A small Prometheus will be deployed to keep metrics about the tenant."})}),(0,T.jsx)(c.ZP,{xs:12,children:(0,T.jsx)("hr",{className:n.hrClass})}),(0,T.jsx)(c.ZP,{container:!0,spacing:1,children:o&&(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsx)(A.Z,{id:"prometheus_storage_class",name:"prometheus_storage_class",onChange:function(e){R("prometheusSelectedStorageClass",e.target.value)},label:"Storage Class",value:d,options:k,disabled:k.length<1})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsx)("div",{className:n.multiContainer,children:(0,T.jsx)(b.Z,{type:"number",id:"prometheus_volume_size",name:"prometheus_volume_size",onChange:function(e){R("prometheusVolumeSize",e.target.value),F("prometheus_volume_size")},label:"Storage Size",overlayObject:(0,T.jsx)(ze.Z,{id:"size-unit",onUnitChange:function(){},unitSelected:"Gi",unitsList:[{label:"Gi",value:"Gi"}],disabled:!0}),value:u,required:!0,error:I.prometheus_volume_size||"",min:"0"})})}),(0,T.jsxs)("fieldset",{className:"".concat(n.fieldGroup," ").concat(n.fieldSpaceTop),children:[(0,T.jsx)("legend",{className:n.descriptionText,children:"SecurityContext"}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.configSectionItem,children:(0,T.jsxs)("div",{className:"".concat(n.multiContainer," ").concat(n.responsiveSectionItem),children:[(0,T.jsx)("div",{className:n.configSectionItem,children:(0,T.jsx)(b.Z,{type:"number",id:"prometheus_securityContext_runAsUser",name:"prometheus_securityContext_runAsUser",onChange:function(e){R("prometheusSecurityContext",(0,a.Z)((0,a.Z)({},S),{},{runAsUser:e.target.value})),F("prometheus_securityContext_runAsUser")},label:"Run As User",value:S.runAsUser,required:!0,error:I.prometheus_securityContext_runAsUser||"",min:"0"})}),(0,T.jsx)("div",{className:n.configSectionItem,children:(0,T.jsx)(b.Z,{type:"number",id:"prometheus_securityContext_runAsGroup",name:"prometheus_securityContext_runAsGroup",onChange:function(e){R("prometheusSecurityContext",(0,a.Z)((0,a.Z)({},S),{},{runAsGroup:e.target.value})),F("prometheus_securityContext_runAsGroup")},label:"Run As Group",value:S.runAsGroup,required:!0,error:I.prometheus_securityContext_runAsGroup||"",min:"0"})})]})}),(0,T.jsx)("br",{}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.configSectionItem,children:(0,T.jsxs)("div",{className:"".concat(n.multiContainer," ").concat(n.responsiveSectionItem),children:[(0,T.jsx)("div",{className:n.configSectionItem,children:(0,T.jsx)(b.Z,{type:"number",id:"prometheus_securityContext_fsGroup",name:"prometheus_securityContext_fsGroup",onChange:function(e){R("prometheusSecurityContext",(0,a.Z)((0,a.Z)({},S),{},{fsGroup:e.target.value})),F("prometheus_securityContext_fsGroup")},label:"FsGroup",value:S.fsGroup,required:!0,error:I.prometheus_securityContext_fsGroup||"",min:"0"})}),(0,T.jsx)("div",{className:n.configSectionItem,children:(0,T.jsx)(A.Z,{label:"FsGroupChangePolicy",id:"securityContext_fsGroupChangePolicy",name:"securityContext_fsGroupChangePolicy",value:S.fsGroupChangePolicy,onChange:function(e){R("prometheusSecurityContext",(0,a.Z)((0,a.Z)({},S),{},{fsGroupChangePolicy:e.target.value}))},options:[{label:"Always",value:"Always"},{label:"OnRootMismatch",value:"OnRootMismatch"}]})})]})}),(0,T.jsx)("br",{}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:n.configSectionItem,children:(0,T.jsx)("div",{className:"".concat(n.multiContainer," ").concat(n.fieldSpaceTop),children:(0,T.jsx)(C.Z,{value:"prometheusSecurityContextRunAsNonRoot",id:"prometheus_securityContext_runAsNonRoot",name:"prometheus_securityContext_runAsNonRoot",checked:S.runAsNonRoot,onChange:function(e){var n=e.target.checked;R("prometheusSecurityContext",(0,a.Z)((0,a.Z)({},S),{},{runAsNonRoot:n}))},label:"Do not run as Root"})})})]})]})})]})})),Ve=t(23804),Ue=t(75952),qe=["nameTenant","tenantSize","configure","affinity","identityProvider","security","encryption"],Be=t(84218),He=function(){var e=(0,h.TL)(),n=(0,l.v9)((function(e){return e.createTenant.addingTenant})),t=(0,l.v9)((function(e){return e.createTenant.validPages})),r=(0,l.v9)((function(e){return e.createTenant.fields.nameTenant.selectedStorageClass})),a=!n&&""!==r&&qe.every((function(e){return t.includes(e)}));return(0,T.jsx)(Ue.zx,{id:"wizard-button-Create",variant:"callAction",color:"primary",onClick:function(){e((0,Be.e)())},disabled:!a,label:"Create"},"button-AddTenant-Create")},We=t(37798),Qe=t(57689),$e=function(){var e=(0,h.TL)(),n=(0,Qe.s0)(),t=(0,l.v9)((function(e){return e.createTenant.showNewCredentials})),r=(0,l.v9)((function(e){return e.createTenant.createdAccount}));return(0,T.jsx)(i.Fragment,{children:t&&(0,T.jsx)(We.default,{newServiceAccount:r,open:t,closeModal:function(){e((0,N.dS)()),n("/tenants")},entity:"Tenant"})})},Ye=(0,R.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({pageBox:{border:"1px solid #EAEAEA"}},m.oO),m.AK),m.Je))})),Je=function(){var e=(0,h.TL)(),n=(0,Qe.s0)(),t=Ye(),a=(0,l.v9)(Ae.$4),s=(0,l.v9)((function(e){return e.createTenant.addingTenant})),d=(0,i.useState)(null),m=(0,r.Z)(d,2),x=m[0],p=m[1];(0,i.useEffect)((function(){var e=Ne.cy.default;a&&0!==a.length&&Object.keys(Ne.I8).forEach((function(n){a.includes(n)&&(e=o()(Ne.I8,n,Ne.cy.default))}));p(e)}),[a]);var g={label:"Cancel",type:"other",enabled:!0,action:function(){e((0,N.dS)()),n("/tenants")}},v={componentRender:(0,T.jsx)(He,{},"create-tenant")},y=[{label:"Setup",componentRender:(0,T.jsx)(Le,{}),buttons:[g,v]},{label:"Configure",advancedOnly:!0,componentRender:(0,T.jsx)(P,{}),buttons:[g,v]},{label:"Images",advancedOnly:!0,componentRender:(0,T.jsx)(pe,{}),buttons:[g,v]},{label:"Pod Placement",advancedOnly:!0,componentRender:(0,T.jsx)(he,{}),buttons:[g,v]},{label:"Identity Provider",advancedOnly:!0,componentRender:(0,T.jsx)(U,{}),buttons:[g,v]},{label:"Security",advancedOnly:!0,componentRender:(0,T.jsx)(H,{}),buttons:[g,v]},{label:"Encryption",advancedOnly:!0,componentRender:(0,T.jsx)(le,{}),buttons:[g,v]},{label:"Audit Log",advancedOnly:!0,componentRender:(0,T.jsx)(Oe,{}),buttons:[g,v]},{label:"Monitoring",advancedOnly:!0,componentRender:(0,T.jsx)(Me,{}),buttons:[g,v]}];return(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)($e,{}),(0,T.jsx)(xe.Z,{label:(0,T.jsx)(ve.Z,{to:"/tenants",label:"Tenants",executeOnClick:function(){e((0,N.dS)())}})}),(0,T.jsxs)(ge.Z,{children:[s&&(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsx)(u.Z,{})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:t.pageBox,children:(0,T.jsx)(f.Z,{wizardSteps:y})}),x===Ne.cy.aws&&(0,T.jsx)(c.ZP,{item:!0,xs:12,style:{marginTop:16},children:(0,T.jsx)(Ve.Z,{title:"EBS Volume Configuration.",iconComponent:(0,T.jsx)(Ie.idV,{}),help:(0,T.jsxs)(i.Fragment,{children:[(0,T.jsx)("b",{children:"Performance Optimized"}),": Uses the ",(0,T.jsx)("i",{children:"gp3"})," EBS storage class class configured at 1,000Mi/s throughput and 16,000 IOPS, however the minimum volume size for this type of EBS volume is ",(0,T.jsx)("b",{children:"32Gi"}),".",(0,T.jsx)("br",{}),(0,T.jsx)("br",{}),(0,T.jsx)("b",{children:"Storage Optimized"}),": Uses the ",(0,T.jsx)("i",{children:"sc1"})," EBS storage class, however the minimum volume size for this type of EBS volume is \xa0",(0,T.jsx)("b",{children:"16Ti"})," to unlock their maximum throughput speed of 250Mi/s."]})})})]})]})}},88070:function(e,n,t){t(72791);var r=t(78687),a=t(64554),i=t(46707),s=t(57689),o=t(80184),l=function(e){var n=e.icon,t=e.description;return(0,o.jsxs)(a.Z,{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(){var e=(0,s.UO)(),n=e.tenantName||"",t=e.tenantNamespace||"",c=(0,r.v9)((function(e){return""!==t?t:""!==e.createTenant.fields.nameTenant.namespace?e.createTenant.fields.nameTenant.namespace:""})),u=(0,r.v9)((function(e){return""!==n?n:""!==e.createTenant.fields.nameTenant.tenantName?e.createTenant.fields.nameTenant.tenantName:""}));return(0,o.jsx)(a.Z,{sx:{flex:1,border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"20px",marginTop:{xs:"0px"}},children:(0,o.jsxs)(a.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,o.jsx)(l,{icon:(0,o.jsx)(i.Z,{}),description:"TLS Certificates Warning"}),(0,o.jsxs)(a.Z,{sx:{fontSize:"14px",marginBottom:"15px"},children:["Automatic certificate generation is not enabled.",(0,o.jsx)("br",{}),(0,o.jsx)("br",{}),"If you wish to continue only with ",(0,o.jsx)("b",{children:"custom certificates"})," make sure they are valid for the following internode hostnames, i.e.:",(0,o.jsx)("br",{}),(0,o.jsx)("br",{}),(0,o.jsxs)("div",{style:{fontSize:"14px",fontStyle:"italic",color:"#5E5E5E"},children:["minio.",c,(0,o.jsx)("br",{}),"minio.",c,".svc",(0,o.jsx)("br",{}),"minio.",c,".svc.",(0,o.jsx)("br",{}),"*.",u,"-hl.",c,".svc.",(0,o.jsx)("br",{}),"*.",c,".svc."]}),(0,o.jsx)("br",{}),"Replace ",(0,o.jsx)("em",{children:""}),","," ",(0,o.jsx)("em",{children:""})," and",(0,o.jsx)("em",{children:""})," with the actual values for your MinIO tenant.",(0,o.jsx)("br",{}),(0,o.jsx)("br",{}),"You can learn more at our"," ",(0,o.jsx)("a",{href:"https://min.io/docs/minio/kubernetes/upstream/operations/network-encryption.html?ref=op#id5",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})]})})}},68456:function(e,n,t){t.d(n,{QT:function(){return l},YH:function(){return c},mo:function(){return o}});var r=t(61889),a=t(98021),i=t(56096),s=t(80184),o=function(){return(0,s.jsxs)(r.ZP,{container:!0,columnGap:1,children:[(0,s.jsx)(r.ZP,{children:(0,s.jsx)(i.gyG,{width:"16px",height:"16px"})}),(0,s.jsx)(r.ZP,{item:!0,children:"Open ID"})]})},l=function(){return(0,s.jsxs)(r.ZP,{container:!0,columnGap:1,children:[(0,s.jsx)(r.ZP,{children:(0,s.jsx)(a.Z,{width:"16px",height:"16px"})}),(0,s.jsx)(r.ZP,{item:!0,children:"LDAP / Active Directory"})]})},c=function(){return(0,s.jsxs)(r.ZP,{container:!0,columnGap:1,children:[(0,s.jsx)(r.ZP,{children:(0,s.jsx)(i.oyc,{width:"16px",height:"16px"})}),(0,s.jsx)(r.ZP,{item:!0,children:"Built-in"})]})}},22512:function(e,n,t){var r=t(72791),a=t(20890),i=t(11135),s=t(25787),o=t(80184);n.Z=(0,s.Z)((function(e){var n;return(0,i.Z)({errorBlock:{color:(null===(n=e.palette)||void 0===n?void 0:n.error.main)||"#C83B51"}})}))((function(e){var n=e.classes,t=e.errorMessage,i=e.withBreak,s=void 0===i||i;return(0,o.jsxs)(r.Fragment,{children:[s&&(0,o.jsx)("br",{}),(0,o.jsx)(a.Z,{component:"p",variant:"body1",className:n.errorBlock,children:t})]})}))},42419:function(e,n,t){var r=t(64836);n.Z=void 0;var a=r(t(45649)),i=t(80184),s=(0,a.default)((0,i.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"}),"Add");n.Z=s},99663:function(e,n,t){var r=t(64836);n.Z=void 0;var a=r(t(45649)),i=t(80184),s=(0,a.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");n.Z=s},86711:function(e,n,t){var r=t(64836);n.Z=void 0;var a=r(t(45649)),i=t(80184),s=(0,a.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");n.Z=s},22918:function(e,n,t){var r=t(64836);n.Z=void 0;var a=r(t(45649)),i=t(80184),s=(0,a.default)((0,i.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-2zM7.5 18c-.83 0-1.5-.67-1.5-1.5S6.67 15 7.5 15s1.5.67 1.5 1.5S8.33 18 7.5 18zm0-9C6.67 9 6 8.33 6 7.5S6.67 6 7.5 6 9 6.67 9 7.5 8.33 9 7.5 9zm4.5 4.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm4.5 4.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm0-9c-.83 0-1.5-.67-1.5-1.5S15.67 6 16.5 6s1.5.67 1.5 1.5S17.33 9 16.5 9z"}),"Casino");n.Z=s},27247:function(e,n,t){var r=t(64836);n.Z=void 0;var a=r(t(45649)),i=t(80184),s=(0,a.default)((0,i.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"}),"Delete");n.Z=s},94721:function(e,n,t){var r=t(63366),a=t(87462),i=t(72791),s=t(28182),o=t(94419),l=t(12065),c=t(66934),u=t(31402),d=t(90133),m=t(80184),f=["absolute","children","className","component","flexItem","light","orientation","role","textAlign","variant"],h=(0,c.ZP)("div",{name:"MuiDivider",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,t.absolute&&n.absolute,n[t.variant],t.light&&n.light,"vertical"===t.orientation&&n.vertical,t.flexItem&&n.flexItem,t.children&&n.withChildren,t.children&&"vertical"===t.orientation&&n.withChildrenVertical,"right"===t.textAlign&&"vertical"!==t.orientation&&n.textAlignRight,"left"===t.textAlign&&"vertical"!==t.orientation&&n.textAlignLeft]}})((function(e){var n=e.theme,t=e.ownerState;return(0,a.Z)({margin:0,flexShrink:0,borderWidth:0,borderStyle:"solid",borderColor:(n.vars||n).palette.divider,borderBottomWidth:"thin"},t.absolute&&{position:"absolute",bottom:0,left:0,width:"100%"},t.light&&{borderColor:n.vars?"rgba(".concat(n.vars.palette.dividerChannel," / 0.08)"):(0,l.Fq)(n.palette.divider,.08)},"inset"===t.variant&&{marginLeft:72},"middle"===t.variant&&"horizontal"===t.orientation&&{marginLeft:n.spacing(2),marginRight:n.spacing(2)},"middle"===t.variant&&"vertical"===t.orientation&&{marginTop:n.spacing(1),marginBottom:n.spacing(1)},"vertical"===t.orientation&&{height:"100%",borderBottomWidth:0,borderRightWidth:"thin"},t.flexItem&&{alignSelf:"stretch",height:"auto"})}),(function(e){var n=e.theme,t=e.ownerState;return(0,a.Z)({},t.children&&{display:"flex",whiteSpace:"nowrap",textAlign:"center",border:0,"&::before, &::after":{position:"relative",width:"100%",borderTop:"thin solid ".concat((n.vars||n).palette.divider),top:"50%",content:'""',transform:"translateY(50%)"}})}),(function(e){var n=e.theme,t=e.ownerState;return(0,a.Z)({},t.children&&"vertical"===t.orientation&&{flexDirection:"column","&::before, &::after":{height:"100%",top:"0%",left:"50%",borderTop:0,borderLeft:"thin solid ".concat((n.vars||n).palette.divider),transform:"translateX(0%)"}})}),(function(e){var n=e.ownerState;return(0,a.Z)({},"right"===n.textAlign&&"vertical"!==n.orientation&&{"&::before":{width:"90%"},"&::after":{width:"10%"}},"left"===n.textAlign&&"vertical"!==n.orientation&&{"&::before":{width:"10%"},"&::after":{width:"90%"}})})),x=(0,c.ZP)("span",{name:"MuiDivider",slot:"Wrapper",overridesResolver:function(e,n){var t=e.ownerState;return[n.wrapper,"vertical"===t.orientation&&n.wrapperVertical]}})((function(e){var n=e.theme,t=e.ownerState;return(0,a.Z)({display:"inline-block",paddingLeft:"calc(".concat(n.spacing(1)," * 1.2)"),paddingRight:"calc(".concat(n.spacing(1)," * 1.2)")},"vertical"===t.orientation&&{paddingTop:"calc(".concat(n.spacing(1)," * 1.2)"),paddingBottom:"calc(".concat(n.spacing(1)," * 1.2)")})})),p=i.forwardRef((function(e,n){var t=(0,u.Z)({props:e,name:"MuiDivider"}),i=t.absolute,l=void 0!==i&&i,c=t.children,p=t.className,g=t.component,v=void 0===g?c?"div":"hr":g,y=t.flexItem,j=void 0!==y&&y,Z=t.light,C=void 0!==Z&&Z,b=t.orientation,S=void 0===b?"horizontal":b,_=t.role,N=void 0===_?"hr"!==v?"separator":void 0:_,A=t.textAlign,T=void 0===A?"center":A,P=t.variant,I=void 0===P?"fullWidth":P,w=(0,r.Z)(t,f),k=(0,a.Z)({},t,{absolute:l,component:v,flexItem:j,light:C,orientation:S,role:N,textAlign:T,variant:I}),R=function(e){var n=e.absolute,t=e.children,r=e.classes,a=e.flexItem,i=e.light,s=e.orientation,l=e.textAlign,c={root:["root",n&&"absolute",e.variant,i&&"light","vertical"===s&&"vertical",a&&"flexItem",t&&"withChildren",t&&"vertical"===s&&"withChildrenVertical","right"===l&&"vertical"!==s&&"textAlignRight","left"===l&&"vertical"!==s&&"textAlignLeft"],wrapper:["wrapper","vertical"===s&&"wrapperVertical"]};return(0,o.Z)(c,d.V,r)}(k);return(0,m.jsx)(h,(0,a.Z)({as:v,className:(0,s.Z)(R.root,p),role:N,ref:n,ownerState:k},w,{children:c?(0,m.jsx)(x,{className:R.wrapper,ownerState:k,children:c}):null}))}));n.Z=p}}]); -//# sourceMappingURL=1275.3857a963.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1275.3857a963.chunk.js.map b/portal-ui/build/static/js/1275.3857a963.chunk.js.map deleted file mode 100644 index 9353ee906..000000000 --- a/portal-ui/build/static/js/1275.3857a963.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/1275.3857a963.chunk.js","mappings":"sKA0EA,KAAeA,EAAAA,EAAAA,IApDA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,GAAa,CACXC,KAAM,CACJC,OAAQ,oBACRC,aAAc,EACdC,gBAAiB,UACjBC,YAAa,GACbC,WAAY,GACZC,cAAe,GACfC,aAAc,IAEhBC,UAAW,CACTC,SAAU,GACVC,WAAY,OACZC,aAAc,GACdC,QAAS,OACTC,WAAY,SACZ,cAAe,CACbC,YAAa,GACbC,OAAQ,GACRC,MAAO,KAGXC,SAAU,CACRR,SAAU,GACVL,YAAa,IAEd,GAyBL,EAhBgB,SAAH,GAA2D,IAArDc,EAAO,EAAPA,QAASC,EAAa,EAAbA,cAAeC,EAAK,EAALA,MAAOC,EAAI,EAAJA,KAChD,OACE,gBAAKC,UAAWJ,EAAQlB,KAAK,UAC3B,UAAC,KAAI,CAACuB,WAAS,aACb,UAAC,KAAI,CAACC,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQV,UAAU,UAC7CW,EACAC,MAEH,SAAC,KAAI,CAACI,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQD,SAAS,SAC5CI,QAKX,G,4DChBA,IArCwB,SAACK,GACvB,OACE,iCACEC,MAAM,6BACNL,UAAS,WACTM,KAAM,eACNC,QAAQ,eACJH,GAAK,eAET,2BACE,qBAAUI,GAAG,qBAAoB,UAC/B,iBACE,YAAU,sBACVF,KAAK,UACLG,EAAE,6BAIR,eACE,YAAU,aACVC,UAAU,kBACVC,SAAS,2BACTL,KAAK,UAAS,WAEd,iBACE,YAAU,eACVG,EAAE,kZAEJ,iBACE,YAAU,eACVA,EAAE,kQAGN,iBAAM,YAAU,sBAAqBH,KAAK,OAAOG,EAAE,uBAGzD,C,+PC8CA,GAAelC,EAAAA,EAAAA,IA1EA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,GAAa,CACXwB,UAAW,CACTX,QAAS,OACTsB,SAAU,SACVC,QAAS,gBAEXC,cAAe,CACb,wBAAyB,CACvBpB,MAAO,OACPqB,WAAY,UACZ,wBAAyB,CACvBtB,OAAQ,SAEV,mCAAoC,CAClCD,YAAa,QACb,wBAAyB,CACvBC,OAAQ,UAId,kCAAmC,CACjCC,MAAO,QACPD,OAAQ,UAGZuB,YAAW,kBACNC,EAAAA,GAAAA,YAAqB,IACxB9B,SAAU,WAEX,GA4CL,EA1CuB,SAAH,GAQb,IAAD,IAPJ+B,MAAAA,OAAK,MAAG,GAAE,MACVC,MAAAA,OAAK,MAAG,GAAE,MACVvB,QAAAA,OAAO,MAAG,CAAC,EAAC,EAMZ,OACE,iBAAKI,UAAWJ,EAAQK,UAAU,WAChC,iBAAKD,UAAWJ,EAAQoB,WAAW,UAAEE,EAAM,QAC3C,gBAAKlB,UAAWJ,EAAQkB,cAAc,UACpC,SAACM,EAAA,EAAa,CACZD,MAAOA,EACPE,UAAQ,EACRC,cACE,SAACC,EAAA,EAAc,CAACC,SAAS,MAAK,UAC5B,SAACC,EAAA,EAAc,CAACC,QAAS,OAAO,UAC9B,SAAC,IAAe,CAACC,KAAMR,EAAM,UAC3B,SAAC,KAAM,CACLX,GAAI,iBACJ,aAAW,OACXoB,QAAS,WAAO,EAChBC,YAAa,WAAO,EACpBC,MAAO,CACLpC,MAAO,OACPD,OAAQ,OACRoB,QAAS,OAEXkB,MAAM,SAAC,MAAQ,kBAUnC,I,WCxBMC,EAAW,SAACC,EAAkBN,GAClC,IAAIO,EAAUC,SAASC,cAAc,KACrCF,EAAQG,aAAa,OAAQ,iCAAmCV,GAChEO,EAAQG,aAAa,WAAYJ,GAEjCC,EAAQJ,MAAMxC,QAAU,OACxB6C,SAASG,KAAKC,YAAYL,GAE1BA,EAAQM,QACRL,SAASG,KAAKG,YAAYP,EAC5B,EAyMA,GAAe3D,EAAAA,EAAAA,IAhQA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,GAAa,CACXiE,aAAc,CACZC,MAAO,MACPxD,SAAU,SACVyD,OAAQ,kBACRtD,QAAS,OACTC,WAAY,SACZ,SAAU,CACRC,YAAa,QACbC,OAAQ,GACRC,MAAO,KAGXmD,gBAAiB,CACfhC,QAAS,cACTzB,WAAY,IACZD,SAAU,SAEZ2D,gBAAiB,CACfxD,QAAS,OACTyD,eAAgB,WAChBC,UAAW,QAEbC,iBAAkB,CAChBC,UAAW,OACXC,UAAW,KAEbC,YAAa,CACX9D,QAAS,OACTC,WAAY,UAEd8D,aAAc,CACZ7D,YAAa,UAEd,GA6NL,EAvM0B,SAAH,GAMS,IAL9BI,EAAO,EAAPA,QACA0D,EAAiB,EAAjBA,kBACAC,EAAI,EAAJA,KACAC,EAAU,EAAVA,WACAC,EAAM,EAANA,OAEA,IAAKH,EACH,OAAO,KAET,IAAMI,EAAeC,IAAIL,EAAmB,UAAW,MACjDM,EAAMD,IAAIL,EAAmB,OAAO,GAmE1C,OACE,SAACO,EAAA,EAAY,CACXC,UAAWP,EACXQ,QAAS,WACPP,GACF,EACA1D,OACE,gBAAKE,UAAWJ,EAAQwD,YAAY,UAClC,2BAAK,OAAKK,EAAO,gBAGrBO,WAAW,SAAC,MAA6B,IAAI,UAE7C,UAACC,EAAA,GAAI,CAAChE,WAAS,aACb,UAACgE,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQsE,eAAe,UAAC,SAC7CT,EAAO,iDACZG,GAAOF,IACP,SAAC,WAAc,WACb,UAACO,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQqD,iBAAiB,WACrD,gBAAKjD,UAAWJ,EAAQiD,gBAAgB,SAAC,wBAGxCsB,MAAMC,QAAQV,IACbA,EAAaW,KAAI,SAACC,EAAiBC,GACjC,OACE,iCACE,SAAC,EAAc,CACbrD,MAAM,aACNC,MAAOmD,EAAgBE,aAEzB,SAAC,EAAc,CACbtD,MAAM,aACNC,MAAOmD,EAAgBG,cAI/B,KACAN,MAAMC,QAAQV,KACd,iCACE,SAAC,EAAc,CACbxC,MAAM,aACNC,MAAOuC,EAAac,aAEtB,SAAC,EAAc,CACbtD,MAAM,aACNC,MAAOuC,EAAae,qBAOb,OAAjBf,QAA0CgB,IAAjBhB,KACzB,iCACE,SAAC,EAAc,CACbxC,MAAM,aACNC,MAAOmC,EAAkBkB,WAAa,MAExC,SAAC,EAAc,CACbtD,MAAM,aACNC,MAAOmC,EAAkBmB,WAAa,QAI3Cb,GACC,gBAAK5D,UAAWJ,EAAQ8C,aAAa,SAAC,iEAItC,iBAAK1C,UAAWJ,EAAQ8C,aAAa,WACnC,SAACiC,EAAA,EAAQ,KACT,0BAAM,oFAOZ,SAACV,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQkD,gBAAgB,UAClDc,IACA,iCACE,SAACnC,EAAA,EAAc,CACbC,QACE,wIACD,UAED,SAAC,KAAM,CACLlB,GAAI,kBACJU,MAAO,sBACPlB,UAAWJ,EAAQyD,aACnBzB,QA3JO,WACrB,IAAIgD,EAAgB,CAAC,EAEjBlB,EAmBAkB,EAlBGT,MAAMC,QAAQV,GASFA,EAAaW,KAAI,SAACQ,GAC/B,MAAO,CACLC,IAAKD,EAAQC,IACbN,UAAWK,EAAQL,UACnBC,UAAWI,EAAQJ,UACnBM,IAAK,OACLC,KAAM,OAEV,IACuB,GAjBP,CACdF,IAAKpB,EAAaoB,IAClBN,UAAWd,EAAac,UACxBC,UAAWf,EAAae,UACxBM,IAAK,OACLC,KAAM,QAeVJ,EAAgB,CACdE,IAAKxB,EAAkBwB,IACvBN,UAAWlB,EAAkBkB,UAC7BC,UAAWnB,EAAkBmB,UAC7BM,IAAK,OACLC,KAAM,QAIVhD,EACE,mBACAiD,KAAKC,WAAU,UACVN,IAGT,EAoHgB7C,MAAM,SAAC,MAAY,IACnBoD,QAAQ,iBAIXhB,MAAMC,QAAQV,IAAiBA,EAAa0B,OAAS,IACpD,SAAC3D,EAAA,EAAc,CACbC,QACE,iNACD,UAED,SAAC,KAAM,CACLlB,GAAI,sBACJU,MAAO,kCACPlB,UAAWJ,EAAQyD,aACnBzB,QAjIc,WAC9B,IAAIyD,EAAiB,CAAC,EAEpB3B,GACAS,MAAMC,QAAQV,IACdA,EAAa0B,OAAS,IAQtBC,EANe3B,EAAaW,KAAI,SAACQ,GAC/B,MAAO,CACLL,UAAWK,EAAQL,UACnBC,UAAWI,EAAQJ,UAEvB,KAGFzC,EACE,uBACAiD,KAAKC,WAAU,UACVG,IAGT,EA6GkBtD,MAAM,SAAC,MAAY,IACnBoD,QAAQ,aACRxC,MAAM,uBAU1B,G,oNC5IA,KAAepE,EAAAA,EAAAA,IAtGA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,IAAa,UACRwC,EAAAA,IACF,GAmGL,EAjG0B,SAAH,GASF,IARnBE,EAAK,EAALA,MAAM,EAAD,EACLD,MAAAA,OAAK,MAAG,GAAE,MACVQ,QAAAA,OAAO,MAAG,GAAE,MACZ4D,KAAAA,OAAI,MAAG,OAAM,EACb1F,EAAO,EAAPA,QACA2F,EAAc,EAAdA,eACgB,GADF,EACdlE,SAAgB,EAChBmE,cAAAA,OAAY,MAAG,QAAO,EAEtB,OACE,UAAC,WAAc,YACb,SAAC,KAAI,CAACtF,MAAI,EAACC,GAAI,GAAIsF,GAAI,CAAEpG,aAAc,QAAS,UAC9C,UAAC,IAAU,CAACW,UAAWJ,EAAQoB,WAAW,WACxC,0BAAOE,IACM,KAAZQ,IACC,gBAAK1B,UAAWJ,EAAQ8F,iBAAiB,UACvC,SAAC,IAAO,CAAC5F,MAAO4B,EAASiE,UAAU,YAAW,UAC5C,gBAAK3F,UAAWJ,EAAQ8B,QAAQ,UAC9B,SAAC,IAAQ,gBAQrB,SAAC,KAAI,CACHxB,MAAI,EACJC,GAAI,GACJ2B,MAAO,CACLqB,UAAWqC,EACXI,SAAU,OACVjH,OAAQ,qBACR,UAEF,SAAC,IAAU,CACTwC,MAAOA,EACP0E,SAAUP,EACVQ,SAAU,SAACC,GACTR,EAAe,KAAM,KAAMQ,EAAIC,OAAO7E,MACxC,EACAX,GAAI,eACJK,QAAS,GACTiB,MAAO,CACL3C,SAAU,GACVN,gBAAiB,UACjBoH,WACE,+EACFC,UAAWV,GAAgB,UAC3B7C,MAAO,gBAIb,SAAC,KAAI,CACHzC,MAAI,EACJC,GAAI,GACJsF,GAAI,CACF1E,WAAY,UACZpC,OAAQ,oBACRwH,UAAW,GACX,UAEF,SAAC,IAAG,CACFV,GAAI,CACFnG,QAAS,OACTC,WAAY,SACZsB,QAAS,MACT5B,aAAc,MACd8D,eAAgB,WAChB,WAAY,CACVtD,OAAQ,OACRC,MAAO,OACPmB,QAAS,MACT,aAAc,CACZuF,WAAY,OAGhB,UAEF,SAAC,IAAc,CAAC1E,QAAS,oBAAoB,UAC3C,SAAC,IAAe,CAACC,KAAMR,EAAM,UAC3B,SAAC,KAAM,CACLkF,KAAM,SACN7F,GAAI,mBACJuB,MAAM,SAAC,MAAQ,IACfY,MAAO,UACPwC,QAAS,sBAQzB,G,oPCyCA,GAAe5G,EAAAA,EAAAA,IAvIA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,IAAa,kCACRwC,EAAAA,IACAqF,EAAAA,IAAa,IAChBC,YAAa,CACXC,SAAU,IACVC,WAAY,SACZb,SAAU,SACVc,aAAc,WACd1D,UAAW,GAEb2D,eAAgB,CACd/D,OAAQ,SACR,4BAA6B,CAC3BhC,SAAU,YAGXgG,EAAAA,IAAe,IAClB5F,YAAW,kBACNC,EAAAA,GAAAA,YAAqB,IACxB7B,WAAY,WAEdyH,kBAAiB,kBACZ5F,EAAAA,GAAAA,kBAA2B,IAC9BuF,SAAU,OACV7H,OAAQ,oBACRG,YAAa,WAEd,GA2GL,EAzGqB,SAAH,GAYI,IAXpBoC,EAAK,EAALA,MACAtB,EAAO,EAAPA,QACAkG,EAAQ,EAARA,SACAtF,EAAE,EAAFA,GACAsG,EAAI,EAAJA,KAAK,EAAD,EACJC,SAAAA,OAAQ,OAAQ,MAChBrF,QAAAA,OAAO,MAAG,GAAE,EACZsF,EAAQ,EAARA,SAAS,EAAD,EACRC,MAAAA,OAAK,MAAG,GAAE,MACVC,OAAAA,OAAM,MAAG,GAAE,MACX/F,MAAAA,OAAK,MAAG,GAAE,EAEV,GAA4CgG,EAAAA,EAAAA,WAAS,GAAM,eAApDC,EAAgB,KAAEC,EAAe,KAExC,OACE,SAAC,WAAc,WACb,UAACpD,EAAA,GAAI,CACH/D,MAAI,EACJC,GAAI,GACJH,UAAS,UAAKJ,EAAQ+G,eAAc,YAAI/G,EAAQ0H,YAAW,YACzD1H,EAAQ2H,eAAc,YACV,KAAVN,EAAerH,EAAQ4H,aAAe,IAAK,UAEpC,KAAVtG,IACC,UAACuG,EAAA,EAAU,CACTC,QAASlH,EACTR,UAAS,UAAe,KAAViH,EAAerH,EAAQ+H,gBAAkB,GAAE,YACvD/H,EAAQoB,YACP,WAEH,4BACGE,EACA8F,EAAW,IAAM,MAEP,KAAZtF,IACC,gBAAK1B,UAAWJ,EAAQ8F,iBAAiB,UACvC,SAACkC,EAAA,EAAO,CAAC9H,MAAO4B,EAASiE,UAAU,YAAW,UAC5C,gBAAK3F,UAAWJ,EAAQ8B,QAAQ,UAC9B,SAACmG,EAAA,EAAQ,aAQpBT,GAA8B,KAAVjG,GACnB,iBAAKnB,UAAWJ,EAAQiH,iBAAiB,WACvC,kBACER,KAAK,OACLS,KAAMA,EACNhB,SAAU,SAACgC,GACT,IAAMC,EAAWpE,IAAImE,EAAG,uBAAwB,KCnHrC,SAACE,EAAUC,GACpC,IAAMC,EAAOF,EAAIhC,OAAOmC,MAAM,GACxBC,EAAS,IAAIC,WACnBD,EAAOE,cAAcJ,GAErBE,EAAOG,OAAS,WAGd,IAAMC,EAAaJ,EAAOK,OAC1B,GAAID,EAAY,CACd,IAAME,EAAYF,EAAWG,WAAWC,MAAM,WAErB,IAArBF,EAAUtD,QACZ6C,EAASS,EAAU,GAEvB,CACF,CACF,CDmGgBG,CAAYf,GAAG,SAACgB,GACdhD,EAASgD,EAAMf,EACjB,GACF,EACAb,OAAQA,EACRF,SAAUA,EACVD,SAAUA,EACV/G,UAAWJ,EAAQ+G,iBAGV,KAAVxF,IACC,SAAC4H,EAAA,EAAU,CACTpG,MAAM,UACN,aAAW,iBACXqG,UAAU,OACVpH,QAAS,WACPyF,GAAgB,EAClB,EACA4B,eAAe,EACfC,oBAAoB,EACpBC,KAAK,QAAO,UAEZ,SAACC,EAAA,EAAU,MAIJ,KAAVnC,IAAgB,SAACoC,EAAA,EAAU,CAACC,aAAcrC,QAG7C,iBAAKjH,UAAWJ,EAAQ2J,aAAa,WACnC,gBAAKvJ,UAAWJ,EAAQ2G,YAAY,SAAEpF,KACtC,SAAC4H,EAAA,EAAU,CACTpG,MAAM,UACN,aAAW,iBACXqG,UAAU,OACVpH,QAAS,WACPyF,GAAgB,EAClB,EACA4B,eAAe,EACfC,oBAAoB,EACpBC,KAAK,QAAO,UAEZ,SAACK,EAAA,EAAc,aAO7B,G,qNERA,KAAejL,EAAAA,EAAAA,IAlIA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,IAAa,kBACRgL,EAAAA,IAAkB,IACrBC,QAAS,CACP7I,QAAS,GACT7B,cAAe,GAEjB2K,iBAAkB,CAChBjK,MAAO,OACP8G,SAAU,MAEToD,EAAAA,IACF,GAsHL,EApHqB,SAAH,GASE,IARlB7F,EAAO,EAAPA,QACAD,EAAS,EAATA,UACAhE,EAAK,EAALA,MACA+J,EAAQ,EAARA,SACAjK,EAAO,EAAPA,QAAQ,EAAD,EACPkK,UAAAA,OAAS,OAAO,EAChBC,EAAgB,EAAhBA,iBAAiB,EAAD,EAChB/F,UAAAA,OAAS,MAAG,KAAI,EAEVgG,GAAWC,EAAAA,EAAAA,MACjB,GAAwC9C,EAAAA,EAAAA,WAAkB,GAAM,eAAzD+C,EAAY,KAAEC,EAAe,KAE9BC,GAAoBC,EAAAA,EAAAA,KACxB,SAACC,GAAe,OAAKA,EAAMC,OAAOC,aAAa,KAGjDC,EAAAA,EAAAA,YAAU,WACRT,GAASU,EAAAA,EAAAA,IAAqB,IAChC,GAAG,CAACV,KAEJS,EAAAA,EAAAA,YAAU,WACR,GAAIL,EAAmB,CACrB,GAAkC,KAA9BA,EAAkBO,QAEpB,YADAR,GAAgB,GAIa,UAA3BC,EAAkB/D,MACpB8D,GAAgB,EAEpB,CACF,GAAG,CAACC,IAEJ,IAKMQ,EAAad,EACf,CACElK,QAAS,CACPiL,MAAOjL,EAAQ+J,mBAGnB,CAAEnD,SAAU,KAAesE,WAAW,GAEtCH,EAAU,GAYd,OAVIP,IACFO,EAAUP,EAAkBW,kBAEa,KAAvCX,EAAkBW,kBAClBX,EAAkBW,iBAAiB3F,OAAS,KAE5CuF,EAAUP,EAAkBO,WAK9B,UAAC,KAAM,gBACLpH,KAAMO,EACNlE,QAASA,GACLgL,GAAU,IACdI,OAAQ,QACRjH,QAAS,SAACkH,EAAOC,GACA,kBAAXA,GACFnH,GAEJ,EACA/D,UAAWJ,EAAQlB,KAAK,WAExB,UAAC,IAAW,CAACsB,UAAWJ,EAAQE,MAAM,WACpC,iBAAKE,UAAWJ,EAAQuL,UAAU,UAC/BnH,EAAU,IAAElE,MAEf,gBAAKE,UAAWJ,EAAQwL,eAAe,UACrC,SAAC,IAAU,CACT,aAAW,QACX5K,GAAI,QACJR,UAAWJ,EAAQyL,YACnBzJ,QAASmC,EACTkF,eAAa,EACbE,KAAK,QAAO,UAEZ,SAAC,IAAS,YAKhB,SAAC,IAAS,CAACmC,SAAS,KACpB,SAAC,IAAQ,CACP/H,KAAM2G,EACNlK,UAAWJ,EAAQ2L,cACnBxH,QAAS,WA3DboG,GAAgB,GAChBH,GAASU,EAAAA,EAAAA,IAAqB,IA4D1B,EACAC,QAASA,EACTa,aAAc,CACZxL,UAAU,GAAD,OAAKJ,EAAQ6L,SAAQ,YAC5BrB,GAAgD,UAA3BA,EAAkB/D,KACnCzG,EAAQ8L,cACR,KAGRC,iBACEvB,GAAgD,UAA3BA,EAAkB/D,KAAmB,IAAQ,OAGtE,SAAC,IAAa,CAACrG,UAAW+J,EAAmB,GAAKnK,EAAQ8J,QAAQ,SAC/DG,OAIT,G,qWCyeA,GAAetL,EAAAA,EAAAA,IA1lBA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,IAAa,wBACXmN,kBAAmB,CACjBpM,YAAa,GACbH,aAAc,GAEd,oBAAqB,CACnBV,OAAQ,kBAGZkN,0BAA2B,CACzBzF,WAAY,GACZ1G,MAAO,MACPkD,OAAQ,QAEVkJ,cAAe,CACbtM,YAAa,IAEfuM,YAAW,kBACNC,EAAAA,GAAAA,YAA6B,IAChCjN,WAAY,GACZM,aAAc,KAEhB4M,sBAAuB,CACrB,4BAA6B,CAC3BrL,SAAU,SACVrB,WAAY,aAEZ,cAAe,CACbF,aAAc,EACdG,YAAa,KAInB0M,iBAAkB,CAChB5M,QAAS,OACTD,aAAc,IAEhB8M,UAAW,CACT7M,QAAS,OACTC,WAAY,SACZwD,eAAgB,aAChB,eAAgB,CACdqJ,aAAc,GAEhB,4BAA6B,CAC3BC,KAAM,EAEN,cAAe,CACbC,SAAU,MAIhBC,SAAU,CACR/M,YAAa,GACbF,QAAS,OACT,cAAe,CACbgN,SAAU,IAGZ,4BAA6B,CAC3B1L,SAAU,WAGd4L,WAAY,CACVlN,QAAS,OACTyD,eAAgB,WAChB,4BAA6B,CAC3BsJ,KAAM,IAGVI,cAAe,CACbrG,WAAY,GACZ,QAAS,CACPI,SAAU,GACVrD,UAAW,IAEb,WAAY,CACVpC,WAAY,aAGb2L,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACF,GAsgBL,EApgBkB,SAAH,GAAsC,IAAhChN,EAAO,EAAPA,QACboK,GAAWC,EAAAA,EAAAA,MAEX4C,GAAcxC,EAAAA,EAAAA,KAClB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOC,UAAUH,WAAW,IAEhEI,GAAgB5C,EAAAA,EAAAA,KACpB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOC,UAAUC,aAAa,IAElEC,GAAa7C,EAAAA,EAAAA,KACjB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOC,UAAUE,UAAU,IAE/DC,GAAgB9C,EAAAA,EAAAA,KACpB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOC,UAAUG,aAAa,IAElEC,GAAe/C,EAAAA,EAAAA,KACnB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOC,UAAUI,YAAY,IAEjEC,GAAehD,EAAAA,EAAAA,KACnB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOC,UAAUK,YAAY,IAEjEC,GAAgBjD,EAAAA,EAAAA,KACpB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOC,UAAUO,OAAO,IAE5DC,GAAwBnD,EAAAA,EAAAA,KAC5B,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAOC,UAAUQ,qBAAqB,IAG7D,GAAgDrG,EAAAA,EAAAA,UAAc,CAAC,GAAE,eAA1DsG,EAAgB,KAAEC,EAAmB,KAGtCC,GAAcC,EAAAA,EAAAA,cAClB,SAACC,EAAe1M,GACd6I,GACE8D,EAAAA,EAAAA,IAAe,CAAEC,SAAU,YAAaF,MAAOA,EAAO1M,MAAOA,IAEjE,GACA,CAAC6I,KAIHS,EAAAA,EAAAA,YAAU,WACR,IAAIuD,EAAyC,GAkC7C,GAjCIX,IACFW,EAAuB,kBAClBA,GAAuB,CAC1B,CACEC,SAAU,mCACVjH,UAAU,EACV7F,MAAOqM,EAAsBU,UAC7BC,iBACsC,KAApCX,EAAsBU,WACtBE,SAASZ,EAAsBU,WAAa,EAC9CG,wBAAwB,8CAE1B,CACEJ,SAAU,oCACVjH,UAAU,EACV7F,MAAOqM,EAAsBc,WAC7BH,iBACuC,KAArCX,EAAsBc,YACtBF,SAASZ,EAAsBc,YAAc,EAC/CD,wBAAwB,+CAE1B,CACEJ,SAAU,iCACVjH,UAAU,EACV7F,MAAOqM,EAAsBe,QAC7BJ,iBACoC,KAAlCX,EAAsBe,SACtBH,SAASZ,EAAsBe,SAAW,EAC5CF,wBAAwB,+CAK1BnB,EAAY,CACd,IAAMsB,EAAwBpB,EAAa/I,KAAI,SAACoK,EAAYlK,GAC1D,MAAO,CACL0J,SAAS,gBAAD,OAAkB1J,EAAMoE,YAChC3B,UAAU,EACV7F,MAAOsN,EACPC,QAAS,6CACTC,qBACE,mEAEN,IAEAX,EAAuB,kBAClBA,IAAuB,OACvBQ,GAAqB,CACxB,CACEP,SAAU,iBACVjH,UAAU,EACV7F,MAAOgM,EACPuB,QACE,kEACFC,qBACE,8FAGR,CAEA,IAAMC,GAAYC,EAAAA,EAAAA,GAAqBb,GAEvChE,GACE8E,EAAAA,EAAAA,IAAY,CACVf,SAAU,YACVgB,MAAyC,IAAlCC,OAAOC,KAAKL,GAAWxJ,UAIlCsI,EAAoBkB,EACtB,GAAG,CACD5E,EACAqD,EACAG,EACAN,EACAC,EACAC,IAGF,IAAM8B,EAAkB,SAACC,GACvBzB,GAAoB0B,EAAAA,EAAAA,IAAqB3B,EAAkB0B,GAC7D,EASA,OACE,UAACE,EAAA,EAAK,CAACrP,UAAWJ,EAAQ0P,aAAa,WACrC,iBAAKtP,UAAWJ,EAAQ2P,cAAc,WACpC,eAAIvP,UAAWJ,EAAQ4P,UAAU,SAAC,eAClC,iBAAMxP,UAAWJ,EAAQ6P,gBAAgB,SAAC,mDAI5C,iBAAKzP,UAAWJ,EAAQ2P,cAAc,WACpC,eAAIvP,UAAWJ,EAAQ4P,UAAU,SAAC,cAClC,iBAAMxP,UAAWJ,EAAQ6P,gBAAgB,SAAC,mGAK5C,SAACxL,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQgM,kBAAkB,UACtD,SAAC8D,EAAA,EAAiB,CAChBvO,MAAM,eACNX,GAAG,eACHsG,KAAK,eACL6I,QAAS9C,EACT/G,SAAU,SAACgC,GACT,IACM6H,EADU7H,EAAE9B,OACM2J,QAExBhC,EAAY,cAAegC,EAC7B,EACAzO,MAAO,4BAGX,SAAC+C,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQgM,kBAAkB,UACtD,SAAC8D,EAAA,EAAiB,CAChBvO,MAAM,iBACNX,GAAG,iBACHsG,KAAK,iBACL6I,QAAS1C,EACTnH,SAAU,SAACgC,GACT,IACM6H,EADU7H,EAAE9B,OACM2J,QAExBhC,EAAY,gBAAiBgC,EAC/B,EACAzO,MAAO,8BAGX,SAAC+C,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQgM,kBAAkB,UACtD,SAAC8D,EAAA,EAAiB,CAChBvO,MAAM,iBACNX,GAAG,iBACHsG,KAAK,iBACL6I,QAASzC,EACTpH,SAAU,SAACgC,GACT,IACM6H,EADU7H,EAAE9B,OACM2J,QAExBhC,EAAY,aAAcgC,EAC5B,EACAzO,MAAO,yBAGVgM,IACC,SAACjJ,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiM,0BAA0B,UAC9D,sBAAU7L,UAAWJ,EAAQmM,WAAW,WACtC,mBAAQ/L,UAAWJ,EAAQ6P,gBAAgB,SAAC,8BAG5C,UAACxL,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAS,UAAKJ,EAAQgM,mBAAoB,WAC3D,gBAAK5L,UAAWJ,EAAQkM,cAAc,UACpC,SAAC8D,EAAA,EAAe,CACdpP,GAAG,iBACHsG,KAAK,iBACLhB,SAAU,SAACgC,GACT6F,EAAY,gBAAiB7F,EAAE9B,OAAO7E,OACtC+N,EAAgB,mCAClB,EACAhO,MAAM,iBACNC,MAAOgM,EACP0C,YACE,qDAEF5I,MAAOwG,EAAiC,gBAAK,QAGjD,4BACE,wBAAI,mBACJ,gBAAKzN,UAAS,UAAKJ,EAAQqM,uBAAwB,SAChDmB,EAAa/I,KAAI,SAACyL,EAAQvL,GACzB,OACE,iBACEvE,UAAS,UAAKJ,EAAQkM,cAAa,YAAIlM,EAAQsM,kBAAmB,WAGlE,SAAC0D,EAAA,EAAe,CACdpP,GAAE,uBAAkB+D,EAAMoE,YAC1B7B,KAAI,uBAAkBvC,EAAMoE,YAC5B7C,SAAU,SACRgC,IAvGA,SAAC3G,EAAeoD,GACxC,IAAMwL,GAAW,OAAO3C,GACxB2C,EAAYxL,GAASpD,EAErBwM,EAAY,eAAgBoC,EAC9B,CAoG0BC,CAAkBlI,EAAE9B,OAAO7E,MAAOoD,EACpC,EACArD,MAAK,uBAAkBqD,EAAQ,GAC/BpD,MAAO2O,EACPD,YAAa,8BACb5I,MACEwG,EAAiB,gBAAD,OACElJ,EAAMoE,cACnB,MAGT,gBAAK3I,UAAWJ,EAAQ6M,cAAc,UACpC,SAAC1D,EAAA,EAAU,CACTI,KAAM,QACNvH,QAAS,kBAAMoI,GAASiG,EAAAA,EAAAA,MAAoB,EAC5ClJ,SAAUxC,IAAU6I,EAAahI,OAAS,EAAE,UAE5C,SAAC8K,EAAA,EAAO,SAIZ,gBAAKlQ,UAAWJ,EAAQ6M,cAAc,UACpC,SAAC1D,EAAA,EAAU,CACTI,KAAM,QACNvH,QAAS,kBAAMoI,GAASmG,EAAAA,EAAAA,IAAkB5L,GAAO,EACjDwC,SAAUqG,EAAahI,QAAU,EAAE,UAEnC,SAACgL,EAAA,EAAU,UAET,2BArCmB7L,EAAMoE,YAwCrC,kBAQZ,SAAC1E,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQgM,kBAAkB,UACtD,SAAC8D,EAAA,EAAiB,CAChBvO,MAAM,eACNX,GAAG,uBACHsG,KAAK,uBACL6I,QAAStC,EACTvH,SAAU,SAACgC,GACT,IACM6H,EADU7H,EAAE9B,OACM2J,QAExBhC,EAAY,eAAgBgC,EAC9B,EACAzO,MAAO,uBAGVmM,IACC,SAACpJ,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiM,0BAA0B,UAC9D,sBAAU7L,UAAWJ,EAAQmM,WAAW,WACtC,mBAAQ/L,UAAWJ,EAAQ6P,gBAAgB,SAAC,+BAG5C,SAACxL,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAS,UAAKJ,EAAQgM,mBAAoB,UAC3D,iBACE5L,UAAS,UAAKJ,EAAQyQ,eAAc,YAAIzQ,EAAQqM,uBAAwB,WAExE,gBAAKjM,UAAWJ,EAAQkM,cAAc,UACpC,SAAC8D,EAAA,EAAe,CACdvJ,KAAK,SACL7F,GAAG,mCACHsG,KAAK,mCACLhB,SAAU,SAACgC,GACT6F,EAAY,yBAAwB,kBAC/BH,GAAqB,IACxBU,UAAWpG,EAAE9B,OAAO7E,SAEtB+N,EAAgB,mCAClB,EACAhO,MAAM,cACNC,MAAOqM,EAAsBU,UAC7BlH,UAAQ,EACRC,MACEwG,EAAmD,kCAAK,GAE1D6C,IAAI,SAGR,gBAAKtQ,UAAWJ,EAAQkM,cAAc,UACpC,SAAC8D,EAAA,EAAe,CACdvJ,KAAK,SACL7F,GAAG,oCACHsG,KAAK,oCACLhB,SAAU,SAACgC,GACT6F,EAAY,yBAAwB,kBAC/BH,GAAqB,IACxBc,WAAYxG,EAAE9B,OAAO7E,SAEvB+N,EAAgB,oCAClB,EACAhO,MAAM,eACNC,MAAOqM,EAAsBc,WAC7BtH,UAAQ,EACRC,MACEwG,EAAoD,mCACpD,GAEF6C,IAAI,cAKZ,mBACA,SAACrM,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAS,UAAKJ,EAAQgM,mBAAoB,UAC3D,iBACE5L,UAAS,UAAKJ,EAAQyQ,eAAc,YAAIzQ,EAAQqM,uBAAwB,WAExE,gBAAKjM,UAAWJ,EAAQkM,cAAc,UACpC,SAAC8D,EAAA,EAAe,CACdvJ,KAAK,SACL7F,GAAG,iCACHsG,KAAK,iCACLhB,SAAU,SAACgC,GACT6F,EAAY,yBAAwB,kBAC/BH,GAAqB,IACxBe,QAASzG,EAAE9B,OAAO7E,SAEpB+N,EAAgB,iCAClB,EACAhO,MAAM,UACNC,MAAOqM,EAAsBe,QAC7BvH,UAAQ,EACRC,MACEwG,EAAiD,gCAAK,GAExD6C,IAAI,SAGR,gBAAKtQ,UAAWJ,EAAQkM,cAAc,UACpC,gBAAK9L,UAAWJ,EAAQgM,kBAAkB,UACxC,SAAC2E,EAAA,EAAa,CACZrP,MAAM,sBACNV,GAAG,sCACHsG,KAAK,sCACL3F,MAAOqM,EAAsBgD,oBAC7B1K,SAAU,SAACgC,GACT6F,EAAY,yBAAwB,kBAC/BH,GAAqB,IACxBgD,oBAAqB1I,EAAE9B,OAAO7E,QAElC,EACAsP,QAAS,CACP,CACEvP,MAAO,SACPC,MAAO,UAET,CACED,MAAO,iBACPC,MAAO,+BAQrB,mBACA,SAAC8C,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQgM,kBAAkB,UACtD,gBAAK5L,UAAWJ,EAAQyQ,eAAe,UACrC,SAACX,EAAA,EAAiB,CAChBvO,MAAM,oCACNX,GAAG,sCACHsG,KAAK,sCACL6I,QAASnC,EAAsBkD,aAC/B5K,SAAU,SAACgC,GACT,IACM6H,EADU7H,EAAE9B,OACM2J,QACxBhC,EAAY,yBAAwB,kBAC/BH,GAAqB,IACxBkD,aAAcf,IAElB,EACAzO,MAAO,iCAOnB,SAACyP,EAAA,EAAO,KAER,iBAAK3Q,UAAWJ,EAAQ2P,cAAc,WACpC,eAAIvP,UAAWJ,EAAQ4P,UAAU,SAAC,sCAClC,iBAAMxP,UAAWJ,EAAQ6P,gBAAgB,SAAC,8EAI5C,SAACxL,EAAA,GAAI,CAAChE,WAAS,WACZqN,EAAcjJ,KAAI,SAACuM,EAAQrM,GAAK,OAC/B,UAACN,EAAA,GAAI,CACH/D,MAAI,EACJC,GAAI,GACJH,UAAS,UAAKJ,EAAQiR,aAAY,YAAIjR,EAAQuM,WAAY,WAG1D,SAAClI,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,EAAGH,UAAWJ,EAAQ2M,SAAS,UAC5C,SAACqD,EAAA,EAAe,CACdpP,GAAG,cACHsG,KAAK,cACL5F,MAAM,MACNC,MAAOyP,EAAOE,IACdhL,SAAU,SAACgC,GACT,IAAMiJ,GAAe,OAAOzD,GAC5BtD,GACEgH,EAAAA,EAAAA,IACED,EAAgB1M,KAAI,SAAC4M,EAASC,GAAC,OAC7BA,IAAM3M,EACF,CAAEuM,IAAKhJ,EAAE9B,OAAO7E,MAAOA,MAAO8P,EAAQ9P,OACtC8P,CAAO,KAInB,EACA1M,MAAOA,GAAM,sBACOA,EAAMoE,gBAG9B,SAAC1E,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,EAAGH,UAAWJ,EAAQ2M,SAAS,UAC5C,SAACqD,EAAA,EAAe,CACdpP,GAAG,gBACHsG,KAAK,gBACL5F,MAAM,QACNC,MAAOyP,EAAOzP,MACd2E,SAAU,SAACgC,GACT,IAAMiJ,GAAe,OAAOzD,GAC5BtD,GACEgH,EAAAA,EAAAA,IACED,EAAgB1M,KAAI,SAAC4M,EAASC,GAAC,OAC7BA,IAAM3M,EACF,CAAEuM,IAAKG,EAAQH,IAAK3P,MAAO2G,EAAE9B,OAAO7E,OACpC8P,CAAO,KAInB,EACA1M,MAAOA,GAAM,wBACSA,EAAMoE,gBAGhC,UAAC1E,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,EAAGH,UAAWJ,EAAQ4M,WAAW,WAC9C,gBAAKxM,UAAWJ,EAAQ6M,cAAc,UACpC,SAAC1D,EAAA,EAAU,CACTI,KAAM,QACNvH,QAAS,WACP,IAAMmP,GAAe,OAAOzD,GAC5ByD,EAAgBI,KAAK,CAAEL,IAAK,GAAI3P,MAAO,KAEvC6I,GAASgH,EAAAA,EAAAA,IAAWD,GACtB,EACAhK,SAAUxC,IAAU+I,EAAclI,OAAS,EAAE,UAE7C,SAAC8K,EAAA,EAAO,SAGZ,gBAAKlQ,UAAWJ,EAAQ6M,cAAc,UACpC,SAAC1D,EAAA,EAAU,CACTI,KAAM,QACNvH,QAAS,WACP,IAAMmP,EAAkBzD,EAAc8D,QACpC,SAAClR,EAAMmR,GAAM,OAAKA,IAAW9M,CAAK,IAEpCyF,GAASgH,EAAAA,EAAAA,IAAWD,GACtB,EACAhK,SAAUuG,EAAclI,QAAU,EAAE,UAEpC,SAACgL,EAAA,EAAU,aAGV,wBA3Ee7L,EAAMoE,YA4EvB,QAKjB,I,uDCjmBM2I,GAAYC,EAAAA,EAAAA,IAAW,SAAC/S,GAAY,OACxCC,EAAAA,EAAAA,IAAa,gCACX+S,aAAc,CACZlS,QAAS,OACTD,aAAc,IAEhBoS,WAAY,CACVrL,WAAY,GACZ9G,QAAS,OACTG,OAAQ,GACR,WAAY,CACVsB,WAAY,YAGhB0L,cAAe,CACbrG,WAAY,GACZ,QAAS,CACPI,SAAU,GACVrD,UAAW,IAEb,WAAY,CACVpC,WAAY,aAGbiL,EAAAA,IACAY,EAAAA,IACAF,EAAAA,IACAC,EAAAA,IACH,IAoYJ,EAjY2B,WACzB,IAAM3C,GAAWC,EAAAA,EAAAA,MACXrK,EAAU0R,IAEVI,GAAerH,EAAAA,EAAAA,KACnB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAO4E,iBAAiBD,YAAY,IAExEE,GAAQvH,EAAAA,EAAAA,KACZ,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAO4E,iBAAiBC,KAAK,IAEjEC,GAAYxH,EAAAA,EAAAA,KAChB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAO4E,iBAAiBE,SAAS,IAErEC,GAAmBzH,EAAAA,EAAAA,KACvB,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAO4E,iBAAiBG,gBAAgB,IAEzDC,GAAsB1H,EAAAA,EAAAA,KAC1B,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAO4E,iBAAiBI,mBAAmB,IAE5DC,GAAsB3H,EAAAA,EAAAA,KAC1B,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAO4E,iBAAiBK,mBAAmB,IAE5DC,GAAY5H,EAAAA,EAAAA,KAChB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAO4E,iBAAiBM,SAAS,IAErEC,GAAa7H,EAAAA,EAAAA,KACjB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAO4E,iBAAiBO,UAAU,IAEtEC,GAAiB9H,EAAAA,EAAAA,KACrB,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAO4E,iBAAiBQ,cAAc,IAEvDC,GAAuB/H,EAAAA,EAAAA,KAC3B,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAO4E,iBAAiBS,oBAAoB,IAE7DC,GAAuBhI,EAAAA,EAAAA,KAC3B,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAO4E,iBAAiBU,oBAAoB,IAE7DC,GAAuBjI,EAAAA,EAAAA,KAC3B,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAO4E,iBAAiBW,oBAAoB,IAE7DC,GAAmBlI,EAAAA,EAAAA,KACvB,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAO4E,iBAAiBY,gBAAgB,IAG/D,GAAgDpL,EAAAA,EAAAA,UAAc,CAAC,GAAE,eAA1DsG,EAAgB,KAAEC,EAAmB,KAEtCC,GAAcC,EAAAA,EAAAA,cAClB,SAACC,EAAe1M,GACd6I,GACE8D,EAAAA,EAAAA,IAAe,CACbC,SAAU,mBACVF,MAAOA,EACP1M,MAAOA,IAGb,GACA,CAAC6I,IAGGkF,EAAkB,SAACC,GACvBzB,GAAoB0B,EAAAA,EAAAA,IAAqB3B,EAAkB0B,GAC7D,EA2CA,OAxCA1E,EAAAA,EAAAA,YAAU,WACR,IAAI+H,EAAqC,GAEpB,OAAjBd,IACFc,EAAmB,kBACdA,GAAmB,CACtB,CACEvE,SAAU,SACVjH,UAAU,EACV7F,MAAOyQ,GAET,CACE3D,SAAU,kBACVjH,UAAU,EACV7F,MAAOgR,MAKb,IAAMvD,GAAYC,EAAAA,EAAAA,GAAqB2D,GAEvCxI,GACE8E,EAAAA,EAAAA,IAAY,CACVf,SAAU,mBACVgB,MAAyC,IAAlCC,OAAOC,KAAKL,GAAWxJ,UAIlCsI,EAAoBkB,EACtB,GAAG,CACDuD,EACAT,EACAE,EACAG,EACAC,EACAC,EACAC,EACAlI,KAIA,UAAC,EAAAyI,SAAQ,YACP,SAACxO,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,SACHsG,KAAK,SACLhB,SAAU,SAACgC,GACT6F,EAAY,QAAS7F,EAAE9B,OAAO7E,OAC9B+N,EAAgB,SAClB,EACAhO,MAAM,sBACNC,MAAOyQ,EACP/B,YAAY,kBACZ5I,MAAOwG,EAAyB,QAAK,GACrCzG,UAAQ,OAGZ,SAAC/C,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACnB,EAAA,EAAiB,CAChBvO,MAAM,aACNX,GAAG,aACHsG,KAAK,aACL6I,QAASkC,EACT/L,SAAU,SAACgC,GACT,IACM6H,EADU7H,EAAE9B,OACM2J,QACxBhC,EAAY,YAAagC,EAC3B,EACAzO,MAAO,6BAGX,SAAC+C,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACnB,EAAA,EAAiB,CAChBvO,MAAM,oBACNX,GAAG,oBACHsG,KAAK,oBACL6I,QAASmC,EACThM,SAAU,SAACgC,GACT,IACM6H,EADU7H,EAAE9B,OACM2J,QACxBhC,EAAY,mBAAoBgC,EAClC,EACAzO,MAAO,sBAGV4Q,GACC,UAAC7N,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,WAChB,SAACuS,EAAA,EAAU,CACT1S,UAAWJ,EAAQqH,MACnB9B,QAAQ,UACR7F,QAAQ,QACRqT,cAAY,WACb,oEAGD,qBAEA,MACJ,SAAC1O,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACnB,EAAA,EAAiB,CAChBvO,MAAM,oBACNX,GAAG,oBACHsG,KAAK,oBACL6I,QAAS4C,EACTzM,SAAU,SAACgC,GACT,IACM6H,EADU7H,EAAE9B,OACM2J,QACxBhC,EAAY,mBAAoBgC,EAClC,EACAzO,MAAO,8CAGX,SAAC+C,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,kBACHsG,KAAK,kBACLhB,SAAU,SAACgC,GACT6F,EAAY,iBAAkB7F,EAAE9B,OAAO7E,OACvC+N,EAAgB,kBAClB,EACAhO,MAAM,iBACNC,MAAOgR,EACPtC,YAAY,wBACZ5I,MAAOwG,EAAkC,iBAAK,GAC9CzG,UAAQ,OAGZ,SAAC/C,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,wBACHsG,KAAK,wBACLhB,SAAU,SAACgC,GACT6F,EAAY,uBAAwB7F,EAAE9B,OAAO7E,MAC/C,EACAD,MAAM,uBACNC,MAAOiR,EACPvC,YAAY,aAGhB,SAAC5L,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,wBACHsG,KAAK,wBACLhB,SAAU,SAACgC,GACT6F,EAAY,uBAAwB7F,EAAE9B,OAAO7E,MAC/C,EACAD,MAAM,yBACNC,MAAOkR,EACPxC,YAAY,oBAGhB,SAAC5L,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,wBACHsG,KAAK,wBACLhB,SAAU,SAACgC,GACT6F,EAAY,uBAAwB7F,EAAE9B,OAAO7E,MAC/C,EACAD,MAAM,wBACNC,MAAOmR,EACPzC,YAAY,0BAGhB,SAAC5L,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,uBACHsG,KAAK,uBACLhB,SAAU,SAACgC,GACT6F,EAAY,sBAAuB7F,EAAE9B,OAAO7E,MAC9C,EACAD,MAAM,uBACNC,MAAO4Q,EACPlC,YAAY,qDAGhB,SAAC5L,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,uBACHsG,KAAK,uBACLhB,SAAU,SAACgC,GACT6F,EAAY,sBAAuB7F,EAAE9B,OAAO7E,MAC9C,EACAD,MAAM,sBACNC,MAAO6Q,EACPnC,YAAY,gDAGhB,sBAAU7P,UAAWJ,EAAQmM,WAAW,WACtC,mBAAQ/L,UAAWJ,EAAQ6P,gBAAgB,SAAC,wEAG5C,SAACxL,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,SACf8R,EAAU5N,KAAI,SAACuO,EAAGrO,GACjB,OACE,SAAC,EAAAkO,SAAQ,WACP,iBAAKzS,UAAWJ,EAAQ4R,aAAa,WACnC,SAAC5B,EAAA,EAAe,CACdpP,GAAE,oBAAe+D,EAAMoE,YACvBzH,MAAO,GACP2O,YAAY,GACZ/I,KAAI,oBAAevC,EAAMoE,YACzBxH,MAAO8Q,EAAU1N,GACjBuB,SAAU,SAACgC,GACTkC,GACE6I,EAAAA,EAAAA,IAAmB,CACjBtO,MAAOA,EACPuO,OAAQhL,EAAE9B,OAAO7E,SAGrB+N,EAAgB,aAAD,OAAc3K,EAAMoE,YACrC,EACApE,MAAOA,EAEP0C,MACEwG,EAAiB,aAAD,OAAclJ,EAAMoE,cAAiB,IACtD,wBAHqBpE,EAAMoE,cAK9B,iBAAK3I,UAAWJ,EAAQ6R,WAAW,WACjC,SAAC7J,EAAA,EAAO,CAAC9H,MAAM,WAAW,aAAW,MAAK,UACxC,SAACiJ,EAAA,EAAU,CACTI,KAAM,QACNvH,QAAS,WACPoI,GAAS+I,EAAAA,EAAAA,MACX,EAAE,UAEF,SAAC7C,EAAA,EAAO,SAGZ,SAACtI,EAAA,EAAO,CAAC9H,MAAM,SAAS,aAAW,MAAK,UACtC,SAACiJ,EAAA,EAAU,CACTI,KAAM,QACNrH,MAAO,CAAEsE,WAAY,IACrBxE,QAAS,WACHqQ,EAAU7M,OAAS,GACrB4E,GAASgJ,EAAAA,EAAAA,IAAsBzO,GAEnC,EAAE,UAEF,SAAC0O,EAAA,EAAU,eAIb,wBAhDwB1O,EAAMoE,YAmD1C,UAGJ,sBAAU3I,UAAWJ,EAAQmM,WAAW,WACtC,mBAAQ/L,UAAWJ,EAAQ6P,gBAAgB,SAAC,yEAG5C,SAACxL,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,SACf+R,EAAW7N,KAAI,SAACuO,EAAGrO,GAClB,OACE,SAAC,EAAAkO,SAAQ,WACP,iBAAKzS,UAAWJ,EAAQ4R,aAAa,WACnC,SAAC5B,EAAA,EAAe,CACdpP,GAAE,qBAAgB+D,EAAMoE,YACxBzH,MAAO,GACP2O,YAAY,GACZ/I,KAAI,qBAAgBvC,EAAMoE,YAC1BxH,MAAO+Q,EAAW3N,GAClBuB,SAAU,SAACgC,GACTkC,GACEkJ,EAAAA,EAAAA,IAAqB,CACnB3O,MAAOA,EACPuO,OAAQhL,EAAE9B,OAAO7E,SAGrB+N,EAAgB,cAAD,OAAe3K,EAAMoE,YACtC,EACApE,MAAOA,EAEP0C,MACEwG,EAAiB,cAAD,OAAelJ,EAAMoE,cAAiB,IACvD,yBAHsBpE,EAAMoE,cAK/B,iBAAK3I,UAAWJ,EAAQ6R,WAAW,WACjC,SAAC7J,EAAA,EAAO,CAAC9H,MAAM,YAAY,aAAW,MAAK,UACzC,SAACiJ,EAAA,EAAU,CACTI,KAAM,QACNvH,QAAS,WACPoI,GAASmJ,EAAAA,EAAAA,MACX,EAAE,UAEF,SAACjD,EAAA,EAAO,SAGZ,SAACtI,EAAA,EAAO,CAAC9H,MAAM,SAAS,aAAW,MAAK,UACtC,SAACiJ,EAAA,EAAU,CACTI,KAAM,QACNrH,MAAO,CAAEsE,WAAY,IACrBxE,QAAS,WACHsQ,EAAW9M,OAAS,GACtB4E,GAASoJ,EAAAA,EAAAA,IAAwB7O,GAErC,EAAE,UAEF,SAAC0O,EAAA,EAAU,eAIb,wBAhDwB1O,EAAMoE,YAmD1C,WAKV,EC1aM2I,GAAYC,EAAAA,EAAAA,IAAW,SAAC/S,GAAY,OACxCC,EAAAA,EAAAA,IAAa,gCACXgT,WAAY,CACVrL,WAAY,GACZ9G,QAAS,OACTG,OAAQ,GACR,WAAY,CACVsB,WAAY,YAGhB0L,cAAe,CACbrG,WAAY,GACZ,QAAS,CACPI,SAAU,GACVrD,UAAW,IAEb,WAAY,CACVpC,WAAY,aAGbiL,EAAAA,IACAY,EAAAA,IACAF,EAAAA,IACAC,EAAAA,IACH,IA+LJ,EA5LkB,WAChB,IAAM3C,GAAWC,EAAAA,EAAAA,MACXrK,EAAU0R,IAEVI,GAAerH,EAAAA,EAAAA,KACnB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAO4E,iBAAiBD,YAAY,IAExE2B,GAAyBhJ,EAAAA,EAAAA,KAC7B,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAO4E,iBAAiB0B,sBAAsB,IAE/DC,GAAiBjJ,EAAAA,EAAAA,KACrB,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAO4E,iBAAiB2B,cAAc,IAEvDC,GAAiBlJ,EAAAA,EAAAA,KACrB,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAO4E,iBAAiB4B,cAAc,IAEvDC,GAAoBnJ,EAAAA,EAAAA,KACxB,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAO4E,iBAAiB6B,iBAAiB,IAE1DC,GAAkBpJ,EAAAA,EAAAA,KACtB,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAO4E,iBAAiB8B,eAAe,IAExDC,GAAerJ,EAAAA,EAAAA,KACnB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAO4E,iBAAiB+B,YAAY,IAG9E,GAAgDvM,EAAAA,EAAAA,UAAc,CAAC,GAAE,eAA1DsG,EAAgB,KAAEC,EAAmB,KAEtCC,GAAcC,EAAAA,EAAAA,cAClB,SAACC,EAAe1M,GACd6I,GACE8D,EAAAA,EAAAA,IAAe,CACbC,SAAU,mBACVF,MAAOA,EACP1M,MAAOA,IAGb,GACA,CAAC6I,IAGGkF,EAAkB,SAACC,GACvBzB,GAAoB0B,EAAAA,EAAAA,IAAqB3B,EAAkB0B,GAC7D,EAmDA,OAhDA1E,EAAAA,EAAAA,YAAU,WACR,IAAI+H,EAAqC,GAEpB,WAAjBd,IACFc,EAAmB,kBACdA,GAAmB,CACtB,CACEvE,SAAU,2BACVjH,UAAU,EACV7F,MAAOkS,GAET,CACEpF,SAAU,kBACVjH,UAAU,EACV7F,MAAOmS,GAET,CACErF,SAAU,kBACVjH,UAAU,EACV7F,MAAOoS,GAET,CACEtF,SAAU,mBACVjH,UAAU,EACV7F,MAAOsS,MAKb,IAAM7E,GAAYC,EAAAA,EAAAA,GAAqB2D,GAEvCxI,GACE8E,EAAAA,EAAAA,IAAY,CACVf,SAAU,mBACVgB,MAAyC,IAAlCC,OAAOC,KAAKL,GAAWxJ,UAIlCsI,EAAoBkB,EACtB,GAAG,CACD8C,EACA4B,EACAC,EACAF,EACAI,EACAzJ,KAIA,UAAC,EAAAyI,SAAQ,YACP,SAACxO,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,2BACHsG,KAAK,2BACLhB,SAAU,SAACgC,GACT6F,EAAY,yBAA0B7F,EAAE9B,OAAO7E,OAC/C+N,EAAgB,2BAClB,EACAhO,MAAM,oBACNC,MAAOkS,EACPxD,YAAY,sEACZ5I,MAAOwG,EAA2C,0BAAK,GACvDzG,UAAQ,OAGZ,SAAC/C,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,kBACHsG,KAAK,kBACLhB,SAAU,SAACgC,GACT6F,EAAY,iBAAkB7F,EAAE9B,OAAO7E,OACvC+N,EAAgB,kBAClB,EACAhO,MAAM,YACNC,MAAOmS,EACPrM,MAAOwG,EAAkC,iBAAK,GAC9CzG,UAAQ,OAGZ,SAAC/C,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,kBACHsG,KAAK,kBACLhB,SAAU,SAACgC,GACT6F,EAAY,iBAAkB7F,EAAE9B,OAAO7E,OACvC+N,EAAgB,kBAClB,EACAhO,MAAM,YACNC,MAAOoS,EACPtM,MAAOwG,EAAkC,iBAAK,GAC9CzG,UAAQ,OAGZ,SAAC/C,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,qBACHsG,KAAK,qBACLhB,SAAU,SAACgC,GACT6F,EAAY,oBAAqB7F,EAAE9B,OAAO7E,OAC1C+N,EAAgB,qBAClB,EACAhO,MAAM,eACNC,MAAOqS,EACP3D,YAAY,oDACZ5I,MAAOwG,EAAqC,oBAAK,QAGrD,SAACxJ,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,mBACHsG,KAAK,mBACLhB,SAAU,SAACgC,GACT6F,EAAY,kBAAmB7F,EAAE9B,OAAO7E,OACxC+N,EAAgB,mBAClB,EACAhO,MAAM,aACNC,MAAOsS,EACPxM,MAAOwG,EAAmC,kBAAK,GAC/CzG,UAAQ,OAGZ,SAAC/C,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,gBACHsG,KAAK,gBACLhB,SAAU,SAACgC,GACT6F,EAAY,eAAgB7F,EAAE9B,OAAO7E,OACrC+N,EAAgB,gBAClB,EACAhO,MAAM,SACNC,MAAOuS,QAKjB,E,WC5MMpC,GAAYC,EAAAA,EAAAA,IAAW,SAAC/S,GAAY,OACxCC,EAAAA,EAAAA,IAAa,gCACXgT,WAAY,CACVrL,WAAY,GACZ9G,QAAS,OACTG,OAAQ,GACR,WAAY,CACVsB,WAAY,YAGhB0L,cAAe,CACbrG,WAAY,GACZ,QAAS,CACPI,SAAU,GACVrD,UAAW,IAEb,WAAY,CACVpC,WAAY,YAGhB4S,UAAW,CACTC,oBAAqB,sBACrBtU,QAAS,OACTuU,QAAS,GACTxU,aAAc,GACd,UAAW,CACTD,WAAY,OAGb4M,EAAAA,IACAY,EAAAA,IACAF,EAAAA,IACAC,EAAAA,IACH,IA+JJ,EA5JmB,WACjB,IAAM3C,GAAWC,EAAAA,EAAAA,MACXrK,EAAU0R,IAEVI,GAAerH,EAAAA,EAAAA,KACnB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAO4E,iBAAiBD,YAAY,IAExEoC,GAAazJ,EAAAA,EAAAA,KACjB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAO4E,iBAAiBmC,UAAU,IAEtEC,GAAa1J,EAAAA,EAAAA,KACjB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAO4E,iBAAiBoC,UAAU,IAG5E,GAAgD5M,EAAAA,EAAAA,UAAc,CAAC,GAAE,eAA1DsG,EAAgB,KAAEC,EAAmB,KAEtCwB,EAAkB,SAACC,GACvBzB,GAAoB0B,EAAAA,EAAAA,IAAqB3B,EAAkB0B,GAC7D,EAsCA,OAnCA1E,EAAAA,EAAAA,YAAU,WACR,IAAI+H,EAAqC,GAEzC,GAAqB,aAAjBd,EAA6B,CAC/Bc,GAAmB,OAAOA,GAC1B,IAAK,IAAItB,EAAI,EAAGA,EAAI4C,EAAW1O,OAAQ8L,IACrCsB,EAAoBrB,KAAK,CACvBlD,SAAS,aAAD,OAAeiD,EAAEvI,YACzB3B,UAAU,EACV7F,MAAO2S,EAAW5C,GAClBxC,QAAS,uBACTC,qBAAsB,mCAExB6D,EAAoBrB,KAAK,CACvBlD,SAAS,aAAD,OAAeiD,EAAEvI,YACzB3B,UAAU,EACV7F,MAAO4S,EAAW7C,GAClBxC,QAAS,uBACTC,qBAAsB,kCAG5B,CAEA,IAAMC,GAAYC,EAAAA,EAAAA,GAAqB2D,GAEvCxI,GACE8E,EAAAA,EAAAA,IAAY,CACVf,SAAU,mBACVgB,MAAyC,IAAlCC,OAAOC,KAAKL,GAAWxJ,UAIlCsI,EAAoBkB,EACtB,GAAG,CAAC8C,EAAcoC,EAAYC,EAAY/J,KAGxC,UAAC,EAAAyI,SAAQ,WAAC,uBAEPqB,EAAWzP,KAAI,SAACuO,EAAGrO,GAClB,OACE,SAAC,EAAAkO,SAAQ,WACP,iBAAKzS,UAAWJ,EAAQ+T,UAAU,WAChC,SAAC/D,EAAA,EAAe,CACdpP,GAAE,oBAAe+D,EAAMoE,YACvBzH,MAAO,GACP2O,YAAa,aACb/I,KAAI,oBAAevC,EAAMoE,YACzBxH,MAAO2S,EAAWvP,GAClBuB,SAAU,SAACgC,GACTkC,GACEgK,EAAAA,EAAAA,IAAiB,CACfzP,MAAAA,EACAC,UAAWsD,EAAE9B,OAAO7E,SAGxB+N,EAAgB,aAAD,OAAc3K,EAAMoE,YACrC,EACApE,MAAOA,EAEP0C,MAAOwG,EAAiB,aAAD,OAAclJ,EAAMoE,cAAiB,IAAG,wBADzCpE,EAAMoE,cAG9B,SAACiH,EAAA,EAAe,CACdpP,GAAE,oBAAe+D,EAAMoE,YACvBzH,MAAO,GACP2O,YAAa,aACb/I,KAAI,oBAAevC,EAAMoE,YACzBxH,MAAO4S,EAAWxP,GAClBuB,SAAU,SAACgC,GACTkC,GACEiK,EAAAA,EAAAA,IAAiB,CACf1P,MAAAA,EACAE,UAAWqD,EAAE9B,OAAO7E,SAGxB+N,EAAgB,aAAD,OAAc3K,EAAMoE,YACrC,EACApE,MAAOA,EAEP0C,MAAOwG,EAAiB,aAAD,OAAclJ,EAAMoE,cAAiB,IAAG,wBADzCpE,EAAMoE,cAG9B,iBAAK3I,UAAWJ,EAAQ6R,WAAW,WACjC,gBAAKzR,UAAWJ,EAAQ6M,cAAc,UACpC,SAAC1D,EAAA,EAAU,CACTI,KAAM,QACNvH,QAAS,WACPoI,GAASkK,EAAAA,EAAAA,MACX,EACAnN,SAAUxC,IAAUuP,EAAW1O,OAAS,EAAE,UAE1C,SAAC8K,EAAA,EAAO,SAGZ,gBAAKlQ,UAAWJ,EAAQ6M,cAAc,UACpC,SAAC1D,EAAA,EAAU,CACTI,KAAM,QACNvH,QAAS,WACPoI,GAASmK,EAAAA,EAAAA,IAAwB5P,GACnC,EACAwC,SAAU+M,EAAW1O,QAAU,EAAE,UAEjC,SAACgL,EAAA,EAAU,SAGf,SAACxI,EAAA,EAAO,CAAC9H,MAAM,wBAAwB,aAAW,MAAK,UACrD,gBAAKE,UAAWJ,EAAQ6M,cAAc,UACpC,SAAC1D,EAAA,EAAU,CACTnH,QAAS,WACPoI,GACEgK,EAAAA,EAAAA,IAAiB,CACfzP,MAAAA,EACAC,WAAW4P,EAAAA,EAAAA,IAAgB,OAG/BpK,GACEiK,EAAAA,EAAAA,IAAiB,CACf1P,MAAAA,EACAE,WAAW2P,EAAAA,EAAAA,IAAgB,MAGjC,EACAjL,KAAM,QAAQ,UAEd,SAACkL,EAAA,EAAU,iBAKf,wBAvFwB9P,EAAMoE,YA0F1C,MAGN,E,WCrMM2I,GAAYC,EAAAA,EAAAA,IAAW,SAAC/S,GAAY,OACxCC,EAAAA,EAAAA,IAAa,wBACX6V,qBAAsB,CACpBhV,QAAS,OACTsB,SAAU,SACVvB,aAAc,GAEd,UAAW,CACTF,SAAU,GACVC,WAAY,KAEd,QAAS,CACPE,QAAS,OACTsB,SAAU,MACVrB,WAAY,SAGbyM,EAAAA,IACAU,EAAAA,IACAC,EAAAA,IACH,IA2CJ,EAxCyB,WACvB,IAAM3C,GAAWC,EAAAA,EAAAA,MACXrK,EAAU0R,IAEVI,GAAerH,EAAAA,EAAAA,KACnB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAO4E,iBAAiBD,YAAY,IAG9E,OACE,UAACrC,EAAA,EAAK,CAACrP,UAAWJ,EAAQ0P,aAAa,WACrC,iBAAKtP,UAAWJ,EAAQ2P,cAAc,WACpC,eAAIvP,UAAWJ,EAAQ4P,UAAU,SAAC,uBAClC,iBAAMxP,UAAWJ,EAAQ6P,gBAAgB,SAAC,iFAK5C,SAACxL,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIU,QAAQ,OAAM,UAC/B,SAAC0T,EAAA,EAAkB,CACjBC,iBAAkB9C,EAClBlR,GAAG,cACHsG,KAAK,cACL5F,MAAM,WACN4E,SAAU,SAACgC,GACTkC,GAASyK,EAAAA,EAAAA,IAAO3M,EAAE9B,OAAO7E,OAC3B,EACAuT,gBAAiB,CACf,CAAExT,OAAO,SAAC,KAAkB,IAAKC,MAAO,YACxC,CAAED,OAAO,SAAC,KAAe,IAAKC,MAAO,UACrC,CAAED,OAAO,SAAC,KAAe,IAAKC,MAAO,WAIzB,aAAjBuQ,IAA+B,SAAC,EAAU,IACzB,WAAjBA,IAA6B,SAAC,EAAS,IACtB,OAAjBA,IAAyB,SAAC,EAAkB,MAGnD,E,sBC8VA,GAAenT,EAAAA,EAAAA,IA7YA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,IAAa,wBACXkW,qBAAsB,CACpBrV,QAAS,OACTC,WAAY,SACZwD,eAAgB,aAChBqJ,aAAc,oBACd,eAAgB,CACdA,aAAc,GAEhB,4BAA6B,CAC3BC,KAAM,IAGVE,SAAU,CACR/M,YAAa,GACbF,QAAS,OACT,cAAe,CACbgN,SAAU,IAGZ,4BAA6B,CAC3B1L,SAAU,WAGdgU,oBAAqB,CACnBvV,aAAc,IAEhBwV,gBAAiB,CACfvV,QAAS,OACTC,WAAY,SACZwD,eAAgB,aAEhBqJ,aAAc,oBACd,eAAgB,CACdA,aAAc,GAEhB,4BAA6B,CAC3BC,KAAM,EAEN,cAAe,CACbC,SAAU,MAIhBE,WAAY,CACVlN,QAAS,OACTyD,eAAgB,WAChB,4BAA6B,CAC3BsJ,KAAM,IAGVI,cAAe,CACbrG,WAAY,GACZ,QAAS,CACPI,SAAU,GACVrD,UAAW,IAEb,WAAY,CACVpC,WAAY,aAIbiL,EAAAA,IACAU,EAAAA,IACAC,EAAAA,IACF,GA2UL,EAzUiB,SAAH,GAAqC,IAA/B/M,EAAO,EAAPA,QACZoK,GAAWC,EAAAA,EAAAA,MAEX6K,GAAYzK,EAAAA,EAAAA,KAChB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOgI,SAASD,SAAS,IAE7DE,GAAiB3K,EAAAA,EAAAA,KACrB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOgI,SAASC,cAAc,IAElEC,GAAoB5K,EAAAA,EAAAA,KACxB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOgI,SAASE,iBAAiB,IAErEC,GAAoB7K,EAAAA,EAAAA,KACxB,SAACC,GAAe,OAAKA,EAAMwC,aAAaqI,aAAaC,uBAAuB,IAExEC,GAA0BhL,EAAAA,EAAAA,KAC9B,SAACC,GAAe,OAAKA,EAAMwC,aAAaqI,aAAaE,uBAAuB,IAExEC,GAAiBjL,EAAAA,EAAAA,KACrB,SAACC,GAAe,OAAKA,EAAMwC,aAAaqI,aAAaI,oBAAoB,IAIrE5H,GAAcC,EAAAA,EAAAA,cAClB,SAACC,EAAe1M,GACd6I,GACE8D,EAAAA,EAAAA,IAAe,CAAEC,SAAU,WAAYF,MAAOA,EAAO1M,MAAOA,IAEhE,GACA,CAAC6I,IAqBH,OAhBAS,EAAAA,EAAAA,YAAU,WAMNT,EALG8K,EAIDE,GAIAC,GAHOnG,EAAAA,EAAAA,IAAY,CAAEf,SAAU,WAAYgB,OAAO,KAO7CD,EAAAA,EAAAA,IAAY,CAAEf,SAAU,WAAYgB,OAAO,KAXzCD,EAAAA,EAAAA,IAAY,CAAEf,SAAU,WAAYgB,OAAO,IAYxD,GAAG,CAAC+F,EAAWE,EAAgBC,EAAmBjL,KAGhD,UAACqF,EAAA,EAAK,CAACrP,UAAWJ,EAAQ0P,aAAa,WACrC,gBAAKtP,UAAWJ,EAAQ2P,cAAc,UACpC,eAAIvP,UAAWJ,EAAQ4P,UAAU,SAAC,gBAEpC,UAACvL,EAAA,GAAI,CAAChE,WAAS,EAACuV,QAAS,EAAE,WACzB,SAACvR,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,UAChB,SAACuP,EAAA,EAAiB,CAChBvO,MAAM,YACNX,GAAG,YACHsG,KAAK,YACL6I,QAASmF,EACThP,SAAU,SAACgC,GACT,IACM6H,EADU7H,EAAE9B,OACM2J,QAExBhC,EAAY,YAAagC,EAC3B,EACAzO,MAAO,MACPuU,YACE,wFAILX,IACC,UAAC,EAAArC,SAAQ,YACP,SAACxO,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,UAChB,SAACuP,EAAA,EAAiB,CAChBvO,MAAM,iBACNX,GAAG,iBACHsG,KAAK,iBACL6I,QAASqF,EACTlP,SAAU,SAACgC,GACT,IACM6H,EADU7H,EAAE9B,OACM2J,QACxBhC,EAAY,iBAAkBgC,EAChC,EACAzO,MAAO,WACPuU,YACE,kFAIN,SAACxR,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,UAChB,SAACuP,EAAA,EAAiB,CAChBvO,MAAM,oBACNX,GAAG,oBACHsG,KAAK,oBACL6I,QAASsF,EACTnP,SAAU,SAACgC,GACT,IACM6H,EADU7H,EAAE9B,OACM2J,QACxBhC,EAAY,oBAAqBgC,EACnC,EACAzO,MAAO,sBACPuU,YAAa,mDAGhBR,IACC,UAAC,EAAAxC,SAAQ,YACLuC,IACA,SAAC/Q,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,UAChB,SAACuV,EAAA,EAAU,OAGf,UAACzR,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQgV,oBAAoB,WACxD,wBAAI,8BACHM,EAAkB7Q,KAAI,SAAC4M,EAAkB1M,GAAK,OAC7C,UAACN,EAAA,GAAI,CACH/D,MAAI,EACJC,GAAI,GAEJH,UAAWJ,EAAQ+U,qBAAqB,WAExC,UAAC1Q,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2M,SAAS,WAC7C,SAACoJ,EAAA,EAAY,CACX7P,SAAU,SAAC8P,EAAc7N,GACvBiC,GACE6L,EAAAA,EAAAA,IAAiB,CACfrV,GAAIyQ,EAAQzQ,GACZsQ,IAAK,OACL/I,SAAUA,EACV5G,MAAOyU,IAGb,EACA1O,OAAO,uBACP1G,GAAG,UACHsG,KAAK,UACL5F,MAAM,OACNC,MAAO8P,EAAQ6E,QAEjB,SAACH,EAAA,EAAY,CACX7P,SAAU,SAAC8P,EAAc7N,GACvBiC,GACE6L,EAAAA,EAAAA,IAAiB,CACfrV,GAAIyQ,EAAQzQ,GACZsQ,IAAK,MACL/I,SAAUA,EACV5G,MAAOyU,IAGb,EACA1O,OAAO,YACP1G,GAAG,SACHsG,KAAK,SACL5F,MAAM,MACNC,MAAO8P,EAAQH,UAInB,UAAC7M,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,EAAGH,UAAWJ,EAAQ4M,WAAW,WAC9C,gBAAKxM,UAAWJ,EAAQ6M,cAAc,UACpC,SAAC1D,EAAA,EAAU,CACTI,KAAM,QACNvH,QAAS,WACPoI,GAAS+L,EAAAA,EAAAA,MACX,EACAhP,SAAUxC,IAAU2Q,EAAkB9P,OAAS,EAAE,UAEjD,SAAC8K,EAAA,EAAO,SAGZ,gBAAKlQ,UAAWJ,EAAQ6M,cAAc,UACpC,SAAC1D,EAAA,EAAU,CACTI,KAAM,QACNvH,QAAS,WACPoI,GAASgM,EAAAA,EAAAA,IAAc/E,EAAQzQ,IACjC,EACAuG,SAAUmO,EAAkB9P,QAAU,EAAE,UAExC,SAACgL,EAAA,EAAU,aAGV,sBA/Daa,EAAQzQ,IAgEvB,QAGX,UAACyD,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQgV,oBAAoB,WACxD,wBAAI,8BACHS,EAAwBhR,KAAI,SAAC4M,EAAkB1M,GAAK,OACnD,UAACN,EAAA,GAAI,CACH/D,MAAI,EACJC,GAAI,GAEJH,UAAWJ,EAAQ+U,qBAAqB,WAExC,UAAC1Q,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2M,SAAS,WAC7C,SAACoJ,EAAA,EAAY,CACX7P,SAAU,SAAC8P,EAAc7N,GACvBiC,GACEiM,EAAAA,EAAAA,IAAuB,CACrBzV,GAAIyQ,EAAQzQ,GACZsQ,IAAK,OACL/I,SAAUA,EACV5G,MAAOyU,IAGb,EACA1O,OAAO,uBACP1G,GAAG,UACHsG,KAAK,UACL5F,MAAM,OACNC,MAAO8P,EAAQ6E,QAEjB,SAACH,EAAA,EAAY,CACX7P,SAAU,SAAC8P,EAAc7N,GACvBiC,GACEiM,EAAAA,EAAAA,IAAuB,CACrBzV,GAAIyQ,EAAQzQ,GACZsQ,IAAK,MACL/I,SAAUA,EACV5G,MAAOyU,IAGb,EACA1O,OAAO,YACP1G,GAAG,SACHsG,KAAK,SACL5F,MAAM,MACNC,MAAO8P,EAAQH,UAInB,UAAC7M,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,EAAGH,UAAWJ,EAAQ4M,WAAW,WAC9C,gBAAKxM,UAAWJ,EAAQ6M,cAAc,UACpC,SAAC1D,EAAA,EAAU,CACTI,KAAM,QACNvH,QAAS,WACPoI,GAASkM,EAAAA,EAAAA,MACX,EACAnP,SACExC,IAAU8Q,EAAwBjQ,OAAS,EAC5C,UAED,SAAC8K,EAAA,EAAO,SAGZ,gBAAKlQ,UAAWJ,EAAQ6M,cAAc,UACpC,SAAC1D,EAAA,EAAU,CACTI,KAAM,QACNvH,QAAS,WACPoI,GAASmM,EAAAA,EAAAA,IAAoBlF,EAAQzQ,IACvC,EACAuG,SAAUsO,EAAwBjQ,QAAU,EAAE,UAE9C,SAACgL,EAAA,EAAU,aAGV,sBAjEaa,EAAQzQ,IAkEvB,QAGX,UAACyD,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQgV,oBAAoB,WACxD,wBAAI,0BACHU,EAAejR,KAAI,SAAC4M,EAAkB1M,GAAK,OAC1C,UAACN,EAAA,GAAI,CACH/D,MAAI,EACJC,GAAI,GAEJH,UAAWJ,EAAQiV,gBAAgB,WAEnC,SAAC5Q,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,EAAE,UACf,SAACwV,EAAA,EAAY,CACX7P,SAAU,SAAC8P,EAAc7N,GACvBiC,GACEoM,EAAAA,EAAAA,IAAwB,CACtB5V,GAAIyQ,EAAQzQ,GACZsQ,IAAK,OACL/I,SAAUA,EACV5G,MAAOyU,IAGb,EACA1O,OAAO,uBACP1G,GAAG,UACHsG,KAAK,UACL5F,MAAM,OACNC,MAAO8P,EAAQ6E,UAGnB,SAAC7R,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,EAAE,UACf,iBAAKH,UAAWJ,EAAQ4M,WAAW,WACjC,gBAAKxM,UAAWJ,EAAQ6M,cAAc,UACpC,SAAC1D,EAAA,EAAU,CACTI,KAAM,QACNvH,QAAS,WACPoI,GAASqM,EAAAA,EAAAA,MACX,EACAtP,SAAUxC,IAAU+Q,EAAelQ,OAAS,EAAE,UAE9C,SAAC8K,EAAA,EAAO,SAGZ,gBAAKlQ,UAAWJ,EAAQ6M,cAAc,UACpC,SAAC1D,EAAA,EAAU,CACTI,KAAM,QACNvH,QAAS,WACPoI,GAASsM,EAAAA,EAAAA,IAAoBrF,EAAQzQ,IACvC,EACAuG,SAAUuO,EAAelQ,QAAU,EAAE,UAErC,SAACgL,EAAA,EAAU,eAIZ,yBA/CgBa,EAAQzQ,IAgD1B,kBAU3B,IClaA,EARmC,SAAH,GAAsB,IAAhBqJ,EAAQ,EAARA,SACpC,OACE,eAAI/H,MAAO,CAAEc,OAAQ,EAAGvD,aAAc,QAASF,SAAU,UAAW,SACjE0K,GAGP,ECUMyH,GAAYC,EAAAA,EAAAA,IAAW,SAAC/S,GAAY,OACxCC,EAAAA,EAAAA,IAAa,kCACRuN,EAAAA,IACAY,EAAAA,IACAF,EAAAA,IACAC,EAAAA,IACH,IA2PJ,EAxPoB,WAClB,IAAM3C,GAAWC,EAAAA,EAAAA,MACXrK,EAAU0R,IAEViF,GAAgBlM,EAAAA,EAAAA,KACpB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWD,aAAa,IAEnEE,GAAgBpM,EAAAA,EAAAA,KACpB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWC,aAAa,IAEnEC,GAAcrM,EAAAA,EAAAA,KAClB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWE,WAAW,IAEjEC,GAAiBtM,EAAAA,EAAAA,KACrB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWG,cAAc,IAEpEC,GAAcvM,EAAAA,EAAAA,KAClB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWI,WAAW,IAEjEC,GAAqBxM,EAAAA,EAAAA,KACzB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWK,kBAAkB,IAExEC,GAAUzM,EAAAA,EAAAA,KACd,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWM,OAAO,IAE7DC,GAAc1M,EAAAA,EAAAA,KAClB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWO,WAAW,IAEjEC,GAAa3M,EAAAA,EAAAA,KACjB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWQ,UAAU,IAEhEC,GAAY5M,EAAAA,EAAAA,KAChB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWS,SAAS,IAGrE,GAAgD9P,EAAAA,EAAAA,UAAc,CAAC,GAAE,eAA1DsG,EAAgB,KAAEC,EAAmB,MAG5CjD,EAAAA,EAAAA,YAAU,WACR,IAAIyM,EAAsC,GAErCX,IACHW,EAAoB,kBACfA,GAAoB,CACvB,CACEjJ,SAAU,iBACVjH,UAAU,EACV7F,MAAOsV,GAET,CACExI,SAAU,WACVjH,UAAU,EACV7F,MAAO2V,GAET,CACE7I,SAAU,eACVjH,UAAU,EACV7F,MAAO4V,GAET,CACE9I,SAAU,aACVjH,UAAU,EACV7F,MAAO8V,EACP9I,iBAAkBC,SAAS6I,GAAa,EACxC5I,wBAAyB,kCAE3B,CACEJ,SAAU,cACVjH,UAAU,EACV7F,MAAO6V,EACP7I,iBAAkBC,SAAS4I,GAAc,EACzC3I,wBAAyB,qCAK/B,IAAMO,GAAYC,EAAAA,EAAAA,GAAqBqI,GAEvClN,GACE8E,EAAAA,EAAAA,IAAY,CACVf,SAAU,aACVgB,MAAyC,IAAlCC,OAAOC,KAAKL,GAAWxJ,UAIlCsI,EAAoBkB,EACtB,GAAG,CACD2H,EACAE,EACAC,EACAI,EACAC,EACAE,EACAD,EACAhN,IAIF,IAAM2D,GAAcC,EAAAA,EAAAA,cAClB,SAACC,EAAe1M,GACd6I,GACE8D,EAAAA,EAAAA,IAAe,CAAEC,SAAU,aAAcF,MAAOA,EAAO1M,MAAOA,IAElE,GACA,CAAC6I,IAGGkF,EAAkB,SAACC,GACvBzB,GAAoB0B,EAAAA,EAAAA,IAAqB3B,EAAkB0B,GAC7D,EAEA,OACE,UAAC,EAAAsD,SAAQ,YACP,SAACxO,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,iBACHsG,KAAK,iBACLhB,SAAU,SAACgC,GACT6F,EAAY,gBAAiB7F,EAAE9B,OAAO7E,OACtC+N,EAAgB,iBAClB,EACAhO,MAAM,WACNC,MAAOsV,EACPxP,MAAOwG,EAAiC,gBAAK,GAC7CzG,UAAQ,OAGZ,SAAC/C,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,eACHsG,KAAK,eACLhB,SAAU,SAACgC,GACT6F,EAAY,cAAe7F,EAAE9B,OAAO7E,OACpC+N,EAAgB,eAClB,EACAhO,MAAM,SACNC,MAAOuV,OAGX,SAACzS,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,kBACHsG,KAAK,kBACLhB,SAAU,SAACgC,GACT6F,EAAY,iBAAkB7F,EAAE9B,OAAO7E,MACzC,EACAD,MAAM,YACNC,MAAOwV,OAGX,SAAC1S,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,eACHsG,KAAK,eACLhB,SAAU,SAACgC,GACT6F,EAAY,cAAe7F,EAAE9B,OAAO7E,MACtC,EACAD,MAAM,SACNC,MAAOyV,OAIX,SAAC3S,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,UAChB,sBAAUH,UAAWJ,EAAQmM,WAAW,WACtC,mBAAQ/L,UAAWJ,EAAQ6P,gBAAgB,SAAC,cAC5C,SAACxL,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,uBACHsG,KAAK,uBACLhB,SAAU,SAACgC,GACT6F,EAAY,qBAAsB7F,EAAE9B,OAAO7E,MAC7C,EACAD,MAAM,SACNC,MAAO0V,OAGX,SAAC5S,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,WACHsG,KAAK,WACLhB,SAAU,SAACgC,GACT6F,EAAY,UAAW7F,EAAE9B,OAAO7E,OAChC+N,EAAgB,WAClB,EACAhO,MAAM,aACNC,MAAO2V,EACP7P,MAAOwG,EAA2B,UAAK,GACvCzG,UAAQ,OAGZ,SAAC/C,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,eACHsG,KAAK,eACLhB,SAAU,SAACgC,GACT6F,EAAY,cAAe7F,EAAE9B,OAAO7E,OACpC+N,EAAgB,eAClB,EACAhO,MAAM,iBACNC,MAAO4V,EACP9P,MAAOwG,EAA+B,cAAK,GAC3CzG,UAAQ,OAGZ,SAAC/C,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdvJ,KAAK,SACLiK,IAAI,IACJ9P,GAAG,cACHsG,KAAK,cACLhB,SAAU,SAACgC,GACT6F,EAAY,aAAc7F,EAAE9B,OAAO7E,OACnC+N,EAAgB,cAClB,EACAhO,MAAM,kBACNC,MAAO6V,EACP/P,MAAOwG,EAA8B,aAAK,aAKlD,SAACxJ,EAAA,GAAI,CACH/D,MAAI,EACJC,GAAI,GACJH,UAAWJ,EAAQiR,aACnB/O,MAAO,CAAEkB,UAAW,IAAK,UAEzB,sBAAUhD,UAAWJ,EAAQmM,WAAW,WACtC,mBAAQ/L,UAAWJ,EAAQ6P,gBAAgB,SAAC,YAC5C,SAACG,EAAA,EAAe,CACdvJ,KAAK,SACLiK,IAAI,IACJ9P,GAAG,aACHsG,KAAK,aACLhB,SAAU,SAACgC,GACT6F,EAAY,YAAa7F,EAAE9B,OAAO7E,OAClC+N,EAAgB,aAClB,EACAhO,MAAM,iBACNC,MAAO8V,EACPhQ,MAAOwG,EAA6B,YAAK,YAMrD,EChQM6D,GAAYC,EAAAA,EAAAA,IAAW,SAAC/S,GAAY,OACxCC,EAAAA,EAAAA,IAAa,kCACRuN,EAAAA,IACAY,EAAAA,IACAF,EAAAA,IACAC,EAAAA,IACH,IAuJJ,EApJoB,WAClB,IAAM3C,GAAWC,EAAAA,EAAAA,MACXrK,EAAU0R,IAEViF,GAAgBlM,EAAAA,EAAAA,KACpB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWD,aAAa,IAEnEY,GAAgB9M,EAAAA,EAAAA,KACpB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWW,aAAa,IAEnEC,GAAgB/M,EAAAA,EAAAA,KACpB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWY,aAAa,IAEnEC,GAAgBhN,EAAAA,EAAAA,KACpB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWa,aAAa,IAEnEC,GAAoBjN,EAAAA,EAAAA,KACxB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWc,iBAAiB,IAG7E,GAAgDnQ,EAAAA,EAAAA,UAAc,CAAC,GAAE,eAA1DsG,EAAgB,KAAEC,EAAmB,MAG5CjD,EAAAA,EAAAA,YAAU,WACR,IAAIyM,EAAsC,GAErCX,IACHW,EAAoB,kBACfA,GAAoB,CACvB,CACEjJ,SAAU,iBACVjH,UAAU,EACV7F,MAAOgW,GAET,CACElJ,SAAU,kBACVjH,UAAU,EACV7F,MAAOiW,GAET,CACEnJ,SAAU,kBACVjH,UAAU,EACV7F,MAAOkW,GAET,CACEpJ,SAAU,sBACVjH,UAAU,EACV7F,MAAOmW,MAKb,IAAM1I,GAAYC,EAAAA,EAAAA,GAAqBqI,GAEvClN,GACE8E,EAAAA,EAAAA,IAAY,CACVf,SAAU,aACVgB,MAAyC,IAAlCC,OAAOC,KAAKL,GAAWxJ,UAIlCsI,EAAoBkB,EACtB,GAAG,CACD2H,EACAY,EACAC,EACAC,EACAC,EACAtN,IAIF,IAAM2D,GAAcC,EAAAA,EAAAA,cAClB,SAACC,EAAe1M,GACd6I,GACE8D,EAAAA,EAAAA,IAAe,CAAEC,SAAU,aAAcF,MAAOA,EAAO1M,MAAOA,IAElE,GACA,CAAC6I,IAGGkF,EAAkB,SAACC,GACvBzB,GAAoB0B,EAAAA,EAAAA,IAAqB3B,EAAkB0B,GAC7D,EAEA,OACE,UAAC,EAAAsD,SAAQ,YACP,SAACxO,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,iBACHsG,KAAK,iBACLhB,SAAU,SAACgC,GACT6F,EAAY,gBAAiB7F,EAAE9B,OAAO7E,OACtC+N,EAAgB,iBAClB,EACAhO,MAAM,WACNC,MAAOgW,EACPlQ,MAAOwG,EAAiC,gBAAK,QAGjD,SAACxJ,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,UAChB,sBAAUH,UAAWJ,EAAQmM,WAAW,WACtC,mBAAQ/L,UAAWJ,EAAQ6P,gBAAgB,SAAC,iBAC5C,SAACxL,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,kBACHsG,KAAK,kBACLhB,SAAU,SAACgC,GACT6F,EAAY,gBAAiB7F,EAAE9B,OAAO7E,OACtC+N,EAAgB,kBAClB,EACAhO,MAAM,YACNC,MAAOiW,EACPnQ,MAAOwG,EAAkC,iBAAK,QAGlD,SAACxJ,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,kBACHsG,KAAK,kBACLhB,SAAU,SAACgC,GACT6F,EAAY,gBAAiB7F,EAAE9B,OAAO7E,OACtC+N,EAAgB,kBAClB,EACAhO,MAAM,YACNC,MAAOkW,EACPpQ,MAAOwG,EAAkC,iBAAK,QAGlD,SAACxJ,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,sBACHsG,KAAK,sBACLhB,SAAU,SAACgC,GACT6F,EAAY,oBAAqB7F,EAAE9B,OAAO7E,OAC1C+N,EAAgB,sBAClB,EACAhO,MAAM,gBACNC,MAAOmW,EACPrQ,MAAOwG,EAAsC,qBAAK,cAOhE,EChKM6D,GAAYC,EAAAA,EAAAA,IAAW,SAAC/S,GAAY,OACxCC,EAAAA,EAAAA,IAAa,kCACRuN,EAAAA,IACAY,EAAAA,IACAF,EAAAA,IACAC,EAAAA,IACH,IAiHJ,GA9GkB,WAChB,IAAM/M,EAAU0R,IACVtH,GAAWC,EAAAA,EAAAA,MAEXsN,GAAelN,EAAAA,EAAAA,KACnB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWe,YAAY,IAElEC,GAAcnN,EAAAA,EAAAA,KAClB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWgB,WAAW,IAEjEC,GAAiBpN,EAAAA,EAAAA,KACrB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWiB,cAAc,IAEpEC,GAAcrN,EAAAA,EAAAA,KAClB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWkB,WAAW,IAEjEC,GAAkBtN,EAAAA,EAAAA,KACtB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWmB,eAAe,IAErEC,GAAgBvN,EAAAA,EAAAA,KACpB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWoB,aAAa,IAInEjK,GAAcC,EAAAA,EAAAA,cAClB,SAACC,EAAe1M,GACd6I,GACE8D,EAAAA,EAAAA,IAAe,CAAEC,SAAU,aAAcF,MAAOA,EAAO1M,MAAOA,IAElE,GACA,CAAC6I,IAGH,OACE,UAAC,EAAAyI,SAAQ,YACP,SAACxO,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,iBACHsG,KAAK,iBACLhB,SAAU,SAACgC,GACT6F,EAAY,eAAgB7F,EAAE9B,OAAO7E,MACvC,EACAD,MAAM,aACNC,MAAOoW,OAGX,SAACtT,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,eACHsG,KAAK,eACLhB,SAAU,SAACgC,GACT6F,EAAY,cAAe7F,EAAE9B,OAAO7E,MACtC,EACAD,MAAM,WACNC,MAAOqW,OAGX,SAACvT,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,UAChB,sBAAUH,UAAWJ,EAAQmM,WAAW,WACtC,mBAAQ/L,UAAWJ,EAAQ6P,gBAAgB,SAAC,iBAC5C,SAACxL,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,mBACHsG,KAAK,mBACLhB,SAAU,SAACgC,GACT6F,EAAY,iBAAkB7F,EAAE9B,OAAO7E,MACzC,EACAD,MAAM,eACNC,MAAOsW,OAGX,SAACxT,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,gBACHsG,KAAK,gBACLhB,SAAU,SAACgC,GACT6F,EAAY,cAAe7F,EAAE9B,OAAO7E,MACtC,EACAD,MAAM,YACNC,MAAOuW,OAGX,SAACzT,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,qBACHsG,KAAK,qBACLhB,SAAU,SAACgC,GACT6F,EAAY,kBAAmB7F,EAAE9B,OAAO7E,MAC1C,EACAD,MAAM,iBACNC,MAAOwW,OAGX,SAAC1T,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,kBACHsG,KAAK,kBACLhB,SAAU,SAACgC,GACT6F,EAAY,gBAAiB7F,EAAE9B,OAAO7E,MACxC,EACAD,MAAM,cACNC,MAAOyW,aAOrB,EChHMtG,IAAYC,EAAAA,EAAAA,IAAW,SAAC/S,GAAY,OACxCC,EAAAA,EAAAA,IAAa,kCACRuN,EAAAA,IACAY,EAAAA,IACAF,EAAAA,IACAC,EAAAA,IACH,IAoKJ,GAjKsB,WACpB,IAAM3C,GAAWC,EAAAA,EAAAA,MACXrK,EAAU0R,KAEViF,GAAgBlM,EAAAA,EAAAA,KACpB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWD,aAAa,IAEnEsB,GAAkBxN,EAAAA,EAAAA,KACtB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWqB,eAAe,IAErEC,GAAezN,EAAAA,EAAAA,KACnB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWsB,YAAY,IAElEC,GAAgB1N,EAAAA,EAAAA,KACpB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWuB,aAAa,IAEnEC,GAAe3N,EAAAA,EAAAA,KACnB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWwB,YAAY,IAGxE,GAAgD7Q,EAAAA,EAAAA,UAAc,CAAC,GAAE,eAA1DsG,EAAgB,KAAEC,EAAmB,MAG5CjD,EAAAA,EAAAA,YAAU,WACR,IAAIyM,EAAsC,GAErCX,IACHW,EAAoB,kBACfA,GAAoB,CACvB,CACEjJ,SAAU,mBACVjH,UAAU,EACV7F,MAAO0W,GAET,CACE5J,SAAU,gBACVjH,UAAU,EACV7F,MAAO2W,GAET,CACE7J,SAAU,iBACVjH,UAAU,EACV7F,MAAO4W,GAET,CACE9J,SAAU,gBACVjH,UAAU,EACV7F,MAAO6W,EACP7J,iBAAkBC,SAAS4J,GAAgB,EAC3C3J,wBAAyB,qCAK/B,IAAMO,GAAYC,EAAAA,EAAAA,GAAqBqI,GAEvClN,GACE8E,EAAAA,EAAAA,IAAY,CACVf,SAAU,aACVgB,MAAyC,IAAlCC,OAAOC,KAAKL,GAAWxJ,UAIlCsI,EAAoBkB,EACtB,GAAG,CACD2H,EACAsB,EACAC,EACAC,EACAC,EACAhO,IAIF,IAAM2D,GAAcC,EAAAA,EAAAA,cAClB,SAACC,EAAe1M,GACd6I,GACE8D,EAAAA,EAAAA,IAAe,CAAEC,SAAU,aAAcF,MAAOA,EAAO1M,MAAOA,IAElE,GACA,CAAC6I,IAGGkF,EAAkB,SAACC,GACvBzB,GAAoB0B,EAAAA,EAAAA,IAAqB3B,EAAkB0B,GAC7D,EAEA,OACE,UAAC,EAAAsD,SAAQ,YACP,SAACxO,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,mBACHsG,KAAK,mBACLhB,SAAU,SAACgC,GACT6F,EAAY,kBAAmB7F,EAAE9B,OAAO7E,OACxC+N,EAAgB,mBAClB,EACAhO,MAAM,WACNC,MAAO0W,EACP5Q,MAAOwG,EAAmC,kBAAK,GAC/CzG,UAAQ,OAGZ,SAAC/C,EAAA,GAAI,CACH/D,MAAI,EACJC,GAAI,GACJ2B,MAAO,CACLzC,aAAc,IACd,UAEF,sBAAUW,UAAWJ,EAAQmM,WAAW,WACtC,mBAAQ/L,UAAWJ,EAAQ6P,gBAAgB,SAAC,iBAC5C,SAACxL,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,gBACHsG,KAAK,gBACLhB,SAAU,SAACgC,GACT6F,EAAY,eAAgB7F,EAAE9B,OAAO7E,OACrC+N,EAAgB,gBAClB,EACAhO,MAAM,QACNC,MAAO2W,EACP7Q,MAAOwG,EAAgC,eAAK,GAC5CzG,UAAQ,OAGZ,SAAC/C,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,iBACHsG,KAAK,iBACLhB,SAAU,SAACgC,GACT6F,EAAY,gBAAiB7F,EAAE9B,OAAO7E,OACtC+N,EAAgB,iBAClB,EACAhO,MAAM,SACNC,MAAO4W,EACP9Q,MAAOwG,EAAiC,gBAAK,GAC7CzG,UAAQ,OAGZ,SAAC/C,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdvJ,KAAK,SACLiK,IAAI,IACJ9P,GAAG,gBACHsG,KAAK,gBACLhB,SAAU,SAACgC,GACT6F,EAAY,eAAgB7F,EAAE9B,OAAO7E,OACrC+N,EAAgB,gBAClB,EACAhO,MAAM,kBACNC,MAAO6W,EACP/Q,MAAOwG,EAAgC,eAAK,cAO1D,ECxKM6D,IAAYC,EAAAA,EAAAA,IAAW,SAAC/S,GAAY,OACxCC,EAAAA,EAAAA,IAAa,kCACRuN,EAAAA,IACAY,EAAAA,IACAF,EAAAA,IACAC,EAAAA,IACH,IAsLJ,GAnLkB,WAChB,IAAM3C,GAAWC,EAAAA,EAAAA,MACXrK,EAAU0R,KAEViF,GAAgBlM,EAAAA,EAAAA,KACpB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWD,aAAa,IAEnE0B,GAAc5N,EAAAA,EAAAA,KAClB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWyB,WAAW,IAEjEC,GAAY7N,EAAAA,EAAAA,KAChB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAW0B,SAAS,IAE/DC,GAAY9N,EAAAA,EAAAA,KAChB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAW2B,SAAS,IAE/DC,GAAe/N,EAAAA,EAAAA,KACnB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAW4B,YAAY,IAElEC,GAAehO,EAAAA,EAAAA,KACnB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAW6B,YAAY,IAElEC,GAAWjO,EAAAA,EAAAA,KACf,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAW8B,QAAQ,IAEpE,GAAgDnR,EAAAA,EAAAA,UAAc,CAAC,GAAE,eAA1DsG,EAAgB,KAAEC,EAAmB,MAG5CjD,EAAAA,EAAAA,YAAU,WACR,IAAIyM,EAAsC,GAErCX,IACHW,EAAoB,kBACfA,GAAoB,CACvB,CACEjJ,SAAU,eACVjH,UAAU,EACV7F,MAAO8W,GAET,CACEhK,SAAU,aACVjH,UAAU,EACV7F,MAAO+W,GAET,CACEjK,SAAU,gBACVjH,UAAU,EACV7F,MAAOiX,GAET,CACEnK,SAAU,gBACVjH,UAAU,EACV7F,MAAOkX,MAKb,IAAMzJ,GAAYC,EAAAA,EAAAA,GAAqBqI,GAEvClN,GACE8E,EAAAA,EAAAA,IAAY,CACVf,SAAU,aACVgB,MAAyC,IAAlCC,OAAOC,KAAKL,GAAWxJ,UAIlCsI,EAAoBkB,EACtB,GAAG,CACD2H,EACA0B,EACAC,EACAG,EACAD,EACApO,IAIF,IAAM2D,GAAcC,EAAAA,EAAAA,cAClB,SAACC,EAAe1M,GACd6I,GACE8D,EAAAA,EAAAA,IAAe,CAAEC,SAAU,aAAcF,MAAOA,EAAO1M,MAAOA,IAElE,GACA,CAAC6I,IAGGkF,EAAkB,SAACC,GACvBzB,GAAoB0B,EAAAA,EAAAA,IAAqB3B,EAAkB0B,GAC7D,EAEA,OACE,UAAC,EAAAsD,SAAQ,YACP,SAACxO,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,eACHsG,KAAK,eACLhB,SAAU,SAACgC,GACT6F,EAAY,cAAe7F,EAAE9B,OAAO7E,OACpC+N,EAAgB,eAClB,EACAhO,MAAM,WACNC,MAAO8W,EACPhR,MAAOwG,EAA+B,cAAK,GAC3CzG,UAAQ,OAGZ,SAAC/C,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,aACHsG,KAAK,aACLhB,SAAU,SAACgC,GACT6F,EAAY,YAAa7F,EAAE9B,OAAO7E,OAClC+N,EAAgB,aAClB,EACAhO,MAAM,SACNC,MAAO+W,EACPjR,MAAOwG,EAA6B,YAAK,GACzCzG,UAAQ,OAGZ,SAAC/C,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,aACHsG,KAAK,aACLhB,SAAU,SAACgC,GACT6F,EAAY,YAAa7F,EAAE9B,OAAO7E,MACpC,EACAD,MAAM,UACNC,MAAOgX,OAGX,SAAClU,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,UAChB,sBAAUH,UAAWJ,EAAQmM,WAAW,WACtC,mBAAQ/L,UAAWJ,EAAQ6P,gBAAgB,SAAC,iBAC5C,SAACxL,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,gBACHsG,KAAK,gBACLhB,SAAU,SAACgC,GACT6F,EAAY,eAAgB7F,EAAE9B,OAAO7E,OACrC+N,EAAgB,gBAClB,EACAhO,MAAM,aACNC,MAAOiX,EACPnR,MAAOwG,EAAgC,eAAK,GAC5CzG,UAAQ,OAGZ,SAAC/C,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,gBACHsG,KAAK,gBACLhB,SAAU,SAACgC,GACT6F,EAAY,eAAgB7F,EAAE9B,OAAO7E,OACrC+N,EAAgB,gBAClB,EACAhO,MAAM,aACNC,MAAOkX,EACPpR,MAAOwG,EAAgC,eAAK,GAC5CzG,UAAQ,OAGZ,SAAC/C,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,YACHsG,KAAK,YACLhB,SAAU,SAACgC,GACT6F,EAAY,WAAY7F,EAAE9B,OAAO7E,MACnC,EACAD,MAAM,QACNC,MAAOmX,aAOrB,E,oCC4fA,IAAe/Z,EAAAA,EAAAA,IA5pBA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,IAAa,gCACX8Z,sBAAuB,CACrBlZ,aAAc,IAEhBmZ,gBAAiB,CACfxV,UAAW,GACX,aAAc,CACZqJ,KAAM,IAGVoM,YAAa,CACXjZ,YAAa,IAEfkZ,oBAAqB,CACnB,4BAA6B,CAC3BpZ,QAAS,OACTsB,SAAU,YAGXoL,EAAAA,IACAY,EAAAA,IACAF,EAAAA,IACAC,EAAAA,IACF,GAooBL,EAloBmB,SAAH,GAAuC,IAAjC/M,EAAO,EAAPA,QACdoK,GAAWC,EAAAA,EAAAA,MAEX0O,GAAWtO,EAAAA,EAAAA,KACf,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWmC,QAAQ,IAE9DC,GAAmBvO,EAAAA,EAAAA,KACvB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWoC,gBAAgB,IAEtErC,GAAgBlM,EAAAA,EAAAA,KACpB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWD,aAAa,IAEnEsC,GAAmBxO,EAAAA,EAAAA,KACvB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWqC,gBAAgB,IAEtEC,GAAiBzO,EAAAA,EAAAA,KACrB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWsC,cAAc,IAGpEvB,GAAelN,EAAAA,EAAAA,KACnB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWe,YAAY,IAElEC,GAAcnN,EAAAA,EAAAA,KAClB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWgB,WAAW,IAEjEC,GAAiBpN,EAAAA,EAAAA,KACrB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWiB,cAAc,IAEpEC,GAAcrN,EAAAA,EAAAA,KAClB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWkB,WAAW,IAEjEC,GAAkBtN,EAAAA,EAAAA,KACtB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWmB,eAAe,IAErEC,GAAgBvN,EAAAA,EAAAA,KACpB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAWoB,aAAa,IAEnEmB,GAA0B1O,EAAAA,EAAAA,KAC9B,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAOyJ,WAAWuC,uBAAuB,IAE1D/D,GAAiB3K,EAAAA,EAAAA,KACrB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOgI,SAASC,cAAc,IAElEF,GAAYzK,EAAAA,EAAAA,KAChB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOgI,SAASD,SAAS,IAE7DM,GAA0B/K,EAAAA,EAAAA,KAC9B,SAACC,GAAe,OAAKA,EAAMwC,aAAaqI,aAAaC,uBAAuB,IAExE4D,GAAuB3O,EAAAA,EAAAA,KAC3B,SAACC,GAAe,OAAKA,EAAMwC,aAAaqI,aAAa6D,oBAAoB,IAErEC,GAAuB5O,EAAAA,EAAAA,KAC3B,SAACC,GAAe,OAAKA,EAAMwC,aAAaqI,aAAa8D,oBAAoB,IAErEC,GAAqB7O,EAAAA,EAAAA,KACzB,SAACC,GAAe,OAAKA,EAAMwC,aAAaqI,aAAa+D,kBAAkB,IAEnEC,GAAQ9O,EAAAA,EAAAA,KACZ,SAACC,GAAe,OAAKA,EAAMwC,aAAaqI,aAAagE,KAAK,IAEtDlE,GAAoB5K,EAAAA,EAAAA,KACxB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOgI,SAASE,iBAAiB,IAErEmE,GAAqB/O,EAAAA,EAAAA,KACzB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyJ,WAAW4C,kBAAkB,IAG9E,GAAgDjS,EAAAA,EAAAA,UAAc,CAAC,GAAE,eAA1DsG,EAAgB,KAAEC,EAAmB,KAExC2L,GAAsB,EAExBvE,IACCE,GACEI,GACCA,EAAwBhE,QACtB,SAAClR,GAAI,OAAKA,EAAKoZ,aAAepZ,EAAKqZ,YAAY,IAC/CnU,OAAS,KAEfiU,GAAsB,GAIxB,IAAM1L,GAAcC,EAAAA,EAAAA,cAClB,SAACC,EAAe1M,GACd6I,GACE8D,EAAAA,EAAAA,IAAe,CAAEC,SAAU,aAAcF,MAAOA,EAAO1M,MAAOA,IAElE,GACA,CAAC6I,IAGGkF,EAAkB,SAACC,GACvBzB,GAAoB0B,EAAAA,EAAAA,IAAqB3B,EAAkB0B,GAC7D,EA4GA,OAzGA1E,EAAAA,EAAAA,YAAU,WACR,IAAIyM,EAAsC,GAEtC2B,IACF3B,EAAoB,kBACfA,GAAoB,CACvB,CACEjJ,SAAU,mBACVjH,SAAUuP,EAAgB,EAC1BpV,MAAOyX,GAET,CACE3K,SAAU,WACVjH,UAAU,EACV7F,MAAOwX,EACPxK,iBAAkBC,SAASuK,GAAY,EACvCtK,wBAAyB,qCAE3B,CACEJ,SAAU,gCACVjH,UAAU,EACV7F,MAAOiY,EAAmBlL,UAC1BC,iBACmC,KAAjCiL,EAAmBlL,WACnBE,SAASgL,EAAmBlL,WAAa,EAC3CG,wBAAwB,8CAE1B,CACEJ,SAAU,iCACVjH,UAAU,EACV7F,MAAOiY,EAAmB9K,WAC1BH,iBACoC,KAAlCiL,EAAmB9K,YACnBF,SAASgL,EAAmB9K,YAAc,EAC5CD,wBAAwB,+CAE1B,CACEJ,SAAU,8BACVjH,UAAU,EACV7F,MAAOiY,EAAmB7K,QAC1BJ,iBACiC,KAA/BiL,EAAmB7K,SACnBH,SAASgL,EAAmB7K,SAAW,EACzCF,wBAAwB,8CAIxB4G,IACFiC,EAAoB,kBACfA,GAAoB,CACvB,CACEjJ,SAAU,YACVjH,UAAWgO,EACX7T,MAAO6X,EAAqBM,aAE9B,CACErL,SAAU,aACVjH,UAAWgO,EACX7T,MAAO6X,EAAqBO,cAE9B,CACEtL,SAAU,YACVjH,UAAWgO,EACX7T,MAAO8X,EAAqBK,aAE9B,CACErL,SAAU,aACVjH,UAAWgO,EACX7T,MAAO8X,EAAqBM,kBAMpC,IAAM3K,GAAYC,EAAAA,EAAAA,GAAqBqI,GACvClN,GACE8E,EAAAA,EAAAA,IAAY,CACVf,SAAU,aACVgB,MAAyC,IAAlCC,OAAOC,KAAKL,GAAWxJ,UAIlCsI,EAAoBkB,EACtB,GAAG,CACDgK,EACArC,EACAsC,EACAC,EACAvB,EACAC,EACAC,EACAC,EACAC,EACAC,EACA5N,EACAgL,EACAC,EACA+D,EAAqBM,YACrBN,EAAqBO,aACrBN,EAAqBK,YACrBL,EAAqBM,aACrBH,EACAT,KAIA,UAACtJ,EAAA,EAAK,CAACrP,UAAWJ,EAAQ0P,aAAa,WACrC,UAACrL,EAAA,GAAI,CAAChE,WAAS,EAACV,WAAY,SAAS,WACnC,SAAC0E,EAAA,GAAI,CAAC/D,MAAI,EAACC,IAAE,YACX,SAAC,EAAS,UAAC,kBAEb,SAAC8D,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,EAAG4C,eAAgB,MAAOyW,UAAW,QAAQ,UAC1D,SAAC9J,EAAA,EAAiB,CAChBxO,MAAO,GACPuY,gBAAiB,CAAC,UAAW,YAC7B9J,QAASkJ,EACT1X,MAAO,oBACPX,GAAG,oBACHsG,KAAK,oBACLhB,SAAU,SAACgC,GACT,IACM6H,EADU7H,EAAE9B,OACM2J,QAExBhC,EAAY,mBAAoBgC,EAClC,EACA8F,YAAY,GACZ1O,UAAWsS,UAIjB,UAACpV,EAAA,GAAI,CAAChE,WAAS,EAACuV,QAAS,EAAE,WACzB,SAACvR,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,UAChB,iBAAMH,UAAWJ,EAAQ6P,gBAAgB,SAAC,oUAQ5C,SAACxL,EAAA,GAAI,CAAC9D,GAAI,GAAG,UACX,eAAIH,UAAWJ,EAAQ8Z,YAGxBb,IACC,UAAC,EAAApG,SAAQ,YACP,SAACxO,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,UAChB,UAACwZ,GAAA,EAAI,CACHxY,MAAOoV,EACPzQ,SAAU,SAACgC,EAA0B3G,GACnCwM,EAAY,gBAAiBxM,EAC/B,EACAyY,eAAe,UACfC,UAAU,UACV,aAAW,eACX1U,QAAQ,aACR2U,cAAc,OAAM,WAEpB,SAACC,GAAA,EAAG,CAACvZ,GAAG,cAAcU,MAAM,aAC5B,SAAC6Y,GAAA,EAAG,CAACvZ,GAAG,wBAAwBU,MAAM,kBAIzCqV,GACC,SAAC,EAAA9D,SAAQ,WACP,SAACxO,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,UAChB,SAAC6Z,GAAA,EAAiB,CAChB7Y,MAAOyX,EACPtT,KAAM,OACNC,eAAgB,SAAC0U,EAAQnR,EAAM3H,GAC7BwM,EAAY,mBAAoBxM,EAClC,EACAqE,aAAc,eAKpB,UAAC,EAAAiN,SAAQ,YACP,SAACxO,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ2Y,sBAAsB,UAC1D,SAAChE,EAAA,EAAkB,CACjBC,iBAAkBsE,EAClBtY,GAAG,iBACHsG,KAAK,iBACL5F,MAAM,MACN4E,SAAU,SAACgC,GACT6F,EAAY,iBAAkB7F,EAAE9B,OAAO7E,MACzC,EACAuT,gBAAiB,CACf,CAAExT,MAAO,QAASC,MAAO,SACzB,CAAED,MAAO,MAAOC,MAAO,OACvB,CAAED,MAAO,UAAWC,MAAO,WAC3B,CAAED,MAAO,MAAOC,MAAO,OACvB,CAAED,MAAO,QAASC,MAAO,cAIX,UAAnB2X,IAA8B,SAAC,EAAW,IACvB,UAAnBA,IAA8B,SAAC,EAAW,IACvB,QAAnBA,IAA4B,SAAC,GAAS,IACnB,QAAnBA,IAA4B,SAAC,GAAS,IACnB,YAAnBA,IAAgC,SAAC,GAAa,QAInD,gBAAK9Y,UAAWJ,EAAQ2P,cAAc,UACpC,eAAIvP,UAAWJ,EAAQ4P,UAAU,SAAC,iCAEpC,SAACvL,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,UAChB,SAACuP,EAAA,EAAiB,CAChBvO,MAAM,0BACNX,GAAG,0BACHsG,KAAK,0BACL6I,QAASoJ,IAA4B/D,EACrClP,SAAU,SAACgC,GACT,IACM6H,EADU7H,EAAE9B,OACM2J,QAExBhC,EAAY,0BAA2BgC,EACzC,EACAzO,MAAO,sBACP6F,UAAWiO,OAGb+D,IAA4B/D,KAC5B,UAAC,EAAAvC,SAAQ,YACP,SAACxO,EAAA,GAAI,CAAChE,WAAS,YACb,SAACgE,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAI2B,MAAO,CAAEzC,aAAc,IAAK,UAC7C,sBAAUW,UAAWJ,EAAQmM,WAAW,WACtC,mBAAQ/L,UAAWJ,EAAQ6P,gBAAgB,SAAC,oCAG5C,SAACkG,EAAA,EAAY,CACX7P,SAAU,SAAC8P,EAAc7N,GACvBiC,GACEkQ,EAAAA,EAAAA,IAAqB,CACnBpJ,IAAK,MACL/I,SAAUA,EACV5G,MAAOyU,KAGX1G,EAAgB,YAClB,EACAhI,OAAO,YACP1G,GAAG,YACHsG,KAAK,YACL5F,MAAM,MACN+F,MAAOwG,EAA4B,WAAK,GACxCtM,MAAO6X,EAAqBlI,IAC5B9J,UAAWgO,KAEb,SAACW,EAAA,EAAY,CACX7P,SAAU,SAAC8P,EAAc7N,GACvBiC,GACEkQ,EAAAA,EAAAA,IAAqB,CACnBpJ,IAAK,OACL/I,SAAUA,EACV5G,MAAOyU,KAGX1G,EAAgB,aAClB,EACAhI,OAAO,uBACP1G,GAAG,aACHsG,KAAK,aACL5F,MAAM,OACN+F,MAAOwG,EAA6B,YAAK,GACzCtM,MAAO6X,EAAqBlD,KAC5B9O,UAAWgO,YAKnB,SAAC/Q,EAAA,GAAI,CAAChE,WAAS,EAAC6B,MAAO,CAAEzC,aAAc,IAAK,UAC1C,SAAC4E,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,UAChB,sBAAUH,UAAWJ,EAAQmM,WAAW,WACtC,mBAAQ/L,UAAWJ,EAAQ6P,gBAAgB,SAAC,kFAI5C,SAACkG,EAAA,EAAY,CACX7P,SAAU,SAAC8P,EAAc7N,GACvBiC,GACEmQ,EAAAA,EAAAA,IAAqB,CACnBrJ,IAAK,MACL/I,SAAUA,EACV5G,MAAOyU,KAGX1G,EAAgB,YAClB,EACAhI,OAAO,YACP1G,GAAG,YACHsG,KAAK,YACL5F,MAAM,MACN+F,MAAOwG,EAA4B,WAAK,GACxCtM,MAAO8X,EAAqBnI,IAC5B9J,UAAWgO,KAEb,SAACW,EAAA,EAAY,CACX7P,SAAU,SAAC8P,EAAc7N,GACvBiC,GACEmQ,EAAAA,EAAAA,IAAqB,CACnBrJ,IAAK,OACL/I,SAAUA,EACV5G,MAAOyU,KAGX1G,EAAgB,aAClB,EACAhI,OAAO,uBACP1G,GAAG,aACHsG,KAAK,aACL5F,MAAM,OACN+F,MAAOwG,EAA6B,YAAK,GACzCtM,MAAO8X,EAAqBnD,KAC5B9O,UAAWgO,YAKnB,SAAC/Q,EAAA,GAAI,CAAChE,WAAS,EAACD,UAAWJ,EAAQ4Y,gBAAgB,UACjD,sBAAUxY,UAAWJ,EAAQmM,WAAW,WACtC,mBAAQ/L,UAAWJ,EAAQ6P,gBAAgB,SAAC,kFAI5C,SAACkG,EAAA,EAAY,CACX7P,SAAU,SAAC8P,EAAc7N,GACvBiC,GACEoQ,EAAAA,EAAAA,IAAmB,CACjBtJ,IAAK,MACL/I,SAAUA,EACV5G,MAAOyU,KAGX1G,EAAgB,YAClB,EACAhI,OAAO,YACP1G,GAAG,YACHsG,KAAK,YACL5F,MAAM,MACNC,MAAO+X,EAAmBpI,OAE5B,SAAC6E,EAAA,EAAY,CACX7P,SAAU,SAAC8P,EAAc7N,GACvBiC,GACEoQ,EAAAA,EAAAA,IAAmB,CACjBtJ,IAAK,OACL/I,SAAUA,EACV5G,MAAOyU,KAGX1G,EAAgB,aAClB,EACAhI,OAAO,uBACP1G,GAAG,aACHsG,KAAK,aACL5F,MAAM,OACNC,MAAO+X,EAAmBpD,QAE5B,SAACH,EAAA,EAAY,CACX7P,SAAU,SAAC8P,EAAc7N,GACvBiC,GACEqQ,EAAAA,EAAAA,IAAa,CACXtS,SAAUA,EACV5G,MAAOyU,KAGX1G,EAAgB,WAClB,EACAhI,OAAO,uBACP1G,GAAG,WACHsG,KAAK,WACL5F,MAAM,KACNC,MAAOgY,EAAMrD,gBAMvB,UAAC7R,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,WAChB,SAAC8D,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIP,QAASA,EAAQiR,aAAa,UAC/C,SAACjB,EAAA,EAAe,CACdvJ,KAAK,SACLiK,IAAI,IACJ9P,GAAG,WACHsG,KAAK,WACLhB,SAAU,SAACgC,GACT6F,EAAY,WAAY7F,EAAE9B,OAAO7E,OACjC+N,EAAgB,WAClB,EACAhO,MAAM,WACNC,MAAOwX,EACP3R,UAAQ,EACRC,MAAOwG,EAA2B,UAAK,QAI3C,sBACEzN,UAAWJ,EAAQmM,WACnBjK,MAAO,CAAEkB,UAAW,IAAK,WAEzB,mBAAQhD,UAAWJ,EAAQ6P,gBAAgB,SAAC,kCAG5C,SAACxL,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQwZ,mBAAmB,UACvD,iBACEpZ,UAAS,UAAKJ,EAAQyQ,eAAc,YAAIzQ,EAAQ8Y,qBAAsB,WAEtE,gBACE1Y,UAAS,UAAKJ,EAAQiR,aAAY,YAAIjR,EAAQ6Y,aAAc,UAE5D,SAAC7I,EAAA,EAAe,CACdvJ,KAAK,SACL7F,GAAG,gCACHsG,KAAK,gCACLhB,SAAU,SAACgC,GACT6F,EAAY,sBAAqB,kBAC5ByL,GAAkB,IACrBlL,UAAWpG,EAAE9B,OAAO7E,SAEtB+N,EAAgB,gCAClB,EACAhO,MAAM,cACNC,MAAOiY,EAAmBlL,UAC1BlH,UAAQ,EACRC,MACEwG,EAAgD,+BAChD,GAEF6C,IAAI,SAGR,gBACEtQ,UAAS,UAAKJ,EAAQiR,aAAY,YAAIjR,EAAQ6Y,aAAc,UAE5D,SAAC7I,EAAA,EAAe,CACdvJ,KAAK,SACL7F,GAAG,iCACHsG,KAAK,iCACLhB,SAAU,SAACgC,GACT6F,EAAY,sBAAqB,kBAC5ByL,GAAkB,IACrB9K,WAAYxG,EAAE9B,OAAO7E,SAEvB+N,EAAgB,iCAClB,EACAhO,MAAM,eACNC,MAAOiY,EAAmB9K,WAC1BtH,UAAQ,EACRC,MACEwG,EAAiD,gCACjD,GAEF6C,IAAI,cAKZ,mBACA,SAACrM,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQwZ,mBAAmB,UACvD,iBACEpZ,UAAS,UAAKJ,EAAQyQ,eAAc,YAAIzQ,EAAQ8Y,qBAAsB,WAEtE,gBACE1Y,UAAS,UAAKJ,EAAQiR,aAAY,YAAIjR,EAAQ6Y,aAAc,UAE5D,SAAC7I,EAAA,EAAe,CACdvJ,KAAK,SACL7F,GAAG,8BACHsG,KAAK,8BACLhB,SAAU,SAACgC,GACT6F,EAAY,sBAAqB,kBAC5ByL,GAAkB,IACrB7K,QAASzG,EAAE9B,OAAO7E,SAEpB+N,EAAgB,8BAClB,EACAhO,MAAM,UACNC,MAAOiY,EAAmB7K,QAC1BvH,UAAQ,EACRC,MACEwG,EAA8C,6BAAK,GAErD6C,IAAI,SAGR,gBACEtQ,UAAS,UAAKJ,EAAQiR,aAAY,YAAIjR,EAAQ6Y,aAAc,UAE5D,SAAClI,EAAA,EAAa,CACZrP,MAAM,sBACNV,GAAG,sCACHsG,KAAK,sCACL3F,MAAOiY,EAAmB5I,oBAC1B1K,SAAU,SAACgC,GACT6F,EAAY,sBAAqB,kBAC5ByL,GAAkB,IACrB5I,oBAAqB1I,EAAE9B,OAAO7E,QAElC,EACAsP,QAAS,CACP,CACEvP,MAAO,SACPC,MAAO,UAET,CACED,MAAO,iBACPC,MAAO,6BAOnB,mBACA,SAAC8C,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,UAChB,gBAAKH,UAAWJ,EAAQyQ,eAAe,UACrC,SAACX,EAAA,EAAiB,CAChBvO,MAAM,iCACNX,GAAG,mCACHsG,KAAK,mCACL6I,QAASyJ,EAAmB1I,aAC5B5K,SAAU,SAACgC,GACT,IACM6H,EADU7H,EAAE9B,OACM2J,QACxBhC,EAAY,sBAAqB,kBAC5ByL,GAAkB,IACrB1I,aAAcf,IAElB,EACAzO,MAAO,yCAW7B,I,2DCnNA,IAAe3C,EAAAA,EAAAA,IA9cA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,IAAa,gBACXgO,cAAe,CACbrG,WAAY,GACZ9G,QAAS,OACTC,WAAY,SACZ,QAAS,CACPiH,SAAU,GACVrD,UAAW,IAEb,WAAY,CACVpC,WAAY,YAGhBuZ,oBAAqB,CACnBhb,QAAS,QAEXib,mBAAoB,CAClBjb,QAAS,OACTsB,SAAU,SACVyL,KAAM,GAERmO,WAAY,CACVlb,QAAS,OACTC,WAAY,aACZyD,UAAW,GACX,oBAAqB,CACnB1D,QAAS,OACTsB,SAAU,SACVrB,WAAY,WACZia,UAAW,oBAGfiB,iBAAkB,CAChB,oBAAqB,CACnBpb,aAAc,IAGlBqb,mBAAoB,CAClBtU,WAAY,GACZ,oBAAqB,CACnB/G,aAAc,IAGlBmN,WAAY,CACVlN,QAAS,OACTC,WAAY,UAEdob,YAAa,CACXtb,aAAc,GACdC,QAAS,SAERoN,EAAAA,IACAC,EAAAA,IACF,GAwZL,EAjZiB,SAAH,GAAqC,IAA/B/M,EAAO,EAAPA,QACZoK,GAAWC,EAAAA,EAAAA,MAEX2Q,GAAcvQ,EAAAA,EAAAA,KAClB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAO8N,SAASD,WAAW,IAE/DE,GAAqBzQ,EAAAA,EAAAA,KACzB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAO8N,SAASC,kBAAkB,IAEtEC,GAAsB1Q,EAAAA,EAAAA,KAC1B,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAO8N,SAASE,mBAAmB,IAEvEC,GAAgB3Q,EAAAA,EAAAA,KACpB,SAACC,GAAe,OAAKA,EAAMwC,aAAamO,iBAAiB,IAErDC,GAAc7Q,EAAAA,EAAAA,KAClB,SAACC,GAAe,OAAKA,EAAMwC,aAAaoO,WAAW,IAGrD,GAAgD/T,EAAAA,EAAAA,UAAc,CAAC,GAAE,eAA1DsG,EAAgB,KAAEC,EAAmB,KAC5C,GAA8BvG,EAAAA,EAAAA,WAAkB,GAAK,eAA9CgU,EAAO,KAAEC,EAAU,KAC1B,GAAsCjU,EAAAA,EAAAA,UACpC,CAAC,GACF,eAFMkU,EAAW,KAAEC,EAAc,KAGlC,GAAoCnU,EAAAA,EAAAA,UAAuB,IAAG,eAAvDoU,EAAU,KAAEC,EAAa,KAG1B7N,GAAcC,EAAAA,EAAAA,cAClB,SAACC,EAAe1M,GACd6I,GACE8D,EAAAA,EAAAA,IAAe,CACbC,SAAU,WACVF,MAAOA,EACP1M,MAAOA,IAGb,GACA,CAAC6I,KAGHS,EAAAA,EAAAA,YAAU,WACJ0Q,GACFpW,GAAAA,EAAAA,OACU,MAAM,wBACb0W,MAAK,SAACC,GACLN,GAAW,GACXE,EAAeI,GACf,IAAIzM,EAAqB,GACzB,IAAK,IAAI0M,KAAKD,EACZzM,EAAKkC,KAAK,CACRjQ,MAAOya,EACPxa,MAAOwa,IAGXH,EAAcvM,EAChB,IACC2M,OAAM,SAACC,GACNT,GAAW,GACXpR,GAAS8R,EAAAA,GAAAA,IAA0BD,IACnCP,EAAe,CAAC,EAClB,GAEN,GAAG,CAACtR,EAAUmR,KAEd1Q,EAAAA,EAAAA,YAAU,WACR,GAAIuQ,EAAe,CACjB,IAIMe,EAJMf,EACT5J,QAAO,SAAC4K,GAAG,MAAiB,KAAZA,EAAIlL,GAAU,IAC9BzM,KAAI,SAAC2X,GAAG,gBAAQA,EAAIlL,IAAG,YAAIkL,EAAI7a,MAAK,IACpCiQ,QAAO,SAAC6K,EAAK/K,EAAGgL,GAAC,OAAKA,EAAEC,QAAQF,KAAS/K,CAAC,IAC9BkL,KAAK,KACpBzO,EAAY,qBAAsBoO,EACpC,CACF,GAAG,CAACf,EAAerN,KAGnBlD,EAAAA,EAAAA,YAAU,WACR,IAAIuD,EAAyC,GAE7C,GAAoB,iBAAhB4M,EAAgC,CAClC,IAAI7L,GAAQ,EAENsN,EAAiBvB,EAAmBlS,MAAM,KAElB,IAA1ByT,EAAejX,QAAsC,KAAtBiX,EAAe,KAChDtN,GAAQ,GAGVsN,EAAeC,SAAQ,SAACpc,EAAcqE,GACpC,IAAMgY,EAAYrc,EAAK0I,MAAM,KAEJ,IAArB2T,EAAUnX,SACZ2J,GAAQ,GAGNxK,EAAQ,IAAM8X,EAAejX,SACV,KAAjBmX,EAAU,IAA8B,KAAjBA,EAAU,KACnCxN,GAAQ,GAGd,IAEAf,EAAuB,kBAClBA,GAAuB,CAC1B,CACEC,SAAU,SACVjH,UAAU,EACV7F,MAAO2Z,EACP3M,kBAAmBY,EACnBV,wBACE,gDAGR,CAEA,IAAMO,GAAYC,EAAAA,EAAAA,GAAqBb,GAEvChE,GACE8E,EAAAA,EAAAA,IAAY,CACVf,SAAU,WACVgB,MAAyC,IAAlCC,OAAOC,KAAKL,GAAWxJ,UAIlCsI,EAAoBkB,EACtB,GAAG,CAAC5E,EAAU4Q,EAAaE,IAE3B,IAAM0B,EAAmB,SAACjY,EAAesJ,EAAe1M,GACtD,IAAMsb,GAAe,kBAAQvB,EAAY3W,IAAM,eAAGsJ,EAAQ1M,IAE1D6I,GACE0S,EAAAA,EAAAA,IAAkB,CAChBnY,MAAOA,EACPoY,gBAAiBF,IAGvB,EAEA,OACE,UAACpN,EAAA,EAAK,CAACrP,UAAWJ,EAAQ0P,aAAa,WACrC,iBAAKtP,UAAWJ,EAAQ2P,cAAc,WACpC,eAAIvP,UAAWJ,EAAQ4P,UAAU,SAAC,mBAClC,iBAAMxP,UAAWJ,EAAQ6P,gBAAgB,SAAC,qDAI5C,SAACxL,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ0a,oBAAoB,UACxD,UAACrW,EAAA,GAAI,CAAC/D,MAAI,EAACF,UAAWJ,EAAQ2a,mBAAmB,WAC/C,gBAAKva,UAAWJ,EAAQsB,MAAM,SAAC,UAC/B,gBACElB,UAAS,UAAKJ,EAAQ6P,gBAAe,YAAI7P,EAAQgd,kBAAmB,SACrE,6DAGD,SAAC3Y,EAAA,GAAI,CAAC/D,MAAI,EAACF,UAAWJ,EAAQ4a,WAAW,UACvC,SAACjG,EAAA,EAAkB,CACjBC,iBAAkBoG,EAClBpa,GAAG,mBACHsG,KAAK,mBACL5F,MAAO,IACP4E,SAAU,SAACgC,GACT6F,EAAY,cAAe7F,EAAE9B,OAAO7E,MACtC,EACAuT,gBAAiB,CACf,CAAExT,MAAO,OAAQC,MAAO,QACxB,CAAED,MAAO,8BAA+BC,MAAO,WAC/C,CAAED,MAAO,gBAAiBC,MAAO,0BAM1B,iBAAhByZ,IACC,UAAC,EAAAnI,SAAQ,YACP,mBACA,SAACxO,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,UAChB,SAACuP,EAAA,EAAiB,CAChBvO,MAAM,yBACNX,GAAG,yBACHsG,KAAK,yBACL6I,QAASoL,EACTjV,SAAU,SAACgC,GACT,IACM6H,EADU7H,EAAE9B,OACM2J,QAExBhC,EAAY,sBAAuBgC,EACrC,EACAzO,MAAO,8BAGX,UAAC+C,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,WAChB,wBAAI,YACJ,iBAAMH,UAAWJ,EAAQqH,MAAM,SAAEwG,EAAyB,UAC1D,SAACxJ,EAAA,GAAI,CAAChE,WAAS,WACZ+a,GACCA,EAAc3W,KAAI,SAAC2X,EAAK9K,GACtB,OACE,UAACjN,EAAA,GAAI,CACH/D,MAAI,EACJC,GAAI,GACJH,UAAWJ,EAAQ+a,YAAY,WAG/B,UAAC1W,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,EAAGH,UAAWJ,EAAQ6a,iBAAiB,UACnDc,EAAWnW,OAAS,IACnB,SAACmL,EAAA,EAAa,CACZzK,SAAU,SAACgC,GACT,IAAM+U,EAAS/U,EAAE9B,OAAO7E,MAClB2b,EAAuB,CAC3BhM,IAAK+L,EACL1b,MAAOka,EAAYwB,GAAQ,IAEvBE,GAAqB,OAAO/B,GAClC+B,EAAM7L,GAAK4L,EACX9S,GAASgT,EAAAA,EAAAA,IAAiBD,GAC5B,EACAvc,GAAG,uBACHsG,KAAK,uBACL5F,MAAO,GACPC,MAAO6a,EAAIlL,IACXL,QAAS8K,IAGU,IAAtBA,EAAWnW,SACV,SAACwK,EAAA,EAAe,CACdpP,GAAE,2BAAsB0Q,EAAEvI,YAC1BzH,MAAO,GACP4F,KAAI,uBAAkBoK,EAAEvI,YACxBxH,MAAO6a,EAAIlL,IACXhL,SAAU,SAACgC,GACT,IAAMiV,GAAqB,OAAO/B,GAClC+B,EAAM7L,GAAK,CACTJ,IAAKiM,EAAM7L,GAAGJ,IACd3P,MAAO2G,EAAE9B,OAAO7E,OAElB6I,GAASgT,EAAAA,EAAAA,IAAiBD,GAC5B,EACAxY,MAAO2M,EACPrB,YAAa,YAInB,UAAC5L,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,EAAGH,UAAWJ,EAAQ8a,mBAAmB,UACrDa,EAAWnW,OAAS,IACnB,SAACmL,EAAA,EAAa,CACZzK,SAAU,SAACgC,GACT,IAAMiV,GAAqB,OAAO/B,GAClC+B,EAAM7L,GAAK,CACTJ,IAAKiM,EAAM7L,GAAGJ,IACd3P,MAAO2G,EAAE9B,OAAO7E,OAElB6I,GAASgT,EAAAA,EAAAA,IAAiBD,GAC5B,EACAvc,GAAG,uBACHsG,KAAK,uBACL5F,MAAO,GACPC,MAAO6a,EAAI7a,MACXsP,QACE4K,EAAYW,EAAIlL,KACZuK,EAAYW,EAAIlL,KAAKzM,KAAI,SAAC4Y,GACxB,MAAO,CAAE/b,MAAO+b,EAAG9b,MAAO8b,EAC5B,IACA,KAIa,IAAtB1B,EAAWnW,SACV,SAACwK,EAAA,EAAe,CACdpP,GAAE,6BAAwB0Q,EAAEvI,YAC5BzH,MAAO,GACP4F,KAAI,uBAAkBoK,EAAEvI,YACxBxH,MAAO6a,EAAI7a,MACX2E,SAAU,SAACgC,GACT,IAAMiV,GAAqB,OAAO/B,GAClC+B,EAAM7L,GAAK,CACTJ,IAAKiM,EAAM7L,GAAGJ,IACd3P,MAAO2G,EAAE9B,OAAO7E,OAElB6I,GAASgT,EAAAA,EAAAA,IAAiBD,GAC5B,EACAxY,MAAO2M,EACPrB,YAAa,cAInB,UAAC5L,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,EAAGH,UAAWJ,EAAQ4M,WAAW,WAC9C,gBAAKxM,UAAWJ,EAAQ6M,cAAc,UACpC,SAAC1D,EAAA,EAAU,CACTI,KAAM,QACNvH,QAAS,WACP,IAAMmb,GAAK,OAAO/B,GACdO,EAAWnW,OAAS,EACtB2X,EAAM5L,KAAK,CACTL,IAAKyK,EAAW,GAAGpa,MACnBA,MAAOka,EAAYE,EAAW,GAAGpa,OAAO,KAG1C4b,EAAM5L,KAAK,CAAEL,IAAK,GAAI3P,MAAO,KAG/B6I,GAASgT,EAAAA,EAAAA,IAAiBD,GAC5B,EACAhW,SAAUmK,IAAM8J,EAAc5V,OAAS,EAAE,UAEzC,SAAC8X,GAAA,EAAO,SAGZ,gBAAKld,UAAWJ,EAAQ6M,cAAc,UACpC,SAAC1D,EAAA,EAAU,CACTI,KAAM,QACNvH,QAAS,WACP,IAAMmb,EAAQ/B,EAAc5J,QAC1B,SAAClR,EAAMqE,GAAK,OAAKA,IAAU2M,CAAC,IAE9BlH,GAASgT,EAAAA,EAAAA,IAAiBD,GAC5B,EACAhW,SAAUiU,EAAc5V,QAAU,EAAE,UAEpC,SAACgL,EAAA,EAAU,aAGV,0BAxHiBc,EAAEvI,YA2HhC,aAKV,SAAC1E,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ0a,oBAAoB,UACxD,UAACrW,EAAA,GAAI,CAAC/D,MAAI,EAACF,UAAWJ,EAAQ2a,mBAAmB,WAC/C,wBAAI,iBACJ,iBAAMva,UAAWJ,EAAQqH,MAAM,SAC5BwG,EAA8B,eAEjC,SAACxJ,EAAA,GAAI,CAAChE,WAAS,WACZib,GACCA,EAAY7W,KAAI,SAAC8Y,EAAKjM,GAAO,IAAD,EAC1B,OACE,UAACjN,EAAA,GAAI,CACH/D,MAAI,EACJC,GAAI,GACJH,UAAWJ,EAAQ+a,YAAY,WAG/B,SAACyC,GAAA,EAAkB,CACjBC,OAAQF,EAAIE,OACZC,eAAgB,SAACnc,GACfqb,EAAiBtL,EAAG,SAAU/P,EAChC,EACAoc,cAAeJ,EAAIrM,IACnB0M,sBAAuB,SAACrc,GACtBqb,EAAiBtL,EAAG,MAAO/P,EAC7B,EACAsc,SAAUN,EAAIM,SACdC,iBAAkB,SAACvc,GACjBqb,EAAiBtL,EAAG,WAAY/P,EAClC,EACAA,MAAOgc,EAAIhc,MACXwc,cAAe,SAACxc,GACdqb,EAAiBtL,EAAG,QAAS/P,EAC/B,EACAyc,mBAAwC,QAArB,EAAAT,EAAIS,yBAAiB,aAArB,EAAuBC,UAAW,EACrDC,gBAAiB,SAAC3c,GAChBqb,EAAiBtL,EAAG,oBAAqB,CACvC2M,QAAS1c,GAEb,EACAoD,MAAO2M,KAET,gBAAKlR,UAAWJ,EAAQ6M,cAAc,UACpC,SAAC1D,EAAA,EAAU,CACTI,KAAM,QACNvH,QAAS,WACPoI,GAAS+T,EAAAA,EAAAA,MACX,EACAhX,SAAUmK,IAAMgK,EAAY9V,OAAS,EAAE,UAEvC,SAAC8X,GAAA,EAAO,SAIZ,gBAAKld,UAAWJ,EAAQ6M,cAAc,UACpC,SAAC1D,EAAA,EAAU,CACTI,KAAM,QACNvH,QAAS,kBAAMoI,GAASgU,EAAAA,EAAAA,IAAiB9M,GAAG,EAC5CnK,SAAUmU,EAAY9V,QAAU,EAAE,UAElC,SAACgL,EAAA,EAAU,UAET,0BA/CkBc,EAAEvI,YAkDhC,aAMd,I,YCTA,IAAepK,EAAAA,EAAAA,IAldA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,IAAa,0BACRmO,EAAAA,IACAF,EAAAA,IACAC,EAAAA,IACF,GA6cL,EA3ce,SAAH,GAAmC,IAA7B/M,EAAO,EAAPA,QACVoK,GAAWC,EAAAA,EAAAA,MAEXgU,GAAc5T,EAAAA,EAAAA,KAClB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOC,UAAUiR,WAAW,IAEhEC,GAAY7T,EAAAA,EAAAA,KAChB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOC,UAAUkR,SAAS,IAE9DC,GAAkB9T,EAAAA,EAAAA,KACtB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOC,UAAUmR,eAAe,IAEpEC,GAAgB/T,EAAAA,EAAAA,KACpB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOC,UAAUoR,aAAa,IAElEC,GAAwBhU,EAAAA,EAAAA,KAC5B,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAOC,UAAUqR,qBAAqB,IAEvDC,GAAwBjU,EAAAA,EAAAA,KAC5B,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAOC,UAAUsR,qBAAqB,IAGvDC,GAAmBlU,EAAAA,EAAAA,KACvB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOC,UAAUwR,iBAAiB,IAEtEnR,GAAehD,EAAAA,EAAAA,KACnB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOC,UAAUK,YAAY,IAEjEoR,GAAkBpU,EAAAA,EAAAA,KACtB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOC,UAAU0R,gBAAgB,IAErEC,GAAsBtU,EAAAA,EAAAA,KAC1B,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOC,UAAU2R,mBAAmB,IAGxEC,GAAuBvU,EAAAA,EAAAA,KAC3B,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAOC,UAAU4R,oBAAoB,IAGtDC,GAAgCxU,EAAAA,EAAAA,KACpC,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAOC,UAAU6R,6BAA6B,IAE/DC,GAAiBzU,EAAAA,EAAAA,KACrB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOC,UAAU8R,cAAc,IAEnEC,GAAW1U,EAAAA,EAAAA,KACf,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOC,UAAU+R,QAAQ,IAE7DC,GAAyB3U,EAAAA,EAAAA,KAC7B,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAOC,UAAUgS,sBAAsB,IAExDC,GAA6B5U,EAAAA,EAAAA,KACjC,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAOC,UAAUiS,0BAA0B,IAE5DC,GAAiC7U,EAAAA,EAAAA,KACrC,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAOC,UAAUkS,8BAA8B,IAEhEC,GAAkB9U,EAAAA,EAAAA,KACtB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOC,UAAUmS,eAAe,IAEpEC,GAAyB/U,EAAAA,EAAAA,KAC7B,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAOC,UAAUoS,sBAAsB,IAExDC,GAAsBhV,EAAAA,EAAAA,KAC1B,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOC,UAAUqS,mBAAmB,IAG9E,GAAgDlY,EAAAA,EAAAA,UAAc,CAAC,GAAE,eAA1DsG,EAAgB,KAAEC,EAAmB,KAGtCC,GAAcC,EAAAA,EAAAA,cAClB,SAACC,EAAe1M,GACd6I,GACE8D,EAAAA,EAAAA,IAAe,CAAEC,SAAU,YAAaF,MAAOA,EAAO1M,MAAOA,IAEjE,GACA,CAAC6I,KAIHS,EAAAA,EAAAA,YAAU,WACR,IAAIuD,EAAyC,GAEzCuQ,IACFvQ,EAAuB,kBAClBA,GAAuB,CAC1B,CACEC,SAAU,2BACVjH,UAAU,EACV7F,MAAO+d,EACP/Q,iBAAqD,KAAnC+Q,EAClB7Q,wBAAyB,yBAE3B,CACEJ,SAAU,yBACVjH,UAAU,EACV7F,MAAOyd,EACPzQ,iBAC2B,KAAzByQ,GAA+BxQ,SAASwQ,IAAyB,EACnEvQ,wBAAwB,yDAI1BoQ,IACFzQ,EAAuB,kBAClBA,GAAuB,CAC1B,CACEC,SAAU,2BACVjH,UAAU,EACV7F,MAAO0d,EACP1Q,iBAAoD,KAAlC0Q,EAClBxQ,wBAAyB,yBAE3B,CACEJ,SAAU,yBACVjH,UAAU,EACV7F,MAAOwd,EACPxQ,iBAC0B,KAAxBwQ,GAA8BvQ,SAASuQ,IAAwB,EACjEtQ,wBAAwB,yDAK1B4P,IACFjQ,EAAuB,kBAClBA,GAAuB,CAC1B,CACEC,SAAU,QACVjH,UAAU,EACV7F,MAAO+c,EACPxP,QAAS,wBACTC,qBAAsB,iDAExB,CACEV,SAAU,iBACVjH,UAAU,EACV7F,MAAO2d,EACPpQ,QAAS,wBACTC,qBACE,oDAEJ,CACEV,SAAU,WACVjH,UAAU,EACV7F,MAAO4d,EACPrQ,QAAS,wBACTC,qBAAsB,+CAExB,CACEV,SAAU,yBACVjH,UAAU,EACV7F,MAAO6d,EACPtQ,QAAS,wBACTC,qBACE,sDAEJ,CACEV,SAAU,6BACVjH,UAAU,EACV7F,MAAO8d,EACPvQ,QAAS,wBACTC,qBACE,qDAEJ,CACEV,SAAU,kBACVjH,UAAU,EACV7F,MAAOge,EACPzQ,QAAS,wBACTC,qBACE,sDAEJ,CACEV,SAAU,yBACVjH,UAAU,EACV7F,MAAOie,EACP1Q,QAAS,wBACTC,qBACE,uDAEJ,CACEV,SAAU,sBACVjH,UAAU,EACV7F,MAAOke,EACP3Q,QAAS,wBACTC,qBACE,uDAGFwP,IACFnQ,EAAuB,kBAClBA,GAAuB,CAC1B,CACEC,SAAU,WACVjH,UAAU,EACV7F,MAAOid,GAET,CACEnQ,SAAU,mBACVjH,UAAU,EACV7F,MAAOkd,GAET,CACEpQ,SAAU,mBACVjH,UAAU,EACV7F,MAAOmd,OAMf,IAAM1P,GAAYC,EAAAA,EAAAA,GAAqBb,GAEvChE,GACE8E,EAAAA,EAAAA,IAAY,CACVf,SAAU,YACVgB,MAAyC,IAAlCC,OAAOC,KAAKL,GAAWxJ,UAIlCsI,EAAoBkB,EACtB,GAAG,CACDqP,EACAC,EACAY,EACAC,EACAC,EACAC,EACAE,EACAC,EACAC,EACAlB,EACAC,EACAC,EACAC,EACAtU,EACAuU,EACAlR,EACAoR,EACAS,EACAN,EACAC,EACAF,IAGF,IAAMzP,EAAkB,SAACC,GACvBzB,GAAoB0B,EAAAA,EAAAA,IAAqB3B,EAAkB0B,GAC7D,EAEA,OACE,UAACE,EAAA,EAAK,CAACrP,UAAWJ,EAAQ0P,aAAa,WACrC,iBAAKtP,UAAWJ,EAAQ2P,cAAc,WACpC,eAAIvP,UAAWJ,EAAQ4P,UAAU,SAAC,sBAClC,iBAAMxP,UAAWJ,EAAQ6P,gBAAgB,SAAC,2EAK5C,UAAC,EAAAgD,SAAQ,YACP,SAACxO,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,QACHsG,KAAK,QACLhB,SAAU,SAACgC,GACT6F,EAAY,YAAa7F,EAAE9B,OAAO7E,OAClC+N,EAAgB,QAClB,EACAhO,MAAM,QACNC,MAAO+c,EACPjX,MAAOwG,EAAwB,OAAK,GACpCoC,YAAY,gDAIhB,SAAC5L,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,WACHsG,KAAK,WACLhB,SAAU,SAACgC,GACT6F,EAAY,WAAY7F,EAAE9B,OAAO7E,OACjC+N,EAAgB,WAClB,EACAhO,MAAM,MACNC,MAAO4d,EACP9X,MAAOwG,EAA2B,UAAK,GACvCoC,YAAY,yBAGhB,SAAC5L,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,wBAAI,kBAEN,SAAC5M,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,iBACHsG,KAAK,iBACLhB,SAAU,SAACgC,GACT6F,EAAY,iBAAkB7F,EAAE9B,OAAO7E,OACvC+N,EAAgB,iBAClB,EACAhO,MAAM,MACNC,MAAO2d,EACP7X,MAAOwG,EAAiC,gBAAK,GAC7CoC,YAAY,8BAGhB,SAAC5L,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,yBACHsG,KAAK,yBACLhB,SAAU,SAACgC,GACT6F,EAAY,yBAA0B7F,EAAE9B,OAAO7E,OAC/C+N,EAAgB,yBAClB,EACAhO,MAAM,aACNC,MAAO6d,EACP/X,MAAOwG,EAAyC,wBAAK,GACrDoC,YAAY,2BAGhB,SAAC5L,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,6BACHsG,KAAK,6BACLhB,SAAU,SAACgC,GACT6F,EAAY,6BAA8B7F,EAAE9B,OAAO7E,OACnD+N,EAAgB,6BAClB,EACAhO,MAAM,kBACNC,MAAO8d,EACPhY,MAAOwG,EAA6C,4BAAK,GACzDoC,YAAY,8BAGhB,SAAC5L,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,wBAAI,kBAEN,SAAC5M,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,kBACHsG,KAAK,kBACLhB,SAAU,SAACgC,GACT6F,EAAY,kBAAmB7F,EAAE9B,OAAO7E,OACxC+N,EAAgB,kBAClB,EACAhO,MAAM,aACNC,MAAOge,EACPlY,MAAOwG,EAAkC,iBAAK,GAC9CoC,YAAY,4CAGhB,SAAC5L,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,yBACHsG,KAAK,yBACLhB,SAAU,SAACgC,GACT6F,EAAY,yBAA0B7F,EAAE9B,OAAO7E,OAC/C+N,EAAgB,yBAClB,EACAhO,MAAM,qBACNC,MAAOie,EACPnY,MAAOwG,EAAyC,wBAAK,GACrDoC,YAAY,6BAGhB,SAAC5L,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,sBACHsG,KAAK,sBACLhB,SAAU,SAACgC,GACT6F,EAAY,sBAAuB7F,EAAE9B,OAAO7E,OAC5C+N,EAAgB,sBAClB,EACAhO,MAAM,kBACNC,MAAOke,EACPpY,MAAOwG,EAAsC,qBAAK,GAClDoC,YAAY,gCAKjBoO,IACC,UAAC,EAAAxL,SAAQ,YACP,SAACxO,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,wBAAI,iCAEN,SAAC5M,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACnB,EAAA,EAAiB,CAChBvO,MAAM,oBACNX,GAAG,oBACHsG,KAAK,oBACL6I,QAASwO,EACTrY,SAAU,SAACgC,GACT,IACM6H,EADU7H,EAAE9B,OACM2J,QAExBhC,EAAY,kBAAmBgC,EACjC,EACAzO,MAAO,0CAKdid,IACC,UAAC,EAAA1L,SAAQ,YACP,SAACxO,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,WACHsG,KAAK,WACLhB,SAAU,SAACgC,GACT6F,EAAY,gBAAiB7F,EAAE9B,OAAO7E,MACxC,EACAD,MAAM,WACNC,MAAOid,EACPnX,MAAOwG,EAA2B,UAAK,GACvCoC,YAAY,8BACZ7I,UAAQ,OAGZ,SAAC/C,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,mBACHsG,KAAK,mBACLhB,SAAU,SAACgC,GACT6F,EAAY,wBAAyB7F,EAAE9B,OAAO7E,MAChD,EACAD,MAAM,WACNC,MAAOkd,EACPpX,MAAOwG,EAAmC,kBAAK,GAC/CzG,UAAQ,OAGZ,SAAC/C,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACjB,EAAA,EAAe,CACdpP,GAAG,mBACHsG,KAAK,mBACLhB,SAAU,SAACgC,GACT6F,EAAY,wBAAyB7F,EAAE9B,OAAO7E,MAChD,EACAD,MAAM,WACNC,MAAOmd,EACPrX,MAAOwG,EAAmC,kBAAK,GAC/CzG,UAAQ,WAOtB,I,oFC7QA,IAAezI,EAAAA,EAAAA,IAtMA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,IAAa,gBACXC,KAAM,CACJkE,OAAQ,GAEV0c,MAAO,CACL,uBAAwB,CACtBngB,SAAU,MAGXuN,EAAAA,IACAC,EAAAA,IACF,GA0LL,EAxLoB,SAAH,GAAwC,IAAlC/M,EAAO,EAAPA,QACf2f,GAAQlV,EAAAA,EAAAA,KACZ,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyS,WAAWD,KAAK,IAE3DE,GAAapV,EAAAA,EAAAA,KACjB,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAOyS,WAAWE,sBAAsB,IAEzDC,GAAWtV,EAAAA,EAAAA,KACf,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyS,WAAWG,QAAQ,IAG9DC,GAAevV,EAAAA,EAAAA,KACnB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyS,WAAWI,YAAY,IAElEC,GAAexV,EAAAA,EAAAA,KACnB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOyS,WAAWK,YAAY,IAGlEC,GAAWzV,EAAAA,EAAAA,KACf,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAOyS,WAAWO,mBAAmB,IAEtDC,GAAuB3V,EAAAA,EAAAA,KAC3B,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAOyS,WAAWQ,oBAAoB,IAGvDC,EAAoBJ,EAAaK,eAAeC,MACpD,SAACje,GAAO,OAAKA,EAAQke,cAAgBT,CAAQ,IAG/C,OACE,iBAAK3f,UAAWJ,EAAQlB,KAAK,WAC3B,wBAAI,yBACJ,SAACiS,EAAA,EAAO,KACR,SAAC0P,GAAA,EAAK,CAACrgB,UAAWJ,EAAQ0f,MAAO,aAAW,eAAenW,KAAM,QAAQ,UACvE,UAACmX,GAAA,EAAS,YACR,UAACC,GAAA,EAAQ,YACP,SAACC,GAAA,EAAS,CAACC,MAAM,MAAK,SAAC,uBACvB,SAACD,GAAA,EAAS,CAACE,MAAM,QAAO,SACrBtS,SAASmR,GAAS,EAAIA,EAAQ,SAGK,KAAvCS,EAAqBW,eACkB,KAAtCX,EAAqBY,eACnB,UAAC,EAAAnO,SAAQ,YACP,UAAC8N,GAAA,EAAQ,YACP,SAACC,GAAA,EAAS,CAACC,MAAM,MAAK,SAAC,uBACvB,SAACD,GAAA,EAAS,CAACE,MAAM,QAAO,SACrBd,EAAeA,EAAaiB,MAAQ,UAGzC,UAACN,GAAA,EAAQ,YACP,SAACC,GAAA,EAAS,CAACC,MAAM,MAAK,SAAC,oBACvB,SAACD,GAAA,EAAS,CAACE,MAAM,QAAO,SACrBd,GAAekB,EAAAA,GAAAA,IAAUlB,EAAamB,QAAU,aAM3D,UAACR,GAAA,EAAQ,YACP,SAACC,GAAA,EAAS,CAACC,MAAM,MAAK,SAAC,mBACvB,SAACD,GAAA,EAAS,CAACE,MAAM,QAAO,SACrBd,EAAeA,EAAaoB,kBAAoB,SAGb,KAAvChB,EAAqBW,eACkB,KAAtCX,EAAqBY,eACnB,UAAC,EAAAnO,SAAQ,YACP,UAAC8N,GAAA,EAAQ,YACP,SAACC,GAAA,EAAS,CAACC,MAAM,MAAK,SAAC,qBACvB,UAACD,GAAA,EAAS,CAACE,MAAM,QAAO,UAAEjB,EAAW,aAEvC,UAACc,GAAA,EAAQ,YACP,SAACC,GAAA,EAAS,CAAC1e,MAAO,CAAEsK,aAAc,GAAKqU,MAAM,MAAK,SAAC,mBAGnD,SAACD,GAAA,EAAS,CAAC1e,MAAO,CAAEsK,aAAc,GAAKsU,MAAM,QAAO,SACjDZ,eAOS,IAAvBD,EAAa5Y,OAAegZ,IAC3B,UAAC,EAAAxN,SAAQ,YACP,wBAAI,gCACJ,SAAC9B,EAAA,EAAO,KACR,SAAC0P,GAAA,EAAK,CACJrgB,UAAWJ,EAAQ0f,MACnB,aAAW,eACXnW,KAAM,QAAQ,UAEd,UAACmX,GAAA,EAAS,YACR,UAACC,GAAA,EAAQ,YACP,SAACC,GAAA,EAAS,CAACC,MAAM,MAAK,SAAC,eACvB,SAACD,GAAA,EAAS,CAACE,MAAM,QAAO,SACR,KAAbf,EAAkBA,EAAW,UAGlC,UAACY,GAAA,EAAQ,YACP,SAACC,GAAA,EAAS,CAACC,MAAM,MAAK,SAAC,kBACvB,SAACD,GAAA,EAAS,CAACE,MAAM,QAAO,UACrBI,EAAAA,GAAAA,IAAUjB,EAAaoB,mBAG5B,UAACV,GAAA,EAAQ,YACP,SAACC,GAAA,EAAS,CAACC,MAAM,MAAK,SAAC,qBACvB,SAACD,GAAA,EAAS,CAACE,MAAM,QAAO,UACrBI,EAAAA,GAAAA,IAAUb,EAAkBiB,mBAGjC,UAACX,GAAA,EAAQ,YACP,SAACC,GAAA,EAAS,CAAC1e,MAAO,CAAEsK,aAAc,GAAKqU,MAAM,MAAK,SAAC,+BAGnD,SAACD,GAAA,EAAS,CAAC1e,MAAO,CAAEsK,aAAc,GAAKsU,MAAM,QAAO,SACjDd,EACGuB,KAAKC,MACHnB,EAAkBoB,sBAChBzB,EAAaiB,OAEjB,iBAOwB,KAAvCb,EAAqBW,eACkB,KAAtCX,EAAqBY,eACnB,UAAC,EAAAnO,SAAQ,YACP,wBAAI,mCACJ,SAAC9B,EAAA,EAAO,KACR,SAAC0P,GAAA,EAAK,CACJrgB,UAAWJ,EAAQ0f,MACnB,aAAW,eACXnW,KAAM,QAAQ,UAEd,UAACmX,GAAA,EAAS,YACR,UAACC,GAAA,EAAQ,YACP,SAACC,GAAA,EAAS,CAACC,MAAM,MAAK,SAAC,SACvB,SAACD,GAAA,EAAS,CAACE,MAAM,QAAO,SACQ,IAA7BV,EAAqBsB,IAClBtB,EAAqBsB,IACrB,UAGR,UAACf,GAAA,EAAQ,YACP,SAACC,GAAA,EAAS,CAACC,MAAM,MAAK,SAAC,YACvB,SAACD,GAAA,EAAS,CAACE,MAAM,QAAO,SACW,IAAhCV,EAAqBuB,OAAY,UAC3BvB,EAAqBuB,OAAM,OAC9B,UAGR,UAAChB,GAAA,EAAQ,YACP,SAACC,GAAA,EAAS,CAACC,MAAM,MAAK,SAAC,uBACvB,SAACD,GAAA,EAAS,CAACE,MAAM,QAAO,SACoB,IAAzCV,EAAqBwB,gBAAqB,UACpCxB,EAAqBwB,iBACxB,UAGR,UAACjB,GAAA,EAAQ,YACP,SAACC,GAAA,EAAS,CAAC1e,MAAO,CAAEsK,aAAc,GAAKqU,MAAM,MAAK,SAAC,gBAGnD,UAACD,GAAA,EAAS,CAAC1e,MAAO,CAAEsK,aAAc,GAAKsU,MAAM,QAAO,UACjDV,EAAqByB,UAAUA,UAC/BzB,EAAqByB,UAAUC,yBASpD,I,oFC1MMpQ,IAAYC,EAAAA,EAAAA,IAAW,SAAC/S,GAAY,OACxCC,EAAAA,EAAAA,IAAa,gBACXkjB,SAAU,CACRnb,SAAU,QACVC,WAAY,SACZmb,SAAU,eAETlV,EAAAA,IACAjD,EAAAA,IACH,IA+CJ,GA5C0B,WACxB,IAAMO,GAAWC,EAAAA,EAAAA,MACXrK,EAAU0R,KAEVuQ,GAAYxX,EAAAA,EAAAA,KAChB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAO+U,WAAWD,SAAS,IAE/DE,GAAsB1X,EAAAA,EAAAA,KAC1B,SAACC,GAAe,OAAKA,EAAMwC,aAAakV,YAAY,IAEhDC,GAAmB5X,EAAAA,EAAAA,KACvB,SAACC,GAAe,OAAKA,EAAMwC,aAAaoV,SAAS,IAGnD,OACE,SAACC,GAAA,EAAa,CACZriB,MAAK,gBACLsiB,YAAa,SACbC,mBAAoB,CAClBld,QAAS,cAEXmd,OAAQL,EACRje,WAAW,SAAC,OAAgB,IAC5Bue,UAAWR,EACXS,UAAW,WACTxY,GAASyY,EAAAA,GAAAA,MACX,EACA1e,QAAS,WACPiG,GAAS0Y,EAAAA,EAAAA,MACX,EACAC,qBACE,UAAC,WAAc,WACZZ,IAAuB,SAACa,EAAA,EAAc,KACvC,UAACC,GAAA,EAAiB,WAAC,mDAEjB,mBACA,cAAG7iB,UAAWJ,EAAQ+hB,SAAS,SAAEE,IAAc,WAM3D,E,uBCDA,GA1D0B,SAAH,GAAkB,EAAZiB,aAAgD,IACrE9Y,GAAWC,EAAAA,EAAAA,MAEX4X,GAAYxX,EAAAA,EAAAA,KAChB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAO+U,WAAWD,SAAS,IAG/DkB,GAAqB1Y,EAAAA,EAAAA,KACzB,SAACC,GAAe,OAAKA,EAAMwC,aAAaiW,kBAAkB,IAGtDC,GAAiB3Y,EAAAA,EAAAA,KACrB,SAACC,GAAe,OAAKA,EAAMwC,aAAaW,iBAA4B,SAAC,IAEjEwV,GAAmB5Y,EAAAA,EAAAA,KACvB,SAACC,GAAe,OAAKA,EAAMwC,aAAaoV,SAAS,IAG7CgB,GAAoBC,EAAAA,EAAAA,UACxB,kBACEC,MAAS,WACPpZ,GAASqZ,EAAAA,GAAAA,MACX,GAAG,IAAI,GACT,CAACrZ,KAGHS,EAAAA,EAAAA,YAAU,WACR,GAAkB,KAAdoX,EAGF,OAFAqB,IAEOA,EAAkBI,MAE7B,GAAG,CAACJ,EAAmBrB,IAMvB,OACE,UAAC,EAAApP,SAAQ,WACNwQ,IAAoB,SAAC,GAAiB,KACvC,SAACrT,EAAA,EAAe,CACdpP,GAAG,YACHsG,KAAK,YACLhB,SAAU,SAACgC,GACTkC,GAASuZ,EAAAA,EAAAA,IAAazb,EAAE9B,OAAO7E,OACjC,EACAD,MAAM,YACNC,MAAO0gB,EACP5a,MAAO+b,GAAkB,GACzBQ,UAAW,gBACXC,YAAaV,GAAqB,SAAC7F,GAAA,EAAO,IAAM,KAChDzQ,cAlBe,WACnBzC,GAAS0Z,EAAAA,EAAAA,MACX,EAiBM1c,UAAQ,MAIhB,EC1BM2c,GAAkB,WACtB,IAAM3Z,GAAWC,EAAAA,EAAAA,MACX2Z,GAAavZ,EAAAA,EAAAA,KACjB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAO+U,WAAW8B,UAAU,IAGhEC,GAAkBxZ,EAAAA,EAAAA,KACtB,SAACC,GAAe,OAAKA,EAAMwC,aAAaW,iBAAiB,cAAc,IAGzE,OACE,SAACmC,EAAA,EAAe,CACdpP,GAAG,cACHsG,KAAK,cACLhB,SAAU,SAACgC,GACTkC,GAAS8Z,EAAAA,EAAAA,IAAchc,EAAE9B,OAAO7E,OAClC,EACAD,MAAM,OACNC,MAAOyiB,EACP5c,UAAQ,EACRC,MAAO4c,GAAmB,IAGhC,EAgIA,IAAetlB,EAAAA,EAAAA,IArKA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,IAAa,wBACXslB,YAAa,CACX3d,WAAY,GACZrF,WAAY,UACZpC,OAAQ,oBACRkC,QAAS,EACTmC,UAAW,KAEV4J,EAAAA,IACAF,EAAAA,IACAC,EAAAA,IACF,GAyJL,EAzHuB,SAAH,GAA0D,IAApD/M,EAAO,EAAPA,QAASkjB,EAAY,EAAZA,aAC3B9Y,GAAWC,EAAAA,EAAAA,MAEX+Z,GAAuB3Z,EAAAA,EAAAA,KAC3B,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAO+U,WAAWkC,oBAAoB,IAEvDC,GAAsB5Z,EAAAA,EAAAA,KAC1B,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAO+U,WAAWmC,mBAAmB,IAEtDC,GAAiB7Z,EAAAA,EAAAA,KACrB,SAACC,GAAe,OAAKA,EAAMwC,aAAaoX,cAAc,IAElDC,GAAW9Z,EAAAA,EAAAA,IAAY+Z,GAAAA,IAGvBzW,GAAcC,EAAAA,EAAAA,cAClB,SAACC,EAAe1M,GACd6I,GACE8D,EAAAA,EAAAA,IAAe,CAAEC,SAAU,aAAcF,MAAOA,EAAO1M,MAAOA,IAElE,GACA,CAAC6I,IAYH,OARAS,EAAAA,EAAAA,YAAU,WACR,IAAM4Z,EACHvB,IAAiBwB,GAAAA,GAAAA,SAAmBJ,EAAe9e,OAAS,GAC5D0d,IAAiBwB,GAAAA,GAAAA,SAA2C,KAAxBL,EAEvCja,GAAS8E,EAAAA,EAAAA,IAAY,CAAEf,SAAU,aAAcgB,MAAOsV,IACxD,GAAG,CAACH,EAAgBla,EAAUia,EAAqBnB,KAGjD,SAAC,EAAArQ,SAAQ,WACP,UAACxO,EAAA,GAAI,CAAChE,WAAS,aACb,SAACgE,EAAA,GAAI,CAAC/D,MAAI,EAACuF,GAAI,CAAE/F,MAAO,sBAAuB,UAC7C,SAAC2P,EAAA,EAAK,CAACrP,UAAWJ,EAAQ0P,aAAc7J,GAAI,CAAES,UAAW,KAAM,UAC7D,UAACjC,EAAA,GAAI,CAAChE,WAAS,aACb,UAACgE,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,WAChB,iBAAKH,UAAWJ,EAAQ2P,cAAc,WACpC,eAAIvP,UAAWJ,EAAQ4P,UAAU,SAAC,UAClC,iBAAMxP,UAAWJ,EAAQ6P,gBAAgB,SAAC,oDAI5C,gBAAKzP,UAAWJ,EAAQiR,aAAa,UACnC,SAAC8S,GAAe,UAGpB,SAAC1f,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAAC,GAAiB,CAACiS,aAAcA,MAElCA,IAAiBwB,GAAAA,GAAAA,SAChB,SAACrgB,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACN,EAAA,EAAa,CACZ/P,GAAG,gBACHsG,KAAK,gBACLhB,SAAU,SAACgC,GACT6F,EACE,uBACA7F,EAAE9B,OAAO7E,MAEb,EACAD,MAAM,gBACNC,MAAO6iB,EACPvT,QAASyT,EACTnd,SAAUmd,EAAe9e,OAAS,OAItC,SAACnB,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiR,aAAa,UACjD,SAACN,EAAA,EAAa,CACZ/P,GAAG,eACHsG,KAAK,eACLhB,SAAU,SAACgC,GACTkC,GACEua,EAAAA,EAAAA,IAAe,CACbC,YAAa1c,EAAE9B,OAAO7E,MACtBgjB,SAAUA,IAGhB,EACAjjB,MAAOyC,IACL8gB,GAAAA,GAAsB,GAAD,OAClB3B,EAAY,yBACf,gBAEF3hB,MAAO8iB,EACPxT,QAAS9M,IACP8gB,GAAAA,GAAsB,GAAD,OAClB3B,EAAY,0BACf,QAKPA,IAAiBwB,GAAAA,GAAAA,SAChB,SAACI,GAAA,EAAU,IAEX/gB,IACE8gB,GAAAA,GAAsB,GAAD,OAClB3B,EAAY,oBACf,cAMV,SAAC7e,EAAA,GAAI,CAAC/D,MAAI,YACR,gBAAKF,UAAWJ,EAAQmkB,YAAY,UAClC,SAAC,GAAW,YAMxB,ICzJA,GA/BwB,WACtB,IAAMI,GAAW9Z,EAAAA,EAAAA,IAAY+Z,GAAAA,IAC7B,GAAoCjd,EAAAA,EAAAA,UAAyB,MAAK,eAA3Dwd,EAAU,KAAEC,EAAa,KAsBhC,OApBAna,EAAAA,EAAAA,YAAU,WACR,IAAIoa,EAAmBP,GAAAA,GAAAA,QAEnBH,GAAgC,IAApBA,EAAS/e,QACG4J,OAAOC,KAAK6V,GAAAA,IAEpBxI,SAAQ,SAACpa,GACrBiiB,EAASY,SAAS7iB,KACpB2iB,EAAmBlhB,IACjBmhB,GAAAA,GACA5iB,EACAoiB,GAAAA,GAAAA,SAGN,IAGFM,EAAcC,EAChB,GAAG,CAACV,IAEe,OAAfQ,EACK,MAGF,SAAC,GAAc,CAAC7B,aAAc6B,GACvC,E,YCsjBA,IAAepmB,EAAAA,EAAAA,IA9jBA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,IAAa,gBACXmN,kBAAmB,CACjBpM,YAAa,GAEb,oBAAqB,CACnBb,OAAQ,kBAGZoN,YAAW,kBACNC,EAAAA,GAAAA,YAA6B,IAChCjN,WAAY,GACZM,aAAc,KAEhB4M,sBAAuB,CACrB,4BAA6B,CAC3BrL,SAAU,SACVrB,WAAY,aAEZ,cAAe,CACbF,aAAc,EACdG,YAAa,KAKnBwlB,uBAAwB,CACtB5e,WAAY,GACZvF,QAAS,GACTnB,MAAO,MACPkD,OAAQ,QAEVqiB,cAAe,CACbjiB,UAAW,KAEV0J,EAAAA,IACAC,EAAAA,IACF,GAyhBL,EAvhBwB,SAAH,GAAsC,IAAhC/M,EAAO,EAAPA,QACnBoK,GAAWC,EAAAA,EAAAA,MAEXia,GAAiB7Z,EAAAA,EAAAA,KACrB,SAACC,GAAe,OAAKA,EAAMwC,aAAaoX,cAAc,IAElDxF,GAAmBrU,EAAAA,EAAAA,KACvB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOC,UAAU0R,gBAAgB,IAErEC,GAAsBtU,EAAAA,EAAAA,KAC1B,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOC,UAAU2R,mBAAmB,IAExEE,GAAgCxU,EAAAA,EAAAA,KACpC,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAOC,UAAU6R,6BAA6B,IAE/DC,GAAiBzU,EAAAA,EAAAA,KACrB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOC,UAAU8R,cAAc,IAEnEE,GAAyB3U,EAAAA,EAAAA,KAC7B,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAOC,UAAUgS,sBAAsB,IAExDC,GAA6B5U,EAAAA,EAAAA,KACjC,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAOC,UAAUiS,0BAA0B,IAE5D+E,GAAuB3Z,EAAAA,EAAAA,KAC3B,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAO+U,WAAWkC,oBAAoB,IAEvDxW,GAAwBnD,EAAAA,EAAAA,KAC5B,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAOC,UAAUQ,qBAAqB,IAEvD0X,GAA2B7a,EAAAA,EAAAA,KAC/B,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAOC,UAAUkY,wBAAwB,IAE1DC,GAAmC9a,EAAAA,EAAAA,KACvC,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAOC,UAAUmY,gCAAgC,IAGxE,GAAgDhe,EAAAA,EAAAA,UAAc,CAAC,GAAE,eAA1DsG,EAAgB,KAAEC,EAAmB,KAEtC0X,EAAkB,CACtB,CAAElkB,MAAO,UAAWC,MAAO,YAAW,eACnC+iB,IAICvW,GAAcC,EAAAA,EAAAA,cAClB,SAACC,EAAe1M,GACd6I,GACE8D,EAAAA,EAAAA,IAAe,CAAEC,SAAU,YAAaF,MAAOA,EAAO1M,MAAOA,IAEjE,GACA,CAAC6I,KAIHS,EAAAA,EAAAA,YAAU,WACR,IAAIuD,EAAyC,GAEzC0Q,IACF1Q,EAAuB,kBAClBA,GAAuB,CAC1B,CACEC,SAAU,2BACVjH,UAAU,EACV7F,MAAO0d,EACP1Q,iBAAoD,KAAlC0Q,EAClBxQ,wBAAyB,yBAE3B,CACEJ,SAAU,yBACVjH,UAAU,EACV7F,MAAOwd,EACPxQ,iBAC0B,KAAxBwQ,GAA8BvQ,SAASuQ,IAAwB,EACjEtQ,wBAAwB,sDAE1B,CACEJ,SAAU,sCACVjH,UAAU,EACV7F,MAAO+jB,EAAyBhX,UAChCC,iBACyC,KAAvC+W,EAAyBhX,WACzBE,SAAS8W,EAAyBhX,WAAa,EACjDG,wBAAwB,8CAE1B,CACEJ,SAAU,uCACVjH,UAAU,EACV7F,MAAO+jB,EAAyB5W,WAChCH,iBAC0C,KAAxC+W,EAAyB5W,YACzBF,SAAS8W,EAAyB5W,YAAc,EAClDD,wBAAwB,+CAE1B,CACEJ,SAAU,oCACVjH,UAAU,EACV7F,MAAO+jB,EAAyB3W,QAChCJ,iBACuC,KAArC+W,EAAyB3W,SACzBH,SAAS8W,EAAyB3W,SAAW,EAC/CF,wBAAwB,4CAE1B,CACEJ,SAAU,qCACVjH,UAAU,EACV7F,MAAOgkB,EAAiCjX,UACxCC,iBACiD,KAA/CgX,EAAiCjX,WACjCE,SAAS+W,EAAiCjX,WAAa,EACzDG,wBAAwB,8CAE1B,CACEJ,SAAU,sCACVjH,UAAU,EACV7F,MAAO+jB,EAAyB5W,WAChCH,iBACkD,KAAhDgX,EAAiC7W,YACjCF,SAAS+W,EAAiC7W,YAAc,EAC1DD,wBAAwB,+CAE1B,CACEJ,SAAU,mCACVjH,UAAU,EACV7F,MAAOgkB,EAAiC5W,QACxCJ,iBAC+C,KAA7CgX,EAAiC5W,SACjCH,SAAS+W,EAAiC5W,SAAW,EACvDF,wBAAwB,+CAK9B,IAAMO,GAAYC,EAAAA,EAAAA,GAAqBb,GAEvChE,GACE8E,EAAAA,EAAAA,IAAY,CACVf,SAAU,YACVgB,MAAyC,IAAlCC,OAAOC,KAAKL,GAAWxJ,UAIlCsI,EAAoBkB,EACtB,GAAG,CACDkQ,EACAE,EACAC,EACAjV,EACA0U,EACAG,EACAF,EACAnR,EACA0X,EACAC,KAGF1a,EAAAA,EAAAA,YAAU,WAEJyZ,EAAe9e,OAAS,IAIK,IAHP8e,EAAe9S,QACrC,SAAClR,GAAS,OAAKA,EAAKiB,QAAU0d,CAA6B,IAEzCzZ,QAClBuI,EAAY,gCAAiC,WAGnD,GAAG,CACDkR,EACAmF,EACAE,EACAvW,IAGF,IAAMuB,EAAkB,SAACC,GACvBzB,GAAoB0B,EAAAA,EAAAA,IAAqB3B,EAAkB0B,GAC7D,EAEA,OACE,UAACE,EAAA,EAAK,CAACrP,UAAWJ,EAAQ0P,aAAa,WACrC,UAACrL,EAAA,GAAI,CAAChE,WAAS,EAACV,WAAY,SAAS,WACnC,SAAC0E,EAAA,GAAI,CAAC/D,MAAI,EAACC,IAAE,YACX,SAAC,EAAS,UAAC,iBAEb,SAAC8D,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,EAAE,UACf,SAACuP,EAAA,EAAiB,CAChBvO,MAAM,gBACNX,GAAG,gBACHsG,KAAK,gBACL6I,QAAS+O,EACT5Y,SAAU,SAACgC,GACT,IACM6H,EADU7H,EAAE9B,OACM2J,QAExBhC,EAAY,mBAAoBgC,EAClC,EACA8J,gBAAiB,CAAC,UAAW,oBAInC,UAACxV,EAAA,GAAI,CAAChE,WAAS,EAACuV,QAAS,EAAE,WACzB,SAACvR,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,UAChB,iBAAMH,UAAWJ,EAAQ6P,gBAAgB,SAAC,gGAK5C,SAACxL,EAAA,GAAI,CAAC9D,GAAI,GAAG,UACX,eAAIH,UAAWJ,EAAQ8Z,YAExBgF,IACC,UAAC,EAAAjM,SAAQ,YACP,SAACxO,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,UAChB,SAACoQ,EAAA,EAAa,CACZ/P,GAAG,2BACHsG,KAAK,2BACLhB,SAAU,SAACgC,GACT6F,EACE,gCACA7F,EAAE9B,OAAO7E,MAEb,EACAD,MAAM,2BACNC,MAAO0d,EACPpO,QAAS2U,EACTre,SAAUqe,EAAmBhgB,OAAS,OAG1C,SAACnB,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,UAChB,gBAAKH,UAAWJ,EAAQyQ,eAAe,UACrC,SAACT,EAAA,EAAe,CACdvJ,KAAK,SACL7F,GAAG,yBACHsG,KAAK,yBACLhB,SAAU,SAACgC,GACT6F,EAAY,sBAAuB7F,EAAE9B,OAAO7E,OAC5C+N,EAAgB,yBAClB,EACAhO,MAAM,eACNmkB,eACE,SAACC,GAAA,EAAa,CACZ9kB,GAAI,YACJ+kB,aAAc,WAAO,EACrBC,aAAc,KACdC,UAAW,CAAC,CAAEvkB,MAAO,KAAMC,MAAO,OAClC4F,UAAU,IAGd5F,MAAOwd,EACP3X,UAAQ,EACRC,MAAOwG,EAAyC,wBAAK,GACrD6C,IAAI,WAKV,sBACEtQ,UAAS,UAAKJ,EAAQmM,WAAU,YAAInM,EAAQqlB,eAAgB,WAE5D,mBAAQjlB,UAAWJ,EAAQ6P,gBAAgB,SAAC,mCAI5C,SAACxL,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,UAChB,iBACEH,UAAS,UAAKJ,EAAQyQ,eAAc,YAAIzQ,EAAQqM,uBAAwB,WAExE,gBAAKjM,UAAWJ,EAAQgM,kBAAkB,UACxC,SAACgE,EAAA,EAAe,CACdvJ,KAAK,SACL7F,GAAG,sCACHsG,KAAK,sCACLhB,SAAU,SAACgC,GACT6F,EAAY,4BAA2B,kBAClCuX,GAAwB,IAC3BhX,UAAWpG,EAAE9B,OAAO7E,SAEtB+N,EAAgB,sCAClB,EACAhO,MAAM,cACNC,MAAO+jB,EAAyBhX,UAChClH,UAAQ,EACRC,MACEwG,EACuC,qCAClC,GAEP6C,IAAI,SAGR,gBAAKtQ,UAAWJ,EAAQgM,kBAAkB,UACxC,SAACgE,EAAA,EAAe,CACdvJ,KAAK,SACL7F,GAAG,uCACHsG,KAAK,uCACLhB,SAAU,SAACgC,GACT6F,EAAY,4BAA2B,kBAClCuX,GAAwB,IAC3B5W,WAAYxG,EAAE9B,OAAO7E,SAEvB+N,EAAgB,uCAClB,EACAhO,MAAM,eACNC,MAAO+jB,EAAyB5W,WAChCtH,UAAQ,EACRC,MACEwG,EACwC,sCACnC,GAEP6C,IAAI,cAKZ,mBACA,SAACrM,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,UAChB,iBACEH,UAAS,UAAKJ,EAAQyQ,eAAc,YAAIzQ,EAAQqM,uBAAwB,WAExE,gBAAKjM,UAAWJ,EAAQgM,kBAAkB,UACxC,SAACgE,EAAA,EAAe,CACdvJ,KAAK,SACL7F,GAAG,oCACHsG,KAAK,oCACLhB,SAAU,SAACgC,GACT6F,EAAY,4BAA2B,kBAClCuX,GAAwB,IAC3B3W,QAASzG,EAAE9B,OAAO7E,SAEpB+N,EAAgB,oCAClB,EACAhO,MAAM,UACNC,MAAO+jB,EAAyB3W,QAChCvH,UAAQ,EACRC,MACEwG,EAAoD,mCACpD,GAEF6C,IAAI,SAGR,gBAAKtQ,UAAWJ,EAAQgM,kBAAkB,UACxC,SAAC2E,EAAA,EAAa,CACZrP,MAAM,sBACNV,GAAG,sCACHsG,KAAK,sCACL3F,MAAO+jB,EAAyB1U,oBAChC1K,SAAU,SAACgC,GACT6F,EAAY,4BAA2B,kBAClCuX,GAAwB,IAC3B1U,oBAAqB1I,EAAE9B,OAAO7E,QAElC,EACAsP,QAAS,CACP,CACEvP,MAAO,SACPC,MAAO,UAET,CACED,MAAO,iBACPC,MAAO,6BAOnB,mBACA,SAAC8C,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,UAChB,gBAAKH,UAAWJ,EAAQyQ,eAAe,UACrC,SAACX,EAAA,EAAiB,CAChBvO,MAAM,uCACNX,GAAG,yCACHsG,KAAK,yCACL6I,QAASuV,EAAyBxU,aAClC5K,SAAU,SAACgC,GACT,IACM6H,EADU7H,EAAE9B,OACM2J,QACxBhC,EAAY,4BAA2B,kBAClCuX,GAAwB,IAC3BxU,aAAcf,IAElB,EACAzO,MAAO,+BAKf,sBAAUlB,UAAWJ,EAAQmM,WAAW,WACtC,mBAAQ/L,UAAWJ,EAAQ6P,gBAAgB,SAAC,oCAI5C,SAACxL,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,UAChB,iBACEH,UAAS,UAAKJ,EAAQyQ,eAAc,YAAIzQ,EAAQqM,uBAAwB,WAExE,gBAAKjM,UAAWJ,EAAQgM,kBAAkB,UACxC,SAACgE,EAAA,EAAe,CACdvJ,KAAK,SACL7F,GAAG,qCACHsG,KAAK,qCACLhB,SAAU,SAACgC,GACT6F,EAAY,oCAAmC,kBAC1CwX,GAAgC,IACnCjX,UAAWpG,EAAE9B,OAAO7E,SAEtB+N,EAAgB,qCAClB,EACAhO,MAAM,cACNC,MAAOgkB,EAAiCjX,UACxClH,UAAQ,EACRC,MACEwG,EACsC,oCACjC,GAEP6C,IAAI,SAGR,gBAAKtQ,UAAWJ,EAAQgM,kBAAkB,UACxC,SAACgE,EAAA,EAAe,CACdvJ,KAAK,SACL7F,GAAG,sCACHsG,KAAK,sCACLhB,SAAU,SAACgC,GACT6F,EAAY,oCAAmC,kBAC1CwX,GAAgC,IACnC7W,WAAYxG,EAAE9B,OAAO7E,SAEvB+N,EAAgB,sCAClB,EACAhO,MAAM,eACNC,MAAOgkB,EAAiC7W,WACxCtH,UAAQ,EACRC,MACEwG,EACuC,qCAClC,GAEP6C,IAAI,cAKZ,mBACA,SAACrM,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,UAChB,iBACEH,UAAS,UAAKJ,EAAQyQ,eAAc,YAAIzQ,EAAQqM,uBAAwB,WAExE,gBAAKjM,UAAWJ,EAAQgM,kBAAkB,UACxC,SAACgE,EAAA,EAAe,CACdvJ,KAAK,SACL7F,GAAG,mCACHsG,KAAK,mCACLhB,SAAU,SAACgC,GACT6F,EAAY,oCAAmC,kBAC1CwX,GAAgC,IACnC5W,QAASzG,EAAE9B,OAAO7E,SAEpB+N,EAAgB,mCAClB,EACAhO,MAAM,UACNC,MAAOgkB,EAAiC5W,QACxCvH,UAAQ,EACRC,MACEwG,EAAmD,kCACnD,GAEF6C,IAAI,SAGR,gBAAKtQ,UAAWJ,EAAQgM,kBAAkB,UACxC,SAAC2E,EAAA,EAAa,CACZrP,MAAM,sBACNV,GAAG,sCACHsG,KAAK,sCACL3F,MACEgkB,EAAiC3U,oBAEnC1K,SAAU,SAACgC,GACT6F,EAAY,oCAAmC,kBAC1CwX,GAAgC,IACnC3U,oBAAqB1I,EAAE9B,OAAO7E,QAElC,EACAsP,QAAS,CACP,CACEvP,MAAO,SACPC,MAAO,UAET,CACED,MAAO,iBACPC,MAAO,6BAOnB,mBACA,SAAC8C,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,UAChB,gBAAKH,UAAWJ,EAAQyQ,eAAe,UACrC,SAACX,EAAA,EAAiB,CAChBvO,MAAM,sCACNX,GAAG,wCACHsG,KAAK,wCACL6I,QAASwV,EAAiCzU,aAC1C5K,SAAU,SAACgC,GACT,IACM6H,EADU7H,EAAE9B,OACM2J,QACxBhC,EAAY,oCAAmC,kBAC1CwX,GAAgC,IACnCzU,aAAcf,IAElB,EACAzO,MAAO,sCAU3B,IChKA,IAAe3C,EAAAA,EAAAA,IA3ZA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,IAAa,gBACXmN,kBAAmB,CACjBpM,YAAa,GAEb,oBAAqB,CACnBb,OAAQ,kBAGZoN,YAAW,kBACNC,EAAAA,GAAAA,YAA6B,IAChCjN,WAAY,GACZM,aAAc,KAEhB4M,sBAAuB,CACrB,4BAA6B,CAC3BrL,SAAU,SACVrB,WAAY,aAEZ,cAAe,CACbF,aAAc,EACdG,YAAa,KAInBylB,cAAe,CACbjiB,UAAW,IAEb0iB,wBAAyB,CACvBtf,WAAY,GACZvF,QAAS,GACTnB,MAAO,MACPkD,OAAQ,SAEP8J,EAAAA,IACAC,EAAAA,IACF,GAuXL,EArXyB,SAAH,GAAsC,IAAhC/M,EAAO,EAAPA,QACpBoK,GAAWC,EAAAA,EAAAA,MAEXia,GAAiB7Z,EAAAA,EAAAA,KACrB,SAACC,GAAe,OAAKA,EAAMwC,aAAaoX,cAAc,IAElD1F,GAAoBnU,EAAAA,EAAAA,KACxB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOC,UAAUwR,iBAAiB,IAEtEI,GAAuBvU,EAAAA,EAAAA,KAC3B,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAOC,UAAU4R,oBAAoB,IAEtDM,GAAiC7U,EAAAA,EAAAA,KACrC,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAOC,UAAUkS,8BAA8B,IAEhEC,GAAkB9U,EAAAA,EAAAA,KACtB,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOC,UAAUmS,eAAe,IAEpEC,GAAyB/U,EAAAA,EAAAA,KAC7B,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAOC,UAAUoS,sBAAsB,IAExDC,GAAsBhV,EAAAA,EAAAA,KAC1B,SAACC,GAAe,OAAKA,EAAMwC,aAAaC,OAAOC,UAAUqS,mBAAmB,IAExE2E,GAAuB3Z,EAAAA,EAAAA,KAC3B,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAO+U,WAAWkC,oBAAoB,IAEvDxW,GAAwBnD,EAAAA,EAAAA,KAC5B,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAOC,UAAUQ,qBAAqB,IAEvDmY,GAA4Btb,EAAAA,EAAAA,KAChC,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAOC,UAAU2Y,yBAAyB,IAGjE,GAAgDxe,EAAAA,EAAAA,UAAc,CAAC,GAAE,eAA1DsG,EAAgB,KAAEC,EAAmB,KAEtC0X,EAAkB,CACtB,CAAElkB,MAAO,UAAWC,MAAO,YAAW,eACnC+iB,IAICvW,GAAcC,EAAAA,EAAAA,cAClB,SAACC,EAAe1M,GACd6I,GACE8D,EAAAA,EAAAA,IAAe,CAAEC,SAAU,YAAaF,MAAOA,EAAO1M,MAAOA,IAEjE,GACA,CAAC6I,KAIHS,EAAAA,EAAAA,YAAU,WACR,IAAIuD,EAAyC,GAEzCwQ,IACFxQ,EAAuB,kBAClBA,GAAuB,CAC1B,CACEC,SAAU,2BACVjH,UAAU,EACV7F,MAAO+d,EACP/Q,iBAAqD,KAAnC+Q,EAClB7Q,wBAAyB,yBAE3B,CACEJ,SAAU,yBACVjH,UAAU,EACV7F,MAAOyd,EACPzQ,iBAC2B,KAAzByQ,GAA+BxQ,SAASwQ,IAAyB,EACnEvQ,wBAAwB,qDAE1B,CACEJ,SAAU,uCACVjH,UAAU,EACV7F,MAAOwkB,EAA0BzX,UACjCC,iBAC0C,KAAxCwX,EAA0BzX,WAC1BE,SAASuX,EAA0BzX,WAAa,EAClDG,wBAAwB,8CAE1B,CACEJ,SAAU,wCACVjH,UAAU,EACV7F,MAAOwkB,EAA0BrX,WACjCH,iBAC2C,KAAzCwX,EAA0BrX,YAC1BF,SAASuX,EAA0BrX,YAAc,EACnDD,wBAAwB,+CAE1B,CACEJ,SAAU,qCACVjH,UAAU,EACV7F,MAAOwkB,EAA0BpX,QACjCJ,iBACwC,KAAtCwX,EAA0BpX,SAC1BH,SAASuX,EAA0BpX,SAAW,EAChDF,wBAAwB,+CAK9B,IAAMO,GAAYC,EAAAA,EAAAA,GAAqBb,GAEvChE,GACE8E,EAAAA,EAAAA,IAAY,CACVf,SAAU,YACVgB,MAAyC,IAAlCC,OAAOC,KAAKL,GAAWxJ,UAIlCsI,EAAoBkB,EACtB,GAAG,CACDuQ,EACAC,EACAC,EACArV,EACAwU,EACAU,EACAN,EACApR,EACAmY,KAGFlb,EAAAA,EAAAA,YAAU,WAEJyZ,EAAe9e,OAAS,IAIM,IAHP8e,EAAe9S,QACtC,SAAClR,GAAS,OAAKA,EAAKiB,QAAU+d,CAA8B,IAEzC9Z,QACnBuI,EAAY,iCAAkC,WAGpD,GAAG,CACDuR,EACA8E,EACAE,EACAvW,IAGF,IAAMuB,EAAkB,SAACC,GACvBzB,GAAoB0B,EAAAA,EAAAA,IAAqB3B,EAAkB0B,GAC7D,EAEA,OACE,UAACE,EAAA,EAAK,CAACrP,UAAWJ,EAAQ0P,aAAa,WACrC,UAACrL,EAAA,GAAI,CAAChE,WAAS,EAACV,WAAY,SAAS,WACnC,SAAC0E,EAAA,GAAI,CAAC/D,MAAI,EAACC,IAAE,YACX,SAAC,EAAS,UAAC,kBAEb,SAAC8D,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,EAAE,UACf,SAACuP,EAAA,EAAiB,CAChB+J,gBAAiB,CAAC,UAAW,YAC7B9J,QAAS6O,EACTrd,MAAO,oBACPX,GAAG,oBACHsG,KAAK,oBACLhB,SAAU,SAACgC,GACT,IACM6H,EADU7H,EAAE9B,OACM2J,QAExBhC,EAAY,oBAAqBgC,EACnC,EACA8F,YAAY,WAIlB,SAACxR,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,UAChB,iBAAMH,UAAWJ,EAAQ6P,gBAAgB,SAAC,6EAI5C,SAACxL,EAAA,GAAI,CAAC9D,GAAI,GAAG,UACX,eAAIH,UAAWJ,EAAQ8Z,aAEzB,SAACzV,EAAA,GAAI,CAAChE,WAAS,EAACuV,QAAS,EAAE,SACxBgJ,IACC,UAAC,EAAA/L,SAAQ,YACP,SAACxO,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,UAChB,SAACoQ,EAAA,EAAa,CACZ/P,GAAG,2BACHsG,KAAK,2BACLhB,SAAU,SAACgC,GACT6F,EACE,iCACA7F,EAAE9B,OAAO7E,MAEb,EACAD,MAAM,gBACNC,MAAO+d,EACPzO,QAAS2U,EACTre,SAAUqe,EAAmBhgB,OAAS,OAG1C,SAACnB,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,UAChB,gBAAKH,UAAWJ,EAAQyQ,eAAe,UACrC,SAACT,EAAA,EAAe,CACdvJ,KAAK,SACL7F,GAAG,yBACHsG,KAAK,yBACLhB,SAAU,SAACgC,GACT6F,EAAY,uBAAwB7F,EAAE9B,OAAO7E,OAC7C+N,EAAgB,yBAClB,EACAhO,MAAM,eACNmkB,eACE,SAACC,GAAA,EAAa,CACZ9kB,GAAI,YACJ+kB,aAAc,WAAO,EACrBC,aAAc,KACdC,UAAW,CAAC,CAAEvkB,MAAO,KAAMC,MAAO,OAClC4F,UAAU,IAGd5F,MAAOyd,EACP5X,UAAQ,EACRC,MAAOwG,EAAyC,wBAAK,GACrD6C,IAAI,WAIV,sBACEtQ,UAAS,UAAKJ,EAAQmM,WAAU,YAAInM,EAAQqlB,eAAgB,WAE5D,mBAAQjlB,UAAWJ,EAAQ6P,gBAAgB,SAAC,qBAG5C,SAACxL,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQgM,kBAAkB,UACtD,iBACE5L,UAAS,UAAKJ,EAAQyQ,eAAc,YAAIzQ,EAAQqM,uBAAwB,WAExE,gBAAKjM,UAAWJ,EAAQgM,kBAAkB,UACxC,SAACgE,EAAA,EAAe,CACdvJ,KAAK,SACL7F,GAAG,uCACHsG,KAAK,uCACLhB,SAAU,SAACgC,GACT6F,EAAY,6BAA4B,kBACnCgY,GAAyB,IAC5BzX,UAAWpG,EAAE9B,OAAO7E,SAEtB+N,EAAgB,uCAClB,EACAhO,MAAM,cACNC,MAAOwkB,EAA0BzX,UACjClH,UAAQ,EACRC,MACEwG,EACwC,sCACnC,GAEP6C,IAAI,SAGR,gBAAKtQ,UAAWJ,EAAQgM,kBAAkB,UACxC,SAACgE,EAAA,EAAe,CACdvJ,KAAK,SACL7F,GAAG,wCACHsG,KAAK,wCACLhB,SAAU,SAACgC,GACT6F,EAAY,6BAA4B,kBACnCgY,GAAyB,IAC5BrX,WAAYxG,EAAE9B,OAAO7E,SAEvB+N,EACE,wCAEJ,EACAhO,MAAM,eACNC,MAAOwkB,EAA0BrX,WACjCtH,UAAQ,EACRC,MACEwG,EACyC,uCACpC,GAEP6C,IAAI,cAKZ,mBACA,SAACrM,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQgM,kBAAkB,UACtD,iBACE5L,UAAS,UAAKJ,EAAQyQ,eAAc,YAAIzQ,EAAQqM,uBAAwB,WAExE,gBAAKjM,UAAWJ,EAAQgM,kBAAkB,UACxC,SAACgE,EAAA,EAAe,CACdvJ,KAAK,SACL7F,GAAG,qCACHsG,KAAK,qCACLhB,SAAU,SAACgC,GACT6F,EAAY,6BAA4B,kBACnCgY,GAAyB,IAC5BpX,QAASzG,EAAE9B,OAAO7E,SAEpB+N,EAAgB,qCAClB,EACAhO,MAAM,UACNC,MAAOwkB,EAA0BpX,QACjCvH,UAAQ,EACRC,MACEwG,EACsC,oCACjC,GAEP6C,IAAI,SAGR,gBAAKtQ,UAAWJ,EAAQgM,kBAAkB,UACxC,SAAC2E,EAAA,EAAa,CACZrP,MAAM,sBACNV,GAAG,sCACHsG,KAAK,sCACL3F,MAAOwkB,EAA0BnV,oBACjC1K,SAAU,SAACgC,GACT6F,EAAY,6BAA4B,kBACnCgY,GAAyB,IAC5BnV,oBAAqB1I,EAAE9B,OAAO7E,QAElC,EACAsP,QAAS,CACP,CACEvP,MAAO,SACPC,MAAO,UAET,CACED,MAAO,iBACPC,MAAO,6BAOnB,mBACA,SAAC8C,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQgM,kBAAkB,UACtD,gBACE5L,UAAS,UAAKJ,EAAQyQ,eAAc,YAAIzQ,EAAQqlB,eAAgB,UAEhE,SAACvV,EAAA,EAAiB,CAChBvO,MAAM,wCACNX,GAAG,0CACHsG,KAAK,0CACL6I,QAASgW,EAA0BjV,aACnC5K,SAAU,SAACgC,GACT,IACM6H,EADU7H,EAAE9B,OACM2J,QACxBhC,EAAY,6BAA4B,kBACnCgY,GAAyB,IAC5BjV,aAAcf,IAElB,EACAzO,MAAO,qCAU3B,I,wBCvba0kB,GAAgB,CAC3B,aACA,aACA,YACA,WACA,mBACA,WACA,c,YCqCF,GApC2B,WACzB,IAAM5b,GAAWC,EAAAA,EAAAA,MAEX4b,GAAaxb,EAAAA,EAAAA,KACjB,SAACC,GAAe,OAAKA,EAAMwC,aAAagZ,YAAY,IAGhDC,GAAa1b,EAAAA,EAAAA,KACjB,SAACC,GAAe,OAAKA,EAAMwC,aAAaiZ,UAAU,IAG9C/B,GAAuB3Z,EAAAA,EAAAA,KAC3B,SAACC,GAAe,OACdA,EAAMwC,aAAaC,OAAO+U,WAAWkC,oBAAoB,IAGvDgC,GACHH,GACwB,KAAzB7B,GACA4B,GAAcK,OAAM,SAAChJ,GAAC,OAAK8I,EAAWhB,SAAS9H,EAAE,IAEnD,OACE,SAAC,MAAM,CACLzc,GAAI,uBACJ2E,QAAQ,aACRxC,MAAM,UACNf,QAAS,WACPoI,GAASkc,EAAAA,GAAAA,KACX,EACAnf,UAAWif,EAEX9kB,MAAO,UAAS,0BAGtB,E,wBCNA,GA5B6B,WAC3B,IAAM8I,GAAWC,EAAAA,EAAAA,MACXkc,GAAWC,EAAAA,GAAAA,MAEXC,GAAqBhc,EAAAA,EAAAA,KACzB,SAACC,GAAe,OAAKA,EAAMwC,aAAauZ,kBAAkB,IAEtDC,GAAiBjc,EAAAA,EAAAA,KACrB,SAACC,GAAe,OAAKA,EAAMwC,aAAawZ,cAAc,IAGxD,OACE,SAAC,EAAA7T,SAAQ,UACN4T,IACC,SAACE,GAAA,QAAiB,CAChBjjB,kBAAmBgjB,EACnB/iB,KAAM8iB,EACN7iB,WAAY,WACVwG,GAASwc,EAAAA,EAAAA,OACTL,EAAS,WACX,EACA1iB,OAAO,YAKjB,ECWM6N,IAAYC,EAAAA,EAAAA,IAAW,SAAC/S,GAAY,OACxCC,EAAAA,EAAAA,IAAa,wBACXgoB,QAAS,CACP9nB,OAAQ,sBAEP+N,EAAAA,IACAC,EAAAA,IACA+Z,EAAAA,IACH,IAgKJ,GA7JkB,WAChB,IAAM1c,GAAWC,EAAAA,EAAAA,MACXkc,GAAWC,EAAAA,GAAAA,MACXxmB,EAAU0R,KAEV6S,GAAW9Z,EAAAA,EAAAA,IAAY+Z,GAAAA,IAGvByB,GAAaxb,EAAAA,EAAAA,KACjB,SAACC,GAAe,OAAKA,EAAMwC,aAAagZ,YAAY,IAEtD,GAAoC3e,EAAAA,EAAAA,UAAyB,MAAK,eAA3Dwd,EAAU,KAAEC,EAAa,MAEhCna,EAAAA,EAAAA,YAAU,WACR,IAAIoa,EAAmBP,GAAAA,GAAAA,QAEnBH,GAAgC,IAApBA,EAAS/e,QACG4J,OAAOC,KAAK6V,GAAAA,IAEpBxI,SAAQ,SAACpa,GACrBiiB,EAASY,SAAS7iB,KACpB2iB,EAAmBlhB,IACjBmhB,GAAAA,GACA5iB,EACAoiB,GAAAA,GAAAA,SAGN,IAGFM,EAAcC,EAChB,GAAG,CAACV,IAEJ,IAAMwC,EAAe,CACnBzlB,MAAO,SACPmF,KAAM,QACN2f,SAAS,EACTY,OAAQ,WACN5c,GAASwc,EAAAA,EAAAA,OACTL,EAAS,WACX,GAGIU,EAA8B,CAClCC,iBAAiB,SAAC,GAAkB,GAAM,kBA2DxCC,EAxDkC,CACpC,CACE7lB,MAAO,QACP4lB,iBAAiB,SAAC,GAAe,IACjCE,QAAS,CAACL,EAAcE,IAE1B,CACE3lB,MAAO,YACP+lB,cAAc,EACdH,iBAAiB,SAAC,EAAS,IAC3BE,QAAS,CAACL,EAAcE,IAE1B,CACE3lB,MAAO,SACP+lB,cAAc,EACdH,iBAAiB,SAAC,GAAM,IACxBE,QAAS,CAACL,EAAcE,IAE1B,CACE3lB,MAAO,gBACP+lB,cAAc,EACdH,iBAAiB,SAAC,GAAQ,IAC1BE,QAAS,CAACL,EAAcE,IAE1B,CACE3lB,MAAO,oBACP+lB,cAAc,EACdH,iBAAiB,SAAC,EAAgB,IAClCE,QAAS,CAACL,EAAcE,IAE1B,CACE3lB,MAAO,WACP+lB,cAAc,EACdH,iBAAiB,SAAC,EAAQ,IAC1BE,QAAS,CAACL,EAAcE,IAE1B,CACE3lB,MAAO,aACP+lB,cAAc,EACdH,iBAAiB,SAAC,GAAU,IAC5BE,QAAS,CAACL,EAAcE,IAE1B,CACE3lB,MAAO,YACP+lB,cAAc,EACdH,iBAAiB,SAAC,GAAe,IACjCE,QAAS,CAACL,EAAcE,IAE1B,CACE3lB,MAAO,aACP+lB,cAAc,EACdH,iBAAiB,SAAC,GAAgB,IAClCE,QAAS,CAACL,EAAcE,KAM5B,OACE,UAAC,EAAApU,SAAQ,YACP,SAAC,GAAoB,KACrB,SAACyU,GAAA,EAAU,CACThmB,OACE,SAACimB,GAAA,EAAQ,CACPC,GAAI,WACJlmB,MAAO,UACPmmB,eAAgB,WACdrd,GAASwc,EAAAA,EAAAA,MACX,OAKN,UAACc,GAAA,EAAU,WACRzB,IACC,SAAC5hB,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAG,UAChB,SAACyiB,EAAA,EAAc,OAGnB,SAAC3e,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ6mB,QAAQ,UAC5C,SAACc,EAAA,EAAa,CAACC,YAAaT,MAE7BpC,IAAeL,GAAAA,GAAAA,MACd,SAACrgB,EAAA,GAAI,CAAC/D,MAAI,EAACC,GAAI,GAAI2B,MAAO,CAAEkB,UAAW,IAAK,UAC1C,SAACykB,GAAA,EAAO,CACN3nB,MAAO,4BACPD,eAAe,SAAC,OAAW,IAC3BE,MACE,UAAC,EAAA0S,SAAQ,YACP,uBAAG,0BAAyB,eAAW,uBAAG,QAAO,gJAGvC,uBAAG,SAAQ,KACrB,mBACA,mBACA,uBAAG,sBAAqB,eAAW,uBAAG,QAAO,2FAG7C,uBAAG,SAAQ,oEAU7B,C,4FC5MMiV,EAAc,SAAH,GAMV,IALL3lB,EAAI,EAAJA,KACA0T,EAAW,EAAXA,YAKA,OACE,UAAC,IAAG,CACFhQ,GAAI,CACFnG,QAAS,OACT,cAAe,CACbE,YAAa,OACbC,OAAQ,OACRC,MAAO,OACPL,aAAc,SAEhB,UAED0C,EAAM,KACP,gBAAKD,MAAO,CAAE3C,SAAU,OAAQwoB,UAAW,SAAUhlB,MAAO,WAAY,SACrE8S,MAIT,EA+FA,IA9FmB,WACjB,IAAMmS,GAASC,EAAAA,EAAAA,MACTC,EAAkBF,EAAOhE,YAAc,GACvCmE,EAAuBH,EAAOI,iBAAmB,GACjDnG,GAAYxX,EAAAA,EAAAA,KAAY,SAACC,GAE7B,MAA6B,KAAzByd,EACKA,EAE8C,KAAnDzd,EAAMwC,aAAaC,OAAO+U,WAAWD,UAChCvX,EAAMwC,aAAaC,OAAO+U,WAAWD,UALvB,aAQzB,IAEM+B,GAAavZ,EAAAA,EAAAA,KAAY,SAACC,GAE9B,MAAwB,KAApBwd,EACKA,EAG+C,KAApDxd,EAAMwC,aAAaC,OAAO+U,WAAW8B,WAChCtZ,EAAMwC,aAAaC,OAAO+U,WAAW8B,WANtB,eAS1B,IAEA,OACE,SAAC,IAAG,CACFne,GAAI,CACF4G,KAAM,EACN1N,OAAQ,oBACRC,aAAc,MACdU,QAAS,OACTsB,SAAU,SACVC,QAAS,OACTmC,UAAW,CACT7C,GAAI,QAEN,UAEF,UAAC,IAAG,CACFsF,GAAI,CACFnG,QAAS,OACTsB,SAAU,UACV,WAEF,SAAC8mB,EAAW,CACV3lB,MAAM,SAAC,IAAe,IACtB0T,YAAW,8BAEb,UAAC,IAAG,CAAChQ,GAAI,CAAEtG,SAAU,OAAQE,aAAc,QAAS,UAAC,oDAEnD,mBACA,kBAAM,sCAC4B,uBAAG,wBAAuB,0EAE5D,mBACA,mBACA,iBACEyC,MAAO,CAAE3C,SAAU,OAAQwoB,UAAW,SAAUhlB,MAAO,WAAY,UACpE,SACQkf,GACP,kBAAM,SACCA,EAAU,QACjB,kBAAM,SACCA,EAAU,yBACjB,kBAAM,KACH+B,EAAW,OAAK/B,EAAU,yBAC7B,kBAAM,KACHA,EAAU,4BAEf,kBAAM,YACE,wBAAI,kBAA6B,IAAC,KAC1C,wBAAI,gBAA0B,QAC9B,wBAAI,qBAA+B,kDAEnC,mBACA,kBAAM,4BACoB,KAC1B,cACEoG,KAAK,8FACLjiB,OAAO,SACPkiB,IAAI,aAAY,SACjB,kBAEG,WAMd,C,yJCvHaC,EAAkB,WAC7B,OACE,UAAC,KAAI,CAACloB,WAAS,EAACmoB,UAAW,EAAE,WAC3B,SAAC,KAAI,WACH,SAAC,MAAQ,CAAC1oB,MAAO,OAAQD,OAAQ,YAEnC,SAAC,KAAI,CAACS,MAAI,WAAC,cAGjB,EAEamoB,EAAkB,WAC7B,OACE,UAAC,KAAI,CAACpoB,WAAS,EAACmoB,UAAW,EAAE,WAC3B,SAAC,KAAI,WACH,SAAC,IAAQ,CAAC1oB,MAAO,OAAQD,OAAQ,YAEnC,SAAC,KAAI,CAACS,MAAI,WAAC,8BAGjB,EAEaooB,EAAqB,WAChC,OACE,UAAC,KAAI,CAACroB,WAAS,EAACmoB,UAAW,EAAE,WAC3B,SAAC,KAAI,WACH,SAAC,MAAS,CAAC1oB,MAAO,OAAQD,OAAQ,YAEpC,SAAC,KAAI,CAACS,MAAI,WAAC,eAGjB,C,mFCjBA,KAAe3B,EAAAA,EAAAA,IA5BA,SAACC,GAAY,aAC1BC,EAAAA,EAAAA,GAAa,CACX8pB,WAAY,CACV5lB,OAAoB,QAAb,EAAAnE,EAAMgqB,eAAO,aAAb,EAAevhB,MAAMwhB,OAAQ,YAErC,GAuBL,EAfmB,SAAH,GAIS,IAHvB7oB,EAAO,EAAPA,QACA0J,EAAY,EAAZA,aAAa,EAAD,EACZof,UAAAA,OAAS,OAAO,EAEhB,OACE,UAAC,WAAc,WACZA,IAAa,mBACd,SAAC,IAAU,CAAC1f,UAAU,IAAI7D,QAAQ,QAAQnF,UAAWJ,EAAQ2oB,WAAW,SACrEjf,MAIT,G,4BC/BIqf,EAAyBC,EAAQ,OAIrCC,EAAQ,OAAU,EAClB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAChDG,EAAcH,EAAQ,OACtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFzoB,EAAG,wCACD,OACJooB,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,CACpFzoB,EAAG,iQACD,cACJooB,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,CACpFzoB,EAAG,oLACD,UACJooB,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,CACpFzoB,EAAG,ocACD,UACJooB,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,CACpFzoB,EAAG,kFACD,UACJooB,EAAQ,EAAUG,C,0ICVZG,EAAY,CAAC,WAAY,WAAY,YAAa,YAAa,WAAY,QAAS,cAAe,OAAQ,YAAa,WA2BxHC,GAAcC,EAAAA,EAAAA,IAAO,MAAO,CAChCviB,KAAM,aACNwiB,KAAM,OACNC,kBAAmB,SAACnpB,EAAOopB,GACzB,IACEC,EACErpB,EADFqpB,WAEF,MAAO,CAACD,EAAO9qB,KAAM+qB,EAAWC,UAAYF,EAAOE,SAAUF,EAAOC,EAAWtkB,SAAUskB,EAAWE,OAASH,EAAOG,MAAkC,aAA3BF,EAAWG,aAA8BJ,EAAOK,SAAUJ,EAAWK,UAAYN,EAAOM,SAAUL,EAAW5f,UAAY2f,EAAOO,aAAcN,EAAW5f,UAAuC,aAA3B4f,EAAWG,aAA8BJ,EAAOQ,qBAA+C,UAAzBP,EAAWjQ,WAAoD,aAA3BiQ,EAAWG,aAA8BJ,EAAOS,eAAyC,SAAzBR,EAAWjQ,WAAmD,aAA3BiQ,EAAWG,aAA8BJ,EAAOU,cAC/hB,GARkBb,EASjB,gBACD7qB,EAAK,EAALA,MACAirB,EAAU,EAAVA,WAAU,OACNU,EAAAA,EAAAA,GAAS,CACbvnB,OAAQ,EAERwnB,WAAY,EACZC,YAAa,EACbC,YAAa,QACbC,aAAc/rB,EAAMgsB,MAAQhsB,GAAOgqB,QAAQiC,QAC3CC,kBAAmB,QAClBjB,EAAWC,UAAY,CACxBloB,SAAU,WACVmpB,OAAQ,EACRC,KAAM,EACNlrB,MAAO,QACN+pB,EAAWE,OAAS,CACrBY,YAAa/rB,EAAMgsB,KAAO,QAAH,OAAWhsB,EAAMgsB,KAAKhC,QAAQqC,eAAc,aAAaC,EAAAA,EAAAA,IAAMtsB,EAAMgqB,QAAQiC,QAAS,MACrF,UAAvBhB,EAAWtkB,SAAuB,CACnCiB,WAAY,IACY,WAAvBqjB,EAAWtkB,SAAmD,eAA3BskB,EAAWG,aAAgC,CAC/ExjB,WAAY5H,EAAMgX,QAAQ,GAC1BhW,YAAahB,EAAMgX,QAAQ,IACH,WAAvBiU,EAAWtkB,SAAmD,aAA3BskB,EAAWG,aAA8B,CAC7E5mB,UAAWxE,EAAMgX,QAAQ,GACzBnW,aAAcb,EAAMgX,QAAQ,IACA,aAA3BiU,EAAWG,aAA8B,CAC1CnqB,OAAQ,OACRirB,kBAAmB,EACnBK,iBAAkB,QACjBtB,EAAWK,UAAY,CACxBkB,UAAW,UACXvrB,OAAQ,QACR,IAAE,gBACFjB,EAAK,EAALA,MACAirB,EAAU,EAAVA,WAAU,OACNU,EAAAA,EAAAA,GAAS,CAAC,EAAGV,EAAW5f,UAAY,CACxCvK,QAAS,OACTmH,WAAY,SACZ+S,UAAW,SACX7a,OAAQ,EACR,sBAAuB,CACrB6C,SAAU,WACV9B,MAAO,OACPyG,UAAW,cAAF,QAAiB3H,EAAMgsB,MAAQhsB,GAAOgqB,QAAQiC,SACvDQ,IAAK,MACLvhB,QAAS,KACThJ,UAAW,oBAEb,IAAE,gBACFlC,EAAK,EAALA,MACAirB,EAAU,EAAVA,WAAU,OACNU,EAAAA,EAAAA,GAAS,CAAC,EAAGV,EAAW5f,UAAuC,aAA3B4f,EAAWG,aAA8B,CACjFsB,cAAe,SACf,sBAAuB,CACrBzrB,OAAQ,OACRwrB,IAAK,KACLL,KAAM,MACNzkB,UAAW,EACXglB,WAAY,cAAF,QAAiB3sB,EAAMgsB,MAAQhsB,GAAOgqB,QAAQiC,SACxD/pB,UAAW,mBAEb,IAAE,gBACF+oB,EAAU,EAAVA,WAAU,OACNU,EAAAA,EAAAA,GAAS,CAAC,EAA4B,UAAzBV,EAAWjQ,WAAoD,aAA3BiQ,EAAWG,aAA8B,CAC9F,YAAa,CACXlqB,MAAO,OAET,WAAY,CACVA,MAAO,QAEiB,SAAzB+pB,EAAWjQ,WAAmD,aAA3BiQ,EAAWG,aAA8B,CAC7E,YAAa,CACXlqB,MAAO,OAET,WAAY,CACVA,MAAO,QAET,IACI0rB,GAAiB/B,EAAAA,EAAAA,IAAO,OAAQ,CACpCviB,KAAM,aACNwiB,KAAM,UACNC,kBAAmB,SAACnpB,EAAOopB,GACzB,IACEC,EACErpB,EADFqpB,WAEF,MAAO,CAACD,EAAO6B,QAAoC,aAA3B5B,EAAWG,aAA8BJ,EAAO8B,gBAC1E,GARqBjC,EASpB,gBACD7qB,EAAK,EAALA,MACAirB,EAAU,EAAVA,WAAU,OACNU,EAAAA,EAAAA,GAAS,CACb7qB,QAAS,eACTR,YAAa,QAAF,OAAUN,EAAMgX,QAAQ,GAAE,WACrCvW,aAAc,QAAF,OAAUT,EAAMgX,QAAQ,GAAE,YACV,aAA3BiU,EAAWG,aAA8B,CAC1C7qB,WAAY,QAAF,OAAUP,EAAMgX,QAAQ,GAAE,WACpCxW,cAAe,QAAF,OAAUR,EAAMgX,QAAQ,GAAE,YACvC,IACI7E,EAAuB4a,EAAAA,YAAiB,SAAiBC,EAASC,GACtE,IAAMrrB,GAAQsrB,EAAAA,EAAAA,GAAc,CAC1BtrB,MAAOorB,EACP1kB,KAAM,eAER,EAWM1G,EAVFspB,SAAAA,OAAQ,IAAG,GAAK,EAChB7f,EASEzJ,EATFyJ,SACA7J,EAQEI,EARFJ,UAAS,EAQPI,EAPF4I,UAAAA,OAAS,IAAG,EAAAa,EAAW,MAAQ,KAAI,IAOjCzJ,EANF0pB,SAAAA,OAAQ,IAAG,GAAK,IAMd1pB,EALFupB,MAAAA,OAAK,IAAG,GAAK,IAKXvpB,EAJFwpB,YAAAA,OAAW,IAAG,eAAY,IAIxBxpB,EAHFurB,KAAAA,OAAI,IAAG,EAAc,OAAd3iB,EAAqB,iBAActE,EAAS,IAGjDtE,EAFFoZ,UAAAA,OAAS,IAAG,WAAQ,IAElBpZ,EADF+E,QAAAA,OAAO,IAAG,cAAW,EAEvBymB,GAAQC,EAAAA,EAAAA,GAA8BzrB,EAAO+oB,GACzCM,GAAaU,EAAAA,EAAAA,GAAS,CAAC,EAAG/pB,EAAO,CACrCspB,SAAAA,EACA1gB,UAAAA,EACA8gB,SAAAA,EACAH,MAAAA,EACAC,YAAAA,EACA+B,KAAAA,EACAnS,UAAAA,EACArU,QAAAA,IAEIvF,EAzJkB,SAAA6pB,GACxB,IACEC,EAQED,EARFC,SACA7f,EAOE4f,EAPF5f,SACAjK,EAME6pB,EANF7pB,QACAkqB,EAKEL,EALFK,SACAH,EAIEF,EAJFE,MACAC,EAGEH,EAHFG,YACApQ,EAEEiQ,EAFFjQ,UAGIsS,EAAQ,CACZptB,KAAM,CAAC,OAAQgrB,GAAY,WAFzBD,EADFtkB,QAGgDwkB,GAAS,QAAyB,aAAhBC,GAA8B,WAAYE,GAAY,WAAYjgB,GAAY,eAAgBA,GAA4B,aAAhB+f,GAA8B,uBAAsC,UAAdpQ,GAAyC,aAAhBoQ,GAA8B,iBAAgC,SAAdpQ,GAAwC,aAAhBoQ,GAA8B,iBACjWyB,QAAS,CAAC,UAA2B,aAAhBzB,GAA8B,oBAErD,OAAOmC,EAAAA,EAAAA,GAAeD,EAAOE,EAAAA,EAAwBpsB,EACvD,CAyIkBqsB,CAAkBxC,GAClC,OAAoByC,EAAAA,EAAAA,KAAK9C,GAAae,EAAAA,EAAAA,GAAS,CAC7CgC,GAAInjB,EACJhJ,WAAWosB,EAAAA,EAAAA,GAAKxsB,EAAQlB,KAAMsB,GAC9B2rB,KAAMA,EACNF,IAAKA,EACLhC,WAAYA,GACXmC,EAAO,CACR/hB,SAAUA,GAAwBqiB,EAAAA,EAAAA,KAAKd,EAAgB,CACrDprB,UAAWJ,EAAQyrB,QACnB5B,WAAYA,EACZ5f,SAAUA,IACP,OAET,IA+DA,K","sources":["common/HelpBox.tsx","icons/CertificateIcon.tsx","screens/Console/Common/CredentialsPrompt/CredentialItem.tsx","screens/Console/Common/CredentialsPrompt/CredentialsPrompt.tsx","screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/FormComponents/FileSelector/FileSelector.tsx","screens/Console/Common/FormComponents/FileSelector/utils.ts","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Tenants/AddTenant/Steps/Configure.tsx","screens/Console/Tenants/AddTenant/Steps/IdentityProvider/IDPActiveDirectory.tsx","screens/Console/Tenants/AddTenant/Steps/IdentityProvider/IDPOpenID.tsx","screens/Console/Tenants/AddTenant/Steps/IdentityProvider/IDPBuiltIn.tsx","screens/Console/Tenants/AddTenant/Steps/IdentityProvider.tsx","screens/Console/Tenants/AddTenant/Steps/Security.tsx","screens/Console/Common/SectionH1.tsx","screens/Console/Tenants/AddTenant/Steps/Encryption/VaultKMSAdd.tsx","screens/Console/Tenants/AddTenant/Steps/Encryption/AzureKMSAdd.tsx","screens/Console/Tenants/AddTenant/Steps/Encryption/GCPKMSAdd.tsx","screens/Console/Tenants/AddTenant/Steps/Encryption/GemaltoKMSAdd.tsx","screens/Console/Tenants/AddTenant/Steps/Encryption/AWSKMSAdd.tsx","screens/Console/Tenants/AddTenant/Steps/Encryption.tsx","screens/Console/Tenants/AddTenant/Steps/Affinity.tsx","screens/Console/Tenants/AddTenant/Steps/Images.tsx","screens/Console/Tenants/AddTenant/Steps/SizePreview.tsx","screens/Console/Tenants/AddTenant/Steps/helpers/AddNamespaceModal.tsx","screens/Console/Tenants/AddTenant/Steps/TenantResources/NamespaceSelector.tsx","screens/Console/Tenants/AddTenant/Steps/TenantResources/NameTenantMain.tsx","screens/Console/Tenants/AddTenant/Steps/TenantResources/TenantResources.tsx","screens/Console/Tenants/AddTenant/Steps/ConfigLogSearch.tsx","screens/Console/Tenants/AddTenant/Steps/ConfigPrometheus.tsx","screens/Console/Tenants/AddTenant/common.ts","screens/Console/Tenants/AddTenant/CreateTenantButton.tsx","screens/Console/Tenants/AddTenant/NewTenantCredentials.tsx","screens/Console/Tenants/AddTenant/AddTenant.tsx","screens/Console/Tenants/HelpBox/TLSHelpBox.tsx","screens/Console/Tenants/LogoComponents.tsx","screens/shared/ErrorBlock.tsx","../node_modules/@mui/icons-material/Add.js","../node_modules/@mui/icons-material/AttachFile.js","../node_modules/@mui/icons-material/Cancel.js","../node_modules/@mui/icons-material/Casino.js","../node_modules/@mui/icons-material/Delete.js","../node_modules/@mui/material/Divider/Divider.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string | React.ReactNode;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 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 * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst CertificateIcon = (props: SVGProps) => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\nexport default CertificateIcon;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { InputAdornment, OutlinedInput } from \"@mui/material\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { CopyIcon } from \"../../../../icons\";\nimport { fieldBasic } from \"../FormComponents/common/styleLibrary\";\nimport TooltipWrapper from \"../TooltipWrapper/TooltipWrapper\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n container: {\n display: \"flex\",\n flexFlow: \"column\",\n padding: \"20px 0 8px 0\",\n },\n inputWithCopy: {\n \"& .MuiInputBase-root \": {\n width: \"100%\",\n background: \"#FBFAFA\",\n \"& .MuiInputBase-input\": {\n height: \".8rem\",\n },\n \"& .MuiInputAdornment-positionEnd\": {\n marginRight: \".5rem\",\n \"& .MuiButtonBase-root\": {\n height: \"2rem\",\n },\n },\n },\n \"& .MuiButtonBase-root .min-icon\": {\n width: \".8rem\",\n height: \".8rem\",\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontSize: \".8rem\",\n },\n });\n\nconst CredentialItem = ({\n label = \"\",\n value = \"\",\n classes = {},\n}: {\n label: string;\n value: string;\n classes: any;\n}) => {\n return (\n
\n
{label}:
\n
\n \n \n \n {}}\n onMouseDown={() => {}}\n style={{\n width: \"28px\",\n height: \"28px\",\n padding: \"0px\",\n }}\n icon={}\n />\n \n \n \n }\n />\n
\n
\n );\n};\n\nexport default withStyles(styles)(CredentialItem);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { NewServiceAccount } from \"./types\";\nimport ModalWrapper from \"../ModalWrapper/ModalWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport CredentialItem from \"./CredentialItem\";\nimport WarnIcon from \"../../../../icons/WarnIcon\";\nimport { DownloadIcon, ServiceAccountCredentialsIcon } from \"../../../../icons\";\nimport TooltipWrapper from \"../TooltipWrapper/TooltipWrapper\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n warningBlock: {\n color: \"red\",\n fontSize: \".85rem\",\n margin: \".5rem 0 .5rem 0\",\n display: \"flex\",\n alignItems: \"center\",\n \"& svg \": {\n marginRight: \".3rem\",\n height: 16,\n width: 16,\n },\n },\n credentialTitle: {\n padding: \".8rem 0 0 0\",\n fontWeight: 600,\n fontSize: \".9rem\",\n },\n buttonContainer: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n marginTop: \"1rem\",\n },\n credentialsPanel: {\n overflowY: \"auto\",\n maxHeight: 350,\n },\n promptTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n buttonSpacer: {\n marginRight: \".9rem\",\n },\n });\n\ninterface ICredentialsPromptProps {\n classes: any;\n newServiceAccount: NewServiceAccount | null;\n open: boolean;\n entity: string;\n closeModal: () => void;\n}\n\nconst download = (filename: string, text: string) => {\n let element = document.createElement(\"a\");\n element.setAttribute(\"href\", \"data:text/plain;charset=utf-8,\" + text);\n element.setAttribute(\"download\", filename);\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n document.body.removeChild(element);\n};\n\nconst CredentialsPrompt = ({\n classes,\n newServiceAccount,\n open,\n closeModal,\n entity,\n}: ICredentialsPromptProps) => {\n if (!newServiceAccount) {\n return null;\n }\n const consoleCreds = get(newServiceAccount, \"console\", null);\n const idp = get(newServiceAccount, \"idp\", false);\n\n const downloadImport = () => {\n let consoleExtras = {};\n\n if (consoleCreds) {\n if (!Array.isArray(consoleCreds)) {\n consoleExtras = {\n url: consoleCreds.url,\n accessKey: consoleCreds.accessKey,\n secretKey: consoleCreds.secretKey,\n api: \"s3v4\",\n path: \"auto\",\n };\n } else {\n const cCreds = consoleCreds.map((itemMap) => {\n return {\n url: itemMap.url,\n accessKey: itemMap.accessKey,\n secretKey: itemMap.secretKey,\n api: \"s3v4\",\n path: \"auto\",\n };\n });\n consoleExtras = cCreds[0];\n }\n } else {\n consoleExtras = {\n url: newServiceAccount.url,\n accessKey: newServiceAccount.accessKey,\n secretKey: newServiceAccount.secretKey,\n api: \"s3v4\",\n path: \"auto\",\n };\n }\n\n download(\n \"credentials.json\",\n JSON.stringify({\n ...consoleExtras,\n })\n );\n };\n\n const downloaddAllCredentials = () => {\n let allCredentials = {};\n if (\n consoleCreds &&\n Array.isArray(consoleCreds) &&\n consoleCreds.length > 1\n ) {\n const cCreds = consoleCreds.map((itemMap) => {\n return {\n accessKey: itemMap.accessKey,\n secretKey: itemMap.secretKey,\n };\n });\n allCredentials = cCreds;\n }\n download(\n \"all_credentials.json\",\n JSON.stringify({\n ...allCredentials,\n })\n );\n };\n\n return (\n {\n closeModal();\n }}\n title={\n
\n
New {entity} Created
\n
\n }\n titleIcon={}\n >\n \n \n A new {entity} has been created with the following details:\n {!idp && consoleCreds && (\n \n \n
\n Console Credentials\n
\n {Array.isArray(consoleCreds) &&\n consoleCreds.map((credentialsPair, index) => {\n return (\n <>\n \n \n \n );\n })}\n {!Array.isArray(consoleCreds) && (\n <>\n \n \n \n )}\n
\n
\n )}\n {(consoleCreds === null || consoleCreds === undefined) && (\n <>\n \n \n \n )}\n {idp ? (\n
\n Please Login via the configured external identity provider.\n
\n ) : (\n
\n \n \n Write these down, as this is the only time the secret will be\n displayed.\n \n
\n )}\n
\n \n {!idp && (\n <>\n \n }\n variant=\"callAction\"\n />\n \n\n {Array.isArray(consoleCreds) && consoleCreds.length > 1 && (\n \n }\n variant=\"callAction\"\n color=\"primary\"\n />\n \n )}\n \n )}\n \n
\n \n );\n};\n\nexport default withStyles(styles)(CredentialsPrompt);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport { fieldBasic } from \"../common/styleLibrary\";\nimport { CopyIcon } from \"../../../../../icons\";\nimport { Button } from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport CodeEditor from \"@uiw/react-textarea-code-editor\";\nimport TooltipWrapper from \"../../TooltipWrapper/TooltipWrapper\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n classes: any;\n onChange?: (editor: any, data: any, value: string) => any;\n onBeforeChange: (editor: any, data: any, value: string) => any;\n readOnly?: boolean;\n editorHeight?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n });\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n classes,\n onBeforeChange,\n readOnly = false,\n editorHeight = \"250px\",\n}: ICodeWrapper) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n\n \n {\n onBeforeChange(null, null, evn.target.value);\n }}\n id={\"code_wrapper\"}\n padding={15}\n style={{\n fontSize: 12,\n backgroundColor: \"#fefefe\",\n fontFamily:\n \"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace\",\n minHeight: editorHeight || \"initial\",\n color: \"#000000\",\n }}\n />\n \n \n \n \n \n }\n color={\"primary\"}\n variant={\"regular\"}\n />\n \n \n \n \n
\n );\n};\n\nexport default withStyles(styles)(CodeMirrorWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\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 \"../../../../../icons/HelpIcon\";\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, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n noContentPadding?: boolean;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n noContentPadding,\n titleIcon = null,\n}: IModalProps) => {\n const dispatch = useAppDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nexport default withStyles(styles)(ModalWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useCallback, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n Divider,\n Grid,\n IconButton,\n Paper,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport {\n createTenantCommon,\n modalBasic,\n wizardCommon,\n formFieldStyles,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\n\nimport { AppState, useAppDispatch } from \"../../../../../store\";\nimport { clearValidationError } from \"../../utils\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../utils/validationFunctions\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport InputBoxWrapper from \"../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport RemoveIcon from \"../../../../../icons/RemoveIcon\";\nimport {\n addNewMinIODomain,\n isPageValid,\n removeMinIODomain,\n setEnvVars,\n updateAddField,\n} from \"../createTenantSlice\";\nimport SelectWrapper from \"../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\n\ninterface IConfigureProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n configSectionItem: {\n marginRight: 15,\n marginBottom: 15,\n\n \"& .multiContainer\": {\n border: \"1px solid red\",\n },\n },\n tenantCustomizationFields: {\n marginLeft: 30, // 2nd Level(15+15)\n width: \"88%\",\n margin: \"auto\",\n },\n containerItem: {\n marginRight: 15,\n },\n fieldGroup: {\n ...createTenantCommon.fieldGroup,\n paddingTop: 15,\n marginBottom: 25,\n },\n responsiveSectionItem: {\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n\n \"& div > div\": {\n marginBottom: 5,\n marginRight: 0,\n },\n },\n },\n wrapperContainer: {\n display: \"flex\",\n marginBottom: 15,\n },\n envVarRow: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n \"&:last-child\": {\n borderBottom: 0,\n },\n \"@media (max-width: 900px)\": {\n flex: 1,\n\n \"& div label\": {\n minWidth: 50,\n },\n },\n },\n fileItem: {\n marginRight: 10,\n display: \"flex\",\n \"& div label\": {\n minWidth: 50,\n },\n\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n rowActions: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n \"@media (max-width: 900px)\": {\n flex: 1,\n },\n },\n overlayAction: {\n marginLeft: 10,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n ...modalBasic,\n ...wizardCommon,\n ...formFieldStyles,\n });\n\nconst Configure = ({ classes }: IConfigureProps) => {\n const dispatch = useAppDispatch();\n\n const exposeMinIO = useSelector(\n (state: AppState) => state.createTenant.fields.configure.exposeMinIO\n );\n const exposeConsole = useSelector(\n (state: AppState) => state.createTenant.fields.configure.exposeConsole\n );\n const setDomains = useSelector(\n (state: AppState) => state.createTenant.fields.configure.setDomains\n );\n const consoleDomain = useSelector(\n (state: AppState) => state.createTenant.fields.configure.consoleDomain\n );\n const minioDomains = useSelector(\n (state: AppState) => state.createTenant.fields.configure.minioDomains\n );\n const tenantCustom = useSelector(\n (state: AppState) => state.createTenant.fields.configure.tenantCustom\n );\n const tenantEnvVars = useSelector(\n (state: AppState) => state.createTenant.fields.configure.envVars\n );\n const tenantSecurityContext = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.tenantSecurityContext\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"configure\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n // Validation\n useEffect(() => {\n let customAccountValidation: IValidation[] = [];\n if (tenantCustom) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"tenant_securityContext_runAsUser\",\n required: true,\n value: tenantSecurityContext.runAsUser,\n customValidation:\n tenantSecurityContext.runAsUser === \"\" ||\n parseInt(tenantSecurityContext.runAsUser) < 0,\n customValidationMessage: `runAsUser must be present and be 0 or more`,\n },\n {\n fieldKey: \"tenant_securityContext_runAsGroup\",\n required: true,\n value: tenantSecurityContext.runAsGroup,\n customValidation:\n tenantSecurityContext.runAsGroup === \"\" ||\n parseInt(tenantSecurityContext.runAsGroup) < 0,\n customValidationMessage: `runAsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"tenant_securityContext_fsGroup\",\n required: true,\n value: tenantSecurityContext.fsGroup,\n customValidation:\n tenantSecurityContext.fsGroup === \"\" ||\n parseInt(tenantSecurityContext.fsGroup) < 0,\n customValidationMessage: `fsGroup must be present and be 0 or more`,\n },\n ];\n }\n\n if (setDomains) {\n const minioExtraValidations = minioDomains.map((validation, index) => {\n return {\n fieldKey: `minio-domain-${index.toString()}`,\n required: false,\n value: validation,\n pattern: /^(https?):\\/\\/([a-zA-Z0-9\\-.]+)(:[0-9]+)?$/,\n customPatternMessage:\n \"MinIO domain is not in the form of http|https://subdomain.domain\",\n };\n });\n\n customAccountValidation = [\n ...customAccountValidation,\n ...minioExtraValidations,\n {\n fieldKey: \"console_domain\",\n required: false,\n value: consoleDomain,\n pattern:\n /^(https?):\\/\\/([a-zA-Z0-9\\-.]+)(:[0-9]+)?(\\/[a-zA-Z0-9\\-./]*)?$/,\n customPatternMessage:\n \"Console domain is not in the form of http|https://subdomain.domain:port/subpath1/subpath2\",\n },\n ];\n }\n\n const commonVal = commonFormValidation(customAccountValidation);\n\n dispatch(\n isPageValid({\n pageName: \"configure\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n dispatch,\n tenantCustom,\n tenantSecurityContext,\n setDomains,\n consoleDomain,\n minioDomains,\n ]);\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n const updateMinIODomain = (value: string, index: number) => {\n const copyDomains = [...minioDomains];\n copyDomains[index] = value;\n\n updateField(\"minioDomains\", copyDomains);\n };\n\n return (\n \n
\n

Configure

\n \n Basic configurations for tenant management\n \n
\n
\n

Services

\n \n Whether the tenant's services should request an external IP via\n LoadBalancer service type.\n \n
\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"exposeMinIO\", checked);\n }}\n label={\"Expose MinIO Service\"}\n />\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"exposeConsole\", checked);\n }}\n label={\"Expose Console Service\"}\n />\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"setDomains\", checked);\n }}\n label={\"Set Custom Domains\"}\n />\n \n {setDomains && (\n \n
\n \n Custom Domains for MinIO\n \n \n
\n ) => {\n updateField(\"consoleDomain\", e.target.value);\n cleanValidation(\"tenant_securityContext_runAsUser\");\n }}\n label=\"Console Domain\"\n value={consoleDomain}\n placeholder={\n \"Eg. http://subdomain.domain:port/subpath1/subpath2\"\n }\n error={validationErrors[\"console_domain\"] || \"\"}\n />\n
\n
\n

MinIO Domains

\n
\n {minioDomains.map((domain, index) => {\n return (\n \n \n ) => {\n updateMinIODomain(e.target.value, index);\n }}\n label={`MinIO Domain ${index + 1}`}\n value={domain}\n placeholder={\"Eg. http://subdomain.domain\"}\n error={\n validationErrors[\n `minio-domain-${index.toString()}`\n ] || \"\"\n }\n />\n
\n dispatch(addNewMinIODomain())}\n disabled={index !== minioDomains.length - 1}\n >\n \n \n
\n\n
\n dispatch(removeMinIODomain(index))}\n disabled={minioDomains.length <= 1}\n >\n \n \n
\n
\n );\n })}\n
\n \n
\n
\n
\n )}\n\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"tenantCustom\", checked);\n }}\n label={\"Security Context\"}\n />\n \n {tenantCustom && (\n \n
\n \n SecurityContext for MinIO\n \n \n \n
\n ) => {\n updateField(\"tenantSecurityContext\", {\n ...tenantSecurityContext,\n runAsUser: e.target.value,\n });\n cleanValidation(\"tenant_securityContext_runAsUser\");\n }}\n label=\"Run As User\"\n value={tenantSecurityContext.runAsUser}\n required\n error={\n validationErrors[\"tenant_securityContext_runAsUser\"] || \"\"\n }\n min=\"0\"\n />\n
\n
\n ) => {\n updateField(\"tenantSecurityContext\", {\n ...tenantSecurityContext,\n runAsGroup: e.target.value,\n });\n cleanValidation(\"tenant_securityContext_runAsGroup\");\n }}\n label=\"Run As Group\"\n value={tenantSecurityContext.runAsGroup}\n required\n error={\n validationErrors[\"tenant_securityContext_runAsGroup\"] ||\n \"\"\n }\n min=\"0\"\n />\n
\n \n
\n
\n \n \n
\n ) => {\n updateField(\"tenantSecurityContext\", {\n ...tenantSecurityContext,\n fsGroup: e.target.value,\n });\n cleanValidation(\"tenant_securityContext_fsGroup\");\n }}\n label=\"FsGroup\"\n value={tenantSecurityContext.fsGroup}\n required\n error={\n validationErrors[\"tenant_securityContext_fsGroup\"] || \"\"\n }\n min=\"0\"\n />\n
\n
\n
\n ) => {\n updateField(\"tenantSecurityContext\", {\n ...tenantSecurityContext,\n fsGroupChangePolicy: e.target.value,\n });\n }}\n options={[\n {\n label: \"Always\",\n value: \"Always\",\n },\n {\n label: \"OnRootMismatch\",\n value: \"OnRootMismatch\",\n },\n ]}\n />\n
\n
\n \n
\n
\n \n
\n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"tenantSecurityContext\", {\n ...tenantSecurityContext,\n runAsNonRoot: checked,\n });\n }}\n label={\"Do not run as Root\"}\n />\n
\n
\n
\n
\n )}\n \n\n
\n

Additional Environment Variables

\n \n Define additional environment variables to be used by your MinIO pods\n \n
\n \n {tenantEnvVars.map((envVar, index) => (\n \n \n ) => {\n const existingEnvVars = [...tenantEnvVars];\n dispatch(\n setEnvVars(\n existingEnvVars.map((keyPair, i) =>\n i === index\n ? { key: e.target.value, value: keyPair.value }\n : keyPair\n )\n )\n );\n }}\n index={index}\n key={`env_var_key_${index.toString()}`}\n />\n \n \n ) => {\n const existingEnvVars = [...tenantEnvVars];\n dispatch(\n setEnvVars(\n existingEnvVars.map((keyPair, i) =>\n i === index\n ? { key: keyPair.key, value: e.target.value }\n : keyPair\n )\n )\n );\n }}\n index={index}\n key={`env_var_value_${index.toString()}`}\n />\n \n \n
\n {\n const existingEnvVars = [...tenantEnvVars];\n existingEnvVars.push({ key: \"\", value: \"\" });\n\n dispatch(setEnvVars(existingEnvVars));\n }}\n disabled={index !== tenantEnvVars.length - 1}\n >\n \n \n
\n
\n {\n const existingEnvVars = tenantEnvVars.filter(\n (item, fIndex) => fIndex !== index\n );\n dispatch(setEnvVars(existingEnvVars));\n }}\n disabled={tenantEnvVars.length <= 1}\n >\n \n \n
\n
\n
\n ))}\n \n
\n );\n};\n\nexport default withStyles(styles)(Configure);\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 { Grid, IconButton, Tooltip, Typography } from \"@mui/material\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport {\n addIDPADUsrAtIndex,\n isPageValid,\n removeIDPADUsrAtIndex,\n setIDPADUsrAtIndex,\n updateAddField,\n addIDPADGroupAtIndex,\n removeIDPADGroupAtIndex,\n setIDPADGroupAtIndex,\n} from \"../../createTenantSlice\";\nimport { useSelector } from \"react-redux\";\nimport { clearValidationError } from \"../../../utils\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../../utils/validationFunctions\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n adUserDnRows: {\n display: \"flex\",\n marginBottom: 10,\n },\n buttonTray: {\n marginLeft: 10,\n display: \"flex\",\n height: 38,\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n overlayAction: {\n marginLeft: 10,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n })\n);\n\nconst IDPActiveDirectory = () => {\n const dispatch = useAppDispatch();\n const classes = useStyles();\n\n const idpSelection = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.idpSelection\n );\n const ADURL = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.ADURL\n );\n const ADSkipTLS = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.ADSkipTLS\n );\n const ADServerInsecure = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.ADServerInsecure\n );\n const ADGroupSearchBaseDN = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.ADGroupSearchBaseDN\n );\n const ADGroupSearchFilter = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.ADGroupSearchFilter\n );\n const ADUserDNs = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.ADUserDNs\n );\n const ADGroupDNs = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.ADGroupDNs\n );\n const ADLookupBindDN = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.ADLookupBindDN\n );\n const ADLookupBindPassword = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.ADLookupBindPassword\n );\n const ADUserDNSearchBaseDN = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.ADUserDNSearchBaseDN\n );\n const ADUserDNSearchFilter = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.ADUserDNSearchFilter\n );\n const ADServerStartTLS = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.ADServerStartTLS\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({\n pageName: \"identityProvider\",\n field: field,\n value: value,\n })\n );\n },\n [dispatch]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n // Validation\n useEffect(() => {\n let customIDPValidation: IValidation[] = [];\n\n if (idpSelection === \"AD\") {\n customIDPValidation = [\n ...customIDPValidation,\n {\n fieldKey: \"AD_URL\",\n required: true,\n value: ADURL,\n },\n {\n fieldKey: \"ad_lookupBindDN\",\n required: true,\n value: ADLookupBindDN,\n },\n ];\n }\n\n const commonVal = commonFormValidation(customIDPValidation);\n\n dispatch(\n isPageValid({\n pageName: \"identityProvider\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n ADLookupBindDN,\n idpSelection,\n ADURL,\n ADGroupSearchBaseDN,\n ADGroupSearchFilter,\n ADUserDNs,\n ADGroupDNs,\n dispatch,\n ]);\n\n return (\n \n \n ) => {\n updateField(\"ADURL\", e.target.value);\n cleanValidation(\"AD_URL\");\n }}\n label=\"LDAP Server Address\"\n value={ADURL}\n placeholder=\"ldap-server:636\"\n error={validationErrors[\"AD_URL\"] || \"\"}\n required\n />\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"ADSkipTLS\", checked);\n }}\n label={\"Skip TLS Verification\"}\n />\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"ADServerInsecure\", checked);\n }}\n label={\"Server Insecure\"}\n />\n \n {ADServerInsecure ? (\n \n \n Warning: All traffic with Active Directory will be unencrypted\n \n
\n
\n ) : null}\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"ADServerStartTLS\", checked);\n }}\n label={\"Start TLS connection to AD/LDAP server\"}\n />\n \n \n ) => {\n updateField(\"ADLookupBindDN\", e.target.value);\n cleanValidation(\"ad_lookupBindDN\");\n }}\n label=\"Lookup Bind DN\"\n value={ADLookupBindDN}\n placeholder=\"cn=admin,dc=min,dc=io\"\n error={validationErrors[\"ad_lookupBindDN\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"ADLookupBindPassword\", e.target.value);\n }}\n label=\"Lookup Bind Password\"\n value={ADLookupBindPassword}\n placeholder=\"admin\"\n />\n \n \n ) => {\n updateField(\"ADUserDNSearchBaseDN\", e.target.value);\n }}\n label=\"User DN Search Base DN\"\n value={ADUserDNSearchBaseDN}\n placeholder=\"dc=min,dc=io\"\n />\n \n \n ) => {\n updateField(\"ADUserDNSearchFilter\", e.target.value);\n }}\n label=\"User DN Search Filter\"\n value={ADUserDNSearchFilter}\n placeholder=\"(sAMAcountName=%s)\"\n />\n \n \n ) => {\n updateField(\"ADGroupSearchBaseDN\", e.target.value);\n }}\n label=\"Group Search Base DN\"\n value={ADGroupSearchBaseDN}\n placeholder=\"ou=hwengg,dc=min,dc=io;ou=swengg,dc=min,dc=io\"\n />\n \n \n ) => {\n updateField(\"ADGroupSearchFilter\", e.target.value);\n }}\n label=\"Group Search Filter\"\n value={ADGroupSearchFilter}\n placeholder=\"(&(objectclass=groupOfNames)(member=%s))\"\n />\n \n
\n \n List of user DNs (Distinguished Names) to be Tenant Administrators\n \n \n {ADUserDNs.map((_, index) => {\n return (\n \n
\n ) => {\n dispatch(\n setIDPADUsrAtIndex({\n index: index,\n userDN: e.target.value,\n })\n );\n cleanValidation(`ad-userdn-${index.toString()}`);\n }}\n index={index}\n key={`csv-ad-userdn-${index.toString()}`}\n error={\n validationErrors[`ad-userdn-${index.toString()}`] || \"\"\n }\n />\n
\n \n {\n dispatch(addIDPADUsrAtIndex());\n }}\n >\n \n \n \n \n {\n if (ADUserDNs.length > 1) {\n dispatch(removeIDPADUsrAtIndex(index));\n }\n }}\n >\n \n \n \n
\n
\n
\n );\n })}\n
\n
\n
\n \n List of group DNs (Distinguished Names) to be Tenant Administrators\n \n \n {ADGroupDNs.map((_, index) => {\n return (\n \n
\n ) => {\n dispatch(\n setIDPADGroupAtIndex({\n index: index,\n userDN: e.target.value,\n })\n );\n cleanValidation(`ad-groupdn-${index.toString()}`);\n }}\n index={index}\n key={`csv-ad-groupdn-${index.toString()}`}\n error={\n validationErrors[`ad-groupdn-${index.toString()}`] || \"\"\n }\n />\n
\n \n {\n dispatch(addIDPADGroupAtIndex());\n }}\n >\n \n \n \n \n {\n if (ADGroupDNs.length > 1) {\n dispatch(removeIDPADGroupAtIndex(index));\n }\n }}\n >\n \n \n \n
\n
\n
\n );\n })}\n
\n
\n
\n );\n};\n\nexport default IDPActiveDirectory;\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 { Grid } from \"@mui/material\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { isPageValid, updateAddField } from \"../../createTenantSlice\";\nimport { clearValidationError } from \"../../../utils\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../../utils/validationFunctions\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n buttonTray: {\n marginLeft: 10,\n display: \"flex\",\n height: 38,\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n overlayAction: {\n marginLeft: 10,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n })\n);\n\nconst IDPOpenID = () => {\n const dispatch = useAppDispatch();\n const classes = useStyles();\n\n const idpSelection = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.idpSelection\n );\n const openIDConfigurationURL = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.openIDConfigurationURL\n );\n const openIDClientID = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.openIDClientID\n );\n const openIDSecretID = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.openIDSecretID\n );\n const openIDCallbackURL = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.openIDCallbackURL\n );\n const openIDClaimName = useSelector(\n (state: AppState) =>\n state.createTenant.fields.identityProvider.openIDClaimName\n );\n const openIDScopes = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.openIDScopes\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({\n pageName: \"identityProvider\",\n field: field,\n value: value,\n })\n );\n },\n [dispatch]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n // Validation\n useEffect(() => {\n let customIDPValidation: IValidation[] = [];\n\n if (idpSelection === \"OpenID\") {\n customIDPValidation = [\n ...customIDPValidation,\n {\n fieldKey: \"openID_CONFIGURATION_URL\",\n required: true,\n value: openIDConfigurationURL,\n },\n {\n fieldKey: \"openID_clientID\",\n required: true,\n value: openIDClientID,\n },\n {\n fieldKey: \"openID_secretID\",\n required: true,\n value: openIDSecretID,\n },\n {\n fieldKey: \"openID_claimName\",\n required: true,\n value: openIDClaimName,\n },\n ];\n }\n\n const commonVal = commonFormValidation(customIDPValidation);\n\n dispatch(\n isPageValid({\n pageName: \"identityProvider\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n idpSelection,\n openIDClientID,\n openIDSecretID,\n openIDConfigurationURL,\n openIDClaimName,\n dispatch,\n ]);\n\n return (\n \n \n ) => {\n updateField(\"openIDConfigurationURL\", e.target.value);\n cleanValidation(\"openID_CONFIGURATION_URL\");\n }}\n label=\"Configuration URL\"\n value={openIDConfigurationURL}\n placeholder=\"https://your-identity-provider.com/.well-known/openid-configuration\"\n error={validationErrors[\"openID_CONFIGURATION_URL\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"openIDClientID\", e.target.value);\n cleanValidation(\"openID_clientID\");\n }}\n label=\"Client ID\"\n value={openIDClientID}\n error={validationErrors[\"openID_clientID\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"openIDSecretID\", e.target.value);\n cleanValidation(\"openID_secretID\");\n }}\n label=\"Secret ID\"\n value={openIDSecretID}\n error={validationErrors[\"openID_secretID\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"openIDCallbackURL\", e.target.value);\n cleanValidation(\"openID_callbackURL\");\n }}\n label=\"Callback URL\"\n value={openIDCallbackURL}\n placeholder=\"https://your-console-endpoint:9443/oauth_callback\"\n error={validationErrors[\"openID_callbackURL\"] || \"\"}\n />\n \n \n ) => {\n updateField(\"openIDClaimName\", e.target.value);\n cleanValidation(\"openID_claimName\");\n }}\n label=\"Claim Name\"\n value={openIDClaimName}\n error={validationErrors[\"openID_claimName\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"openIDScopes\", e.target.value);\n cleanValidation(\"openID_scopes\");\n }}\n label=\"Scopes\"\n value={openIDScopes}\n />\n \n \n );\n};\n\nexport default IDPOpenID;\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 InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport {\n addIDPNewKeyPair,\n isPageValid,\n removeIDPKeyPairAtIndex,\n setIDPPwdAtIndex,\n setIDPUsrAtIndex,\n} from \"../../createTenantSlice\";\nimport { IconButton, Tooltip } from \"@mui/material\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport RemoveIcon from \"../../../../../../icons/RemoveIcon\";\nimport { clearValidationError, getRandomString } from \"../../../utils\";\nimport CasinoIcon from \"@mui/icons-material/Casino\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../../utils/validationFunctions\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n buttonTray: {\n marginLeft: 10,\n display: \"flex\",\n height: 38,\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n overlayAction: {\n marginLeft: 10,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n shortened: {\n gridTemplateColumns: \"auto auto 50px 50px\",\n display: \"grid\",\n gridGap: 15,\n marginBottom: 10,\n \"& input\": {\n fontWeight: 400,\n },\n },\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n })\n);\n\nconst IDPBuiltIn = () => {\n const dispatch = useAppDispatch();\n const classes = useStyles();\n\n const idpSelection = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.idpSelection\n );\n const accessKeys = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.accessKeys\n );\n const secretKeys = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.secretKeys\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n // Validation\n useEffect(() => {\n let customIDPValidation: IValidation[] = [];\n\n if (idpSelection === \"Built-in\") {\n customIDPValidation = [...customIDPValidation];\n for (var i = 0; i < accessKeys.length; i++) {\n customIDPValidation.push({\n fieldKey: `accesskey-${i.toString()}`,\n required: true,\n value: accessKeys[i],\n pattern: /^[a-zA-Z0-9-]{8,63}$/,\n customPatternMessage: \"Keys must be at least length 8\",\n });\n customIDPValidation.push({\n fieldKey: `secretkey-${i.toString()}`,\n required: true,\n value: secretKeys[i],\n pattern: /^[a-zA-Z0-9-]{8,63}$/,\n customPatternMessage: \"Keys must be at least length 8\",\n });\n }\n }\n\n const commonVal = commonFormValidation(customIDPValidation);\n\n dispatch(\n isPageValid({\n pageName: \"identityProvider\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [idpSelection, accessKeys, secretKeys, dispatch]);\n\n return (\n \n Add additional users\n {accessKeys.map((_, index) => {\n return (\n \n
\n ) => {\n dispatch(\n setIDPUsrAtIndex({\n index,\n accessKey: e.target.value,\n })\n );\n cleanValidation(`accesskey-${index.toString()}`);\n }}\n index={index}\n key={`csv-accesskey-${index.toString()}`}\n error={validationErrors[`accesskey-${index.toString()}`] || \"\"}\n />\n ) => {\n dispatch(\n setIDPPwdAtIndex({\n index,\n secretKey: e.target.value,\n })\n );\n cleanValidation(`secretkey-${index.toString()}`);\n }}\n index={index}\n key={`csv-secretkey-${index.toString()}`}\n error={validationErrors[`secretkey-${index.toString()}`] || \"\"}\n />\n
\n
\n {\n dispatch(addIDPNewKeyPair());\n }}\n disabled={index !== accessKeys.length - 1}\n >\n \n \n
\n
\n {\n dispatch(removeIDPKeyPairAtIndex(index));\n }}\n disabled={accessKeys.length <= 1}\n >\n \n \n
\n \n
\n {\n dispatch(\n setIDPUsrAtIndex({\n index,\n accessKey: getRandomString(16),\n })\n );\n dispatch(\n setIDPPwdAtIndex({\n index,\n secretKey: getRandomString(16),\n })\n );\n }}\n size={\"small\"}\n >\n \n \n
\n
\n
\n
\n
\n );\n })}\n
\n );\n};\n\nexport default IDPBuiltIn;\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 { useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { Grid, Paper } from \"@mui/material\";\nimport {\n createTenantCommon,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../../store\";\nimport RadioGroupSelector from \"../../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport { setIDP } from \"../createTenantSlice\";\nimport IDPActiveDirectory from \"./IdentityProvider/IDPActiveDirectory\";\nimport IDPOpenID from \"./IdentityProvider/IDPOpenID\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport IDPBuiltIn from \"./IdentityProvider/IDPBuiltIn\";\nimport {\n OIDCLogoElement,\n LDAPLogoElement,\n BuiltInLogoElement,\n} from \"../../LogoComponents\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n protocolRadioOptions: {\n display: \"flex\",\n flexFlow: \"column\",\n marginBottom: 10,\n\n \"& label\": {\n fontSize: 16,\n fontWeight: 600,\n },\n \"& div\": {\n display: \"flex\",\n flexFlow: \"row\",\n alignItems: \"top\",\n },\n },\n ...createTenantCommon,\n ...modalBasic,\n ...wizardCommon,\n })\n);\n\nconst IdentityProvider = () => {\n const dispatch = useAppDispatch();\n const classes = useStyles();\n\n const idpSelection = useSelector(\n (state: AppState) => state.createTenant.fields.identityProvider.idpSelection\n );\n\n return (\n \n
\n

Identity Provider

\n \n Access to the tenant can be controlled via an external Identity\n Manager.\n \n
\n \n {\n dispatch(setIDP(e.target.value));\n }}\n selectorOptions={[\n { label: , value: \"Built-in\" },\n { label: , value: \"OpenID\" },\n { label: , value: \"AD\" },\n ]}\n />\n \n {idpSelection === \"Built-in\" && }\n {idpSelection === \"OpenID\" && }\n {idpSelection === \"AD\" && }\n
\n );\n};\n\nexport default IdentityProvider;\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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, IconButton, Paper } from \"@mui/material\";\nimport {\n createTenantCommon,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\n\nimport { AppState, useAppDispatch } from \"../../../../../store\";\nimport { KeyPair } from \"../../ListTenants/utils\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport FileSelector from \"../../../Common/FormComponents/FileSelector/FileSelector\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport RemoveIcon from \"../../../../../icons/RemoveIcon\";\nimport {\n addCaCertificate,\n deleteCaCertificate,\n addFileToCaCertificates,\n addFileToKeyPair,\n addKeyPair,\n deleteKeyPair,\n addClientKeyPair,\n deleteClientKeyPair,\n addFileToClientKeyPair,\n isPageValid,\n updateAddField,\n} from \"../createTenantSlice\";\nimport TLSHelpBox from \"../../HelpBox/TLSHelpBox\";\n\ninterface ISecurityProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n minioCertificateRows: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n borderBottom: \"1px solid #EAEAEA\",\n \"&:last-child\": {\n borderBottom: 0,\n },\n \"@media (max-width: 900px)\": {\n flex: 1,\n },\n },\n fileItem: {\n marginRight: 10,\n display: \"flex\",\n \"& div label\": {\n minWidth: 50,\n },\n\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n minioCertsContainer: {\n marginBottom: 15,\n },\n minioCACertsRow: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n\n borderBottom: \"1px solid #EAEAEA\",\n \"&:last-child\": {\n borderBottom: 0,\n },\n \"@media (max-width: 900px)\": {\n flex: 1,\n\n \"& div label\": {\n minWidth: 50,\n },\n },\n },\n rowActions: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n \"@media (max-width: 900px)\": {\n flex: 1,\n },\n },\n overlayAction: {\n marginLeft: 10,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n\n ...createTenantCommon,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst Security = ({ classes }: ISecurityProps) => {\n const dispatch = useAppDispatch();\n\n const enableTLS = useSelector(\n (state: AppState) => state.createTenant.fields.security.enableTLS\n );\n const enableAutoCert = useSelector(\n (state: AppState) => state.createTenant.fields.security.enableAutoCert\n );\n const enableCustomCerts = useSelector(\n (state: AppState) => state.createTenant.fields.security.enableCustomCerts\n );\n const minioCertificates = useSelector(\n (state: AppState) => state.createTenant.certificates.minioServerCertificates\n );\n const minioClientCertificates = useSelector(\n (state: AppState) => state.createTenant.certificates.minioClientCertificates\n );\n const caCertificates = useSelector(\n (state: AppState) => state.createTenant.certificates.minioCAsCertificates\n );\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"security\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n // Validation\n\n useEffect(() => {\n if (!enableTLS) {\n dispatch(isPageValid({ pageName: \"security\", valid: true }));\n return;\n }\n if (enableAutoCert) {\n dispatch(isPageValid({ pageName: \"security\", valid: true }));\n return;\n }\n if (enableCustomCerts) {\n dispatch(isPageValid({ pageName: \"security\", valid: true }));\n return;\n }\n dispatch(isPageValid({ pageName: \"security\", valid: false }));\n }, [enableTLS, enableAutoCert, enableCustomCerts, dispatch]);\n\n return (\n \n
\n

Security

\n
\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"enableTLS\", checked);\n }}\n label={\"TLS\"}\n description={\n \"Securing all the traffic using TLS. This is required for Encryption Configuration\"\n }\n />\n \n {enableTLS && (\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"enableAutoCert\", checked);\n }}\n label={\"AutoCert\"}\n description={\n \"The internode certificates will be generated and managed by MinIO Operator\"\n }\n />\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"enableCustomCerts\", checked);\n }}\n label={\"Custom Certificates\"}\n description={\"Certificates used to terminated TLS at MinIO\"}\n />\n \n {enableCustomCerts && (\n \n {!enableAutoCert && (\n \n \n \n )}\n \n
MinIO Server Certificates
\n {minioCertificates.map((keyPair: KeyPair, index) => (\n \n \n {\n dispatch(\n addFileToKeyPair({\n id: keyPair.id,\n key: \"cert\",\n fileName: fileName,\n value: encodedValue,\n })\n );\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"tlsCert\"\n name=\"tlsCert\"\n label=\"Cert\"\n value={keyPair.cert}\n />\n {\n dispatch(\n addFileToKeyPair({\n id: keyPair.id,\n key: \"key\",\n fileName: fileName,\n value: encodedValue,\n })\n );\n }}\n accept=\".key,.pem\"\n id=\"tlsKey\"\n name=\"tlsKey\"\n label=\"Key\"\n value={keyPair.key}\n />\n \n\n \n
\n {\n dispatch(addKeyPair());\n }}\n disabled={index !== minioCertificates.length - 1}\n >\n \n \n
\n
\n {\n dispatch(deleteKeyPair(keyPair.id));\n }}\n disabled={minioCertificates.length <= 1}\n >\n \n \n
\n
\n
\n ))}\n
\n \n
MinIO Client Certificates
\n {minioClientCertificates.map((keyPair: KeyPair, index) => (\n \n \n {\n dispatch(\n addFileToClientKeyPair({\n id: keyPair.id,\n key: \"cert\",\n fileName: fileName,\n value: encodedValue,\n })\n );\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"tlsCert\"\n name=\"tlsCert\"\n label=\"Cert\"\n value={keyPair.cert}\n />\n {\n dispatch(\n addFileToClientKeyPair({\n id: keyPair.id,\n key: \"key\",\n fileName: fileName,\n value: encodedValue,\n })\n );\n }}\n accept=\".key,.pem\"\n id=\"tlsKey\"\n name=\"tlsKey\"\n label=\"Key\"\n value={keyPair.key}\n />\n \n\n \n
\n {\n dispatch(addClientKeyPair());\n }}\n disabled={\n index !== minioClientCertificates.length - 1\n }\n >\n \n \n
\n
\n {\n dispatch(deleteClientKeyPair(keyPair.id));\n }}\n disabled={minioClientCertificates.length <= 1}\n >\n \n \n
\n
\n
\n ))}\n \n \n
MinIO CA Certificates
\n {caCertificates.map((keyPair: KeyPair, index) => (\n \n \n {\n dispatch(\n addFileToCaCertificates({\n id: keyPair.id,\n key: \"cert\",\n fileName: fileName,\n value: encodedValue,\n })\n );\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"tlsCert\"\n name=\"tlsCert\"\n label=\"Cert\"\n value={keyPair.cert}\n />\n \n \n
\n
\n {\n dispatch(addCaCertificate());\n }}\n disabled={index !== caCertificates.length - 1}\n >\n \n \n
\n
\n {\n dispatch(deleteCaCertificate(keyPair.id));\n }}\n disabled={caCertificates.length <= 1}\n >\n \n \n
\n
\n
\n
\n ))}\n \n \n )}\n \n )}\n \n
\n );\n};\n\nexport default withStyles(styles)(Security);\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\ntype Props = {\n children: string;\n};\n\nconst SectionH1: React.FC = ({ children }) => {\n return (\n

\n {children}\n

\n );\n};\n\nexport default SectionH1;\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 Grid from \"@mui/material/Grid\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\n\nimport { isPageValid, updateAddField } from \"../../createTenantSlice\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../../utils/validationFunctions\";\nimport { clearValidationError } from \"../../../utils\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n })\n);\n\nconst VaultKMSAdd = () => {\n const dispatch = useAppDispatch();\n const classes = useStyles();\n\n const encryptionTab = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.encryptionTab\n );\n const vaultEndpoint = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.vaultEndpoint\n );\n const vaultEngine = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.vaultEngine\n );\n const vaultNamespace = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.vaultNamespace\n );\n const vaultPrefix = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.vaultPrefix\n );\n const vaultAppRoleEngine = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.vaultAppRoleEngine\n );\n const vaultId = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.vaultId\n );\n const vaultSecret = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.vaultSecret\n );\n const vaultRetry = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.vaultRetry\n );\n const vaultPing = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.vaultPing\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n // Validation\n useEffect(() => {\n let encryptionValidation: IValidation[] = [];\n\n if (!encryptionTab) {\n encryptionValidation = [\n ...encryptionValidation,\n {\n fieldKey: \"vault_endpoint\",\n required: true,\n value: vaultEndpoint,\n },\n {\n fieldKey: \"vault_id\",\n required: true,\n value: vaultId,\n },\n {\n fieldKey: \"vault_secret\",\n required: true,\n value: vaultSecret,\n },\n {\n fieldKey: \"vault_ping\",\n required: false,\n value: vaultPing,\n customValidation: parseInt(vaultPing) < 0,\n customValidationMessage: \"Value needs to be 0 or greater\",\n },\n {\n fieldKey: \"vault_retry\",\n required: false,\n value: vaultRetry,\n customValidation: parseInt(vaultRetry) < 0,\n customValidationMessage: \"Value needs to be 0 or greater\",\n },\n ];\n }\n\n const commonVal = commonFormValidation(encryptionValidation);\n\n dispatch(\n isPageValid({\n pageName: \"encryption\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n encryptionTab,\n vaultEndpoint,\n vaultEngine,\n vaultId,\n vaultSecret,\n vaultPing,\n vaultRetry,\n dispatch,\n ]);\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"encryption\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n return (\n \n \n ) => {\n updateField(\"vaultEndpoint\", e.target.value);\n cleanValidation(\"vault_endpoint\");\n }}\n label=\"Endpoint\"\n value={vaultEndpoint}\n error={validationErrors[\"vault_endpoint\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"vaultEngine\", e.target.value);\n cleanValidation(\"vault_engine\");\n }}\n label=\"Engine\"\n value={vaultEngine}\n />\n \n \n ) => {\n updateField(\"vaultNamespace\", e.target.value);\n }}\n label=\"Namespace\"\n value={vaultNamespace}\n />\n \n \n ) => {\n updateField(\"vaultPrefix\", e.target.value);\n }}\n label=\"Prefix\"\n value={vaultPrefix}\n />\n \n\n \n
\n App Role\n \n ) => {\n updateField(\"vaultAppRoleEngine\", e.target.value);\n }}\n label=\"Engine\"\n value={vaultAppRoleEngine}\n />\n \n \n ) => {\n updateField(\"vaultId\", e.target.value);\n cleanValidation(\"vault_id\");\n }}\n label=\"AppRole ID\"\n value={vaultId}\n error={validationErrors[\"vault_id\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"vaultSecret\", e.target.value);\n cleanValidation(\"vault_secret\");\n }}\n label=\"AppRole Secret\"\n value={vaultSecret}\n error={validationErrors[\"vault_secret\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"vaultRetry\", e.target.value);\n cleanValidation(\"vault_retry\");\n }}\n label=\"Retry (Seconds)\"\n value={vaultRetry}\n error={validationErrors[\"vault_retry\"] || \"\"}\n />\n \n
\n
\n \n
\n Status\n ) => {\n updateField(\"vaultPing\", e.target.value);\n cleanValidation(\"vault_ping\");\n }}\n label=\"Ping (Seconds)\"\n value={vaultPing}\n error={validationErrors[\"vault_ping\"] || \"\"}\n />\n
\n \n
\n );\n};\n\nexport default VaultKMSAdd;\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 Grid from \"@mui/material/Grid\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../../utils/validationFunctions\";\nimport { isPageValid, updateAddField } from \"../../createTenantSlice\";\nimport { clearValidationError } from \"../../../utils\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n })\n);\n\nconst AzureKMSAdd = () => {\n const dispatch = useAppDispatch();\n const classes = useStyles();\n\n const encryptionTab = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.encryptionTab\n );\n const azureEndpoint = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.azureEndpoint\n );\n const azureTenantID = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.azureTenantID\n );\n const azureClientID = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.azureClientID\n );\n const azureClientSecret = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.azureClientSecret\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n // Validation\n useEffect(() => {\n let encryptionValidation: IValidation[] = [];\n\n if (!encryptionTab) {\n encryptionValidation = [\n ...encryptionValidation,\n {\n fieldKey: \"azure_endpoint\",\n required: true,\n value: azureEndpoint,\n },\n {\n fieldKey: \"azure_tenant_id\",\n required: true,\n value: azureTenantID,\n },\n {\n fieldKey: \"azure_client_id\",\n required: true,\n value: azureClientID,\n },\n {\n fieldKey: \"azure_client_secret\",\n required: true,\n value: azureClientSecret,\n },\n ];\n }\n\n const commonVal = commonFormValidation(encryptionValidation);\n\n dispatch(\n isPageValid({\n pageName: \"encryption\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n encryptionTab,\n azureEndpoint,\n azureTenantID,\n azureClientID,\n azureClientSecret,\n dispatch,\n ]);\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"encryption\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n return (\n \n \n ) => {\n updateField(\"azureEndpoint\", e.target.value);\n cleanValidation(\"azure_endpoint\");\n }}\n label=\"Endpoint\"\n value={azureEndpoint}\n error={validationErrors[\"azure_endpoint\"] || \"\"}\n />\n \n \n
\n Credentials\n \n ) => {\n updateField(\"azureTenantID\", e.target.value);\n cleanValidation(\"azure_tenant_id\");\n }}\n label=\"Tenant ID\"\n value={azureTenantID}\n error={validationErrors[\"azure_tenant_id\"] || \"\"}\n />\n \n \n ) => {\n updateField(\"azureClientID\", e.target.value);\n cleanValidation(\"azure_client_id\");\n }}\n label=\"Client ID\"\n value={azureClientID}\n error={validationErrors[\"azure_client_id\"] || \"\"}\n />\n \n \n ) => {\n updateField(\"azureClientSecret\", e.target.value);\n cleanValidation(\"azure_client_secret\");\n }}\n label=\"Client Secret\"\n value={azureClientSecret}\n error={validationErrors[\"azure_client_secret\"] || \"\"}\n />\n \n
\n
\n
\n );\n};\n\nexport default AzureKMSAdd;\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 } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { updateAddField } from \"../../createTenantSlice\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n })\n);\n\nconst GCPKMSAdd = () => {\n const classes = useStyles();\n const dispatch = useAppDispatch();\n\n const gcpProjectID = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpProjectID\n );\n const gcpEndpoint = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpEndpoint\n );\n const gcpClientEmail = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpClientEmail\n );\n const gcpClientID = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpClientID\n );\n const gcpPrivateKeyID = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpPrivateKeyID\n );\n const gcpPrivateKey = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpPrivateKey\n );\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"encryption\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n return (\n \n \n ) => {\n updateField(\"gcpProjectID\", e.target.value);\n }}\n label=\"Project ID\"\n value={gcpProjectID}\n />\n \n \n ) => {\n updateField(\"gcpEndpoint\", e.target.value);\n }}\n label=\"Endpoint\"\n value={gcpEndpoint}\n />\n \n \n
\n Credentials\n \n ) => {\n updateField(\"gcpClientEmail\", e.target.value);\n }}\n label=\"Client Email\"\n value={gcpClientEmail}\n />\n \n \n ) => {\n updateField(\"gcpClientID\", e.target.value);\n }}\n label=\"Client ID\"\n value={gcpClientID}\n />\n \n \n ) => {\n updateField(\"gcpPrivateKeyID\", e.target.value);\n }}\n label=\"Private Key ID\"\n value={gcpPrivateKeyID}\n />\n \n \n ) => {\n updateField(\"gcpPrivateKey\", e.target.value);\n }}\n label=\"Private Key\"\n value={gcpPrivateKey}\n />\n \n
\n
\n
\n );\n};\n\nexport default GCPKMSAdd;\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 Grid from \"@mui/material/Grid\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { isPageValid, updateAddField } from \"../../createTenantSlice\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../../utils/validationFunctions\";\nimport { clearValidationError } from \"../../../utils\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n })\n);\n\nconst GemaltoKMSAdd = () => {\n const dispatch = useAppDispatch();\n const classes = useStyles();\n\n const encryptionTab = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.encryptionTab\n );\n const gemaltoEndpoint = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gemaltoEndpoint\n );\n const gemaltoToken = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gemaltoToken\n );\n const gemaltoDomain = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gemaltoDomain\n );\n const gemaltoRetry = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gemaltoRetry\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n // Validation\n useEffect(() => {\n let encryptionValidation: IValidation[] = [];\n\n if (!encryptionTab) {\n encryptionValidation = [\n ...encryptionValidation,\n {\n fieldKey: \"gemalto_endpoint\",\n required: true,\n value: gemaltoEndpoint,\n },\n {\n fieldKey: \"gemalto_token\",\n required: true,\n value: gemaltoToken,\n },\n {\n fieldKey: \"gemalto_domain\",\n required: true,\n value: gemaltoDomain,\n },\n {\n fieldKey: \"gemalto_retry\",\n required: false,\n value: gemaltoRetry,\n customValidation: parseInt(gemaltoRetry) < 0,\n customValidationMessage: \"Value needs to be 0 or greater\",\n },\n ];\n }\n\n const commonVal = commonFormValidation(encryptionValidation);\n\n dispatch(\n isPageValid({\n pageName: \"encryption\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n encryptionTab,\n gemaltoEndpoint,\n gemaltoToken,\n gemaltoDomain,\n gemaltoRetry,\n dispatch,\n ]);\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"encryption\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n return (\n \n \n ) => {\n updateField(\"gemaltoEndpoint\", e.target.value);\n cleanValidation(\"gemalto_endpoint\");\n }}\n label=\"Endpoint\"\n value={gemaltoEndpoint}\n error={validationErrors[\"gemalto_endpoint\"] || \"\"}\n required\n />\n \n \n
\n Credentials\n \n ) => {\n updateField(\"gemaltoToken\", e.target.value);\n cleanValidation(\"gemalto_token\");\n }}\n label=\"Token\"\n value={gemaltoToken}\n error={validationErrors[\"gemalto_token\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"gemaltoDomain\", e.target.value);\n cleanValidation(\"gemalto_domain\");\n }}\n label=\"Domain\"\n value={gemaltoDomain}\n error={validationErrors[\"gemalto_domain\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"gemaltoRetry\", e.target.value);\n cleanValidation(\"gemalto_retry\");\n }}\n label=\"Retry (seconds)\"\n value={gemaltoRetry}\n error={validationErrors[\"gemalto_retry\"] || \"\"}\n />\n \n
\n \n
\n );\n};\n\nexport default GemaltoKMSAdd;\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 Grid from \"@mui/material/Grid\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../../utils/validationFunctions\";\nimport { isPageValid, updateAddField } from \"../../createTenantSlice\";\nimport { clearValidationError } from \"../../../utils\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n })\n);\n\nconst AWSKMSAdd = () => {\n const dispatch = useAppDispatch();\n const classes = useStyles();\n\n const encryptionTab = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.encryptionTab\n );\n const awsEndpoint = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.awsEndpoint\n );\n const awsRegion = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.awsRegion\n );\n const awsKMSKey = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.awsKMSKey\n );\n const awsAccessKey = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.awsAccessKey\n );\n const awsSecretKey = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.awsSecretKey\n );\n const awsToken = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.awsToken\n );\n const [validationErrors, setValidationErrors] = useState({});\n\n // Validation\n useEffect(() => {\n let encryptionValidation: IValidation[] = [];\n\n if (!encryptionTab) {\n encryptionValidation = [\n ...encryptionValidation,\n {\n fieldKey: \"aws_endpoint\",\n required: true,\n value: awsEndpoint,\n },\n {\n fieldKey: \"aws_region\",\n required: true,\n value: awsRegion,\n },\n {\n fieldKey: \"aws_accessKey\",\n required: true,\n value: awsAccessKey,\n },\n {\n fieldKey: \"aws_secretKey\",\n required: true,\n value: awsSecretKey,\n },\n ];\n }\n\n const commonVal = commonFormValidation(encryptionValidation);\n\n dispatch(\n isPageValid({\n pageName: \"encryption\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n encryptionTab,\n awsEndpoint,\n awsRegion,\n awsSecretKey,\n awsAccessKey,\n dispatch,\n ]);\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"encryption\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n return (\n \n \n ) => {\n updateField(\"awsEndpoint\", e.target.value);\n cleanValidation(\"aws_endpoint\");\n }}\n label=\"Endpoint\"\n value={awsEndpoint}\n error={validationErrors[\"aws_endpoint\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"awsRegion\", e.target.value);\n cleanValidation(\"aws_region\");\n }}\n label=\"Region\"\n value={awsRegion}\n error={validationErrors[\"aws_region\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"awsKMSKey\", e.target.value);\n }}\n label=\"KMS Key\"\n value={awsKMSKey}\n />\n \n \n
\n Credentials\n \n ) => {\n updateField(\"awsAccessKey\", e.target.value);\n cleanValidation(\"aws_accessKey\");\n }}\n label=\"Access Key\"\n value={awsAccessKey}\n error={validationErrors[\"aws_accessKey\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"awsSecretKey\", e.target.value);\n cleanValidation(\"aws_secretKey\");\n }}\n label=\"Secret Key\"\n value={awsSecretKey}\n error={validationErrors[\"aws_secretKey\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"awsToken\", e.target.value);\n }}\n label=\"Token\"\n value={awsToken}\n />\n \n
\n
\n
\n );\n};\n\nexport default AWSKMSAdd;\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 { useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Paper, SelectChangeEvent } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\n\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../../store\";\nimport { clearValidationError } from \"../../utils\";\nimport InputBoxWrapper from \"../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport FileSelector from \"../../../Common/FormComponents/FileSelector/FileSelector\";\nimport RadioGroupSelector from \"../../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../utils/validationFunctions\";\nimport SectionH1 from \"../../../Common/SectionH1\";\nimport {\n addFileMinIOMTLSCert,\n addFileKESServerCert,\n addFileKMSCa,\n addFileKMSMTLSCert,\n isPageValid,\n updateAddField,\n} from \"../createTenantSlice\";\nimport VaultKMSAdd from \"./Encryption/VaultKMSAdd\";\nimport AzureKMSAdd from \"./Encryption/AzureKMSAdd\";\nimport GCPKMSAdd from \"./Encryption/GCPKMSAdd\";\nimport GemaltoKMSAdd from \"./Encryption/GemaltoKMSAdd\";\nimport AWSKMSAdd from \"./Encryption/AWSKMSAdd\";\nimport SelectWrapper from \"../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport Tabs from \"@mui/material/Tabs\";\nimport Tab from \"@mui/material/Tab\";\nimport CodeMirrorWrapper from \"../../../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\n\ninterface IEncryptionProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n encryptionTypeOptions: {\n marginBottom: 15,\n },\n mutualTlsConfig: {\n marginTop: 15,\n \"& fieldset\": {\n flex: 1,\n },\n },\n rightSpacer: {\n marginRight: 15,\n },\n responsiveContainer: {\n \"@media (max-width: 900px)\": {\n display: \"flex\",\n flexFlow: \"column\",\n },\n },\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst Encryption = ({ classes }: IEncryptionProps) => {\n const dispatch = useAppDispatch();\n\n const replicas = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.replicas\n );\n const rawConfiguration = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.rawConfiguration\n );\n const encryptionTab = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.encryptionTab\n );\n const enableEncryption = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.enableEncryption\n );\n const encryptionType = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.encryptionType\n );\n\n const gcpProjectID = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpProjectID\n );\n const gcpEndpoint = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpEndpoint\n );\n const gcpClientEmail = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpClientEmail\n );\n const gcpClientID = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpClientID\n );\n const gcpPrivateKeyID = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpPrivateKeyID\n );\n const gcpPrivateKey = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.gcpPrivateKey\n );\n const enableCustomCertsForKES = useSelector(\n (state: AppState) =>\n state.createTenant.fields.encryption.enableCustomCertsForKES\n );\n const enableAutoCert = useSelector(\n (state: AppState) => state.createTenant.fields.security.enableAutoCert\n );\n const enableTLS = useSelector(\n (state: AppState) => state.createTenant.fields.security.enableTLS\n );\n const minioServerCertificates = useSelector(\n (state: AppState) => state.createTenant.certificates.minioServerCertificates\n );\n const kesServerCertificate = useSelector(\n (state: AppState) => state.createTenant.certificates.kesServerCertificate\n );\n const minioMTLSCertificate = useSelector(\n (state: AppState) => state.createTenant.certificates.minioMTLSCertificate\n );\n const kmsMTLSCertificate = useSelector(\n (state: AppState) => state.createTenant.certificates.kmsMTLSCertificate\n );\n const kmsCA = useSelector(\n (state: AppState) => state.createTenant.certificates.kmsCA\n );\n const enableCustomCerts = useSelector(\n (state: AppState) => state.createTenant.fields.security.enableCustomCerts\n );\n const kesSecurityContext = useSelector(\n (state: AppState) => state.createTenant.fields.encryption.kesSecurityContext\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n let encryptionAvailable = false;\n if (\n enableTLS &&\n (enableAutoCert ||\n (minioServerCertificates &&\n minioServerCertificates.filter(\n (item) => item.encoded_key && item.encoded_cert\n ).length > 0))\n ) {\n encryptionAvailable = true;\n }\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"encryption\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n // Validation\n useEffect(() => {\n let encryptionValidation: IValidation[] = [];\n\n if (enableEncryption) {\n encryptionValidation = [\n ...encryptionValidation,\n {\n fieldKey: \"rawConfiguration\",\n required: encryptionTab > 0,\n value: rawConfiguration,\n },\n {\n fieldKey: \"replicas\",\n required: true,\n value: replicas,\n customValidation: parseInt(replicas) < 1,\n customValidationMessage: \"Replicas needs to be 1 or greater\",\n },\n {\n fieldKey: \"kes_securityContext_runAsUser\",\n required: true,\n value: kesSecurityContext.runAsUser,\n customValidation:\n kesSecurityContext.runAsUser === \"\" ||\n parseInt(kesSecurityContext.runAsUser) < 0,\n customValidationMessage: `runAsUser must be present and be 0 or more`,\n },\n {\n fieldKey: \"kes_securityContext_runAsGroup\",\n required: true,\n value: kesSecurityContext.runAsGroup,\n customValidation:\n kesSecurityContext.runAsGroup === \"\" ||\n parseInt(kesSecurityContext.runAsGroup) < 0,\n customValidationMessage: `runAsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"kes_securityContext_fsGroup\",\n required: true,\n value: kesSecurityContext.fsGroup,\n customValidation:\n kesSecurityContext.fsGroup === \"\" ||\n parseInt(kesSecurityContext.fsGroup) < 0,\n customValidationMessage: `fsGroup must be present and be 0 or more`,\n },\n ];\n\n if (enableCustomCerts) {\n encryptionValidation = [\n ...encryptionValidation,\n {\n fieldKey: \"serverKey\",\n required: !enableAutoCert,\n value: kesServerCertificate.encoded_key,\n },\n {\n fieldKey: \"serverCert\",\n required: !enableAutoCert,\n value: kesServerCertificate.encoded_cert,\n },\n {\n fieldKey: \"clientKey\",\n required: !enableAutoCert,\n value: minioMTLSCertificate.encoded_key,\n },\n {\n fieldKey: \"clientCert\",\n required: !enableAutoCert,\n value: minioMTLSCertificate.encoded_cert,\n },\n ];\n }\n }\n\n const commonVal = commonFormValidation(encryptionValidation);\n dispatch(\n isPageValid({\n pageName: \"encryption\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n rawConfiguration,\n encryptionTab,\n enableEncryption,\n encryptionType,\n gcpProjectID,\n gcpEndpoint,\n gcpClientEmail,\n gcpClientID,\n gcpPrivateKeyID,\n gcpPrivateKey,\n dispatch,\n enableAutoCert,\n enableCustomCerts,\n kesServerCertificate.encoded_key,\n kesServerCertificate.encoded_cert,\n minioMTLSCertificate.encoded_key,\n minioMTLSCertificate.encoded_cert,\n kesSecurityContext,\n replicas,\n ]);\n\n return (\n \n \n \n Encryption\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"enableEncryption\", checked);\n }}\n description=\"\"\n disabled={!encryptionAvailable}\n />\n \n \n \n \n \n MinIO Server-Side Encryption (SSE) protects objects as part of write\n operations, allowing clients to take advantage of server processing\n power to secure objects at the storage layer (encryption-at-rest).\n SSE also provides key functionality to regulatory and compliance\n requirements around secure locking and erasure.\n \n \n \n
\n
\n\n {enableEncryption && (\n \n \n , value: number) => {\n updateField(\"encryptionTab\", value);\n }}\n indicatorColor=\"primary\"\n textColor=\"primary\"\n aria-label=\"cluster-tabs\"\n variant=\"scrollable\"\n scrollButtons=\"auto\"\n >\n \n \n \n \n\n {encryptionTab ? (\n \n \n {\n updateField(\"rawConfiguration\", value);\n }}\n editorHeight={\"550px\"}\n />\n \n \n ) : (\n \n \n {\n updateField(\"encryptionType\", e.target.value);\n }}\n selectorOptions={[\n { label: \"Vault\", value: \"vault\" },\n { label: \"AWS\", value: \"aws\" },\n { label: \"Gemalto\", value: \"gemalto\" },\n { label: \"GCP\", value: \"gcp\" },\n { label: \"Azure\", value: \"azure\" },\n ]}\n />\n \n {encryptionType === \"vault\" && }\n {encryptionType === \"azure\" && }\n {encryptionType === \"gcp\" && }\n {encryptionType === \"aws\" && }\n {encryptionType === \"gemalto\" && }\n \n )}\n\n
\n

Additional Configurations

\n
\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"enableCustomCertsForKES\", checked);\n }}\n label={\"Custom Certificates\"}\n disabled={!enableAutoCert}\n />\n \n {(enableCustomCertsForKES || !enableAutoCert) && (\n \n \n \n
\n \n Encryption server certificates\n \n {\n dispatch(\n addFileKESServerCert({\n key: \"key\",\n fileName: fileName,\n value: encodedValue,\n })\n );\n cleanValidation(\"serverKey\");\n }}\n accept=\".key,.pem\"\n id=\"serverKey\"\n name=\"serverKey\"\n label=\"Key\"\n error={validationErrors[\"serverKey\"] || \"\"}\n value={kesServerCertificate.key}\n required={!enableAutoCert}\n />\n {\n dispatch(\n addFileKESServerCert({\n key: \"cert\",\n fileName: fileName,\n value: encodedValue,\n })\n );\n cleanValidation(\"serverCert\");\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"serverCert\"\n name=\"serverCert\"\n label=\"Cert\"\n error={validationErrors[\"serverCert\"] || \"\"}\n value={kesServerCertificate.cert}\n required={!enableAutoCert}\n />\n
\n
\n
\n \n \n
\n \n MinIO mTLS certificates (connection between MinIO and\n the Encryption server)\n \n {\n dispatch(\n addFileMinIOMTLSCert({\n key: \"key\",\n fileName: fileName,\n value: encodedValue,\n })\n );\n cleanValidation(\"clientKey\");\n }}\n accept=\".key,.pem\"\n id=\"clientKey\"\n name=\"clientKey\"\n label=\"Key\"\n error={validationErrors[\"clientKey\"] || \"\"}\n value={minioMTLSCertificate.key}\n required={!enableAutoCert}\n />\n {\n dispatch(\n addFileMinIOMTLSCert({\n key: \"cert\",\n fileName: fileName,\n value: encodedValue,\n })\n );\n cleanValidation(\"clientCert\");\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"clientCert\"\n name=\"clientCert\"\n label=\"Cert\"\n error={validationErrors[\"clientCert\"] || \"\"}\n value={minioMTLSCertificate.cert}\n required={!enableAutoCert}\n />\n
\n
\n
\n \n
\n \n KMS mTLS certificates (connection between the Encryption\n server and the KMS)\n \n {\n dispatch(\n addFileKMSMTLSCert({\n key: \"key\",\n fileName: fileName,\n value: encodedValue,\n })\n );\n cleanValidation(\"vault_key\");\n }}\n accept=\".key,.pem\"\n id=\"vault_key\"\n name=\"vault_key\"\n label=\"Key\"\n value={kmsMTLSCertificate.key}\n />\n {\n dispatch(\n addFileKMSMTLSCert({\n key: \"cert\",\n fileName: fileName,\n value: encodedValue,\n })\n );\n cleanValidation(\"vault_cert\");\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"vault_cert\"\n name=\"vault_cert\"\n label=\"Cert\"\n value={kmsMTLSCertificate.cert}\n />\n {\n dispatch(\n addFileKMSCa({\n fileName: fileName,\n value: encodedValue,\n })\n );\n cleanValidation(\"vault_ca\");\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"vault_ca\"\n name=\"vault_ca\"\n label=\"CA\"\n value={kmsCA.cert}\n />\n
\n
\n
\n )}\n \n \n ) => {\n updateField(\"replicas\", e.target.value);\n cleanValidation(\"replicas\");\n }}\n label=\"Replicas\"\n value={replicas}\n required\n error={validationErrors[\"replicas\"] || \"\"}\n />\n \n\n \n \n SecurityContext for KES pods\n \n \n \n \n ) => {\n updateField(\"kesSecurityContext\", {\n ...kesSecurityContext,\n runAsUser: e.target.value,\n });\n cleanValidation(\"kes_securityContext_runAsUser\");\n }}\n label=\"Run As User\"\n value={kesSecurityContext.runAsUser}\n required\n error={\n validationErrors[\"kes_securityContext_runAsUser\"] ||\n \"\"\n }\n min=\"0\"\n />\n \n \n ) => {\n updateField(\"kesSecurityContext\", {\n ...kesSecurityContext,\n runAsGroup: e.target.value,\n });\n cleanValidation(\"kes_securityContext_runAsGroup\");\n }}\n label=\"Run As Group\"\n value={kesSecurityContext.runAsGroup}\n required\n error={\n validationErrors[\"kes_securityContext_runAsGroup\"] ||\n \"\"\n }\n min=\"0\"\n />\n \n \n \n
\n \n \n \n ) => {\n updateField(\"kesSecurityContext\", {\n ...kesSecurityContext,\n fsGroup: e.target.value,\n });\n cleanValidation(\"kes_securityContext_fsGroup\");\n }}\n label=\"FsGroup\"\n value={kesSecurityContext.fsGroup}\n required\n error={\n validationErrors[\"kes_securityContext_fsGroup\"] || \"\"\n }\n min=\"0\"\n />\n \n \n ) => {\n updateField(\"kesSecurityContext\", {\n ...kesSecurityContext,\n fsGroupChangePolicy: e.target.value,\n });\n }}\n options={[\n {\n label: \"Always\",\n value: \"Always\",\n },\n {\n label: \"OnRootMismatch\",\n value: \"OnRootMismatch\",\n },\n ]}\n />\n \n \n \n
\n \n
\n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"kesSecurityContext\", {\n ...kesSecurityContext,\n runAsNonRoot: checked,\n });\n }}\n label={\"Do not run as Root\"}\n />\n
\n
\n \n
\n
\n )}\n
\n
\n );\n};\n\nexport default withStyles(styles)(Encryption);\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 { useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, IconButton, Paper, SelectChangeEvent } from \"@mui/material\";\nimport { AppState, useAppDispatch } from \"../../../../../store\";\n\nimport {\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../utils/validationFunctions\";\nimport { ErrorResponseHandler } from \"../../../../../common/types\";\nimport { LabelKeyPair } from \"../../types\";\nimport RadioGroupSelector from \"../../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport api from \"../../../../../common/api\";\nimport InputBoxWrapper from \"../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport AddIcon from \"../../../../../icons/AddIcon\";\nimport RemoveIcon from \"../../../../../icons/RemoveIcon\";\nimport SelectWrapper from \"../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport TolerationSelector from \"../../../Common/TolerationSelector/TolerationSelector\";\nimport { setModalErrorSnackMessage } from \"../../../../../systemSlice\";\nimport {\n addNewToleration,\n isPageValid,\n removeToleration,\n setKeyValuePairs,\n setTolerationInfo,\n updateAddField,\n} from \"../createTenantSlice\";\n\ninterface IAffinityProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n overlayAction: {\n marginLeft: 10,\n display: \"flex\",\n alignItems: \"center\",\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n affinityConfigField: {\n display: \"flex\",\n },\n affinityFieldLabel: {\n display: \"flex\",\n flexFlow: \"column\",\n flex: 1,\n },\n radioField: {\n display: \"flex\",\n alignItems: \"flex-start\",\n marginTop: 10,\n \"& div:first-child\": {\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"baseline\",\n textAlign: \"left !important\",\n },\n },\n affinityLabelKey: {\n \"& div:first-child\": {\n marginBottom: 0,\n },\n },\n affinityLabelValue: {\n marginLeft: 10,\n \"& div:first-child\": {\n marginBottom: 0,\n },\n },\n rowActions: {\n display: \"flex\",\n alignItems: \"center\",\n },\n affinityRow: {\n marginBottom: 10,\n display: \"flex\",\n },\n ...modalBasic,\n ...wizardCommon,\n });\n\ninterface OptionPair {\n label: string;\n value: string;\n}\n\nconst Affinity = ({ classes }: IAffinityProps) => {\n const dispatch = useAppDispatch();\n\n const podAffinity = useSelector(\n (state: AppState) => state.createTenant.fields.affinity.podAffinity\n );\n const nodeSelectorLabels = useSelector(\n (state: AppState) => state.createTenant.fields.affinity.nodeSelectorLabels\n );\n const withPodAntiAffinity = useSelector(\n (state: AppState) => state.createTenant.fields.affinity.withPodAntiAffinity\n );\n const keyValuePairs = useSelector(\n (state: AppState) => state.createTenant.nodeSelectorPairs\n );\n const tolerations = useSelector(\n (state: AppState) => state.createTenant.tolerations\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n const [loading, setLoading] = useState(true);\n const [keyValueMap, setKeyValueMap] = useState<{ [key: string]: string[] }>(\n {}\n );\n const [keyOptions, setKeyOptions] = useState([]);\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({\n pageName: \"affinity\",\n field: field,\n value: value,\n })\n );\n },\n [dispatch]\n );\n\n useEffect(() => {\n if (loading) {\n api\n .invoke(\"GET\", `/api/v1/nodes/labels`)\n .then((res: { [key: string]: string[] }) => {\n setLoading(false);\n setKeyValueMap(res);\n let keys: OptionPair[] = [];\n for (let k in res) {\n keys.push({\n label: k,\n value: k,\n });\n }\n setKeyOptions(keys);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n setKeyValueMap({});\n });\n }\n }, [dispatch, loading]);\n\n useEffect(() => {\n if (keyValuePairs) {\n const vlr = keyValuePairs\n .filter((kvp) => kvp.key !== \"\")\n .map((kvp) => `${kvp.key}=${kvp.value}`)\n .filter((kvs, i, a) => a.indexOf(kvs) === i);\n const vl = vlr.join(\"&\");\n updateField(\"nodeSelectorLabels\", vl);\n }\n }, [keyValuePairs, updateField]);\n\n // Validation\n useEffect(() => {\n let customAccountValidation: IValidation[] = [];\n\n if (podAffinity === \"nodeSelector\") {\n let valid = true;\n\n const splittedLabels = nodeSelectorLabels.split(\"&\");\n\n if (splittedLabels.length === 1 && splittedLabels[0] === \"\") {\n valid = false;\n }\n\n splittedLabels.forEach((item: string, index: number) => {\n const splitItem = item.split(\"=\");\n\n if (splitItem.length !== 2) {\n valid = false;\n }\n\n if (index + 1 !== splittedLabels.length) {\n if (splitItem[0] === \"\" || splitItem[1] === \"\") {\n valid = false;\n }\n }\n });\n\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"labels\",\n required: true,\n value: nodeSelectorLabels,\n customValidation: !valid,\n customValidationMessage:\n \"You need to add at least one label key-pair\",\n },\n ];\n }\n\n const commonVal = commonFormValidation(customAccountValidation);\n\n dispatch(\n isPageValid({\n pageName: \"affinity\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [dispatch, podAffinity, nodeSelectorLabels]);\n\n const updateToleration = (index: number, field: string, value: any) => {\n const alterToleration = { ...tolerations[index], [field]: value };\n\n dispatch(\n setTolerationInfo({\n index: index,\n tolerationValue: alterToleration,\n })\n );\n };\n\n return (\n \n
\n

Pod Placement

\n \n Configure how pods will be assigned to nodes\n \n
\n \n \n
Type
\n \n MinIO supports multiple configurations for Pod Affinity\n \n \n {\n updateField(\"podAffinity\", e.target.value);\n }}\n selectorOptions={[\n { label: \"None\", value: \"none\" },\n { label: \"Default (Pod Anti-Affinity)\", value: \"default\" },\n { label: \"Node Selector\", value: \"nodeSelector\" },\n ]}\n />\n \n
\n
\n {podAffinity === \"nodeSelector\" && (\n \n
\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"withPodAntiAffinity\", checked);\n }}\n label={\"With Pod Anti-Affinity\"}\n />\n \n \n

Labels

\n {validationErrors[\"labels\"]}\n \n {keyValuePairs &&\n keyValuePairs.map((kvp, i) => {\n return (\n \n \n {keyOptions.length > 0 && (\n ) => {\n const newKey = e.target.value as string;\n const newLKP: LabelKeyPair = {\n key: newKey,\n value: keyValueMap[newKey][0],\n };\n const arrCp: LabelKeyPair[] = [...keyValuePairs];\n arrCp[i] = newLKP;\n dispatch(setKeyValuePairs(arrCp));\n }}\n id=\"select-access-policy\"\n name=\"select-access-policy\"\n label={\"\"}\n value={kvp.key}\n options={keyOptions}\n />\n )}\n {keyOptions.length === 0 && (\n {\n const arrCp: LabelKeyPair[] = [...keyValuePairs];\n arrCp[i] = {\n key: arrCp[i].key,\n value: e.target.value as string,\n };\n dispatch(setKeyValuePairs(arrCp));\n }}\n index={i}\n placeholder={\"Key\"}\n />\n )}\n \n \n {keyOptions.length > 0 && (\n ) => {\n const arrCp: LabelKeyPair[] = [...keyValuePairs];\n arrCp[i] = {\n key: arrCp[i].key,\n value: e.target.value as string,\n };\n dispatch(setKeyValuePairs(arrCp));\n }}\n id=\"select-access-policy\"\n name=\"select-access-policy\"\n label={\"\"}\n value={kvp.value}\n options={\n keyValueMap[kvp.key]\n ? keyValueMap[kvp.key].map((v) => {\n return { label: v, value: v };\n })\n : []\n }\n />\n )}\n {keyOptions.length === 0 && (\n {\n const arrCp: LabelKeyPair[] = [...keyValuePairs];\n arrCp[i] = {\n key: arrCp[i].key,\n value: e.target.value as string,\n };\n dispatch(setKeyValuePairs(arrCp));\n }}\n index={i}\n placeholder={\"value\"}\n />\n )}\n \n \n
\n {\n const arrCp = [...keyValuePairs];\n if (keyOptions.length > 0) {\n arrCp.push({\n key: keyOptions[0].value,\n value: keyValueMap[keyOptions[0].value][0],\n });\n } else {\n arrCp.push({ key: \"\", value: \"\" });\n }\n\n dispatch(setKeyValuePairs(arrCp));\n }}\n disabled={i !== keyValuePairs.length - 1}\n >\n \n \n
\n
\n {\n const arrCp = keyValuePairs.filter(\n (item, index) => index !== i\n );\n dispatch(setKeyValuePairs(arrCp));\n }}\n disabled={keyValuePairs.length <= 1}\n >\n \n \n
\n
\n
\n );\n })}\n
\n \n
\n )}\n \n \n

Tolerations

\n \n {validationErrors[\"tolerations\"]}\n \n \n {tolerations &&\n tolerations.map((tol, i) => {\n return (\n \n {\n updateToleration(i, \"effect\", value);\n }}\n tolerationKey={tol.key}\n onTolerationKeyChange={(value) => {\n updateToleration(i, \"key\", value);\n }}\n operator={tol.operator}\n onOperatorChange={(value) => {\n updateToleration(i, \"operator\", value);\n }}\n value={tol.value}\n onValueChange={(value) => {\n updateToleration(i, \"value\", value);\n }}\n tolerationSeconds={tol.tolerationSeconds?.seconds || 0}\n onSecondsChange={(value) => {\n updateToleration(i, \"tolerationSeconds\", {\n seconds: value,\n });\n }}\n index={i}\n />\n
\n {\n dispatch(addNewToleration());\n }}\n disabled={i !== tolerations.length - 1}\n >\n \n \n
\n\n
\n dispatch(removeToleration(i))}\n disabled={tolerations.length <= 1}\n >\n \n \n
\n
\n );\n })}\n
\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(Affinity);\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 { useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, Paper } from \"@mui/material\";\nimport {\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../../store\";\nimport { clearValidationError } from \"../../utils\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../utils/validationFunctions\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport InputBoxWrapper from \"../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { isPageValid, updateAddField } from \"../createTenantSlice\";\n\ninterface IImagesProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst Images = ({ classes }: IImagesProps) => {\n const dispatch = useAppDispatch();\n\n const customImage = useSelector(\n (state: AppState) => state.createTenant.fields.configure.customImage\n );\n const imageName = useSelector(\n (state: AppState) => state.createTenant.fields.configure.imageName\n );\n const customDockerhub = useSelector(\n (state: AppState) => state.createTenant.fields.configure.customDockerhub\n );\n const imageRegistry = useSelector(\n (state: AppState) => state.createTenant.fields.configure.imageRegistry\n );\n const imageRegistryUsername = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.imageRegistryUsername\n );\n const imageRegistryPassword = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.imageRegistryPassword\n );\n\n const prometheusCustom = useSelector(\n (state: AppState) => state.createTenant.fields.configure.prometheusEnabled\n );\n const tenantCustom = useSelector(\n (state: AppState) => state.createTenant.fields.configure.tenantCustom\n );\n const logSearchCustom = useSelector(\n (state: AppState) => state.createTenant.fields.configure.logSearchEnabled\n );\n const logSearchVolumeSize = useSelector(\n (state: AppState) => state.createTenant.fields.configure.logSearchVolumeSize\n );\n\n const prometheusVolumeSize = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.prometheusVolumeSize\n );\n\n const logSearchSelectedStorageClass = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.logSearchSelectedStorageClass\n );\n const logSearchImage = useSelector(\n (state: AppState) => state.createTenant.fields.configure.logSearchImage\n );\n const kesImage = useSelector(\n (state: AppState) => state.createTenant.fields.configure.kesImage\n );\n const logSearchPostgresImage = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.logSearchPostgresImage\n );\n const logSearchPostgresInitImage = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.logSearchPostgresInitImage\n );\n const prometheusSelectedStorageClass = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.prometheusSelectedStorageClass\n );\n const prometheusImage = useSelector(\n (state: AppState) => state.createTenant.fields.configure.prometheusImage\n );\n const prometheusSidecarImage = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.prometheusSidecarImage\n );\n const prometheusInitImage = useSelector(\n (state: AppState) => state.createTenant.fields.configure.prometheusInitImage\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"configure\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n // Validation\n useEffect(() => {\n let customAccountValidation: IValidation[] = [];\n\n if (prometheusCustom) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"prometheus_storage_class\",\n required: true,\n value: prometheusSelectedStorageClass,\n customValidation: prometheusSelectedStorageClass === \"\",\n customValidationMessage: \"Field cannot be empty\",\n },\n {\n fieldKey: \"prometheus_volume_size\",\n required: true,\n value: prometheusVolumeSize,\n customValidation:\n prometheusVolumeSize === \"\" || parseInt(prometheusVolumeSize) <= 0,\n customValidationMessage: `Volume size must be present and be greatter than 0`,\n },\n ];\n }\n if (logSearchCustom) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"log_search_storage_class\",\n required: true,\n value: logSearchSelectedStorageClass,\n customValidation: logSearchSelectedStorageClass === \"\",\n customValidationMessage: \"Field cannot be empty\",\n },\n {\n fieldKey: \"log_search_volume_size\",\n required: true,\n value: logSearchVolumeSize,\n customValidation:\n logSearchVolumeSize === \"\" || parseInt(logSearchVolumeSize) <= 0,\n customValidationMessage: `Volume size must be present and be greatter than 0`,\n },\n ];\n }\n\n if (customImage) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"image\",\n required: false,\n value: imageName,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage: \"Format must be of form: 'minio/minio:VERSION'\",\n },\n {\n fieldKey: \"logSearchImage\",\n required: false,\n value: logSearchImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'minio/operator:VERSION'\",\n },\n {\n fieldKey: \"kesImage\",\n required: false,\n value: kesImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage: \"Format must be of form: 'minio/kes:VERSION'\",\n },\n {\n fieldKey: \"logSearchPostgresImage\",\n required: false,\n value: logSearchPostgresImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'library/postgres:VERSION'\",\n },\n {\n fieldKey: \"logSearchPostgresInitImage\",\n required: false,\n value: logSearchPostgresInitImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'library/busybox:VERSION'\",\n },\n {\n fieldKey: \"prometheusImage\",\n required: false,\n value: prometheusImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'minio/prometheus:VERSION'\",\n },\n {\n fieldKey: \"prometheusSidecarImage\",\n required: false,\n value: prometheusSidecarImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'project/container:VERSION'\",\n },\n {\n fieldKey: \"prometheusInitImage\",\n required: false,\n value: prometheusInitImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'library/busybox:VERSION'\",\n },\n ];\n if (customDockerhub) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"registry\",\n required: true,\n value: imageRegistry,\n },\n {\n fieldKey: \"registryUsername\",\n required: true,\n value: imageRegistryUsername,\n },\n {\n fieldKey: \"registryPassword\",\n required: true,\n value: imageRegistryPassword,\n },\n ];\n }\n }\n\n const commonVal = commonFormValidation(customAccountValidation);\n\n dispatch(\n isPageValid({\n pageName: \"configure\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n customImage,\n imageName,\n logSearchImage,\n kesImage,\n logSearchPostgresImage,\n logSearchPostgresInitImage,\n prometheusImage,\n prometheusSidecarImage,\n prometheusInitImage,\n customDockerhub,\n imageRegistry,\n imageRegistryUsername,\n imageRegistryPassword,\n dispatch,\n prometheusCustom,\n tenantCustom,\n logSearchCustom,\n prometheusSelectedStorageClass,\n prometheusVolumeSize,\n logSearchSelectedStorageClass,\n logSearchVolumeSize,\n ]);\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n return (\n \n
\n

Container Images

\n \n Specify the container images used by the Tenant and it's features.\n \n
\n\n \n \n ) => {\n updateField(\"imageName\", e.target.value);\n cleanValidation(\"image\");\n }}\n label=\"MinIO\"\n value={imageName}\n error={validationErrors[\"image\"] || \"\"}\n placeholder=\"minio/minio:RELEASE.2022-02-26T02-54-46Z\"\n />\n \n\n \n ) => {\n updateField(\"kesImage\", e.target.value);\n cleanValidation(\"kesImage\");\n }}\n label=\"KES\"\n value={kesImage}\n error={validationErrors[\"kesImage\"] || \"\"}\n placeholder=\"minio/kes:v0.17.6\"\n />\n \n \n

Log Search

\n
\n \n ) => {\n updateField(\"logSearchImage\", e.target.value);\n cleanValidation(\"logSearchImage\");\n }}\n label=\"API\"\n value={logSearchImage}\n error={validationErrors[\"logSearchImage\"] || \"\"}\n placeholder=\"minio/operator:v4.4.22\"\n />\n \n \n ) => {\n updateField(\"logSearchPostgresImage\", e.target.value);\n cleanValidation(\"logSearchPostgresImage\");\n }}\n label=\"PostgreSQL\"\n value={logSearchPostgresImage}\n error={validationErrors[\"logSearchPostgresImage\"] || \"\"}\n placeholder=\"library/postgres:13\"\n />\n \n \n ) => {\n updateField(\"logSearchPostgresInitImage\", e.target.value);\n cleanValidation(\"logSearchPostgresInitImage\");\n }}\n label=\"PostgreSQL Init\"\n value={logSearchPostgresInitImage}\n error={validationErrors[\"logSearchPostgresInitImage\"] || \"\"}\n placeholder=\"library/busybox:1.33.1\"\n />\n \n \n

Monitoring

\n
\n \n ) => {\n updateField(\"prometheusImage\", e.target.value);\n cleanValidation(\"prometheusImage\");\n }}\n label=\"Prometheus\"\n value={prometheusImage}\n error={validationErrors[\"prometheusImage\"] || \"\"}\n placeholder=\"quay.io/prometheus/prometheus:latest\"\n />\n \n \n ) => {\n updateField(\"prometheusSidecarImage\", e.target.value);\n cleanValidation(\"prometheusSidecarImage\");\n }}\n label=\"Prometheus Sidecar\"\n value={prometheusSidecarImage}\n error={validationErrors[\"prometheusSidecarImage\"] || \"\"}\n placeholder=\"library/alpine:latest\"\n />\n \n \n ) => {\n updateField(\"prometheusInitImage\", e.target.value);\n cleanValidation(\"prometheusInitImage\");\n }}\n label=\"Prometheus Init\"\n value={prometheusInitImage}\n error={validationErrors[\"prometheusInitImage\"] || \"\"}\n placeholder=\"library/busybox:1.33.1\"\n />\n \n
\n\n {customImage && (\n \n \n

Custom Container Registry

\n
\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"customDockerhub\", checked);\n }}\n label={\"Use a private container registry\"}\n />\n \n
\n )}\n {customDockerhub && (\n \n \n ) => {\n updateField(\"imageRegistry\", e.target.value);\n }}\n label=\"Endpoint\"\n value={imageRegistry}\n error={validationErrors[\"registry\"] || \"\"}\n placeholder=\"https://index.docker.io/v1/\"\n required\n />\n \n \n ) => {\n updateField(\"imageRegistryUsername\", e.target.value);\n }}\n label=\"Username\"\n value={imageRegistryUsername}\n error={validationErrors[\"registryUsername\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"imageRegistryPassword\", e.target.value);\n }}\n label=\"Password\"\n value={imageRegistryPassword}\n error={validationErrors[\"registryPassword\"] || \"\"}\n required\n />\n \n \n )}\n
\n );\n};\n\nexport default withStyles(styles)(Images);\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 { useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport Table from \"@mui/material/Table\";\nimport TableBody from \"@mui/material/TableBody\";\nimport TableCell from \"@mui/material/TableCell\";\nimport TableRow from \"@mui/material/TableRow\";\nimport { niceBytes } from \"../../../../../common/utils\";\n\nimport { Divider } from \"@mui/material\";\n\ninterface ISizePreviewProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n margin: 4,\n },\n table: {\n \"& .MuiTableCell-root\": {\n fontSize: 13,\n },\n },\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst SizePreview = ({ classes }: ISizePreviewProps) => {\n const nodes = useSelector(\n (state: AppState) => state.createTenant.fields.tenantSize.nodes\n );\n const memoryNode = useSelector(\n (state: AppState) =>\n state.createTenant.fields.tenantSize.resourcesMemoryRequest\n );\n const ecParity = useSelector(\n (state: AppState) => state.createTenant.fields.tenantSize.ecParity\n );\n\n const distribution = useSelector(\n (state: AppState) => state.createTenant.fields.tenantSize.distribution\n );\n const ecParityCalc = useSelector(\n (state: AppState) => state.createTenant.fields.tenantSize.ecParityCalc\n );\n\n const cpuToUse = useSelector(\n (state: AppState) =>\n state.createTenant.fields.tenantSize.resourcesCPURequest\n );\n const integrationSelection = useSelector(\n (state: AppState) =>\n state.createTenant.fields.tenantSize.integrationSelection\n );\n\n const usableInformation = ecParityCalc.storageFactors.find(\n (element) => element.erasureCode === ecParity\n );\n\n return (\n
\n

Resource Allocation

\n \n \n \n \n Number of Servers\n \n {parseInt(nodes) > 0 ? nodes : \"-\"}\n \n \n {integrationSelection.typeSelection === \"\" &&\n integrationSelection.storageClass === \"\" && (\n \n \n Drives per Server\n \n {distribution ? distribution.disks : \"-\"}\n \n \n \n Drive Capacity\n \n {distribution ? niceBytes(distribution.pvSize) : \"-\"}\n \n \n \n )}\n\n \n Total Volumes\n \n {distribution ? distribution.persistentVolumes : \"-\"}\n \n \n {integrationSelection.typeSelection === \"\" &&\n integrationSelection.storageClass === \"\" && (\n \n \n Memory per Node\n {memoryNode} Gi\n \n \n \n CPU Selection\n \n \n {cpuToUse}\n \n \n \n )}\n \n
\n {ecParityCalc.error === 0 && usableInformation && (\n \n

Erasure Code Configuration

\n \n \n \n \n EC Parity\n \n {ecParity !== \"\" ? ecParity : \"-\"}\n \n \n \n Raw Capacity\n \n {niceBytes(ecParityCalc.rawCapacity)}\n \n \n \n Usable Capacity\n \n {niceBytes(usableInformation.maxCapacity)}\n \n \n \n \n Server Failures Tolerated\n \n \n {distribution\n ? Math.floor(\n usableInformation.maxFailureTolerations /\n distribution.disks\n )\n : \"-\"}\n \n \n \n \n
\n )}\n {integrationSelection.typeSelection !== \"\" &&\n integrationSelection.storageClass !== \"\" && (\n \n

Single Instance Configuration

\n \n \n \n \n CPU\n \n {integrationSelection.CPU !== 0\n ? integrationSelection.CPU\n : \"-\"}\n \n \n \n Memory\n \n {integrationSelection.memory !== 0\n ? `${integrationSelection.memory} Gi`\n : \"-\"}\n \n \n \n Drives per Server\n \n {integrationSelection.drivesPerServer !== 0\n ? `${integrationSelection.drivesPerServer}`\n : \"-\"}\n \n \n \n \n Drive Size\n \n \n {integrationSelection.driveSize.driveSize}\n {integrationSelection.driveSize.sizeUnit}\n \n \n \n \n
\n )}\n
\n );\n};\n\nexport default withStyles(styles)(SizePreview);\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 { useSelector } from \"react-redux\";\nimport { DialogContentText, LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n deleteDialogStyles,\n modalBasic,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmModalIcon } from \"../../../../../../icons\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { closeAddNSModal } from \"../../createTenantSlice\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { createNamespaceAsync } from \"../../thunks/namespaceThunks\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n wrapText: {\n maxWidth: \"200px\",\n whiteSpace: \"normal\",\n wordWrap: \"break-word\",\n },\n ...modalBasic,\n ...deleteDialogStyles,\n })\n);\n\nconst AddNamespaceModal = () => {\n const dispatch = useAppDispatch();\n const classes = useStyles();\n\n const namespace = useSelector(\n (state: AppState) => state.createTenant.fields.nameTenant.namespace\n );\n const addNamespaceLoading = useSelector(\n (state: AppState) => state.createTenant.addNSLoading\n );\n const addNamespaceOpen = useSelector(\n (state: AppState) => state.createTenant.addNSOpen\n );\n\n return (\n }\n isLoading={addNamespaceLoading}\n onConfirm={() => {\n dispatch(createNamespaceAsync());\n }}\n onClose={() => {\n dispatch(closeAddNSModal());\n }}\n confirmationContent={\n \n {addNamespaceLoading && }\n \n Are you sure you want to add a namespace called\n
\n {namespace}?\n
\n
\n }\n />\n );\n};\n\nexport default AddNamespaceModal;\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, useMemo } from \"react\";\nimport AddIcon from \"../../../../../../icons/AddIcon\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { openAddNSModal, setNamespace } from \"../../createTenantSlice\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport AddNamespaceModal from \"../helpers/AddNamespaceModal\";\nimport debounce from \"lodash/debounce\";\nimport { IMkEnvs } from \"./utils\";\nimport { validateNamespaceAsync } from \"../../thunks/namespaceThunks\";\n\nconst NamespaceSelector = ({ formToRender }: { formToRender?: IMkEnvs }) => {\n const dispatch = useAppDispatch();\n\n const namespace = useSelector(\n (state: AppState) => state.createTenant.fields.nameTenant.namespace\n );\n\n const showNSCreateButton = useSelector(\n (state: AppState) => state.createTenant.showNSCreateButton\n );\n\n const namespaceError = useSelector(\n (state: AppState) => state.createTenant.validationErrors[\"namespace\"]\n );\n const openAddNSConfirm = useSelector(\n (state: AppState) => state.createTenant.addNSOpen\n );\n\n const debounceNamespace = useMemo(\n () =>\n debounce(() => {\n dispatch(validateNamespaceAsync());\n }, 500),\n [dispatch]\n );\n\n useEffect(() => {\n if (namespace !== \"\") {\n debounceNamespace();\n // Cancel previous debounce calls during useEffect cleanup.\n return debounceNamespace.cancel;\n }\n }, [debounceNamespace, namespace]);\n\n const addNamespace = () => {\n dispatch(openAddNSModal());\n };\n\n return (\n \n {openAddNSConfirm && }\n ) => {\n dispatch(setNamespace(e.target.value));\n }}\n label=\"Namespace\"\n value={namespace}\n error={namespaceError || \"\"}\n overlayId={\"add-namespace\"}\n overlayIcon={showNSCreateButton ? : null}\n overlayAction={addNamespace}\n required\n />\n \n );\n};\nexport default NamespaceSelector;\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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport SelectWrapper from \"../../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport SizePreview from \"../SizePreview\";\nimport TenantSize from \"./TenantSize\";\nimport { Paper, SelectChangeEvent } from \"@mui/material\";\nimport { IMkEnvs, mkPanelConfigurations } from \"./utils\";\nimport {\n isPageValid,\n setStorageType,\n setTenantName,\n updateAddField,\n} from \"../../createTenantSlice\";\nimport { selFeatures } from \"../../../../consoleSlice\";\nimport NamespaceSelector from \"./NamespaceSelector\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n sizePreview: {\n marginLeft: 10,\n background: \"#FFFFFF\",\n border: \"1px solid #EAEAEA\",\n padding: 2,\n marginTop: 20,\n },\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst NameTenantField = () => {\n const dispatch = useAppDispatch();\n const tenantName = useSelector(\n (state: AppState) => state.createTenant.fields.nameTenant.tenantName\n );\n\n const tenantNameError = useSelector(\n (state: AppState) => state.createTenant.validationErrors[\"tenant-name\"]\n );\n\n return (\n ) => {\n dispatch(setTenantName(e.target.value));\n }}\n label=\"Name\"\n value={tenantName}\n required\n error={tenantNameError || \"\"}\n />\n );\n};\n\ninterface INameTenantMainScreen {\n classes: any;\n formToRender?: IMkEnvs;\n}\n\nconst NameTenantMain = ({ classes, formToRender }: INameTenantMainScreen) => {\n const dispatch = useAppDispatch();\n\n const selectedStorageClass = useSelector(\n (state: AppState) =>\n state.createTenant.fields.nameTenant.selectedStorageClass\n );\n const selectedStorageType = useSelector(\n (state: AppState) =>\n state.createTenant.fields.nameTenant.selectedStorageType\n );\n const storageClasses = useSelector(\n (state: AppState) => state.createTenant.storageClasses\n );\n const features = useSelector(selFeatures);\n\n // Common\n const updateField = useCallback(\n (field: string, value: string) => {\n dispatch(\n updateAddField({ pageName: \"nameTenant\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n // Validation\n useEffect(() => {\n const isValid =\n (formToRender === IMkEnvs.default && storageClasses.length > 0) ||\n (formToRender !== IMkEnvs.default && selectedStorageType !== \"\");\n\n dispatch(isPageValid({ pageName: \"nameTenant\", valid: isValid }));\n }, [storageClasses, dispatch, selectedStorageType, formToRender]);\n\n return (\n \n \n \n \n \n \n
\n

Name

\n \n How would you like to name this new tenant?\n \n
\n
\n \n
\n
\n \n \n \n {formToRender === IMkEnvs.default ? (\n \n ) => {\n updateField(\n \"selectedStorageClass\",\n e.target.value as string\n );\n }}\n label=\"Storage Class\"\n value={selectedStorageClass}\n options={storageClasses}\n disabled={storageClasses.length < 1}\n />\n \n ) : (\n \n ) => {\n dispatch(\n setStorageType({\n storageType: e.target.value as string,\n features: features,\n })\n );\n }}\n label={get(\n mkPanelConfigurations,\n `${formToRender}.variantSelectorLabel`,\n \"Storage Type\"\n )}\n value={selectedStorageType}\n options={get(\n mkPanelConfigurations,\n `${formToRender}.variantSelectorValues`,\n []\n )}\n />\n \n )}\n {formToRender === IMkEnvs.default ? (\n \n ) : (\n get(\n mkPanelConfigurations,\n `${formToRender}.sizingComponent`,\n null\n )\n )}\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n );\n};\n\nexport default withStyles(styles)(NameTenantMain);\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 { useSelector } from \"react-redux\";\nimport get from \"lodash/get\";\nimport NameTenantMain from \"./NameTenantMain\";\nimport { IMkEnvs, resourcesConfigurations } from \"./utils\";\nimport { selFeatures } from \"../../../../consoleSlice\";\n\nconst TenantResources = () => {\n const features = useSelector(selFeatures);\n const [formRender, setFormRender] = useState(null);\n\n useEffect(() => {\n let setConfiguration = IMkEnvs.default;\n\n if (features && features.length !== 0) {\n const possibleVariables = Object.keys(resourcesConfigurations);\n\n possibleVariables.forEach((element) => {\n if (features.includes(element)) {\n setConfiguration = get(\n resourcesConfigurations,\n element,\n IMkEnvs.default\n );\n }\n });\n }\n\n setFormRender(setConfiguration);\n }, [features]);\n\n if (formRender === null) {\n return null;\n }\n\n return ;\n};\n\nexport default TenantResources;\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 { useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, Paper, SelectChangeEvent } from \"@mui/material\";\nimport {\n createTenantCommon,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../../store\";\nimport { clearValidationError } from \"../../utils\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../utils/validationFunctions\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport InputBoxWrapper from \"../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport SelectWrapper from \"../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport InputUnitMenu from \"../../../Common/FormComponents/InputUnitMenu/InputUnitMenu\";\nimport SectionH1 from \"../../../Common/SectionH1\";\nimport { isPageValid, updateAddField } from \"../createTenantSlice\";\n\ninterface IConfigureProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n configSectionItem: {\n marginRight: 15,\n\n \"& .multiContainer\": {\n border: \"1px solid red\",\n },\n },\n fieldGroup: {\n ...createTenantCommon.fieldGroup,\n paddingTop: 15,\n marginBottom: 25,\n },\n responsiveSectionItem: {\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n\n \"& div > div\": {\n marginBottom: 5,\n marginRight: 0,\n },\n },\n },\n\n logSearchEnabledFields: {\n marginLeft: 20, // 2nd Level(15+15)\n padding: 10,\n width: \"90%\",\n margin: \"auto\",\n },\n fieldSpaceTop: {\n marginTop: 15,\n },\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst ConfigLogSearch = ({ classes }: IConfigureProps) => {\n const dispatch = useAppDispatch();\n\n const storageClasses = useSelector(\n (state: AppState) => state.createTenant.storageClasses\n );\n const logSearchEnabled = useSelector(\n (state: AppState) => state.createTenant.fields.configure.logSearchEnabled\n );\n const logSearchVolumeSize = useSelector(\n (state: AppState) => state.createTenant.fields.configure.logSearchVolumeSize\n );\n const logSearchSelectedStorageClass = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.logSearchSelectedStorageClass\n );\n const logSearchImage = useSelector(\n (state: AppState) => state.createTenant.fields.configure.logSearchImage\n );\n const logSearchPostgresImage = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.logSearchPostgresImage\n );\n const logSearchPostgresInitImage = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.logSearchPostgresInitImage\n );\n const selectedStorageClass = useSelector(\n (state: AppState) =>\n state.createTenant.fields.nameTenant.selectedStorageClass\n );\n const tenantSecurityContext = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.tenantSecurityContext\n );\n const logSearchSecurityContext = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.logSearchSecurityContext\n );\n const logSearchPostgresSecurityContext = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.logSearchPostgresSecurityContext\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n const configureSTClasses = [\n { label: \"Default\", value: \"default\" },\n ...storageClasses,\n ];\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"configure\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n // Validation\n useEffect(() => {\n let customAccountValidation: IValidation[] = [];\n\n if (logSearchEnabled) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"log_search_storage_class\",\n required: true,\n value: logSearchSelectedStorageClass,\n customValidation: logSearchSelectedStorageClass === \"\",\n customValidationMessage: \"Field cannot be empty\",\n },\n {\n fieldKey: \"log_search_volume_size\",\n required: true,\n value: logSearchVolumeSize,\n customValidation:\n logSearchVolumeSize === \"\" || parseInt(logSearchVolumeSize) <= 0,\n customValidationMessage: `Volume size must be present and be greatter than 0`,\n },\n {\n fieldKey: \"logSearch_securityContext_runAsUser\",\n required: true,\n value: logSearchSecurityContext.runAsUser,\n customValidation:\n logSearchSecurityContext.runAsUser === \"\" ||\n parseInt(logSearchSecurityContext.runAsUser) < 0,\n customValidationMessage: `runAsUser must be present and be 0 or more`,\n },\n {\n fieldKey: \"logSearch_securityContext_runAsGroup\",\n required: true,\n value: logSearchSecurityContext.runAsGroup,\n customValidation:\n logSearchSecurityContext.runAsGroup === \"\" ||\n parseInt(logSearchSecurityContext.runAsGroup) < 0,\n customValidationMessage: `runAsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"logSearch_securityContext_fsGroup\",\n required: true,\n value: logSearchSecurityContext.fsGroup,\n customValidation:\n logSearchSecurityContext.fsGroup === \"\" ||\n parseInt(logSearchSecurityContext.fsGroup) < 0,\n customValidationMessage: `fsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"postgres_securityContext_runAsUser\",\n required: true,\n value: logSearchPostgresSecurityContext.runAsUser,\n customValidation:\n logSearchPostgresSecurityContext.runAsUser === \"\" ||\n parseInt(logSearchPostgresSecurityContext.runAsUser) < 0,\n customValidationMessage: `runAsUser must be present and be 0 or more`,\n },\n {\n fieldKey: \"postgres_securityContext_runAsGroup\",\n required: true,\n value: logSearchSecurityContext.runAsGroup,\n customValidation:\n logSearchPostgresSecurityContext.runAsGroup === \"\" ||\n parseInt(logSearchPostgresSecurityContext.runAsGroup) < 0,\n customValidationMessage: `runAsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"postgres_securityContext_fsGroup\",\n required: true,\n value: logSearchPostgresSecurityContext.fsGroup,\n customValidation:\n logSearchPostgresSecurityContext.fsGroup === \"\" ||\n parseInt(logSearchPostgresSecurityContext.fsGroup) < 0,\n customValidationMessage: `fsGroup must be present and be 0 or more`,\n },\n ];\n }\n\n const commonVal = commonFormValidation(customAccountValidation);\n\n dispatch(\n isPageValid({\n pageName: \"configure\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n logSearchImage,\n logSearchPostgresImage,\n logSearchPostgresInitImage,\n dispatch,\n logSearchEnabled,\n logSearchSelectedStorageClass,\n logSearchVolumeSize,\n tenantSecurityContext,\n logSearchSecurityContext,\n logSearchPostgresSecurityContext,\n ]);\n\n useEffect(() => {\n // New default values in current selection is invalid\n if (storageClasses.length > 0) {\n const filterLogSearch = storageClasses.filter(\n (item: any) => item.value === logSearchSelectedStorageClass\n );\n if (filterLogSearch.length === 0) {\n updateField(\"logSearchSelectedStorageClass\", \"default\");\n }\n }\n }, [\n logSearchSelectedStorageClass,\n selectedStorageClass,\n storageClasses,\n updateField,\n ]);\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n return (\n \n \n \n Audit Log\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"logSearchEnabled\", checked);\n }}\n indicatorLabels={[\"Enabled\", \"Disabled\"]}\n />\n \n \n \n \n \n Deploys a small PostgreSQL database and stores access logs of all\n calls into the tenant.\n \n \n \n
\n
\n {logSearchEnabled && (\n \n \n ) => {\n updateField(\n \"logSearchSelectedStorageClass\",\n e.target.value as string\n );\n }}\n label=\"Log Search Storage Class\"\n value={logSearchSelectedStorageClass}\n options={configureSTClasses}\n disabled={configureSTClasses.length < 1}\n />\n \n \n
\n ) => {\n updateField(\"logSearchVolumeSize\", e.target.value);\n cleanValidation(\"log_search_volume_size\");\n }}\n label=\"Storage Size\"\n overlayObject={\n {}}\n unitSelected={\"Gi\"}\n unitsList={[{ label: \"Gi\", value: \"Gi\" }]}\n disabled={true}\n />\n }\n value={logSearchVolumeSize}\n required\n error={validationErrors[\"log_search_volume_size\"] || \"\"}\n min=\"0\"\n />\n
\n
\n\n \n \n SecurityContext for LogSearch\n \n\n \n \n
\n ) => {\n updateField(\"logSearchSecurityContext\", {\n ...logSearchSecurityContext,\n runAsUser: e.target.value,\n });\n cleanValidation(\"logSearch_securityContext_runAsUser\");\n }}\n label=\"Run As User\"\n value={logSearchSecurityContext.runAsUser}\n required\n error={\n validationErrors[\n \"logSearch_securityContext_runAsUser\"\n ] || \"\"\n }\n min=\"0\"\n />\n
\n
\n ) => {\n updateField(\"logSearchSecurityContext\", {\n ...logSearchSecurityContext,\n runAsGroup: e.target.value,\n });\n cleanValidation(\"logSearch_securityContext_runAsGroup\");\n }}\n label=\"Run As Group\"\n value={logSearchSecurityContext.runAsGroup}\n required\n error={\n validationErrors[\n \"logSearch_securityContext_runAsGroup\"\n ] || \"\"\n }\n min=\"0\"\n />\n
\n \n
\n
\n \n \n
\n ) => {\n updateField(\"logSearchSecurityContext\", {\n ...logSearchSecurityContext,\n fsGroup: e.target.value,\n });\n cleanValidation(\"logSearch_securityContext_fsGroup\");\n }}\n label=\"FsGroup\"\n value={logSearchSecurityContext.fsGroup}\n required\n error={\n validationErrors[\"logSearch_securityContext_fsGroup\"] ||\n \"\"\n }\n min=\"0\"\n />\n
\n
\n ) => {\n updateField(\"logSearchSecurityContext\", {\n ...logSearchSecurityContext,\n fsGroupChangePolicy: e.target.value,\n });\n }}\n options={[\n {\n label: \"Always\",\n value: \"Always\",\n },\n {\n label: \"OnRootMismatch\",\n value: \"OnRootMismatch\",\n },\n ]}\n />\n
\n \n
\n
\n \n
\n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"logSearchSecurityContext\", {\n ...logSearchSecurityContext,\n runAsNonRoot: checked,\n });\n }}\n label={\"Do not run as Root\"}\n />\n
\n
\n \n
\n \n SecurityContext for PostgreSQL\n \n\n \n \n
\n ) => {\n updateField(\"logSearchPostgresSecurityContext\", {\n ...logSearchPostgresSecurityContext,\n runAsUser: e.target.value,\n });\n cleanValidation(\"postgres_securityContext_runAsUser\");\n }}\n label=\"Run As User\"\n value={logSearchPostgresSecurityContext.runAsUser}\n required\n error={\n validationErrors[\n \"postgres_securityContext_runAsUser\"\n ] || \"\"\n }\n min=\"0\"\n />\n
\n
\n ) => {\n updateField(\"logSearchPostgresSecurityContext\", {\n ...logSearchPostgresSecurityContext,\n runAsGroup: e.target.value,\n });\n cleanValidation(\"postgres_securityContext_runAsGroup\");\n }}\n label=\"Run As Group\"\n value={logSearchPostgresSecurityContext.runAsGroup}\n required\n error={\n validationErrors[\n \"postgres_securityContext_runAsGroup\"\n ] || \"\"\n }\n min=\"0\"\n />\n
\n \n
\n
\n \n \n
\n ) => {\n updateField(\"logSearchPostgresSecurityContext\", {\n ...logSearchPostgresSecurityContext,\n fsGroup: e.target.value,\n });\n cleanValidation(\"postgres_securityContext_fsGroup\");\n }}\n label=\"FsGroup\"\n value={logSearchPostgresSecurityContext.fsGroup}\n required\n error={\n validationErrors[\"postgres_securityContext_fsGroup\"] ||\n \"\"\n }\n min=\"0\"\n />\n
\n
\n ) => {\n updateField(\"logSearchPostgresSecurityContext\", {\n ...logSearchPostgresSecurityContext,\n fsGroupChangePolicy: e.target.value,\n });\n }}\n options={[\n {\n label: \"Always\",\n value: \"Always\",\n },\n {\n label: \"OnRootMismatch\",\n value: \"OnRootMismatch\",\n },\n ]}\n />\n
\n \n
\n
\n \n
\n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"logSearchPostgresSecurityContext\", {\n ...logSearchPostgresSecurityContext,\n runAsNonRoot: checked,\n });\n }}\n label={\"Do not run as Root\"}\n />\n
\n
\n
\n
\n )}\n
\n
\n );\n};\n\nexport default withStyles(styles)(ConfigLogSearch);\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 { useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, Paper, SelectChangeEvent } from \"@mui/material\";\nimport {\n createTenantCommon,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\n\nimport { AppState, useAppDispatch } from \"../../../../../store\";\nimport { clearValidationError } from \"../../utils\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../utils/validationFunctions\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport InputBoxWrapper from \"../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport SelectWrapper from \"../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport InputUnitMenu from \"../../../Common/FormComponents/InputUnitMenu/InputUnitMenu\";\nimport SectionH1 from \"../../../Common/SectionH1\";\nimport { isPageValid, updateAddField } from \"../createTenantSlice\";\n\ninterface IConfigureProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n configSectionItem: {\n marginRight: 15,\n\n \"& .multiContainer\": {\n border: \"1px solid red\",\n },\n },\n fieldGroup: {\n ...createTenantCommon.fieldGroup,\n paddingTop: 15,\n marginBottom: 25,\n },\n responsiveSectionItem: {\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n\n \"& div > div\": {\n marginBottom: 5,\n marginRight: 0,\n },\n },\n },\n fieldSpaceTop: {\n marginTop: 15,\n },\n prometheusEnabledFields: {\n marginLeft: 20, // 2nd Level(15+15)\n padding: 10,\n width: \"90%\",\n margin: \"auto\",\n },\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst ConfigPrometheus = ({ classes }: IConfigureProps) => {\n const dispatch = useAppDispatch();\n\n const storageClasses = useSelector(\n (state: AppState) => state.createTenant.storageClasses\n );\n const prometheusEnabled = useSelector(\n (state: AppState) => state.createTenant.fields.configure.prometheusEnabled\n );\n const prometheusVolumeSize = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.prometheusVolumeSize\n );\n const prometheusSelectedStorageClass = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.prometheusSelectedStorageClass\n );\n const prometheusImage = useSelector(\n (state: AppState) => state.createTenant.fields.configure.prometheusImage\n );\n const prometheusSidecarImage = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.prometheusSidecarImage\n );\n const prometheusInitImage = useSelector(\n (state: AppState) => state.createTenant.fields.configure.prometheusInitImage\n );\n const selectedStorageClass = useSelector(\n (state: AppState) =>\n state.createTenant.fields.nameTenant.selectedStorageClass\n );\n const tenantSecurityContext = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.tenantSecurityContext\n );\n const prometheusSecurityContext = useSelector(\n (state: AppState) =>\n state.createTenant.fields.configure.prometheusSecurityContext\n );\n\n const [validationErrors, setValidationErrors] = useState({});\n\n const configureSTClasses = [\n { label: \"Default\", value: \"default\" },\n ...storageClasses,\n ];\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n dispatch(\n updateAddField({ pageName: \"configure\", field: field, value: value })\n );\n },\n [dispatch]\n );\n\n // Validation\n useEffect(() => {\n let customAccountValidation: IValidation[] = [];\n\n if (prometheusEnabled) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"prometheus_storage_class\",\n required: true,\n value: prometheusSelectedStorageClass,\n customValidation: prometheusSelectedStorageClass === \"\",\n customValidationMessage: \"Field cannot be empty\",\n },\n {\n fieldKey: \"prometheus_volume_size\",\n required: true,\n value: prometheusVolumeSize,\n customValidation:\n prometheusVolumeSize === \"\" || parseInt(prometheusVolumeSize) <= 0,\n customValidationMessage: `Volume size must be present and be greater than 0`,\n },\n {\n fieldKey: \"prometheus_securityContext_runAsUser\",\n required: true,\n value: prometheusSecurityContext.runAsUser,\n customValidation:\n prometheusSecurityContext.runAsUser === \"\" ||\n parseInt(prometheusSecurityContext.runAsUser) < 0,\n customValidationMessage: `runAsUser must be present and be 0 or more`,\n },\n {\n fieldKey: \"prometheus_securityContext_runAsGroup\",\n required: true,\n value: prometheusSecurityContext.runAsGroup,\n customValidation:\n prometheusSecurityContext.runAsGroup === \"\" ||\n parseInt(prometheusSecurityContext.runAsGroup) < 0,\n customValidationMessage: `runAsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"prometheus_securityContext_fsGroup\",\n required: true,\n value: prometheusSecurityContext.fsGroup,\n customValidation:\n prometheusSecurityContext.fsGroup === \"\" ||\n parseInt(prometheusSecurityContext.fsGroup) < 0,\n customValidationMessage: `fsGroup must be present and be 0 or more`,\n },\n ];\n }\n\n const commonVal = commonFormValidation(customAccountValidation);\n\n dispatch(\n isPageValid({\n pageName: \"configure\",\n valid: Object.keys(commonVal).length === 0,\n })\n );\n\n setValidationErrors(commonVal);\n }, [\n prometheusImage,\n prometheusSidecarImage,\n prometheusInitImage,\n dispatch,\n prometheusEnabled,\n prometheusSelectedStorageClass,\n prometheusVolumeSize,\n tenantSecurityContext,\n prometheusSecurityContext,\n ]);\n\n useEffect(() => {\n // New default values in current selection is invalid\n if (storageClasses.length > 0) {\n const filterPrometheus = storageClasses.filter(\n (item: any) => item.value === prometheusSelectedStorageClass\n );\n if (filterPrometheus.length === 0) {\n updateField(\"prometheusSelectedStorageClass\", \"default\");\n }\n }\n }, [\n prometheusSelectedStorageClass,\n selectedStorageClass,\n storageClasses,\n updateField,\n ]);\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n return (\n \n \n \n Monitoring\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"prometheusEnabled\", checked);\n }}\n description=\"\"\n />\n \n \n \n \n A small Prometheus will be deployed to keep metrics about the tenant.\n \n \n \n
\n
\n \n {prometheusEnabled && (\n \n \n ) => {\n updateField(\n \"prometheusSelectedStorageClass\",\n e.target.value as string\n );\n }}\n label=\"Storage Class\"\n value={prometheusSelectedStorageClass}\n options={configureSTClasses}\n disabled={configureSTClasses.length < 1}\n />\n \n \n
\n ) => {\n updateField(\"prometheusVolumeSize\", e.target.value);\n cleanValidation(\"prometheus_volume_size\");\n }}\n label=\"Storage Size\"\n overlayObject={\n {}}\n unitSelected={\"Gi\"}\n unitsList={[{ label: \"Gi\", value: \"Gi\" }]}\n disabled={true}\n />\n }\n value={prometheusVolumeSize}\n required\n error={validationErrors[\"prometheus_volume_size\"] || \"\"}\n min=\"0\"\n />\n
\n
\n \n \n SecurityContext\n \n \n \n
\n ) => {\n updateField(\"prometheusSecurityContext\", {\n ...prometheusSecurityContext,\n runAsUser: e.target.value,\n });\n cleanValidation(\"prometheus_securityContext_runAsUser\");\n }}\n label=\"Run As User\"\n value={prometheusSecurityContext.runAsUser}\n required\n error={\n validationErrors[\n \"prometheus_securityContext_runAsUser\"\n ] || \"\"\n }\n min=\"0\"\n />\n
\n
\n ) => {\n updateField(\"prometheusSecurityContext\", {\n ...prometheusSecurityContext,\n runAsGroup: e.target.value,\n });\n cleanValidation(\n \"prometheus_securityContext_runAsGroup\"\n );\n }}\n label=\"Run As Group\"\n value={prometheusSecurityContext.runAsGroup}\n required\n error={\n validationErrors[\n \"prometheus_securityContext_runAsGroup\"\n ] || \"\"\n }\n min=\"0\"\n />\n
\n \n
\n
\n \n \n
\n ) => {\n updateField(\"prometheusSecurityContext\", {\n ...prometheusSecurityContext,\n fsGroup: e.target.value,\n });\n cleanValidation(\"prometheus_securityContext_fsGroup\");\n }}\n label=\"FsGroup\"\n value={prometheusSecurityContext.fsGroup}\n required\n error={\n validationErrors[\n \"prometheus_securityContext_fsGroup\"\n ] || \"\"\n }\n min=\"0\"\n />\n
\n
\n ) => {\n updateField(\"prometheusSecurityContext\", {\n ...prometheusSecurityContext,\n fsGroupChangePolicy: e.target.value,\n });\n }}\n options={[\n {\n label: \"Always\",\n value: \"Always\",\n },\n {\n label: \"OnRootMismatch\",\n value: \"OnRootMismatch\",\n },\n ]}\n />\n
\n \n
\n
\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"prometheusSecurityContext\", {\n ...prometheusSecurityContext,\n runAsNonRoot: checked,\n });\n }}\n label={\"Do not run as Root\"}\n />\n \n \n \n
\n )}\n
\n
\n );\n};\n\nexport default withStyles(styles)(ConfigPrometheus);\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 .\nexport const requiredPages = [\n \"nameTenant\",\n \"tenantSize\",\n \"configure\",\n \"affinity\",\n \"identityProvider\",\n \"security\",\n \"encryption\",\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 { Button } from \"mds\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport { requiredPages } from \"./common\";\nimport { createTenantAsync } from \"./thunks/createTenantThunk\";\n\nconst CreateTenantButton = () => {\n const dispatch = useAppDispatch();\n\n const addSending = useSelector(\n (state: AppState) => state.createTenant.addingTenant\n );\n\n const validPages = useSelector(\n (state: AppState) => state.createTenant.validPages\n );\n\n const selectedStorageClass = useSelector(\n (state: AppState) =>\n state.createTenant.fields.nameTenant.selectedStorageClass\n );\n\n const enabled =\n !addSending &&\n selectedStorageClass !== \"\" &&\n requiredPages.every((v) => validPages.includes(v));\n\n return (\n {\n dispatch(createTenantAsync());\n }}\n disabled={!enabled}\n key={`button-AddTenant-Create`}\n label={\"Create\"}\n />\n );\n};\n\nexport default CreateTenantButton;\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 CredentialsPrompt from \"../../Common/CredentialsPrompt/CredentialsPrompt\";\nimport { resetAddTenantForm } from \"./createTenantSlice\";\nimport { useSelector } from \"react-redux\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport { useNavigate } from \"react-router-dom\";\n\nconst NewTenantCredentials = () => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const showNewCredentials = useSelector(\n (state: AppState) => state.createTenant.showNewCredentials\n );\n const createdAccount = useSelector(\n (state: AppState) => state.createTenant.createdAccount\n );\n\n return (\n \n {showNewCredentials && (\n {\n dispatch(resetAddTenantForm());\n navigate(\"/tenants\");\n }}\n entity=\"Tenant\"\n />\n )}\n \n );\n};\n\nexport default NewTenantCredentials;\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 Grid from \"@mui/material/Grid\";\nimport { LinearProgress } from \"@mui/material\";\n\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n modalBasic,\n settingsCommon,\n wizardCommon,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport GenericWizard from \"../../Common/GenericWizard/GenericWizard\";\nimport {\n IWizardButton,\n IWizardElement,\n} from \"../../Common/GenericWizard/types\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport Configure from \"./Steps/Configure\";\nimport IdentityProvider from \"./Steps/IdentityProvider\";\nimport Security from \"./Steps/Security\";\nimport Encryption from \"./Steps/Encryption\";\nimport Affinity from \"./Steps/Affinity\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport Images from \"./Steps/Images\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport BackLink from \"../../../../common/BackLink\";\nimport TenantResources from \"./Steps/TenantResources/TenantResources\";\nimport ConfigLogSearch from \"./Steps/ConfigLogSearch\";\nimport ConfigPrometheus from \"./Steps/ConfigPrometheus\";\nimport {\n IMkEnvs,\n resourcesConfigurations,\n} from \"./Steps/TenantResources/utils\";\nimport HelpBox from \"../../../../common/HelpBox\";\nimport { StorageIcon } from \"../../../../icons\";\nimport { selFeatures } from \"../../consoleSlice\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { resetAddTenantForm } from \"./createTenantSlice\";\nimport CreateTenantButton from \"./CreateTenantButton\";\nimport NewTenantCredentials from \"./NewTenantCredentials\";\nimport { useNavigate } from \"react-router-dom\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n pageBox: {\n border: \"1px solid #EAEAEA\",\n },\n ...modalBasic,\n ...wizardCommon,\n ...settingsCommon,\n })\n);\n\nconst AddTenant = () => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n const classes = useStyles();\n\n const features = useSelector(selFeatures);\n\n // Fields\n const addSending = useSelector(\n (state: AppState) => state.createTenant.addingTenant\n );\n const [formRender, setFormRender] = useState(null);\n\n useEffect(() => {\n let setConfiguration = IMkEnvs.default;\n\n if (features && features.length !== 0) {\n const possibleVariables = Object.keys(resourcesConfigurations);\n\n possibleVariables.forEach((element) => {\n if (features.includes(element)) {\n setConfiguration = get(\n resourcesConfigurations,\n element,\n IMkEnvs.default\n );\n }\n });\n }\n\n setFormRender(setConfiguration);\n }, [features]);\n\n const cancelButton = {\n label: \"Cancel\",\n type: \"other\",\n enabled: true,\n action: () => {\n dispatch(resetAddTenantForm());\n navigate(\"/tenants\");\n },\n };\n\n const createButton: IWizardButton = {\n componentRender: ,\n };\n\n const wizardSteps: IWizardElement[] = [\n {\n label: \"Setup\",\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n {\n label: \"Configure\",\n advancedOnly: true,\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n {\n label: \"Images\",\n advancedOnly: true,\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n {\n label: \"Pod Placement\",\n advancedOnly: true,\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n {\n label: \"Identity Provider\",\n advancedOnly: true,\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n {\n label: \"Security\",\n advancedOnly: true,\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n {\n label: \"Encryption\",\n advancedOnly: true,\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n {\n label: \"Audit Log\",\n advancedOnly: true,\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n {\n label: \"Monitoring\",\n advancedOnly: true,\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n ];\n\n let filteredWizardSteps = wizardSteps;\n\n return (\n \n \n {\n dispatch(resetAddTenantForm());\n }}\n />\n }\n />\n\n \n {addSending && (\n \n \n \n )}\n \n \n \n {formRender === IMkEnvs.aws && (\n \n }\n help={\n \n Performance Optimized: Uses the gp3 EBS storage\n class class configured at 1,000Mi/s throughput and 16,000\n IOPS, however the minimum volume size for this type of EBS\n volume is 32Gi.\n
\n
\n Storage Optimized: Uses the sc1 EBS storage\n class, however the minimum volume size for this type of EBS\n volume is  \n 16Ti to unlock their maximum throughput speed of\n 250Mi/s.\n
\n }\n />\n
\n )}\n
\n
\n );\n};\n\nexport default AddTenant;\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 { useSelector } from \"react-redux\";\nimport { Box } from \"@mui/material\";\nimport CertificateIcon from \"../../../../icons/CertificateIcon\";\nimport { useParams } from \"react-router-dom\";\nimport { AppState } from \"../../../../store\";\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 TLSHelpBox = () => {\n const params = useParams();\n const tenantNameParam = params.tenantName || \"\";\n const tenantNamespaceParam = params.tenantNamespace || \"\";\n const namespace = useSelector((state: AppState) => {\n var defaultNamespace = \"\";\n if (tenantNamespaceParam !== \"\") {\n return tenantNamespaceParam;\n }\n if (state.createTenant.fields.nameTenant.namespace !== \"\") {\n return state.createTenant.fields.nameTenant.namespace;\n }\n return defaultNamespace;\n });\n\n const tenantName = useSelector((state: AppState) => {\n var defaultTenantName = \"\";\n if (tenantNameParam !== \"\") {\n return tenantNameParam;\n }\n\n if (state.createTenant.fields.nameTenant.tenantName !== \"\") {\n return state.createTenant.fields.nameTenant.tenantName;\n }\n return defaultTenantName;\n });\n\n return (\n \n \n }\n description={`TLS Certificates Warning`}\n />\n \n Automatic certificate generation is not enabled.\n
\n
\n If you wish to continue only with custom certificates make sure\n they are valid for the following internode hostnames, i.e.:\n
\n
\n \n minio.{namespace}\n
\n minio.{namespace}.svc\n
\n minio.{namespace}.svc.<cluster domain>\n
\n *.{tenantName}-hl.{namespace}.svc.<cluster domain>\n
\n *.{namespace}.svc.<cluster domain>\n \n
\n Replace <tenant-name>,{\" \"}\n <namespace> and\n <cluster domain> with the actual values for your\n MinIO tenant.\n
\n
\n You can learn more at our{\" \"}\n \n documentation\n \n .\n
\n \n \n );\n};\n\nexport default TLSHelpBox;\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 { Grid } from \"@mui/material\";\nimport LDAPIcon from \"../../../icons/LDAPIcon\";\nimport { OIDCIcon } from \"../../../icons\";\nimport { UsersIcon } from \"../../../icons\";\n\nexport const OIDCLogoElement = () => {\n return (\n \n \n \n \n Open ID\n \n );\n};\n\nexport const LDAPLogoElement = () => {\n return (\n \n \n \n \n LDAP / Active Directory\n \n );\n};\n\nexport const BuiltInLogoElement = () => {\n return (\n \n \n \n \n Built-in\n \n );\n};\n","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","\"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 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\"\n}), 'Add');\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: \"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: \"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-2zM7.5 18c-.83 0-1.5-.67-1.5-1.5S6.67 15 7.5 15s1.5.67 1.5 1.5S8.33 18 7.5 18zm0-9C6.67 9 6 8.33 6 7.5S6.67 6 7.5 6 9 6.67 9 7.5 8.33 9 7.5 9zm4.5 4.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm4.5 4.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm0-9c-.83 0-1.5-.67-1.5-1.5S15.67 6 16.5 6s1.5.67 1.5 1.5S17.33 9 16.5 9z\"\n}), 'Casino');\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: \"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z\"\n}), 'Delete');\nexports.default = _default;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"absolute\", \"children\", \"className\", \"component\", \"flexItem\", \"light\", \"orientation\", \"role\", \"textAlign\", \"variant\"];\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 from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDividerUtilityClass } from './dividerClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n absolute,\n children,\n classes,\n flexItem,\n light,\n orientation,\n textAlign,\n variant\n } = ownerState;\n const slots = {\n root: ['root', absolute && 'absolute', variant, light && 'light', orientation === 'vertical' && 'vertical', flexItem && 'flexItem', children && 'withChildren', children && orientation === 'vertical' && 'withChildrenVertical', textAlign === 'right' && orientation !== 'vertical' && 'textAlignRight', textAlign === 'left' && orientation !== 'vertical' && 'textAlignLeft'],\n wrapper: ['wrapper', orientation === 'vertical' && 'wrapperVertical']\n };\n return composeClasses(slots, getDividerUtilityClass, classes);\n};\nconst DividerRoot = styled('div', {\n name: 'MuiDivider',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.absolute && styles.absolute, styles[ownerState.variant], ownerState.light && styles.light, ownerState.orientation === 'vertical' && styles.vertical, ownerState.flexItem && styles.flexItem, ownerState.children && styles.withChildren, ownerState.children && ownerState.orientation === 'vertical' && styles.withChildrenVertical, ownerState.textAlign === 'right' && ownerState.orientation !== 'vertical' && styles.textAlignRight, ownerState.textAlign === 'left' && ownerState.orientation !== 'vertical' && styles.textAlignLeft];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n margin: 0,\n // Reset browser default style.\n flexShrink: 0,\n borderWidth: 0,\n borderStyle: 'solid',\n borderColor: (theme.vars || theme).palette.divider,\n borderBottomWidth: 'thin'\n}, ownerState.absolute && {\n position: 'absolute',\n bottom: 0,\n left: 0,\n width: '100%'\n}, ownerState.light && {\n borderColor: theme.vars ? `rgba(${theme.vars.palette.dividerChannel} / 0.08)` : alpha(theme.palette.divider, 0.08)\n}, ownerState.variant === 'inset' && {\n marginLeft: 72\n}, ownerState.variant === 'middle' && ownerState.orientation === 'horizontal' && {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2)\n}, ownerState.variant === 'middle' && ownerState.orientation === 'vertical' && {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n}, ownerState.orientation === 'vertical' && {\n height: '100%',\n borderBottomWidth: 0,\n borderRightWidth: 'thin'\n}, ownerState.flexItem && {\n alignSelf: 'stretch',\n height: 'auto'\n}), ({\n theme,\n ownerState\n}) => _extends({}, ownerState.children && {\n display: 'flex',\n whiteSpace: 'nowrap',\n textAlign: 'center',\n border: 0,\n '&::before, &::after': {\n position: 'relative',\n width: '100%',\n borderTop: `thin solid ${(theme.vars || theme).palette.divider}`,\n top: '50%',\n content: '\"\"',\n transform: 'translateY(50%)'\n }\n}), ({\n theme,\n ownerState\n}) => _extends({}, ownerState.children && ownerState.orientation === 'vertical' && {\n flexDirection: 'column',\n '&::before, &::after': {\n height: '100%',\n top: '0%',\n left: '50%',\n borderTop: 0,\n borderLeft: `thin solid ${(theme.vars || theme).palette.divider}`,\n transform: 'translateX(0%)'\n }\n}), ({\n ownerState\n}) => _extends({}, ownerState.textAlign === 'right' && ownerState.orientation !== 'vertical' && {\n '&::before': {\n width: '90%'\n },\n '&::after': {\n width: '10%'\n }\n}, ownerState.textAlign === 'left' && ownerState.orientation !== 'vertical' && {\n '&::before': {\n width: '10%'\n },\n '&::after': {\n width: '90%'\n }\n}));\nconst DividerWrapper = styled('span', {\n name: 'MuiDivider',\n slot: 'Wrapper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.wrapper, ownerState.orientation === 'vertical' && styles.wrapperVertical];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'inline-block',\n paddingLeft: `calc(${theme.spacing(1)} * 1.2)`,\n paddingRight: `calc(${theme.spacing(1)} * 1.2)`\n}, ownerState.orientation === 'vertical' && {\n paddingTop: `calc(${theme.spacing(1)} * 1.2)`,\n paddingBottom: `calc(${theme.spacing(1)} * 1.2)`\n}));\nconst Divider = /*#__PURE__*/React.forwardRef(function Divider(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDivider'\n });\n const {\n absolute = false,\n children,\n className,\n component = children ? 'div' : 'hr',\n flexItem = false,\n light = false,\n orientation = 'horizontal',\n role = component !== 'hr' ? 'separator' : undefined,\n textAlign = 'center',\n variant = 'fullWidth'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n absolute,\n component,\n flexItem,\n light,\n orientation,\n role,\n textAlign,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DividerRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n role: role,\n ref: ref,\n ownerState: ownerState\n }, other, {\n children: children ? /*#__PURE__*/_jsx(DividerWrapper, {\n className: classes.wrapper,\n ownerState: ownerState,\n children: children\n }) : null\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Divider.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 * Absolutely position the element.\n * @default false\n */\n absolute: PropTypes.bool,\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`, a vertical divider will have the correct height when used in flex container.\n * (By default, a vertical divider will have a calculated height of `0px` if it is the child of a flex container.)\n * @default false\n */\n flexItem: PropTypes.bool,\n /**\n * If `true`, the divider will have a lighter color.\n * @default false\n */\n light: PropTypes.bool,\n /**\n * The component orientation.\n * @default 'horizontal'\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n /**\n * @ignore\n */\n role: PropTypes /* @typescript-to-proptypes-ignore */.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 text alignment.\n * @default 'center'\n */\n textAlign: PropTypes.oneOf(['center', 'left', 'right']),\n /**\n * The variant to use.\n * @default 'fullWidth'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['fullWidth', 'inset', 'middle']), PropTypes.string])\n} : void 0;\nexport default Divider;"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","props","xmlns","fill","viewBox","id","d","transform","clipPath","flexFlow","padding","inputWithCopy","background","inputLabel","fieldBasic","label","value","OutlinedInput","readOnly","endAdornment","InputAdornment","position","TooltipWrapper","tooltip","text","onClick","onMouseDown","style","icon","download","filename","element","document","createElement","setAttribute","body","appendChild","click","removeChild","warningBlock","color","margin","credentialTitle","buttonContainer","justifyContent","marginTop","credentialsPanel","overflowY","maxHeight","promptTitle","buttonSpacer","newServiceAccount","open","closeModal","entity","consoleCreds","get","idp","ModalWrapper","modalOpen","onClose","titleIcon","Grid","formScrollable","Array","isArray","map","credentialsPair","index","accessKey","secretKey","undefined","WarnIcon","consoleExtras","itemMap","url","api","path","JSON","stringify","variant","length","allCredentials","mode","onBeforeChange","editorHeight","sx","tooltipContainer","placement","overflow","language","onChange","evn","target","fontFamily","minHeight","borderTop","marginLeft","type","tooltipHelper","valueString","maxWidth","whiteSpace","textOverflow","fileInputField","fileInputStyles","textBoxContainer","name","disabled","required","error","accept","useState","showFileSelector","setShowSelector","fieldBottom","fieldContainer","errorInField","InputLabel","htmlFor","fieldLabelError","Tooltip","HelpIcon","e","fileName","evt","callback","file","files","reader","FileReader","readAsDataURL","onload","fileBase64","result","fileArray","toString","split","fileProcess","data","IconButton","component","disableRipple","disableFocusRipple","size","Cancel","ErrorBlock","errorMessage","fileReselect","AttachFile","deleteDialogStyles","content","customDialogSize","snackBarCommon","children","wideLimit","noContentPadding","dispatch","useAppDispatch","openSnackbar","setOpenSnackbar","modalSnackMessage","useSelector","state","system","modalSnackBar","useEffect","setModalSnackMessage","message","customSize","paper","fullWidth","detailedErrorMsg","scroll","event","reason","titleText","closeContainer","closeButton","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","configSectionItem","tenantCustomizationFields","containerItem","fieldGroup","createTenantCommon","responsiveSectionItem","wrapperContainer","envVarRow","borderBottom","flex","minWidth","fileItem","rowActions","overlayAction","modalBasic","wizardCommon","formFieldStyles","exposeMinIO","createTenant","fields","configure","exposeConsole","setDomains","consoleDomain","minioDomains","tenantCustom","tenantEnvVars","envVars","tenantSecurityContext","validationErrors","setValidationErrors","updateField","useCallback","field","updateAddField","pageName","customAccountValidation","fieldKey","runAsUser","customValidation","parseInt","customValidationMessage","runAsGroup","fsGroup","minioExtraValidations","validation","pattern","customPatternMessage","commonVal","commonFormValidation","isPageValid","valid","Object","keys","cleanValidation","fieldName","clearValidationError","Paper","paperWrapper","headerElement","h3Section","descriptionText","FormSwitchWrapper","checked","InputBoxWrapper","placeholder","domain","copyDomains","updateMinIODomain","addNewMinIODomain","Add","removeMinIODomain","RemoveIcon","multiContainer","min","SelectWrapper","fsGroupChangePolicy","options","runAsNonRoot","Divider","envVar","formFieldRow","key","existingEnvVars","setEnvVars","keyPair","i","push","filter","fIndex","useStyles","makeStyles","adUserDnRows","buttonTray","idpSelection","identityProvider","ADURL","ADSkipTLS","ADServerInsecure","ADGroupSearchBaseDN","ADGroupSearchFilter","ADUserDNs","ADGroupDNs","ADLookupBindDN","ADLookupBindPassword","ADUserDNSearchBaseDN","ADUserDNSearchFilter","ADServerStartTLS","customIDPValidation","Fragment","Typography","gutterBottom","_","setIDPADUsrAtIndex","userDN","addIDPADUsrAtIndex","removeIDPADUsrAtIndex","Delete","setIDPADGroupAtIndex","addIDPADGroupAtIndex","removeIDPADGroupAtIndex","openIDConfigurationURL","openIDClientID","openIDSecretID","openIDCallbackURL","openIDClaimName","openIDScopes","shortened","gridTemplateColumns","gridGap","accessKeys","secretKeys","setIDPUsrAtIndex","setIDPPwdAtIndex","addIDPNewKeyPair","removeIDPKeyPairAtIndex","getRandomString","Casino","protocolRadioOptions","RadioGroupSelector","currentSelection","setIDP","selectorOptions","minioCertificateRows","minioCertsContainer","minioCACertsRow","enableTLS","security","enableAutoCert","enableCustomCerts","minioCertificates","certificates","minioServerCertificates","minioClientCertificates","caCertificates","minioCAsCertificates","spacing","description","TLSHelpBox","FileSelector","encodedValue","addFileToKeyPair","cert","addKeyPair","deleteKeyPair","addFileToClientKeyPair","addClientKeyPair","deleteClientKeyPair","addFileToCaCertificates","addCaCertificate","deleteCaCertificate","encryptionTab","encryption","vaultEndpoint","vaultEngine","vaultNamespace","vaultPrefix","vaultAppRoleEngine","vaultId","vaultSecret","vaultRetry","vaultPing","encryptionValidation","azureEndpoint","azureTenantID","azureClientID","azureClientSecret","gcpProjectID","gcpEndpoint","gcpClientEmail","gcpClientID","gcpPrivateKeyID","gcpPrivateKey","gemaltoEndpoint","gemaltoToken","gemaltoDomain","gemaltoRetry","awsEndpoint","awsRegion","awsKMSKey","awsAccessKey","awsSecretKey","awsToken","encryptionTypeOptions","mutualTlsConfig","rightSpacer","responsiveContainer","replicas","rawConfiguration","enableEncryption","encryptionType","enableCustomCertsForKES","kesServerCertificate","minioMTLSCertificate","kmsMTLSCertificate","kmsCA","kesSecurityContext","encryptionAvailable","encoded_key","encoded_cert","textAlign","indicatorLabels","hrClass","Tabs","indicatorColor","textColor","scrollButtons","Tab","CodeMirrorWrapper","editor","addFileKESServerCert","addFileMinIOMTLSCert","addFileKMSMTLSCert","addFileKMSCa","affinityConfigField","affinityFieldLabel","radioField","affinityLabelKey","affinityLabelValue","affinityRow","podAffinity","affinity","nodeSelectorLabels","withPodAntiAffinity","keyValuePairs","nodeSelectorPairs","tolerations","loading","setLoading","keyValueMap","setKeyValueMap","keyOptions","setKeyOptions","then","res","k","catch","err","setModalErrorSnackMessage","vl","kvp","kvs","a","indexOf","join","splittedLabels","forEach","splitItem","updateToleration","alterToleration","setTolerationInfo","tolerationValue","affinityHelpText","newKey","newLKP","arrCp","setKeyValuePairs","v","AddIcon","tol","TolerationSelector","effect","onEffectChange","tolerationKey","onTolerationKeyChange","operator","onOperatorChange","onValueChange","tolerationSeconds","seconds","onSecondsChange","addNewToleration","removeToleration","customImage","imageName","customDockerhub","imageRegistry","imageRegistryUsername","imageRegistryPassword","prometheusCustom","prometheusEnabled","logSearchCustom","logSearchEnabled","logSearchVolumeSize","prometheusVolumeSize","logSearchSelectedStorageClass","logSearchImage","kesImage","logSearchPostgresImage","logSearchPostgresInitImage","prometheusSelectedStorageClass","prometheusImage","prometheusSidecarImage","prometheusInitImage","table","nodes","tenantSize","memoryNode","resourcesMemoryRequest","ecParity","distribution","ecParityCalc","cpuToUse","resourcesCPURequest","integrationSelection","usableInformation","storageFactors","find","erasureCode","Table","TableBody","TableRow","TableCell","scope","align","typeSelection","storageClass","disks","niceBytes","pvSize","persistentVolumes","rawCapacity","maxCapacity","Math","floor","maxFailureTolerations","CPU","memory","drivesPerServer","driveSize","sizeUnit","wrapText","wordWrap","namespace","nameTenant","addNamespaceLoading","addNSLoading","addNamespaceOpen","addNSOpen","ConfirmDialog","confirmText","confirmButtonProps","isOpen","isLoading","onConfirm","createNamespaceAsync","closeAddNSModal","confirmationContent","LinearProgress","DialogContentText","formToRender","showNSCreateButton","namespaceError","openAddNSConfirm","debounceNamespace","useMemo","debounce","validateNamespaceAsync","cancel","setNamespace","overlayId","overlayIcon","openAddNSModal","NameTenantField","tenantName","tenantNameError","setTenantName","sizePreview","selectedStorageClass","selectedStorageType","storageClasses","features","selFeatures","isValid","IMkEnvs","setStorageType","storageType","mkPanelConfigurations","TenantSize","formRender","setFormRender","setConfiguration","resourcesConfigurations","includes","logSearchEnabledFields","fieldSpaceTop","logSearchSecurityContext","logSearchPostgresSecurityContext","configureSTClasses","overlayObject","InputUnitMenu","onUnitChange","unitSelected","unitsList","prometheusEnabledFields","prometheusSecurityContext","requiredPages","addSending","addingTenant","validPages","enabled","every","createTenantAsync","navigate","useNavigate","showNewCredentials","createdAccount","CredentialsPrompt","resetAddTenantForm","pageBox","settingsCommon","cancelButton","action","createButton","componentRender","filteredWizardSteps","buttons","advancedOnly","PageHeader","BackLink","to","executeOnClick","PageLayout","GenericWizard","wizardSteps","HelpBox","FeatureItem","fontStyle","params","useParams","tenantNameParam","tenantNamespaceParam","tenantNamespace","href","rel","OIDCLogoElement","columnGap","LDAPLogoElement","BuiltInLogoElement","errorBlock","palette","main","withBreak","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","_excluded","DividerRoot","styled","slot","overridesResolver","styles","ownerState","absolute","light","orientation","vertical","flexItem","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","_extends","flexShrink","borderWidth","borderStyle","borderColor","vars","divider","borderBottomWidth","bottom","left","dividerChannel","alpha","borderRightWidth","alignSelf","top","flexDirection","borderLeft","DividerWrapper","wrapper","wrapperVertical","React","inProps","ref","useThemeProps","role","other","_objectWithoutPropertiesLoose","slots","composeClasses","getDividerUtilityClass","useUtilityClasses","_jsx","as","clsx"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1367.7ad56d1c.chunk.js b/portal-ui/build/static/js/1367.7ad56d1c.chunk.js new file mode 100644 index 000000000..87d0738c5 --- /dev/null +++ b/portal-ui/build/static/js/1367.7ad56d1c.chunk.js @@ -0,0 +1,2 @@ +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1367,2691],{92217:function(e,n,t){"use strict";var i=t(1413),r=t(72791),o=t(61889),a=t(30829),s=t(20068),c=t(64554),l=t(11135),d=t(25787),u=t(75952),p=t(23814),h=t(78029),f=t.n(h),x=t(90932),m=t(27454),v=t(80184);n.Z=(0,d.Z)((function(e){return(0,l.Z)((0,i.Z)({},p.YI))}))((function(e){var n=e.value,t=e.label,i=void 0===t?"":t,l=e.tooltip,d=void 0===l?"":l,p=e.mode,h=void 0===p?"json":p,Z=e.classes,b=e.onBeforeChange,j=(e.readOnly,e.editorHeight),g=void 0===j?"250px":j;return(0,v.jsxs)(r.Fragment,{children:[(0,v.jsx)(o.ZP,{item:!0,xs:12,sx:{marginBottom:"10px"},children:(0,v.jsxs)(a.Z,{className:Z.inputLabel,children:[(0,v.jsx)("span",{children:i}),""!==d&&(0,v.jsx)("div",{className:Z.tooltipContainer,children:(0,v.jsx)(s.Z,{title:d,placement:"top-start",children:(0,v.jsx)("div",{className:Z.tooltip,children:(0,v.jsx)(u.byK,{})})})})]})}),(0,v.jsx)(o.ZP,{item:!0,xs:12,style:{maxHeight:g,overflow:"auto",border:"1px solid #eaeaea"},children:(0,v.jsx)(x.Z,{value:n,language:h,onChange:function(e){b(null,null,e.target.value)},id:"code_wrapper",padding:15,style:{fontSize:12,backgroundColor:"#fefefe",fontFamily:"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace",minHeight:g||"initial",color:"#000000"}})}),(0,v.jsx)(o.ZP,{item:!0,xs:12,sx:{background:"#f7f7f7",border:"1px solid #eaeaea",borderTop:0},children:(0,v.jsx)(c.Z,{sx:{display:"flex",alignItems:"center",padding:"2px",paddingRight:"5px",justifyContent:"flex-end","& button":{height:"26px",width:"26px",padding:"2px"," .min-icon":{marginLeft:"0"}}},children:(0,v.jsx)(m.Z,{tooltip:"Copy to Clipboard",children:(0,v.jsx)(f(),{text:n,children:(0,v.jsx)(u.zxk,{type:"button",id:"copy-code-mirror",icon:(0,v.jsx)(u.TIy,{}),color:"primary",variant:"regular"})})})})})]})}))},59114:function(e,n,t){"use strict";var i=t(4942),r=t(1413),o=(t(72791),t(63466)),a=t(75952),s=t(27391),c=t(25787),l=t(11135),d=t(23814),u=t(80184);n.Z=(0,c.Z)((function(e){return(0,l.Z)({searchField:(0,r.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,r=e.classes,c=e.onChange,l=e.adornmentPosition,d=void 0===l?"end":l,p=e.overrideClass,h=e.value,f=(0,i.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(o.Z,{position:d,className:r.adornment,children:(0,u.jsx)(a.W1M,{})}));return(0,u.jsx)(s.Z,{placeholder:t,className:p||r.searchField,id:"search-resource",label:"",InputProps:f,onChange:function(e){c(e.target.value)},variant:"standard",value:h})}))},50276:function(e,n,t){"use strict";var i=t(1413),r=t(29439),o=t(72791),a=t(64554),s=t(43896),c=t(83449),l=t(47283),d=t(82851),u=t(25787),p=t(13967),h=t(11135),f=t(95193),x=t(57689),m=t(80184),v={minHeight:60};n.Z=(0,u.Z)((function(e){return(0,h.Z)({tabsContainer:{display:"flex",height:"100%",width:"100%"},tabsHeaderContainer:{width:"300px",background:"#F8F8F8",borderRight:"1px solid #EAEAEA","& .MuiTabs-root":{"& .MuiTabs-indicator":{display:"none"},"& .MuiTab-root":{display:"flex",flexFlow:"row",alignItems:"center",justifyContent:"flex-start",borderBottom:"1px solid #EAEAEA","& .MuiSvgIcon-root":{marginRight:8,marginBottom:0},"&.Mui-selected":{background:"#E5E5E5",fontWeight:600}},"&. MuiTabs-scroller":{display:"none"}}},tabContentContainer:{width:"100%","& .MuiTabPanel-root":{height:"100%"}},tabPanel:{height:"100%"},"@media (max-width: 900px)":{tabsContainer:{flexFlow:"column",flexDirection:"column"},tabsHeaderContainer:{width:"100%",borderBottom:" 1px solid #EAEAEA","& .MuiTabs-root .MuiTabs-scroller .MuiButtonBase-root":{borderBottom:" 0px"}}}})}))((function(e){var n=e.children,t=e.classes,u=e.selectedTab,h=void 0===u?"0":u,Z=e.routes,b=e.isRouteTabs,j=(0,p.Z)(),g=(0,x.TH)().pathname,y=void 0===g?"":g,C=(0,f.Z)(j.breakpoints.down("md")),E=(0,o.useState)(h),P=(0,r.Z)(E,2),w=P[0],S=P[1],M=[],N=[];if((0,o.useEffect)((function(){if(b){var e=n.find((function(e){return e.tabConfig.to===y}));e&&S(e.tabConfig.value)}}),[b,n,y]),!n)return null;n.forEach((function(e){M.push(e.tabConfig),N.push(e.content)}));return(0,m.jsx)(c.ZP,{value:"".concat(w),children:(0,m.jsxs)(a.Z,{className:t.tabsContainer,children:[(0,m.jsx)(a.Z,{className:t.tabsHeaderContainer,children:(0,m.jsx)(l.Z,{onChange:function(e,n){S(n)},orientation:C?"horizontal":"vertical",variant:C?"scrollable":"standard",scrollButtons:"auto",className:t.tabList,children:M.map((function(e,n){return e?(0,m.jsx)(s.Z,(0,i.Z)((0,i.Z)({className:t.tabHeader,value:"".concat(n),style:v},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(n)):null}))})}),(0,m.jsxs)(a.Z,{className:t.tabContentContainer,children:[b?null:N.map((function(e,n){return(0,m.jsx)(d.Z,{classes:(0,i.Z)({},t.tabPanel),value:"".concat(n),children:e||null},"v-tab-p-".concat(n))})),b?(0,m.jsx)("div",{className:t.tabPanel,children:Z}):null]})]})})}))},879:function(e,n,t){"use strict";t.d(n,{D_:function(){return a},Et:function(){return r},GJ:function(){return o},yh:function(){return i}});var i={RED:"#C83B51",GREEN:"#4CCB92",YELLOW:"#E7A219"},r=function(e,n){return e<=n/2?i.RED:2!==n&&e===n/2+1?i.YELLOW:e===n?i.GREEN:void 0},o=function(e){switch(e){case"offline":return i.RED;case"online":return i.GREEN;default:return i.YELLOW}},a=function(e,n){return e<=n/2?i.RED:e===n/2+1?i.YELLOW:e===n?i.GREEN:void 0}},1191:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return H}});var i=t(29439),r=t(1413),o=t(72791),a=t(78687),s=t(57689),c=t(75952),l=t(11135),d=t(25787),u=t(23814),p=t(35527),h=t(61889),f=t(40986),x=t(92983),m=t(81207),v=t(32291),Z=t(92217),b=t(63466),j=t(27391),g=t(14917),y=t(74794),C=t(50276),E=t(84669),P=t(56087),w=t(38442),S=t(75578),M=t(64554),N=t(59114),R=t(879),T=t(80184),k={display:"grid",gridTemplateColumns:"60px 1fr",gap:"15px"},F=function(e){var n=e.search,t=void 0===n?"":n,i=e.children,r=void 0===i?"":i,o=new RegExp("(".concat(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}(t),")"),"i"),a=String(r).split(o);return t?a.map((function(e,n){return o.test(e)?(0,T.jsx)("mark",{children:e},n):e})):r},A=(0,d.Z)((function(e){return(0,l.Z)({searchField:(0,r.Z)((0,r.Z)({},u.qg.searchField),{},{maxWidth:380})})}))((function(e){var n=e.policyStatements,t=e.classes,r=void 0===t?{}:t,a=(0,o.useState)(""),s=(0,i.Z)(a,2),l=s[0],d=s[1];return(0,T.jsxs)(h.ZP,{container:!0,children:[(0,T.jsx)(h.ZP,{item:!0,xs:12,children:(0,T.jsxs)(M.Z,{sx:{display:"grid",gridTemplateColumns:{sm:"1fr 1fr",xs:"1fr"},alignItems:"center",justifyContent:"space-between",gap:"15px"},children:[(0,T.jsx)(M.Z,{children:"Statements"}),(0,T.jsx)(N.Z,{placeholder:"Search",onChange:d,overrideClass:r.searchField,value:l})]})}),(0,T.jsx)(h.ZP,{item:!0,xs:12,sx:{"& .policy-row":{borderBottom:"1px solid #eaeaea"},"& .policy-row:first-child":{borderTop:"1px solid #eaeaea"},"& .policy-row:last-child":{borderBottom:"0px"},paddingTop:"15px","& mark":{color:"#000000",fontWeight:500}},children:n.map((function(e,n){var t=e.Effect,i="Allow"===t;return(0,T.jsxs)(M.Z,{className:"policy-row",sx:{display:"grid",gridTemplateColumns:"1fr",gap:"15px",fontSize:"14px",padding:"10px 0 10px 0","& .label":{fontWeight:600}},children:[(0,T.jsxs)(M.Z,{sx:k,children:[(0,T.jsx)(M.Z,{className:"label",children:"Effect:"}),(0,T.jsxs)(M.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{marginRight:"5px",fill:i?R.yh.GREEN:R.yh.RED,height:"14px",width:"14px"}},children:[i?(0,T.jsx)(c.E31,{}):(0,T.jsx)(c.dRf,{}),t]})]}),(0,T.jsxs)(M.Z,{sx:{display:"grid",gridTemplateColumns:{sm:"1fr 1fr",xs:"1fr"},gap:"15px"},children:[(0,T.jsxs)(M.Z,{sx:k,children:[(0,T.jsx)(M.Z,{className:"label",children:"Actions:"}),(0,T.jsx)(M.Z,{children:e.Action&&e.Action.map((function(e,t){return(0,T.jsx)("div",{children:(0,T.jsx)(F,{search:l,children:e})},"".concat(n,"-r-").concat(t))}))})]}),(0,T.jsxs)(M.Z,{sx:k,children:[(0,T.jsx)(M.Z,{className:"label",children:"Resources:"}),(0,T.jsx)(M.Z,{children:e.Resource&&e.Resource.map((function(e,t){return(0,T.jsxs)("div",{children:[" ",(0,T.jsx)(F,{search:l,children:e})]},"".concat(n,"-r-").concat(t))}))})]})]})]},"".concat(n))}))})]})})),L=t(45248),I=t(87995),z=t(46078),O=t(25469),B=t(27454),D=(0,S.Z)(o.lazy((function(){return t.e(312).then(t.bind(t,312))}))),H=(0,d.Z)((function(e){return(0,l.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({buttonContainer:{display:"flex",justifyContent:"flex-end",paddingTop:16,"& button":{marginLeft:8}},pageContainer:{border:"1px solid #EAEAEA",height:"100%"},paperContainer:{padding:"15px 15px 15px 50px",minHeight:"450px"},statement:{border:"1px solid #DADADA",padding:8,marginBottom:8,borderRadius:4},labelCol:{fontWeight:"bold"}},u.OR),u.qg),u.oO),(0,u.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=(0,O.TL)(),r=(0,s.s0)(),l=(0,s.UO)(),d=(0,a.v9)(z.$4),u=(0,o.useState)(null),S=(0,i.Z)(u,2),M=S[0],N=S[1],R=(0,o.useState)([]),k=(0,i.Z)(R,2),F=k[0],H=k[1],G=(0,o.useState)([]),U=(0,i.Z)(G,2),W=U[0],_=U[1],V=(0,o.useState)([]),K=(0,i.Z)(V,2),Y=K[0],J=K[1],q=(0,o.useState)(!1),Q=(0,i.Z)(q,2),X=Q[0],$=Q[1],ee=(0,L.IO)(l.policyName||""),ne=(0,o.useState)(""),te=(0,i.Z)(ne,2),ie=te[0],re=te[1],oe=(0,o.useState)(!0),ae=(0,i.Z)(oe,2),se=ae[0],ce=ae[1],le=(0,o.useState)(""),de=(0,i.Z)(le,2),ue=de[0],pe=de[1],he=(0,o.useState)(!0),fe=(0,i.Z)(he,2),xe=fe[0],me=fe[1],ve=(0,o.useState)(""),Ze=(0,i.Z)(ve,2),be=Ze[0],je=Ze[1],ge=(0,o.useState)(!0),ye=(0,i.Z)(ge,2),Ce=ye[0],Ee=ye[1],Pe=(0,o.useState)(!1),we=(0,i.Z)(Pe,2),Se=we[0],Me=we[1],Ne=d&&d.includes("ldap-idp")||!1,Re=(0,w.F)(P.C3,P.K6,!0),Te=(0,w.F)(P.C3,P.k_,!0),ke=(0,w.F)(P.C3,P.Rs,!0),Fe=(0,w.F)(P.C3,P.iw,!0),Ae=(0,w.F)(P.C3,P.GD,!0),Le=(0,w.F)(P.C3,P.bE,!0),Ie=(0,w.F)(P.C3,P.XM,!0);(0,o.useEffect)((function(){se&&(se&&(Ae?m.Z.invoke("GET","/api/v1/policy/".concat((0,L.LL)(ee))).then((function(e){if(e){N(e),re(e?JSON.stringify(JSON.parse(e.policy),null,4):"");var n=JSON.parse(e.policy);H(n.Statement)}ce(!1)})).catch((function(e){t((0,I.Ih)(e)),ce(!1)})):ce(!1)),xe&&(ke&&!Ne?m.Z.invoke("GET","/api/v1/policies/".concat((0,L.LL)(ee),"/users")).then((function(e){_(e),me(!1)})).catch((function(e){t((0,I.Ih)(e)),me(!1)})):me(!1)),Ce&&(Re&&!Ne?m.Z.invoke("GET","/api/v1/policies/".concat((0,L.LL)(ee),"/groups")).then((function(e){J(e),Ee(!1)})).catch((function(e){t((0,I.Ih)(e)),Ee(!1)})):Ee(!1)))}),[ee,se,xe,Ce,_,J,re,N,me,Ee,ke,Re,Ae,Ne,t]);var ze=""!==ee.trim(),Oe=[{type:"view",onClick:function(e){r("".concat(P.gA.USERS,"/").concat((0,L.LL)(e)))},disableButtonFunction:function(){return!Fe}}],Be=W.filter((function(e){return e.includes(ue)})),De=[{type:"view",onClick:function(e){r("".concat(P.gA.GROUPS,"/").concat((0,L.LL)(e)))},disableButtonFunction:function(){return!Te}}],He=Y.filter((function(e){return e.includes(be)})),Ge=function(){me(!0),Ee(!0),ce(!0)};return(0,T.jsxs)(o.Fragment,{children:[Se&&(0,T.jsx)(D,{deleteOpen:Se,selectedPolicy:ee,closeDeleteModalAndRefresh:function(e){Me(!1),r(P.gA.POLICIES)}}),(0,T.jsx)(v.Z,{label:(0,T.jsx)(o.Fragment,{children:(0,T.jsx)(E.Z,{to:P.gA.POLICIES,label:"Policy"})})}),(0,T.jsxs)(y.Z,{className:n.pageContainer,children:[(0,T.jsx)(h.ZP,{item:!0,xs:12,children:(0,T.jsx)(g.Z,{icon:(0,T.jsx)(o.Fragment,{children:(0,T.jsx)(c.v42,{width:40})}),title:ee,subTitle:(0,T.jsx)(o.Fragment,{children:"IAM Policy"}),actions:(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(w.s,{scopes:[P.Ft.ADMIN_DELETE_POLICY],resource:P.C3,errorProps:{disabled:!0},children:(0,T.jsx)(B.Z,{tooltip:Le?"":(0,P.MK)(P.bE,"delete Policies"),children:(0,T.jsx)(c.zxk,{id:"delete-policy",label:"Delete Policy",variant:"secondary",icon:(0,T.jsx)(c.XHJ,{}),onClick:function(){Me(!0)},disabled:!Le})})}),(0,T.jsx)(B.Z,{tooltip:"Refresh",children:(0,T.jsx)(c.zxk,{id:"refresh-policy",label:"Refresh",variant:"regular",icon:(0,T.jsx)(c.DuK,{}),onClick:function(){Ge()}})})]})})}),(0,T.jsxs)(C.Z,{children:[{tabConfig:{label:"Summary",disabled:!Ae},content:(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)("div",{className:n.sectionTitle,children:"Policy Summary"}),(0,T.jsx)(p.Z,{className:n.paperContainer,children:(0,T.jsx)(A,{policyStatements:F})})]})},{tabConfig:{label:"Users",disabled:!ke||Ne},content:(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)("div",{className:n.sectionTitle,children:"Users"}),(0,T.jsxs)(h.ZP,{container:!0,children:[W.length>0&&(0,T.jsx)(h.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,T.jsx)(j.Z,{placeholder:"Search Users",className:n.searchField,id:"search-resource",label:"",onChange:function(e){pe(e.target.value)},InputProps:{disableUnderline:!0,startAdornment:(0,T.jsx)(b.Z,{position:"start",children:(0,T.jsx)(c.W1M,{})})},variant:"standard"})}),(0,T.jsx)(x.Z,{itemActions:Oe,columns:[{label:"Name",elementKey:"name"}],isLoading:xe,records:Be,entityName:"Users with this Policy associated",idField:"name"})]})]})},{tabConfig:{label:"Groups",disabled:!Re||Ne},content:(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)("div",{className:n.sectionTitle,children:"Groups"}),(0,T.jsxs)(h.ZP,{container:!0,children:[Y.length>0&&(0,T.jsx)(h.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,T.jsx)(j.Z,{placeholder:"Search Groups",className:n.searchField,id:"search-resource",label:"",onChange:function(e){je(e.target.value)},InputProps:{disableUnderline:!0,startAdornment:(0,T.jsx)(b.Z,{position:"start",children:(0,T.jsx)(c.W1M,{})})},variant:"standard"})}),(0,T.jsx)(x.Z,{itemActions:De,columns:[{label:"Name",elementKey:"name"}],isLoading:Ce,records:He,entityName:"Groups with this Policy associated",idField:"name"})]})]})},{tabConfig:{label:"Raw Policy",disabled:!Ae},content:(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)("div",{className:n.sectionTitle,children:"Raw Policy"}),(0,T.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),X||($(!0),Ie?m.Z.invoke("POST","/api/v1/policies",{name:ee,policy:ie}).then((function(e){$(!1),t((0,I.y1)("Policy successfully updated")),Ge()})).catch((function(e){$(!1),t((0,I.Ih)(e))})):$(!1))},children:(0,T.jsxs)(h.ZP,{container:!0,children:[(0,T.jsx)(h.ZP,{item:!0,xs:12,children:(0,T.jsx)(Z.Z,{readOnly:!Ie,value:ie,onBeforeChange:function(e,n,t){re(t)},editorHeight:"350px"})}),(0,T.jsxs)(h.ZP,{item:!0,xs:12,className:n.buttonContainer,children:[!M&&(0,T.jsx)("button",{type:"button",color:"primary",className:n.clearButton,onClick:function(){re("{}")},children:"Clear"}),(0,T.jsx)(w.s,{scopes:[P.Ft.ADMIN_CREATE_POLICY],resource:P.C3,errorProps:{disabled:!0},children:(0,T.jsx)(B.Z,{tooltip:Ie?"":(0,P.MK)(P.XM,"edit a Policy"),children:(0,T.jsx)(c.zxk,{id:"save",type:"submit",variant:"callAction",color:"primary",disabled:X||!ze||!Ie,label:"Save"})})})]}),X&&(0,T.jsx)(h.ZP,{item:!0,xs:12,children:(0,T.jsx)(f.Z,{})})]})})]})}]})]})]})}))},26759:function(e,n,t){"use strict";var i=t(64836);n.Z=void 0;var r=i(t(45649)),o=t(80184),a=(0,r.default)((0,o.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");n.Z=a},70366:function(e,n,t){"use strict";var i=t(64836);n.Z=void 0;var r=i(t(45649)),o=t(80184),a=(0,r.default)((0,o.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");n.Z=a},97911:function(e,n,t){"use strict";var i=t(64836);n.Z=void 0;var r=i(t(45649)),o=t(80184),a=(0,r.default)((0,o.jsx)("path",{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}),"ViewColumn");n.Z=a},83449:function(e,n,t){"use strict";t.d(n,{ZP:function(){return s},_i:function(){return c},pQ:function(){return d},uU:function(){return l}});var i=t(29439),r=t(72791),o=t(80184),a=r.createContext(null);function s(e){var n=e.children,t=e.value,s=function(){var e=r.useState(null),n=(0,i.Z)(e,2),t=n[0],o=n[1];return r.useEffect((function(){o("mui-p-".concat(Math.round(1e5*Math.random())))}),[]),t}(),c=r.useMemo((function(){return{idPrefix:s,value:t}}),[s,t]);return(0,o.jsx)(a.Provider,{value:c,children:n})}function c(){return r.useContext(a)}function l(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-P-").concat(n)}function d(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-T-").concat(n)}},47283:function(e,n,t){"use strict";var i=t(87462),r=t(63366),o=t(72791),a=t(18073),s=t(83449),c=t(80184),l=["children"],d=o.forwardRef((function(e,n){var t=e.children,d=(0,r.Z)(e,l),u=(0,s._i)();if(null===u)throw new TypeError("No TabContext provided");var p=o.Children.map(t,(function(e){return o.isValidElement(e)?o.cloneElement(e,{"aria-controls":(0,s.uU)(u,e.props.value),id:(0,s.pQ)(u,e.props.value)}):null}));return(0,c.jsx)(a.Z,(0,i.Z)({},d,{ref:n,value:u.value,children:p}))}));n.Z=d},82851:function(e,n,t){"use strict";t.d(n,{Z:function(){return m}});var i=t(87462),r=t(63366),o=t(72791),a=t(28182),s=t(66934),c=t(31402),l=t(94419),d=t(21217);function u(e){return(0,d.Z)("MuiTabPanel",e)}(0,t(75878).Z)("MuiTabPanel",["root"]);var p=t(83449),h=t(80184),f=["children","className","value"],x=(0,s.ZP)("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:function(e,n){return n.root}})((function(e){return{padding:e.theme.spacing(3)}})),m=o.forwardRef((function(e,n){var t=(0,c.Z)({props:e,name:"MuiTabPanel"}),o=t.children,s=t.className,d=t.value,m=(0,r.Z)(t,f),v=(0,i.Z)({},t),Z=function(e){var n=e.classes;return(0,l.Z)({root:["root"]},u,n)}(v),b=(0,p._i)();if(null===b)throw new TypeError("No TabContext provided");var j=(0,p.uU)(b,d),g=(0,p.pQ)(b,d);return(0,h.jsx)(x,(0,i.Z)({"aria-labelledby":g,className:(0,a.Z)(Z.root,s),hidden:d!==b.value,id:j,ref:n,role:"tabpanel",ownerState:v},m,{children:d===b.value&&o}))}))},94454:function(e,n,t){"use strict";t.d(n,{Z:function(){return M}});var i=t(4942),r=t(63366),o=t(87462),a=t(72791),s=t(28182),c=t(94419),l=t(12065),d=t(97278),u=t(76189),p=t(80184),h=(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"),f=(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"),x=(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"),m=t(14036),v=t(31402),Z=t(66934),b=t(75878),j=t(21217);function g(e){return(0,j.Z)("MuiCheckbox",e)}var y=(0,b.Z)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary"]),C=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size","className"],E=(0,Z.ZP)(d.Z,{shouldForwardProp:function(e){return(0,Z.FO)(e)||"classes"===e},name:"MuiCheckbox",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,t.indeterminate&&n.indeterminate,"default"!==t.color&&n["color".concat((0,m.Z)(t.color))]]}})((function(e){var n,t=e.theme,r=e.ownerState;return(0,o.Z)({color:(t.vars||t).palette.text.secondary},!r.disableRipple&&{"&:hover":{backgroundColor:t.vars?"rgba(".concat("default"===r.color?t.vars.palette.action.activeChannel:t.vars.palette.primary.mainChannel," / ").concat(t.vars.palette.action.hoverOpacity,")"):(0,l.Fq)("default"===r.color?t.palette.action.active:t.palette[r.color].main,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==r.color&&(n={},(0,i.Z)(n,"&.".concat(y.checked,", &.").concat(y.indeterminate),{color:(t.vars||t).palette[r.color].main}),(0,i.Z)(n,"&.".concat(y.disabled),{color:(t.vars||t).palette.action.disabled}),n))})),P=(0,p.jsx)(f,{}),w=(0,p.jsx)(h,{}),S=(0,p.jsx)(x,{}),M=a.forwardRef((function(e,n){var t,i,l=(0,v.Z)({props:e,name:"MuiCheckbox"}),d=l.checkedIcon,u=void 0===d?P:d,h=l.color,f=void 0===h?"primary":h,x=l.icon,Z=void 0===x?w:x,b=l.indeterminate,j=void 0!==b&&b,y=l.indeterminateIcon,M=void 0===y?S:y,N=l.inputProps,R=l.size,T=void 0===R?"medium":R,k=l.className,F=(0,r.Z)(l,C),A=j?M:Z,L=j?M:u,I=(0,o.Z)({},l,{color:f,indeterminate:j,size:T}),z=function(e){var n=e.classes,t=e.indeterminate,i=e.color,r={root:["root",t&&"indeterminate","color".concat((0,m.Z)(i))]},a=(0,c.Z)(r,g,n);return(0,o.Z)({},n,a)}(I);return(0,p.jsx)(E,(0,o.Z)({type:"checkbox",inputProps:(0,o.Z)({"data-indeterminate":j},N),icon:a.cloneElement(A,{fontSize:null!=(t=A.props.fontSize)?t:T}),checkedIcon:a.cloneElement(L,{fontSize:null!=(i=L.props.fontSize)?i:T}),ownerState:I,ref:n,className:(0,s.Z)(z.root,k)},F,{classes:z}))}))},95193:function(e,n,t){"use strict";var i;t.d(n,{Z:function(){return p}});var r=t(29439),o=t(72791),a=t(69120),s=t(33073),c=t(40162);function l(e,n,t,i,a){var s="undefined"!==typeof window&&"undefined"!==typeof window.matchMedia,l=o.useState((function(){return a&&s?t(e).matches:i?i(e).matches:n})),d=(0,r.Z)(l,2),u=d[0],p=d[1];return(0,c.Z)((function(){var n=!0;if(s){var i=t(e),r=function(){n&&p(i.matches)};return r(),i.addListener(r),function(){n=!1,i.removeListener(r)}}}),[e,t,s]),u}var d=(i||(i=t.t(o,2))).useSyncExternalStore;function u(e,n,t,i){var a=o.useCallback((function(){return n}),[n]),s=o.useMemo((function(){if(null!==i){var n=i(e).matches;return function(){return n}}return a}),[a,e,i]),c=o.useMemo((function(){if(null===t)return[a,function(){return function(){}}];var n=t(e);return[function(){return n.matches},function(e){return n.addListener(e),function(){n.removeListener(e)}}]}),[a,t,e]),l=(0,r.Z)(c,2),u=l[0],p=l[1];return d(p,u,s)}function p(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=(0,a.Z)(),i="undefined"!==typeof window&&"undefined"!==typeof window.matchMedia,r=(0,s.Z)({name:"MuiUseMediaQuery",props:n,theme:t}),o=r.defaultMatches,c=void 0!==o&&o,p=r.matchMedia,h=void 0===p?i?window.matchMedia:null:p,f=r.ssrMatchMedia,x=void 0===f?null:f,m=r.noSsr;var v="function"===typeof e?e(t):e;v=v.replace(/^@media( ?)/m,"");var Z=void 0!==d?u:l,b=Z(v,c,h,x,m);return b}},26769:function(e,n,t){var i=t(39066),r=t(93629),o=t(43141);e.exports=function(e){return"string"==typeof e||!r(e)&&o(e)&&"[object String]"==i(e)}}}]); +//# sourceMappingURL=1367.7ad56d1c.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1367.7ad56d1c.chunk.js.map b/portal-ui/build/static/js/1367.7ad56d1c.chunk.js.map new file mode 100644 index 000000000..5baba84fc --- /dev/null +++ b/portal-ui/build/static/js/1367.7ad56d1c.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1367.7ad56d1c.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.tsx","screens/Console/Dashboard/BasicDashboard/Utils.tsx","screens/Console/Policies/PolicyView.tsx","screens/Console/Policies/PolicyDetails.tsx","../node_modules/@mui/icons-material/ArrowDropDown.js","../node_modules/@mui/icons-material/ArrowDropUp.js","../node_modules/@mui/icons-material/ViewColumn.js","../node_modules/@mui/lab/TabContext/TabContext.js","../node_modules/@mui/lab/TabList/TabList.js","../node_modules/@mui/lab/TabPanel/tabPanelClasses.js","../node_modules/@mui/lab/TabPanel/TabPanel.js","../node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@mui/material/Checkbox/checkboxClasses.js","../node_modules/@mui/material/Checkbox/Checkbox.js","../node_modules/@mui/material/useMediaQuery/useMediaQuery.js","../node_modules/lodash/isString.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { HelpIcon } from \"mds\";\nimport { fieldBasic } from \"../common/styleLibrary\";\nimport { CopyIcon } from \"mds\";\nimport { Button } from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport CodeEditor from \"@uiw/react-textarea-code-editor\";\nimport TooltipWrapper from \"../../TooltipWrapper/TooltipWrapper\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n classes: any;\n onChange?: (editor: any, data: any, value: string) => any;\n onBeforeChange: (editor: any, data: any, value: string) => any;\n readOnly?: boolean;\n editorHeight?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n });\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n classes,\n onBeforeChange,\n readOnly = false,\n editorHeight = \"250px\",\n}: ICodeWrapper) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n\n \n {\n onBeforeChange(null, null, evn.target.value);\n }}\n id={\"code_wrapper\"}\n padding={15}\n style={{\n fontSize: 12,\n backgroundColor: \"#fefefe\",\n fontFamily:\n \"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace\",\n minHeight: editorHeight || \"initial\",\n color: \"#000000\",\n }}\n />\n \n \n \n \n \n }\n color={\"primary\"}\n variant={\"regular\"}\n />\n \n \n \n \n
\n );\n};\n\nexport default withStyles(styles)(CodeMirrorWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport { SearchIcon } from \"mds\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\n","import React, { useState, useEffect } from \"react\";\nimport { Box, Tab, TabProps } from \"@mui/material\";\nimport { TabContext, TabList, TabPanel } from \"@mui/lab\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme, useTheme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\nimport { useLocation } from \"react-router-dom\";\n\nexport type TabItemProps = {\n tabConfig: TabProps | any;\n content?: JSX.Element | JSX.Element[];\n};\n\ntype VerticalTabsProps = {\n classes: any;\n children: TabItemProps[];\n selectedTab?: string;\n routes?: any;\n isRouteTabs?: boolean;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n tabsContainer: {\n display: \"flex\",\n height: \"100%\",\n width: \"100%\",\n },\n tabsHeaderContainer: {\n width: \"300px\",\n background: \"#F8F8F8\",\n borderRight: \"1px solid #EAEAEA\",\n \"& .MuiTabs-root\": {\n \"& .MuiTabs-indicator\": {\n display: \"none\",\n },\n \"& .MuiTab-root\": {\n display: \"flex\",\n flexFlow: \"row\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n borderBottom: \"1px solid #EAEAEA\",\n \"& .MuiSvgIcon-root\": {\n marginRight: 8,\n marginBottom: 0,\n },\n \"&.Mui-selected\": {\n background: \"#E5E5E5\",\n fontWeight: 600,\n },\n },\n\n \"&. MuiTabs-scroller\": {\n display: \"none\",\n },\n },\n },\n tabContentContainer: {\n width: \"100%\",\n \"& .MuiTabPanel-root\": {\n height: \"100%\",\n },\n },\n tabPanel: {\n height: \"100%\",\n },\n /*Below md breakpoint make it horizontal and style it for scrolling tabs*/\n \"@media (max-width: 900px)\": {\n tabsContainer: {\n flexFlow: \"column\",\n flexDirection: \"column\",\n },\n tabsHeaderContainer: {\n width: \"100%\",\n borderBottom: \" 1px solid #EAEAEA\",\n \"& .MuiTabs-root .MuiTabs-scroller .MuiButtonBase-root\": {\n borderBottom: \" 0px\",\n },\n },\n },\n });\n\nconst tabStripStyle = {\n minHeight: 60,\n};\n\nconst VerticalTabs = ({\n children,\n classes,\n selectedTab = \"0\",\n routes,\n isRouteTabs,\n}: VerticalTabsProps) => {\n const theme = useTheme();\n const { pathname = \"\" } = useLocation();\n\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const [value, setValue] = useState(selectedTab);\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n useEffect(() => {\n if (isRouteTabs) {\n const tabConfigElement = children.find(\n (item) => item.tabConfig.to === pathname\n );\n\n if (tabConfigElement) {\n setValue(tabConfigElement.tabConfig.value);\n }\n }\n }, [isRouteTabs, children, pathname]);\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\n });\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n return (\n \n \n \n \n {headerList.map((item, index) => {\n if (item) {\n return (\n \n );\n }\n return null;\n })}\n \n \n\n \n {!isRouteTabs\n ? contentList.map((item, index) => {\n return (\n \n {item ? item : null}\n \n );\n })\n : null}\n {isRouteTabs ? (\n
{routes}
\n ) : null}\n
\n
\n
\n );\n};\n\nexport default withStyles(styles)(VerticalTabs);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const STATUS_COLORS = {\n RED: \"#C83B51\",\n GREEN: \"#4CCB92\",\n YELLOW: \"#E7A219\",\n};\n\nexport const getDriveStatusColor = (\n activeDisks: number,\n totalDrives: number\n) => {\n if (activeDisks <= totalDrives / 2) {\n return STATUS_COLORS.RED;\n }\n if (totalDrives !== 2 && activeDisks === totalDrives / 2 + 1) {\n return STATUS_COLORS.YELLOW;\n }\n if (activeDisks === totalDrives) {\n return STATUS_COLORS.GREEN;\n }\n};\n\nexport const serverStatusColor = (health_status: string) => {\n switch (health_status) {\n case \"offline\":\n return STATUS_COLORS.RED;\n case \"online\":\n return STATUS_COLORS.GREEN;\n default:\n return STATUS_COLORS.YELLOW;\n }\n};\nexport const getNetworkStatusColor = (\n activeNetwork: number,\n networkTotal: number\n) => {\n if (activeNetwork <= networkTotal / 2) {\n return STATUS_COLORS.RED;\n }\n if (activeNetwork === networkTotal / 2 + 1) {\n return STATUS_COLORS.YELLOW;\n }\n if (activeNetwork === networkTotal) {\n return STATUS_COLORS.GREEN;\n }\n};\n","// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { IAMStatement } from \"./types\";\nimport { Box } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport SearchBox from \"../Common/SearchBox\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"../Common/FormComponents/common/styleLibrary\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { DisabledIcon, EnabledIcon } from \"mds\";\nimport { STATUS_COLORS } from \"../Dashboard/BasicDashboard/Utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n maxWidth: 380,\n },\n });\n\nconst rowGridStyle = {\n display: \"grid\",\n gridTemplateColumns: \"60px 1fr\",\n gap: \"15px\",\n};\n\nconst escapeRegExp = (str = \"\") =>\n str.replace(/([.?*+^$[\\]\\\\(){}|-])/g, \"\\\\$1\");\n\nconst Highlight = ({ search = \"\", children = \"\" }): any => {\n const txtParts = new RegExp(`(${escapeRegExp(search)})`, \"i\");\n const parts = String(children).split(txtParts);\n\n if (search) {\n return parts.map((part, index) =>\n txtParts.test(part) ? {part} : part\n );\n } else {\n return children;\n }\n};\n\nconst PolicyView = ({\n policyStatements,\n classes = {},\n}: {\n policyStatements: IAMStatement[];\n classes?: any;\n}) => {\n const [filter, setFilter] = useState(\"\");\n\n return (\n \n \n \n Statements\n \n \n \n \n {policyStatements.map((stmt, i) => {\n const effect = stmt.Effect;\n const isAllow = effect === \"Allow\";\n return (\n \n \n Effect:\n \n {isAllow ? : }\n {effect}\n \n \n\n \n \n Actions:\n \n {stmt.Action &&\n stmt.Action.map((act, actIndex) => (\n
\n {act}\n
\n ))}\n
\n
\n \n Resources:\n \n {stmt.Resource &&\n stmt.Resource.map((res, resIndex) => (\n
\n {\" \"}\n {res}\n
\n ))}\n
\n
\n \n \n );\n })}\n
\n \n );\n};\n\nexport default withStyles(styles)(PolicyView);\n","// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { IAMPolicy, IAMStatement, Policy } from \"./types\";\nimport { useSelector } from \"react-redux\";\nimport { useNavigate, useParams } from \"react-router-dom\";\nimport { Button } from \"mds\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n actionsTray,\n containerForHeader,\n modalBasic,\n searchField,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport Paper from \"@mui/material/Paper\";\nimport Grid from \"@mui/material/Grid\";\nimport { LinearProgress } from \"@mui/material\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport api from \"../../../common/api\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\n\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport TextField from \"@mui/material/TextField\";\nimport ScreenTitle from \"../Common/ScreenTitle/ScreenTitle\";\nimport { IAMPoliciesIcon, RefreshIcon, SearchIcon, TrashIcon } from \"mds\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport VerticalTabs from \"../Common/VerticalTabs/VerticalTabs\";\nimport BackLink from \"../../../common/BackLink\";\nimport {\n CONSOLE_UI_RESOURCE,\n createPolicyPermissions,\n deletePolicyPermissions,\n getGroupPermissions,\n IAM_PAGES,\n IAM_SCOPES,\n listGroupPermissions,\n listUsersPermissions,\n permissionTooltipHelper,\n viewPolicyPermissions,\n viewUserPermissions,\n} from \"../../../common/SecureComponent/permissions\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../common/SecureComponent\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\n\nimport PolicyView from \"./PolicyView\";\nimport { decodeURLString, encodeURLString } from \"../../../common/utils\";\nimport { setErrorSnackMessage, setSnackBarMessage } from \"../../../systemSlice\";\nimport { selFeatures } from \"../consoleSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport TooltipWrapper from \"../Common/TooltipWrapper/TooltipWrapper\";\n\nconst DeletePolicy = withSuspense(React.lazy(() => import(\"./DeletePolicy\")));\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n paddingTop: 16,\n \"& button\": {\n marginLeft: 8,\n },\n },\n pageContainer: {\n border: \"1px solid #EAEAEA\",\n height: \"100%\",\n },\n paperContainer: {\n padding: \"15px 15px 15px 50px\",\n minHeight: \"450px\",\n },\n statement: {\n border: \"1px solid #DADADA\",\n padding: 8,\n marginBottom: 8,\n borderRadius: 4,\n },\n labelCol: {\n fontWeight: \"bold\",\n },\n ...actionsTray,\n ...searchField,\n ...modalBasic,\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IPolicyDetailsProps {\n classes: any;\n}\n\nconst PolicyDetails = ({ classes }: IPolicyDetailsProps) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n const params = useParams();\n\n const features = useSelector(selFeatures);\n\n const [policy, setPolicy] = useState(null);\n const [policyStatements, setPolicyStatements] = useState([]);\n const [userList, setUserList] = useState([]);\n const [groupList, setGroupList] = useState([]);\n const [addLoading, setAddLoading] = useState(false);\n\n const policyName = decodeURLString(params.policyName || \"\");\n\n const [policyDefinition, setPolicyDefinition] = useState(\"\");\n const [loadingPolicy, setLoadingPolicy] = useState(true);\n const [filterUsers, setFilterUsers] = useState(\"\");\n const [loadingUsers, setLoadingUsers] = useState(true);\n const [filterGroups, setFilterGroups] = useState(\"\");\n const [loadingGroups, setLoadingGroups] = useState(true);\n const [deleteOpen, setDeleteOpen] = useState(false);\n\n const ldapIsEnabled = (features && features.includes(\"ldap-idp\")) || false;\n\n const displayGroups = hasPermission(\n CONSOLE_UI_RESOURCE,\n listGroupPermissions,\n true\n );\n\n const viewGroup = hasPermission(\n CONSOLE_UI_RESOURCE,\n getGroupPermissions,\n true\n );\n\n const displayUsers = hasPermission(\n CONSOLE_UI_RESOURCE,\n listUsersPermissions,\n true\n );\n\n const viewUser = hasPermission(\n CONSOLE_UI_RESOURCE,\n viewUserPermissions,\n true\n );\n\n const displayPolicy = hasPermission(\n CONSOLE_UI_RESOURCE,\n viewPolicyPermissions,\n true\n );\n\n const canDeletePolicy = hasPermission(\n CONSOLE_UI_RESOURCE,\n deletePolicyPermissions,\n true\n );\n\n const canEditPolicy = hasPermission(\n CONSOLE_UI_RESOURCE,\n createPolicyPermissions,\n true\n );\n\n const saveRecord = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n if (canEditPolicy) {\n api\n .invoke(\"POST\", \"/api/v1/policies\", {\n name: policyName,\n policy: policyDefinition,\n })\n .then((_) => {\n setAddLoading(false);\n dispatch(setSnackBarMessage(\"Policy successfully updated\"));\n refreshPolicyDetails();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n dispatch(setErrorSnackMessage(err));\n });\n } else {\n setAddLoading(false);\n }\n };\n\n useEffect(() => {\n const loadUsersForPolicy = () => {\n if (loadingUsers) {\n if (displayUsers && !ldapIsEnabled) {\n api\n .invoke(\n \"GET\",\n `/api/v1/policies/${encodeURLString(policyName)}/users`\n )\n .then((result: any) => {\n setUserList(result);\n setLoadingUsers(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoadingUsers(false);\n });\n } else {\n setLoadingUsers(false);\n }\n }\n };\n\n const loadGroupsForPolicy = () => {\n if (loadingGroups) {\n if (displayGroups && !ldapIsEnabled) {\n api\n .invoke(\n \"GET\",\n `/api/v1/policies/${encodeURLString(policyName)}/groups`\n )\n .then((result: any) => {\n setGroupList(result);\n setLoadingGroups(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoadingGroups(false);\n });\n } else {\n setLoadingGroups(false);\n }\n }\n };\n const loadPolicyDetails = () => {\n if (loadingPolicy) {\n if (displayPolicy) {\n api\n .invoke(\"GET\", `/api/v1/policy/${encodeURLString(policyName)}`)\n .then((result: any) => {\n if (result) {\n setPolicy(result);\n setPolicyDefinition(\n result\n ? JSON.stringify(JSON.parse(result.policy), null, 4)\n : \"\"\n );\n const pol: IAMPolicy = JSON.parse(result.policy);\n setPolicyStatements(pol.Statement);\n }\n setLoadingPolicy(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoadingPolicy(false);\n });\n } else {\n setLoadingPolicy(false);\n }\n }\n };\n\n if (loadingPolicy) {\n loadPolicyDetails();\n loadUsersForPolicy();\n loadGroupsForPolicy();\n }\n }, [\n policyName,\n loadingPolicy,\n loadingUsers,\n loadingGroups,\n setUserList,\n setGroupList,\n setPolicyDefinition,\n setPolicy,\n setLoadingUsers,\n setLoadingGroups,\n displayUsers,\n displayGroups,\n displayPolicy,\n ldapIsEnabled,\n dispatch,\n ]);\n\n const resetForm = () => {\n setPolicyDefinition(\"{}\");\n };\n\n const validSave = policyName.trim() !== \"\";\n\n const deletePolicy = () => {\n setDeleteOpen(true);\n };\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n navigate(IAM_PAGES.POLICIES);\n };\n\n const userViewAction = (user: any) => {\n navigate(`${IAM_PAGES.USERS}/${encodeURLString(user)}`);\n };\n const userTableActions = [\n {\n type: \"view\",\n onClick: userViewAction,\n disableButtonFunction: () => !viewUser,\n },\n ];\n\n const filteredUsers = userList.filter((elementItem) =>\n elementItem.includes(filterUsers)\n );\n\n const groupViewAction = (group: any) => {\n navigate(`${IAM_PAGES.GROUPS}/${encodeURLString(group)}`);\n };\n\n const groupTableActions = [\n {\n type: \"view\",\n onClick: groupViewAction,\n disableButtonFunction: () => !viewGroup,\n },\n ];\n\n const filteredGroups = groupList.filter((elementItem) =>\n elementItem.includes(filterGroups)\n );\n\n const refreshPolicyDetails = () => {\n setLoadingUsers(true);\n setLoadingGroups(true);\n setLoadingPolicy(true);\n };\n\n return (\n \n {deleteOpen && (\n \n )}\n \n \n \n }\n />\n\n \n \n \n \n \n }\n title={policyName}\n subTitle={IAM Policy}\n actions={\n \n \n \n }\n onClick={deletePolicy}\n disabled={!canDeletePolicy}\n />\n \n \n\n \n }\n onClick={() => {\n refreshPolicyDetails();\n }}\n />\n \n \n }\n />\n \n\n \n {{\n tabConfig: { label: \"Summary\", disabled: !displayPolicy },\n content: (\n \n
Policy Summary
\n \n \n \n
\n ),\n }}\n {{\n tabConfig: {\n label: \"Users\",\n disabled: !displayUsers || ldapIsEnabled,\n },\n content: (\n \n
Users
\n \n {userList.length > 0 && (\n \n {\n setFilterUsers(val.target.value);\n }}\n InputProps={{\n disableUnderline: true,\n startAdornment: (\n \n \n \n ),\n }}\n variant=\"standard\"\n />\n \n )}\n \n \n
\n ),\n }}\n {{\n tabConfig: {\n label: \"Groups\",\n disabled: !displayGroups || ldapIsEnabled,\n },\n content: (\n \n
Groups
\n \n {groupList.length > 0 && (\n \n {\n setFilterGroups(val.target.value);\n }}\n InputProps={{\n disableUnderline: true,\n startAdornment: (\n \n \n \n ),\n }}\n variant=\"standard\"\n />\n \n )}\n \n \n
\n ),\n }}\n {{\n tabConfig: { label: \"Raw Policy\", disabled: !displayPolicy },\n content: (\n \n
Raw Policy
\n ) => {\n saveRecord(e);\n }}\n >\n \n \n {\n setPolicyDefinition(value);\n }}\n editorHeight={\"350px\"}\n />\n \n \n {!policy && (\n {\n resetForm();\n }}\n >\n Clear\n \n )}\n \n \n \n \n \n \n {addLoading && (\n \n \n \n )}\n \n \n
\n ),\n }}\n
\n
\n \n );\n};\n\nexport default withStyles(styles)(PolicyDetails);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\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;","import * as React from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n * @type {React.Context<{ idPrefix: string; value: string } | null>}\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Context = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== 'production') {\n Context.displayName = 'TabContext';\n}\nfunction useUniquePrefix() {\n const [id, setId] = React.useState(null);\n React.useEffect(() => {\n setId(`mui-p-${Math.round(Math.random() * 1e5)}`);\n }, []);\n return id;\n}\nexport default function TabContext(props) {\n const {\n children,\n value\n } = props;\n const idPrefix = useUniquePrefix();\n const context = React.useMemo(() => {\n return {\n idPrefix,\n value\n };\n }, [idPrefix, value]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: context,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? TabContext.propTypes /* 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 value of the currently selected `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\n\n/**\n * @returns {unknown}\n */\nexport function useTabContext() {\n return React.useContext(Context);\n}\nexport function getPanelId(context, value) {\n const {\n idPrefix\n } = context;\n if (idPrefix === null) {\n return null;\n }\n return `${context.idPrefix}-P-${value}`;\n}\nexport function getTabId(context, value) {\n const {\n idPrefix\n } = context;\n if (idPrefix === null) {\n return null;\n }\n return `${context.idPrefix}-T-${value}`;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@mui/material/Tabs';\nimport { useTabContext, getTabId, getPanelId } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabList = /*#__PURE__*/React.forwardRef(function TabList(props, ref) {\n const {\n children: childrenProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = useTabContext();\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n return /*#__PURE__*/React.cloneElement(child, {\n // SOMEDAY: `Tabs` will set those themselves\n 'aria-controls': getPanelId(context, child.props.value),\n id: getTabId(context, child.props.value)\n });\n });\n return /*#__PURE__*/_jsx(Tabs, _extends({}, other, {\n ref: ref,\n value: context.value,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabList.propTypes /* 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 * A list of `` elements.\n */\n children: PropTypes.node\n} : void 0;\nexport default TabList;","import generateUtilityClass from '@mui/material/generateUtilityClass';\nimport generateUtilityClasses from '@mui/material/generateUtilityClasses';\nexport function getTabPanelUtilityClass(slot) {\n return generateUtilityClass('MuiTabPanel', slot);\n}\nconst tabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root']);\nexport default tabPanelClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { getTabPanelUtilityClass } from './tabPanelClasses';\nimport { getPanelId, getTabId, useTabContext } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTabPanelUtilityClass, classes);\n};\nconst TabPanelRoot = styled('div', {\n name: 'MuiTabPanel',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(3)\n}));\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabPanel'\n });\n const {\n children,\n className,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props);\n const classes = useUtilityClasses(ownerState);\n const context = useTabContext();\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n const id = getPanelId(context, value);\n const tabId = getTabId(context, value);\n return /*#__PURE__*/_jsx(TabPanelRoot, _extends({\n \"aria-labelledby\": tabId,\n className: clsx(classes.root, className),\n hidden: value !== context.value,\n id: id,\n ref: ref,\n role: \"tabpanel\",\n ownerState: ownerState\n }, other, {\n children: value === context.value && children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.propTypes /* 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 /**\n * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when\n * no `value` was passed to `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\nexport default TabPanel;","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\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 */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\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 */\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';\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\nfunction useMediaQueryOld(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr) {\n const supportMatchMedia = typeof window !== 'undefined' && typeof window.matchMedia !== 'undefined';\n const [match, setMatch] = React.useState(() => {\n if (noSsr && supportMatchMedia) {\n return matchMedia(query).matches;\n }\n 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 (!supportMatchMedia) {\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, supportMatchMedia]);\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) {\n const getDefaultSnapshot = React.useCallback(() => defaultMatches, [defaultMatches]);\n const getServerSnapshot = React.useMemo(() => {\n if (ssrMatchMedia !== null) {\n const {\n matches\n } = ssrMatchMedia(query);\n return () => matches;\n }\n return getDefaultSnapshot;\n }, [getDefaultSnapshot, query, ssrMatchMedia]);\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\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}","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n"],"names":["withStyles","theme","createStyles","fieldBasic","value","label","tooltip","mode","classes","onBeforeChange","readOnly","editorHeight","item","xs","sx","marginBottom","className","inputLabel","tooltipContainer","title","placement","style","maxHeight","overflow","border","language","onChange","evn","target","id","padding","fontSize","backgroundColor","fontFamily","minHeight","color","background","borderTop","display","alignItems","paddingRight","justifyContent","height","width","marginLeft","text","type","icon","variant","searchField","adornment","placeholder","adornmentPosition","overrideClass","inputProps","disableUnderline","position","InputProps","e","tabStripStyle","tabsContainer","tabsHeaderContainer","borderRight","flexFlow","borderBottom","marginRight","fontWeight","tabContentContainer","tabPanel","flexDirection","children","selectedTab","routes","isRouteTabs","useTheme","useLocation","pathname","isSmallScreen","useMediaQuery","breakpoints","down","useState","setValue","headerList","contentList","useEffect","tabConfigElement","find","tabConfig","to","forEach","child","push","content","event","newValue","orientation","scrollButtons","tabList","map","index","tabHeader","disableRipple","disableTouchRipple","focusRipple","STATUS_COLORS","RED","GREEN","YELLOW","getDriveStatusColor","activeDisks","totalDrives","serverStatusColor","health_status","getNetworkStatusColor","activeNetwork","networkTotal","rowGridStyle","gridTemplateColumns","gap","Highlight","search","txtParts","RegExp","str","replace","escapeRegExp","parts","String","split","part","test","maxWidth","policyStatements","filter","setFilter","Grid","container","Box","sm","SearchBox","paddingTop","stmt","i","effect","Effect","isAllow","fill","Action","act","actIndex","Resource","res","resIndex","DeletePolicy","withSuspense","React","buttonContainer","pageContainer","paperContainer","statement","borderRadius","labelCol","actionsTray","modalBasic","containerForHeader","spacing","dispatch","useAppDispatch","navigate","useNavigate","params","useParams","features","useSelector","selFeatures","policy","setPolicy","setPolicyStatements","userList","setUserList","groupList","setGroupList","addLoading","setAddLoading","policyName","decodeURLString","policyDefinition","setPolicyDefinition","loadingPolicy","setLoadingPolicy","filterUsers","setFilterUsers","loadingUsers","setLoadingUsers","filterGroups","setFilterGroups","loadingGroups","setLoadingGroups","deleteOpen","setDeleteOpen","ldapIsEnabled","includes","displayGroups","hasPermission","CONSOLE_UI_RESOURCE","listGroupPermissions","viewGroup","getGroupPermissions","displayUsers","listUsersPermissions","viewUser","viewUserPermissions","displayPolicy","viewPolicyPermissions","canDeletePolicy","deletePolicyPermissions","canEditPolicy","createPolicyPermissions","api","encodeURLString","then","result","JSON","stringify","parse","pol","Statement","catch","err","setErrorSnackMessage","validSave","trim","userTableActions","onClick","user","IAM_PAGES","disableButtonFunction","filteredUsers","elementItem","groupTableActions","group","filteredGroups","refreshPolicyDetails","Fragment","selectedPolicy","closeDeleteModalAndRefresh","refresh","PageHeader","BackLink","PageLayout","ScreenTitle","subTitle","actions","SecureComponent","scopes","IAM_SCOPES","resource","errorProps","disabled","TooltipWrapper","permissionTooltipHelper","VerticalTabs","sectionTitle","Paper","length","TextField","val","startAdornment","InputAdornment","TableWrapper","itemActions","columns","elementKey","isLoading","records","entityName","idField","noValidate","autoComplete","onSubmit","preventDefault","name","_","setSnackBarMessage","CodeMirrorWrapper","editor","data","clearButton","LinearProgress","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","Context","TabContext","props","idPrefix","setId","Math","round","random","useUniquePrefix","context","_jsx","Provider","useTabContext","getPanelId","getTabId","_excluded","TabList","ref","childrenProp","other","_objectWithoutPropertiesLoose","TypeError","Tabs","_extends","getTabPanelUtilityClass","slot","generateUtilityClass","generateUtilityClasses","TabPanelRoot","styled","overridesResolver","styles","root","inProps","useThemeProps","ownerState","composeClasses","useUtilityClasses","tabId","clsx","hidden","role","createSvgIcon","getCheckboxUtilityClass","CheckboxRoot","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","indeterminate","capitalize","vars","palette","secondary","action","activeChannel","primary","mainChannel","hoverOpacity","alpha","active","main","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","_icon$props$fontSize","_indeterminateIcon$pr","checkedIcon","iconProp","indeterminateIcon","indeterminateIconProp","size","slots","composedClasses","useMediaQueryOld","query","defaultMatches","matchMedia","ssrMatchMedia","noSsr","supportMatchMedia","window","matches","match","setMatch","useEnhancedEffect","queryList","updateMatch","addListener","removeListener","maybeReactUseSyncExternalStore","useMediaQueryNew","getDefaultSnapshot","getServerSnapshot","mediaQueryList","notify","getSnapshot","subscribe","queryInput","options","getThemeProps","useMediaQueryImplementation","undefined","baseGetTag","isArray","isObjectLike","module"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1367.e7a5805d.chunk.js b/portal-ui/build/static/js/1367.e7a5805d.chunk.js deleted file mode 100644 index 2e86839a6..000000000 --- a/portal-ui/build/static/js/1367.e7a5805d.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1367,2691],{92217:function(e,n,t){"use strict";var i=t(1413),r=t(72791),o=t(61889),a=t(30829),s=t(20068),c=t(64554),l=t(11135),d=t(25787),u=t(84570),p=t(23814),h=t(56096),f=t(75952),x=t(78029),m=t.n(x),v=t(90932),Z=t(27454),b=t(80184);n.Z=(0,d.Z)((function(e){return(0,l.Z)((0,i.Z)({},p.YI))}))((function(e){var n=e.value,t=e.label,i=void 0===t?"":t,l=e.tooltip,d=void 0===l?"":l,p=e.mode,x=void 0===p?"json":p,j=e.classes,g=e.onBeforeChange,C=(e.readOnly,e.editorHeight),y=void 0===C?"250px":C;return(0,b.jsxs)(r.Fragment,{children:[(0,b.jsx)(o.ZP,{item:!0,xs:12,sx:{marginBottom:"10px"},children:(0,b.jsxs)(a.Z,{className:j.inputLabel,children:[(0,b.jsx)("span",{children:i}),""!==d&&(0,b.jsx)("div",{className:j.tooltipContainer,children:(0,b.jsx)(s.Z,{title:d,placement:"top-start",children:(0,b.jsx)("div",{className:j.tooltip,children:(0,b.jsx)(u.Z,{})})})})]})}),(0,b.jsx)(o.ZP,{item:!0,xs:12,style:{maxHeight:y,overflow:"auto",border:"1px solid #eaeaea"},children:(0,b.jsx)(v.Z,{value:n,language:x,onChange:function(e){g(null,null,e.target.value)},id:"code_wrapper",padding:15,style:{fontSize:12,backgroundColor:"#fefefe",fontFamily:"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace",minHeight:y||"initial",color:"#000000"}})}),(0,b.jsx)(o.ZP,{item:!0,xs:12,sx:{background:"#f7f7f7",border:"1px solid #eaeaea",borderTop:0},children:(0,b.jsx)(c.Z,{sx:{display:"flex",alignItems:"center",padding:"2px",paddingRight:"5px",justifyContent:"flex-end","& button":{height:"26px",width:"26px",padding:"2px"," .min-icon":{marginLeft:"0"}}},children:(0,b.jsx)(Z.Z,{tooltip:"Copy to Clipboard",children:(0,b.jsx)(m(),{text:n,children:(0,b.jsx)(f.zx,{type:"button",id:"copy-code-mirror",icon:(0,b.jsx)(h.TIy,{}),color:"primary",variant:"regular"})})})})})]})}))},59114:function(e,n,t){"use strict";var i=t(4942),r=t(1413),o=(t(72791),t(63466)),a=t(74900),s=t(27391),c=t(25787),l=t(11135),d=t(23814),u=t(80184);n.Z=(0,c.Z)((function(e){return(0,l.Z)({searchField:(0,r.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,r=e.classes,c=e.onChange,l=e.adornmentPosition,d=void 0===l?"end":l,p=e.overrideClass,h=e.value,f=(0,i.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(o.Z,{position:d,className:r.adornment,children:(0,u.jsx)(a.Z,{})}));return(0,u.jsx)(s.Z,{placeholder:t,className:p||r.searchField,id:"search-resource",label:"",InputProps:f,onChange:function(e){c(e.target.value)},variant:"standard",value:h})}))},50276:function(e,n,t){"use strict";var i=t(1413),r=t(29439),o=t(72791),a=t(64554),s=t(43896),c=t(83449),l=t(47283),d=t(82851),u=t(25787),p=t(13967),h=t(11135),f=t(95193),x=t(57689),m=t(80184),v={minHeight:60};n.Z=(0,u.Z)((function(e){return(0,h.Z)({tabsContainer:{display:"flex",height:"100%",width:"100%"},tabsHeaderContainer:{width:"300px",background:"#F8F8F8",borderRight:"1px solid #EAEAEA","& .MuiTabs-root":{"& .MuiTabs-indicator":{display:"none"},"& .MuiTab-root":{display:"flex",flexFlow:"row",alignItems:"center",justifyContent:"flex-start",borderBottom:"1px solid #EAEAEA","& .MuiSvgIcon-root":{marginRight:8,marginBottom:0},"&.Mui-selected":{background:"#E5E5E5",fontWeight:600}},"&. MuiTabs-scroller":{display:"none"}}},tabContentContainer:{width:"100%","& .MuiTabPanel-root":{height:"100%"}},tabPanel:{height:"100%"},"@media (max-width: 900px)":{tabsContainer:{flexFlow:"column",flexDirection:"column"},tabsHeaderContainer:{width:"100%",borderBottom:" 1px solid #EAEAEA","& .MuiTabs-root .MuiTabs-scroller .MuiButtonBase-root":{borderBottom:" 0px"}}}})}))((function(e){var n=e.children,t=e.classes,u=e.selectedTab,h=void 0===u?"0":u,Z=e.routes,b=e.isRouteTabs,j=(0,p.Z)(),g=(0,x.TH)().pathname,C=void 0===g?"":g,y=(0,f.Z)(j.breakpoints.down("md")),E=(0,o.useState)(h),P=(0,r.Z)(E,2),w=P[0],S=P[1],N=[],M=[];if((0,o.useEffect)((function(){if(b){var e=n.find((function(e){return e.tabConfig.to===C}));e&&S(e.tabConfig.value)}}),[b,n,C]),!n)return null;n.forEach((function(e){N.push(e.tabConfig),M.push(e.content)}));return(0,m.jsx)(c.ZP,{value:"".concat(w),children:(0,m.jsxs)(a.Z,{className:t.tabsContainer,children:[(0,m.jsx)(a.Z,{className:t.tabsHeaderContainer,children:(0,m.jsx)(l.Z,{onChange:function(e,n){S(n)},orientation:y?"horizontal":"vertical",variant:y?"scrollable":"standard",scrollButtons:"auto",className:t.tabList,children:N.map((function(e,n){return e?(0,m.jsx)(s.Z,(0,i.Z)((0,i.Z)({className:t.tabHeader,value:"".concat(n),style:v},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(n)):null}))})}),(0,m.jsxs)(a.Z,{className:t.tabContentContainer,children:[b?null:M.map((function(e,n){return(0,m.jsx)(d.Z,{classes:(0,i.Z)({},t.tabPanel),value:"".concat(n),children:e||null},"v-tab-p-".concat(n))})),b?(0,m.jsx)("div",{className:t.tabPanel,children:Z}):null]})]})})}))},879:function(e,n,t){"use strict";t.d(n,{D_:function(){return a},Et:function(){return r},GJ:function(){return o},yh:function(){return i}});var i={RED:"#C83B51",GREEN:"#4CCB92",YELLOW:"#E7A219"},r=function(e,n){return e<=n/2?i.RED:2!==n&&e===n/2+1?i.YELLOW:e===n?i.GREEN:void 0},o=function(e){switch(e){case"offline":return i.RED;case"online":return i.GREEN;default:return i.YELLOW}},a=function(e,n){return e<=n/2?i.RED:e===n/2+1?i.YELLOW:e===n?i.GREEN:void 0}},1191:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return W}});var i=t(29439),r=t(1413),o=t(72791),a=t(78687),s=t(57689),c=t(75952),l=t(11135),d=t(25787),u=t(23814),p=t(35527),h=t(61889),f=t(40986),x=t(92983),m=t(81207),v=t(32291),Z=t(92217),b=t(63466),j=t(27391),g=t(14917),C=t(64244),y=t(28789),E=t(74900),P=t(54599),w=t(74794),S=t(50276),N=t(84669),M=t(56087),R=t(38442),T=t(75578),F=t(64554),k=t(59114),A=t(56096),L=t(879),I=t(80184),z={display:"grid",gridTemplateColumns:"60px 1fr",gap:"15px"},O=function(e){var n=e.search,t=void 0===n?"":n,i=e.children,r=void 0===i?"":i,o=new RegExp("(".concat(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}(t),")"),"i"),a=String(r).split(o);return t?a.map((function(e,n){return o.test(e)?(0,I.jsx)("mark",{children:e},n):e})):r},B=(0,d.Z)((function(e){return(0,l.Z)({searchField:(0,r.Z)((0,r.Z)({},u.qg.searchField),{},{maxWidth:380})})}))((function(e){var n=e.policyStatements,t=e.classes,r=void 0===t?{}:t,a=(0,o.useState)(""),s=(0,i.Z)(a,2),c=s[0],l=s[1];return(0,I.jsxs)(h.ZP,{container:!0,children:[(0,I.jsx)(h.ZP,{item:!0,xs:12,children:(0,I.jsxs)(F.Z,{sx:{display:"grid",gridTemplateColumns:{sm:"1fr 1fr",xs:"1fr"},alignItems:"center",justifyContent:"space-between",gap:"15px"},children:[(0,I.jsx)(F.Z,{children:"Statements"}),(0,I.jsx)(k.Z,{placeholder:"Search",onChange:l,overrideClass:r.searchField,value:c})]})}),(0,I.jsx)(h.ZP,{item:!0,xs:12,sx:{"& .policy-row":{borderBottom:"1px solid #eaeaea"},"& .policy-row:first-child":{borderTop:"1px solid #eaeaea"},"& .policy-row:last-child":{borderBottom:"0px"},paddingTop:"15px","& mark":{color:"#000000",fontWeight:500}},children:n.map((function(e,n){var t=e.Effect,i="Allow"===t;return(0,I.jsxs)(F.Z,{className:"policy-row",sx:{display:"grid",gridTemplateColumns:"1fr",gap:"15px",fontSize:"14px",padding:"10px 0 10px 0","& .label":{fontWeight:600}},children:[(0,I.jsxs)(F.Z,{sx:z,children:[(0,I.jsx)(F.Z,{className:"label",children:"Effect:"}),(0,I.jsxs)(F.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{marginRight:"5px",fill:i?L.yh.GREEN:L.yh.RED,height:"14px",width:"14px"}},children:[i?(0,I.jsx)(A.E31,{}):(0,I.jsx)(A.dRf,{}),t]})]}),(0,I.jsxs)(F.Z,{sx:{display:"grid",gridTemplateColumns:{sm:"1fr 1fr",xs:"1fr"},gap:"15px"},children:[(0,I.jsxs)(F.Z,{sx:z,children:[(0,I.jsx)(F.Z,{className:"label",children:"Actions:"}),(0,I.jsx)(F.Z,{children:e.Action&&e.Action.map((function(e,t){return(0,I.jsx)("div",{children:(0,I.jsx)(O,{search:c,children:e})},"".concat(n,"-r-").concat(t))}))})]}),(0,I.jsxs)(F.Z,{sx:z,children:[(0,I.jsx)(F.Z,{className:"label",children:"Resources:"}),(0,I.jsx)(F.Z,{children:e.Resource&&e.Resource.map((function(e,t){return(0,I.jsxs)("div",{children:[" ",(0,I.jsx)(O,{search:c,children:e})]},"".concat(n,"-r-").concat(t))}))})]})]})]},"".concat(n))}))})]})})),D=t(45248),H=t(87995),G=t(46078),U=t(25469),_=t(27454),V=(0,T.Z)(o.lazy((function(){return t.e(312).then(t.bind(t,312))}))),W=(0,d.Z)((function(e){return(0,l.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({buttonContainer:{display:"flex",justifyContent:"flex-end",paddingTop:16,"& button":{marginLeft:8}},pageContainer:{border:"1px solid #EAEAEA",height:"100%"},paperContainer:{padding:"15px 15px 15px 50px",minHeight:"450px"},statement:{border:"1px solid #DADADA",padding:8,marginBottom:8,borderRadius:4},labelCol:{fontWeight:"bold"}},u.OR),u.qg),u.oO),(0,u.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=(0,U.TL)(),r=(0,s.s0)(),l=(0,s.UO)(),d=(0,a.v9)(G.$4),u=(0,o.useState)(null),T=(0,i.Z)(u,2),F=T[0],k=T[1],A=(0,o.useState)([]),L=(0,i.Z)(A,2),z=L[0],O=L[1],W=(0,o.useState)([]),Y=(0,i.Z)(W,2),K=Y[0],q=Y[1],J=(0,o.useState)([]),Q=(0,i.Z)(J,2),$=Q[0],X=Q[1],ee=(0,o.useState)(!1),ne=(0,i.Z)(ee,2),te=ne[0],ie=ne[1],re=(0,D.IO)(l.policyName||""),oe=(0,o.useState)(""),ae=(0,i.Z)(oe,2),se=ae[0],ce=ae[1],le=(0,o.useState)(!0),de=(0,i.Z)(le,2),ue=de[0],pe=de[1],he=(0,o.useState)(""),fe=(0,i.Z)(he,2),xe=fe[0],me=fe[1],ve=(0,o.useState)(!0),Ze=(0,i.Z)(ve,2),be=Ze[0],je=Ze[1],ge=(0,o.useState)(""),Ce=(0,i.Z)(ge,2),ye=Ce[0],Ee=Ce[1],Pe=(0,o.useState)(!0),we=(0,i.Z)(Pe,2),Se=we[0],Ne=we[1],Me=(0,o.useState)(!1),Re=(0,i.Z)(Me,2),Te=Re[0],Fe=Re[1],ke=d&&d.includes("ldap-idp")||!1,Ae=(0,R.F)(M.C3,M.K6,!0),Le=(0,R.F)(M.C3,M.k_,!0),Ie=(0,R.F)(M.C3,M.Rs,!0),ze=(0,R.F)(M.C3,M.iw,!0),Oe=(0,R.F)(M.C3,M.GD,!0),Be=(0,R.F)(M.C3,M.bE,!0),De=(0,R.F)(M.C3,M.XM,!0);(0,o.useEffect)((function(){ue&&(ue&&(Oe?m.Z.invoke("GET","/api/v1/policy/".concat((0,D.LL)(re))).then((function(e){if(e){k(e),ce(e?JSON.stringify(JSON.parse(e.policy),null,4):"");var n=JSON.parse(e.policy);O(n.Statement)}pe(!1)})).catch((function(e){t((0,H.Ih)(e)),pe(!1)})):pe(!1)),be&&(Ie&&!ke?m.Z.invoke("GET","/api/v1/policies/".concat((0,D.LL)(re),"/users")).then((function(e){q(e),je(!1)})).catch((function(e){t((0,H.Ih)(e)),je(!1)})):je(!1)),Se&&(Ae&&!ke?m.Z.invoke("GET","/api/v1/policies/".concat((0,D.LL)(re),"/groups")).then((function(e){X(e),Ne(!1)})).catch((function(e){t((0,H.Ih)(e)),Ne(!1)})):Ne(!1)))}),[re,ue,be,Se,q,X,ce,k,je,Ne,Ie,Ae,Oe,ke,t]);var He=""!==re.trim(),Ge=[{type:"view",onClick:function(e){r("".concat(M.gA.USERS,"/").concat((0,D.LL)(e)))},disableButtonFunction:function(){return!ze}}],Ue=K.filter((function(e){return e.includes(xe)})),_e=[{type:"view",onClick:function(e){r("".concat(M.gA.GROUPS,"/").concat((0,D.LL)(e)))},disableButtonFunction:function(){return!Le}}],Ve=$.filter((function(e){return e.includes(ye)})),We=function(){je(!0),Ne(!0),pe(!0)};return(0,I.jsxs)(o.Fragment,{children:[Te&&(0,I.jsx)(V,{deleteOpen:Te,selectedPolicy:re,closeDeleteModalAndRefresh:function(e){Fe(!1),r(M.gA.POLICIES)}}),(0,I.jsx)(v.Z,{label:(0,I.jsx)(o.Fragment,{children:(0,I.jsx)(N.Z,{to:M.gA.POLICIES,label:"Policy"})})}),(0,I.jsxs)(w.Z,{className:n.pageContainer,children:[(0,I.jsx)(h.ZP,{item:!0,xs:12,children:(0,I.jsx)(g.Z,{icon:(0,I.jsx)(o.Fragment,{children:(0,I.jsx)(C.Z,{width:40})}),title:re,subTitle:(0,I.jsx)(o.Fragment,{children:"IAM Policy"}),actions:(0,I.jsxs)(o.Fragment,{children:[(0,I.jsx)(R.s,{scopes:[M.Ft.ADMIN_DELETE_POLICY],resource:M.C3,errorProps:{disabled:!0},children:(0,I.jsx)(_.Z,{tooltip:Be?"":(0,M.MK)(M.bE,"delete Policies"),children:(0,I.jsx)(c.zx,{id:"delete-policy",label:"Delete Policy",variant:"secondary",icon:(0,I.jsx)(P.Z,{}),onClick:function(){Fe(!0)},disabled:!Be})})}),(0,I.jsx)(_.Z,{tooltip:"Refresh",children:(0,I.jsx)(c.zx,{id:"refresh-policy",label:"Refresh",variant:"regular",icon:(0,I.jsx)(y.default,{}),onClick:function(){We()}})})]})})}),(0,I.jsxs)(S.Z,{children:[{tabConfig:{label:"Summary",disabled:!Oe},content:(0,I.jsxs)(o.Fragment,{children:[(0,I.jsx)("div",{className:n.sectionTitle,children:"Policy Summary"}),(0,I.jsx)(p.Z,{className:n.paperContainer,children:(0,I.jsx)(B,{policyStatements:z})})]})},{tabConfig:{label:"Users",disabled:!Ie||ke},content:(0,I.jsxs)(o.Fragment,{children:[(0,I.jsx)("div",{className:n.sectionTitle,children:"Users"}),(0,I.jsxs)(h.ZP,{container:!0,children:[K.length>0&&(0,I.jsx)(h.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,I.jsx)(j.Z,{placeholder:"Search Users",className:n.searchField,id:"search-resource",label:"",onChange:function(e){me(e.target.value)},InputProps:{disableUnderline:!0,startAdornment:(0,I.jsx)(b.Z,{position:"start",children:(0,I.jsx)(E.Z,{})})},variant:"standard"})}),(0,I.jsx)(x.Z,{itemActions:Ge,columns:[{label:"Name",elementKey:"name"}],isLoading:be,records:Ue,entityName:"Users with this Policy associated",idField:"name"})]})]})},{tabConfig:{label:"Groups",disabled:!Ae||ke},content:(0,I.jsxs)(o.Fragment,{children:[(0,I.jsx)("div",{className:n.sectionTitle,children:"Groups"}),(0,I.jsxs)(h.ZP,{container:!0,children:[$.length>0&&(0,I.jsx)(h.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,I.jsx)(j.Z,{placeholder:"Search Groups",className:n.searchField,id:"search-resource",label:"",onChange:function(e){Ee(e.target.value)},InputProps:{disableUnderline:!0,startAdornment:(0,I.jsx)(b.Z,{position:"start",children:(0,I.jsx)(E.Z,{})})},variant:"standard"})}),(0,I.jsx)(x.Z,{itemActions:_e,columns:[{label:"Name",elementKey:"name"}],isLoading:Se,records:Ve,entityName:"Groups with this Policy associated",idField:"name"})]})]})},{tabConfig:{label:"Raw Policy",disabled:!Oe},content:(0,I.jsxs)(o.Fragment,{children:[(0,I.jsx)("div",{className:n.sectionTitle,children:"Raw Policy"}),(0,I.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),te||(ie(!0),De?m.Z.invoke("POST","/api/v1/policies",{name:re,policy:se}).then((function(e){ie(!1),t((0,H.y1)("Policy successfully updated")),We()})).catch((function(e){ie(!1),t((0,H.Ih)(e))})):ie(!1))},children:(0,I.jsxs)(h.ZP,{container:!0,children:[(0,I.jsx)(h.ZP,{item:!0,xs:12,children:(0,I.jsx)(Z.Z,{readOnly:!De,value:se,onBeforeChange:function(e,n,t){ce(t)},editorHeight:"350px"})}),(0,I.jsxs)(h.ZP,{item:!0,xs:12,className:n.buttonContainer,children:[!F&&(0,I.jsx)("button",{type:"button",color:"primary",className:n.clearButton,onClick:function(){ce("{}")},children:"Clear"}),(0,I.jsx)(R.s,{scopes:[M.Ft.ADMIN_CREATE_POLICY],resource:M.C3,errorProps:{disabled:!0},children:(0,I.jsx)(_.Z,{tooltip:De?"":(0,M.MK)(M.XM,"edit a Policy"),children:(0,I.jsx)(c.zx,{id:"save",type:"submit",variant:"callAction",color:"primary",disabled:te||!He||!De,label:"Save"})})})]}),te&&(0,I.jsx)(h.ZP,{item:!0,xs:12,children:(0,I.jsx)(f.Z,{})})]})})]})}]})]})]})}))},26759:function(e,n,t){"use strict";var i=t(64836);n.Z=void 0;var r=i(t(45649)),o=t(80184),a=(0,r.default)((0,o.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");n.Z=a},70366:function(e,n,t){"use strict";var i=t(64836);n.Z=void 0;var r=i(t(45649)),o=t(80184),a=(0,r.default)((0,o.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");n.Z=a},97911:function(e,n,t){"use strict";var i=t(64836);n.Z=void 0;var r=i(t(45649)),o=t(80184),a=(0,r.default)((0,o.jsx)("path",{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}),"ViewColumn");n.Z=a},83449:function(e,n,t){"use strict";t.d(n,{ZP:function(){return s},_i:function(){return c},pQ:function(){return d},uU:function(){return l}});var i=t(29439),r=t(72791),o=t(80184),a=r.createContext(null);function s(e){var n=e.children,t=e.value,s=function(){var e=r.useState(null),n=(0,i.Z)(e,2),t=n[0],o=n[1];return r.useEffect((function(){o("mui-p-".concat(Math.round(1e5*Math.random())))}),[]),t}(),c=r.useMemo((function(){return{idPrefix:s,value:t}}),[s,t]);return(0,o.jsx)(a.Provider,{value:c,children:n})}function c(){return r.useContext(a)}function l(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-P-").concat(n)}function d(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-T-").concat(n)}},47283:function(e,n,t){"use strict";var i=t(87462),r=t(63366),o=t(72791),a=t(18073),s=t(83449),c=t(80184),l=["children"],d=o.forwardRef((function(e,n){var t=e.children,d=(0,r.Z)(e,l),u=(0,s._i)();if(null===u)throw new TypeError("No TabContext provided");var p=o.Children.map(t,(function(e){return o.isValidElement(e)?o.cloneElement(e,{"aria-controls":(0,s.uU)(u,e.props.value),id:(0,s.pQ)(u,e.props.value)}):null}));return(0,c.jsx)(a.Z,(0,i.Z)({},d,{ref:n,value:u.value,children:p}))}));n.Z=d},82851:function(e,n,t){"use strict";t.d(n,{Z:function(){return m}});var i=t(87462),r=t(63366),o=t(72791),a=t(28182),s=t(66934),c=t(31402),l=t(94419),d=t(21217);function u(e){return(0,d.Z)("MuiTabPanel",e)}(0,t(75878).Z)("MuiTabPanel",["root"]);var p=t(83449),h=t(80184),f=["children","className","value"],x=(0,s.ZP)("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:function(e,n){return n.root}})((function(e){return{padding:e.theme.spacing(3)}})),m=o.forwardRef((function(e,n){var t=(0,c.Z)({props:e,name:"MuiTabPanel"}),o=t.children,s=t.className,d=t.value,m=(0,r.Z)(t,f),v=(0,i.Z)({},t),Z=function(e){var n=e.classes;return(0,l.Z)({root:["root"]},u,n)}(v),b=(0,p._i)();if(null===b)throw new TypeError("No TabContext provided");var j=(0,p.uU)(b,d),g=(0,p.pQ)(b,d);return(0,h.jsx)(x,(0,i.Z)({"aria-labelledby":g,className:(0,a.Z)(Z.root,s),hidden:d!==b.value,id:j,ref:n,role:"tabpanel",ownerState:v},m,{children:d===b.value&&o}))}))},94454:function(e,n,t){"use strict";t.d(n,{Z:function(){return N}});var i=t(4942),r=t(63366),o=t(87462),a=t(72791),s=t(28182),c=t(94419),l=t(12065),d=t(97278),u=t(76189),p=t(80184),h=(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"),f=(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"),x=(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"),m=t(14036),v=t(31402),Z=t(66934),b=t(75878),j=t(21217);function g(e){return(0,j.Z)("MuiCheckbox",e)}var C=(0,b.Z)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary"]),y=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size","className"],E=(0,Z.ZP)(d.Z,{shouldForwardProp:function(e){return(0,Z.FO)(e)||"classes"===e},name:"MuiCheckbox",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,t.indeterminate&&n.indeterminate,"default"!==t.color&&n["color".concat((0,m.Z)(t.color))]]}})((function(e){var n,t=e.theme,r=e.ownerState;return(0,o.Z)({color:(t.vars||t).palette.text.secondary},!r.disableRipple&&{"&:hover":{backgroundColor:t.vars?"rgba(".concat("default"===r.color?t.vars.palette.action.activeChannel:t.vars.palette.primary.mainChannel," / ").concat(t.vars.palette.action.hoverOpacity,")"):(0,l.Fq)("default"===r.color?t.palette.action.active:t.palette[r.color].main,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==r.color&&(n={},(0,i.Z)(n,"&.".concat(C.checked,", &.").concat(C.indeterminate),{color:(t.vars||t).palette[r.color].main}),(0,i.Z)(n,"&.".concat(C.disabled),{color:(t.vars||t).palette.action.disabled}),n))})),P=(0,p.jsx)(f,{}),w=(0,p.jsx)(h,{}),S=(0,p.jsx)(x,{}),N=a.forwardRef((function(e,n){var t,i,l=(0,v.Z)({props:e,name:"MuiCheckbox"}),d=l.checkedIcon,u=void 0===d?P:d,h=l.color,f=void 0===h?"primary":h,x=l.icon,Z=void 0===x?w:x,b=l.indeterminate,j=void 0!==b&&b,C=l.indeterminateIcon,N=void 0===C?S:C,M=l.inputProps,R=l.size,T=void 0===R?"medium":R,F=l.className,k=(0,r.Z)(l,y),A=j?N:Z,L=j?N:u,I=(0,o.Z)({},l,{color:f,indeterminate:j,size:T}),z=function(e){var n=e.classes,t=e.indeterminate,i=e.color,r={root:["root",t&&"indeterminate","color".concat((0,m.Z)(i))]},a=(0,c.Z)(r,g,n);return(0,o.Z)({},n,a)}(I);return(0,p.jsx)(E,(0,o.Z)({type:"checkbox",inputProps:(0,o.Z)({"data-indeterminate":j},M),icon:a.cloneElement(A,{fontSize:null!=(t=A.props.fontSize)?t:T}),checkedIcon:a.cloneElement(L,{fontSize:null!=(i=L.props.fontSize)?i:T}),ownerState:I,ref:n,className:(0,s.Z)(z.root,F)},k,{classes:z}))}))},95193:function(e,n,t){"use strict";var i;t.d(n,{Z:function(){return p}});var r=t(29439),o=t(72791),a=t(69120),s=t(33073),c=t(40162);function l(e,n,t,i,a){var s="undefined"!==typeof window&&"undefined"!==typeof window.matchMedia,l=o.useState((function(){return a&&s?t(e).matches:i?i(e).matches:n})),d=(0,r.Z)(l,2),u=d[0],p=d[1];return(0,c.Z)((function(){var n=!0;if(s){var i=t(e),r=function(){n&&p(i.matches)};return r(),i.addListener(r),function(){n=!1,i.removeListener(r)}}}),[e,t,s]),u}var d=(i||(i=t.t(o,2))).useSyncExternalStore;function u(e,n,t,i){var a=o.useCallback((function(){return n}),[n]),s=o.useMemo((function(){if(null!==i){var n=i(e).matches;return function(){return n}}return a}),[a,e,i]),c=o.useMemo((function(){if(null===t)return[a,function(){return function(){}}];var n=t(e);return[function(){return n.matches},function(e){return n.addListener(e),function(){n.removeListener(e)}}]}),[a,t,e]),l=(0,r.Z)(c,2),u=l[0],p=l[1];return d(p,u,s)}function p(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=(0,a.Z)(),i="undefined"!==typeof window&&"undefined"!==typeof window.matchMedia,r=(0,s.Z)({name:"MuiUseMediaQuery",props:n,theme:t}),o=r.defaultMatches,c=void 0!==o&&o,p=r.matchMedia,h=void 0===p?i?window.matchMedia:null:p,f=r.ssrMatchMedia,x=void 0===f?null:f,m=r.noSsr;var v="function"===typeof e?e(t):e;v=v.replace(/^@media( ?)/m,"");var Z=void 0!==d?u:l,b=Z(v,c,h,x,m);return b}},26769:function(e,n,t){var i=t(39066),r=t(93629),o=t(43141);e.exports=function(e){return"string"==typeof e||!r(e)&&o(e)&&"[object String]"==i(e)}}}]); -//# sourceMappingURL=1367.e7a5805d.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1367.e7a5805d.chunk.js.map b/portal-ui/build/static/js/1367.e7a5805d.chunk.js.map deleted file mode 100644 index b5ccb85e8..000000000 --- a/portal-ui/build/static/js/1367.e7a5805d.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/1367.e7a5805d.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.tsx","screens/Console/Dashboard/BasicDashboard/Utils.tsx","screens/Console/Policies/PolicyView.tsx","screens/Console/Policies/PolicyDetails.tsx","../node_modules/@mui/icons-material/ArrowDropDown.js","../node_modules/@mui/icons-material/ArrowDropUp.js","../node_modules/@mui/icons-material/ViewColumn.js","../node_modules/@mui/lab/TabContext/TabContext.js","../node_modules/@mui/lab/TabList/TabList.js","../node_modules/@mui/lab/TabPanel/tabPanelClasses.js","../node_modules/@mui/lab/TabPanel/TabPanel.js","../node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@mui/material/Checkbox/checkboxClasses.js","../node_modules/@mui/material/Checkbox/Checkbox.js","../node_modules/@mui/material/useMediaQuery/useMediaQuery.js","../node_modules/lodash/isString.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport { fieldBasic } from \"../common/styleLibrary\";\nimport { CopyIcon } from \"../../../../../icons\";\nimport { Button } from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport CodeEditor from \"@uiw/react-textarea-code-editor\";\nimport TooltipWrapper from \"../../TooltipWrapper/TooltipWrapper\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n classes: any;\n onChange?: (editor: any, data: any, value: string) => any;\n onBeforeChange: (editor: any, data: any, value: string) => any;\n readOnly?: boolean;\n editorHeight?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n });\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n classes,\n onBeforeChange,\n readOnly = false,\n editorHeight = \"250px\",\n}: ICodeWrapper) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n\n \n {\n onBeforeChange(null, null, evn.target.value);\n }}\n id={\"code_wrapper\"}\n padding={15}\n style={{\n fontSize: 12,\n backgroundColor: \"#fefefe\",\n fontFamily:\n \"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace\",\n minHeight: editorHeight || \"initial\",\n color: \"#000000\",\n }}\n />\n \n \n \n \n \n }\n color={\"primary\"}\n variant={\"regular\"}\n />\n \n \n \n \n
\n );\n};\n\nexport default withStyles(styles)(CodeMirrorWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\n","import React, { useState, useEffect } from \"react\";\nimport { Box, Tab, TabProps } from \"@mui/material\";\nimport { TabContext, TabList, TabPanel } from \"@mui/lab\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme, useTheme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\nimport { useLocation } from \"react-router-dom\";\n\nexport type TabItemProps = {\n tabConfig: TabProps | any;\n content?: JSX.Element | JSX.Element[];\n};\n\ntype VerticalTabsProps = {\n classes: any;\n children: TabItemProps[];\n selectedTab?: string;\n routes?: any;\n isRouteTabs?: boolean;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n tabsContainer: {\n display: \"flex\",\n height: \"100%\",\n width: \"100%\",\n },\n tabsHeaderContainer: {\n width: \"300px\",\n background: \"#F8F8F8\",\n borderRight: \"1px solid #EAEAEA\",\n \"& .MuiTabs-root\": {\n \"& .MuiTabs-indicator\": {\n display: \"none\",\n },\n \"& .MuiTab-root\": {\n display: \"flex\",\n flexFlow: \"row\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n borderBottom: \"1px solid #EAEAEA\",\n \"& .MuiSvgIcon-root\": {\n marginRight: 8,\n marginBottom: 0,\n },\n \"&.Mui-selected\": {\n background: \"#E5E5E5\",\n fontWeight: 600,\n },\n },\n\n \"&. MuiTabs-scroller\": {\n display: \"none\",\n },\n },\n },\n tabContentContainer: {\n width: \"100%\",\n \"& .MuiTabPanel-root\": {\n height: \"100%\",\n },\n },\n tabPanel: {\n height: \"100%\",\n },\n /*Below md breakpoint make it horizontal and style it for scrolling tabs*/\n \"@media (max-width: 900px)\": {\n tabsContainer: {\n flexFlow: \"column\",\n flexDirection: \"column\",\n },\n tabsHeaderContainer: {\n width: \"100%\",\n borderBottom: \" 1px solid #EAEAEA\",\n \"& .MuiTabs-root .MuiTabs-scroller .MuiButtonBase-root\": {\n borderBottom: \" 0px\",\n },\n },\n },\n });\n\nconst tabStripStyle = {\n minHeight: 60,\n};\n\nconst VerticalTabs = ({\n children,\n classes,\n selectedTab = \"0\",\n routes,\n isRouteTabs,\n}: VerticalTabsProps) => {\n const theme = useTheme();\n const { pathname = \"\" } = useLocation();\n\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const [value, setValue] = useState(selectedTab);\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n useEffect(() => {\n if (isRouteTabs) {\n const tabConfigElement = children.find(\n (item) => item.tabConfig.to === pathname\n );\n\n if (tabConfigElement) {\n setValue(tabConfigElement.tabConfig.value);\n }\n }\n }, [isRouteTabs, children, pathname]);\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\n });\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n return (\n \n \n \n \n {headerList.map((item, index) => {\n if (item) {\n return (\n \n );\n }\n return null;\n })}\n \n \n\n \n {!isRouteTabs\n ? contentList.map((item, index) => {\n return (\n \n {item ? item : null}\n \n );\n })\n : null}\n {isRouteTabs ? (\n
{routes}
\n ) : null}\n
\n
\n
\n );\n};\n\nexport default withStyles(styles)(VerticalTabs);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const STATUS_COLORS = {\n RED: \"#C83B51\",\n GREEN: \"#4CCB92\",\n YELLOW: \"#E7A219\",\n};\n\nexport const getDriveStatusColor = (\n activeDisks: number,\n totalDrives: number\n) => {\n if (activeDisks <= totalDrives / 2) {\n return STATUS_COLORS.RED;\n }\n if (totalDrives !== 2 && activeDisks === totalDrives / 2 + 1) {\n return STATUS_COLORS.YELLOW;\n }\n if (activeDisks === totalDrives) {\n return STATUS_COLORS.GREEN;\n }\n};\n\nexport const serverStatusColor = (health_status: string) => {\n switch (health_status) {\n case \"offline\":\n return STATUS_COLORS.RED;\n case \"online\":\n return STATUS_COLORS.GREEN;\n default:\n return STATUS_COLORS.YELLOW;\n }\n};\nexport const getNetworkStatusColor = (\n activeNetwork: number,\n networkTotal: number\n) => {\n if (activeNetwork <= networkTotal / 2) {\n return STATUS_COLORS.RED;\n }\n if (activeNetwork === networkTotal / 2 + 1) {\n return STATUS_COLORS.YELLOW;\n }\n if (activeNetwork === networkTotal) {\n return STATUS_COLORS.GREEN;\n }\n};\n","// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { IAMStatement } from \"./types\";\nimport { Box } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport SearchBox from \"../Common/SearchBox\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"../Common/FormComponents/common/styleLibrary\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { DisabledIcon, EnabledIcon } from \"../../../icons\";\nimport { STATUS_COLORS } from \"../Dashboard/BasicDashboard/Utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n maxWidth: 380,\n },\n });\n\nconst rowGridStyle = {\n display: \"grid\",\n gridTemplateColumns: \"60px 1fr\",\n gap: \"15px\",\n};\n\nconst escapeRegExp = (str = \"\") =>\n str.replace(/([.?*+^$[\\]\\\\(){}|-])/g, \"\\\\$1\");\n\nconst Highlight = ({ search = \"\", children = \"\" }): any => {\n const txtParts = new RegExp(`(${escapeRegExp(search)})`, \"i\");\n const parts = String(children).split(txtParts);\n\n if (search) {\n return parts.map((part, index) =>\n txtParts.test(part) ? {part} : part\n );\n } else {\n return children;\n }\n};\n\nconst PolicyView = ({\n policyStatements,\n classes = {},\n}: {\n policyStatements: IAMStatement[];\n classes?: any;\n}) => {\n const [filter, setFilter] = useState(\"\");\n\n return (\n \n \n \n Statements\n \n \n \n \n {policyStatements.map((stmt, i) => {\n const effect = stmt.Effect;\n const isAllow = effect === \"Allow\";\n return (\n \n \n Effect:\n \n {isAllow ? : }\n {effect}\n \n \n\n \n \n Actions:\n \n {stmt.Action &&\n stmt.Action.map((act, actIndex) => (\n
\n {act}\n
\n ))}\n
\n
\n \n Resources:\n \n {stmt.Resource &&\n stmt.Resource.map((res, resIndex) => (\n
\n {\" \"}\n {res}\n
\n ))}\n
\n
\n \n \n );\n })}\n
\n \n );\n};\n\nexport default withStyles(styles)(PolicyView);\n","// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { IAMPolicy, IAMStatement, Policy } from \"./types\";\nimport { useSelector } from \"react-redux\";\nimport { useNavigate, useParams } from \"react-router-dom\";\nimport { Button } from \"mds\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n actionsTray,\n containerForHeader,\n modalBasic,\n searchField,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport Paper from \"@mui/material/Paper\";\nimport Grid from \"@mui/material/Grid\";\nimport { LinearProgress } from \"@mui/material\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport api from \"../../../common/api\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\n\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport TextField from \"@mui/material/TextField\";\nimport ScreenTitle from \"../Common/ScreenTitle/ScreenTitle\";\nimport IAMPoliciesIcon from \"../../../icons/IAMPoliciesIcon\";\nimport RefreshIcon from \"../../../icons/RefreshIcon\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TrashIcon from \"../../../icons/TrashIcon\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport VerticalTabs from \"../Common/VerticalTabs/VerticalTabs\";\nimport BackLink from \"../../../common/BackLink\";\nimport {\n CONSOLE_UI_RESOURCE,\n createPolicyPermissions,\n deletePolicyPermissions,\n getGroupPermissions,\n IAM_PAGES,\n IAM_SCOPES,\n listGroupPermissions,\n listUsersPermissions,\n permissionTooltipHelper,\n viewPolicyPermissions,\n viewUserPermissions,\n} from \"../../../common/SecureComponent/permissions\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../common/SecureComponent\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\n\nimport PolicyView from \"./PolicyView\";\nimport { decodeURLString, encodeURLString } from \"../../../common/utils\";\nimport { setErrorSnackMessage, setSnackBarMessage } from \"../../../systemSlice\";\nimport { selFeatures } from \"../consoleSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport TooltipWrapper from \"../Common/TooltipWrapper/TooltipWrapper\";\n\nconst DeletePolicy = withSuspense(React.lazy(() => import(\"./DeletePolicy\")));\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n paddingTop: 16,\n \"& button\": {\n marginLeft: 8,\n },\n },\n pageContainer: {\n border: \"1px solid #EAEAEA\",\n height: \"100%\",\n },\n paperContainer: {\n padding: \"15px 15px 15px 50px\",\n minHeight: \"450px\",\n },\n statement: {\n border: \"1px solid #DADADA\",\n padding: 8,\n marginBottom: 8,\n borderRadius: 4,\n },\n labelCol: {\n fontWeight: \"bold\",\n },\n ...actionsTray,\n ...searchField,\n ...modalBasic,\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IPolicyDetailsProps {\n classes: any;\n}\n\nconst PolicyDetails = ({ classes }: IPolicyDetailsProps) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n const params = useParams();\n\n const features = useSelector(selFeatures);\n\n const [policy, setPolicy] = useState(null);\n const [policyStatements, setPolicyStatements] = useState([]);\n const [userList, setUserList] = useState([]);\n const [groupList, setGroupList] = useState([]);\n const [addLoading, setAddLoading] = useState(false);\n\n const policyName = decodeURLString(params.policyName || \"\");\n\n const [policyDefinition, setPolicyDefinition] = useState(\"\");\n const [loadingPolicy, setLoadingPolicy] = useState(true);\n const [filterUsers, setFilterUsers] = useState(\"\");\n const [loadingUsers, setLoadingUsers] = useState(true);\n const [filterGroups, setFilterGroups] = useState(\"\");\n const [loadingGroups, setLoadingGroups] = useState(true);\n const [deleteOpen, setDeleteOpen] = useState(false);\n\n const ldapIsEnabled = (features && features.includes(\"ldap-idp\")) || false;\n\n const displayGroups = hasPermission(\n CONSOLE_UI_RESOURCE,\n listGroupPermissions,\n true\n );\n\n const viewGroup = hasPermission(\n CONSOLE_UI_RESOURCE,\n getGroupPermissions,\n true\n );\n\n const displayUsers = hasPermission(\n CONSOLE_UI_RESOURCE,\n listUsersPermissions,\n true\n );\n\n const viewUser = hasPermission(\n CONSOLE_UI_RESOURCE,\n viewUserPermissions,\n true\n );\n\n const displayPolicy = hasPermission(\n CONSOLE_UI_RESOURCE,\n viewPolicyPermissions,\n true\n );\n\n const canDeletePolicy = hasPermission(\n CONSOLE_UI_RESOURCE,\n deletePolicyPermissions,\n true\n );\n\n const canEditPolicy = hasPermission(\n CONSOLE_UI_RESOURCE,\n createPolicyPermissions,\n true\n );\n\n const saveRecord = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n if (canEditPolicy) {\n api\n .invoke(\"POST\", \"/api/v1/policies\", {\n name: policyName,\n policy: policyDefinition,\n })\n .then((_) => {\n setAddLoading(false);\n dispatch(setSnackBarMessage(\"Policy successfully updated\"));\n refreshPolicyDetails();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n dispatch(setErrorSnackMessage(err));\n });\n } else {\n setAddLoading(false);\n }\n };\n\n useEffect(() => {\n const loadUsersForPolicy = () => {\n if (loadingUsers) {\n if (displayUsers && !ldapIsEnabled) {\n api\n .invoke(\n \"GET\",\n `/api/v1/policies/${encodeURLString(policyName)}/users`\n )\n .then((result: any) => {\n setUserList(result);\n setLoadingUsers(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoadingUsers(false);\n });\n } else {\n setLoadingUsers(false);\n }\n }\n };\n\n const loadGroupsForPolicy = () => {\n if (loadingGroups) {\n if (displayGroups && !ldapIsEnabled) {\n api\n .invoke(\n \"GET\",\n `/api/v1/policies/${encodeURLString(policyName)}/groups`\n )\n .then((result: any) => {\n setGroupList(result);\n setLoadingGroups(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoadingGroups(false);\n });\n } else {\n setLoadingGroups(false);\n }\n }\n };\n const loadPolicyDetails = () => {\n if (loadingPolicy) {\n if (displayPolicy) {\n api\n .invoke(\"GET\", `/api/v1/policy/${encodeURLString(policyName)}`)\n .then((result: any) => {\n if (result) {\n setPolicy(result);\n setPolicyDefinition(\n result\n ? JSON.stringify(JSON.parse(result.policy), null, 4)\n : \"\"\n );\n const pol: IAMPolicy = JSON.parse(result.policy);\n setPolicyStatements(pol.Statement);\n }\n setLoadingPolicy(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoadingPolicy(false);\n });\n } else {\n setLoadingPolicy(false);\n }\n }\n };\n\n if (loadingPolicy) {\n loadPolicyDetails();\n loadUsersForPolicy();\n loadGroupsForPolicy();\n }\n }, [\n policyName,\n loadingPolicy,\n loadingUsers,\n loadingGroups,\n setUserList,\n setGroupList,\n setPolicyDefinition,\n setPolicy,\n setLoadingUsers,\n setLoadingGroups,\n displayUsers,\n displayGroups,\n displayPolicy,\n ldapIsEnabled,\n dispatch,\n ]);\n\n const resetForm = () => {\n setPolicyDefinition(\"{}\");\n };\n\n const validSave = policyName.trim() !== \"\";\n\n const deletePolicy = () => {\n setDeleteOpen(true);\n };\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n navigate(IAM_PAGES.POLICIES);\n };\n\n const userViewAction = (user: any) => {\n navigate(`${IAM_PAGES.USERS}/${encodeURLString(user)}`);\n };\n const userTableActions = [\n {\n type: \"view\",\n onClick: userViewAction,\n disableButtonFunction: () => !viewUser,\n },\n ];\n\n const filteredUsers = userList.filter((elementItem) =>\n elementItem.includes(filterUsers)\n );\n\n const groupViewAction = (group: any) => {\n navigate(`${IAM_PAGES.GROUPS}/${encodeURLString(group)}`);\n };\n\n const groupTableActions = [\n {\n type: \"view\",\n onClick: groupViewAction,\n disableButtonFunction: () => !viewGroup,\n },\n ];\n\n const filteredGroups = groupList.filter((elementItem) =>\n elementItem.includes(filterGroups)\n );\n\n const refreshPolicyDetails = () => {\n setLoadingUsers(true);\n setLoadingGroups(true);\n setLoadingPolicy(true);\n };\n\n return (\n \n {deleteOpen && (\n \n )}\n \n \n \n }\n />\n\n \n \n \n \n \n }\n title={policyName}\n subTitle={IAM Policy}\n actions={\n \n \n \n }\n onClick={deletePolicy}\n disabled={!canDeletePolicy}\n />\n \n \n\n \n }\n onClick={() => {\n refreshPolicyDetails();\n }}\n />\n \n \n }\n />\n \n\n \n {{\n tabConfig: { label: \"Summary\", disabled: !displayPolicy },\n content: (\n \n
Policy Summary
\n \n \n \n
\n ),\n }}\n {{\n tabConfig: {\n label: \"Users\",\n disabled: !displayUsers || ldapIsEnabled,\n },\n content: (\n \n
Users
\n \n {userList.length > 0 && (\n \n {\n setFilterUsers(val.target.value);\n }}\n InputProps={{\n disableUnderline: true,\n startAdornment: (\n \n \n \n ),\n }}\n variant=\"standard\"\n />\n \n )}\n \n \n
\n ),\n }}\n {{\n tabConfig: {\n label: \"Groups\",\n disabled: !displayGroups || ldapIsEnabled,\n },\n content: (\n \n
Groups
\n \n {groupList.length > 0 && (\n \n {\n setFilterGroups(val.target.value);\n }}\n InputProps={{\n disableUnderline: true,\n startAdornment: (\n \n \n \n ),\n }}\n variant=\"standard\"\n />\n \n )}\n \n \n
\n ),\n }}\n {{\n tabConfig: { label: \"Raw Policy\", disabled: !displayPolicy },\n content: (\n \n
Raw Policy
\n ) => {\n saveRecord(e);\n }}\n >\n \n \n {\n setPolicyDefinition(value);\n }}\n editorHeight={\"350px\"}\n />\n \n \n {!policy && (\n {\n resetForm();\n }}\n >\n Clear\n \n )}\n \n \n \n \n \n \n {addLoading && (\n \n \n \n )}\n \n \n
\n ),\n }}\n
\n
\n \n );\n};\n\nexport default withStyles(styles)(PolicyDetails);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\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;","import * as React from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n * @type {React.Context<{ idPrefix: string; value: string } | null>}\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Context = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== 'production') {\n Context.displayName = 'TabContext';\n}\nfunction useUniquePrefix() {\n const [id, setId] = React.useState(null);\n React.useEffect(() => {\n setId(`mui-p-${Math.round(Math.random() * 1e5)}`);\n }, []);\n return id;\n}\nexport default function TabContext(props) {\n const {\n children,\n value\n } = props;\n const idPrefix = useUniquePrefix();\n const context = React.useMemo(() => {\n return {\n idPrefix,\n value\n };\n }, [idPrefix, value]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: context,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? TabContext.propTypes /* 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 value of the currently selected `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\n\n/**\n * @returns {unknown}\n */\nexport function useTabContext() {\n return React.useContext(Context);\n}\nexport function getPanelId(context, value) {\n const {\n idPrefix\n } = context;\n if (idPrefix === null) {\n return null;\n }\n return `${context.idPrefix}-P-${value}`;\n}\nexport function getTabId(context, value) {\n const {\n idPrefix\n } = context;\n if (idPrefix === null) {\n return null;\n }\n return `${context.idPrefix}-T-${value}`;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@mui/material/Tabs';\nimport { useTabContext, getTabId, getPanelId } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabList = /*#__PURE__*/React.forwardRef(function TabList(props, ref) {\n const {\n children: childrenProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = useTabContext();\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n return /*#__PURE__*/React.cloneElement(child, {\n // SOMEDAY: `Tabs` will set those themselves\n 'aria-controls': getPanelId(context, child.props.value),\n id: getTabId(context, child.props.value)\n });\n });\n return /*#__PURE__*/_jsx(Tabs, _extends({}, other, {\n ref: ref,\n value: context.value,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabList.propTypes /* 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 * A list of `` elements.\n */\n children: PropTypes.node\n} : void 0;\nexport default TabList;","import generateUtilityClass from '@mui/material/generateUtilityClass';\nimport generateUtilityClasses from '@mui/material/generateUtilityClasses';\nexport function getTabPanelUtilityClass(slot) {\n return generateUtilityClass('MuiTabPanel', slot);\n}\nconst tabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root']);\nexport default tabPanelClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { getTabPanelUtilityClass } from './tabPanelClasses';\nimport { getPanelId, getTabId, useTabContext } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTabPanelUtilityClass, classes);\n};\nconst TabPanelRoot = styled('div', {\n name: 'MuiTabPanel',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(3)\n}));\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabPanel'\n });\n const {\n children,\n className,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props);\n const classes = useUtilityClasses(ownerState);\n const context = useTabContext();\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n const id = getPanelId(context, value);\n const tabId = getTabId(context, value);\n return /*#__PURE__*/_jsx(TabPanelRoot, _extends({\n \"aria-labelledby\": tabId,\n className: clsx(classes.root, className),\n hidden: value !== context.value,\n id: id,\n ref: ref,\n role: \"tabpanel\",\n ownerState: ownerState\n }, other, {\n children: value === context.value && children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.propTypes /* 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 /**\n * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when\n * no `value` was passed to `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\nexport default TabPanel;","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\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 */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\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 */\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';\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\nfunction useMediaQueryOld(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr) {\n const supportMatchMedia = typeof window !== 'undefined' && typeof window.matchMedia !== 'undefined';\n const [match, setMatch] = React.useState(() => {\n if (noSsr && supportMatchMedia) {\n return matchMedia(query).matches;\n }\n 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 (!supportMatchMedia) {\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, supportMatchMedia]);\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) {\n const getDefaultSnapshot = React.useCallback(() => defaultMatches, [defaultMatches]);\n const getServerSnapshot = React.useMemo(() => {\n if (ssrMatchMedia !== null) {\n const {\n matches\n } = ssrMatchMedia(query);\n return () => matches;\n }\n return getDefaultSnapshot;\n }, [getDefaultSnapshot, query, ssrMatchMedia]);\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\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}","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n"],"names":["withStyles","theme","createStyles","fieldBasic","value","label","tooltip","mode","classes","onBeforeChange","readOnly","editorHeight","item","xs","sx","marginBottom","className","inputLabel","tooltipContainer","title","placement","style","maxHeight","overflow","border","language","onChange","evn","target","id","padding","fontSize","backgroundColor","fontFamily","minHeight","color","background","borderTop","display","alignItems","paddingRight","justifyContent","height","width","marginLeft","text","type","icon","variant","searchField","adornment","placeholder","adornmentPosition","overrideClass","inputProps","disableUnderline","position","InputProps","e","tabStripStyle","tabsContainer","tabsHeaderContainer","borderRight","flexFlow","borderBottom","marginRight","fontWeight","tabContentContainer","tabPanel","flexDirection","children","selectedTab","routes","isRouteTabs","useTheme","useLocation","pathname","isSmallScreen","useMediaQuery","breakpoints","down","useState","setValue","headerList","contentList","useEffect","tabConfigElement","find","tabConfig","to","forEach","child","push","content","event","newValue","orientation","scrollButtons","tabList","map","index","tabHeader","disableRipple","disableTouchRipple","focusRipple","STATUS_COLORS","RED","GREEN","YELLOW","getDriveStatusColor","activeDisks","totalDrives","serverStatusColor","health_status","getNetworkStatusColor","activeNetwork","networkTotal","rowGridStyle","gridTemplateColumns","gap","Highlight","search","txtParts","RegExp","str","replace","escapeRegExp","parts","String","split","part","test","maxWidth","policyStatements","filter","setFilter","Grid","container","Box","sm","SearchBox","paddingTop","stmt","i","effect","Effect","isAllow","fill","Action","act","actIndex","Resource","res","resIndex","DeletePolicy","withSuspense","React","buttonContainer","pageContainer","paperContainer","statement","borderRadius","labelCol","actionsTray","modalBasic","containerForHeader","spacing","dispatch","useAppDispatch","navigate","useNavigate","params","useParams","features","useSelector","selFeatures","policy","setPolicy","setPolicyStatements","userList","setUserList","groupList","setGroupList","addLoading","setAddLoading","policyName","decodeURLString","policyDefinition","setPolicyDefinition","loadingPolicy","setLoadingPolicy","filterUsers","setFilterUsers","loadingUsers","setLoadingUsers","filterGroups","setFilterGroups","loadingGroups","setLoadingGroups","deleteOpen","setDeleteOpen","ldapIsEnabled","includes","displayGroups","hasPermission","CONSOLE_UI_RESOURCE","listGroupPermissions","viewGroup","getGroupPermissions","displayUsers","listUsersPermissions","viewUser","viewUserPermissions","displayPolicy","viewPolicyPermissions","canDeletePolicy","deletePolicyPermissions","canEditPolicy","createPolicyPermissions","api","encodeURLString","then","result","JSON","stringify","parse","pol","Statement","catch","err","setErrorSnackMessage","validSave","trim","userTableActions","onClick","user","IAM_PAGES","disableButtonFunction","filteredUsers","elementItem","groupTableActions","group","filteredGroups","refreshPolicyDetails","Fragment","selectedPolicy","closeDeleteModalAndRefresh","refresh","PageHeader","BackLink","PageLayout","ScreenTitle","IAMPoliciesIcon","subTitle","actions","SecureComponent","scopes","IAM_SCOPES","resource","errorProps","disabled","TooltipWrapper","permissionTooltipHelper","TrashIcon","RefreshIcon","VerticalTabs","sectionTitle","Paper","length","TextField","val","startAdornment","InputAdornment","SearchIcon","TableWrapper","itemActions","columns","elementKey","isLoading","records","entityName","idField","noValidate","autoComplete","onSubmit","preventDefault","name","_","setSnackBarMessage","CodeMirrorWrapper","editor","data","clearButton","LinearProgress","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","Context","TabContext","props","idPrefix","setId","Math","round","random","useUniquePrefix","context","_jsx","Provider","useTabContext","getPanelId","getTabId","_excluded","TabList","ref","childrenProp","other","_objectWithoutPropertiesLoose","TypeError","Tabs","_extends","getTabPanelUtilityClass","slot","generateUtilityClass","generateUtilityClasses","TabPanelRoot","styled","overridesResolver","styles","root","inProps","useThemeProps","ownerState","composeClasses","useUtilityClasses","tabId","clsx","hidden","role","createSvgIcon","getCheckboxUtilityClass","CheckboxRoot","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","indeterminate","capitalize","vars","palette","secondary","action","activeChannel","primary","mainChannel","hoverOpacity","alpha","active","main","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","_icon$props$fontSize","_indeterminateIcon$pr","checkedIcon","iconProp","indeterminateIcon","indeterminateIconProp","size","slots","composedClasses","useMediaQueryOld","query","defaultMatches","matchMedia","ssrMatchMedia","noSsr","supportMatchMedia","window","matches","match","setMatch","useEnhancedEffect","queryList","updateMatch","addListener","removeListener","maybeReactUseSyncExternalStore","useMediaQueryNew","getDefaultSnapshot","getServerSnapshot","mediaQueryList","notify","getSnapshot","subscribe","queryInput","options","getThemeProps","useMediaQueryImplementation","undefined","baseGetTag","isArray","isObjectLike","module"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1440.8750dde4.chunk.js b/portal-ui/build/static/js/1440.8750dde4.chunk.js deleted file mode 100644 index df732f4aa..000000000 --- a/portal-ui/build/static/js/1440.8750dde4.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1440],{23804:function(e,t,n){"use strict";n(72791);var o=n(11135),r=n(25787),i=n(61889),c=n(80184);t.Z=(0,r.Z)((function(e){return(0,o.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var t=e.classes,n=e.iconComponent,o=e.title,r=e.help;return(0,c.jsx)("div",{className:t.root,children:(0,c.jsxs)(i.ZP,{container:!0,children:[(0,c.jsxs)(i.ZP,{item:!0,xs:12,className:t.leftItems,children:[n,o]}),(0,c.jsx)(i.ZP,{item:!0,xs:12,className:t.helpText,children:r})]})})}))},25702:function(e,t,n){"use strict";n.r(t);var o=n(29439),r=n(1413),i=n(72791),c=n(78687),a=n(57689),s=n(75952),l=n(11135),d=n(25787),u=n(26181),m=n.n(u),h=n(61889),f=n(47919),p=n(86856),v=n(23814),x=n(92983),Z=n(81207),b=n(23804),j=n(60680),k=n(38442),S=n(56087),g=n(75578),C=n(87995),z=n(9859),I=n(25469),E=n(27454),F=n(80184),N=(0,g.Z)(i.lazy((function(){return n.e(455).then(n.bind(n,80455))}))),P=(0,g.Z)(i.lazy((function(){return Promise.all([n.e(3801),n.e(1918),n.e(6172),n.e(2661)]).then(n.bind(n,82661))})));t.default=(0,d.Z)((function(e){return(0,l.Z)((0,r.Z)((0,r.Z)((0,r.Z)({},v.qg),v.OR),{},{twHeight:{minHeight:400}}))}))((function(e){var t=e.classes,n=(0,I.TL)(),r=(0,a.UO)(),l=(0,c.v9)(z.HQ),d=(0,i.useState)(!1),u=(0,o.Z)(d,2),v=u[0],g=u[1],T=(0,i.useState)(!0),y=(0,o.Z)(T,2),O=y[0],_=y[1],w=(0,i.useState)([]),A=(0,o.Z)(w,2),H=A[0],M=A[1],B=(0,i.useState)(!1),R=(0,o.Z)(B,2),V=R[0],K=R[1],L=(0,i.useState)(null),U=(0,o.Z)(L,2),D=U[0],G=U[1],q=r.bucketName||"",Q=(0,k.F)(q,[S.Ft.S3_GET_BUCKET_NOTIFICATIONS]);(0,i.useEffect)((function(){l&&_(!0)}),[l,_]),(0,i.useEffect)((function(){O&&(Q?Z.Z.invoke("GET","/api/v1/buckets/".concat(q,"/events")).then((function(e){var t=m()(e,"events",[]);_(!1),M(t||[])})).catch((function(e){_(!1),n((0,C.Ih)(e))})):_(!1))}),[O,n,q,Q]);var W=[{type:"delete",onClick:function(e){K(!0),G(e)}}];return(0,F.jsxs)(i.Fragment,{children:[V&&(0,F.jsx)(N,{deleteOpen:V,selectedBucket:q,bucketEvent:D,closeDeleteModalAndRefresh:function(e){K(!1),e&&_(!0)}}),v&&(0,F.jsx)(P,{open:v,selectedBucket:q,closeModalAndRefresh:function(){g(!1),_(!0)}}),(0,F.jsxs)(h.ZP,{container:!0,children:[(0,F.jsxs)(h.ZP,{item:!0,xs:12,className:t.actionsTray,children:[(0,F.jsx)(j.Z,{children:"Events"}),(0,F.jsx)(k.s,{scopes:[S.Ft.S3_PUT_BUCKET_NOTIFICATIONS,S.Ft.S3_PUT_ACTIONS,S.Ft.ADMIN_SERVER_INFO],resource:q,matchAll:!0,errorProps:{disabled:!0},children:(0,F.jsx)(E.Z,{tooltip:"Subscribe to Event",children:(0,F.jsx)(s.zx,{id:"Subscribe-bucket-event",onClick:function(){g(!0)},label:"Subscribe to Event",icon:(0,F.jsx)(f.Z,{}),variant:"callAction"})})})]}),(0,F.jsx)(h.ZP,{item:!0,xs:12,children:(0,F.jsx)(k.s,{scopes:[S.Ft.S3_GET_BUCKET_NOTIFICATIONS],resource:q,errorProps:{disabled:!0},children:(0,F.jsx)(x.Z,{itemActions:W,columns:[{label:"SQS",elementKey:"arn"},{label:"Events",elementKey:"events",renderFunction:function(e){return(0,F.jsx)(i.Fragment,{children:e.join(", ")})}},{label:"Prefix",elementKey:"prefix"},{label:"Suffix",elementKey:"suffix"}],isLoading:O,records:H,entityName:"Events",idField:"id",customPaperHeight:t.twHeight})})}),!O&&(0,F.jsxs)(h.ZP,{item:!0,xs:12,children:[(0,F.jsx)("br",{}),(0,F.jsx)(b.Z,{title:"Lambda Notifications",iconComponent:(0,F.jsx)(p.Z,{}),help:(0,F.jsxs)(i.Fragment,{children:["MinIO bucket notifications allow administrators to send notifications to supported external services on certain object or bucket events. MinIO supports bucket and object-level S3 events similar to the Amazon S3 Event Notifications.",(0,F.jsx)("br",{}),(0,F.jsx)("br",{}),"You can learn more at our"," ",(0,F.jsx)("a",{href:"https://min.io/docs/minio/linux/administration/monitoring/bucket-notifications.html?ref=con",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})]})]})]})}))},60680:function(e,t,n){"use strict";n(72791);var o=n(11135),r=n(25787),i=n(80184);t.Z=(0,r.Z)((function(e){return(0,o.Z)({root:{padding:0,margin:0,fontSize:".9rem"}})}))((function(e){var t=e.classes,n=e.children;return(0,i.jsx)("h1",{className:t.root,children:n})}))},26759:function(e,t,n){"use strict";var o=n(64836);t.Z=void 0;var r=o(n(45649)),i=n(80184),c=(0,r.default)((0,i.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");t.Z=c},70366:function(e,t,n){"use strict";var o=n(64836);t.Z=void 0;var r=o(n(45649)),i=n(80184),c=(0,r.default)((0,i.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");t.Z=c},97911:function(e,t,n){"use strict";var o=n(64836);t.Z=void 0;var r=o(n(45649)),i=n(80184),c=(0,r.default)((0,i.jsx)("path",{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}),"ViewColumn");t.Z=c},94454:function(e,t,n){"use strict";n.d(t,{Z:function(){return F}});var o=n(4942),r=n(63366),i=n(87462),c=n(72791),a=n(28182),s=n(94419),l=n(12065),d=n(97278),u=n(76189),m=n(80184),h=(0,u.Z)((0,m.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"),f=(0,u.Z)((0,m.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"),p=(0,u.Z)((0,m.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"),v=n(14036),x=n(31402),Z=n(66934),b=n(75878),j=n(21217);function k(e){return(0,j.Z)("MuiCheckbox",e)}var S=(0,b.Z)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary"]),g=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size","className"],C=(0,Z.ZP)(d.Z,{shouldForwardProp:function(e){return(0,Z.FO)(e)||"classes"===e},name:"MuiCheckbox",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.indeterminate&&t.indeterminate,"default"!==n.color&&t["color".concat((0,v.Z)(n.color))]]}})((function(e){var t,n=e.theme,r=e.ownerState;return(0,i.Z)({color:(n.vars||n).palette.text.secondary},!r.disableRipple&&{"&:hover":{backgroundColor:n.vars?"rgba(".concat("default"===r.color?n.vars.palette.action.activeChannel:n.vars.palette.primary.mainChannel," / ").concat(n.vars.palette.action.hoverOpacity,")"):(0,l.Fq)("default"===r.color?n.palette.action.active:n.palette[r.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==r.color&&(t={},(0,o.Z)(t,"&.".concat(S.checked,", &.").concat(S.indeterminate),{color:(n.vars||n).palette[r.color].main}),(0,o.Z)(t,"&.".concat(S.disabled),{color:(n.vars||n).palette.action.disabled}),t))})),z=(0,m.jsx)(f,{}),I=(0,m.jsx)(h,{}),E=(0,m.jsx)(p,{}),F=c.forwardRef((function(e,t){var n,o,l=(0,x.Z)({props:e,name:"MuiCheckbox"}),d=l.checkedIcon,u=void 0===d?z:d,h=l.color,f=void 0===h?"primary":h,p=l.icon,Z=void 0===p?I:p,b=l.indeterminate,j=void 0!==b&&b,S=l.indeterminateIcon,F=void 0===S?E:S,N=l.inputProps,P=l.size,T=void 0===P?"medium":P,y=l.className,O=(0,r.Z)(l,g),_=j?F:Z,w=j?F:u,A=(0,i.Z)({},l,{color:f,indeterminate:j,size:T}),H=function(e){var t=e.classes,n=e.indeterminate,o=e.color,r={root:["root",n&&"indeterminate","color".concat((0,v.Z)(o))]},c=(0,s.Z)(r,k,t);return(0,i.Z)({},t,c)}(A);return(0,m.jsx)(C,(0,i.Z)({type:"checkbox",inputProps:(0,i.Z)({"data-indeterminate":j},N),icon:c.cloneElement(_,{fontSize:null!=(n=_.props.fontSize)?n:T}),checkedIcon:c.cloneElement(w,{fontSize:null!=(o=w.props.fontSize)?o:T}),ownerState:A,ref:t,className:(0,a.Z)(H.root,y)},O,{classes:H}))}))},26769:function(e,t,n){var o=n(39066),r=n(93629),i=n(43141);e.exports=function(e){return"string"==typeof e||!r(e)&&i(e)&&"[object String]"==o(e)}}}]); -//# sourceMappingURL=1440.8750dde4.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1440.8750dde4.chunk.js.map b/portal-ui/build/static/js/1440.8750dde4.chunk.js.map deleted file mode 100644 index 6810f2980..000000000 --- a/portal-ui/build/static/js/1440.8750dde4.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/1440.8750dde4.chunk.js","mappings":"sKA0EA,KAAeA,EAAAA,EAAAA,IApDA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,GAAa,CACXC,KAAM,CACJC,OAAQ,oBACRC,aAAc,EACdC,gBAAiB,UACjBC,YAAa,GACbC,WAAY,GACZC,cAAe,GACfC,aAAc,IAEhBC,UAAW,CACTC,SAAU,GACVC,WAAY,OACZC,aAAc,GACdC,QAAS,OACTC,WAAY,SACZ,cAAe,CACbC,YAAa,GACbC,OAAQ,GACRC,MAAO,KAGXC,SAAU,CACRR,SAAU,GACVL,YAAa,IAEd,GAyBL,EAhBgB,SAAH,GAA2D,IAArDc,EAAO,EAAPA,QAASC,EAAa,EAAbA,cAAeC,EAAK,EAALA,MAAOC,EAAI,EAAJA,KAChD,OACE,gBAAKC,UAAWJ,EAAQlB,KAAK,UAC3B,UAAC,KAAI,CAACuB,WAAS,aACb,UAAC,KAAI,CAACC,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQV,UAAU,UAC7CW,EACAC,MAEH,SAAC,KAAI,CAACI,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQD,SAAS,SAC5CI,QAKX,G,0UCtBMK,GAAcC,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,kBAAM,8BAAuB,KACnEC,GAAWF,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,kBAAM,4EAAoB,KAyLnE,WAAe/B,EAAAA,EAAAA,IAvLA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,IAAa,0BACR+B,EAAAA,IACAC,EAAAA,IAAW,IACdC,SAAU,CACRC,UAAW,OAEZ,GAgLL,EA1K0B,SAAH,GAAyC,IAAnCf,EAAO,EAAPA,QACrBgB,GAAWC,EAAAA,EAAAA,MACXC,GAASC,EAAAA,EAAAA,MAETC,GAAgBC,EAAAA,EAAAA,IAAYC,EAAAA,IAElC,GAAoDC,EAAAA,EAAAA,WAAkB,GAAM,eAArEC,EAAkB,KAAEC,EAAqB,KAChD,GAA0CF,EAAAA,EAAAA,WAAkB,GAAK,eAA1DG,EAAa,KAAEC,EAAgB,KACtC,GAA8BJ,EAAAA,EAAAA,UAAwB,IAAG,eAAlDK,EAAO,KAAEC,EAAU,KAC1B,GAAoCN,EAAAA,EAAAA,WAAkB,GAAM,eAArDO,EAAU,KAAEC,EAAa,KAChC,GAA0CR,EAAAA,EAAAA,UAA6B,MAAK,eAArES,EAAa,KAAEC,EAAgB,KAEhCC,EAAahB,EAAOgB,YAAc,GAElCC,GAAgBC,EAAAA,EAAAA,GAAcF,EAAY,CAC9CG,EAAAA,GAAAA,+BAGFC,EAAAA,EAAAA,YAAU,WACJlB,GACFO,GAAiB,EAErB,GAAG,CAACP,EAAeO,KAEnBW,EAAAA,EAAAA,YAAU,WACJZ,IACES,EACFI,EAAAA,EAAAA,OACU,MAAM,mBAAD,OAAqBL,EAAU,YAC3CM,MAAK,SAACC,GACL,IAAMC,EAASC,IAAIF,EAAK,SAAU,IAClCd,GAAiB,GACjBE,EAAWa,GAAU,GACvB,IACCE,OAAM,SAACC,GACNlB,GAAiB,GACjBX,GAAS8B,EAAAA,EAAAA,IAAqBD,GAChC,IAEFlB,GAAiB,GAGvB,GAAG,CAACD,EAAeV,EAAUkB,EAAYC,IAEzC,IAqBMY,EAAe,CAAC,CAAEC,KAAM,SAAUC,QAjBb,SAACC,GAC1BnB,GAAc,GACdE,EAAiBiB,EACnB,IAgBA,OACE,UAAC,EAAAC,SAAQ,WACNrB,IACC,SAACtB,EAAW,CACVsB,WAAYA,EACZsB,eAAgBlB,EAChBmB,YAAarB,EACbsB,2BAhB2B,SAACC,GAClCxB,GAAc,GACVwB,GACF5B,GAAiB,EAErB,IAcKH,IACC,SAACb,EAAQ,CACP6C,KAAMhC,EACN4B,eAAgBlB,EAChBuB,qBA5BwB,WAC9BhC,GAAsB,GACtBE,GAAiB,EACnB,KA6BI,UAAC,KAAI,CAACtB,WAAS,aACb,UAAC,KAAI,CAACC,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQa,YAAY,WAChD,SAAC,IAAU,UAAC,YACZ,SAAC,IAAe,CACd6C,OAAQ,CACNrB,EAAAA,GAAAA,4BACAA,EAAAA,GAAAA,eACAA,EAAAA,GAAAA,mBAEFsB,SAAUzB,EACV0B,UAAQ,EACRC,WAAY,CAAEC,UAAU,GAAO,UAE/B,SAAC,IAAc,CAACC,QAAS,qBAAqB,UAC5C,SAAC,KAAM,CACLC,GAAI,yBACJf,QAAS,WACPxB,GAAsB,EACxB,EACAwC,MAAO,qBACPC,MAAM,SAAC,IAAO,IACdC,QAAS,uBAKjB,SAAC,KAAI,CAAC7D,MAAI,EAACC,GAAI,GAAG,UAChB,SAAC,IAAe,CACdmD,OAAQ,CAACrB,EAAAA,GAAAA,6BACTsB,SAAUzB,EACV2B,WAAY,CAAEC,UAAU,GAAO,UAE/B,SAAC,IAAY,CACXM,YAAarB,EACbsB,QAAS,CACP,CAAEJ,MAAO,MAAOK,WAAY,OAC5B,CACEL,MAAO,SACPK,WAAY,SACZC,eAhFM,SAAC7B,GACrB,OAAO,SAAC,EAAAS,SAAQ,UAAET,EAAO8B,KAAK,OAChC,GAgFc,CAAEP,MAAO,SAAUK,WAAY,UAC/B,CAAEL,MAAO,SAAUK,WAAY,WAEjCG,UAAW/C,EACXE,QAASA,EACT8C,WAAW,SACXC,QAAQ,KACRC,kBAAmB5E,EAAQc,gBAI/BY,IACA,UAAC,KAAI,CAACpB,MAAI,EAACC,GAAI,GAAG,WAChB,mBACA,SAAC,IAAO,CACNL,MAAO,uBACPD,eAAe,SAAC,IAAU,IAC1BE,MACE,UAAC,EAAAgD,SAAQ,WAAC,2OAKR,mBACA,kBAAM,4BACoB,KAC1B,cACE0B,KAAK,8FACLC,OAAO,SACPC,IAAI,aAAY,SACjB,kBAEG,iBAUtB,G,mFClMA,KAAepG,EAAAA,EAAAA,IAlBA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,GAAa,CACXC,KAAM,CACJkG,QAAS,EACTC,OAAQ,EACR1F,SAAU,UAEX,GAWL,EAJmB,SAAH,GAA4C,IAAtCS,EAAO,EAAPA,QAASkF,EAAQ,EAARA,SAC7B,OAAO,eAAI9E,UAAWJ,EAAQlB,KAAK,SAAEoG,GACvC,G,yCCpCIC,EAAyBC,EAAQ,OAIrCC,EAAQ,OAAU,EAClB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAChDG,EAAcH,EAAQ,OACtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,mBACD,iBACJN,EAAQ,EAAUG,C,yCCVdL,EAAyBC,EAAQ,OAIrCC,EAAQ,OAAU,EAClB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAChDG,EAAcH,EAAQ,OACtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,mBACD,eACJN,EAAQ,EAAUG,C,yCCVdL,EAAyBC,EAAQ,OAIrCC,EAAQ,OAAU,EAClB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAChDG,EAAcH,EAAQ,OACtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,sEACD,cACJN,EAAQ,EAAUG,C,sLCLlB,GAAeI,EAAAA,EAAAA,IAA4BC,EAAAA,EAAAA,KAAK,OAAQ,CACtDF,EAAG,+FACD,wBCFJ,GAAeC,EAAAA,EAAAA,IAA4BC,EAAAA,EAAAA,KAAK,OAAQ,CACtDF,EAAG,wIACD,YCFJ,GAAeC,EAAAA,EAAAA,IAA4BC,EAAAA,EAAAA,KAAK,OAAQ,CACtDF,EAAG,kGACD,yB,uDCPG,SAASG,EAAwBC,GACtC,OAAOC,EAAAA,EAAAA,GAAqB,cAAeD,EAC7C,CACA,IACA,GADwBE,EAAAA,EAAAA,GAAuB,cAAe,CAAC,OAAQ,UAAW,WAAY,gBAAiB,eAAgB,mBCHzHC,EAAY,CAAC,cAAe,QAAS,OAAQ,gBAAiB,oBAAqB,aAAc,OAAQ,aA4BzGC,GAAeC,EAAAA,EAAAA,IAAOC,EAAAA,EAAY,CACtCC,kBAAmB,SAAAC,GAAI,OAAIC,EAAAA,EAAAA,IAAsBD,IAAkB,YAATA,CAAkB,EAC5EE,KAAM,cACNV,KAAM,OACNW,kBAAmB,SAACC,EAAOC,GACzB,IACEC,EACEF,EADFE,WAEF,MAAO,CAACD,EAAO9H,KAAM+H,EAAWC,eAAiBF,EAAOE,cAAoC,YAArBD,EAAWE,OAAuBH,EAAO,QAAD,QAASI,EAAAA,EAAAA,GAAWH,EAAWE,SAChJ,GATmBX,EAUlB,kBACDxH,EAAK,EAALA,MACAiI,EAAU,EAAVA,WAAU,OACNI,EAAAA,EAAAA,GAAS,CACbF,OAAQnI,EAAMsI,MAAQtI,GAAOuI,QAAQC,KAAKC,YACxCR,EAAWS,eAAiB,CAC9B,UAAW,CACTrI,gBAAiBL,EAAMsI,KAAO,QAAH,OAAgC,YAArBL,EAAWE,MAAsBnI,EAAMsI,KAAKC,QAAQI,OAAOC,cAAgB5I,EAAMsI,KAAKC,QAAQM,QAAQC,YAAW,cAAM9I,EAAMsI,KAAKC,QAAQI,OAAOI,aAAY,MAAMC,EAAAA,EAAAA,IAA2B,YAArBf,EAAWE,MAAsBnI,EAAMuI,QAAQI,OAAOM,OAASjJ,EAAMuI,QAAQN,EAAWE,OAAOe,KAAMlJ,EAAMuI,QAAQI,OAAOI,cAEzU,uBAAwB,CACtB1I,gBAAiB,iBAGC,YAArB4H,EAAWE,QAAmB,2BACzBgB,EAAAA,QAAuB,eAAOA,EAAAA,eAAkC,CACpEhB,OAAQnI,EAAMsI,MAAQtI,GAAOuI,QAAQN,EAAWE,OAAOe,QACxD,qBACKC,EAAAA,UAA6B,CACjChB,OAAQnI,EAAMsI,MAAQtI,GAAOuI,QAAQI,OAAOzD,WAC7C,GACD,IACIkE,GAAkCnC,EAAAA,EAAAA,KAAKoC,EAAc,CAAC,GACtDC,GAA2BrC,EAAAA,EAAAA,KAAKsC,EAA0B,CAAC,GAC3DC,GAAwCvC,EAAAA,EAAAA,KAAKwC,EAA2B,CAAC,GA8I/E,EA7I8B3H,EAAAA,YAAiB,SAAkB4H,EAASC,GACxE,IAAIC,EAAsBC,EACpB9B,GAAQ+B,EAAAA,EAAAA,GAAc,CAC1B/B,MAAO2B,EACP7B,KAAM,gBAER,EASME,EARFgC,YAAAA,OAAW,IAAG,EAAAX,EAAkB,IAQ9BrB,EAPFI,MAAAA,OAAK,IAAG,YAAS,IAOfJ,EANFzC,KAAM0E,OAAQ,IAAG,EAAAV,EAAW,IAM1BvB,EALFG,cAAAA,OAAa,IAAG,GAAK,IAKnBH,EAJFkC,kBAAmBC,OAAqB,IAAG,EAAAV,EAAwB,EACnEW,EAGEpC,EAHFoC,WAAU,EAGRpC,EAFFqC,KAAAA,OAAI,IAAG,WAAQ,EACf5I,EACEuG,EADFvG,UAEF6I,GAAQC,EAAAA,EAAAA,GAA8BvC,EAAOT,GACzChC,EAAO4C,EAAgBgC,EAAwBF,EAC/CC,EAAoB/B,EAAgBgC,EAAwBH,EAC5D9B,GAAaI,EAAAA,EAAAA,GAAS,CAAC,EAAGN,EAAO,CACrCI,MAAAA,EACAD,cAAAA,EACAkC,KAAAA,IAEIhJ,EAtEkB,SAAA6G,GACxB,IACE7G,EAGE6G,EAHF7G,QACA8G,EAEED,EAFFC,cACAC,EACEF,EADFE,MAEIoC,EAAQ,CACZrK,KAAM,CAAC,OAAQgI,GAAiB,gBAAiB,QAAF,QAAUE,EAAAA,EAAAA,GAAWD,MAEhEqC,GAAkBC,EAAAA,EAAAA,GAAeF,EAAOrD,EAAyB9F,GACvE,OAAOiH,EAAAA,EAAAA,GAAS,CAAC,EAAGjH,EAASoJ,EAC/B,CA2DkBE,CAAkBzC,GAClC,OAAoBhB,EAAAA,EAAAA,KAAKM,GAAcc,EAAAA,EAAAA,GAAS,CAC9CjE,KAAM,WACN+F,YAAY9B,EAAAA,EAAAA,GAAS,CACnB,qBAAsBH,GACrBiC,GACH7E,KAAmBxD,EAAAA,aAAmBwD,EAAM,CAC1C3E,SAA0D,OAA/CiJ,EAAuBtE,EAAKyC,MAAMpH,UAAoBiJ,EAAuBQ,IAE1FL,YAA0BjI,EAAAA,aAAmBmI,EAAmB,CAC9DtJ,SAAwE,OAA7DkJ,EAAwBI,EAAkBlC,MAAMpH,UAAoBkJ,EAAwBO,IAEzGnC,WAAYA,EACZ0B,IAAKA,EACLnI,WAAWmJ,EAAAA,EAAAA,GAAKvJ,EAAQlB,KAAMsB,IAC7B6I,EAAO,CACRjJ,QAASA,IAEb,G,wBC1GA,IAAIwJ,EAAapE,EAAQ,OACrBqE,EAAUrE,EAAQ,OAClBsE,EAAetE,EAAQ,OA2B3BuE,EAAOtE,QALP,SAAkBuE,GAChB,MAAuB,iBAATA,IACVH,EAAQG,IAAUF,EAAaE,IArBrB,mBAqB+BJ,EAAWI,EAC1D,C","sources":["common/HelpBox.tsx","screens/Console/Buckets/BucketDetails/BucketEventsPanel.tsx","screens/Console/Common/PanelTitle/PanelTitle.tsx","../node_modules/@mui/icons-material/ArrowDropDown.js","../node_modules/@mui/icons-material/ArrowDropUp.js","../node_modules/@mui/icons-material/ViewColumn.js","../node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@mui/material/Checkbox/checkboxClasses.js","../node_modules/@mui/material/Checkbox/Checkbox.js","../node_modules/lodash/isString.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string | React.ReactNode;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useParams } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport AddIcon from \"../../../../icons/AddIcon\";\nimport LambdaIcon from \"../../../../icons/LambdaIcon\";\nimport { BucketEvent, BucketEventList } from \"../types\";\nimport {\n actionsTray,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport api from \"../../../../common/api\";\n\nimport HelpBox from \"../../../../common/HelpBox\";\nimport PanelTitle from \"../../Common/PanelTitle/PanelTitle\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { selBucketDetailsLoading } from \"./bucketDetailsSlice\";\nimport { useAppDispatch } from \"../../../../store\";\nimport TooltipWrapper from \"../../Common/TooltipWrapper/TooltipWrapper\";\n\nconst DeleteEvent = withSuspense(React.lazy(() => import(\"./DeleteEvent\")));\nconst AddEvent = withSuspense(React.lazy(() => import(\"./AddEvent\")));\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...searchField,\n ...actionsTray,\n twHeight: {\n minHeight: 400,\n },\n });\n\ninterface IBucketEventsProps {\n classes: any;\n}\n\nconst BucketEventsPanel = ({ classes }: IBucketEventsProps) => {\n const dispatch = useAppDispatch();\n const params = useParams();\n\n const loadingBucket = useSelector(selBucketDetailsLoading);\n\n const [addEventScreenOpen, setAddEventScreenOpen] = useState(false);\n const [loadingEvents, setLoadingEvents] = useState(true);\n const [records, setRecords] = useState([]);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedEvent, setSelectedEvent] = useState(null);\n\n const bucketName = params.bucketName || \"\";\n\n const displayEvents = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_NOTIFICATIONS,\n ]);\n\n useEffect(() => {\n if (loadingBucket) {\n setLoadingEvents(true);\n }\n }, [loadingBucket, setLoadingEvents]);\n\n useEffect(() => {\n if (loadingEvents) {\n if (displayEvents) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/events`)\n .then((res: BucketEventList) => {\n const events = get(res, \"events\", []);\n setLoadingEvents(false);\n setRecords(events || []);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingEvents(false);\n dispatch(setErrorSnackMessage(err));\n });\n } else {\n setLoadingEvents(false);\n }\n }\n }, [loadingEvents, dispatch, bucketName, displayEvents]);\n\n const eventsDisplay = (events: string[]) => {\n return {events.join(\", \")};\n };\n\n const confirmDeleteEvent = (evnt: BucketEvent) => {\n setDeleteOpen(true);\n setSelectedEvent(evnt);\n };\n\n const closeAddEventAndRefresh = () => {\n setAddEventScreenOpen(false);\n setLoadingEvents(true);\n };\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n if (refresh) {\n setLoadingEvents(true);\n }\n };\n\n const tableActions = [{ type: \"delete\", onClick: confirmDeleteEvent }];\n\n return (\n \n {deleteOpen && (\n \n )}\n {addEventScreenOpen && (\n \n )}\n\n \n \n Events\n \n \n {\n setAddEventScreenOpen(true);\n }}\n label={\"Subscribe to Event\"}\n icon={}\n variant={\"callAction\"}\n />\n \n \n \n \n \n \n \n \n {!loadingEvents && (\n \n
\n }\n help={\n \n MinIO bucket notifications allow administrators to send\n notifications to supported external services on certain object\n or bucket events. MinIO supports bucket and object-level S3\n events similar to the Amazon S3 Event Notifications.\n
\n
\n You can learn more at our{\" \"}\n \n documentation\n \n .\n
\n }\n />\n
\n )}\n
\n
\n );\n};\n\nexport default withStyles(styles)(BucketEventsPanel);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButtonProps } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 0,\n margin: 0,\n fontSize: \".9rem\",\n },\n });\n\ninterface IPanelTitle extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst PanelTitle = ({ classes, children }: IPanelTitle) => {\n return

{children}

;\n};\n\nexport default withStyles(styles)(PanelTitle);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\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;","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 */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\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 */\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 baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","DeleteEvent","withSuspense","React","AddEvent","searchField","actionsTray","twHeight","minHeight","dispatch","useAppDispatch","params","useParams","loadingBucket","useSelector","selBucketDetailsLoading","useState","addEventScreenOpen","setAddEventScreenOpen","loadingEvents","setLoadingEvents","records","setRecords","deleteOpen","setDeleteOpen","selectedEvent","setSelectedEvent","bucketName","displayEvents","hasPermission","IAM_SCOPES","useEffect","api","then","res","events","get","catch","err","setErrorSnackMessage","tableActions","type","onClick","evnt","Fragment","selectedBucket","bucketEvent","closeDeleteModalAndRefresh","refresh","open","closeModalAndRefresh","scopes","resource","matchAll","errorProps","disabled","tooltip","id","label","icon","variant","itemActions","columns","elementKey","renderFunction","join","isLoading","entityName","idField","customPaperHeight","href","target","rel","padding","margin","children","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","createSvgIcon","_jsx","getCheckboxUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","CheckboxRoot","styled","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","ownerState","indeterminate","color","capitalize","_extends","vars","palette","text","secondary","disableRipple","action","activeChannel","primary","mainChannel","hoverOpacity","alpha","active","main","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","inProps","ref","_icon$props$fontSize","_indeterminateIcon$pr","useThemeProps","checkedIcon","iconProp","indeterminateIcon","indeterminateIconProp","inputProps","size","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","clsx","baseGetTag","isArray","isObjectLike","module","value"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1440.b5fbee60.chunk.js b/portal-ui/build/static/js/1440.b5fbee60.chunk.js new file mode 100644 index 000000000..ea2133832 --- /dev/null +++ b/portal-ui/build/static/js/1440.b5fbee60.chunk.js @@ -0,0 +1,2 @@ +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1440],{23804:function(e,t,n){"use strict";n(72791);var o=n(11135),r=n(25787),i=n(61889),c=n(80184);t.Z=(0,r.Z)((function(e){return(0,o.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var t=e.classes,n=e.iconComponent,o=e.title,r=e.help;return(0,c.jsx)("div",{className:t.root,children:(0,c.jsxs)(i.ZP,{container:!0,children:[(0,c.jsxs)(i.ZP,{item:!0,xs:12,className:t.leftItems,children:[n,o]}),(0,c.jsx)(i.ZP,{item:!0,xs:12,className:t.helpText,children:r})]})})}))},25702:function(e,t,n){"use strict";n.r(t);var o=n(29439),r=n(1413),i=n(72791),c=n(78687),a=n(57689),s=n(75952),l=n(11135),d=n(25787),u=n(26181),m=n.n(u),h=n(61889),f=n(23814),p=n(92983),v=n(81207),x=n(23804),Z=n(60680),b=n(38442),j=n(56087),S=n(75578),k=n(87995),g=n(9859),C=n(25469),I=n(27454),z=n(80184),E=(0,S.Z)(i.lazy((function(){return n.e(455).then(n.bind(n,80455))}))),T=(0,S.Z)(i.lazy((function(){return Promise.all([n.e(3801),n.e(1918),n.e(6172),n.e(2661)]).then(n.bind(n,82661))})));t.default=(0,d.Z)((function(e){return(0,l.Z)((0,r.Z)((0,r.Z)((0,r.Z)({},f.qg),f.OR),{},{twHeight:{minHeight:400}}))}))((function(e){var t=e.classes,n=(0,C.TL)(),r=(0,a.UO)(),l=(0,c.v9)(g.HQ),d=(0,i.useState)(!1),u=(0,o.Z)(d,2),f=u[0],S=u[1],F=(0,i.useState)(!0),N=(0,o.Z)(F,2),P=N[0],_=N[1],y=(0,i.useState)([]),O=(0,o.Z)(y,2),A=O[0],w=O[1],H=(0,i.useState)(!1),M=(0,o.Z)(H,2),B=M[0],R=M[1],V=(0,i.useState)(null),K=(0,o.Z)(V,2),L=K[0],U=K[1],G=r.bucketName||"",D=(0,b.F)(G,[j.Ft.S3_GET_BUCKET_NOTIFICATIONS,j.Ft.S3_GET_ACTIONS]);(0,i.useEffect)((function(){l&&_(!0)}),[l,_]),(0,i.useEffect)((function(){P&&(D?v.Z.invoke("GET","/api/v1/buckets/".concat(G,"/events")).then((function(e){var t=m()(e,"events",[]);_(!1),w(t||[])})).catch((function(e){_(!1),n((0,k.Ih)(e))})):_(!1))}),[P,n,G,D]);var q=[{type:"delete",onClick:function(e){R(!0),U(e)}}];return(0,z.jsxs)(i.Fragment,{children:[B&&(0,z.jsx)(E,{deleteOpen:B,selectedBucket:G,bucketEvent:L,closeDeleteModalAndRefresh:function(e){R(!1),e&&_(!0)}}),f&&(0,z.jsx)(T,{open:f,selectedBucket:G,closeModalAndRefresh:function(){S(!1),_(!0)}}),(0,z.jsxs)(h.ZP,{container:!0,children:[(0,z.jsxs)(h.ZP,{item:!0,xs:12,className:t.actionsTray,children:[(0,z.jsx)(Z.Z,{children:"Events"}),(0,z.jsx)(b.s,{scopes:[j.Ft.S3_PUT_BUCKET_NOTIFICATIONS,j.Ft.S3_PUT_ACTIONS,j.Ft.ADMIN_SERVER_INFO],resource:G,matchAll:!0,errorProps:{disabled:!0},children:(0,z.jsx)(I.Z,{tooltip:"Subscribe to Event",children:(0,z.jsx)(s.zxk,{id:"Subscribe-bucket-event",onClick:function(){S(!0)},label:"Subscribe to Event",icon:(0,z.jsx)(s.dtP,{}),variant:"callAction"})})})]}),(0,z.jsx)(h.ZP,{item:!0,xs:12,children:(0,z.jsx)(b.s,{scopes:[j.Ft.S3_GET_BUCKET_NOTIFICATIONS,j.Ft.S3_GET_ACTIONS],resource:G,errorProps:{disabled:!0},children:(0,z.jsx)(p.Z,{itemActions:q,columns:[{label:"SQS",elementKey:"arn"},{label:"Events",elementKey:"events",renderFunction:function(e){return(0,z.jsx)(i.Fragment,{children:e.join(", ")})}},{label:"Prefix",elementKey:"prefix"},{label:"Suffix",elementKey:"suffix"}],isLoading:P,records:A,entityName:"Events",idField:"id",customPaperHeight:t.twHeight})})}),!P&&(0,z.jsxs)(h.ZP,{item:!0,xs:12,children:[(0,z.jsx)("br",{}),(0,z.jsx)(x.Z,{title:"Lambda Notifications",iconComponent:(0,z.jsx)(s.cCG,{}),help:(0,z.jsxs)(i.Fragment,{children:["MinIO bucket notifications allow administrators to send notifications to supported external services on certain object or bucket events. MinIO supports bucket and object-level S3 events similar to the Amazon S3 Event Notifications.",(0,z.jsx)("br",{}),(0,z.jsx)("br",{}),"You can learn more at our"," ",(0,z.jsx)("a",{href:"https://min.io/docs/minio/linux/administration/monitoring/bucket-notifications.html?ref=con",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})]})]})]})}))},60680:function(e,t,n){"use strict";n(72791);var o=n(11135),r=n(25787),i=n(80184);t.Z=(0,r.Z)((function(e){return(0,o.Z)({root:{padding:0,margin:0,fontSize:".9rem"}})}))((function(e){var t=e.classes,n=e.children;return(0,i.jsx)("h1",{className:t.root,children:n})}))},26759:function(e,t,n){"use strict";var o=n(64836);t.Z=void 0;var r=o(n(45649)),i=n(80184),c=(0,r.default)((0,i.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");t.Z=c},70366:function(e,t,n){"use strict";var o=n(64836);t.Z=void 0;var r=o(n(45649)),i=n(80184),c=(0,r.default)((0,i.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");t.Z=c},97911:function(e,t,n){"use strict";var o=n(64836);t.Z=void 0;var r=o(n(45649)),i=n(80184),c=(0,r.default)((0,i.jsx)("path",{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}),"ViewColumn");t.Z=c},94454:function(e,t,n){"use strict";n.d(t,{Z:function(){return T}});var o=n(4942),r=n(63366),i=n(87462),c=n(72791),a=n(28182),s=n(94419),l=n(12065),d=n(97278),u=n(76189),m=n(80184),h=(0,u.Z)((0,m.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"),f=(0,u.Z)((0,m.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"),p=(0,u.Z)((0,m.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"),v=n(14036),x=n(31402),Z=n(66934),b=n(75878),j=n(21217);function S(e){return(0,j.Z)("MuiCheckbox",e)}var k=(0,b.Z)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary"]),g=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size","className"],C=(0,Z.ZP)(d.Z,{shouldForwardProp:function(e){return(0,Z.FO)(e)||"classes"===e},name:"MuiCheckbox",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.indeterminate&&t.indeterminate,"default"!==n.color&&t["color".concat((0,v.Z)(n.color))]]}})((function(e){var t,n=e.theme,r=e.ownerState;return(0,i.Z)({color:(n.vars||n).palette.text.secondary},!r.disableRipple&&{"&:hover":{backgroundColor:n.vars?"rgba(".concat("default"===r.color?n.vars.palette.action.activeChannel:n.vars.palette.primary.mainChannel," / ").concat(n.vars.palette.action.hoverOpacity,")"):(0,l.Fq)("default"===r.color?n.palette.action.active:n.palette[r.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==r.color&&(t={},(0,o.Z)(t,"&.".concat(k.checked,", &.").concat(k.indeterminate),{color:(n.vars||n).palette[r.color].main}),(0,o.Z)(t,"&.".concat(k.disabled),{color:(n.vars||n).palette.action.disabled}),t))})),I=(0,m.jsx)(f,{}),z=(0,m.jsx)(h,{}),E=(0,m.jsx)(p,{}),T=c.forwardRef((function(e,t){var n,o,l=(0,x.Z)({props:e,name:"MuiCheckbox"}),d=l.checkedIcon,u=void 0===d?I:d,h=l.color,f=void 0===h?"primary":h,p=l.icon,Z=void 0===p?z:p,b=l.indeterminate,j=void 0!==b&&b,k=l.indeterminateIcon,T=void 0===k?E:k,F=l.inputProps,N=l.size,P=void 0===N?"medium":N,_=l.className,y=(0,r.Z)(l,g),O=j?T:Z,A=j?T:u,w=(0,i.Z)({},l,{color:f,indeterminate:j,size:P}),H=function(e){var t=e.classes,n=e.indeterminate,o=e.color,r={root:["root",n&&"indeterminate","color".concat((0,v.Z)(o))]},c=(0,s.Z)(r,S,t);return(0,i.Z)({},t,c)}(w);return(0,m.jsx)(C,(0,i.Z)({type:"checkbox",inputProps:(0,i.Z)({"data-indeterminate":j},F),icon:c.cloneElement(O,{fontSize:null!=(n=O.props.fontSize)?n:P}),checkedIcon:c.cloneElement(A,{fontSize:null!=(o=A.props.fontSize)?o:P}),ownerState:w,ref:t,className:(0,a.Z)(H.root,_)},y,{classes:H}))}))},26769:function(e,t,n){var o=n(39066),r=n(93629),i=n(43141);e.exports=function(e){return"string"==typeof e||!r(e)&&i(e)&&"[object String]"==o(e)}}}]); +//# sourceMappingURL=1440.b5fbee60.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1440.b5fbee60.chunk.js.map b/portal-ui/build/static/js/1440.b5fbee60.chunk.js.map new file mode 100644 index 000000000..2dd063b38 --- /dev/null +++ b/portal-ui/build/static/js/1440.b5fbee60.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1440.b5fbee60.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Buckets/BucketDetails/BucketEventsPanel.tsx","screens/Console/Common/PanelTitle/PanelTitle.tsx","../node_modules/@mui/icons-material/ArrowDropDown.js","../node_modules/@mui/icons-material/ArrowDropUp.js","../node_modules/@mui/icons-material/ViewColumn.js","../node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@mui/material/Checkbox/checkboxClasses.js","../node_modules/@mui/material/Checkbox/Checkbox.js","../node_modules/lodash/isString.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string | React.ReactNode;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useParams } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport { AddIcon, Button, LambdaIcon } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport { BucketEvent, BucketEventList } from \"../types\";\nimport {\n actionsTray,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport api from \"../../../../common/api\";\n\nimport HelpBox from \"../../../../common/HelpBox\";\nimport PanelTitle from \"../../Common/PanelTitle/PanelTitle\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { selBucketDetailsLoading } from \"./bucketDetailsSlice\";\nimport { useAppDispatch } from \"../../../../store\";\nimport TooltipWrapper from \"../../Common/TooltipWrapper/TooltipWrapper\";\n\nconst DeleteEvent = withSuspense(React.lazy(() => import(\"./DeleteEvent\")));\nconst AddEvent = withSuspense(React.lazy(() => import(\"./AddEvent\")));\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...searchField,\n ...actionsTray,\n twHeight: {\n minHeight: 400,\n },\n });\n\ninterface IBucketEventsProps {\n classes: any;\n}\n\nconst BucketEventsPanel = ({ classes }: IBucketEventsProps) => {\n const dispatch = useAppDispatch();\n const params = useParams();\n\n const loadingBucket = useSelector(selBucketDetailsLoading);\n\n const [addEventScreenOpen, setAddEventScreenOpen] = useState(false);\n const [loadingEvents, setLoadingEvents] = useState(true);\n const [records, setRecords] = useState([]);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedEvent, setSelectedEvent] = useState(null);\n\n const bucketName = params.bucketName || \"\";\n\n const displayEvents = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_NOTIFICATIONS,\n IAM_SCOPES.S3_GET_ACTIONS,\n ]);\n\n useEffect(() => {\n if (loadingBucket) {\n setLoadingEvents(true);\n }\n }, [loadingBucket, setLoadingEvents]);\n\n useEffect(() => {\n if (loadingEvents) {\n if (displayEvents) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/events`)\n .then((res: BucketEventList) => {\n const events = get(res, \"events\", []);\n setLoadingEvents(false);\n setRecords(events || []);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingEvents(false);\n dispatch(setErrorSnackMessage(err));\n });\n } else {\n setLoadingEvents(false);\n }\n }\n }, [loadingEvents, dispatch, bucketName, displayEvents]);\n\n const eventsDisplay = (events: string[]) => {\n return {events.join(\", \")};\n };\n\n const confirmDeleteEvent = (evnt: BucketEvent) => {\n setDeleteOpen(true);\n setSelectedEvent(evnt);\n };\n\n const closeAddEventAndRefresh = () => {\n setAddEventScreenOpen(false);\n setLoadingEvents(true);\n };\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n if (refresh) {\n setLoadingEvents(true);\n }\n };\n\n const tableActions = [{ type: \"delete\", onClick: confirmDeleteEvent }];\n\n return (\n \n {deleteOpen && (\n \n )}\n {addEventScreenOpen && (\n \n )}\n\n \n \n Events\n \n \n {\n setAddEventScreenOpen(true);\n }}\n label={\"Subscribe to Event\"}\n icon={}\n variant={\"callAction\"}\n />\n \n \n \n \n \n \n \n \n {!loadingEvents && (\n \n
\n }\n help={\n \n MinIO bucket notifications allow administrators to send\n notifications to supported external services on certain object\n or bucket events. MinIO supports bucket and object-level S3\n events similar to the Amazon S3 Event Notifications.\n
\n
\n You can learn more at our{\" \"}\n \n documentation\n \n .\n
\n }\n />\n
\n )}\n
\n
\n );\n};\n\nexport default withStyles(styles)(BucketEventsPanel);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButtonProps } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 0,\n margin: 0,\n fontSize: \".9rem\",\n },\n });\n\ninterface IPanelTitle extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst PanelTitle = ({ classes, children }: IPanelTitle) => {\n return

{children}

;\n};\n\nexport default withStyles(styles)(PanelTitle);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\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;","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 */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\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 */\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 baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","DeleteEvent","withSuspense","React","AddEvent","searchField","actionsTray","twHeight","minHeight","dispatch","useAppDispatch","params","useParams","loadingBucket","useSelector","selBucketDetailsLoading","useState","addEventScreenOpen","setAddEventScreenOpen","loadingEvents","setLoadingEvents","records","setRecords","deleteOpen","setDeleteOpen","selectedEvent","setSelectedEvent","bucketName","displayEvents","hasPermission","IAM_SCOPES","useEffect","api","then","res","events","get","catch","err","setErrorSnackMessage","tableActions","type","onClick","evnt","Fragment","selectedBucket","bucketEvent","closeDeleteModalAndRefresh","refresh","open","closeModalAndRefresh","scopes","resource","matchAll","errorProps","disabled","tooltip","id","label","icon","variant","itemActions","columns","elementKey","renderFunction","join","isLoading","entityName","idField","customPaperHeight","href","target","rel","padding","margin","children","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","createSvgIcon","_jsx","getCheckboxUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","CheckboxRoot","styled","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","ownerState","indeterminate","color","capitalize","_extends","vars","palette","text","secondary","disableRipple","action","activeChannel","primary","mainChannel","hoverOpacity","alpha","active","main","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","inProps","ref","_icon$props$fontSize","_indeterminateIcon$pr","useThemeProps","checkedIcon","iconProp","indeterminateIcon","indeterminateIconProp","inputProps","size","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","clsx","baseGetTag","isArray","isObjectLike","module","value"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1501.2b23a1c6.chunk.js b/portal-ui/build/static/js/1501.2b23a1c6.chunk.js deleted file mode 100644 index 55733c907..000000000 --- a/portal-ui/build/static/js/1501.2b23a1c6.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1501],{27331:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return S}});var o=n(29439),a=n(1413),r=n(72791),c=n(78687),i=n(57689),s=n(11135),l=n(25787),d=n(23814),u=n(45248),m=n(81207),p=n(92983),f=n(25469),h=n(51691),v=n(21435),Z=n(61889),x=n(9505),b=n(23508),j=n(56096),k=n(87995),C=n(80184),y=function(e){var t=e.deleteOpen,n=e.selectedPod,a=e.closeDeleteModalAndRefresh,c=(0,f.TL)(),i=(0,r.useState)(""),s=(0,o.Z)(i,2),l=s[0],d=s[1],u=(0,x.Z)((function(){return a(!0)}),(function(e){return c((0,k.Ih)(e))})),m=(0,o.Z)(u,2),p=m[0],y=m[1];return(0,C.jsx)(b.Z,{title:"Delete Pod",confirmText:"Delete",isOpen:t,titleIcon:(0,C.jsx)(j.NvT,{}),isLoading:p,onConfirm:function(){l===n.name?y("DELETE","/api/v1/namespaces/".concat(n.namespace,"/tenants/").concat(n.tenant,"/pods/").concat(n.name)):(0,k.Ih)({errorMessage:"Tenant name is incorrect",detailedError:""})},onClose:function(){return a(!1)},confirmButtonProps:{disabled:l!==n.name||p},confirmationContent:(0,C.jsxs)(h.Z,{children:["To continue please type ",(0,C.jsx)("b",{children:n.name})," in the box.",(0,C.jsx)(Z.ZP,{item:!0,xs:12,children:(0,C.jsx)(v.Z,{id:"retype-pod",name:"retype-pod",onChange:function(e){d(e.target.value)},label:"",value:l})})]})})},g=n(27391),P=n(63466),z=n(74900),S=(0,l.Z)((function(e){return(0,s.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},d.oZ),d.VX),(0,d.Bz)(e.spacing(4))))}))((function(e){var t=e.classes,n=(0,f.TL)(),a=(0,i.s0)(),s=(0,i.UO)(),l=s.tenantName,d=s.tenantNamespace,h=(0,c.v9)((function(e){return e.tenants.loadingTenant})),v=(0,r.useState)([]),x=(0,o.Z)(v,2),b=x[0],j=x[1],S=(0,r.useState)(!0),w=(0,o.Z)(S,2),I=w[0],N=w[1],E=(0,r.useState)(!1),M=(0,o.Z)(E,2),T=M[0],D=M[1],L=(0,r.useState)(null),V=(0,o.Z)(L,2),H=V[0],O=V[1],A=(0,r.useState)(""),B=(0,o.Z)(A,2),F=B[0],R=B[1],K=b.filter((function(e){return e.name.toLowerCase().includes(F.toLowerCase())})),U=[{type:"view",onClick:function(e){a("/namespaces/".concat(d||"","/tenants/").concat(l||"","/pods/").concat(e.name))}},{type:"delete",onClick:function(e){e.tenant=l,e.namespace=d,O(e),D(!0)}}];return(0,r.useEffect)((function(){h&&N(!0)}),[h]),(0,r.useEffect)((function(){I&&m.Z.invoke("GET","/api/v1/namespaces/".concat(d||"","/tenants/").concat(l||"","/pods")).then((function(e){for(var t=0;t.\n\nimport React, { useState } from \"react\";\nimport { DialogContentText } from \"@mui/material\";\nimport { IPodListElement } from \"../ListTenants/types\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Grid from \"@mui/material/Grid\";\n\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IDeletePod {\n deleteOpen: boolean;\n selectedPod: IPodListElement;\n closeDeleteModalAndRefresh: (refreshList: boolean) => any;\n}\n\nconst DeletePod = ({\n deleteOpen,\n selectedPod,\n closeDeleteModalAndRefresh,\n}: IDeletePod) => {\n const dispatch = useAppDispatch();\n const [retypePod, setRetypePod] = useState(\"\");\n\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) =>\n dispatch(setErrorSnackMessage(err));\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n const onConfirmDelete = () => {\n if (retypePod !== selectedPod.name) {\n setErrorSnackMessage({\n errorMessage: \"Tenant name is incorrect\",\n detailedError: \"\",\n });\n return;\n }\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/namespaces/${selectedPod.namespace}/tenants/${selectedPod.tenant}/pods/${selectedPod.name}`\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmButtonProps={{\n disabled: retypePod !== selectedPod.name || deleteLoading,\n }}\n confirmationContent={\n \n To continue please type {selectedPod.name} in the box.\n \n ) => {\n setRetypePod(event.target.value);\n }}\n label=\"\"\n value={retypePod}\n />\n \n \n }\n />\n );\n};\n\nexport default DeletePod;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useNavigate, useParams } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n containerForHeader,\n tableStyles,\n tenantDetailsStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { niceDays } from \"../../../../common/utils\";\nimport { IPodListElement } from \"../ListTenants/types\";\n\nimport api from \"../../../../common/api\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport DeletePod from \"./DeletePod\";\nimport { Grid, InputAdornment, TextField } from \"@mui/material\";\nimport SearchIcon from \"../../../../icons/SearchIcon\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\n\ninterface IPodsSummary {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n ...tableStyles,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst PodsSummary = ({ classes }: IPodsSummary) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n const { tenantName, tenantNamespace } = useParams();\n\n const loadingTenant = useSelector(\n (state: AppState) => state.tenants.loadingTenant\n );\n\n const [pods, setPods] = useState([]);\n const [loadingPods, setLoadingPods] = useState(true);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedPod, setSelectedPod] = useState(null);\n const [filter, setFilter] = useState(\"\");\n\n const podViewAction = (pod: IPodListElement) => {\n navigate(\n `/namespaces/${tenantNamespace || \"\"}/tenants/${tenantName || \"\"}/pods/${\n pod.name\n }`\n );\n return;\n };\n\n const closeDeleteModalAndRefresh = (reloadData: boolean) => {\n setDeleteOpen(false);\n setLoadingPods(true);\n };\n\n const confirmDeletePod = (pod: IPodListElement) => {\n pod.tenant = tenantName;\n pod.namespace = tenantNamespace;\n setSelectedPod(pod);\n setDeleteOpen(true);\n };\n\n const filteredRecords: IPodListElement[] = pods.filter((elementItem) =>\n elementItem.name.toLowerCase().includes(filter.toLowerCase())\n );\n\n const podTableActions = [\n { type: \"view\", onClick: podViewAction },\n { type: \"delete\", onClick: confirmDeletePod },\n ];\n\n useEffect(() => {\n if (loadingTenant) {\n setLoadingPods(true);\n }\n }, [loadingTenant]);\n\n useEffect(() => {\n if (loadingPods) {\n api\n .invoke(\n \"GET\",\n `/api/v1/namespaces/${tenantNamespace || \"\"}/tenants/${\n tenantName || \"\"\n }/pods`\n )\n .then((result: IPodListElement[]) => {\n for (let i = 0; i < result.length; i++) {\n let currentTime = (Date.now() / 1000) | 0;\n result[i].time = niceDays(\n (currentTime - parseInt(result[i].timeCreated)).toString()\n );\n }\n setPods(result);\n setLoadingPods(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(\n setErrorSnackMessage({\n errorMessage: \"Error loading pods\",\n detailedError: err.detailedError,\n })\n );\n });\n }\n }, [loadingPods, tenantName, tenantNamespace, dispatch]);\n\n return (\n \n {deleteOpen && (\n \n )}\n

Pods

\n \n \n \n \n ),\n }}\n onChange={(e) => {\n setFilter(e.target.value);\n }}\n variant=\"standard\"\n />\n \n \n {\n return input !== null ? input : 0;\n },\n },\n { label: \"Node\", elementKey: \"node\" },\n ]}\n isLoading={loadingPods}\n records={filteredRecords}\n itemActions={podTableActions}\n entityName=\"Pods\"\n idField=\"name\"\n />\n \n
\n );\n};\n\nexport default withStyles(styles)(PodsSummary);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\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;","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 */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\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 */\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 baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n"],"names":["deleteOpen","selectedPod","closeDeleteModalAndRefresh","dispatch","useAppDispatch","useState","retypePod","setRetypePod","useApi","err","setErrorSnackMessage","deleteLoading","invokeDeleteApi","ConfirmDialog","title","confirmText","isOpen","titleIcon","isLoading","onConfirm","name","namespace","tenant","errorMessage","detailedError","onClose","confirmButtonProps","disabled","confirmationContent","DialogContentText","Grid","item","xs","InputBoxWrapper","id","onChange","event","target","value","label","withStyles","theme","createStyles","tenantDetailsStyles","tableStyles","containerForHeader","spacing","classes","navigate","useNavigate","useParams","tenantName","tenantNamespace","loadingTenant","useSelector","state","tenants","pods","setPods","loadingPods","setLoadingPods","setDeleteOpen","setSelectedPod","filter","setFilter","filteredRecords","elementItem","toLowerCase","includes","podTableActions","type","onClick","pod","useEffect","api","then","result","i","length","currentTime","Date","now","time","niceDays","parseInt","timeCreated","toString","catch","Fragment","reloadData","className","sectionTitle","actionsTray","TextField","placeholder","searchField","InputProps","disableUnderline","startAdornment","InputAdornment","position","SearchIcon","e","variant","tableBlock","TableWrapper","columns","elementKey","width","renderFunction","input","records","itemActions","entityName","idField","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","createSvgIcon","_jsx","getCheckboxUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","CheckboxRoot","styled","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","props","styles","ownerState","root","indeterminate","color","capitalize","_extends","vars","palette","text","secondary","disableRipple","backgroundColor","action","activeChannel","primary","mainChannel","hoverOpacity","alpha","active","main","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","React","inProps","ref","_icon$props$fontSize","_indeterminateIcon$pr","useThemeProps","checkedIcon","icon","iconProp","indeterminateIcon","indeterminateIconProp","inputProps","size","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","fontSize","clsx","baseGetTag","isArray","isObjectLike","module"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1501.e543ab00.chunk.js b/portal-ui/build/static/js/1501.e543ab00.chunk.js new file mode 100644 index 000000000..44ae83ceb --- /dev/null +++ b/portal-ui/build/static/js/1501.e543ab00.chunk.js @@ -0,0 +1,2 @@ +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1501],{27331:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return z}});var o=n(29439),a=n(1413),r=n(72791),c=n(78687),i=n(57689),s=n(11135),l=n(25787),d=n(23814),u=n(45248),m=n(81207),p=n(92983),f=n(25469),h=n(51691),v=n(21435),Z=n(61889),x=n(9505),b=n(23508),j=n(75952),k=n(87995),C=n(80184),y=function(e){var t=e.deleteOpen,n=e.selectedPod,a=e.closeDeleteModalAndRefresh,c=(0,f.TL)(),i=(0,r.useState)(""),s=(0,o.Z)(i,2),l=s[0],d=s[1],u=(0,x.Z)((function(){return a(!0)}),(function(e){return c((0,k.Ih)(e))})),m=(0,o.Z)(u,2),p=m[0],y=m[1];return(0,C.jsx)(b.Z,{title:"Delete Pod",confirmText:"Delete",isOpen:t,titleIcon:(0,C.jsx)(j.NvT,{}),isLoading:p,onConfirm:function(){l===n.name?y("DELETE","/api/v1/namespaces/".concat(n.namespace,"/tenants/").concat(n.tenant,"/pods/").concat(n.name)):(0,k.Ih)({errorMessage:"Tenant name is incorrect",detailedError:""})},onClose:function(){return a(!1)},confirmButtonProps:{disabled:l!==n.name||p},confirmationContent:(0,C.jsxs)(h.Z,{children:["To continue please type ",(0,C.jsx)("b",{children:n.name})," in the box.",(0,C.jsx)(Z.ZP,{item:!0,xs:12,children:(0,C.jsx)(v.Z,{id:"retype-pod",name:"retype-pod",onChange:function(e){d(e.target.value)},label:"",value:l})})]})})},g=n(27391),P=n(63466),z=(0,l.Z)((function(e){return(0,s.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},d.oZ),d.VX),(0,d.Bz)(e.spacing(4))))}))((function(e){var t=e.classes,n=(0,f.TL)(),a=(0,i.s0)(),s=(0,i.UO)(),l=s.tenantName,d=s.tenantNamespace,h=(0,c.v9)((function(e){return e.tenants.loadingTenant})),v=(0,r.useState)([]),x=(0,o.Z)(v,2),b=x[0],z=x[1],S=(0,r.useState)(!0),w=(0,o.Z)(S,2),I=w[0],M=w[1],N=(0,r.useState)(!1),E=(0,o.Z)(N,2),T=E[0],D=E[1],L=(0,r.useState)(null),V=(0,o.Z)(L,2),H=V[0],O=V[1],A=(0,r.useState)(""),B=(0,o.Z)(A,2),F=B[0],R=B[1],K=b.filter((function(e){return e.name.toLowerCase().includes(F.toLowerCase())})),U=[{type:"view",onClick:function(e){a("/namespaces/".concat(d||"","/tenants/").concat(l||"","/pods/").concat(e.name))}},{type:"delete",onClick:function(e){e.tenant=l,e.namespace=d,O(e),D(!0)}}];return(0,r.useEffect)((function(){h&&M(!0)}),[h]),(0,r.useEffect)((function(){I&&m.Z.invoke("GET","/api/v1/namespaces/".concat(d||"","/tenants/").concat(l||"","/pods")).then((function(e){for(var t=0;t.\n\nimport React, { useState } from \"react\";\nimport { DialogContentText } from \"@mui/material\";\nimport { IPodListElement } from \"../ListTenants/types\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Grid from \"@mui/material/Grid\";\n\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"mds\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IDeletePod {\n deleteOpen: boolean;\n selectedPod: IPodListElement;\n closeDeleteModalAndRefresh: (refreshList: boolean) => any;\n}\n\nconst DeletePod = ({\n deleteOpen,\n selectedPod,\n closeDeleteModalAndRefresh,\n}: IDeletePod) => {\n const dispatch = useAppDispatch();\n const [retypePod, setRetypePod] = useState(\"\");\n\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) =>\n dispatch(setErrorSnackMessage(err));\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n const onConfirmDelete = () => {\n if (retypePod !== selectedPod.name) {\n setErrorSnackMessage({\n errorMessage: \"Tenant name is incorrect\",\n detailedError: \"\",\n });\n return;\n }\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/namespaces/${selectedPod.namespace}/tenants/${selectedPod.tenant}/pods/${selectedPod.name}`\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmButtonProps={{\n disabled: retypePod !== selectedPod.name || deleteLoading,\n }}\n confirmationContent={\n \n To continue please type {selectedPod.name} in the box.\n \n ) => {\n setRetypePod(event.target.value);\n }}\n label=\"\"\n value={retypePod}\n />\n \n \n }\n />\n );\n};\n\nexport default DeletePod;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useNavigate, useParams } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n containerForHeader,\n tableStyles,\n tenantDetailsStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { niceDays } from \"../../../../common/utils\";\nimport { IPodListElement } from \"../ListTenants/types\";\n\nimport api from \"../../../../common/api\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport DeletePod from \"./DeletePod\";\nimport { Grid, InputAdornment, TextField } from \"@mui/material\";\nimport { SearchIcon } from \"mds\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\n\ninterface IPodsSummary {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n ...tableStyles,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst PodsSummary = ({ classes }: IPodsSummary) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n const { tenantName, tenantNamespace } = useParams();\n\n const loadingTenant = useSelector(\n (state: AppState) => state.tenants.loadingTenant\n );\n\n const [pods, setPods] = useState([]);\n const [loadingPods, setLoadingPods] = useState(true);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedPod, setSelectedPod] = useState(null);\n const [filter, setFilter] = useState(\"\");\n\n const podViewAction = (pod: IPodListElement) => {\n navigate(\n `/namespaces/${tenantNamespace || \"\"}/tenants/${tenantName || \"\"}/pods/${\n pod.name\n }`\n );\n return;\n };\n\n const closeDeleteModalAndRefresh = (reloadData: boolean) => {\n setDeleteOpen(false);\n setLoadingPods(true);\n };\n\n const confirmDeletePod = (pod: IPodListElement) => {\n pod.tenant = tenantName;\n pod.namespace = tenantNamespace;\n setSelectedPod(pod);\n setDeleteOpen(true);\n };\n\n const filteredRecords: IPodListElement[] = pods.filter((elementItem) =>\n elementItem.name.toLowerCase().includes(filter.toLowerCase())\n );\n\n const podTableActions = [\n { type: \"view\", onClick: podViewAction },\n { type: \"delete\", onClick: confirmDeletePod },\n ];\n\n useEffect(() => {\n if (loadingTenant) {\n setLoadingPods(true);\n }\n }, [loadingTenant]);\n\n useEffect(() => {\n if (loadingPods) {\n api\n .invoke(\n \"GET\",\n `/api/v1/namespaces/${tenantNamespace || \"\"}/tenants/${\n tenantName || \"\"\n }/pods`\n )\n .then((result: IPodListElement[]) => {\n for (let i = 0; i < result.length; i++) {\n let currentTime = (Date.now() / 1000) | 0;\n result[i].time = niceDays(\n (currentTime - parseInt(result[i].timeCreated)).toString()\n );\n }\n setPods(result);\n setLoadingPods(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(\n setErrorSnackMessage({\n errorMessage: \"Error loading pods\",\n detailedError: err.detailedError,\n })\n );\n });\n }\n }, [loadingPods, tenantName, tenantNamespace, dispatch]);\n\n return (\n \n {deleteOpen && (\n \n )}\n

Pods

\n \n \n \n \n ),\n }}\n onChange={(e) => {\n setFilter(e.target.value);\n }}\n variant=\"standard\"\n />\n \n \n {\n return input !== null ? input : 0;\n },\n },\n { label: \"Node\", elementKey: \"node\" },\n ]}\n isLoading={loadingPods}\n records={filteredRecords}\n itemActions={podTableActions}\n entityName=\"Pods\"\n idField=\"name\"\n />\n \n
\n );\n};\n\nexport default withStyles(styles)(PodsSummary);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\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;","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 */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\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 */\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 baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n"],"names":["deleteOpen","selectedPod","closeDeleteModalAndRefresh","dispatch","useAppDispatch","useState","retypePod","setRetypePod","useApi","err","setErrorSnackMessage","deleteLoading","invokeDeleteApi","ConfirmDialog","title","confirmText","isOpen","titleIcon","isLoading","onConfirm","name","namespace","tenant","errorMessage","detailedError","onClose","confirmButtonProps","disabled","confirmationContent","DialogContentText","Grid","item","xs","InputBoxWrapper","id","onChange","event","target","value","label","withStyles","theme","createStyles","tenantDetailsStyles","tableStyles","containerForHeader","spacing","classes","navigate","useNavigate","useParams","tenantName","tenantNamespace","loadingTenant","useSelector","state","tenants","pods","setPods","loadingPods","setLoadingPods","setDeleteOpen","setSelectedPod","filter","setFilter","filteredRecords","elementItem","toLowerCase","includes","podTableActions","type","onClick","pod","useEffect","api","then","result","i","length","currentTime","Date","now","time","niceDays","parseInt","timeCreated","toString","catch","Fragment","reloadData","className","sectionTitle","actionsTray","TextField","placeholder","searchField","InputProps","disableUnderline","startAdornment","InputAdornment","position","e","variant","tableBlock","TableWrapper","columns","elementKey","width","renderFunction","input","records","itemActions","entityName","idField","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","createSvgIcon","_jsx","getCheckboxUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","CheckboxRoot","styled","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","props","styles","ownerState","root","indeterminate","color","capitalize","_extends","vars","palette","text","secondary","disableRipple","backgroundColor","action","activeChannel","primary","mainChannel","hoverOpacity","alpha","active","main","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","React","inProps","ref","_icon$props$fontSize","_indeterminateIcon$pr","useThemeProps","checkedIcon","icon","iconProp","indeterminateIcon","indeterminateIconProp","inputProps","size","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","fontSize","clsx","baseGetTag","isArray","isObjectLike","module"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1507.979cb39c.chunk.js b/portal-ui/build/static/js/1507.979cb39c.chunk.js new file mode 100644 index 000000000..66c5da724 --- /dev/null +++ b/portal-ui/build/static/js/1507.979cb39c.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1507],{92217:function(e,n,t){var a=t(1413),i=t(72791),o=t(61889),r=t(30829),s=t(20068),l=t(64554),c=t(11135),d=t(25787),u=t(75952),x=t(23814),m=t(78029),p=t.n(m),f=t(90932),h=t(27454),g=t(80184);n.Z=(0,d.Z)((function(e){return(0,c.Z)((0,a.Z)({},x.YI))}))((function(e){var n=e.value,t=e.label,a=void 0===t?"":t,c=e.tooltip,d=void 0===c?"":c,x=e.mode,m=void 0===x?"json":x,j=e.classes,v=e.onBeforeChange,Z=(e.readOnly,e.editorHeight),b=void 0===Z?"250px":Z;return(0,g.jsxs)(i.Fragment,{children:[(0,g.jsx)(o.ZP,{item:!0,xs:12,sx:{marginBottom:"10px"},children:(0,g.jsxs)(r.Z,{className:j.inputLabel,children:[(0,g.jsx)("span",{children:a}),""!==d&&(0,g.jsx)("div",{className:j.tooltipContainer,children:(0,g.jsx)(s.Z,{title:d,placement:"top-start",children:(0,g.jsx)("div",{className:j.tooltip,children:(0,g.jsx)(u.byK,{})})})})]})}),(0,g.jsx)(o.ZP,{item:!0,xs:12,style:{maxHeight:b,overflow:"auto",border:"1px solid #eaeaea"},children:(0,g.jsx)(f.Z,{value:n,language:m,onChange:function(e){v(null,null,e.target.value)},id:"code_wrapper",padding:15,style:{fontSize:12,backgroundColor:"#fefefe",fontFamily:"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace",minHeight:b||"initial",color:"#000000"}})}),(0,g.jsx)(o.ZP,{item:!0,xs:12,sx:{background:"#f7f7f7",border:"1px solid #eaeaea",borderTop:0},children:(0,g.jsx)(l.Z,{sx:{display:"flex",alignItems:"center",padding:"2px",paddingRight:"5px",justifyContent:"flex-end","& button":{height:"26px",width:"26px",padding:"2px"," .min-icon":{marginLeft:"0"}}},children:(0,g.jsx)(h.Z,{tooltip:"Copy to Clipboard",children:(0,g.jsx)(p(),{text:n,children:(0,g.jsx)(u.zxk,{type:"button",id:"copy-code-mirror",icon:(0,g.jsx)(u.TIy,{}),color:"primary",variant:"regular"})})})})})]})}))},82859:function(e,n,t){t.r(n);var a=t(29439),i=t(1413),o=t(72791),r=t(78687),s=t(57689),l=t(40986),c=t(75952),d=t(61889),u=t(11135),x=t(25787),m=t(81207),p=t(23814),f=t(92217),h=t(87995),g=t(25469),j=t(82295),v=t(50896),Z=t(80184);n.default=(0,x.Z)((function(e){return(0,u.Z)((0,i.Z)((0,i.Z)({errorState:{color:"#b53b4b",fontSize:14,fontWeight:"bold"},codeMirrorContainer:{marginBottom:20,paddingLeft:15,"& label":{marginBottom:".5rem"},"& label + div":{display:"none"}}},p.ID),p.YI))}))((function(e){var n=e.classes,t=(0,g.TL)(),i=(0,s.s0)(),u=(0,r.v9)((function(e){return e.tenants.currentTenant})),x=(0,r.v9)((function(e){return e.tenants.currentNamespace})),p=(0,o.useState)(!1),b=(0,a.Z)(p,2),y=b[0],C=b[1],S=(0,o.useState)(!1),k=(0,a.Z)(S,2),P=k[0],T=k[1],z=(0,o.useState)(""),L=(0,a.Z)(z,2),M=L[0],w=L[1],B=(0,o.useState)(""),F=(0,a.Z)(B,2),I=F[0],N=F[1];(0,o.useEffect)((function(){m.Z.invoke("GET","/api/v1/namespaces/".concat(x,"/tenants/").concat(u,"/yaml")).then((function(e){T(!1),w(e.yaml)})).catch((function(e){T(!1),t((0,h.zb)(e))}))}),[u,x,t]),(0,o.useEffect)((function(){}),[]);var H=""!==M.trim();return(0,Z.jsxs)(o.Fragment,{children:[y||P&&(0,Z.jsx)(d.ZP,{item:!0,xs:12,children:(0,Z.jsx)(l.Z,{})}),""!==I&&(0,Z.jsx)("div",{className:n.errorState,children:I}),!P&&(0,Z.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),y||(C(!0),N(""),m.Z.invoke("PUT","/api/v1/namespaces/".concat(x,"/tenants/").concat(u,"/yaml"),{yaml:M}).then((function(e){C(!1),t((0,j.v)()),N(""),i("/namespaces/".concat(x,"/tenants/").concat(u,"/summary"))})).catch((function(e){C(!1),N(e.errorMessage)})))},children:(0,Z.jsxs)(d.ZP,{container:!0,children:[(0,Z.jsx)(d.ZP,{item:!0,xs:12,children:(0,Z.jsx)(v.Z,{children:"Tenant Specification"})}),(0,Z.jsx)(d.ZP,{item:!0,xs:12,children:(0,Z.jsx)(f.Z,{value:M,mode:"yaml",onBeforeChange:function(e,n,t){w(t)},editorHeight:"550px"})}),(0,Z.jsxs)(d.ZP,{item:!0,xs:12,style:{display:"flex",justifyContent:"flex-end",paddingTop:16},children:[(0,Z.jsx)(c.zxk,{id:"cancel-tenant-yaml",type:"button",variant:"regular",disabled:y,onClick:function(){i("/namespaces/".concat(x,"/tenants/").concat(u,"/summary"))},label:"Cancel"}),(0,Z.jsx)(c.zxk,{id:"save-tenant-yaml",type:"submit",variant:"callAction",disabled:y||!H,style:{marginLeft:8},label:"Save"})]})]})})]})}))}}]); +//# sourceMappingURL=1507.979cb39c.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1507.979cb39c.chunk.js.map b/portal-ui/build/static/js/1507.979cb39c.chunk.js.map new file mode 100644 index 000000000..409ae24d4 --- /dev/null +++ b/portal-ui/build/static/js/1507.979cb39c.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1507.979cb39c.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Tenants/TenantDetails/TenantYAML.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 from \"@mui/material/Grid\";\nimport { Box, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { HelpIcon } from \"mds\";\nimport { fieldBasic } from \"../common/styleLibrary\";\nimport { CopyIcon } from \"mds\";\nimport { Button } from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport CodeEditor from \"@uiw/react-textarea-code-editor\";\nimport TooltipWrapper from \"../../TooltipWrapper/TooltipWrapper\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n classes: any;\n onChange?: (editor: any, data: any, value: string) => any;\n onBeforeChange: (editor: any, data: any, value: string) => any;\n readOnly?: boolean;\n editorHeight?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n });\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n classes,\n onBeforeChange,\n readOnly = false,\n editorHeight = \"250px\",\n}: ICodeWrapper) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n\n \n {\n onBeforeChange(null, null, evn.target.value);\n }}\n id={\"code_wrapper\"}\n padding={15}\n style={{\n fontSize: 12,\n backgroundColor: \"#fefefe\",\n fontFamily:\n \"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace\",\n minHeight: editorHeight || \"initial\",\n color: \"#000000\",\n }}\n />\n \n \n \n \n \n }\n color={\"primary\"}\n variant={\"regular\"}\n />\n \n \n \n \n
\n );\n};\n\nexport default withStyles(styles)(CodeMirrorWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useNavigate } from \"react-router-dom\";\nimport { LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport api from \"../../../../common/api\";\nimport {\n fieldBasic,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport CodeMirrorWrapper from \"../../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport { setModalErrorSnackMessage } from \"../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport { getTenantAsync } from \"../thunks/tenantDetailsAsync\";\nimport SectionTitle from \"../../Common/SectionTitle\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n errorState: {\n color: \"#b53b4b\",\n fontSize: 14,\n fontWeight: \"bold\",\n },\n codeMirrorContainer: {\n marginBottom: 20,\n paddingLeft: 15,\n \"& label\": {\n marginBottom: \".5rem\",\n },\n \"& label + div\": {\n display: \"none\",\n },\n },\n ...modalStyleUtils,\n ...fieldBasic,\n });\n\ninterface ITenantYAML {\n yaml: string;\n}\n\ninterface ITenantYAMLProps {\n classes: any;\n}\n\nconst TenantYAML = ({ classes }: ITenantYAMLProps) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const tenant = useSelector((state: AppState) => state.tenants.currentTenant);\n const namespace = useSelector(\n (state: AppState) => state.tenants.currentNamespace\n );\n\n const [addLoading, setAddLoading] = useState(false);\n const [loading, setLoading] = useState(false);\n const [tenantYaml, setTenantYaml] = useState(\"\");\n const [errorMessage, setErrorMessage] = useState(\"\");\n\n const updateTenant = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n setErrorMessage(\"\");\n api\n .invoke(\"PUT\", `/api/v1/namespaces/${namespace}/tenants/${tenant}/yaml`, {\n yaml: tenantYaml,\n })\n .then((res) => {\n setAddLoading(false);\n dispatch(getTenantAsync());\n setErrorMessage(\"\");\n navigate(`/namespaces/${namespace}/tenants/${tenant}/summary`);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setErrorMessage(err.errorMessage);\n });\n };\n\n useEffect(() => {\n api\n .invoke(\"GET\", `/api/v1/namespaces/${namespace}/tenants/${tenant}/yaml`)\n .then((res: ITenantYAML) => {\n setLoading(false);\n setTenantYaml(res.yaml);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n }, [tenant, namespace, dispatch]);\n\n useEffect(() => {}, []);\n\n const validSave = tenantYaml.trim() !== \"\";\n\n return (\n \n {addLoading ||\n (loading && (\n \n \n \n ))}\n {errorMessage !== \"\" && (\n
{errorMessage}
\n )}\n\n {!loading && (\n ) => {\n updateTenant(e);\n }}\n >\n \n \n Tenant Specification\n \n \n {\n setTenantYaml(value);\n }}\n editorHeight={\"550px\"}\n />\n \n \n {\n navigate(\n `/namespaces/${namespace}/tenants/${tenant}/summary`\n );\n }}\n label={\"Cancel\"}\n />\n \n \n \n \n )}\n
\n );\n};\n\nexport default withStyles(styles)(TenantYAML);\n"],"names":["withStyles","theme","createStyles","fieldBasic","value","label","tooltip","mode","classes","onBeforeChange","readOnly","editorHeight","item","xs","sx","marginBottom","className","inputLabel","tooltipContainer","title","placement","style","maxHeight","overflow","border","language","onChange","evn","target","id","padding","fontSize","backgroundColor","fontFamily","minHeight","color","background","borderTop","display","alignItems","paddingRight","justifyContent","height","width","marginLeft","text","type","icon","variant","errorState","fontWeight","codeMirrorContainer","paddingLeft","modalStyleUtils","dispatch","useAppDispatch","navigate","useNavigate","tenant","useSelector","state","tenants","currentTenant","namespace","currentNamespace","useState","addLoading","setAddLoading","loading","setLoading","tenantYaml","setTenantYaml","errorMessage","setErrorMessage","useEffect","api","then","res","yaml","catch","err","setModalErrorSnackMessage","validSave","trim","Fragment","noValidate","autoComplete","onSubmit","e","preventDefault","getTenantAsync","container","editor","data","paddingTop","disabled","onClick"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1507.a4807651.chunk.js b/portal-ui/build/static/js/1507.a4807651.chunk.js deleted file mode 100644 index 5f70708e1..000000000 --- a/portal-ui/build/static/js/1507.a4807651.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1507],{92217:function(e,n,t){var a=t(1413),i=t(72791),o=t(61889),r=t(30829),s=t(20068),l=t(64554),c=t(11135),d=t(25787),u=t(84570),x=t(23814),m=t(56096),p=t(75952),f=t(78029),h=t.n(f),g=t(90932),j=t(27454),v=t(80184);n.Z=(0,d.Z)((function(e){return(0,c.Z)((0,a.Z)({},x.YI))}))((function(e){var n=e.value,t=e.label,a=void 0===t?"":t,c=e.tooltip,d=void 0===c?"":c,x=e.mode,f=void 0===x?"json":x,Z=e.classes,b=e.onBeforeChange,y=(e.readOnly,e.editorHeight),C=void 0===y?"250px":y;return(0,v.jsxs)(i.Fragment,{children:[(0,v.jsx)(o.ZP,{item:!0,xs:12,sx:{marginBottom:"10px"},children:(0,v.jsxs)(r.Z,{className:Z.inputLabel,children:[(0,v.jsx)("span",{children:a}),""!==d&&(0,v.jsx)("div",{className:Z.tooltipContainer,children:(0,v.jsx)(s.Z,{title:d,placement:"top-start",children:(0,v.jsx)("div",{className:Z.tooltip,children:(0,v.jsx)(u.Z,{})})})})]})}),(0,v.jsx)(o.ZP,{item:!0,xs:12,style:{maxHeight:C,overflow:"auto",border:"1px solid #eaeaea"},children:(0,v.jsx)(g.Z,{value:n,language:f,onChange:function(e){b(null,null,e.target.value)},id:"code_wrapper",padding:15,style:{fontSize:12,backgroundColor:"#fefefe",fontFamily:"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace",minHeight:C||"initial",color:"#000000"}})}),(0,v.jsx)(o.ZP,{item:!0,xs:12,sx:{background:"#f7f7f7",border:"1px solid #eaeaea",borderTop:0},children:(0,v.jsx)(l.Z,{sx:{display:"flex",alignItems:"center",padding:"2px",paddingRight:"5px",justifyContent:"flex-end","& button":{height:"26px",width:"26px",padding:"2px"," .min-icon":{marginLeft:"0"}}},children:(0,v.jsx)(j.Z,{tooltip:"Copy to Clipboard",children:(0,v.jsx)(h(),{text:n,children:(0,v.jsx)(p.zx,{type:"button",id:"copy-code-mirror",icon:(0,v.jsx)(m.TIy,{}),color:"primary",variant:"regular"})})})})})]})}))},82859:function(e,n,t){t.r(n);var a=t(29439),i=t(1413),o=t(72791),r=t(78687),s=t(57689),l=t(40986),c=t(75952),d=t(61889),u=t(11135),x=t(25787),m=t(81207),p=t(23814),f=t(92217),h=t(87995),g=t(25469),j=t(82295),v=t(50896),Z=t(80184);n.default=(0,x.Z)((function(e){return(0,u.Z)((0,i.Z)((0,i.Z)({errorState:{color:"#b53b4b",fontSize:14,fontWeight:"bold"},codeMirrorContainer:{marginBottom:20,paddingLeft:15,"& label":{marginBottom:".5rem"},"& label + div":{display:"none"}}},p.ID),p.YI))}))((function(e){var n=e.classes,t=(0,g.TL)(),i=(0,s.s0)(),u=(0,r.v9)((function(e){return e.tenants.currentTenant})),x=(0,r.v9)((function(e){return e.tenants.currentNamespace})),p=(0,o.useState)(!1),b=(0,a.Z)(p,2),y=b[0],C=b[1],S=(0,o.useState)(!1),k=(0,a.Z)(S,2),P=k[0],T=k[1],z=(0,o.useState)(""),L=(0,a.Z)(z,2),M=L[0],w=L[1],B=(0,o.useState)(""),F=(0,a.Z)(B,2),I=F[0],N=F[1];(0,o.useEffect)((function(){m.Z.invoke("GET","/api/v1/namespaces/".concat(x,"/tenants/").concat(u,"/yaml")).then((function(e){T(!1),w(e.yaml)})).catch((function(e){T(!1),t((0,h.zb)(e))}))}),[u,x,t]),(0,o.useEffect)((function(){}),[]);var H=""!==M.trim();return(0,Z.jsxs)(o.Fragment,{children:[y||P&&(0,Z.jsx)(d.ZP,{item:!0,xs:12,children:(0,Z.jsx)(l.Z,{})}),""!==I&&(0,Z.jsx)("div",{className:n.errorState,children:I}),!P&&(0,Z.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),y||(C(!0),N(""),m.Z.invoke("PUT","/api/v1/namespaces/".concat(x,"/tenants/").concat(u,"/yaml"),{yaml:M}).then((function(e){C(!1),t((0,j.v)()),N(""),i("/namespaces/".concat(x,"/tenants/").concat(u,"/summary"))})).catch((function(e){C(!1),N(e.errorMessage)})))},children:(0,Z.jsxs)(d.ZP,{container:!0,children:[(0,Z.jsx)(d.ZP,{item:!0,xs:12,children:(0,Z.jsx)(v.Z,{children:"Tenant Specification"})}),(0,Z.jsx)(d.ZP,{item:!0,xs:12,children:(0,Z.jsx)(f.Z,{value:M,mode:"yaml",onBeforeChange:function(e,n,t){w(t)},editorHeight:"550px"})}),(0,Z.jsxs)(d.ZP,{item:!0,xs:12,style:{display:"flex",justifyContent:"flex-end",paddingTop:16},children:[(0,Z.jsx)(c.zx,{id:"cancel-tenant-yaml",type:"button",variant:"regular",disabled:y,onClick:function(){i("/namespaces/".concat(x,"/tenants/").concat(u,"/summary"))},label:"Cancel"}),(0,Z.jsx)(c.zx,{id:"save-tenant-yaml",type:"submit",variant:"callAction",disabled:y||!H,style:{marginLeft:8},label:"Save"})]})]})})]})}))}}]); -//# sourceMappingURL=1507.a4807651.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1507.a4807651.chunk.js.map b/portal-ui/build/static/js/1507.a4807651.chunk.js.map deleted file mode 100644 index 20837762c..000000000 --- a/portal-ui/build/static/js/1507.a4807651.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/1507.a4807651.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Tenants/TenantDetails/TenantYAML.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 from \"@mui/material/Grid\";\nimport { Box, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport { fieldBasic } from \"../common/styleLibrary\";\nimport { CopyIcon } from \"../../../../../icons\";\nimport { Button } from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport CodeEditor from \"@uiw/react-textarea-code-editor\";\nimport TooltipWrapper from \"../../TooltipWrapper/TooltipWrapper\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n classes: any;\n onChange?: (editor: any, data: any, value: string) => any;\n onBeforeChange: (editor: any, data: any, value: string) => any;\n readOnly?: boolean;\n editorHeight?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n });\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n classes,\n onBeforeChange,\n readOnly = false,\n editorHeight = \"250px\",\n}: ICodeWrapper) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n\n \n {\n onBeforeChange(null, null, evn.target.value);\n }}\n id={\"code_wrapper\"}\n padding={15}\n style={{\n fontSize: 12,\n backgroundColor: \"#fefefe\",\n fontFamily:\n \"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace\",\n minHeight: editorHeight || \"initial\",\n color: \"#000000\",\n }}\n />\n \n \n \n \n \n }\n color={\"primary\"}\n variant={\"regular\"}\n />\n \n \n \n \n
\n );\n};\n\nexport default withStyles(styles)(CodeMirrorWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useNavigate } from \"react-router-dom\";\nimport { LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport api from \"../../../../common/api\";\nimport {\n fieldBasic,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport CodeMirrorWrapper from \"../../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport { setModalErrorSnackMessage } from \"../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport { getTenantAsync } from \"../thunks/tenantDetailsAsync\";\nimport SectionTitle from \"../../Common/SectionTitle\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n errorState: {\n color: \"#b53b4b\",\n fontSize: 14,\n fontWeight: \"bold\",\n },\n codeMirrorContainer: {\n marginBottom: 20,\n paddingLeft: 15,\n \"& label\": {\n marginBottom: \".5rem\",\n },\n \"& label + div\": {\n display: \"none\",\n },\n },\n ...modalStyleUtils,\n ...fieldBasic,\n });\n\ninterface ITenantYAML {\n yaml: string;\n}\n\ninterface ITenantYAMLProps {\n classes: any;\n}\n\nconst TenantYAML = ({ classes }: ITenantYAMLProps) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const tenant = useSelector((state: AppState) => state.tenants.currentTenant);\n const namespace = useSelector(\n (state: AppState) => state.tenants.currentNamespace\n );\n\n const [addLoading, setAddLoading] = useState(false);\n const [loading, setLoading] = useState(false);\n const [tenantYaml, setTenantYaml] = useState(\"\");\n const [errorMessage, setErrorMessage] = useState(\"\");\n\n const updateTenant = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n setErrorMessage(\"\");\n api\n .invoke(\"PUT\", `/api/v1/namespaces/${namespace}/tenants/${tenant}/yaml`, {\n yaml: tenantYaml,\n })\n .then((res) => {\n setAddLoading(false);\n dispatch(getTenantAsync());\n setErrorMessage(\"\");\n navigate(`/namespaces/${namespace}/tenants/${tenant}/summary`);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setErrorMessage(err.errorMessage);\n });\n };\n\n useEffect(() => {\n api\n .invoke(\"GET\", `/api/v1/namespaces/${namespace}/tenants/${tenant}/yaml`)\n .then((res: ITenantYAML) => {\n setLoading(false);\n setTenantYaml(res.yaml);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n }, [tenant, namespace, dispatch]);\n\n useEffect(() => {}, []);\n\n const validSave = tenantYaml.trim() !== \"\";\n\n return (\n \n {addLoading ||\n (loading && (\n \n \n \n ))}\n {errorMessage !== \"\" && (\n
{errorMessage}
\n )}\n\n {!loading && (\n ) => {\n updateTenant(e);\n }}\n >\n \n \n Tenant Specification\n \n \n {\n setTenantYaml(value);\n }}\n editorHeight={\"550px\"}\n />\n \n \n {\n navigate(\n `/namespaces/${namespace}/tenants/${tenant}/summary`\n );\n }}\n label={\"Cancel\"}\n />\n \n \n \n \n )}\n
\n );\n};\n\nexport default withStyles(styles)(TenantYAML);\n"],"names":["withStyles","theme","createStyles","fieldBasic","value","label","tooltip","mode","classes","onBeforeChange","readOnly","editorHeight","item","xs","sx","marginBottom","className","inputLabel","tooltipContainer","title","placement","style","maxHeight","overflow","border","language","onChange","evn","target","id","padding","fontSize","backgroundColor","fontFamily","minHeight","color","background","borderTop","display","alignItems","paddingRight","justifyContent","height","width","marginLeft","text","type","icon","variant","errorState","fontWeight","codeMirrorContainer","paddingLeft","modalStyleUtils","dispatch","useAppDispatch","navigate","useNavigate","tenant","useSelector","state","tenants","currentTenant","namespace","currentNamespace","useState","addLoading","setAddLoading","loading","setLoading","tenantYaml","setTenantYaml","errorMessage","setErrorMessage","useEffect","api","then","res","yaml","catch","err","setModalErrorSnackMessage","validSave","trim","Fragment","noValidate","autoComplete","onSubmit","e","preventDefault","getTenantAsync","container","editor","data","paddingTop","disabled","onClick"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1581.16dc83a0.chunk.js b/portal-ui/build/static/js/1581.16dc83a0.chunk.js new file mode 100644 index 000000000..39b0640a1 --- /dev/null +++ b/portal-ui/build/static/js/1581.16dc83a0.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1581],{1581:function(e,t,a){a.r(t);var n=a(29439),s=a(1413),i=a(72791),l=a(40986),o=a(75952),c=a(11135),r=a(25787),u=a(61889),d=a(45248),f=a(23814),m=a(37516),x=a(21435),Z=a(56028),h=a(81207),p=a(56578),j=a(87995),v=a(25469),b=a(80184);t.default=(0,r.Z)((function(e){return(0,c.Z)((0,s.Z)((0,s.Z)({},f.DF),f.ID))}))((function(e){var t=e.classes,a=e.open,s=e.enabled,c=e.cfg,r=e.selectedBucket,f=e.closeModalAndRefresh,g=(0,v.TL)(),k=(0,i.useState)(!1),C=(0,n.Z)(k,2),S=C[0],N=C[1],P=(0,i.useState)(!1),q=(0,n.Z)(P,2),B=q[0],w=q[1],y=(0,i.useState)("1"),z=(0,n.Z)(y,2),E=z[0],_=z[1],M=(0,i.useState)("Ti"),D=(0,n.Z)(M,2),T=D[0],F=D[1],I=(0,i.useState)(!1),L=(0,n.Z)(I,2),Q=L[0],R=L[1];(0,i.useEffect)((function(){if(s&&(w(!0),c)){var e=(0,d.Am)(c.quota,!0,!1,!0);_(e.total.toString()),F(e.unit),R(!0)}}),[s,c]),(0,i.useEffect)((function(){R(!B||/^\d*(?:\.\d{1,2})?$/.test(E))}),[B,E]);return(0,b.jsx)(Z.Z,{modalOpen:a,onClose:function(){f()},title:"Enable Bucket Quota",titleIcon:(0,b.jsx)(o.Wqw,{}),children:(0,b.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),function(){if(!S&&Q){var e={enabled:B,amount:parseInt((0,d.Pw)(E,T,!0)),quota_type:"hard"};h.Z.invoke("PUT","/api/v1/buckets/".concat(r,"/quota"),e).then((function(){N(!1),f()})).catch((function(e){N(!1),g((0,j.zb)(e))}))}}()},children:(0,b.jsxs)(u.ZP,{container:!0,children:[(0,b.jsxs)(u.ZP,{item:!0,xs:12,className:t.formScrollable,children:[(0,b.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,b.jsx)(m.Z,{value:"bucket_quota",id:"bucket_quota",name:"bucket_quota",checked:B,onChange:function(e){w(e.target.checked)},label:"Enabled"})}),B&&(0,b.jsx)(i.Fragment,{children:(0,b.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,b.jsx)(u.ZP,{container:!0,children:(0,b.jsx)(u.ZP,{item:!0,xs:12,children:(0,b.jsx)(x.Z,{id:"quota_size",name:"quota_size",onChange:function(e){_(e.target.value),e.target.validity.valid?R(!0):R(!1)},label:"Quota",value:E,required:!0,min:"1",overlayObject:(0,b.jsx)(p.Z,{id:"quota_unit",onUnitChange:function(e){F(e)},unitSelected:T,unitsList:(0,d.zQ)(["Ki"]),disabled:!1}),error:Q?"":"Please enter a valid quota"})})})})})]}),(0,b.jsxs)(u.ZP,{item:!0,xs:12,className:t.modalButtonBar,children:[(0,b.jsx)(o.zxk,{id:"cancel",type:"button",variant:"regular",disabled:S,onClick:function(){f()},label:"Cancel"}),(0,b.jsx)(o.zxk,{id:"save",type:"submit",variant:"callAction",disabled:S||!Q,label:"Save"})]}),S&&(0,b.jsx)(u.ZP,{item:!0,xs:12,children:(0,b.jsx)(l.Z,{})})]})})})}))},56028:function(e,t,a){var n=a(29439),s=a(1413),i=a(72791),l=a(78687),o=a(13400),c=a(55646),r=a(5574),u=a(65661),d=a(39157),f=a(11135),m=a(25787),x=a(23814),Z=a(25469),h=a(29823),p=a(28057),j=a(87995),v=a(80184);t.Z=(0,m.Z)((function(e){return(0,f.Z)((0,s.Z)((0,s.Z)({},x.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},x.sN))}))((function(e){var t=e.onClose,a=e.modalOpen,f=e.title,m=e.children,x=e.classes,b=e.wideLimit,g=void 0===b||b,k=e.noContentPadding,C=e.titleIcon,S=void 0===C?null:C,N=(0,Z.TL)(),P=(0,i.useState)(!1),q=(0,n.Z)(P,2),B=q[0],w=q[1],y=(0,l.v9)((function(e){return e.system.modalSnackBar}));(0,i.useEffect)((function(){N((0,j.MK)(""))}),[N]),(0,i.useEffect)((function(){if(y){if(""===y.message)return void w(!1);"error"!==y.type&&w(!0)}}),[y]);var z=g?{classes:{paper:x.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},E="";return y&&(E=y.detailedErrorMsg,(""===y.detailedErrorMsg||y.detailedErrorMsg.length<5)&&(E=y.message)),(0,v.jsxs)(r.Z,(0,s.Z)((0,s.Z)({open:a,classes:x},z),{},{scroll:"paper",onClose:function(e,a){"backdropClick"!==a&&t()},className:x.root,children:[(0,v.jsxs)(u.Z,{className:x.title,children:[(0,v.jsxs)("div",{className:x.titleText,children:[S," ",f]}),(0,v.jsx)("div",{className:x.closeContainer,children:(0,v.jsx)(o.Z,{"aria-label":"close",id:"close",className:x.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,v.jsx)(h.Z,{})})})]}),(0,v.jsx)(p.Z,{isModal:!0}),(0,v.jsx)(c.Z,{open:B,className:x.snackBarModal,onClose:function(){w(!1),N((0,j.MK)(""))},message:E,ContentProps:{className:"".concat(x.snackBar," ").concat(y&&"error"===y.type?x.errorSnackBar:"")},autoHideDuration:y&&"error"===y.type?1e4:5e3}),(0,v.jsx)(d.Z,{className:k?"":x.content,children:m})]}))}))}}]); +//# sourceMappingURL=1581.16dc83a0.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1581.16dc83a0.chunk.js.map b/portal-ui/build/static/js/1581.16dc83a0.chunk.js.map new file mode 100644 index 000000000..05b4e3480 --- /dev/null +++ b/portal-ui/build/static/js/1581.16dc83a0.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1581.16dc83a0.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/EnableQuota.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n calculateBytes,\n getBytes,\n k8sScalarUnitsExcluding,\n} from \"../../../../common/utils\";\nimport { BucketQuota } from \"../types\";\n\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../../common/api\";\nimport { BucketQuotaIcon } from \"mds\";\nimport InputUnitMenu from \"../../Common/FormComponents/InputUnitMenu/InputUnitMenu\";\n\nimport { setModalErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\ninterface IEnableQuotaProps {\n classes: any;\n open: boolean;\n enabled: boolean;\n cfg: BucketQuota | null;\n selectedBucket: string;\n closeModalAndRefresh: () => void;\n}\n\nconst EnableQuota = ({\n classes,\n open,\n enabled,\n cfg,\n selectedBucket,\n closeModalAndRefresh,\n}: IEnableQuotaProps) => {\n const dispatch = useAppDispatch();\n const [loading, setLoading] = useState(false);\n const [quotaEnabled, setQuotaEnabled] = useState(false);\n const [quotaSize, setQuotaSize] = useState(\"1\");\n const [quotaUnit, setQuotaUnit] = useState(\"Ti\");\n const [validInput, setValidInput] = useState(false);\n\n useEffect(() => {\n if (enabled) {\n setQuotaEnabled(true);\n if (cfg) {\n const unitCalc = calculateBytes(cfg.quota, true, false, true);\n\n setQuotaSize(unitCalc.total.toString());\n setQuotaUnit(unitCalc.unit);\n setValidInput(true);\n }\n }\n }, [enabled, cfg]);\n\n useEffect(() => {\n const valRegExp = /^\\d*(?:\\.\\d{1,2})?$/;\n\n if (!quotaEnabled) {\n setValidInput(true);\n return;\n }\n\n setValidInput(valRegExp.test(quotaSize));\n }, [quotaEnabled, quotaSize]);\n\n const enableBucketEncryption = () => {\n if (loading || !validInput) {\n return;\n }\n let req = {\n enabled: quotaEnabled,\n amount: parseInt(getBytes(quotaSize, quotaUnit, true)),\n quota_type: \"hard\",\n };\n\n api\n .invoke(\"PUT\", `/api/v1/buckets/${selectedBucket}/quota`, req)\n .then(() => {\n setLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n };\n\n return (\n {\n closeModalAndRefresh();\n }}\n title=\"Enable Bucket Quota\"\n titleIcon={}\n >\n ) => {\n e.preventDefault();\n enableBucketEncryption();\n }}\n >\n \n \n \n ) => {\n setQuotaEnabled(event.target.checked);\n }}\n label={\"Enabled\"}\n />\n \n {quotaEnabled && (\n \n \n \n \n ) => {\n setQuotaSize(e.target.value);\n if (!e.target.validity.valid) {\n setValidInput(false);\n } else {\n setValidInput(true);\n }\n }}\n label=\"Quota\"\n value={quotaSize}\n required\n min=\"1\"\n overlayObject={\n {\n setQuotaUnit(newValue);\n }}\n unitSelected={quotaUnit}\n unitsList={k8sScalarUnitsExcluding([\"Ki\"])}\n disabled={false}\n />\n }\n error={!validInput ? \"Please enter a valid quota\" : \"\"}\n />\n \n \n \n \n )}\n \n \n {\n closeModalAndRefresh();\n }}\n label={\"Cancel\"}\n />\n\n \n \n {loading && (\n \n \n \n )}\n \n \n \n );\n};\n\nexport default withStyles(styles)(EnableQuota);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n noContentPadding?: boolean;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n noContentPadding,\n titleIcon = null,\n}: IModalProps) => {\n const dispatch = useAppDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nexport default withStyles(styles)(ModalWrapper);\n"],"names":["withStyles","theme","createStyles","formFieldStyles","modalStyleUtils","classes","open","enabled","cfg","selectedBucket","closeModalAndRefresh","dispatch","useAppDispatch","useState","loading","setLoading","quotaEnabled","setQuotaEnabled","quotaSize","setQuotaSize","quotaUnit","setQuotaUnit","validInput","setValidInput","useEffect","unitCalc","calculateBytes","quota","total","toString","unit","test","modalOpen","onClose","title","titleIcon","noValidate","autoComplete","onSubmit","e","preventDefault","req","amount","parseInt","getBytes","quota_type","api","then","catch","err","setModalErrorSnackMessage","enableBucketEncryption","container","item","xs","className","formScrollable","formFieldRow","value","id","name","checked","onChange","event","target","label","validity","valid","required","min","overlayObject","onUnitChange","newValue","unitSelected","unitsList","k8sScalarUnitsExcluding","disabled","error","modalButtonBar","type","variant","onClick","deleteDialogStyles","content","padding","paddingBottom","customDialogSize","width","maxWidth","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","modalSnackMessage","useSelector","state","system","modalSnackBar","setModalSnackMessage","message","customSize","paper","fullWidth","detailedErrorMsg","length","scroll","reason","root","titleText","closeContainer","closeButton","disableRipple","size","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1581.6892440d.chunk.js b/portal-ui/build/static/js/1581.6892440d.chunk.js deleted file mode 100644 index e03aa5100..000000000 --- a/portal-ui/build/static/js/1581.6892440d.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1581],{1581:function(e,t,a){a.r(t);var n=a(29439),s=a(1413),i=a(72791),l=a(40986),o=a(75952),c=a(11135),r=a(25787),u=a(61889),d=a(45248),f=a(23814),m=a(37516),x=a(21435),Z=a(56028),h=a(81207),p=a(56096),j=a(56578),v=a(87995),b=a(25469),g=a(80184);t.default=(0,r.Z)((function(e){return(0,c.Z)((0,s.Z)((0,s.Z)({},f.DF),f.ID))}))((function(e){var t=e.classes,a=e.open,s=e.enabled,c=e.cfg,r=e.selectedBucket,f=e.closeModalAndRefresh,k=(0,b.TL)(),C=(0,i.useState)(!1),S=(0,n.Z)(C,2),N=S[0],P=S[1],q=(0,i.useState)(!1),B=(0,n.Z)(q,2),w=B[0],y=B[1],z=(0,i.useState)("1"),E=(0,n.Z)(z,2),_=E[0],M=E[1],D=(0,i.useState)("Ti"),T=(0,n.Z)(D,2),F=T[0],I=T[1],L=(0,i.useState)(!1),Q=(0,n.Z)(L,2),R=Q[0],W=Q[1];(0,i.useEffect)((function(){if(s&&(y(!0),c)){var e=(0,d.Am)(c.quota,!0,!1,!0);M(e.total.toString()),I(e.unit),W(!0)}}),[s,c]),(0,i.useEffect)((function(){W(!w||/^\d*(?:\.\d{1,2})?$/.test(_))}),[w,_]);return(0,g.jsx)(Z.Z,{modalOpen:a,onClose:function(){f()},title:"Enable Bucket Quota",titleIcon:(0,g.jsx)(p.Wqw,{}),children:(0,g.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),function(){if(!N&&R){var e={enabled:w,amount:parseInt((0,d.Pw)(_,F,!0)),quota_type:"hard"};h.Z.invoke("PUT","/api/v1/buckets/".concat(r,"/quota"),e).then((function(){P(!1),f()})).catch((function(e){P(!1),k((0,v.zb)(e))}))}}()},children:(0,g.jsxs)(u.ZP,{container:!0,children:[(0,g.jsxs)(u.ZP,{item:!0,xs:12,className:t.formScrollable,children:[(0,g.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,g.jsx)(m.Z,{value:"bucket_quota",id:"bucket_quota",name:"bucket_quota",checked:w,onChange:function(e){y(e.target.checked)},label:"Enabled"})}),w&&(0,g.jsx)(i.Fragment,{children:(0,g.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,g.jsx)(u.ZP,{container:!0,children:(0,g.jsx)(u.ZP,{item:!0,xs:12,children:(0,g.jsx)(x.Z,{id:"quota_size",name:"quota_size",onChange:function(e){M(e.target.value),e.target.validity.valid?W(!0):W(!1)},label:"Quota",value:_,required:!0,min:"1",overlayObject:(0,g.jsx)(j.Z,{id:"quota_unit",onUnitChange:function(e){I(e)},unitSelected:F,unitsList:(0,d.zQ)(["Ki"]),disabled:!1}),error:R?"":"Please enter a valid quota"})})})})})]}),(0,g.jsxs)(u.ZP,{item:!0,xs:12,className:t.modalButtonBar,children:[(0,g.jsx)(o.zx,{id:"cancel",type:"button",variant:"regular",disabled:N,onClick:function(){f()},label:"Cancel"}),(0,g.jsx)(o.zx,{id:"save",type:"submit",variant:"callAction",disabled:N||!R,label:"Save"})]}),N&&(0,g.jsx)(u.ZP,{item:!0,xs:12,children:(0,g.jsx)(l.Z,{})})]})})})}))},56028:function(e,t,a){var n=a(29439),s=a(1413),i=a(72791),l=a(78687),o=a(13400),c=a(55646),r=a(5574),u=a(65661),d=a(39157),f=a(11135),m=a(25787),x=a(23814),Z=a(25469),h=a(29823),p=a(28057),j=a(87995),v=a(80184);t.Z=(0,m.Z)((function(e){return(0,f.Z)((0,s.Z)((0,s.Z)({},x.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},x.sN))}))((function(e){var t=e.onClose,a=e.modalOpen,f=e.title,m=e.children,x=e.classes,b=e.wideLimit,g=void 0===b||b,k=e.noContentPadding,C=e.titleIcon,S=void 0===C?null:C,N=(0,Z.TL)(),P=(0,i.useState)(!1),q=(0,n.Z)(P,2),B=q[0],w=q[1],y=(0,l.v9)((function(e){return e.system.modalSnackBar}));(0,i.useEffect)((function(){N((0,j.MK)(""))}),[N]),(0,i.useEffect)((function(){if(y){if(""===y.message)return void w(!1);"error"!==y.type&&w(!0)}}),[y]);var z=g?{classes:{paper:x.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},E="";return y&&(E=y.detailedErrorMsg,(""===y.detailedErrorMsg||y.detailedErrorMsg.length<5)&&(E=y.message)),(0,v.jsxs)(r.Z,(0,s.Z)((0,s.Z)({open:a,classes:x},z),{},{scroll:"paper",onClose:function(e,a){"backdropClick"!==a&&t()},className:x.root,children:[(0,v.jsxs)(u.Z,{className:x.title,children:[(0,v.jsxs)("div",{className:x.titleText,children:[S," ",f]}),(0,v.jsx)("div",{className:x.closeContainer,children:(0,v.jsx)(o.Z,{"aria-label":"close",id:"close",className:x.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,v.jsx)(h.Z,{})})})]}),(0,v.jsx)(p.Z,{isModal:!0}),(0,v.jsx)(c.Z,{open:B,className:x.snackBarModal,onClose:function(){w(!1),N((0,j.MK)(""))},message:E,ContentProps:{className:"".concat(x.snackBar," ").concat(y&&"error"===y.type?x.errorSnackBar:"")},autoHideDuration:y&&"error"===y.type?1e4:5e3}),(0,v.jsx)(d.Z,{className:k?"":x.content,children:m})]}))}))}}]); -//# sourceMappingURL=1581.6892440d.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1581.6892440d.chunk.js.map b/portal-ui/build/static/js/1581.6892440d.chunk.js.map deleted file mode 100644 index 97154c645..000000000 --- a/portal-ui/build/static/js/1581.6892440d.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/1581.6892440d.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/EnableQuota.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n calculateBytes,\n getBytes,\n k8sScalarUnitsExcluding,\n} from \"../../../../common/utils\";\nimport { BucketQuota } from \"../types\";\n\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../../common/api\";\nimport { BucketQuotaIcon } from \"../../../../icons\";\nimport InputUnitMenu from \"../../Common/FormComponents/InputUnitMenu/InputUnitMenu\";\n\nimport { setModalErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\ninterface IEnableQuotaProps {\n classes: any;\n open: boolean;\n enabled: boolean;\n cfg: BucketQuota | null;\n selectedBucket: string;\n closeModalAndRefresh: () => void;\n}\n\nconst EnableQuota = ({\n classes,\n open,\n enabled,\n cfg,\n selectedBucket,\n closeModalAndRefresh,\n}: IEnableQuotaProps) => {\n const dispatch = useAppDispatch();\n const [loading, setLoading] = useState(false);\n const [quotaEnabled, setQuotaEnabled] = useState(false);\n const [quotaSize, setQuotaSize] = useState(\"1\");\n const [quotaUnit, setQuotaUnit] = useState(\"Ti\");\n const [validInput, setValidInput] = useState(false);\n\n useEffect(() => {\n if (enabled) {\n setQuotaEnabled(true);\n if (cfg) {\n const unitCalc = calculateBytes(cfg.quota, true, false, true);\n\n setQuotaSize(unitCalc.total.toString());\n setQuotaUnit(unitCalc.unit);\n setValidInput(true);\n }\n }\n }, [enabled, cfg]);\n\n useEffect(() => {\n const valRegExp = /^\\d*(?:\\.\\d{1,2})?$/;\n\n if (!quotaEnabled) {\n setValidInput(true);\n return;\n }\n\n setValidInput(valRegExp.test(quotaSize));\n }, [quotaEnabled, quotaSize]);\n\n const enableBucketEncryption = () => {\n if (loading || !validInput) {\n return;\n }\n let req = {\n enabled: quotaEnabled,\n amount: parseInt(getBytes(quotaSize, quotaUnit, true)),\n quota_type: \"hard\",\n };\n\n api\n .invoke(\"PUT\", `/api/v1/buckets/${selectedBucket}/quota`, req)\n .then(() => {\n setLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n };\n\n return (\n {\n closeModalAndRefresh();\n }}\n title=\"Enable Bucket Quota\"\n titleIcon={}\n >\n ) => {\n e.preventDefault();\n enableBucketEncryption();\n }}\n >\n \n \n \n ) => {\n setQuotaEnabled(event.target.checked);\n }}\n label={\"Enabled\"}\n />\n \n {quotaEnabled && (\n \n \n \n \n ) => {\n setQuotaSize(e.target.value);\n if (!e.target.validity.valid) {\n setValidInput(false);\n } else {\n setValidInput(true);\n }\n }}\n label=\"Quota\"\n value={quotaSize}\n required\n min=\"1\"\n overlayObject={\n {\n setQuotaUnit(newValue);\n }}\n unitSelected={quotaUnit}\n unitsList={k8sScalarUnitsExcluding([\"Ki\"])}\n disabled={false}\n />\n }\n error={!validInput ? \"Please enter a valid quota\" : \"\"}\n />\n \n \n \n \n )}\n \n \n {\n closeModalAndRefresh();\n }}\n label={\"Cancel\"}\n />\n\n \n \n {loading && (\n \n \n \n )}\n \n \n \n );\n};\n\nexport default withStyles(styles)(EnableQuota);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n noContentPadding?: boolean;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n noContentPadding,\n titleIcon = null,\n}: IModalProps) => {\n const dispatch = useAppDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nexport default withStyles(styles)(ModalWrapper);\n"],"names":["withStyles","theme","createStyles","formFieldStyles","modalStyleUtils","classes","open","enabled","cfg","selectedBucket","closeModalAndRefresh","dispatch","useAppDispatch","useState","loading","setLoading","quotaEnabled","setQuotaEnabled","quotaSize","setQuotaSize","quotaUnit","setQuotaUnit","validInput","setValidInput","useEffect","unitCalc","calculateBytes","quota","total","toString","unit","test","modalOpen","onClose","title","titleIcon","noValidate","autoComplete","onSubmit","e","preventDefault","req","amount","parseInt","getBytes","quota_type","api","then","catch","err","setModalErrorSnackMessage","enableBucketEncryption","container","item","xs","className","formScrollable","formFieldRow","value","id","name","checked","onChange","event","target","label","validity","valid","required","min","overlayObject","onUnitChange","newValue","unitSelected","unitsList","k8sScalarUnitsExcluding","disabled","error","modalButtonBar","type","variant","onClick","deleteDialogStyles","content","padding","paddingBottom","customDialogSize","width","maxWidth","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","modalSnackMessage","useSelector","state","system","modalSnackBar","setModalSnackMessage","message","customSize","paper","fullWidth","detailedErrorMsg","length","scroll","reason","root","titleText","closeContainer","closeButton","disableRipple","size","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1604.6758414b.chunk.js b/portal-ui/build/static/js/1604.6758414b.chunk.js new file mode 100644 index 000000000..0b047541c --- /dev/null +++ b/portal-ui/build/static/js/1604.6758414b.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1604],{1604:function(e,t,n){n.r(t);var a=n(29439),i=n(1413),o=n(72791),s=n(75952),l=n(40986),c=n(11135),r=n(25787),u=n(61889),d=n(23814),m=n(81207),f=n(56028),Z=n(83679),p=n(21435),x=n(87995),h=n(25469),v=n(80184);t.default=(0,r.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},d.bK),d.QV),d.DF),d.ID))}))((function(e){var t=e.classes,n=e.open,i=e.bucketName,c=e.closeModalAndRefresh,r=(0,h.TL)(),d=(0,o.useState)(!1),b=(0,a.Z)(d,2),j=b[0],g=b[1],N=(0,o.useState)(!0),k=(0,a.Z)(N,2),C=k[0],y=k[1],S=(0,o.useState)("compliance"),w=(0,a.Z)(S,2),P=w[0],M=w[1],R=(0,o.useState)("days"),B=(0,a.Z)(R,2),E=B[0],_=B[1],D=(0,o.useState)(1),z=(0,a.Z)(D,2),F=z[0],T=z[1],O=(0,o.useState)(!1),A=(0,a.Z)(O,2),K=A[0],L=A[1];return(0,o.useEffect)((function(){Number.isNaN(F)||F<1?L(!1):L(!0)}),[F]),(0,o.useEffect)((function(){C&&m.Z.invoke("GET","/api/v1/buckets/".concat(i,"/retention")).then((function(e){y(!1),M(e.mode),T(e.validity),_(e.unit)})).catch((function(e){y(!1)}))}),[C,i]),(0,v.jsx)(f.Z,{title:"Set Retention Configuration",modalOpen:n,onClose:function(){c()},children:C?(0,v.jsx)(s.aNw,{style:{width:16,height:16}}):(0,v.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),j||(g(!0),m.Z.invoke("PUT","/api/v1/buckets/".concat(i,"/retention"),{mode:P,unit:E,validity:F}).then((function(){g(!1),c()})).catch((function(e){g(!1),r((0,x.zb)(e))})))},children:(0,v.jsxs)(u.ZP,{container:!0,children:[(0,v.jsxs)(u.ZP,{item:!0,xs:12,className:t.modalFormScrollable,children:[(0,v.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,v.jsx)(Z.Z,{currentSelection:P,id:"retention_mode",name:"retention_mode",label:"Retention Mode",onChange:function(e){M(e.target.value)},selectorOptions:[{value:"compliance",label:"Compliance"},{value:"governance",label:"Governance"}]})}),(0,v.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,v.jsx)(Z.Z,{currentSelection:E,id:"retention_unit",name:"retention_unit",label:"Retention Unit",onChange:function(e){_(e.target.value)},selectorOptions:[{value:"days",label:"Days"},{value:"years",label:"Years"}]})}),(0,v.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,v.jsx)(p.Z,{type:"number",id:"retention_validity",name:"retention_validity",onChange:function(e){T(e.target.valueAsNumber)},label:"Retention Validity",value:String(F),required:!0,min:"1"})})]}),(0,v.jsxs)(u.ZP,{item:!0,xs:12,className:t.modalButtonBar,children:[(0,v.jsx)(s.zxk,{id:"cancel",type:"button",variant:"regular",disabled:j,onClick:function(){c()},label:"Cancel"}),(0,v.jsx)(s.zxk,{id:"set",type:"submit",variant:"callAction",color:"primary",disabled:j||!K,label:"Set"})]}),j&&(0,v.jsx)(u.ZP,{item:!0,xs:12,children:(0,v.jsx)(l.Z,{})})]})})})}))},56028:function(e,t,n){var a=n(29439),i=n(1413),o=n(72791),s=n(78687),l=n(13400),c=n(55646),r=n(5574),u=n(65661),d=n(39157),m=n(11135),f=n(25787),Z=n(23814),p=n(25469),x=n(29823),h=n(28057),v=n(87995),b=n(80184);t.Z=(0,f.Z)((function(e){return(0,m.Z)((0,i.Z)((0,i.Z)({},Z.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},Z.sN))}))((function(e){var t=e.onClose,n=e.modalOpen,m=e.title,f=e.children,Z=e.classes,j=e.wideLimit,g=void 0===j||j,N=e.noContentPadding,k=e.titleIcon,C=void 0===k?null:k,y=(0,p.TL)(),S=(0,o.useState)(!1),w=(0,a.Z)(S,2),P=w[0],M=w[1],R=(0,s.v9)((function(e){return e.system.modalSnackBar}));(0,o.useEffect)((function(){y((0,v.MK)(""))}),[y]),(0,o.useEffect)((function(){if(R){if(""===R.message)return void M(!1);"error"!==R.type&&M(!0)}}),[R]);var B=g?{classes:{paper:Z.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},E="";return R&&(E=R.detailedErrorMsg,(""===R.detailedErrorMsg||R.detailedErrorMsg.length<5)&&(E=R.message)),(0,b.jsxs)(r.Z,(0,i.Z)((0,i.Z)({open:n,classes:Z},B),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:Z.root,children:[(0,b.jsxs)(u.Z,{className:Z.title,children:[(0,b.jsxs)("div",{className:Z.titleText,children:[C," ",m]}),(0,b.jsx)("div",{className:Z.closeContainer,children:(0,b.jsx)(l.Z,{"aria-label":"close",id:"close",className:Z.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,b.jsx)(x.Z,{})})})]}),(0,b.jsx)(h.Z,{isModal:!0}),(0,b.jsx)(c.Z,{open:P,className:Z.snackBarModal,onClose:function(){M(!1),y((0,v.MK)(""))},message:E,ContentProps:{className:"".concat(Z.snackBar," ").concat(R&&"error"===R.type?Z.errorSnackBar:"")},autoHideDuration:R&&"error"===R.type?1e4:5e3}),(0,b.jsx)(d.Z,{className:N?"":Z.content,children:f})]}))}))}}]); +//# sourceMappingURL=1604.6758414b.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1604.6758414b.chunk.js.map b/portal-ui/build/static/js/1604.6758414b.chunk.js.map new file mode 100644 index 000000000..59ed6aa9a --- /dev/null +++ b/portal-ui/build/static/js/1604.6758414b.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1604.6758414b.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SetRetentionConfig.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { Button, Loader } from \"mds\";\nimport { LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\n\nimport {\n ErrorResponseHandler,\n IRetentionConfig,\n} from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport RadioGroupSelector from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { setModalErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...spacingUtils,\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\ninterface ISetRetentionConfigProps {\n classes: any;\n open: boolean;\n bucketName: string;\n closeModalAndRefresh: () => void;\n}\n\nconst SetRetentionConfig = ({\n classes,\n open,\n bucketName,\n closeModalAndRefresh,\n}: ISetRetentionConfigProps) => {\n const dispatch = useAppDispatch();\n const [addLoading, setAddLoading] = useState(false);\n const [loadingForm, setLoadingForm] = useState(true);\n const [retentionMode, setRetentionMode] = useState(\"compliance\");\n const [retentionUnit, setRetentionUnit] = useState(\"days\");\n const [retentionValidity, setRetentionValidity] = useState(1);\n const [valid, setValid] = useState(false);\n\n const setRetention = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n api\n .invoke(\"PUT\", `/api/v1/buckets/${bucketName}/retention`, {\n mode: retentionMode,\n unit: retentionUnit,\n validity: retentionValidity,\n })\n .then(() => {\n setAddLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n };\n\n useEffect(() => {\n if (Number.isNaN(retentionValidity) || retentionValidity < 1) {\n setValid(false);\n return;\n }\n setValid(true);\n }, [retentionValidity]);\n\n useEffect(() => {\n if (loadingForm) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/retention`)\n .then((res: IRetentionConfig) => {\n setLoadingForm(false);\n\n // We set default values\n setRetentionMode(res.mode);\n setRetentionValidity(res.validity);\n setRetentionUnit(res.unit);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingForm(false);\n });\n }\n }, [loadingForm, bucketName]);\n\n return (\n {\n closeModalAndRefresh();\n }}\n >\n {loadingForm ? (\n \n ) : (\n ) => {\n setRetention(e);\n }}\n >\n \n \n \n ) => {\n setRetentionMode(e.target.value as string);\n }}\n selectorOptions={[\n { value: \"compliance\", label: \"Compliance\" },\n { value: \"governance\", label: \"Governance\" },\n ]}\n />\n \n \n ) => {\n setRetentionUnit(e.target.value as string);\n }}\n selectorOptions={[\n { value: \"days\", label: \"Days\" },\n { value: \"years\", label: \"Years\" },\n ]}\n />\n \n \n ) => {\n setRetentionValidity(e.target.valueAsNumber);\n }}\n label=\"Retention Validity\"\n value={String(retentionValidity)}\n required\n min=\"1\"\n />\n \n \n \n {\n closeModalAndRefresh();\n }}\n label={\"Cancel\"}\n />\n \n \n {addLoading && (\n \n \n \n )}\n \n \n )}\n \n );\n};\n\nexport default withStyles(styles)(SetRetentionConfig);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n noContentPadding?: boolean;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n noContentPadding,\n titleIcon = null,\n}: IModalProps) => {\n const dispatch = useAppDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nexport default withStyles(styles)(ModalWrapper);\n"],"names":["withStyles","theme","createStyles","spacingUtils","createTenantCommon","formFieldStyles","modalStyleUtils","classes","open","bucketName","closeModalAndRefresh","dispatch","useAppDispatch","useState","addLoading","setAddLoading","loadingForm","setLoadingForm","retentionMode","setRetentionMode","retentionUnit","setRetentionUnit","retentionValidity","setRetentionValidity","valid","setValid","useEffect","Number","isNaN","api","then","res","mode","validity","unit","catch","err","title","modalOpen","onClose","style","width","height","noValidate","autoComplete","onSubmit","e","preventDefault","setModalErrorSnackMessage","container","item","xs","className","modalFormScrollable","formFieldRow","currentSelection","id","name","label","onChange","target","value","selectorOptions","type","valueAsNumber","String","required","min","modalButtonBar","variant","disabled","onClick","color","deleteDialogStyles","content","padding","paddingBottom","customDialogSize","maxWidth","snackBarCommon","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","modalSnackMessage","useSelector","state","system","modalSnackBar","setModalSnackMessage","message","customSize","paper","fullWidth","detailedErrorMsg","length","scroll","event","reason","root","titleText","closeContainer","closeButton","disableRipple","size","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1604.816d8ab5.chunk.js b/portal-ui/build/static/js/1604.816d8ab5.chunk.js deleted file mode 100644 index e34f77991..000000000 --- a/portal-ui/build/static/js/1604.816d8ab5.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1604],{1604:function(e,t,n){n.r(t);var a=n(29439),i=n(1413),o=n(72791),s=n(75952),l=n(40986),c=n(11135),r=n(25787),u=n(61889),d=n(23814),m=n(81207),f=n(56028),Z=n(83679),p=n(21435),x=n(72401),h=n(87995),v=n(25469),b=n(80184);t.default=(0,r.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},d.bK),d.QV),d.DF),d.ID))}))((function(e){var t=e.classes,n=e.open,i=e.bucketName,c=e.closeModalAndRefresh,r=(0,v.TL)(),d=(0,o.useState)(!1),j=(0,a.Z)(d,2),g=j[0],C=j[1],N=(0,o.useState)(!0),y=(0,a.Z)(N,2),S=y[0],k=y[1],P=(0,o.useState)("compliance"),w=(0,a.Z)(P,2),M=w[0],R=w[1],B=(0,o.useState)("days"),E=(0,a.Z)(B,2),_=E[0],D=E[1],z=(0,o.useState)(1),F=(0,a.Z)(z,2),T=F[0],O=F[1],A=(0,o.useState)(!1),K=(0,a.Z)(A,2),L=K[0],V=K[1];return(0,o.useEffect)((function(){Number.isNaN(T)||T<1?V(!1):V(!0)}),[T]),(0,o.useEffect)((function(){S&&m.Z.invoke("GET","/api/v1/buckets/".concat(i,"/retention")).then((function(e){k(!1),R(e.mode),O(e.validity),D(e.unit)})).catch((function(e){k(!1)}))}),[S,i]),(0,b.jsx)(f.Z,{title:"Set Retention Configuration",modalOpen:n,onClose:function(){c()},children:S?(0,b.jsx)(x.Z,{style:{width:16,height:16}}):(0,b.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),g||(C(!0),m.Z.invoke("PUT","/api/v1/buckets/".concat(i,"/retention"),{mode:M,unit:_,validity:T}).then((function(){C(!1),c()})).catch((function(e){C(!1),r((0,h.zb)(e))})))},children:(0,b.jsxs)(u.ZP,{container:!0,children:[(0,b.jsxs)(u.ZP,{item:!0,xs:12,className:t.modalFormScrollable,children:[(0,b.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,b.jsx)(Z.Z,{currentSelection:M,id:"retention_mode",name:"retention_mode",label:"Retention Mode",onChange:function(e){R(e.target.value)},selectorOptions:[{value:"compliance",label:"Compliance"},{value:"governance",label:"Governance"}]})}),(0,b.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,b.jsx)(Z.Z,{currentSelection:_,id:"retention_unit",name:"retention_unit",label:"Retention Unit",onChange:function(e){D(e.target.value)},selectorOptions:[{value:"days",label:"Days"},{value:"years",label:"Years"}]})}),(0,b.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,b.jsx)(p.Z,{type:"number",id:"retention_validity",name:"retention_validity",onChange:function(e){O(e.target.valueAsNumber)},label:"Retention Validity",value:String(T),required:!0,min:"1"})})]}),(0,b.jsxs)(u.ZP,{item:!0,xs:12,className:t.modalButtonBar,children:[(0,b.jsx)(s.zx,{id:"cancel",type:"button",variant:"regular",disabled:g,onClick:function(){c()},label:"Cancel"}),(0,b.jsx)(s.zx,{id:"set",type:"submit",variant:"callAction",color:"primary",disabled:g||!L,label:"Set"})]}),g&&(0,b.jsx)(u.ZP,{item:!0,xs:12,children:(0,b.jsx)(l.Z,{})})]})})})}))},56028:function(e,t,n){var a=n(29439),i=n(1413),o=n(72791),s=n(78687),l=n(13400),c=n(55646),r=n(5574),u=n(65661),d=n(39157),m=n(11135),f=n(25787),Z=n(23814),p=n(25469),x=n(29823),h=n(28057),v=n(87995),b=n(80184);t.Z=(0,f.Z)((function(e){return(0,m.Z)((0,i.Z)((0,i.Z)({},Z.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},Z.sN))}))((function(e){var t=e.onClose,n=e.modalOpen,m=e.title,f=e.children,Z=e.classes,j=e.wideLimit,g=void 0===j||j,C=e.noContentPadding,N=e.titleIcon,y=void 0===N?null:N,S=(0,p.TL)(),k=(0,o.useState)(!1),P=(0,a.Z)(k,2),w=P[0],M=P[1],R=(0,s.v9)((function(e){return e.system.modalSnackBar}));(0,o.useEffect)((function(){S((0,v.MK)(""))}),[S]),(0,o.useEffect)((function(){if(R){if(""===R.message)return void M(!1);"error"!==R.type&&M(!0)}}),[R]);var B=g?{classes:{paper:Z.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},E="";return R&&(E=R.detailedErrorMsg,(""===R.detailedErrorMsg||R.detailedErrorMsg.length<5)&&(E=R.message)),(0,b.jsxs)(r.Z,(0,i.Z)((0,i.Z)({open:n,classes:Z},B),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:Z.root,children:[(0,b.jsxs)(u.Z,{className:Z.title,children:[(0,b.jsxs)("div",{className:Z.titleText,children:[y," ",m]}),(0,b.jsx)("div",{className:Z.closeContainer,children:(0,b.jsx)(l.Z,{"aria-label":"close",id:"close",className:Z.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,b.jsx)(x.Z,{})})})]}),(0,b.jsx)(h.Z,{isModal:!0}),(0,b.jsx)(c.Z,{open:w,className:Z.snackBarModal,onClose:function(){M(!1),S((0,v.MK)(""))},message:E,ContentProps:{className:"".concat(Z.snackBar," ").concat(R&&"error"===R.type?Z.errorSnackBar:"")},autoHideDuration:R&&"error"===R.type?1e4:5e3}),(0,b.jsx)(d.Z,{className:C?"":Z.content,children:f})]}))}))}}]); -//# sourceMappingURL=1604.816d8ab5.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1604.816d8ab5.chunk.js.map b/portal-ui/build/static/js/1604.816d8ab5.chunk.js.map deleted file mode 100644 index 05713b368..000000000 --- a/portal-ui/build/static/js/1604.816d8ab5.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/1604.816d8ab5.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SetRetentionConfig.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { Button } from \"mds\";\nimport { LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\n\nimport {\n ErrorResponseHandler,\n IRetentionConfig,\n} from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport RadioGroupSelector from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Loader from \"../../Common/Loader/Loader\";\nimport { setModalErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...spacingUtils,\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\ninterface ISetRetentionConfigProps {\n classes: any;\n open: boolean;\n bucketName: string;\n closeModalAndRefresh: () => void;\n}\n\nconst SetRetentionConfig = ({\n classes,\n open,\n bucketName,\n closeModalAndRefresh,\n}: ISetRetentionConfigProps) => {\n const dispatch = useAppDispatch();\n const [addLoading, setAddLoading] = useState(false);\n const [loadingForm, setLoadingForm] = useState(true);\n const [retentionMode, setRetentionMode] = useState(\"compliance\");\n const [retentionUnit, setRetentionUnit] = useState(\"days\");\n const [retentionValidity, setRetentionValidity] = useState(1);\n const [valid, setValid] = useState(false);\n\n const setRetention = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n api\n .invoke(\"PUT\", `/api/v1/buckets/${bucketName}/retention`, {\n mode: retentionMode,\n unit: retentionUnit,\n validity: retentionValidity,\n })\n .then(() => {\n setAddLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n };\n\n useEffect(() => {\n if (Number.isNaN(retentionValidity) || retentionValidity < 1) {\n setValid(false);\n return;\n }\n setValid(true);\n }, [retentionValidity]);\n\n useEffect(() => {\n if (loadingForm) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/retention`)\n .then((res: IRetentionConfig) => {\n setLoadingForm(false);\n\n // We set default values\n setRetentionMode(res.mode);\n setRetentionValidity(res.validity);\n setRetentionUnit(res.unit);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingForm(false);\n });\n }\n }, [loadingForm, bucketName]);\n\n return (\n {\n closeModalAndRefresh();\n }}\n >\n {loadingForm ? (\n \n ) : (\n ) => {\n setRetention(e);\n }}\n >\n \n \n \n ) => {\n setRetentionMode(e.target.value as string);\n }}\n selectorOptions={[\n { value: \"compliance\", label: \"Compliance\" },\n { value: \"governance\", label: \"Governance\" },\n ]}\n />\n \n \n ) => {\n setRetentionUnit(e.target.value as string);\n }}\n selectorOptions={[\n { value: \"days\", label: \"Days\" },\n { value: \"years\", label: \"Years\" },\n ]}\n />\n \n \n ) => {\n setRetentionValidity(e.target.valueAsNumber);\n }}\n label=\"Retention Validity\"\n value={String(retentionValidity)}\n required\n min=\"1\"\n />\n \n \n \n {\n closeModalAndRefresh();\n }}\n label={\"Cancel\"}\n />\n \n \n {addLoading && (\n \n \n \n )}\n \n \n )}\n \n );\n};\n\nexport default withStyles(styles)(SetRetentionConfig);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n noContentPadding?: boolean;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n noContentPadding,\n titleIcon = null,\n}: IModalProps) => {\n const dispatch = useAppDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nexport default withStyles(styles)(ModalWrapper);\n"],"names":["withStyles","theme","createStyles","spacingUtils","createTenantCommon","formFieldStyles","modalStyleUtils","classes","open","bucketName","closeModalAndRefresh","dispatch","useAppDispatch","useState","addLoading","setAddLoading","loadingForm","setLoadingForm","retentionMode","setRetentionMode","retentionUnit","setRetentionUnit","retentionValidity","setRetentionValidity","valid","setValid","useEffect","Number","isNaN","api","then","res","mode","validity","unit","catch","err","title","modalOpen","onClose","style","width","height","noValidate","autoComplete","onSubmit","e","preventDefault","setModalErrorSnackMessage","container","item","xs","className","modalFormScrollable","formFieldRow","currentSelection","id","name","label","onChange","target","value","selectorOptions","type","valueAsNumber","String","required","min","modalButtonBar","variant","disabled","onClick","color","deleteDialogStyles","content","padding","paddingBottom","customDialogSize","maxWidth","snackBarCommon","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","modalSnackMessage","useSelector","state","system","modalSnackBar","setModalSnackMessage","message","customSize","paper","fullWidth","detailedErrorMsg","length","scroll","event","reason","root","titleText","closeContainer","closeButton","disableRipple","size","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1705.3ecc6022.chunk.js b/portal-ui/build/static/js/1705.3ecc6022.chunk.js new file mode 100644 index 000000000..4059fa1ab --- /dev/null +++ b/portal-ui/build/static/js/1705.3ecc6022.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1705],{71705:function(e,n,t){t.r(n);var l=t(29439),s=t(72791),o=t(9505),i=t(64554),a=t(56087),c=t(38442),u=t(26181),r=t.n(u),d=t(81918),h=t(29823),f=t(42419),p=t(75578),v=t(75952),T=t(87995),x=t(25469),Z=t(80184),_=(0,p.Z)(s.lazy((function(){return t.e(247).then(t.bind(t,40247))}))),j=(0,p.Z)(s.lazy((function(){return t.e(2408).then(t.bind(t,22763))})));n.default=function(e){var n=e.bucketName,t=(0,x.TL)(),u=(0,s.useState)(null),p=(0,l.Z)(u,2),m=p[0],S=p[1],b=(0,s.useState)(!1),k=(0,l.Z)(b,2),C=k[0],G=k[1],g=(0,s.useState)([]),A=(0,l.Z)(g,2),N=A[0],y=A[1],I=(0,s.useState)(["",""]),U=(0,l.Z)(I,2),E=U[0],F=U[1],O=(0,s.useState)(!1),P=(0,l.Z)(O,2),w=P[0],z=P[1],B=(0,o.Z)((function(e){var n,t;null!=e&&null!=(null===e||void 0===e?void 0:e.details)&&"tags"in(null===e||void 0===e?void 0:e.details)&&(S(null===e||void 0===e||null===(n=e.details)||void 0===n?void 0:n.tags),y(Object.keys(null===e||void 0===e||null===(t=e.details)||void 0===t?void 0:t.tags)))}),(function(e){t((0,T.Ih)(e))})),K=(0,l.Z)(B,2),D=K[0],H=K[1],L=function(){H("GET","/api/v1/buckets/".concat(n))};return(0,s.useEffect)((function(){L()}),[n]),(0,Z.jsxs)(i.Z,{children:[D?(0,Z.jsx)(v.aNw,{style:{width:16,height:16}}):null,(0,Z.jsx)(c.s,{scopes:[a.Ft.S3_GET_BUCKET_TAGGING,a.Ft.S3_GET_ACTIONS],resource:n,children:(0,Z.jsxs)(i.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,Z.jsx)(i.Z,{children:N&&N.map((function(e,t){var l=r()(m,"".concat(e),"");return""!==l?(0,Z.jsx)(c.s,{scopes:[a.Ft.S3_PUT_BUCKET_TAGGING,a.Ft.S3_PUT_ACTIONS],resource:n,matchAll:!0,errorProps:{deleteIcon:null,onDelete:null},children:(0,Z.jsx)(d.Z,{style:{textTransform:"none",marginRight:"5px"},size:"small",label:"".concat(e," : ").concat(l),color:"primary",deleteIcon:(0,Z.jsx)(h.Z,{}),onDelete:function(){!function(e,n){F([e,n]),z(!0)}(e,l)}})},"chip-".concat(t)):null}))}),(0,Z.jsx)(c.s,{scopes:[a.Ft.S3_PUT_BUCKET_TAGGING,a.Ft.S3_PUT_ACTIONS],resource:n,errorProps:{disabled:!0,onClick:null},children:(0,Z.jsx)(d.Z,{style:{maxWidth:80,marginTop:"10px"},icon:(0,Z.jsx)(f.Z,{}),clickable:!0,size:"small",label:"Add tag",color:"primary",variant:"outlined",onClick:function(){G(!0)}})})]})}),C&&(0,Z.jsx)(_,{modalOpen:C,currentTags:m,bucketName:n,onCloseAndUpdate:function(e){G(!1),e&&L()}}),w&&(0,Z.jsx)(j,{deleteOpen:w,currentTags:m,bucketName:n,onCloseAndUpdate:function(e){z(!1),e&&L()},selectedTag:E})]})}},42419:function(e,n,t){var l=t(64836);n.Z=void 0;var s=l(t(45649)),o=t(80184),i=(0,s.default)((0,o.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"}),"Add");n.Z=i}}]); +//# sourceMappingURL=1705.3ecc6022.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1705.3ecc6022.chunk.js.map b/portal-ui/build/static/js/1705.3ecc6022.chunk.js.map new file mode 100644 index 000000000..cd7fe2777 --- /dev/null +++ b/portal-ui/build/static/js/1705.3ecc6022.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1705.3ecc6022.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SummaryItems/BucketTags.tsx","../node_modules/@mui/icons-material/Add.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { Bucket } from \"../../../Watch/types\";\nimport { ErrorResponseHandler } from \"../../../../../common/types\";\nimport useApi from \"../../../Common/Hooks/useApi\";\nimport { Box } from \"@mui/material\";\nimport { IAM_SCOPES } from \"../../../../../common/SecureComponent/permissions\";\nimport { SecureComponent } from \"../../../../../common/SecureComponent\";\nimport get from \"lodash/get\";\nimport Chip from \"@mui/material/Chip\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport withSuspense from \"../../../Common/Components/withSuspense\";\nimport { Loader } from \"mds\";\n\nimport { setErrorSnackMessage } from \"../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../store\";\n\nconst AddBucketTagModal = withSuspense(\n React.lazy(() => import(\"../AddBucketTagModal\"))\n);\nconst DeleteBucketTagModal = withSuspense(\n React.lazy(() => import(\"../DeleteBucketTagModal\"))\n);\n\ntype BucketTagProps = {\n bucketName: string;\n};\n\nconst BucketTags = ({ bucketName }: BucketTagProps) => {\n const dispatch = useAppDispatch();\n\n const [tags, setTags] = useState(null);\n const [tagModalOpen, setTagModalOpen] = useState(false);\n const [tagKeys, setTagKeys] = useState([]);\n const [selectedTag, setSelectedTag] = useState([\"\", \"\"]);\n const [deleteTagModalOpen, setDeleteTagModalOpen] = useState(false);\n\n const closeAddTagModal = (refresh: boolean) => {\n setTagModalOpen(false);\n if (refresh) {\n fetchTags();\n }\n };\n\n const deleteTag = (tagKey: string, tagLabel: string) => {\n setSelectedTag([tagKey, tagLabel]);\n setDeleteTagModalOpen(true);\n };\n\n const closeDeleteTagModal = (refresh: boolean) => {\n setDeleteTagModalOpen(false);\n\n if (refresh) {\n fetchTags();\n }\n };\n\n const onTagLoaded = (res: Bucket) => {\n if (res != null && res?.details != null && \"tags\" in res?.details) {\n setTags(res?.details?.tags);\n setTagKeys(Object.keys(res?.details?.tags));\n }\n };\n\n const onTagLoadFailed = (err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n };\n\n const [isLoading, invokeTagsApi] = useApi(onTagLoaded, onTagLoadFailed);\n\n const fetchTags = () => {\n invokeTagsApi(\"GET\", `/api/v1/buckets/${bucketName}`);\n };\n\n useEffect(() => {\n fetchTags();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [bucketName]);\n\n return (\n \n {isLoading ? : null}\n \n \n \n {tagKeys &&\n tagKeys.map((tagKey: any, index: any) => {\n const tag = get(tags, `${tagKey}`, \"\");\n if (tag !== \"\") {\n return (\n \n }\n onDelete={() => {\n deleteTag(tagKey, tag);\n }}\n />\n \n );\n }\n return null;\n })}\n \n\n \n }\n clickable\n size=\"small\"\n label=\"Add tag\"\n color=\"primary\"\n variant=\"outlined\"\n onClick={() => {\n setTagModalOpen(true);\n }}\n />\n \n \n \n\n {/** Modals **/}\n\n {tagModalOpen && (\n \n )}\n {deleteTagModalOpen && (\n \n )}\n \n );\n};\n\nexport default BucketTags;\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: \"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\"\n}), 'Add');\nexports.default = _default;"],"names":["AddBucketTagModal","withSuspense","React","DeleteBucketTagModal","bucketName","dispatch","useAppDispatch","useState","tags","setTags","tagModalOpen","setTagModalOpen","tagKeys","setTagKeys","selectedTag","setSelectedTag","deleteTagModalOpen","setDeleteTagModalOpen","useApi","res","details","Object","keys","err","setErrorSnackMessage","isLoading","invokeTagsApi","fetchTags","useEffect","style","width","height","scopes","IAM_SCOPES","resource","sx","display","flexFlow","map","tagKey","index","tag","get","matchAll","errorProps","deleteIcon","onDelete","textTransform","marginRight","size","label","color","tagLabel","deleteTag","disabled","onClick","maxWidth","marginTop","icon","clickable","variant","modalOpen","currentTags","onCloseAndUpdate","refresh","deleteOpen","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1705.88e02e9a.chunk.js b/portal-ui/build/static/js/1705.88e02e9a.chunk.js deleted file mode 100644 index 9939810df..000000000 --- a/portal-ui/build/static/js/1705.88e02e9a.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1705],{71705:function(e,n,t){t.r(n);var l=t(29439),s=t(72791),o=t(9505),i=t(64554),c=t(56087),a=t(38442),u=t(26181),r=t.n(u),d=t(81918),h=t(29823),f=t(42419),p=t(75578),v=t(72401),x=t(87995),T=t(25469),Z=t(80184),j=(0,p.Z)(s.lazy((function(){return t.e(247).then(t.bind(t,40247))}))),m=(0,p.Z)(s.lazy((function(){return t.e(2408).then(t.bind(t,22763))})));n.default=function(e){var n=e.bucketName,t=(0,T.TL)(),u=(0,s.useState)(null),p=(0,l.Z)(u,2),_=p[0],b=p[1],k=(0,s.useState)(!1),S=(0,l.Z)(k,2),g=S[0],C=S[1],G=(0,s.useState)([]),A=(0,l.Z)(G,2),y=A[0],U=A[1],I=(0,s.useState)(["",""]),N=(0,l.Z)(I,2),E=N[0],F=N[1],P=(0,s.useState)(!1),z=(0,l.Z)(P,2),O=z[0],w=z[1],B=(0,o.Z)((function(e){var n,t;null!=e&&null!=(null===e||void 0===e?void 0:e.details)&&"tags"in(null===e||void 0===e?void 0:e.details)&&(b(null===e||void 0===e||null===(n=e.details)||void 0===n?void 0:n.tags),U(Object.keys(null===e||void 0===e||null===(t=e.details)||void 0===t?void 0:t.tags)))}),(function(e){t((0,x.Ih)(e))})),K=(0,l.Z)(B,2),D=K[0],H=K[1],L=function(){H("GET","/api/v1/buckets/".concat(n))};return(0,s.useEffect)((function(){L()}),[n]),(0,Z.jsxs)(i.Z,{children:[D?(0,Z.jsx)(v.Z,{style:{width:16,height:16}}):null,(0,Z.jsx)(a.s,{scopes:[c.Ft.S3_GET_BUCKET_TAGGING],resource:n,children:(0,Z.jsxs)(i.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,Z.jsx)(i.Z,{children:y&&y.map((function(e,t){var l=r()(_,"".concat(e),"");return""!==l?(0,Z.jsx)(a.s,{scopes:[c.Ft.S3_PUT_BUCKET_TAGGING,c.Ft.S3_PUT_ACTIONS],resource:n,matchAll:!0,errorProps:{deleteIcon:null,onDelete:null},children:(0,Z.jsx)(d.Z,{style:{textTransform:"none",marginRight:"5px"},size:"small",label:"".concat(e," : ").concat(l),color:"primary",deleteIcon:(0,Z.jsx)(h.Z,{}),onDelete:function(){!function(e,n){F([e,n]),w(!0)}(e,l)}})},"chip-".concat(t)):null}))}),(0,Z.jsx)(a.s,{scopes:[c.Ft.S3_PUT_BUCKET_TAGGING,c.Ft.S3_PUT_ACTIONS],resource:n,errorProps:{disabled:!0,onClick:null},children:(0,Z.jsx)(d.Z,{style:{maxWidth:80,marginTop:"10px"},icon:(0,Z.jsx)(f.Z,{}),clickable:!0,size:"small",label:"Add tag",color:"primary",variant:"outlined",onClick:function(){C(!0)}})})]})}),g&&(0,Z.jsx)(j,{modalOpen:g,currentTags:_,bucketName:n,onCloseAndUpdate:function(e){C(!1),e&&L()}}),O&&(0,Z.jsx)(m,{deleteOpen:O,currentTags:_,bucketName:n,onCloseAndUpdate:function(e){w(!1),e&&L()},selectedTag:E})]})}},42419:function(e,n,t){var l=t(64836);n.Z=void 0;var s=l(t(45649)),o=t(80184),i=(0,s.default)((0,o.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"}),"Add");n.Z=i}}]); -//# sourceMappingURL=1705.88e02e9a.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1705.88e02e9a.chunk.js.map b/portal-ui/build/static/js/1705.88e02e9a.chunk.js.map deleted file mode 100644 index 2e8fc7f0c..000000000 --- a/portal-ui/build/static/js/1705.88e02e9a.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/1705.88e02e9a.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SummaryItems/BucketTags.tsx","../node_modules/@mui/icons-material/Add.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { Bucket } from \"../../../Watch/types\";\nimport { ErrorResponseHandler } from \"../../../../../common/types\";\nimport useApi from \"../../../Common/Hooks/useApi\";\nimport { Box } from \"@mui/material\";\nimport { IAM_SCOPES } from \"../../../../../common/SecureComponent/permissions\";\nimport { SecureComponent } from \"../../../../../common/SecureComponent\";\nimport get from \"lodash/get\";\nimport Chip from \"@mui/material/Chip\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport withSuspense from \"../../../Common/Components/withSuspense\";\nimport Loader from \"../../../Common/Loader/Loader\";\n\nimport { setErrorSnackMessage } from \"../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../store\";\n\nconst AddBucketTagModal = withSuspense(\n React.lazy(() => import(\"../AddBucketTagModal\"))\n);\nconst DeleteBucketTagModal = withSuspense(\n React.lazy(() => import(\"../DeleteBucketTagModal\"))\n);\n\ntype BucketTagProps = {\n bucketName: string;\n};\n\nconst BucketTags = ({ bucketName }: BucketTagProps) => {\n const dispatch = useAppDispatch();\n\n const [tags, setTags] = useState(null);\n const [tagModalOpen, setTagModalOpen] = useState(false);\n const [tagKeys, setTagKeys] = useState([]);\n const [selectedTag, setSelectedTag] = useState([\"\", \"\"]);\n const [deleteTagModalOpen, setDeleteTagModalOpen] = useState(false);\n\n const closeAddTagModal = (refresh: boolean) => {\n setTagModalOpen(false);\n if (refresh) {\n fetchTags();\n }\n };\n\n const deleteTag = (tagKey: string, tagLabel: string) => {\n setSelectedTag([tagKey, tagLabel]);\n setDeleteTagModalOpen(true);\n };\n\n const closeDeleteTagModal = (refresh: boolean) => {\n setDeleteTagModalOpen(false);\n\n if (refresh) {\n fetchTags();\n }\n };\n\n const onTagLoaded = (res: Bucket) => {\n if (res != null && res?.details != null && \"tags\" in res?.details) {\n setTags(res?.details?.tags);\n setTagKeys(Object.keys(res?.details?.tags));\n }\n };\n\n const onTagLoadFailed = (err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n };\n\n const [isLoading, invokeTagsApi] = useApi(onTagLoaded, onTagLoadFailed);\n\n const fetchTags = () => {\n invokeTagsApi(\"GET\", `/api/v1/buckets/${bucketName}`);\n };\n\n useEffect(() => {\n fetchTags();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [bucketName]);\n\n return (\n \n {isLoading ? : null}\n \n \n \n {tagKeys &&\n tagKeys.map((tagKey: any, index: any) => {\n const tag = get(tags, `${tagKey}`, \"\");\n if (tag !== \"\") {\n return (\n \n }\n onDelete={() => {\n deleteTag(tagKey, tag);\n }}\n />\n \n );\n }\n return null;\n })}\n \n\n \n }\n clickable\n size=\"small\"\n label=\"Add tag\"\n color=\"primary\"\n variant=\"outlined\"\n onClick={() => {\n setTagModalOpen(true);\n }}\n />\n \n \n \n\n {/** Modals **/}\n\n {tagModalOpen && (\n \n )}\n {deleteTagModalOpen && (\n \n )}\n \n );\n};\n\nexport default BucketTags;\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: \"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\"\n}), 'Add');\nexports.default = _default;"],"names":["AddBucketTagModal","withSuspense","React","DeleteBucketTagModal","bucketName","dispatch","useAppDispatch","useState","tags","setTags","tagModalOpen","setTagModalOpen","tagKeys","setTagKeys","selectedTag","setSelectedTag","deleteTagModalOpen","setDeleteTagModalOpen","useApi","res","details","Object","keys","err","setErrorSnackMessage","isLoading","invokeTagsApi","fetchTags","useEffect","style","width","height","scopes","IAM_SCOPES","resource","sx","display","flexFlow","map","tagKey","index","tag","get","matchAll","errorProps","deleteIcon","onDelete","textTransform","marginRight","size","label","color","tagLabel","deleteTag","disabled","onClick","maxWidth","marginTop","icon","clickable","variant","modalOpen","currentTags","onCloseAndUpdate","refresh","deleteOpen","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1799.d2996f85.chunk.js b/portal-ui/build/static/js/1799.b4e6b095.chunk.js similarity index 96% rename from portal-ui/build/static/js/1799.d2996f85.chunk.js rename to portal-ui/build/static/js/1799.b4e6b095.chunk.js index 8e52e0539..8bca403a6 100644 --- a/portal-ui/build/static/js/1799.d2996f85.chunk.js +++ b/portal-ui/build/static/js/1799.b4e6b095.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1799],{64163:function(e,n,t){var i=t(1413),r=t(72791),s=t(61889),o=t(11135),a=t(25787),c=t(23814),l=t(80184);n.Z=(0,a.Z)((function(e){return(0,o.Z)((0,i.Z)({},c.xx))}))((function(e){var n=e.classes,t=e.label,i=void 0===t?"":t,o=e.content,a=e.multiLine,c=void 0!==a&&a,d=e.actionButton;return(0,l.jsx)(r.Fragment,{children:(0,l.jsxs)(s.ZP,{className:n.prefinedContainer,children:[""!==i&&(0,l.jsx)(s.ZP,{item:!0,xs:12,className:n.predefinedTitle,children:i}),(0,l.jsxs)(s.ZP,{item:!0,xs:12,className:"".concat(n.predefinedList," ").concat(d?n.includesActionButton:""),children:[(0,l.jsx)(s.ZP,{item:!0,xs:12,className:c?n.innerContentMultiline:n.innerContent,children:o}),d&&(0,l.jsx)("div",{className:n.overlayShareOption,children:d})]})]})})}))},61799:function(e,n,t){t.r(n);var i=t(29439),r=t(72791),s=t(51691),o=t(61889),a=t(40986),c=t(81207),l=t(21435),d=t(64163),u=t(37516),f=t(23508),x=t(56096),m=t(87995),h=t(25469),j=t(80184);n.default=function(e){var n=e.closeFormatModalAndRefresh,t=e.deleteOpen,v=e.allDrives,Z=e.drivesToFormat,b=(0,h.TL)(),p=(0,r.useState)(!1),g=(0,i.Z)(p,2),C=g[0],P=g[1],F=(0,r.useState)(""),S=(0,i.Z)(F,2),k=S[0],A=S[1],D=(0,r.useState)(!1),E=(0,i.Z)(D,2),L=E[0],N=E[1];return(0,j.jsx)(f.Z,{title:"Format ".concat(v?"All ":""," Drives"),confirmText:"Format Drive".concat(Z.length>1||v?"s":""),confirmButtonProps:{disabled:"YES, PROCEED"!==k},isOpen:t,isLoading:C,onConfirm:function(){C||(P(!0),c.Z.invoke("POST","/api/v1/directpv/drives/format",{drives:Z,force:L}).then((function(e){P(!1),n(!0,e.formatIssuesList)})).catch((function(e){P(!1),b((0,m.Ih)(e))})))},onClose:function(){n(!1,[])},titleIcon:(0,j.jsx)(x.QaX,{}),confirmationContent:(0,j.jsxs)(r.Fragment,{children:[(0,j.jsxs)(s.Z,{children:[!v&&(0,j.jsxs)(r.Fragment,{children:[(0,j.jsx)(d.Z,{label:"Selected Drive".concat(Z.length>1?"s":""),content:Z.join(", ")}),(0,j.jsx)("br",{})]}),(0,j.jsx)(o.ZP,{item:!0,xs:12,children:(0,j.jsx)(u.Z,{value:"force",id:"force",name:"force",checked:L,onChange:function(e){N(e.target.checked)},label:"Force Format",indicatorLabels:["Yes","No"]})}),"Are you sure you want to format"," ",v?(0,j.jsx)("strong",{children:"All"}):"the selected"," drive",Z.length>1||v?"s":"","?.",(0,j.jsx)("br",{}),(0,j.jsx)("br",{}),(0,j.jsx)("strong",{children:"All information contained will be erased and cannot be recovered"}),(0,j.jsx)("br",{}),(0,j.jsx)("br",{}),"To continue please type ",(0,j.jsx)("b",{children:"YES, PROCEED"})," in the box.",(0,j.jsx)(o.ZP,{item:!0,xs:12,children:(0,j.jsx)(l.Z,{id:"format-confirm",name:"format-confirm",onChange:function(e){A(e.target.value)},label:"",value:k})})]}),C&&(0,j.jsx)(a.Z,{})]})})}}}]); -//# sourceMappingURL=1799.d2996f85.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1799],{64163:function(e,n,t){var i=t(1413),r=t(72791),s=t(61889),o=t(11135),a=t(25787),c=t(23814),l=t(80184);n.Z=(0,a.Z)((function(e){return(0,o.Z)((0,i.Z)({},c.xx))}))((function(e){var n=e.classes,t=e.label,i=void 0===t?"":t,o=e.content,a=e.multiLine,c=void 0!==a&&a,d=e.actionButton;return(0,l.jsx)(r.Fragment,{children:(0,l.jsxs)(s.ZP,{className:n.prefinedContainer,children:[""!==i&&(0,l.jsx)(s.ZP,{item:!0,xs:12,className:n.predefinedTitle,children:i}),(0,l.jsxs)(s.ZP,{item:!0,xs:12,className:"".concat(n.predefinedList," ").concat(d?n.includesActionButton:""),children:[(0,l.jsx)(s.ZP,{item:!0,xs:12,className:c?n.innerContentMultiline:n.innerContent,children:o}),d&&(0,l.jsx)("div",{className:n.overlayShareOption,children:d})]})]})})}))},61799:function(e,n,t){t.r(n);var i=t(29439),r=t(72791),s=t(51691),o=t(61889),a=t(40986),c=t(81207),l=t(21435),d=t(64163),u=t(37516),f=t(23508),x=t(75952),m=t(87995),h=t(25469),j=t(80184);n.default=function(e){var n=e.closeFormatModalAndRefresh,t=e.deleteOpen,v=e.allDrives,Z=e.drivesToFormat,b=(0,h.TL)(),p=(0,r.useState)(!1),g=(0,i.Z)(p,2),C=g[0],P=g[1],F=(0,r.useState)(""),S=(0,i.Z)(F,2),k=S[0],A=S[1],D=(0,r.useState)(!1),E=(0,i.Z)(D,2),L=E[0],N=E[1];return(0,j.jsx)(f.Z,{title:"Format ".concat(v?"All ":""," Drives"),confirmText:"Format Drive".concat(Z.length>1||v?"s":""),confirmButtonProps:{disabled:"YES, PROCEED"!==k},isOpen:t,isLoading:C,onConfirm:function(){C||(P(!0),c.Z.invoke("POST","/api/v1/directpv/drives/format",{drives:Z,force:L}).then((function(e){P(!1),n(!0,e.formatIssuesList)})).catch((function(e){P(!1),b((0,m.Ih)(e))})))},onClose:function(){n(!1,[])},titleIcon:(0,j.jsx)(x.QaX,{}),confirmationContent:(0,j.jsxs)(r.Fragment,{children:[(0,j.jsxs)(s.Z,{children:[!v&&(0,j.jsxs)(r.Fragment,{children:[(0,j.jsx)(d.Z,{label:"Selected Drive".concat(Z.length>1?"s":""),content:Z.join(", ")}),(0,j.jsx)("br",{})]}),(0,j.jsx)(o.ZP,{item:!0,xs:12,children:(0,j.jsx)(u.Z,{value:"force",id:"force",name:"force",checked:L,onChange:function(e){N(e.target.checked)},label:"Force Format",indicatorLabels:["Yes","No"]})}),"Are you sure you want to format"," ",v?(0,j.jsx)("strong",{children:"All"}):"the selected"," drive",Z.length>1||v?"s":"","?.",(0,j.jsx)("br",{}),(0,j.jsx)("br",{}),(0,j.jsx)("strong",{children:"All information contained will be erased and cannot be recovered"}),(0,j.jsx)("br",{}),(0,j.jsx)("br",{}),"To continue please type ",(0,j.jsx)("b",{children:"YES, PROCEED"})," in the box.",(0,j.jsx)(o.ZP,{item:!0,xs:12,children:(0,j.jsx)(l.Z,{id:"format-confirm",name:"format-confirm",onChange:function(e){A(e.target.value)},label:"",value:k})})]}),C&&(0,j.jsx)(a.Z,{})]})})}}}]); +//# sourceMappingURL=1799.b4e6b095.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1799.d2996f85.chunk.js.map b/portal-ui/build/static/js/1799.b4e6b095.chunk.js.map similarity index 52% rename from portal-ui/build/static/js/1799.d2996f85.chunk.js.map rename to portal-ui/build/static/js/1799.b4e6b095.chunk.js.map index 56a08d159..439140ffb 100644 --- a/portal-ui/build/static/js/1799.d2996f85.chunk.js.map +++ b/portal-ui/build/static/js/1799.b4e6b095.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/1799.d2996f85.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/DirectPV/FormatDrives.tsx"],"sourcesContent":["import React, { Fragment } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { predefinedList } from \"../common/styleLibrary\";\n\ninterface IPredefinedList {\n classes: any;\n label?: string;\n content: any;\n multiLine?: boolean;\n actionButton?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...predefinedList,\n });\n\nconst PredefinedList = ({\n classes,\n label = \"\",\n content,\n multiLine = false,\n actionButton,\n}: IPredefinedList) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n \n )}\n \n \n {content}\n \n {actionButton && (\n
{actionButton}
\n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PredefinedList);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { DialogContentText, Grid, LinearProgress } from \"@mui/material\";\nimport { IDirectPVFormatResItem, IDirectPVFormatResult } from \"./types\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport PredefinedList from \"../Common/FormComponents/PredefinedList/PredefinedList\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport { FormatDrivesIcon } from \"../../../icons\";\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\n\ninterface IFormatAllDrivesProps {\n closeFormatModalAndRefresh: (\n refresh: boolean,\n formatIssuesList: IDirectPVFormatResItem[]\n ) => void;\n deleteOpen: boolean;\n allDrives: boolean;\n drivesToFormat: string[];\n}\n\nconst FormatDrives = ({\n closeFormatModalAndRefresh,\n deleteOpen,\n allDrives,\n drivesToFormat,\n}: IFormatAllDrivesProps) => {\n const dispatch = useAppDispatch();\n const [deleteLoading, setDeleteLoading] = useState(false);\n const [formatAll, setFormatAll] = useState(\"\");\n const [force, setForce] = useState(false);\n\n const removeRecord = () => {\n if (deleteLoading) {\n return;\n }\n setDeleteLoading(true);\n api\n .invoke(\"POST\", `/api/v1/directpv/drives/format`, {\n drives: drivesToFormat,\n force,\n })\n .then((res: IDirectPVFormatResult) => {\n setDeleteLoading(false);\n closeFormatModalAndRefresh(true, res.formatIssuesList);\n })\n .catch((err: ErrorResponseHandler) => {\n setDeleteLoading(false);\n dispatch(setErrorSnackMessage(err));\n });\n };\n return (\n 1 || allDrives ? \"s\" : \"\"\n }`}\n confirmButtonProps={{\n disabled: formatAll !== \"YES, PROCEED\",\n }}\n isOpen={deleteOpen}\n isLoading={deleteLoading}\n onConfirm={removeRecord}\n onClose={() => {\n closeFormatModalAndRefresh(false, []);\n }}\n titleIcon={}\n confirmationContent={\n \n \n {!allDrives && (\n \n 1 ? \"s\" : \"\"\n }`}\n content={drivesToFormat.join(\", \")}\n />\n
\n
\n )}\n \n ) => {\n setForce(event.target.checked);\n }}\n label={\"Force Format\"}\n indicatorLabels={[\"Yes\", \"No\"]}\n />\n \n Are you sure you want to format{\" \"}\n {allDrives ? All : \"the selected\"} drive\n {drivesToFormat.length > 1 || allDrives ? \"s\" : \"\"}?.\n
\n
\n \n All information contained will be erased and cannot be recovered\n \n
\n
\n To continue please type YES, PROCEED in the box.\n \n ) => {\n setFormatAll(event.target.value);\n }}\n label=\"\"\n value={formatAll}\n />\n \n
\n {deleteLoading && }\n
\n }\n />\n );\n};\n\nexport default FormatDrives;\n"],"names":["withStyles","theme","createStyles","predefinedList","classes","label","content","multiLine","actionButton","Fragment","className","prefinedContainer","item","xs","predefinedTitle","includesActionButton","innerContentMultiline","innerContent","overlayShareOption","closeFormatModalAndRefresh","deleteOpen","allDrives","drivesToFormat","dispatch","useAppDispatch","useState","deleteLoading","setDeleteLoading","formatAll","setFormatAll","force","setForce","title","confirmText","length","confirmButtonProps","disabled","isOpen","isLoading","onConfirm","api","drives","then","res","formatIssuesList","catch","err","setErrorSnackMessage","onClose","titleIcon","confirmationContent","join","value","id","name","checked","onChange","event","target","indicatorLabels"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/1799.b4e6b095.chunk.js","mappings":"6LA4DA,KAAeA,EAAAA,EAAAA,IA7CA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,IAAa,UACRC,EAAAA,IACF,GA0CL,EAxCuB,SAAH,GAMI,IALtBC,EAAO,EAAPA,QAAQ,EAAD,EACPC,MAAAA,OAAK,MAAG,GAAE,EACVC,EAAO,EAAPA,QAAQ,EAAD,EACPC,UAAAA,OAAS,OAAQ,EACjBC,EAAY,EAAZA,aAEA,OACE,SAAC,EAAAC,SAAQ,WACP,UAAC,KAAI,CAACC,UAAWN,EAAQO,kBAAkB,UAC9B,KAAVN,IACC,SAAC,KAAI,CAACO,MAAI,EAACC,GAAI,GAAIH,UAAWN,EAAQU,gBAAgB,SACnDT,KAGL,UAAC,KAAI,CACHO,MAAI,EACJC,GAAI,GACJH,UAAS,UAAKN,EAAQD,eAAc,YAClCK,EAAeJ,EAAQW,qBAAuB,IAC7C,WAEH,SAAC,KAAI,CACHH,MAAI,EACJC,GAAI,GACJH,UACEH,EAAYH,EAAQY,sBAAwBZ,EAAQa,aACrD,SAEAX,IAEFE,IACC,gBAAKE,UAAWN,EAAQc,mBAAmB,SAAEV,WAMzD,G,6LCoFA,UAvGqB,SAAH,GAKY,IAJ5BW,EAA0B,EAA1BA,2BACAC,EAAU,EAAVA,WACAC,EAAS,EAATA,UACAC,EAAc,EAAdA,eAEMC,GAAWC,EAAAA,EAAAA,MACjB,GAA0CC,EAAAA,EAAAA,WAAkB,GAAM,eAA3DC,EAAa,KAAEC,EAAgB,KACtC,GAAkCF,EAAAA,EAAAA,UAAiB,IAAG,eAA/CG,EAAS,KAAEC,EAAY,KAC9B,GAA0BJ,EAAAA,EAAAA,WAAkB,GAAM,eAA3CK,EAAK,KAAEC,EAAQ,KAqBtB,OACE,SAAC,IAAa,CACZC,MAAK,iBAAYX,EAAY,OAAS,GAAE,WACxCY,YAAW,sBACTX,EAAeY,OAAS,GAAKb,EAAY,IAAM,IAEjDc,mBAAoB,CAClBC,SAAwB,iBAAdR,GAEZS,OAAQjB,EACRkB,UAAWZ,EACXa,UA9BiB,WACfb,IAGJC,GAAiB,GACjBa,EAAAA,EAAAA,OACU,OAAO,iCAAmC,CAChDC,OAAQnB,EACRQ,MAAAA,IAEDY,MAAK,SAACC,GACLhB,GAAiB,GACjBR,GAA2B,EAAMwB,EAAIC,iBACvC,IACCC,OAAM,SAACC,GACNnB,GAAiB,GACjBJ,GAASwB,EAAAA,EAAAA,IAAqBD,GAChC,IACJ,EAaIE,QAAS,WACP7B,GAA2B,EAAO,GACpC,EACA8B,WAAW,SAAC,MAAgB,IAC5BC,qBACE,UAAC,WAAc,YACb,UAAC,IAAiB,YACd7B,IACA,UAAC,EAAAZ,SAAQ,YACP,SAAC,IAAc,CACbJ,MAAK,wBACHiB,EAAeY,OAAS,EAAI,IAAM,IAEpC5B,QAASgB,EAAe6B,KAAK,SAE/B,sBAGJ,SAAC,KAAI,CAACvC,MAAI,EAACC,GAAI,GAAG,UAChB,SAAC,IAAiB,CAChBuC,MAAM,QACNC,GAAG,QACHC,KAAK,QACLC,QAASzB,EACT0B,SAAU,SAACC,GACT1B,EAAS0B,EAAMC,OAAOH,QACxB,EACAlD,MAAO,eACPsD,gBAAiB,CAAC,MAAO,UAEtB,kCACyB,IAC/BtC,GAAY,4BAAQ,QAAe,eAAe,SAClDC,EAAeY,OAAS,GAAKb,EAAY,IAAM,GAAG,MACnD,mBACA,mBACA,4BAAQ,sEAGR,mBACA,kBAAM,4BACkB,uBAAG,iBAAgB,gBAC3C,SAAC,KAAI,CAACT,MAAI,EAACC,GAAI,GAAG,UAChB,SAAC,IAAe,CACdwC,GAAG,iBACHC,KAAK,iBACLE,SAAU,SAACC,GACT5B,EAAa4B,EAAMC,OAAON,MAC5B,EACA/C,MAAM,GACN+C,MAAOxB,SAIZF,IAAiB,SAAC,IAAc,QAK3C,C","sources":["screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/DirectPV/FormatDrives.tsx"],"sourcesContent":["import React, { Fragment } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { predefinedList } from \"../common/styleLibrary\";\n\ninterface IPredefinedList {\n classes: any;\n label?: string;\n content: any;\n multiLine?: boolean;\n actionButton?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...predefinedList,\n });\n\nconst PredefinedList = ({\n classes,\n label = \"\",\n content,\n multiLine = false,\n actionButton,\n}: IPredefinedList) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n \n )}\n \n \n {content}\n \n {actionButton && (\n
{actionButton}
\n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PredefinedList);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { DialogContentText, Grid, LinearProgress } from \"@mui/material\";\nimport { IDirectPVFormatResItem, IDirectPVFormatResult } from \"./types\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport PredefinedList from \"../Common/FormComponents/PredefinedList/PredefinedList\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport { FormatDrivesIcon } from \"mds\";\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\n\ninterface IFormatAllDrivesProps {\n closeFormatModalAndRefresh: (\n refresh: boolean,\n formatIssuesList: IDirectPVFormatResItem[]\n ) => void;\n deleteOpen: boolean;\n allDrives: boolean;\n drivesToFormat: string[];\n}\n\nconst FormatDrives = ({\n closeFormatModalAndRefresh,\n deleteOpen,\n allDrives,\n drivesToFormat,\n}: IFormatAllDrivesProps) => {\n const dispatch = useAppDispatch();\n const [deleteLoading, setDeleteLoading] = useState(false);\n const [formatAll, setFormatAll] = useState(\"\");\n const [force, setForce] = useState(false);\n\n const removeRecord = () => {\n if (deleteLoading) {\n return;\n }\n setDeleteLoading(true);\n api\n .invoke(\"POST\", `/api/v1/directpv/drives/format`, {\n drives: drivesToFormat,\n force,\n })\n .then((res: IDirectPVFormatResult) => {\n setDeleteLoading(false);\n closeFormatModalAndRefresh(true, res.formatIssuesList);\n })\n .catch((err: ErrorResponseHandler) => {\n setDeleteLoading(false);\n dispatch(setErrorSnackMessage(err));\n });\n };\n return (\n 1 || allDrives ? \"s\" : \"\"\n }`}\n confirmButtonProps={{\n disabled: formatAll !== \"YES, PROCEED\",\n }}\n isOpen={deleteOpen}\n isLoading={deleteLoading}\n onConfirm={removeRecord}\n onClose={() => {\n closeFormatModalAndRefresh(false, []);\n }}\n titleIcon={}\n confirmationContent={\n \n \n {!allDrives && (\n \n 1 ? \"s\" : \"\"\n }`}\n content={drivesToFormat.join(\", \")}\n />\n
\n
\n )}\n \n ) => {\n setForce(event.target.checked);\n }}\n label={\"Force Format\"}\n indicatorLabels={[\"Yes\", \"No\"]}\n />\n \n Are you sure you want to format{\" \"}\n {allDrives ? All : \"the selected\"} drive\n {drivesToFormat.length > 1 || allDrives ? \"s\" : \"\"}?.\n
\n
\n \n All information contained will be erased and cannot be recovered\n \n
\n
\n To continue please type YES, PROCEED in the box.\n \n ) => {\n setFormatAll(event.target.value);\n }}\n label=\"\"\n value={formatAll}\n />\n \n
\n {deleteLoading && }\n
\n }\n />\n );\n};\n\nexport default FormatDrives;\n"],"names":["withStyles","theme","createStyles","predefinedList","classes","label","content","multiLine","actionButton","Fragment","className","prefinedContainer","item","xs","predefinedTitle","includesActionButton","innerContentMultiline","innerContent","overlayShareOption","closeFormatModalAndRefresh","deleteOpen","allDrives","drivesToFormat","dispatch","useAppDispatch","useState","deleteLoading","setDeleteLoading","formatAll","setFormatAll","force","setForce","title","confirmText","length","confirmButtonProps","disabled","isOpen","isLoading","onConfirm","api","drives","then","res","formatIssuesList","catch","err","setErrorSnackMessage","onClose","titleIcon","confirmationContent","join","value","id","name","checked","onChange","event","target","indicatorLabels"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1829.dddf5fc0.chunk.js b/portal-ui/build/static/js/1829.dddf5fc0.chunk.js deleted file mode 100644 index 96e91bf97..000000000 --- a/portal-ui/build/static/js/1829.dddf5fc0.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1829],{23804:function(e,n,t){t(72791);var a=t(11135),o=t(25787),i=t(61889),r=t(80184);n.Z=(0,o.Z)((function(e){return(0,a.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var n=e.classes,t=e.iconComponent,a=e.title,o=e.help;return(0,r.jsx)("div",{className:n.root,children:(0,r.jsxs)(i.ZP,{container:!0,children:[(0,r.jsxs)(i.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,a]}),(0,r.jsx)(i.ZP,{item:!0,xs:12,className:n.helpText,children:o})]})})}))},47986:function(e,n,t){t(72791);var a=t(61889),o=t(64554),i=t(23804),r=t(80184);n.Z=function(e){var n=e.iconComponent,t=e.entity;return(0,r.jsx)(a.ZP,{container:!0,alignItems:"center",children:(0,r.jsx)(a.ZP,{item:!0,xs:12,children:(0,r.jsx)(i.Z,{title:"".concat(t," not available"),iconComponent:n,help:(0,r.jsxs)(o.Z,{sx:{fontSize:"14px",display:"flex",border:"none",flexFlow:{xs:"column",md:"row"},"& a":{color:function(e){return e.colors.link},textDecoration:"underline"}},children:[(0,r.jsx)("div",{children:"This feature is not available for a single-disk setup."}),(0,r.jsxs)("div",{children:["Please deploy a server in"," ",(0,r.jsx)("a",{href:"https://min.io/docs/minio/linux/operations/install-deploy-manage/deploy-minio-multi-node-multi-drive.html?ref=con",target:"_blank",rel:"noreferrer",children:"Distributed Mode"})," ","to use this feature."]})]})})})})}},34866:function(e,n,t){var a=t(1413),o=t(72791),i=t(61889),r=t(94454),s=t(30829),c=t(20068),l=t(11135),d=t(25787),u=t(23814),f=t(84570),h=t(80184);n.Z=(0,d.Z)((function(e){return(0,l.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},u.YI),u.Hr),u.lM),{},{fieldContainer:(0,a.Z)((0,a.Z)({},u.YI.fieldContainer),{},{display:"flex",justifyContent:"flex-start",alignItems:"center",margin:"15px 0",marginBottom:0,flexBasis:"initial",flexWrap:"nowrap"}),noTopMargin:{marginTop:0}}))}))((function(e){var n=e.label,t=e.onChange,a=e.value,l=e.id,d=e.name,u=e.checked,p=void 0!==u&&u,x=e.disabled,m=void 0!==x&&x,b=e.noTopMargin,g=void 0!==b&&b,j=e.tooltip,Z=void 0===j?"":j,v=e.overrideLabelClasses,k=void 0===v?"":v,S=e.overrideCheckboxStyles,C=e.classes,y=e.className;return(0,h.jsx)(o.Fragment,{children:(0,h.jsxs)(i.ZP,{item:!0,xs:12,className:"".concat(C.fieldContainer," ").concat(g?C.noTopMargin:""," ").concat(y||""),children:[(0,h.jsx)("div",{children:(0,h.jsx)(r.Z,{name:d,id:l,value:a,color:"primary",inputProps:{"aria-label":"secondary checkbox"},checked:p,onChange:t,checkedIcon:(0,h.jsx)("span",{className:C.checkedIcon}),icon:(0,h.jsx)("span",{className:C.unCheckedIcon}),disabled:m,disableRipple:!0,disableFocusRipple:!0,focusRipple:!1,centerRipple:!1,disableTouchRipple:!0,style:S||{}})}),""!==n&&(0,h.jsxs)(s.Z,{htmlFor:l,className:"".concat(C.noMinWidthLabel," ").concat(k),children:[(0,h.jsx)("span",{children:n}),""!==Z&&(0,h.jsx)("div",{className:C.tooltipContainer,children:(0,h.jsx)(c.Z,{title:Z,placement:"top-start",children:(0,h.jsx)("div",{className:C.tooltip,children:(0,h.jsx)(f.Z,{})})})})]})]})})}))},61829:function(e,n,t){t.r(n);var a=t(29439),o=t(1413),i=t(72791),r=t(78687),s=t(28353),c=t(4834),l=t(61889),d=t(68096),u=t(58406),f=t(23786),h=t(27391),p=t(95087),x=t(75952),m=t(11135),b=t(25787),g=t(26824),j=t(45248),Z=t(23814),v=t(56087),k=t(56096),S=t(34866),C=t(32291),y=t(81207),N=t(74794),w=t(38442),H=t(47986),I=t(87995),R=t(72455),E=t(80184),F=(0,R.Z)((function(e){return(0,m.Z)((0,o.Z)((0,o.Z)((0,o.Z)({graphContainer:{backgroundColor:"#fff",border:"#EAEDEE 1px solid",borderRadius:3,padding:"19px 38px",marginTop:15},scanInfo:{marginTop:20,display:"flex",flexDirection:"row",justifyContent:"space-between"},scanData:{fontSize:13},formBox:{padding:15,border:"1px solid #EAEAEA"},buttonBar:{display:"flex",alignItems:"center",justifyContent:"flex-end"},bucketField:{flex:1},prefixField:(0,o.Z)((0,o.Z)({},Z.qg.searchField),{},{marginLeft:10,flex:1}),actionsTray:(0,o.Z)((0,o.Z)({},Z.OR.actionsTray),{},{marginBottom:0})},Z.IX),Z.qg),(0,Z.Bz)(e.spacing(4))))})),P=(0,b.Z)((function(e){return(0,m.Z)({root:{lineHeight:"50px",marginRight:15,"label + &":{marginTop:e.spacing(3)},"& .MuiSelect-select:focus":{backgroundColor:"transparent"}}})}))(c.ZP);n.default=function(){var e=F(),n=(0,r.v9)(I.N5),t=(0,i.useState)(!1),o=(0,a.Z)(t,2),c=o[0],m=o[1],b=(0,i.useState)(""),Z=(0,a.Z)(b,2),R=Z[0],T=Z[1],B=(0,i.useState)([]),D=(0,a.Z)(B,2),z=D[0],A=D[1],G=(0,i.useState)(""),L=(0,a.Z)(G,2),M=L[0],W=L[1],Y=(0,i.useState)(!1),O=(0,a.Z)(Y,2),U=O[0],_=O[1],q=(0,i.useState)(!1),J=(0,a.Z)(q,2),V=J[0],X=J[1],K=(0,i.useState)(!1),Q=(0,a.Z)(K,2),$=Q[0],ee=Q[1],ne=(0,i.useState)({beforeHeal:[0,0,0,0],afterHeal:[0,0,0,0],objectsHealed:0,objectsScanned:0,healDuration:0,sizeScanned:""}),te=(0,a.Z)(ne,2),ae=te[0],oe=te[1];(0,i.useEffect)((function(){y.Z.invoke("GET","/api/v1/buckets").then((function(e){var n=[];null!==e.buckets&&(n=e.buckets),A(n)})).catch((function(e){console.error(e)}))}),[]),(0,i.useEffect)((function(){!0===V&&ee(!1)}),[V]),(0,i.useEffect)((function(){!0===$&&X(!1)}),[$]);var ie=function(e){return[e.Green,e.Yellow,e.Red,e.Grey]};(0,i.useEffect)((function(){if(c){var e={Green:0,Yellow:0,Red:0,Grey:0},n={Green:0,Yellow:0,Red:0,Grey:0},t=new URL(window.location.toString()),o=t.port,i=new URL(document.baseURI).pathname,r=(0,g.x2)(t.protocol),s=new p.w3cwebsocket("".concat(r,"://").concat(t.hostname,":").concat(o).concat(i,"ws/heal/").concat(R,"?prefix=").concat(M,"&recursive=").concat(U,"&force-start=").concat(V,"&force-stop=").concat($));if(null!==s)return s.onopen=function(){console.log("WebSocket Client Connected"),s.send("ok")},s.onmessage=function(t){for(var o=JSON.parse(t.data.toString()),i=0,r=Object.entries(o.healthAfterCols);i.\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string | React.ReactNode;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box, Grid } from \"@mui/material\";\nimport HelpBox from \"../../../../common/HelpBox\";\n\ninterface IDistributedOnly {\n iconComponent: any;\n entity: string;\n}\n\nconst DistributedOnly = ({ iconComponent, entity }: IDistributedOnly) => {\n return (\n \n \n theme.colors.link,\n textDecoration: \"underline\",\n },\n }}\n >\n
This feature is not available for a single-disk setup.
\n\n
\n Please deploy a server in{\" \"}\n \n Distributed Mode\n {\" \"}\n to use this feature.\n
\n \n }\n />\n
\n
\n );\n};\n\nexport default DistributedOnly;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport { Checkbox, Grid, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n checkboxIcons,\n fieldBasic,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\ninterface CheckBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n overrideLabelClasses?: string;\n overrideCheckboxStyles?: React.CSSProperties;\n index?: number;\n noTopMargin?: boolean;\n checked: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n ...checkboxIcons,\n fieldContainer: {\n ...fieldBasic.fieldContainer,\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n margin: \"15px 0\",\n marginBottom: 0,\n flexBasis: \"initial\",\n flexWrap: \"nowrap\",\n },\n noTopMargin: {\n marginTop: 0,\n },\n });\n\nconst CheckboxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n noTopMargin = false,\n tooltip = \"\",\n overrideLabelClasses = \"\",\n overrideCheckboxStyles,\n classes,\n className,\n}: CheckBoxProps) => {\n return (\n \n \n
\n }\n icon={}\n disabled={disabled}\n disableRipple\n disableFocusRipple\n focusRipple={false}\n centerRipple={false}\n disableTouchRipple\n style={overrideCheckboxStyles || {}}\n />\n
\n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n \n
\n );\n};\n\nexport default withStyles(styles)(CheckboxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { HorizontalBar } from \"react-chartjs-2\";\nimport {\n FormControl,\n Grid,\n InputBase,\n MenuItem,\n Select,\n TextField,\n} from \"@mui/material\";\nimport { IMessageEvent, w3cwebsocket as W3CWebSocket } from \"websocket\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { wsProtocol } from \"../../../utils/wsUtils\";\nimport { Bucket, BucketList } from \"../Watch/types\";\nimport { colorH, HealStatus } from \"./types\";\nimport { niceBytes } from \"../../../common/utils\";\nimport {\n actionsTray,\n containerForHeader,\n inlineCheckboxes,\n searchField,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { HealIcon } from \"../../../icons\";\nimport CheckboxWrapper from \"../Common/FormComponents/CheckboxWrapper/CheckboxWrapper\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport api from \"../../../common/api\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport { SecureComponent } from \"../../../common/SecureComponent\";\nimport DistributedOnly from \"../Common/DistributedOnly/DistributedOnly\";\nimport { selDistSet } from \"../../../systemSlice\";\nimport makeStyles from \"@mui/styles/makeStyles\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n graphContainer: {\n backgroundColor: \"#fff\",\n border: \"#EAEDEE 1px solid\",\n borderRadius: 3,\n padding: \"19px 38px\",\n marginTop: 15,\n },\n scanInfo: {\n marginTop: 20,\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n },\n scanData: {\n fontSize: 13,\n },\n formBox: {\n padding: 15,\n border: \"1px solid #EAEAEA\",\n },\n buttonBar: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n bucketField: {\n flex: 1,\n },\n prefixField: {\n ...searchField.searchField,\n marginLeft: 10,\n flex: 1,\n },\n actionsTray: {\n ...actionsTray.actionsTray,\n marginBottom: 0,\n },\n ...inlineCheckboxes,\n ...searchField,\n ...containerForHeader(theme.spacing(4)),\n })\n);\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n lineHeight: \"50px\",\n marginRight: 15,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n \"& .MuiSelect-select:focus\": {\n backgroundColor: \"transparent\",\n },\n },\n })\n)(InputBase);\n\nconst Heal = () => {\n const classes = useStyles();\n const distributedSetup = useSelector(selDistSet);\n\n const [start, setStart] = useState(false);\n const [bucketName, setBucketName] = useState(\"\");\n const [bucketList, setBucketList] = useState([]);\n const [prefix, setPrefix] = useState(\"\");\n const [recursive, setRecursive] = useState(false);\n const [forceStart, setForceStart] = useState(false);\n const [forceStop, setForceStop] = useState(false);\n // healStatus states\n const [hStatus, setHStatus] = useState({\n beforeHeal: [0, 0, 0, 0],\n afterHeal: [0, 0, 0, 0],\n objectsHealed: 0,\n objectsScanned: 0,\n healDuration: 0,\n sizeScanned: \"\",\n });\n\n const fetchBucketList = () => {\n api\n .invoke(\"GET\", `/api/v1/buckets`)\n .then((res: BucketList) => {\n let buckets: Bucket[] = [];\n if (res.buckets !== null) {\n buckets = res.buckets;\n }\n setBucketList(buckets);\n })\n .catch((err: ErrorResponseHandler) => {\n console.error(err);\n });\n };\n\n useEffect(() => {\n fetchBucketList();\n }, []);\n\n // forceStart and forceStop need to be mutually exclusive\n useEffect(() => {\n if (forceStart === true) {\n setForceStop(false);\n }\n }, [forceStart]);\n\n useEffect(() => {\n if (forceStop === true) {\n setForceStart(false);\n }\n }, [forceStop]);\n\n const colorHealthArr = (color: colorH) => {\n return [color.Green, color.Yellow, color.Red, color.Grey];\n };\n\n useEffect(() => {\n // begin watch if bucketName in bucketList and start pressed\n if (start) {\n // values stored here to update chart\n const cB: colorH = { Green: 0, Yellow: 0, Red: 0, Grey: 0 };\n const cA: colorH = { Green: 0, Yellow: 0, Red: 0, Grey: 0 };\n\n const url = new URL(window.location.toString());\n const isDev = process.env.NODE_ENV === \"development\";\n const port = isDev ? \"9090\" : url.port;\n\n // check if we are using base path, if not this always is `/`\n const baseLocation = new URL(document.baseURI);\n const baseUrl = baseLocation.pathname;\n\n const wsProt = wsProtocol(url.protocol);\n const c = new W3CWebSocket(\n `${wsProt}://${url.hostname}:${port}${baseUrl}ws/heal/${bucketName}?prefix=${prefix}&recursive=${recursive}&force-start=${forceStart}&force-stop=${forceStop}`\n );\n\n if (c !== null) {\n c.onopen = () => {\n console.log(\"WebSocket Client Connected\");\n c.send(\"ok\");\n };\n c.onmessage = (message: IMessageEvent) => {\n let m: HealStatus = JSON.parse(message.data.toString());\n // Store percentage per health color\n for (const [key, value] of Object.entries(m.healthAfterCols)) {\n cA[key] = (value * 100) / m.itemsScanned;\n }\n for (const [key, value] of Object.entries(m.healthBeforeCols)) {\n cB[key] = (value * 100) / m.itemsScanned;\n }\n setHStatus({\n beforeHeal: colorHealthArr(cB),\n afterHeal: colorHealthArr(cA),\n objectsHealed: m.objectsHealed,\n objectsScanned: m.objectsScanned,\n healDuration: m.healDuration,\n sizeScanned: niceBytes(m.bytesScanned.toString()),\n });\n };\n c.onclose = () => {\n setStart(false);\n console.log(\"connection closed by server\");\n };\n return () => {\n // close websocket on useEffect cleanup\n c.close(1000);\n console.log(\"closing websockets\");\n };\n }\n }\n }, [start, bucketName, forceStart, forceStop, prefix, recursive]);\n\n let data = {\n labels: [\"Green\", \"Yellow\", \"Red\", \"Grey\"],\n datasets: [\n {\n label: \"After Healing\",\n data: hStatus.afterHeal,\n backgroundColor: \"rgba(0, 0, 255, 0.2)\",\n borderColor: \"rgba(54, 162, 235, 1)\",\n borderWidth: 1,\n },\n {\n label: \"Before Healing\",\n data: hStatus.beforeHeal,\n backgroundColor: \"rgba(153, 102, 255, 0.2)\",\n borderColor: \"rgba(153, 102, 255, 1)\",\n borderWidth: 1,\n },\n ],\n };\n const bucketNames = bucketList.map((bucketName) => ({\n label: bucketName.name,\n value: bucketName.name,\n }));\n\n return (\n \n \n \n {!distributedSetup ? (\n } />\n ) : (\n \n \n \n \n {\n setBucketName(e.target.value as string);\n }}\n className={classes.searchField}\n input={}\n displayEmpty\n >\n \n Select Bucket\n \n {bucketNames.map((option) => (\n \n {option.label}\n \n ))}\n \n \n {\n setPrefix(e.target.value);\n }}\n variant=\"standard\"\n />\n \n \n {\n setRecursive(e.target.checked);\n }}\n disabled={false}\n label=\"Recursive\"\n />\n {\n setForceStart(e.target.checked);\n }}\n disabled={false}\n label=\"Force Start\"\n />\n {\n setForceStop(e.target.checked);\n }}\n disabled={false}\n label=\"Force Stop\"\n />\n \n \n setStart(true)}\n label={\"Start\"}\n />\n \n \n \n \n \n
\n Size scanned: {hStatus.sizeScanned}\n
\n
\n Objects healed: {hStatus.objectsHealed} /{\" \"}\n {hStatus.objectsScanned}\n
\n
\n Healing time: {hStatus.healDuration}s\n
\n
\n
\n \n )}\n
\n
\n );\n};\n\nexport default Heal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// Close codes for websockets defined in RFC 6455\nexport const WSCloseNormalClosure = 1000;\nexport const WSCloseCloseGoingAway = 1001;\nexport const WSCloseAbnormalClosure = 1006;\nexport const WSClosePolicyViolation = 1008;\nexport const WSCloseInternalServerErr = 1011;\n\nexport const wsProtocol = (protocol: string): string => {\n let wsProtocol = \"ws\";\n if (protocol === \"https:\") {\n wsProtocol = \"wss\";\n }\n return wsProtocol;\n};\n"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","entity","sx","flexFlow","md","color","colors","link","textDecoration","href","target","rel","fieldBasic","tooltipHelper","checkboxIcons","fieldContainer","justifyContent","margin","flexBasis","flexWrap","noTopMargin","marginTop","label","onChange","value","id","name","checked","disabled","tooltip","overrideLabelClasses","overrideCheckboxStyles","inputProps","checkedIcon","icon","unCheckedIcon","disableRipple","disableFocusRipple","focusRipple","centerRipple","disableTouchRipple","style","htmlFor","noMinWidthLabel","tooltipContainer","placement","useStyles","makeStyles","graphContainer","padding","scanInfo","flexDirection","scanData","formBox","buttonBar","bucketField","flex","prefixField","searchField","marginLeft","actionsTray","inlineCheckboxes","containerForHeader","spacing","SelectStyled","lineHeight","InputBase","distributedSetup","useSelector","selDistSet","useState","start","setStart","bucketName","setBucketName","bucketList","setBucketList","prefix","setPrefix","recursive","setRecursive","forceStart","setForceStart","forceStop","setForceStop","beforeHeal","afterHeal","objectsHealed","objectsScanned","healDuration","sizeScanned","hStatus","setHStatus","useEffect","api","then","res","buckets","catch","err","console","error","colorHealthArr","Green","Yellow","Red","Grey","cB","cA","url","URL","window","location","toString","port","baseUrl","document","baseURI","pathname","wsProt","wsProtocol","protocol","c","W3CWebSocket","hostname","onopen","log","send","onmessage","message","m","JSON","parse","data","Object","entries","healthAfterCols","key","itemsScanned","healthBeforeCols","niceBytes","bytesScanned","onclose","close","labels","datasets","borderColor","borderWidth","bucketNames","map","Fragment","scopes","IAM_SCOPES","resource","CONSOLE_UI_RESOURCE","variant","e","input","displayEmpty","option","InputProps","disableUnderline","type","onClick","options","text","legend","position","WSCloseAbnormalClosure","WSClosePolicyViolation","WSCloseInternalServerErr"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1829.ebfd458a.chunk.js b/portal-ui/build/static/js/1829.ebfd458a.chunk.js new file mode 100644 index 000000000..115bc7370 --- /dev/null +++ b/portal-ui/build/static/js/1829.ebfd458a.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1829],{23804:function(e,n,t){t(72791);var a=t(11135),o=t(25787),i=t(61889),r=t(80184);n.Z=(0,o.Z)((function(e){return(0,a.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var n=e.classes,t=e.iconComponent,a=e.title,o=e.help;return(0,r.jsx)("div",{className:n.root,children:(0,r.jsxs)(i.ZP,{container:!0,children:[(0,r.jsxs)(i.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,a]}),(0,r.jsx)(i.ZP,{item:!0,xs:12,className:n.helpText,children:o})]})})}))},47986:function(e,n,t){t(72791);var a=t(61889),o=t(64554),i=t(23804),r=t(80184);n.Z=function(e){var n=e.iconComponent,t=e.entity;return(0,r.jsx)(a.ZP,{container:!0,alignItems:"center",children:(0,r.jsx)(a.ZP,{item:!0,xs:12,children:(0,r.jsx)(i.Z,{title:"".concat(t," not available"),iconComponent:n,help:(0,r.jsxs)(o.Z,{sx:{fontSize:"14px",display:"flex",border:"none",flexFlow:{xs:"column",md:"row"},"& a":{color:function(e){return e.colors.link},textDecoration:"underline"}},children:[(0,r.jsx)("div",{children:"This feature is not available for a single-disk setup."}),(0,r.jsxs)("div",{children:["Please deploy a server in"," ",(0,r.jsx)("a",{href:"https://min.io/docs/minio/linux/operations/install-deploy-manage/deploy-minio-multi-node-multi-drive.html?ref=con",target:"_blank",rel:"noreferrer",children:"Distributed Mode"})," ","to use this feature."]})]})})})})}},34866:function(e,n,t){var a=t(1413),o=t(72791),i=t(61889),r=t(94454),s=t(30829),c=t(20068),l=t(11135),d=t(25787),u=t(23814),f=t(75952),h=t(80184);n.Z=(0,d.Z)((function(e){return(0,l.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},u.YI),u.Hr),u.lM),{},{fieldContainer:(0,a.Z)((0,a.Z)({},u.YI.fieldContainer),{},{display:"flex",justifyContent:"flex-start",alignItems:"center",margin:"15px 0",marginBottom:0,flexBasis:"initial",flexWrap:"nowrap"}),noTopMargin:{marginTop:0}}))}))((function(e){var n=e.label,t=e.onChange,a=e.value,l=e.id,d=e.name,u=e.checked,p=void 0!==u&&u,x=e.disabled,m=void 0!==x&&x,b=e.noTopMargin,g=void 0!==b&&b,j=e.tooltip,Z=void 0===j?"":j,v=e.overrideLabelClasses,k=void 0===v?"":v,S=e.overrideCheckboxStyles,C=e.classes,y=e.className;return(0,h.jsx)(o.Fragment,{children:(0,h.jsxs)(i.ZP,{item:!0,xs:12,className:"".concat(C.fieldContainer," ").concat(g?C.noTopMargin:""," ").concat(y||""),children:[(0,h.jsx)("div",{children:(0,h.jsx)(r.Z,{name:d,id:l,value:a,color:"primary",inputProps:{"aria-label":"secondary checkbox"},checked:p,onChange:t,checkedIcon:(0,h.jsx)("span",{className:C.checkedIcon}),icon:(0,h.jsx)("span",{className:C.unCheckedIcon}),disabled:m,disableRipple:!0,disableFocusRipple:!0,focusRipple:!1,centerRipple:!1,disableTouchRipple:!0,style:S||{}})}),""!==n&&(0,h.jsxs)(s.Z,{htmlFor:l,className:"".concat(C.noMinWidthLabel," ").concat(k),children:[(0,h.jsx)("span",{children:n}),""!==Z&&(0,h.jsx)("div",{className:C.tooltipContainer,children:(0,h.jsx)(c.Z,{title:Z,placement:"top-start",children:(0,h.jsx)("div",{className:C.tooltip,children:(0,h.jsx)(f.byK,{})})})})]})]})})}))},61829:function(e,n,t){t.r(n);var a=t(29439),o=t(1413),i=t(72791),r=t(78687),s=t(28353),c=t(4834),l=t(61889),d=t(68096),u=t(58406),f=t(23786),h=t(27391),p=t(95087),x=t(75952),m=t(11135),b=t(25787),g=t(26824),j=t(45248),Z=t(23814),v=t(56087),k=t(34866),S=t(32291),C=t(81207),y=t(74794),N=t(38442),w=t(47986),H=t(87995),I=t(72455),R=t(80184),E=(0,I.Z)((function(e){return(0,m.Z)((0,o.Z)((0,o.Z)((0,o.Z)({graphContainer:{backgroundColor:"#fff",border:"#EAEDEE 1px solid",borderRadius:3,padding:"19px 38px",marginTop:15},scanInfo:{marginTop:20,display:"flex",flexDirection:"row",justifyContent:"space-between"},scanData:{fontSize:13},formBox:{padding:15,border:"1px solid #EAEAEA"},buttonBar:{display:"flex",alignItems:"center",justifyContent:"flex-end"},bucketField:{flex:1},prefixField:(0,o.Z)((0,o.Z)({},Z.qg.searchField),{},{marginLeft:10,flex:1}),actionsTray:(0,o.Z)((0,o.Z)({},Z.OR.actionsTray),{},{marginBottom:0})},Z.IX),Z.qg),(0,Z.Bz)(e.spacing(4))))})),F=(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=E(),n=(0,r.v9)(H.N5),t=(0,i.useState)(!1),o=(0,a.Z)(t,2),c=o[0],m=o[1],b=(0,i.useState)(""),Z=(0,a.Z)(b,2),I=Z[0],P=Z[1],T=(0,i.useState)([]),B=(0,a.Z)(T,2),D=B[0],z=B[1],A=(0,i.useState)(""),G=(0,a.Z)(A,2),L=G[0],M=G[1],W=(0,i.useState)(!1),Y=(0,a.Z)(W,2),O=Y[0],U=Y[1],_=(0,i.useState)(!1),q=(0,a.Z)(_,2),J=q[0],K=q[1],V=(0,i.useState)(!1),X=(0,a.Z)(V,2),Q=X[0],$=X[1],ee=(0,i.useState)({beforeHeal:[0,0,0,0],afterHeal:[0,0,0,0],objectsHealed:0,objectsScanned:0,healDuration:0,sizeScanned:""}),ne=(0,a.Z)(ee,2),te=ne[0],ae=ne[1];(0,i.useEffect)((function(){C.Z.invoke("GET","/api/v1/buckets").then((function(e){var n=[];null!==e.buckets&&(n=e.buckets),z(n)})).catch((function(e){console.error(e)}))}),[]),(0,i.useEffect)((function(){!0===J&&$(!1)}),[J]),(0,i.useEffect)((function(){!0===Q&&K(!1)}),[Q]);var oe=function(e){return[e.Green,e.Yellow,e.Red,e.Grey]};(0,i.useEffect)((function(){if(c){var e={Green:0,Yellow:0,Red:0,Grey:0},n={Green:0,Yellow:0,Red:0,Grey:0},t=new URL(window.location.toString()),o=t.port,i=new URL(document.baseURI).pathname,r=(0,g.x2)(t.protocol),s=new p.w3cwebsocket("".concat(r,"://").concat(t.hostname,":").concat(o).concat(i,"ws/heal/").concat(I,"?prefix=").concat(L,"&recursive=").concat(O,"&force-start=").concat(J,"&force-stop=").concat(Q));if(null!==s)return s.onopen=function(){console.log("WebSocket Client Connected"),s.send("ok")},s.onmessage=function(t){for(var o=JSON.parse(t.data.toString()),i=0,r=Object.entries(o.healthAfterCols);i.\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string | React.ReactNode;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box, Grid } from \"@mui/material\";\nimport HelpBox from \"../../../../common/HelpBox\";\n\ninterface IDistributedOnly {\n iconComponent: any;\n entity: string;\n}\n\nconst DistributedOnly = ({ iconComponent, entity }: IDistributedOnly) => {\n return (\n \n \n theme.colors.link,\n textDecoration: \"underline\",\n },\n }}\n >\n
This feature is not available for a single-disk setup.
\n\n
\n Please deploy a server in{\" \"}\n \n Distributed Mode\n {\" \"}\n to use this feature.\n
\n \n }\n />\n
\n
\n );\n};\n\nexport default DistributedOnly;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport { Checkbox, Grid, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n checkboxIcons,\n fieldBasic,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { HelpIcon } from \"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 { HorizontalBar } from \"react-chartjs-2\";\nimport {\n FormControl,\n Grid,\n InputBase,\n MenuItem,\n Select,\n TextField,\n} from \"@mui/material\";\nimport { IMessageEvent, w3cwebsocket as W3CWebSocket } from \"websocket\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { wsProtocol } from \"../../../utils/wsUtils\";\nimport { Bucket, BucketList } from \"../Watch/types\";\nimport { colorH, HealStatus } from \"./types\";\nimport { niceBytes } from \"../../../common/utils\";\nimport {\n actionsTray,\n containerForHeader,\n inlineCheckboxes,\n searchField,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { HealIcon } from \"mds\";\nimport CheckboxWrapper from \"../Common/FormComponents/CheckboxWrapper/CheckboxWrapper\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport api from \"../../../common/api\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport { SecureComponent } from \"../../../common/SecureComponent\";\nimport DistributedOnly from \"../Common/DistributedOnly/DistributedOnly\";\nimport { selDistSet } from \"../../../systemSlice\";\nimport makeStyles from \"@mui/styles/makeStyles\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n graphContainer: {\n backgroundColor: \"#fff\",\n border: \"#EAEDEE 1px solid\",\n borderRadius: 3,\n padding: \"19px 38px\",\n marginTop: 15,\n },\n scanInfo: {\n marginTop: 20,\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n },\n scanData: {\n fontSize: 13,\n },\n formBox: {\n padding: 15,\n border: \"1px solid #EAEAEA\",\n },\n buttonBar: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n bucketField: {\n flex: 1,\n },\n prefixField: {\n ...searchField.searchField,\n marginLeft: 10,\n flex: 1,\n },\n actionsTray: {\n ...actionsTray.actionsTray,\n marginBottom: 0,\n },\n ...inlineCheckboxes,\n ...searchField,\n ...containerForHeader(theme.spacing(4)),\n })\n);\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n lineHeight: \"50px\",\n marginRight: 15,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n \"& .MuiSelect-select:focus\": {\n backgroundColor: \"transparent\",\n },\n },\n })\n)(InputBase);\n\nconst Heal = () => {\n const classes = useStyles();\n const distributedSetup = useSelector(selDistSet);\n\n const [start, setStart] = useState(false);\n const [bucketName, setBucketName] = useState(\"\");\n const [bucketList, setBucketList] = useState([]);\n const [prefix, setPrefix] = useState(\"\");\n const [recursive, setRecursive] = useState(false);\n const [forceStart, setForceStart] = useState(false);\n const [forceStop, setForceStop] = useState(false);\n // healStatus states\n const [hStatus, setHStatus] = useState({\n beforeHeal: [0, 0, 0, 0],\n afterHeal: [0, 0, 0, 0],\n objectsHealed: 0,\n objectsScanned: 0,\n healDuration: 0,\n sizeScanned: \"\",\n });\n\n const fetchBucketList = () => {\n api\n .invoke(\"GET\", `/api/v1/buckets`)\n .then((res: BucketList) => {\n let buckets: Bucket[] = [];\n if (res.buckets !== null) {\n buckets = res.buckets;\n }\n setBucketList(buckets);\n })\n .catch((err: ErrorResponseHandler) => {\n console.error(err);\n });\n };\n\n useEffect(() => {\n fetchBucketList();\n }, []);\n\n // forceStart and forceStop need to be mutually exclusive\n useEffect(() => {\n if (forceStart === true) {\n setForceStop(false);\n }\n }, [forceStart]);\n\n useEffect(() => {\n if (forceStop === true) {\n setForceStart(false);\n }\n }, [forceStop]);\n\n const colorHealthArr = (color: colorH) => {\n return [color.Green, color.Yellow, color.Red, color.Grey];\n };\n\n useEffect(() => {\n // begin watch if bucketName in bucketList and start pressed\n if (start) {\n // values stored here to update chart\n const cB: colorH = { Green: 0, Yellow: 0, Red: 0, Grey: 0 };\n const cA: colorH = { Green: 0, Yellow: 0, Red: 0, Grey: 0 };\n\n const url = new URL(window.location.toString());\n const isDev = process.env.NODE_ENV === \"development\";\n const port = isDev ? \"9090\" : url.port;\n\n // check if we are using base path, if not this always is `/`\n const baseLocation = new URL(document.baseURI);\n const baseUrl = baseLocation.pathname;\n\n const wsProt = wsProtocol(url.protocol);\n const c = new W3CWebSocket(\n `${wsProt}://${url.hostname}:${port}${baseUrl}ws/heal/${bucketName}?prefix=${prefix}&recursive=${recursive}&force-start=${forceStart}&force-stop=${forceStop}`\n );\n\n if (c !== null) {\n c.onopen = () => {\n console.log(\"WebSocket Client Connected\");\n c.send(\"ok\");\n };\n c.onmessage = (message: IMessageEvent) => {\n let m: HealStatus = JSON.parse(message.data.toString());\n // Store percentage per health color\n for (const [key, value] of Object.entries(m.healthAfterCols)) {\n cA[key] = (value * 100) / m.itemsScanned;\n }\n for (const [key, value] of Object.entries(m.healthBeforeCols)) {\n cB[key] = (value * 100) / m.itemsScanned;\n }\n setHStatus({\n beforeHeal: colorHealthArr(cB),\n afterHeal: colorHealthArr(cA),\n objectsHealed: m.objectsHealed,\n objectsScanned: m.objectsScanned,\n healDuration: m.healDuration,\n sizeScanned: niceBytes(m.bytesScanned.toString()),\n });\n };\n c.onclose = () => {\n setStart(false);\n console.log(\"connection closed by server\");\n };\n return () => {\n // close websocket on useEffect cleanup\n c.close(1000);\n console.log(\"closing websockets\");\n };\n }\n }\n }, [start, bucketName, forceStart, forceStop, prefix, recursive]);\n\n let data = {\n labels: [\"Green\", \"Yellow\", \"Red\", \"Grey\"],\n datasets: [\n {\n label: \"After Healing\",\n data: hStatus.afterHeal,\n backgroundColor: \"rgba(0, 0, 255, 0.2)\",\n borderColor: \"rgba(54, 162, 235, 1)\",\n borderWidth: 1,\n },\n {\n label: \"Before Healing\",\n data: hStatus.beforeHeal,\n backgroundColor: \"rgba(153, 102, 255, 0.2)\",\n borderColor: \"rgba(153, 102, 255, 1)\",\n borderWidth: 1,\n },\n ],\n };\n const bucketNames = bucketList.map((bucketName) => ({\n label: bucketName.name,\n value: bucketName.name,\n }));\n\n return (\n \n \n \n {!distributedSetup ? (\n } />\n ) : (\n \n \n \n \n {\n setBucketName(e.target.value as string);\n }}\n className={classes.searchField}\n input={}\n displayEmpty\n >\n \n Select Bucket\n \n {bucketNames.map((option) => (\n \n {option.label}\n \n ))}\n \n \n {\n setPrefix(e.target.value);\n }}\n variant=\"standard\"\n />\n \n \n {\n setRecursive(e.target.checked);\n }}\n disabled={false}\n label=\"Recursive\"\n />\n {\n setForceStart(e.target.checked);\n }}\n disabled={false}\n label=\"Force Start\"\n />\n {\n setForceStop(e.target.checked);\n }}\n disabled={false}\n label=\"Force Stop\"\n />\n \n \n setStart(true)}\n label={\"Start\"}\n />\n \n \n \n \n \n
\n Size scanned: {hStatus.sizeScanned}\n
\n
\n Objects healed: {hStatus.objectsHealed} /{\" \"}\n {hStatus.objectsScanned}\n
\n
\n Healing time: {hStatus.healDuration}s\n
\n
\n
\n \n )}\n
\n
\n );\n};\n\nexport default Heal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// Close codes for websockets defined in RFC 6455\nexport const WSCloseNormalClosure = 1000;\nexport const WSCloseCloseGoingAway = 1001;\nexport const WSCloseAbnormalClosure = 1006;\nexport const WSClosePolicyViolation = 1008;\nexport const WSCloseInternalServerErr = 1011;\n\nexport const wsProtocol = (protocol: string): string => {\n let wsProtocol = \"ws\";\n if (protocol === \"https:\") {\n wsProtocol = \"wss\";\n }\n return wsProtocol;\n};\n"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","entity","sx","flexFlow","md","color","colors","link","textDecoration","href","target","rel","fieldBasic","tooltipHelper","checkboxIcons","fieldContainer","justifyContent","margin","flexBasis","flexWrap","noTopMargin","marginTop","label","onChange","value","id","name","checked","disabled","tooltip","overrideLabelClasses","overrideCheckboxStyles","inputProps","checkedIcon","icon","unCheckedIcon","disableRipple","disableFocusRipple","focusRipple","centerRipple","disableTouchRipple","style","htmlFor","noMinWidthLabel","tooltipContainer","placement","useStyles","makeStyles","graphContainer","padding","scanInfo","flexDirection","scanData","formBox","buttonBar","bucketField","flex","prefixField","searchField","marginLeft","actionsTray","inlineCheckboxes","containerForHeader","spacing","SelectStyled","lineHeight","InputBase","distributedSetup","useSelector","selDistSet","useState","start","setStart","bucketName","setBucketName","bucketList","setBucketList","prefix","setPrefix","recursive","setRecursive","forceStart","setForceStart","forceStop","setForceStop","beforeHeal","afterHeal","objectsHealed","objectsScanned","healDuration","sizeScanned","hStatus","setHStatus","useEffect","api","then","res","buckets","catch","err","console","error","colorHealthArr","Green","Yellow","Red","Grey","cB","cA","url","URL","window","location","toString","port","baseUrl","document","baseURI","pathname","wsProt","wsProtocol","protocol","c","W3CWebSocket","hostname","onopen","log","send","onmessage","message","m","JSON","parse","data","Object","entries","healthAfterCols","key","itemsScanned","healthBeforeCols","niceBytes","bytesScanned","onclose","close","labels","datasets","borderColor","borderWidth","bucketNames","map","Fragment","scopes","IAM_SCOPES","resource","CONSOLE_UI_RESOURCE","variant","e","input","displayEmpty","option","InputProps","disableUnderline","type","onClick","options","text","legend","position","WSCloseAbnormalClosure","WSClosePolicyViolation","WSCloseInternalServerErr"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2032.4598ddc6.chunk.js b/portal-ui/build/static/js/2032.4598ddc6.chunk.js new file mode 100644 index 000000000..e6f5db7e7 --- /dev/null +++ b/portal-ui/build/static/js/2032.4598ddc6.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2032],{16502:function(e,n,t){t(72791);var a=t(11135),i=t(25787),r=t(80184);n.Z=(0,i.Z)((function(e){return(0,a.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,a=e.title;return(0,r.jsxs)("div",{className:n.headerContainer,children:[(0,r.jsx)("h4",{className:n.labelHeadline,children:a}),(0,r.jsx)("div",{className:n.labelText,children:t})]})}))},62032:function(e,n,t){t.r(n);var a=t(29439),i=t(72791),r=t(51691),o=t(61889),l=t(9505),s=t(23508),c=t(87995),d=t(25469),u=t(16502),f=t(21435),h=t(75952),m=t(80184);n.default=function(e){var n=e.closeDeleteModalAndRefresh,t=e.deleteOpen,p=e.selectedItem,b=e.endpoint,x=e.element,g=(0,d.TL)(),Z=(0,l.Z)((function(){return n(!0)}),(function(e){return g((0,c.Ih)(e))})),j=(0,a.Z)(Z,2),v=j[0],y=j[1],C=(0,i.useState)(""),k=(0,a.Z)(C,2),T=k[0],N=k[1];if(!p)return null;return(0,m.jsx)(s.Z,{title:"Delete ".concat(x),confirmText:"Delete",isOpen:t,titleIcon:(0,m.jsx)(h.NvT,{}),isLoading:v,onConfirm:function(){y("DELETE","".concat(b).concat(p))},onClose:function(){return n(!1)},confirmButtonProps:{disabled:T!==p||v},confirmationContent:(0,m.jsxs)(r.Z,{children:[(0,m.jsx)(o.ZP,{item:!0,xs:12,children:(0,m.jsx)(u.Z,{title:"WARNING",label:"Please note that this is a dangerous operation. Once a key has been deleted all data that has been encrypted with it cannot be decrypted anymore, and therefore, is lost."})}),"To continue please type ",(0,m.jsx)("b",{children:p})," in the box.",(0,m.jsx)(o.ZP,{item:!0,xs:12,children:(0,m.jsx)(f.Z,{id:"retype-key",name:"retype-key",onChange:function(e){N(e.target.value)},onPaste:function(e){return e.preventDefault()},label:"",value:T})})]})})}}}]); +//# sourceMappingURL=2032.4598ddc6.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2032.4598ddc6.chunk.js.map b/portal-ui/build/static/js/2032.4598ddc6.chunk.js.map new file mode 100644 index 000000000..46f19a21c --- /dev/null +++ b/portal-ui/build/static/js/2032.4598ddc6.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2032.4598ddc6.chunk.js","mappings":"2JA0DA,KAAeA,EAAAA,EAAAA,IA/BA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,GAAa,CACXC,gBAAiB,CACfC,gBAAiB,UACjBC,aAAc,EACdC,aAAc,GACdC,QAAS,EACTC,cAAe,IAEjBC,cAAe,CACbC,MAAO,UACPC,SAAU,GACVC,WAAY,IAEdC,UAAW,CACTH,MAAO,UACPC,SAAU,GACVC,WAAY,GACZE,YAAa,KAEd,GAWL,EATuB,SAAH,GAAoD,IAA9CC,EAAO,EAAPA,QAASC,EAAK,EAALA,MAAOC,EAAK,EAALA,MACxC,OACE,iBAAKC,UAAWH,EAAQZ,gBAAgB,WACtC,eAAIe,UAAWH,EAAQN,cAAc,SAAEQ,KACvC,gBAAKC,UAAWH,EAAQF,UAAU,SAAEG,MAG1C,G,sKC6CA,UAjEuB,SAAH,GAMS,IAL3BG,EAA0B,EAA1BA,2BACAC,EAAU,EAAVA,WACAC,EAAY,EAAZA,aACAC,EAAQ,EAARA,SACAC,EAAO,EAAPA,QAEMC,GAAWC,EAAAA,EAAAA,MAMjB,GAAyCC,EAAAA,EAAAA,IALpB,WAAH,OAASP,GAA2B,EAAM,IACzC,SAACQ,GAAyB,OAC3CH,GAASI,EAAAA,EAAAA,IAAqBD,GAAM,IAGmC,eAAlEE,EAAa,KAAEC,EAAe,KACrC,GAAkCC,EAAAA,EAAAA,UAAS,IAAG,eAAvCC,EAAS,KAAEC,EAAY,KAE9B,IAAKZ,EACH,OAAO,KAOT,OACE,SAAC,IAAa,CACZJ,MAAK,iBAAYM,GACjBW,YAAa,SACbC,OAAQf,EACRgB,WAAW,SAAC,MAAiB,IAC7BC,UAAWR,EACXS,UAXoB,WACtBR,EAAgB,SAAS,GAAD,OAAKR,GAAQ,OAAGD,GAC1C,EAUIkB,QArBY,WAAH,OAASpB,GAA2B,EAAO,EAsBpDqB,mBAAoB,CAClBC,SAAUT,IAAcX,GAAgBQ,GAE1Ca,qBACE,UAAC,IAAiB,YAChB,SAAC,KAAI,CAACC,MAAI,EAACC,GAAI,GAAG,UAChB,SAAC,IAAc,CACb3B,MAAO,UACPD,MACE,gLAGC,4BACiB,uBAAIK,IAAiB,gBAC7C,SAAC,KAAI,CAACsB,MAAI,EAACC,GAAI,GAAG,UAChB,SAAC,IAAe,CACdC,GAAG,aACHC,KAAK,aACLC,SAAU,SAACC,GACTf,EAAae,EAAMC,OAAOC,MAC5B,EACAC,QAAS,SAACC,GAAC,OAAKA,EAAEC,gBAAgB,EAClCrC,MAAM,GACNkC,MAAOlB,UAOrB,C","sources":["screens/Console/Common/WarningMessage/WarningMessage.tsx","screens/Console/KMS/DeleteKMSModal.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React 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"],"names":["withStyles","theme","createStyles","headerContainer","backgroundColor","borderRadius","marginBottom","padding","paddingBottom","labelHeadline","color","fontSize","marginLeft","labelText","marginRight","classes","label","title","className","closeDeleteModalAndRefresh","deleteOpen","selectedItem","endpoint","element","dispatch","useAppDispatch","useApi","err","setErrorSnackMessage","deleteLoading","invokeDeleteApi","useState","retypeKey","setRetypeKey","confirmText","isOpen","titleIcon","isLoading","onConfirm","onClose","confirmButtonProps","disabled","confirmationContent","item","xs","id","name","onChange","event","target","value","onPaste","e","preventDefault"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2112.c85537ec.chunk.js b/portal-ui/build/static/js/2112.1820b142.chunk.js similarity index 90% rename from portal-ui/build/static/js/2112.c85537ec.chunk.js rename to portal-ui/build/static/js/2112.1820b142.chunk.js index 982f48fc2..fb6435eba 100644 --- a/portal-ui/build/static/js/2112.c85537ec.chunk.js +++ b/portal-ui/build/static/js/2112.1820b142.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2112],{32112:function(e,n,t){t.r(n);var a=t(29439),o=t(72791),r=t(51691),i=t(21435),c=t(61889),s=t(9505),l=t(23508),u=t(56096),p=t(87995),f=t(25469),d=t(80184);n.default=function(e){var n=e.deleteOpen,t=e.selectedPVC,m=e.closeDeleteModalAndRefresh,h=(0,f.TL)(),C=(0,o.useState)(""),x=(0,a.Z)(C,2),v=x[0],P=x[1],Z=(0,s.Z)((function(){return m(!0)}),(function(e){return h((0,p.Ih)(e))})),b=(0,a.Z)(Z,2),j=b[0],T=b[1];return(0,d.jsx)(l.Z,{title:"Delete PVC",confirmText:"Delete",isOpen:n,titleIcon:(0,d.jsx)(u.NvT,{}),isLoading:j,onConfirm:function(){v===t.name?T("DELETE","/api/v1/namespaces/".concat(t.namespace,"/tenants/").concat(t.tenant,"/pvc/").concat(t.name)):h((0,p.Ih)({errorMessage:"PVC name is incorrect",detailedError:""}))},onClose:function(){return m(!1)},confirmButtonProps:{disabled:v!==t.name||j},confirmationContent:(0,d.jsxs)(r.Z,{children:["To continue please type ",(0,d.jsx)("b",{children:t.name})," in the box.",(0,d.jsx)(c.ZP,{item:!0,xs:12,children:(0,d.jsx)(i.Z,{id:"retype-PVC",name:"retype-PVC",onChange:function(e){P(e.target.value)},label:"",value:v})})]})})}}}]); -//# sourceMappingURL=2112.c85537ec.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2112],{32112:function(e,n,t){t.r(n);var a=t(29439),o=t(72791),r=t(51691),i=t(21435),c=t(61889),s=t(9505),l=t(23508),u=t(75952),p=t(87995),f=t(25469),d=t(80184);n.default=function(e){var n=e.deleteOpen,t=e.selectedPVC,m=e.closeDeleteModalAndRefresh,h=(0,f.TL)(),C=(0,o.useState)(""),x=(0,a.Z)(C,2),v=x[0],P=x[1],Z=(0,s.Z)((function(){return m(!0)}),(function(e){return h((0,p.Ih)(e))})),b=(0,a.Z)(Z,2),j=b[0],T=b[1];return(0,d.jsx)(l.Z,{title:"Delete PVC",confirmText:"Delete",isOpen:n,titleIcon:(0,d.jsx)(u.NvT,{}),isLoading:j,onConfirm:function(){v===t.name?T("DELETE","/api/v1/namespaces/".concat(t.namespace,"/tenants/").concat(t.tenant,"/pvc/").concat(t.name)):h((0,p.Ih)({errorMessage:"PVC name is incorrect",detailedError:""}))},onClose:function(){return m(!1)},confirmButtonProps:{disabled:v!==t.name||j},confirmationContent:(0,d.jsxs)(r.Z,{children:["To continue please type ",(0,d.jsx)("b",{children:t.name})," in the box.",(0,d.jsx)(c.ZP,{item:!0,xs:12,children:(0,d.jsx)(i.Z,{id:"retype-PVC",name:"retype-PVC",onChange:function(e){P(e.target.value)},label:"",value:v})})]})})}}}]); +//# sourceMappingURL=2112.1820b142.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2112.1820b142.chunk.js.map b/portal-ui/build/static/js/2112.1820b142.chunk.js.map new file mode 100644 index 000000000..33ca0d865 --- /dev/null +++ b/portal-ui/build/static/js/2112.1820b142.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2112.1820b142.chunk.js","mappings":"gPAkGA,UA/DkB,SAAH,GAII,IAHjBA,EAAU,EAAVA,WACAC,EAAW,EAAXA,YACAC,EAA0B,EAA1BA,2BAEMC,GAAWC,EAAAA,EAAAA,MACjB,GAAkCC,EAAAA,EAAAA,UAAS,IAAG,eAAvCC,EAAS,KAAEC,EAAY,KAO9B,GAAyCC,EAAAA,EAAAA,IALpB,WAAH,OAASN,GAA2B,EAAM,IACzC,SAACO,GAAyB,OAC3CN,GAASO,EAAAA,EAAAA,IAAqBD,GAAM,IAGmC,eAAlEE,EAAa,KAAEC,EAAe,KAkBrC,OACE,SAAC,IAAa,CACZC,MAAK,aACLC,YAAa,SACbC,OAAQf,EACRgB,WAAW,SAAC,MAAiB,IAC7BC,UAAWN,EACXO,UAvBoB,WAClBZ,IAAcL,EAAYkB,KAS9BP,EACE,SAAS,sBAAD,OACcX,EAAYmB,UAAS,oBAAYnB,EAAYoB,OAAM,gBAAQpB,EAAYkB,OAV7FhB,GACEO,EAAAA,EAAAA,IAAqB,CACnBY,aAAc,wBACdC,cAAe,KASvB,EAUIC,QA5BY,WAAH,OAAStB,GAA2B,EAAO,EA6BpDuB,mBAAoB,CAClBC,SAAUpB,IAAcL,EAAYkB,MAAQR,GAE9CgB,qBACE,UAAC,IAAiB,WAAC,4BACO,uBAAI1B,EAAYkB,OAAS,gBACjD,SAAC,KAAI,CAACS,MAAI,EAACC,GAAI,GAAG,UAChB,SAAC,IAAe,CACdC,GAAG,aACHX,KAAK,aACLY,SAAU,SAACC,GACTzB,EAAayB,EAAMC,OAAOC,MAC5B,EACAC,MAAM,GACND,MAAO5B,UAOrB,C","sources":["screens/Console/Tenants/TenantDetails/DeletePVC.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { DialogContentText } from \"@mui/material\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Grid from \"@mui/material/Grid\";\n\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"mds\";\nimport { IStoragePVCs } from \"../../Storage/types\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IDeletePVC {\n deleteOpen: boolean;\n selectedPVC: IStoragePVCs;\n closeDeleteModalAndRefresh: (refreshList: boolean) => any;\n}\n\nconst DeletePVC = ({\n deleteOpen,\n selectedPVC,\n closeDeleteModalAndRefresh,\n}: IDeletePVC) => {\n const dispatch = useAppDispatch();\n const [retypePVC, setRetypePVC] = useState(\"\");\n\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) =>\n dispatch(setErrorSnackMessage(err));\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n const onConfirmDelete = () => {\n if (retypePVC !== selectedPVC.name) {\n dispatch(\n setErrorSnackMessage({\n errorMessage: \"PVC name is incorrect\",\n detailedError: \"\",\n })\n );\n return;\n }\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/namespaces/${selectedPVC.namespace}/tenants/${selectedPVC.tenant}/pvc/${selectedPVC.name}`\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmButtonProps={{\n disabled: retypePVC !== selectedPVC.name || deleteLoading,\n }}\n confirmationContent={\n \n To continue please type {selectedPVC.name} in the box.\n \n ) => {\n setRetypePVC(event.target.value);\n }}\n label=\"\"\n value={retypePVC}\n />\n \n \n }\n />\n );\n};\n\nexport default DeletePVC;\n"],"names":["deleteOpen","selectedPVC","closeDeleteModalAndRefresh","dispatch","useAppDispatch","useState","retypePVC","setRetypePVC","useApi","err","setErrorSnackMessage","deleteLoading","invokeDeleteApi","title","confirmText","isOpen","titleIcon","isLoading","onConfirm","name","namespace","tenant","errorMessage","detailedError","onClose","confirmButtonProps","disabled","confirmationContent","item","xs","id","onChange","event","target","value","label"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2112.c85537ec.chunk.js.map b/portal-ui/build/static/js/2112.c85537ec.chunk.js.map deleted file mode 100644 index db229c53f..000000000 --- a/portal-ui/build/static/js/2112.c85537ec.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/2112.c85537ec.chunk.js","mappings":"gPAkGA,UA/DkB,SAAH,GAII,IAHjBA,EAAU,EAAVA,WACAC,EAAW,EAAXA,YACAC,EAA0B,EAA1BA,2BAEMC,GAAWC,EAAAA,EAAAA,MACjB,GAAkCC,EAAAA,EAAAA,UAAS,IAAG,eAAvCC,EAAS,KAAEC,EAAY,KAO9B,GAAyCC,EAAAA,EAAAA,IALpB,WAAH,OAASN,GAA2B,EAAM,IACzC,SAACO,GAAyB,OAC3CN,GAASO,EAAAA,EAAAA,IAAqBD,GAAM,IAGmC,eAAlEE,EAAa,KAAEC,EAAe,KAkBrC,OACE,SAAC,IAAa,CACZC,MAAK,aACLC,YAAa,SACbC,OAAQf,EACRgB,WAAW,SAAC,MAAiB,IAC7BC,UAAWN,EACXO,UAvBoB,WAClBZ,IAAcL,EAAYkB,KAS9BP,EACE,SAAS,sBAAD,OACcX,EAAYmB,UAAS,oBAAYnB,EAAYoB,OAAM,gBAAQpB,EAAYkB,OAV7FhB,GACEO,EAAAA,EAAAA,IAAqB,CACnBY,aAAc,wBACdC,cAAe,KASvB,EAUIC,QA5BY,WAAH,OAAStB,GAA2B,EAAO,EA6BpDuB,mBAAoB,CAClBC,SAAUpB,IAAcL,EAAYkB,MAAQR,GAE9CgB,qBACE,UAAC,IAAiB,WAAC,4BACO,uBAAI1B,EAAYkB,OAAS,gBACjD,SAAC,KAAI,CAACS,MAAI,EAACC,GAAI,GAAG,UAChB,SAAC,IAAe,CACdC,GAAG,aACHX,KAAK,aACLY,SAAU,SAACC,GACTzB,EAAayB,EAAMC,OAAOC,MAC5B,EACAC,MAAM,GACND,MAAO5B,UAOrB,C","sources":["screens/Console/Tenants/TenantDetails/DeletePVC.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { DialogContentText } from \"@mui/material\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Grid from \"@mui/material/Grid\";\n\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\nimport { IStoragePVCs } from \"../../Storage/types\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IDeletePVC {\n deleteOpen: boolean;\n selectedPVC: IStoragePVCs;\n closeDeleteModalAndRefresh: (refreshList: boolean) => any;\n}\n\nconst DeletePVC = ({\n deleteOpen,\n selectedPVC,\n closeDeleteModalAndRefresh,\n}: IDeletePVC) => {\n const dispatch = useAppDispatch();\n const [retypePVC, setRetypePVC] = useState(\"\");\n\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) =>\n dispatch(setErrorSnackMessage(err));\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n const onConfirmDelete = () => {\n if (retypePVC !== selectedPVC.name) {\n dispatch(\n setErrorSnackMessage({\n errorMessage: \"PVC name is incorrect\",\n detailedError: \"\",\n })\n );\n return;\n }\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/namespaces/${selectedPVC.namespace}/tenants/${selectedPVC.tenant}/pvc/${selectedPVC.name}`\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmButtonProps={{\n disabled: retypePVC !== selectedPVC.name || deleteLoading,\n }}\n confirmationContent={\n \n To continue please type {selectedPVC.name} in the box.\n \n ) => {\n setRetypePVC(event.target.value);\n }}\n label=\"\"\n value={retypePVC}\n />\n \n \n }\n />\n );\n};\n\nexport default DeletePVC;\n"],"names":["deleteOpen","selectedPVC","closeDeleteModalAndRefresh","dispatch","useAppDispatch","useState","retypePVC","setRetypePVC","useApi","err","setErrorSnackMessage","deleteLoading","invokeDeleteApi","title","confirmText","isOpen","titleIcon","isLoading","onConfirm","name","namespace","tenant","errorMessage","detailedError","onClose","confirmButtonProps","disabled","confirmationContent","item","xs","id","onChange","event","target","value","label"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2180.26a5c38b.chunk.js b/portal-ui/build/static/js/2180.26a5c38b.chunk.js deleted file mode 100644 index 724e063bd..000000000 --- a/portal-ui/build/static/js/2180.26a5c38b.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2180],{47494:function(e,t,n){"use strict";n.r(t);var o=n(29439),c=n(1413),r=n(72791),i=n(78687),a=n(57689),s=n(75952),l=n(35527),u=n(11135),d=n(92983),f=n(81207),p=n(47919),m=n(61889),v=n(23814),h=n(56087),Z=n(60680),x=n(38442),b=n(75578),k=n(87995),C=n(72455),S=n(9859),_=n(25469),j=n(27454),z=n(80184),g=(0,b.Z)(r.lazy((function(){return n.e(4619).then(n.bind(n,94619))}))),E=(0,b.Z)(r.lazy((function(){return n.e(8990).then(n.bind(n,8990))}))),F=(0,b.Z)(r.lazy((function(){return n.e(8455).then(n.bind(n,58455))}))),P=(0,C.Z)((function(e){return(0,u.Z)((0,c.Z)((0,c.Z)((0,c.Z)((0,c.Z)((0,c.Z)({"@global":{".rowLine:hover .iconFileElm":{backgroundImage:"url(/images/ob_file_filled.svg)"},".rowLine:hover .iconFolderElm":{backgroundImage:"url(/images/ob_folder_filled.svg)"}}},v.VX),v.OR),v.qg),v.cx),(0,v.Bz)(e.spacing(4))))}));t.default=function(){var e=(0,_.TL)(),t=P(),n=(0,a.UO)(),c=(0,i.v9)(S.HQ),u=(0,r.useState)(!0),v=(0,o.Z)(u,2),b=v[0],C=v[1],y=(0,r.useState)([]),T=(0,o.Z)(y,2),I=T[0],O=T[1],A=(0,r.useState)(!1),B=(0,o.Z)(A,2),w=B[0],L=B[1],U=(0,r.useState)(!1),N=(0,o.Z)(U,2),H=N[0],R=N[1],V=(0,r.useState)(""),K=(0,o.Z)(V,2),M=K[0],Y=K[1],D=(0,r.useState)(!1),G=(0,o.Z)(D,2),q=G[0],Q=G[1],X=(0,r.useState)(""),J=(0,o.Z)(X,2),W=J[0],$=J[1],ee=(0,r.useState)(""),te=(0,o.Z)(ee,2),ne=te[0],oe=te[1],ce=n.bucketName||"",re=(0,x.F)(ce,[h.Ft.S3_GET_BUCKET_POLICY]),ie=(0,x.F)(ce,[h.Ft.S3_DELETE_BUCKET_POLICY]),ae=(0,x.F)(ce,[h.Ft.S3_PUT_BUCKET_POLICY,h.Ft.S3_PUT_ACTIONS]);(0,r.useEffect)((function(){c&&C(!0)}),[c,C]);var se=[{type:"delete",disableButtonFunction:function(){return!ie},onClick:function(e){R(!0),Y(e.prefix)}},{type:"view",disableButtonFunction:function(){return!ae},onClick:function(e){$(e.prefix),oe(e.access),Q(!0)}}];(0,r.useEffect)((function(){b&&(re?f.Z.invoke("GET","/api/v1/bucket/".concat(ce,"/access-rules")).then((function(e){O(e.accessRules),C(!1)})).catch((function(t){e((0,k.Ih)(t)),C(!1)})):C(!1))}),[b,e,re,ce]);return(0,z.jsxs)(r.Fragment,{children:[w&&(0,z.jsx)(g,{modalOpen:w,onClose:function(){L(!1),C(!0)},bucket:ce}),H&&(0,z.jsx)(E,{modalOpen:H,onClose:function(){R(!1),C(!0)},bucket:ce,toDelete:M}),q&&(0,z.jsx)(F,{modalOpen:q,onClose:function(){Q(!1),C(!0)},bucket:ce,toEdit:W,initial:ne}),(0,z.jsxs)(m.ZP,{item:!0,xs:12,className:t.actionsTray,children:[(0,z.jsx)(Z.Z,{children:"Anonymous Access"}),(0,z.jsx)(x.s,{scopes:[h.Ft.S3_GET_BUCKET_POLICY,h.Ft.S3_PUT_BUCKET_POLICY,h.Ft.S3_PUT_ACTIONS],resource:ce,matchAll:!0,errorProps:{disabled:!0},children:(0,z.jsx)(j.Z,{tooltip:"Add Access Rule",children:(0,z.jsx)(s.zx,{id:"add-bucket-access-rule",onClick:function(){L(!0)},label:"Add Access Rule",icon:(0,z.jsx)(p.Z,{}),variant:"callAction"})})})]}),(0,z.jsx)(l.Z,{className:t.tableBlock,children:(0,z.jsx)(x.s,{scopes:[h.Ft.S3_GET_BUCKET_POLICY],resource:ce,errorProps:{disabled:!0},children:(0,z.jsx)(d.Z,{noBackground:!0,itemActions:se,columns:[{label:"Prefix",elementKey:"prefix"},{label:"Access",elementKey:"access"}],isLoading:b,records:I,entityName:"Access Rules",idField:"prefix"})})})]})}},60680:function(e,t,n){"use strict";n(72791);var o=n(11135),c=n(25787),r=n(80184);t.Z=(0,c.Z)((function(e){return(0,o.Z)({root:{padding:0,margin:0,fontSize:".9rem"}})}))((function(e){var t=e.classes,n=e.children;return(0,r.jsx)("h1",{className:t.root,children:n})}))},26759:function(e,t,n){"use strict";var o=n(64836);t.Z=void 0;var c=o(n(45649)),r=n(80184),i=(0,c.default)((0,r.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");t.Z=i},70366:function(e,t,n){"use strict";var o=n(64836);t.Z=void 0;var c=o(n(45649)),r=n(80184),i=(0,c.default)((0,r.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");t.Z=i},97911:function(e,t,n){"use strict";var o=n(64836);t.Z=void 0;var c=o(n(45649)),r=n(80184),i=(0,c.default)((0,r.jsx)("path",{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}),"ViewColumn");t.Z=i},94454:function(e,t,n){"use strict";n.d(t,{Z:function(){return F}});var o=n(4942),c=n(63366),r=n(87462),i=n(72791),a=n(28182),s=n(94419),l=n(12065),u=n(97278),d=n(76189),f=n(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"),h=n(14036),Z=n(31402),x=n(66934),b=n(75878),k=n(21217);function C(e){return(0,k.Z)("MuiCheckbox",e)}var S=(0,b.Z)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary"]),_=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size","className"],j=(0,x.ZP)(u.Z,{shouldForwardProp:function(e){return(0,x.FO)(e)||"classes"===e},name:"MuiCheckbox",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.indeterminate&&t.indeterminate,"default"!==n.color&&t["color".concat((0,h.Z)(n.color))]]}})((function(e){var t,n=e.theme,c=e.ownerState;return(0,r.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,l.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&&(t={},(0,o.Z)(t,"&.".concat(S.checked,", &.").concat(S.indeterminate),{color:(n.vars||n).palette[c.color].main}),(0,o.Z)(t,"&.".concat(S.disabled),{color:(n.vars||n).palette.action.disabled}),t))})),z=(0,f.jsx)(m,{}),g=(0,f.jsx)(p,{}),E=(0,f.jsx)(v,{}),F=i.forwardRef((function(e,t){var n,o,l=(0,Z.Z)({props:e,name:"MuiCheckbox"}),u=l.checkedIcon,d=void 0===u?z:u,p=l.color,m=void 0===p?"primary":p,v=l.icon,x=void 0===v?g:v,b=l.indeterminate,k=void 0!==b&&b,S=l.indeterminateIcon,F=void 0===S?E:S,P=l.inputProps,y=l.size,T=void 0===y?"medium":y,I=l.className,O=(0,c.Z)(l,_),A=k?F:x,B=k?F:d,w=(0,r.Z)({},l,{color:m,indeterminate:k,size:T}),L=function(e){var t=e.classes,n=e.indeterminate,o=e.color,c={root:["root",n&&"indeterminate","color".concat((0,h.Z)(o))]},i=(0,s.Z)(c,C,t);return(0,r.Z)({},t,i)}(w);return(0,f.jsx)(j,(0,r.Z)({type:"checkbox",inputProps:(0,r.Z)({"data-indeterminate":k},P),icon:i.cloneElement(A,{fontSize:null!=(n=A.props.fontSize)?n:T}),checkedIcon:i.cloneElement(B,{fontSize:null!=(o=B.props.fontSize)?o:T}),ownerState:w,ref:t,className:(0,a.Z)(L.root,I)},O,{classes:L}))}))},26769:function(e,t,n){var o=n(39066),c=n(93629),r=n(43141);e.exports=function(e){return"string"==typeof e||!c(e)&&r(e)&&"[object String]"==o(e)}}}]); -//# sourceMappingURL=2180.26a5c38b.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2180.26a5c38b.chunk.js.map b/portal-ui/build/static/js/2180.26a5c38b.chunk.js.map deleted file mode 100644 index 10021880e..000000000 --- a/portal-ui/build/static/js/2180.26a5c38b.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/2180.26a5c38b.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/AccessRulePanel.tsx","screens/Console/Common/PanelTitle/PanelTitle.tsx","../node_modules/@mui/icons-material/ArrowDropDown.js","../node_modules/@mui/icons-material/ArrowDropUp.js","../node_modules/@mui/icons-material/ViewColumn.js","../node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@mui/material/Checkbox/checkboxClasses.js","../node_modules/@mui/material/Checkbox/Checkbox.js","../node_modules/lodash/isString.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useParams } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport { Paper } from \"@mui/material\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport api from \"../../../../common/api\";\n\nimport AddIcon from \"../../../../icons/AddIcon\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n actionsTray,\n containerForHeader,\n objectBrowserCommon,\n searchField,\n tableStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\nimport PanelTitle from \"../../Common/PanelTitle/PanelTitle\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../common/SecureComponent\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { selBucketDetailsLoading } from \"./bucketDetailsSlice\";\nimport { useAppDispatch } from \"../../../../store\";\nimport TooltipWrapper from \"../../Common/TooltipWrapper/TooltipWrapper\";\n\nconst AddAccessRuleModal = withSuspense(\n React.lazy(() => import(\"./AddAccessRule\"))\n);\nconst DeleteAccessRuleModal = withSuspense(\n React.lazy(() => import(\"./DeleteAccessRule\"))\n);\nconst EditAccessRuleModal = withSuspense(\n React.lazy(() => import(\"./EditAccessRule\"))\n);\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\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 ...tableStyles,\n ...actionsTray,\n ...searchField,\n ...objectBrowserCommon,\n ...containerForHeader(theme.spacing(4)),\n })\n);\n\nconst AccessRule = () => {\n const dispatch = useAppDispatch();\n const classes = useStyles();\n const params = useParams();\n\n const loadingBucket = useSelector(selBucketDetailsLoading);\n\n const [loadingAccessRules, setLoadingAccessRules] = useState(true);\n const [accessRules, setAccessRules] = useState([]);\n const [addAccessRuleOpen, setAddAccessRuleOpen] = useState(false);\n const [deleteAccessRuleOpen, setDeleteAccessRuleOpen] =\n useState(false);\n const [accessRuleToDelete, setAccessRuleToDelete] = useState(\"\");\n const [editAccessRuleOpen, setEditAccessRuleOpen] = useState(false);\n const [accessRuleToEdit, setAccessRuleToEdit] = useState(\"\");\n const [initialAccess, setInitialAccess] = useState(\"\");\n\n const bucketName = params.bucketName || \"\";\n\n const displayAccessRules = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_POLICY,\n ]);\n\n const deleteAccessRules = hasPermission(bucketName, [\n IAM_SCOPES.S3_DELETE_BUCKET_POLICY,\n ]);\n\n const editAccessRules = hasPermission(bucketName, [\n IAM_SCOPES.S3_PUT_BUCKET_POLICY,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ]);\n\n useEffect(() => {\n if (loadingBucket) {\n setLoadingAccessRules(true);\n }\n }, [loadingBucket, setLoadingAccessRules]);\n\n const AccessRuleActions = [\n {\n type: \"delete\",\n disableButtonFunction: () => !deleteAccessRules,\n onClick: (accessRule: any) => {\n setDeleteAccessRuleOpen(true);\n setAccessRuleToDelete(accessRule.prefix);\n },\n },\n {\n type: \"view\",\n disableButtonFunction: () => !editAccessRules,\n onClick: (accessRule: any) => {\n setAccessRuleToEdit(accessRule.prefix);\n setInitialAccess(accessRule.access);\n setEditAccessRuleOpen(true);\n },\n },\n ];\n\n useEffect(() => {\n if (loadingAccessRules) {\n if (displayAccessRules) {\n api\n .invoke(\"GET\", `/api/v1/bucket/${bucketName}/access-rules`)\n .then((res: any) => {\n setAccessRules(res.accessRules);\n setLoadingAccessRules(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoadingAccessRules(false);\n });\n } else {\n setLoadingAccessRules(false);\n }\n }\n }, [loadingAccessRules, dispatch, displayAccessRules, bucketName]);\n\n const closeAddAccessRuleModal = () => {\n setAddAccessRuleOpen(false);\n setLoadingAccessRules(true);\n };\n\n const closeDeleteAccessRuleModal = () => {\n setDeleteAccessRuleOpen(false);\n setLoadingAccessRules(true);\n };\n\n const closeEditAccessRuleModal = () => {\n setEditAccessRuleOpen(false);\n setLoadingAccessRules(true);\n };\n\n return (\n \n {addAccessRuleOpen && (\n \n )}\n {deleteAccessRuleOpen && (\n \n )}\n {editAccessRuleOpen && (\n \n )}\n \n Anonymous Access\n \n \n {\n setAddAccessRuleOpen(true);\n }}\n label={\"Add Access Rule\"}\n icon={}\n variant={\"callAction\"}\n />\n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default AccessRule;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButtonProps } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 0,\n margin: 0,\n fontSize: \".9rem\",\n },\n });\n\ninterface IPanelTitle extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst PanelTitle = ({ classes, children }: IPanelTitle) => {\n return

{children}

;\n};\n\nexport default withStyles(styles)(PanelTitle);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\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;","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 */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\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 */\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 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":["AddAccessRuleModal","withSuspense","React","DeleteAccessRuleModal","EditAccessRuleModal","useStyles","makeStyles","theme","createStyles","backgroundImage","tableStyles","actionsTray","searchField","objectBrowserCommon","containerForHeader","spacing","dispatch","useAppDispatch","classes","params","useParams","loadingBucket","useSelector","selBucketDetailsLoading","useState","loadingAccessRules","setLoadingAccessRules","accessRules","setAccessRules","addAccessRuleOpen","setAddAccessRuleOpen","deleteAccessRuleOpen","setDeleteAccessRuleOpen","accessRuleToDelete","setAccessRuleToDelete","editAccessRuleOpen","setEditAccessRuleOpen","accessRuleToEdit","setAccessRuleToEdit","initialAccess","setInitialAccess","bucketName","displayAccessRules","hasPermission","IAM_SCOPES","deleteAccessRules","editAccessRules","useEffect","AccessRuleActions","type","disableButtonFunction","onClick","accessRule","prefix","access","api","then","res","catch","err","setErrorSnackMessage","Fragment","modalOpen","onClose","bucket","toDelete","toEdit","initial","item","xs","className","scopes","resource","matchAll","errorProps","disabled","tooltip","id","label","icon","variant","tableBlock","noBackground","itemActions","columns","elementKey","isLoading","records","entityName","idField","withStyles","root","padding","margin","fontSize","children","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","createSvgIcon","_jsx","getCheckboxUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","CheckboxRoot","styled","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","ownerState","indeterminate","color","capitalize","_extends","vars","palette","text","secondary","disableRipple","backgroundColor","action","activeChannel","primary","mainChannel","hoverOpacity","alpha","active","main","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","inProps","ref","_icon$props$fontSize","_indeterminateIcon$pr","useThemeProps","checkedIcon","iconProp","indeterminateIcon","indeterminateIconProp","inputProps","size","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","clsx","baseGetTag","isArray","isObjectLike","module","value"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2180.dc0f648b.chunk.js b/portal-ui/build/static/js/2180.dc0f648b.chunk.js new file mode 100644 index 000000000..1406b63a1 --- /dev/null +++ b/portal-ui/build/static/js/2180.dc0f648b.chunk.js @@ -0,0 +1,2 @@ +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2180],{47494:function(e,t,n){"use strict";n.r(t);var o=n(29439),c=n(1413),r=n(72791),i=n(78687),a=n(57689),s=n(75952),l=n(35527),u=n(11135),d=n(92983),f=n(81207),p=n(61889),m=n(23814),v=n(56087),h=n(60680),Z=n(38442),x=n(75578),b=n(87995),C=n(72455),k=n(9859),S=n(25469),_=n(27454),j=n(80184),T=(0,x.Z)(r.lazy((function(){return n.e(4619).then(n.bind(n,94619))}))),z=(0,x.Z)(r.lazy((function(){return n.e(8990).then(n.bind(n,8990))}))),E=(0,x.Z)(r.lazy((function(){return n.e(8455).then(n.bind(n,58455))}))),F=(0,C.Z)((function(e){return(0,u.Z)((0,c.Z)((0,c.Z)((0,c.Z)((0,c.Z)((0,c.Z)({"@global":{".rowLine:hover .iconFileElm":{backgroundImage:"url(/images/ob_file_filled.svg)"},".rowLine:hover .iconFolderElm":{backgroundImage:"url(/images/ob_folder_filled.svg)"}}},m.VX),m.OR),m.qg),m.cx),(0,m.Bz)(e.spacing(4))))}));t.default=function(){var e=(0,S.TL)(),t=F(),n=(0,a.UO)(),c=(0,i.v9)(k.HQ),u=(0,r.useState)(!0),m=(0,o.Z)(u,2),x=m[0],C=m[1],g=(0,r.useState)([]),P=(0,o.Z)(g,2),I=P[0],O=P[1],y=(0,r.useState)(!1),A=(0,o.Z)(y,2),B=A[0],w=A[1],L=(0,r.useState)(!1),N=(0,o.Z)(L,2),U=N[0],H=N[1],R=(0,r.useState)(""),V=(0,o.Z)(R,2),K=V[0],M=V[1],G=(0,r.useState)(!1),Y=(0,o.Z)(G,2),D=Y[0],q=Y[1],Q=(0,r.useState)(""),X=(0,o.Z)(Q,2),J=X[0],W=X[1],$=(0,r.useState)(""),ee=(0,o.Z)($,2),te=ee[0],ne=ee[1],oe=n.bucketName||"",ce=(0,Z.F)(oe,[v.Ft.S3_GET_BUCKET_POLICY,v.Ft.S3_GET_ACTIONS]),re=(0,Z.F)(oe,[v.Ft.S3_DELETE_BUCKET_POLICY]),ie=(0,Z.F)(oe,[v.Ft.S3_PUT_BUCKET_POLICY,v.Ft.S3_PUT_ACTIONS]);(0,r.useEffect)((function(){c&&C(!0)}),[c,C]);var ae=[{type:"delete",disableButtonFunction:function(){return!re},onClick:function(e){H(!0),M(e.prefix)}},{type:"view",disableButtonFunction:function(){return!ie},onClick:function(e){W(e.prefix),ne(e.access),q(!0)}}];(0,r.useEffect)((function(){x&&(ce?f.Z.invoke("GET","/api/v1/bucket/".concat(oe,"/access-rules")).then((function(e){O(e.accessRules),C(!1)})).catch((function(t){e((0,b.Ih)(t)),C(!1)})):C(!1))}),[x,e,ce,oe]);return(0,j.jsxs)(r.Fragment,{children:[B&&(0,j.jsx)(T,{modalOpen:B,onClose:function(){w(!1),C(!0)},bucket:oe}),U&&(0,j.jsx)(z,{modalOpen:U,onClose:function(){H(!1),C(!0)},bucket:oe,toDelete:K}),D&&(0,j.jsx)(E,{modalOpen:D,onClose:function(){q(!1),C(!0)},bucket:oe,toEdit:J,initial:te}),(0,j.jsxs)(p.ZP,{item:!0,xs:12,className:t.actionsTray,children:[(0,j.jsx)(h.Z,{children:"Anonymous Access"}),(0,j.jsx)(Z.s,{scopes:[v.Ft.S3_GET_BUCKET_POLICY,v.Ft.S3_PUT_BUCKET_POLICY,v.Ft.S3_GET_ACTIONS,v.Ft.S3_PUT_ACTIONS],resource:oe,matchAll:!0,errorProps:{disabled:!0},children:(0,j.jsx)(_.Z,{tooltip:"Add Access Rule",children:(0,j.jsx)(s.zxk,{id:"add-bucket-access-rule",onClick:function(){w(!0)},label:"Add Access Rule",icon:(0,j.jsx)(s.dtP,{}),variant:"callAction"})})})]}),(0,j.jsx)(l.Z,{className:t.tableBlock,children:(0,j.jsx)(Z.s,{scopes:[v.Ft.S3_GET_BUCKET_POLICY,v.Ft.S3_GET_ACTIONS],resource:oe,errorProps:{disabled:!0},children:(0,j.jsx)(d.Z,{noBackground:!0,itemActions:ae,columns:[{label:"Prefix",elementKey:"prefix"},{label:"Access",elementKey:"access"}],isLoading:x,records:I,entityName:"Access Rules",idField:"prefix"})})})]})}},60680:function(e,t,n){"use strict";n(72791);var o=n(11135),c=n(25787),r=n(80184);t.Z=(0,c.Z)((function(e){return(0,o.Z)({root:{padding:0,margin:0,fontSize:".9rem"}})}))((function(e){var t=e.classes,n=e.children;return(0,r.jsx)("h1",{className:t.root,children:n})}))},26759:function(e,t,n){"use strict";var o=n(64836);t.Z=void 0;var c=o(n(45649)),r=n(80184),i=(0,c.default)((0,r.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");t.Z=i},70366:function(e,t,n){"use strict";var o=n(64836);t.Z=void 0;var c=o(n(45649)),r=n(80184),i=(0,c.default)((0,r.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");t.Z=i},97911:function(e,t,n){"use strict";var o=n(64836);t.Z=void 0;var c=o(n(45649)),r=n(80184),i=(0,c.default)((0,r.jsx)("path",{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}),"ViewColumn");t.Z=i},94454:function(e,t,n){"use strict";n.d(t,{Z:function(){return F}});var o=n(4942),c=n(63366),r=n(87462),i=n(72791),a=n(28182),s=n(94419),l=n(12065),u=n(97278),d=n(76189),f=n(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"),h=n(14036),Z=n(31402),x=n(66934),b=n(75878),C=n(21217);function k(e){return(0,C.Z)("MuiCheckbox",e)}var S=(0,b.Z)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary"]),_=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size","className"],j=(0,x.ZP)(u.Z,{shouldForwardProp:function(e){return(0,x.FO)(e)||"classes"===e},name:"MuiCheckbox",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.indeterminate&&t.indeterminate,"default"!==n.color&&t["color".concat((0,h.Z)(n.color))]]}})((function(e){var t,n=e.theme,c=e.ownerState;return(0,r.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,l.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&&(t={},(0,o.Z)(t,"&.".concat(S.checked,", &.").concat(S.indeterminate),{color:(n.vars||n).palette[c.color].main}),(0,o.Z)(t,"&.".concat(S.disabled),{color:(n.vars||n).palette.action.disabled}),t))})),T=(0,f.jsx)(m,{}),z=(0,f.jsx)(p,{}),E=(0,f.jsx)(v,{}),F=i.forwardRef((function(e,t){var n,o,l=(0,Z.Z)({props:e,name:"MuiCheckbox"}),u=l.checkedIcon,d=void 0===u?T:u,p=l.color,m=void 0===p?"primary":p,v=l.icon,x=void 0===v?z:v,b=l.indeterminate,C=void 0!==b&&b,S=l.indeterminateIcon,F=void 0===S?E:S,g=l.inputProps,P=l.size,I=void 0===P?"medium":P,O=l.className,y=(0,c.Z)(l,_),A=C?F:x,B=C?F:d,w=(0,r.Z)({},l,{color:m,indeterminate:C,size:I}),L=function(e){var t=e.classes,n=e.indeterminate,o=e.color,c={root:["root",n&&"indeterminate","color".concat((0,h.Z)(o))]},i=(0,s.Z)(c,k,t);return(0,r.Z)({},t,i)}(w);return(0,f.jsx)(j,(0,r.Z)({type:"checkbox",inputProps:(0,r.Z)({"data-indeterminate":C},g),icon:i.cloneElement(A,{fontSize:null!=(n=A.props.fontSize)?n:I}),checkedIcon:i.cloneElement(B,{fontSize:null!=(o=B.props.fontSize)?o:I}),ownerState:w,ref:t,className:(0,a.Z)(L.root,O)},y,{classes:L}))}))},26769:function(e,t,n){var o=n(39066),c=n(93629),r=n(43141);e.exports=function(e){return"string"==typeof e||!c(e)&&r(e)&&"[object String]"==o(e)}}}]); +//# sourceMappingURL=2180.dc0f648b.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2180.dc0f648b.chunk.js.map b/portal-ui/build/static/js/2180.dc0f648b.chunk.js.map new file mode 100644 index 000000000..3d82aef93 --- /dev/null +++ b/portal-ui/build/static/js/2180.dc0f648b.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2180.dc0f648b.chunk.js","mappings":"wWAkDMA,GAAqBC,EAAAA,EAAAA,GACzBC,EAAAA,MAAW,kBAAM,+BAAyB,KAEtCC,GAAwBF,EAAAA,EAAAA,GAC5BC,EAAAA,MAAW,kBAAM,8BAA4B,KAEzCE,GAAsBH,EAAAA,EAAAA,GAC1BC,EAAAA,MAAW,kBAAM,+BAA0B,KAGvCG,GAAYC,EAAAA,EAAAA,IAAW,SAACC,GAAY,OACxCC,EAAAA,EAAAA,IAAa,wCACX,UAAW,CACT,+BAAgC,CAC9BC,gBAAiB,mCAEnB,iCAAkC,CAChCA,gBAAiB,uCAGlBC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,KACAC,EAAAA,EAAAA,IAAmBP,EAAMQ,QAAQ,KACpC,IA4KJ,UAzKmB,WACjB,IAAMC,GAAWC,EAAAA,EAAAA,MACXC,EAAUb,IACVc,GAASC,EAAAA,EAAAA,MAETC,GAAgBC,EAAAA,EAAAA,IAAYC,EAAAA,IAElC,GAAoDC,EAAAA,EAAAA,WAAkB,GAAK,eAApEC,EAAkB,KAAEC,EAAqB,KAChD,GAAsCF,EAAAA,EAAAA,UAAS,IAAG,eAA3CG,EAAW,KAAEC,EAAc,KAClC,GAAkDJ,EAAAA,EAAAA,WAAkB,GAAM,eAAnEK,EAAiB,KAAEC,EAAoB,KAC9C,GACEN,EAAAA,EAAAA,WAAkB,GAAM,eADnBO,EAAoB,KAAEC,EAAuB,KAEpD,GAAoDR,EAAAA,EAAAA,UAAiB,IAAG,eAAjES,EAAkB,KAAEC,EAAqB,KAChD,GAAoDV,EAAAA,EAAAA,WAAkB,GAAM,eAArEW,EAAkB,KAAEC,EAAqB,KAChD,GAAgDZ,EAAAA,EAAAA,UAAiB,IAAG,eAA7Da,EAAgB,KAAEC,EAAmB,KAC5C,GAA0Cd,EAAAA,EAAAA,UAAiB,IAAG,gBAAvDe,GAAa,MAAEC,GAAgB,MAEhCC,GAAatB,EAAOsB,YAAc,GAElCC,IAAqBC,EAAAA,EAAAA,GAAcF,GAAY,CACnDG,EAAAA,GAAAA,qBACAA,EAAAA,GAAAA,iBAGIC,IAAoBF,EAAAA,EAAAA,GAAcF,GAAY,CAClDG,EAAAA,GAAAA,0BAGIE,IAAkBH,EAAAA,EAAAA,GAAcF,GAAY,CAChDG,EAAAA,GAAAA,qBACAA,EAAAA,GAAAA,kBAGFG,EAAAA,EAAAA,YAAU,WACJ1B,GACFK,GAAsB,EAE1B,GAAG,CAACL,EAAeK,IAEnB,IAAMsB,GAAoB,CACxB,CACEC,KAAM,SACNC,sBAAuB,kBAAOL,EAAiB,EAC/CM,QAAS,SAACC,GACRpB,GAAwB,GACxBE,EAAsBkB,EAAWC,OACnC,GAEF,CACEJ,KAAM,OACNC,sBAAuB,kBAAOJ,EAAe,EAC7CK,QAAS,SAACC,GACRd,EAAoBc,EAAWC,QAC/Bb,GAAiBY,EAAWE,QAC5BlB,GAAsB,EACxB,KAIJW,EAAAA,EAAAA,YAAU,WACJtB,IACEiB,GACFa,EAAAA,EAAAA,OACU,MAAM,kBAAD,OAAoBd,GAAU,kBAC1Ce,MAAK,SAACC,GACL7B,EAAe6B,EAAI9B,aACnBD,GAAsB,EACxB,IACCgC,OAAM,SAACC,GACN3C,GAAS4C,EAAAA,EAAAA,IAAqBD,IAC9BjC,GAAsB,EACxB,IAEFA,GAAsB,GAG5B,GAAG,CAACD,EAAoBT,EAAU0B,GAAoBD,KAiBtD,OACE,UAAC,EAAAoB,SAAQ,WACNhC,IACC,SAAC7B,EAAkB,CACjB8D,UAAWjC,EACXkC,QApBwB,WAC9BjC,GAAqB,GACrBJ,GAAsB,EACxB,EAkBQsC,OAAQvB,KAGXV,IACC,SAAC5B,EAAqB,CACpB2D,UAAW/B,EACXgC,QAtB2B,WACjC/B,GAAwB,GACxBN,GAAsB,EACxB,EAoBQsC,OAAQvB,GACRwB,SAAUhC,IAGbE,IACC,SAAC/B,EAAmB,CAClB0D,UAAW3B,EACX4B,QAzByB,WAC/B3B,GAAsB,GACtBV,GAAsB,EACxB,EAuBQsC,OAAQvB,GACRyB,OAAQ7B,EACR8B,QAAS5B,MAGb,UAAC,KAAI,CAAC6B,MAAI,EAACC,GAAI,GAAIC,UAAWpD,EAAQP,YAAY,WAChD,SAAC,IAAU,UAAC,sBACZ,SAAC,IAAe,CACd4D,OAAQ,CACN3B,EAAAA,GAAAA,qBACAA,EAAAA,GAAAA,qBACAA,EAAAA,GAAAA,eACAA,EAAAA,GAAAA,gBAEF4B,SAAU/B,GACVgC,UAAQ,EACRC,WAAY,CAAEC,UAAU,GAAO,UAE/B,SAAC,IAAc,CAACC,QAAS,kBAAkB,UACzC,SAAC,MAAM,CACLC,GAAI,yBACJ1B,QAAS,WACPrB,GAAqB,EACvB,EACAgD,MAAO,kBACPC,MAAM,SAAC,MAAO,IACdC,QAAS,uBAKjB,SAAC,IAAK,CAACV,UAAWpD,EAAQ+D,WAAW,UACnC,SAAC,IAAe,CACdV,OAAQ,CAAC3B,EAAAA,GAAAA,qBAAiCA,EAAAA,GAAAA,gBAC1C4B,SAAU/B,GACViC,WAAY,CAAEC,UAAU,GAAO,UAE/B,SAAC,IAAY,CACXO,cAAc,EACdC,YAAanC,GACboC,QAAS,CACP,CAAEN,MAAO,SAAUO,WAAY,UAC/B,CAAEP,MAAO,SAAUO,WAAY,WAEjCC,UAAW7D,EACX8D,QAAS5D,EACT6D,WAAW,eACXC,QAAQ,iBAMpB,C,mFC7MA,KAAeC,EAAAA,EAAAA,IAlBA,SAACnF,GAAY,OAC1BC,EAAAA,EAAAA,GAAa,CACXmF,KAAM,CACJC,QAAS,EACTC,OAAQ,EACRC,SAAU,UAEX,GAWL,EAJmB,SAAH,GAA4C,IAAtC5E,EAAO,EAAPA,QAAS6E,EAAQ,EAARA,SAC7B,OAAO,eAAIzB,UAAWpD,EAAQyE,KAAK,SAAEI,GACvC,G,yCCpCIC,EAAyBC,EAAQ,OAIrCC,EAAQ,OAAU,EAClB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAChDG,EAAcH,EAAQ,OACtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,mBACD,iBACJN,EAAQ,EAAUG,C,yCCVdL,EAAyBC,EAAQ,OAIrCC,EAAQ,OAAU,EAClB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAChDG,EAAcH,EAAQ,OACtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,mBACD,eACJN,EAAQ,EAAUG,C,yCCVdL,EAAyBC,EAAQ,OAIrCC,EAAQ,OAAU,EAClB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAChDG,EAAcH,EAAQ,OACtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,sEACD,cACJN,EAAQ,EAAUG,C,sLCLlB,GAAeI,EAAAA,EAAAA,IAA4BC,EAAAA,EAAAA,KAAK,OAAQ,CACtDF,EAAG,+FACD,wBCFJ,GAAeC,EAAAA,EAAAA,IAA4BC,EAAAA,EAAAA,KAAK,OAAQ,CACtDF,EAAG,wIACD,YCFJ,GAAeC,EAAAA,EAAAA,IAA4BC,EAAAA,EAAAA,KAAK,OAAQ,CACtDF,EAAG,kGACD,yB,uDCPG,SAASG,EAAwBC,GACtC,OAAOC,EAAAA,EAAAA,GAAqB,cAAeD,EAC7C,CACA,IACA,GADwBE,EAAAA,EAAAA,GAAuB,cAAe,CAAC,OAAQ,UAAW,WAAY,gBAAiB,eAAgB,mBCHzHC,EAAY,CAAC,cAAe,QAAS,OAAQ,gBAAiB,oBAAqB,aAAc,OAAQ,aA4BzGC,GAAeC,EAAAA,EAAAA,IAAOC,EAAAA,EAAY,CACtCC,kBAAmB,SAAAC,GAAI,OAAIC,EAAAA,EAAAA,IAAsBD,IAAkB,YAATA,CAAkB,EAC5EE,KAAM,cACNV,KAAM,OACNW,kBAAmB,SAACC,EAAOC,GACzB,IACEC,EACEF,EADFE,WAEF,MAAO,CAACD,EAAO9B,KAAM+B,EAAWC,eAAiBF,EAAOE,cAAoC,YAArBD,EAAWE,OAAuBH,EAAO,QAAD,QAASI,EAAAA,EAAAA,GAAWH,EAAWE,SAChJ,GATmBX,EAUlB,kBACD1G,EAAK,EAALA,MACAmH,EAAU,EAAVA,WAAU,OACNI,EAAAA,EAAAA,GAAS,CACbF,OAAQrH,EAAMwH,MAAQxH,GAAOyH,QAAQC,KAAKC,YACxCR,EAAWS,eAAiB,CAC9B,UAAW,CACTC,gBAAiB7H,EAAMwH,KAAO,QAAH,OAAgC,YAArBL,EAAWE,MAAsBrH,EAAMwH,KAAKC,QAAQK,OAAOC,cAAgB/H,EAAMwH,KAAKC,QAAQO,QAAQC,YAAW,cAAMjI,EAAMwH,KAAKC,QAAQK,OAAOI,aAAY,MAAMC,EAAAA,EAAAA,IAA2B,YAArBhB,EAAWE,MAAsBrH,EAAMyH,QAAQK,OAAOM,OAASpI,EAAMyH,QAAQN,EAAWE,OAAOgB,KAAMrI,EAAMyH,QAAQK,OAAOI,cAEzU,uBAAwB,CACtBL,gBAAiB,iBAGC,YAArBV,EAAWE,QAAmB,2BACzBiB,EAAAA,QAAuB,eAAOA,EAAAA,eAAkC,CACpEjB,OAAQrH,EAAMwH,MAAQxH,GAAOyH,QAAQN,EAAWE,OAAOgB,QACxD,qBACKC,EAAAA,UAA6B,CACjCjB,OAAQrH,EAAMwH,MAAQxH,GAAOyH,QAAQK,OAAO1D,WAC7C,GACD,IACImE,GAAkCpC,EAAAA,EAAAA,KAAKqC,EAAc,CAAC,GACtDC,GAA2BtC,EAAAA,EAAAA,KAAKuC,EAA0B,CAAC,GAC3DC,GAAwCxC,EAAAA,EAAAA,KAAKyC,EAA2B,CAAC,GA8I/E,EA7I8BjJ,EAAAA,YAAiB,SAAkBkJ,EAASC,GACxE,IAAIC,EAAsBC,EACpB/B,GAAQgC,EAAAA,EAAAA,GAAc,CAC1BhC,MAAO4B,EACP9B,KAAM,gBAER,EASME,EARFiC,YAAAA,OAAW,IAAG,EAAAX,EAAkB,IAQ9BtB,EAPFI,MAAAA,OAAK,IAAG,YAAS,IAOfJ,EANFzC,KAAM2E,OAAQ,IAAG,EAAAV,EAAW,IAM1BxB,EALFG,cAAAA,OAAa,IAAG,GAAK,IAKnBH,EAJFmC,kBAAmBC,OAAqB,IAAG,EAAAV,EAAwB,EACnEW,EAGErC,EAHFqC,WAAU,EAGRrC,EAFFsC,KAAAA,OAAI,IAAG,WAAQ,EACfxF,EACEkD,EADFlD,UAEFyF,GAAQC,EAAAA,EAAAA,GAA8BxC,EAAOT,GACzChC,EAAO4C,EAAgBiC,EAAwBF,EAC/CC,EAAoBhC,EAAgBiC,EAAwBH,EAC5D/B,GAAaI,EAAAA,EAAAA,GAAS,CAAC,EAAGN,EAAO,CACrCI,MAAAA,EACAD,cAAAA,EACAmC,KAAAA,IAEI5I,EAtEkB,SAAAwG,GACxB,IACExG,EAGEwG,EAHFxG,QACAyG,EAEED,EAFFC,cACAC,EACEF,EADFE,MAEIqC,EAAQ,CACZtE,KAAM,CAAC,OAAQgC,GAAiB,gBAAiB,QAAF,QAAUE,EAAAA,EAAAA,GAAWD,MAEhEsC,GAAkBC,EAAAA,EAAAA,GAAeF,EAAOtD,EAAyBzF,GACvE,OAAO4G,EAAAA,EAAAA,GAAS,CAAC,EAAG5G,EAASgJ,EAC/B,CA2DkBE,CAAkB1C,GAClC,OAAoBhB,EAAAA,EAAAA,KAAKM,GAAcc,EAAAA,EAAAA,GAAS,CAC9C7E,KAAM,WACN4G,YAAY/B,EAAAA,EAAAA,GAAS,CACnB,qBAAsBH,GACrBkC,GACH9E,KAAmB7E,EAAAA,aAAmB6E,EAAM,CAC1Ce,SAA0D,OAA/CwD,EAAuBvE,EAAKyC,MAAM1B,UAAoBwD,EAAuBQ,IAE1FL,YAA0BvJ,EAAAA,aAAmByJ,EAAmB,CAC9D7D,SAAwE,OAA7DyD,EAAwBI,EAAkBnC,MAAM1B,UAAoByD,EAAwBO,IAEzGpC,WAAYA,EACZ2B,IAAKA,EACL/E,WAAW+F,EAAAA,EAAAA,GAAKnJ,EAAQyE,KAAMrB,IAC7ByF,EAAO,CACR7I,QAASA,IAEb,G,wBC1GA,IAAIoJ,EAAarE,EAAQ,OACrBsE,EAAUtE,EAAQ,OAClBuE,EAAevE,EAAQ,OA2B3BwE,EAAOvE,QALP,SAAkBwE,GAChB,MAAuB,iBAATA,IACVH,EAAQG,IAAUF,EAAaE,IArBrB,mBAqB+BJ,EAAWI,EAC1D,C","sources":["screens/Console/Buckets/BucketDetails/AccessRulePanel.tsx","screens/Console/Common/PanelTitle/PanelTitle.tsx","../node_modules/@mui/icons-material/ArrowDropDown.js","../node_modules/@mui/icons-material/ArrowDropUp.js","../node_modules/@mui/icons-material/ViewColumn.js","../node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@mui/material/Checkbox/checkboxClasses.js","../node_modules/@mui/material/Checkbox/Checkbox.js","../node_modules/lodash/isString.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useParams } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport { Paper } from \"@mui/material\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport api from \"../../../../common/api\";\n\nimport { AddIcon } from \"mds\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n actionsTray,\n containerForHeader,\n objectBrowserCommon,\n searchField,\n tableStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\nimport PanelTitle from \"../../Common/PanelTitle/PanelTitle\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../common/SecureComponent\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { selBucketDetailsLoading } from \"./bucketDetailsSlice\";\nimport { useAppDispatch } from \"../../../../store\";\nimport TooltipWrapper from \"../../Common/TooltipWrapper/TooltipWrapper\";\n\nconst AddAccessRuleModal = withSuspense(\n React.lazy(() => import(\"./AddAccessRule\"))\n);\nconst DeleteAccessRuleModal = withSuspense(\n React.lazy(() => import(\"./DeleteAccessRule\"))\n);\nconst EditAccessRuleModal = withSuspense(\n React.lazy(() => import(\"./EditAccessRule\"))\n);\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\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 ...tableStyles,\n ...actionsTray,\n ...searchField,\n ...objectBrowserCommon,\n ...containerForHeader(theme.spacing(4)),\n })\n);\n\nconst AccessRule = () => {\n const dispatch = useAppDispatch();\n const classes = useStyles();\n const params = useParams();\n\n const loadingBucket = useSelector(selBucketDetailsLoading);\n\n const [loadingAccessRules, setLoadingAccessRules] = useState(true);\n const [accessRules, setAccessRules] = useState([]);\n const [addAccessRuleOpen, setAddAccessRuleOpen] = useState(false);\n const [deleteAccessRuleOpen, setDeleteAccessRuleOpen] =\n useState(false);\n const [accessRuleToDelete, setAccessRuleToDelete] = useState(\"\");\n const [editAccessRuleOpen, setEditAccessRuleOpen] = useState(false);\n const [accessRuleToEdit, setAccessRuleToEdit] = useState(\"\");\n const [initialAccess, setInitialAccess] = useState(\"\");\n\n const bucketName = params.bucketName || \"\";\n\n const displayAccessRules = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_POLICY,\n IAM_SCOPES.S3_GET_ACTIONS,\n ]);\n\n const deleteAccessRules = hasPermission(bucketName, [\n IAM_SCOPES.S3_DELETE_BUCKET_POLICY,\n ]);\n\n const editAccessRules = hasPermission(bucketName, [\n IAM_SCOPES.S3_PUT_BUCKET_POLICY,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ]);\n\n useEffect(() => {\n if (loadingBucket) {\n setLoadingAccessRules(true);\n }\n }, [loadingBucket, setLoadingAccessRules]);\n\n const AccessRuleActions = [\n {\n type: \"delete\",\n disableButtonFunction: () => !deleteAccessRules,\n onClick: (accessRule: any) => {\n setDeleteAccessRuleOpen(true);\n setAccessRuleToDelete(accessRule.prefix);\n },\n },\n {\n type: \"view\",\n disableButtonFunction: () => !editAccessRules,\n onClick: (accessRule: any) => {\n setAccessRuleToEdit(accessRule.prefix);\n setInitialAccess(accessRule.access);\n setEditAccessRuleOpen(true);\n },\n },\n ];\n\n useEffect(() => {\n if (loadingAccessRules) {\n if (displayAccessRules) {\n api\n .invoke(\"GET\", `/api/v1/bucket/${bucketName}/access-rules`)\n .then((res: any) => {\n setAccessRules(res.accessRules);\n setLoadingAccessRules(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoadingAccessRules(false);\n });\n } else {\n setLoadingAccessRules(false);\n }\n }\n }, [loadingAccessRules, dispatch, displayAccessRules, bucketName]);\n\n const closeAddAccessRuleModal = () => {\n setAddAccessRuleOpen(false);\n setLoadingAccessRules(true);\n };\n\n const closeDeleteAccessRuleModal = () => {\n setDeleteAccessRuleOpen(false);\n setLoadingAccessRules(true);\n };\n\n const closeEditAccessRuleModal = () => {\n setEditAccessRuleOpen(false);\n setLoadingAccessRules(true);\n };\n\n return (\n \n {addAccessRuleOpen && (\n \n )}\n {deleteAccessRuleOpen && (\n \n )}\n {editAccessRuleOpen && (\n \n )}\n \n Anonymous Access\n \n \n {\n setAddAccessRuleOpen(true);\n }}\n label={\"Add Access Rule\"}\n icon={}\n variant={\"callAction\"}\n />\n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default AccessRule;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButtonProps } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 0,\n margin: 0,\n fontSize: \".9rem\",\n },\n });\n\ninterface IPanelTitle extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst PanelTitle = ({ classes, children }: IPanelTitle) => {\n return

{children}

;\n};\n\nexport default withStyles(styles)(PanelTitle);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\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;","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 */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\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 */\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 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":["AddAccessRuleModal","withSuspense","React","DeleteAccessRuleModal","EditAccessRuleModal","useStyles","makeStyles","theme","createStyles","backgroundImage","tableStyles","actionsTray","searchField","objectBrowserCommon","containerForHeader","spacing","dispatch","useAppDispatch","classes","params","useParams","loadingBucket","useSelector","selBucketDetailsLoading","useState","loadingAccessRules","setLoadingAccessRules","accessRules","setAccessRules","addAccessRuleOpen","setAddAccessRuleOpen","deleteAccessRuleOpen","setDeleteAccessRuleOpen","accessRuleToDelete","setAccessRuleToDelete","editAccessRuleOpen","setEditAccessRuleOpen","accessRuleToEdit","setAccessRuleToEdit","initialAccess","setInitialAccess","bucketName","displayAccessRules","hasPermission","IAM_SCOPES","deleteAccessRules","editAccessRules","useEffect","AccessRuleActions","type","disableButtonFunction","onClick","accessRule","prefix","access","api","then","res","catch","err","setErrorSnackMessage","Fragment","modalOpen","onClose","bucket","toDelete","toEdit","initial","item","xs","className","scopes","resource","matchAll","errorProps","disabled","tooltip","id","label","icon","variant","tableBlock","noBackground","itemActions","columns","elementKey","isLoading","records","entityName","idField","withStyles","root","padding","margin","fontSize","children","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","createSvgIcon","_jsx","getCheckboxUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","CheckboxRoot","styled","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","ownerState","indeterminate","color","capitalize","_extends","vars","palette","text","secondary","disableRipple","backgroundColor","action","activeChannel","primary","mainChannel","hoverOpacity","alpha","active","main","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","inProps","ref","_icon$props$fontSize","_indeterminateIcon$pr","useThemeProps","checkedIcon","iconProp","indeterminateIcon","indeterminateIconProp","inputProps","size","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","clsx","baseGetTag","isArray","isObjectLike","module","value"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2185.9f8ebee0.chunk.js b/portal-ui/build/static/js/2185.9f8ebee0.chunk.js new file mode 100644 index 000000000..148a49b56 --- /dev/null +++ b/portal-ui/build/static/js/2185.9f8ebee0.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2185],{62185:function(e,t,n){n.r(t);var r=n(29439),a=n(1413),o=n(72791),i=n(57689),l=n(75952),s=n(56028),c=n(61889),u=n(21435),d=n(11135),f=n(23814),h=n(78687),m=n(45248),x=n(25469),p=n(87995),j=n(72455),v=n(80184),b=(0,j.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)({},f.ID),f.DF))})),w=(0,h.$j)((function(e){return{simplePath:e.objectBrowser.simplePath}}));t.default=w((function(e){var t=e.modalOpen,n=(e.folderName,e.bucketName),a=e.onClose,d=e.simplePath,f=(0,x.TL)(),j=(0,i.s0)(),w=b(),Z=(0,o.useState)(""),P=(0,r.Z)(Z,2),C=P[0],g=P[1],k=(0,o.useState)(!1),F=(0,r.Z)(k,2),N=F[0],y=F[1],E=(0,o.useState)(n),S=(0,r.Z)(E,2),z=S[0],B=S[1],I=(0,h.v9)((function(e){return e.objectBrowser.records}));(0,o.useEffect)((function(){if(d){var e="".concat(n).concat(n.endsWith("/")||d.startsWith("/")?"":"/").concat(d);B(e)}}),[d,n]);var L=function(){var e="/";d&&(e=d.endsWith("/")?d:"".concat(d,"/"));if(-1===I.findIndex((function(t){return t.name===e+C}))){var t=C.split("/").filter((function(e){return""!==e.trim()})).join("/"),r="/browser/".concat(n,"/").concat((0,m.LL)("".concat(e).concat(t,"/")));j(r),a()}else f((0,p.zb)({errorMessage:"Folder cannot have the same name as an existing file",detailedError:""}))};(0,o.useEffect)((function(){var e=!0;0===C.trim().length&&(e=!1),y(e)}),[C]);return(0,v.jsx)(o.Fragment,{children:(0,v.jsx)(s.Z,{modalOpen:t,title:"Choose or create a new path",onClose:a,titleIcon:(0,v.jsx)(l.Z9m,{}),children:(0,v.jsxs)(c.ZP,{container:!0,children:[(0,v.jsxs)(c.ZP,{item:!0,xs:12,className:w.formFieldRow,children:[(0,v.jsx)("strong",{children:"Current Path:"})," ",(0,v.jsx)("br",{}),(0,v.jsx)("div",{style:{textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden",fontSize:14,textAlign:"left"},dir:"rtl",children:z})]}),(0,v.jsx)(c.ZP,{item:!0,xs:12,className:w.formFieldRow,children:(0,v.jsx)(u.Z,{value:C,label:"New Folder Path",id:"folderPath",name:"folderPath",placeholder:"Enter the new Folder Path",onChange:function(e){g(e.target.value)},onKeyPress:function(e){"Enter"===e.code&&""!==C&&L()},required:!0})}),(0,v.jsxs)(c.ZP,{item:!0,xs:12,className:w.modalButtonBar,children:[(0,v.jsx)(l.zxk,{id:"clear",type:"button",color:"primary",variant:"regular",onClick:function(){g("")},label:"Clear"}),(0,v.jsx)(l.zxk,{id:"create",type:"submit",variant:"callAction",disabled:!N,onClick:L,label:"Create"})]})]})})})}))}}]); +//# sourceMappingURL=2185.9f8ebee0.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2185.9f8ebee0.chunk.js.map b/portal-ui/build/static/js/2185.9f8ebee0.chunk.js.map new file mode 100644 index 000000000..12b129160 --- /dev/null +++ b/portal-ui/build/static/js/2185.9f8ebee0.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2185.9f8ebee0.chunk.js","mappings":"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","sources":["screens/Console/Buckets/ListBuckets/Objects/ListObjects/CreatePathModal.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport { Button } from \"mds\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport { Grid } from \"@mui/material\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { connect, useSelector } from \"react-redux\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\n\nimport { BucketObjectItem } from \"./types\";\nimport { CreateNewPathIcon } from \"mds\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { setModalErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport makeStyles from \"@mui/styles/makeStyles\";\n\ninterface ICreatePath {\n modalOpen: boolean;\n bucketName: string;\n folderName: string;\n onClose: () => any;\n simplePath: string | null;\n}\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...modalStyleUtils,\n ...formFieldStyles,\n })\n);\n\nconst CreatePathModal = ({\n modalOpen,\n folderName,\n bucketName,\n onClose,\n simplePath,\n}: ICreatePath) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n const classes = useStyles();\n\n const [pathUrl, setPathUrl] = useState(\"\");\n const [isFormValid, setIsFormValid] = useState(false);\n const [currentPath, setCurrentPath] = useState(bucketName);\n\n const records = useSelector((state: AppState) => state.objectBrowser.records);\n\n useEffect(() => {\n if (simplePath) {\n const newPath = `${bucketName}${\n !bucketName.endsWith(\"/\") && !simplePath.startsWith(\"/\") ? \"/\" : \"\"\n }${simplePath}`;\n\n setCurrentPath(newPath);\n }\n }, [simplePath, bucketName]);\n\n const resetForm = () => {\n setPathUrl(\"\");\n };\n\n const createProcess = () => {\n let folderPath = \"/\";\n\n if (simplePath) {\n folderPath = simplePath.endsWith(\"/\") ? simplePath : `${simplePath}/`;\n }\n\n const sharesName = (record: BucketObjectItem) =>\n record.name === folderPath + pathUrl;\n\n if (records.findIndex(sharesName) !== -1) {\n dispatch(\n setModalErrorSnackMessage({\n errorMessage: \"Folder cannot have the same name as an existing file\",\n detailedError: \"\",\n })\n );\n return;\n }\n\n const cleanPathURL = pathUrl\n .split(\"/\")\n .filter((splitItem) => splitItem.trim() !== \"\")\n .join(\"/\");\n\n const newPath = `/browser/${bucketName}/${encodeURLString(\n `${folderPath}${cleanPathURL}/`\n )}`;\n navigate(newPath);\n onClose();\n };\n\n useEffect(() => {\n let valid = true;\n if (pathUrl.trim().length === 0) {\n valid = false;\n }\n setIsFormValid(valid);\n }, [pathUrl]);\n\n const inputChange = (e: React.ChangeEvent) => {\n setPathUrl(e.target.value);\n };\n\n const keyPressed = (e: any) => {\n if (e.code === \"Enter\" && pathUrl !== \"\") {\n createProcess();\n }\n };\n\n return (\n \n }\n >\n \n \n Current Path:
\n \n {currentPath}\n \n
\n \n \n \n \n \n \n \n
\n \n
\n );\n};\n\nconst mapStateToProps = ({ objectBrowser }: AppState) => ({\n simplePath: objectBrowser.simplePath,\n});\n\nconst connector = connect(mapStateToProps);\n\nexport default connector(CreatePathModal);\n"],"names":["useStyles","makeStyles","theme","createStyles","modalStyleUtils","formFieldStyles","connector","connect","simplePath","objectBrowser","modalOpen","bucketName","folderName","onClose","dispatch","useAppDispatch","navigate","useNavigate","classes","useState","pathUrl","setPathUrl","isFormValid","setIsFormValid","currentPath","setCurrentPath","records","useSelector","state","useEffect","newPath","endsWith","startsWith","createProcess","folderPath","findIndex","record","name","cleanPathURL","split","filter","splitItem","trim","join","encodeURLString","setModalErrorSnackMessage","errorMessage","detailedError","valid","length","title","titleIcon","container","item","xs","className","formFieldRow","style","textOverflow","whiteSpace","overflow","fontSize","textAlign","dir","value","label","id","placeholder","onChange","e","target","onKeyPress","code","required","modalButtonBar","type","color","variant","onClick","disabled"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2185.b77a9469.chunk.js b/portal-ui/build/static/js/2185.b77a9469.chunk.js deleted file mode 100644 index 5f21163b1..000000000 --- a/portal-ui/build/static/js/2185.b77a9469.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2185],{62185:function(e,t,n){n.r(t);var r=n(29439),a=n(1413),o=n(72791),i=n(57689),l=n(75952),s=n(56028),c=n(61889),u=n(21435),d=n(11135),f=n(23814),h=n(78687),m=n(45248),x=n(56096),p=n(25469),j=n(87995),v=n(72455),b=n(80184),w=(0,v.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)({},f.ID),f.DF))})),Z=(0,h.$j)((function(e){return{simplePath:e.objectBrowser.simplePath}}));t.default=Z((function(e){var t=e.modalOpen,n=(e.folderName,e.bucketName),a=e.onClose,d=e.simplePath,f=(0,p.TL)(),v=(0,i.s0)(),Z=w(),P=(0,o.useState)(""),C=(0,r.Z)(P,2),g=C[0],k=C[1],F=(0,o.useState)(!1),N=(0,r.Z)(F,2),y=N[0],E=N[1],S=(0,o.useState)(n),z=(0,r.Z)(S,2),B=z[0],I=z[1],L=(0,h.v9)((function(e){return e.objectBrowser.records}));(0,o.useEffect)((function(){if(d){var e="".concat(n).concat(n.endsWith("/")||d.startsWith("/")?"":"/").concat(d);I(e)}}),[d,n]);var O=function(){var e="/";d&&(e=d.endsWith("/")?d:"".concat(d,"/"));if(-1===L.findIndex((function(t){return t.name===e+g}))){var t=g.split("/").filter((function(e){return""!==e.trim()})).join("/"),r="/browser/".concat(n,"/").concat((0,m.LL)("".concat(e).concat(t,"/")));v(r),a()}else f((0,j.zb)({errorMessage:"Folder cannot have the same name as an existing file",detailedError:""}))};(0,o.useEffect)((function(){var e=!0;0===g.trim().length&&(e=!1),E(e)}),[g]);return(0,b.jsx)(o.Fragment,{children:(0,b.jsx)(s.Z,{modalOpen:t,title:"Choose or create a new path",onClose:a,titleIcon:(0,b.jsx)(x.Z9m,{}),children:(0,b.jsxs)(c.ZP,{container:!0,children:[(0,b.jsxs)(c.ZP,{item:!0,xs:12,className:Z.formFieldRow,children:[(0,b.jsx)("strong",{children:"Current Path:"})," ",(0,b.jsx)("br",{}),(0,b.jsx)("div",{style:{textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden",fontSize:14,textAlign:"left"},dir:"rtl",children:B})]}),(0,b.jsx)(c.ZP,{item:!0,xs:12,className:Z.formFieldRow,children:(0,b.jsx)(u.Z,{value:g,label:"New Folder Path",id:"folderPath",name:"folderPath",placeholder:"Enter the new Folder Path",onChange:function(e){k(e.target.value)},onKeyPress:function(e){"Enter"===e.code&&""!==g&&O()},required:!0})}),(0,b.jsxs)(c.ZP,{item:!0,xs:12,className:Z.modalButtonBar,children:[(0,b.jsx)(l.zx,{id:"clear",type:"button",color:"primary",variant:"regular",onClick:function(){k("")},label:"Clear"}),(0,b.jsx)(l.zx,{id:"create",type:"submit",variant:"callAction",disabled:!y,onClick:O,label:"Create"})]})]})})})}))}}]); -//# sourceMappingURL=2185.b77a9469.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2185.b77a9469.chunk.js.map b/portal-ui/build/static/js/2185.b77a9469.chunk.js.map deleted file mode 100644 index ae64b0d76..000000000 --- a/portal-ui/build/static/js/2185.b77a9469.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/2185.b77a9469.chunk.js","mappings":"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","sources":["screens/Console/Buckets/ListBuckets/Objects/ListObjects/CreatePathModal.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport { Button } from \"mds\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport { Grid } from \"@mui/material\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { connect, useSelector } from \"react-redux\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\n\nimport { BucketObjectItem } from \"./types\";\nimport { CreateNewPathIcon } from \"../../../../../../icons\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { setModalErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport makeStyles from \"@mui/styles/makeStyles\";\n\ninterface ICreatePath {\n modalOpen: boolean;\n bucketName: string;\n folderName: string;\n onClose: () => any;\n simplePath: string | null;\n}\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...modalStyleUtils,\n ...formFieldStyles,\n })\n);\n\nconst CreatePathModal = ({\n modalOpen,\n folderName,\n bucketName,\n onClose,\n simplePath,\n}: ICreatePath) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n const classes = useStyles();\n\n const [pathUrl, setPathUrl] = useState(\"\");\n const [isFormValid, setIsFormValid] = useState(false);\n const [currentPath, setCurrentPath] = useState(bucketName);\n\n const records = useSelector((state: AppState) => state.objectBrowser.records);\n\n useEffect(() => {\n if (simplePath) {\n const newPath = `${bucketName}${\n !bucketName.endsWith(\"/\") && !simplePath.startsWith(\"/\") ? \"/\" : \"\"\n }${simplePath}`;\n\n setCurrentPath(newPath);\n }\n }, [simplePath, bucketName]);\n\n const resetForm = () => {\n setPathUrl(\"\");\n };\n\n const createProcess = () => {\n let folderPath = \"/\";\n\n if (simplePath) {\n folderPath = simplePath.endsWith(\"/\") ? simplePath : `${simplePath}/`;\n }\n\n const sharesName = (record: BucketObjectItem) =>\n record.name === folderPath + pathUrl;\n\n if (records.findIndex(sharesName) !== -1) {\n dispatch(\n setModalErrorSnackMessage({\n errorMessage: \"Folder cannot have the same name as an existing file\",\n detailedError: \"\",\n })\n );\n return;\n }\n\n const cleanPathURL = pathUrl\n .split(\"/\")\n .filter((splitItem) => splitItem.trim() !== \"\")\n .join(\"/\");\n\n const newPath = `/browser/${bucketName}/${encodeURLString(\n `${folderPath}${cleanPathURL}/`\n )}`;\n navigate(newPath);\n onClose();\n };\n\n useEffect(() => {\n let valid = true;\n if (pathUrl.trim().length === 0) {\n valid = false;\n }\n setIsFormValid(valid);\n }, [pathUrl]);\n\n const inputChange = (e: React.ChangeEvent) => {\n setPathUrl(e.target.value);\n };\n\n const keyPressed = (e: any) => {\n if (e.code === \"Enter\" && pathUrl !== \"\") {\n createProcess();\n }\n };\n\n return (\n \n }\n >\n \n \n Current Path:
\n \n {currentPath}\n \n
\n \n \n \n \n \n \n \n
\n \n
\n );\n};\n\nconst mapStateToProps = ({ objectBrowser }: AppState) => ({\n simplePath: objectBrowser.simplePath,\n});\n\nconst connector = connect(mapStateToProps);\n\nexport default connector(CreatePathModal);\n"],"names":["useStyles","makeStyles","theme","createStyles","modalStyleUtils","formFieldStyles","connector","connect","simplePath","objectBrowser","modalOpen","bucketName","folderName","onClose","dispatch","useAppDispatch","navigate","useNavigate","classes","useState","pathUrl","setPathUrl","isFormValid","setIsFormValid","currentPath","setCurrentPath","records","useSelector","state","useEffect","newPath","endsWith","startsWith","createProcess","folderPath","findIndex","record","name","cleanPathURL","split","filter","splitItem","trim","join","encodeURLString","setModalErrorSnackMessage","errorMessage","detailedError","valid","length","title","titleIcon","container","item","xs","className","formFieldRow","style","textOverflow","whiteSpace","overflow","fontSize","textAlign","dir","value","label","id","placeholder","onChange","e","target","onKeyPress","code","required","modalButtonBar","type","color","variant","onClick","disabled"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2338.0f7ba0f5.chunk.js b/portal-ui/build/static/js/2338.0f7ba0f5.chunk.js deleted file mode 100644 index 143f2f234..000000000 --- a/portal-ui/build/static/js/2338.0f7ba0f5.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2338],{23804:function(e,t,n){n(72791);var i=n(11135),r=n(25787),o=n(61889),s=n(80184);t.Z=(0,r.Z)((function(e){return(0,i.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var t=e.classes,n=e.iconComponent,i=e.title,r=e.help;return(0,s.jsx)("div",{className:t.root,children:(0,s.jsxs)(o.ZP,{container:!0,children:[(0,s.jsxs)(o.ZP,{item:!0,xs:12,className:t.leftItems,children:[n,i]}),(0,s.jsx)(o.ZP,{item:!0,xs:12,className:t.helpText,children:r})]})})}))},25739:function(e,t,n){n(72791);var i=n(64554),r=n(50896),o=n(80184);t.Z=function(e){var t=e.children,n=e.title,s=e.helpbox,a=e.icon;return(0,o.jsxs)(i.Z,{sx:{display:"grid",padding:"25px",gap:"25px",gridTemplateColumns:{md:"2fr 1.2fr",xs:"1fr"},border:"1px solid #eaeaea"},children:[(0,o.jsxs)(i.Z,{children:[(0,o.jsx)(r.Z,{icon:a,children:n}),(0,o.jsx)(i.Z,{sx:{height:16}}),t]}),s]})}},72338:function(e,t,n){n.r(t),n.d(t,{default:function(){return j}});var i=n(72791),r=n(57689),o=n(64554),s=n(34345),a=n(56087),l=n(32291),c=n(84669),d=n(74794),m=n(61889),g=n(75952),x=n(80184),h=function(e){var t=e.onClick,n=e.icon,i=e.name,r={tierTypeCard:{height:"80px",width:"auto",display:"flex",alignItems:"center",justifyContent:"flex-start",padding:5,border:"1px solid #E5E5E5",borderRadius:2,cursor:"pointer",overflow:"hidden","&:hover":{background:"#ebebeb"}},tierTypeTitle:{fontWeight:600,fontSize:14,justifyContent:"center"}};return(0,x.jsx)(g.zx,{id:i,onClick:function(){t(i)},style:r.tierTypeCard,children:(0,x.jsxs)(m.ZP,{container:!0,alignItems:"center",children:[n?(0,x.jsx)(m.ZP,{item:!0,padding:1,xs:4,children:(0,x.jsx)(o.Z,{sx:{"& .min-icon":{height:"30px",width:"30px"}},children:n})}):null,(0,x.jsx)(m.ZP,{item:!0,xs:8,style:r.tierTypeTitle,paddingLeft:1,children:i})]})})},p=n(23804),u=n(56096),f=n(25739),j=function(){var e=(0,r.s0)();return(0,x.jsxs)(i.Fragment,{children:[(0,x.jsx)(l.Z,{label:(0,x.jsx)(i.Fragment,{children:(0,x.jsx)(c.Z,{to:a.gA.TIERS,label:"Tier Types"})}),actions:(0,x.jsx)(i.Fragment,{})}),(0,x.jsx)(d.Z,{children:(0,x.jsx)(f.Z,{title:"Select Tier Type",icon:(0,x.jsx)(u.y2Y,{}),helpbox:(0,x.jsx)(p.Z,{iconComponent:(0,x.jsx)(u.y2Y,{}),title:"Tier Types",help:(0,x.jsxs)(i.Fragment,{children:["MinIO supports creating object transition lifecycle management rules, where MinIO can automatically move an object to a remote storage \u201ctier\u201d.",(0,x.jsx)("br",{}),(0,x.jsx)("br",{}),"MinIO supports the following Tier types:",(0,x.jsx)("br",{}),(0,x.jsxs)("ul",{children:[(0,x.jsx)("li",{children:(0,x.jsx)("a",{href:"https://min.io/docs/minio/kubernetes/upstream/administration/object-management/transition-objects-to-s3.html#minio-lifecycle-management-transition-to-s3?ref=con",target:"_blank",rel:"noreferrer",children:"MinIO or other S3-compatible storage"})}),(0,x.jsx)("li",{children:(0,x.jsx)("a",{href:"https://min.io/docs/minio/kubernetes/upstream/administration/object-management/transition-objects-to-s3.html#minio-lifecycle-management-transition-to-s3?ref=con",target:"_blank",rel:"noreferrer",children:"Amazon S3"})}),(0,x.jsx)("li",{children:(0,x.jsx)("a",{href:"https://min.io/docs/minio/kubernetes/upstream/administration/object-management/transition-objects-to-gcs.html#minio-lifecycle-management-transition-to-gcs?ref=con",target:"_blank",rel:"noreferrer",children:"Google Cloud Storage"})}),(0,x.jsx)("li",{children:(0,x.jsx)("a",{href:"https://min.io/docs/minio/kubernetes/upstream/administration/object-management/transition-objects-to-azure.html#minio-lifecycle-management-transition-to-azure?ref=con",target:"_blank",rel:"noreferrer",children:"Microsoft Azure Blob Storage"})})]})]})}),children:(0,x.jsx)(o.Z,{sx:{margin:"15px",display:"grid",gridGap:"20px",gridTemplateColumns:{xs:"repeat(1, 1fr)",sm:"repeat(1, 1fr)",md:"repeat(2, 1fr)",lg:"repeat(2, 1fr)"}},children:s.Bh.map((function(t,n){return(0,x.jsx)(h,{name:t.targetTitle,onClick:function(){var n;n=t.serviceName,e("".concat(a.gA.TIERS_ADD,"/").concat(n))},icon:t.logo},"tierOpt-".concat(n.toString,"-").concat(t.targetTitle))}))})})})]})}},34345:function(e,t,n){n.d(t,{Bh:function(){return c},Pp:function(){return o},b2:function(){return a},f0:function(){return s},vB:function(){return l}});var i=n(56096),r=n(80184),o="minio",s="gcs",a="s3",l="azure",c=[{serviceName:o,targetTitle:"MinIO",logo:(0,r.jsx)(i.$E9,{}),logoXs:(0,r.jsx)(i.YEz,{})},{serviceName:s,targetTitle:"Google Cloud Storage",logo:(0,r.jsx)(i.UQG,{}),logoXs:(0,r.jsx)(i.Vwu,{})},{serviceName:a,targetTitle:"AWS S3",logo:(0,r.jsx)(i.feu,{}),logoXs:(0,r.jsx)(i.Xj3,{})},{serviceName:l,targetTitle:"Azure",logo:(0,r.jsx)(i.jze,{}),logoXs:(0,r.jsx)(i.nAe,{})}]}}]); -//# sourceMappingURL=2338.0f7ba0f5.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2338.d265a623.chunk.js b/portal-ui/build/static/js/2338.d265a623.chunk.js new file mode 100644 index 000000000..d65ee4286 --- /dev/null +++ b/portal-ui/build/static/js/2338.d265a623.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2338],{23804:function(e,t,n){n(72791);var i=n(11135),r=n(25787),o=n(61889),s=n(80184);t.Z=(0,r.Z)((function(e){return(0,i.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var t=e.classes,n=e.iconComponent,i=e.title,r=e.help;return(0,s.jsx)("div",{className:t.root,children:(0,s.jsxs)(o.ZP,{container:!0,children:[(0,s.jsxs)(o.ZP,{item:!0,xs:12,className:t.leftItems,children:[n,i]}),(0,s.jsx)(o.ZP,{item:!0,xs:12,className:t.helpText,children:r})]})})}))},25739:function(e,t,n){n(72791);var i=n(64554),r=n(50896),o=n(80184);t.Z=function(e){var t=e.children,n=e.title,s=e.helpbox,a=e.icon;return(0,o.jsxs)(i.Z,{sx:{display:"grid",padding:"25px",gap:"25px",gridTemplateColumns:{md:"2fr 1.2fr",xs:"1fr"},border:"1px solid #eaeaea"},children:[(0,o.jsxs)(i.Z,{children:[(0,o.jsx)(r.Z,{icon:a,children:n}),(0,o.jsx)(i.Z,{sx:{height:16}}),t]}),s]})}},72338:function(e,t,n){n.r(t),n.d(t,{default:function(){return f}});var i=n(72791),r=n(57689),o=n(64554),s=n(34345),a=n(56087),l=n(32291),c=n(84669),d=n(74794),m=n(61889),g=n(75952),x=n(80184),h=function(e){var t=e.onClick,n=e.icon,i=e.name,r={tierTypeCard:{height:"80px",width:"auto",display:"flex",alignItems:"center",justifyContent:"flex-start",padding:5,border:"1px solid #E5E5E5",borderRadius:2,cursor:"pointer",overflow:"hidden","&:hover":{background:"#ebebeb"}},tierTypeTitle:{fontWeight:600,fontSize:14,justifyContent:"center"}};return(0,x.jsx)(g.zxk,{id:i,onClick:function(){t(i)},style:r.tierTypeCard,children:(0,x.jsxs)(m.ZP,{container:!0,alignItems:"center",children:[n?(0,x.jsx)(m.ZP,{item:!0,padding:1,xs:4,children:(0,x.jsx)(o.Z,{sx:{"& .min-icon":{height:"30px",width:"30px"}},children:n})}):null,(0,x.jsx)(m.ZP,{item:!0,xs:8,style:r.tierTypeTitle,paddingLeft:1,children:i})]})})},p=n(23804),u=n(25739),f=function(){var e=(0,r.s0)();return(0,x.jsxs)(i.Fragment,{children:[(0,x.jsx)(l.Z,{label:(0,x.jsx)(i.Fragment,{children:(0,x.jsx)(c.Z,{to:a.gA.TIERS,label:"Tier Types"})}),actions:(0,x.jsx)(i.Fragment,{})}),(0,x.jsx)(d.Z,{children:(0,x.jsx)(u.Z,{title:"Select Tier Type",icon:(0,x.jsx)(g.y2Y,{}),helpbox:(0,x.jsx)(p.Z,{iconComponent:(0,x.jsx)(g.y2Y,{}),title:"Tier Types",help:(0,x.jsxs)(i.Fragment,{children:["MinIO supports creating object transition lifecycle management rules, where MinIO can automatically move an object to a remote storage \u201ctier\u201d.",(0,x.jsx)("br",{}),(0,x.jsx)("br",{}),"MinIO supports the following Tier types:",(0,x.jsx)("br",{}),(0,x.jsxs)("ul",{children:[(0,x.jsx)("li",{children:(0,x.jsx)("a",{href:"https://min.io/docs/minio/kubernetes/upstream/administration/object-management/transition-objects-to-s3.html#minio-lifecycle-management-transition-to-s3?ref=con",target:"_blank",rel:"noreferrer",children:"MinIO or other S3-compatible storage"})}),(0,x.jsx)("li",{children:(0,x.jsx)("a",{href:"https://min.io/docs/minio/kubernetes/upstream/administration/object-management/transition-objects-to-s3.html#minio-lifecycle-management-transition-to-s3?ref=con",target:"_blank",rel:"noreferrer",children:"Amazon S3"})}),(0,x.jsx)("li",{children:(0,x.jsx)("a",{href:"https://min.io/docs/minio/kubernetes/upstream/administration/object-management/transition-objects-to-gcs.html#minio-lifecycle-management-transition-to-gcs?ref=con",target:"_blank",rel:"noreferrer",children:"Google Cloud Storage"})}),(0,x.jsx)("li",{children:(0,x.jsx)("a",{href:"https://min.io/docs/minio/kubernetes/upstream/administration/object-management/transition-objects-to-azure.html#minio-lifecycle-management-transition-to-azure?ref=con",target:"_blank",rel:"noreferrer",children:"Microsoft Azure Blob Storage"})})]})]})}),children:(0,x.jsx)(o.Z,{sx:{margin:"15px",display:"grid",gridGap:"20px",gridTemplateColumns:{xs:"repeat(1, 1fr)",sm:"repeat(1, 1fr)",md:"repeat(2, 1fr)",lg:"repeat(2, 1fr)"}},children:s.Bh.map((function(t,n){return(0,x.jsx)(h,{name:t.targetTitle,onClick:function(){var n;n=t.serviceName,e("".concat(a.gA.TIERS_ADD,"/").concat(n))},icon:t.logo},"tierOpt-".concat(n.toString,"-").concat(t.targetTitle))}))})})})]})}},34345:function(e,t,n){n.d(t,{Bh:function(){return c},Pp:function(){return o},b2:function(){return a},f0:function(){return s},vB:function(){return l}});var i=n(75952),r=n(80184),o="minio",s="gcs",a="s3",l="azure",c=[{serviceName:o,targetTitle:"MinIO",logo:(0,r.jsx)(i.$E9,{}),logoXs:(0,r.jsx)(i.YEz,{})},{serviceName:s,targetTitle:"Google Cloud Storage",logo:(0,r.jsx)(i.UQG,{}),logoXs:(0,r.jsx)(i.Vwu,{})},{serviceName:a,targetTitle:"AWS S3",logo:(0,r.jsx)(i.feu,{}),logoXs:(0,r.jsx)(i.Xj3,{})},{serviceName:l,targetTitle:"Azure",logo:(0,r.jsx)(i.jze,{}),logoXs:(0,r.jsx)(i.nAe,{})}]}}]); +//# sourceMappingURL=2338.d265a623.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2338.0f7ba0f5.chunk.js.map b/portal-ui/build/static/js/2338.d265a623.chunk.js.map similarity index 61% rename from portal-ui/build/static/js/2338.0f7ba0f5.chunk.js.map rename to portal-ui/build/static/js/2338.d265a623.chunk.js.map index 593bafe3e..0b3047f14 100644 --- a/portal-ui/build/static/js/2338.0f7ba0f5.chunk.js.map +++ b/portal-ui/build/static/js/2338.d265a623.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/2338.0f7ba0f5.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/FormLayout.tsx","screens/Console/Configurations/TiersConfiguration/TierTypeCard.tsx","screens/Console/Configurations/TiersConfiguration/TierTypeSelector.tsx","screens/Console/Configurations/TiersConfiguration/utils.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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string | React.ReactNode;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 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 \"@mui/material\";\nimport SectionTitle from \"./SectionTitle\";\n\ntype Props = {\n title: string;\n icon: React.ReactNode;\n helpbox?: React.ReactNode;\n children: React.ReactNode;\n};\n\nconst FormLayout: React.FC = ({ children, title, helpbox, icon }) => {\n return (\n \n \n {title}\n \n {children}\n \n\n {helpbox}\n \n );\n};\n\nexport default FormLayout;\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, Grid } from \"@mui/material\";\n\nimport { Button } from \"mds\";\n\ntype TierTypeCardProps = {\n onClick: (name: string) => void;\n icon?: any;\n name: string;\n};\nconst TierTypeCard = ({ onClick, icon, name }: TierTypeCardProps) => {\n const styles = {\n tierTypeCard: {\n height: \"80px\",\n width: \"auto\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n padding: 5,\n border: \"1px solid #E5E5E5\",\n borderRadius: 2,\n cursor: \"pointer\",\n overflow: \"hidden\",\n \"&:hover\": { background: \"#ebebeb\" },\n },\n tierTypeTitle: {\n fontWeight: 600,\n fontSize: 14,\n justifyContent: \"center\",\n },\n };\n return (\n {\n onClick(name);\n }}\n style={styles.tierTypeCard}\n >\n \n {icon ? (\n \n \n {icon}\n \n \n ) : null}\n \n {name}\n \n \n \n );\n};\n\nexport default TierTypeCard;\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 { tierTypes } from \"./utils\";\nimport { IAM_PAGES } from \"../../../../common/SecureComponent/permissions\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport BackLink from \"../../../../common/BackLink\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport TierTypeCard from \"./TierTypeCard\";\nimport HelpBox from \"../../../../common/HelpBox\";\nimport { TiersIcon } from \"../../../../icons\";\nimport FormLayout from \"../../Common/FormLayout\";\n\nconst TierTypeSelector = () => {\n const navigate = useNavigate();\n\n const typeSelect = (selectName: string) => {\n navigate(`${IAM_PAGES.TIERS_ADD}/${selectName}`);\n };\n\n return (\n \n \n \n \n }\n actions={}\n />\n\n \n }\n helpbox={\n }\n title={\"Tier Types\"}\n help={\n \n MinIO supports creating object transition lifecycle management\n rules, where MinIO can automatically move an object to a\n remote storage “tier”.\n
\n
\n MinIO supports the following Tier types:\n
\n
    \n
  • \n \n MinIO or other S3-compatible storage\n \n
  • \n
  • \n \n Amazon S3\n \n
  • \n
  • \n \n Google Cloud Storage\n \n
  • \n
  • \n \n Microsoft Azure Blob Storage\n \n
  • \n
\n
\n }\n />\n }\n >\n \n {tierTypes.map((tierType, index) => (\n {\n typeSelect(tierType.serviceName);\n }}\n icon={tierType.logo}\n />\n ))}\n \n \n
\n \n );\n};\n\nexport default TierTypeSelector;\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 \"../../../../icons\";\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"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","children","helpbox","icon","sx","padding","gap","gridTemplateColumns","md","onClick","name","styles","tierTypeCard","justifyContent","cursor","overflow","background","tierTypeTitle","id","style","Grid","Box","navigate","useNavigate","Fragment","PageHeader","label","BackLink","to","IAM_PAGES","actions","PageLayout","FormLayout","HelpBox","href","target","rel","margin","gridGap","sm","lg","tierTypes","tierType","index","targetTitle","selectName","serviceName","logo","toString","minioServiceName","gcsServiceName","s3ServiceName","azureServiceName","logoXs"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/2338.d265a623.chunk.js","mappings":"sKA0EA,KAAeA,EAAAA,EAAAA,IApDA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,GAAa,CACXC,KAAM,CACJC,OAAQ,oBACRC,aAAc,EACdC,gBAAiB,UACjBC,YAAa,GACbC,WAAY,GACZC,cAAe,GACfC,aAAc,IAEhBC,UAAW,CACTC,SAAU,GACVC,WAAY,OACZC,aAAc,GACdC,QAAS,OACTC,WAAY,SACZ,cAAe,CACbC,YAAa,GACbC,OAAQ,GACRC,MAAO,KAGXC,SAAU,CACRR,SAAU,GACVL,YAAa,IAEd,GAyBL,EAhBgB,SAAH,GAA2D,IAArDc,EAAO,EAAPA,QAASC,EAAa,EAAbA,cAAeC,EAAK,EAALA,MAAOC,EAAI,EAAJA,KAChD,OACE,gBAAKC,UAAWJ,EAAQlB,KAAK,UAC3B,UAAC,KAAI,CAACuB,WAAS,aACb,UAAC,KAAI,CAACC,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQV,UAAU,UAC7CW,EACAC,MAEH,SAAC,KAAI,CAACI,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQD,SAAS,SAC5CI,QAKX,G,sECpBA,IAzBoC,SAAH,GAA4C,IAAtCK,EAAQ,EAARA,SAAUN,EAAK,EAALA,MAAOO,EAAO,EAAPA,QAASC,EAAI,EAAJA,KAC/D,OACE,UAAC,IAAG,CACFC,GAAI,CACFjB,QAAS,OACTkB,QAAS,OACTC,IAAK,OACLC,oBAAqB,CACnBC,GAAI,YACJR,GAAI,OAENxB,OAAQ,qBACR,WAEF,UAAC,IAAG,YACF,SAAC,IAAY,CAAC2B,KAAMA,EAAK,SAAER,KAC3B,SAAC,IAAG,CAACS,GAAI,CAAEd,OAAQ,MAClBW,KAGFC,IAGP,C,kMC4BA,EApDqB,SAAH,GAAoD,IAA9CO,EAAO,EAAPA,QAASN,EAAI,EAAJA,KAAMO,EAAI,EAAJA,KAC/BC,EAAS,CACbC,aAAc,CACZtB,OAAQ,OACRC,MAAO,OACPJ,QAAS,OACTC,WAAY,SACZyB,eAAgB,aAChBR,QAAS,EACT7B,OAAQ,oBACRC,aAAc,EACdqC,OAAQ,UACRC,SAAU,SACV,UAAW,CAAEC,WAAY,YAE3BC,cAAe,CACbhC,WAAY,IACZD,SAAU,GACV6B,eAAgB,WAGpB,OACE,SAAC,MAAM,CACLK,GAAIR,EACJD,QAAS,WACPA,EAAQC,EACV,EACAS,MAAOR,EAAOC,aAAa,UAE3B,UAACQ,EAAA,GAAI,CAACtB,WAAS,EAACV,WAAY,SAAS,UAClCe,GACC,SAACiB,EAAA,GAAI,CAACrB,MAAI,EAACM,QAAS,EAAGL,GAAI,EAAE,UAC3B,SAACqB,EAAA,EAAG,CACFjB,GAAI,CACF,cAAe,CACbd,OAAQ,OACRC,MAAO,SAET,SAEDY,MAGH,MACJ,SAACiB,EAAA,GAAI,CAACrB,MAAI,EAACC,GAAI,EAAGmB,MAAOR,EAAOM,cAAetC,YAAa,EAAE,SAC3D+B,QAKX,E,sBC6DA,EA5GyB,WACvB,IAAMY,GAAWC,EAAAA,EAAAA,MAMjB,OACE,UAAC,EAAAC,SAAQ,YACP,SAACC,EAAA,EAAU,CACTC,OACE,SAAC,EAAAF,SAAQ,WACP,SAACG,EAAA,EAAQ,CAACC,GAAIC,EAAAA,GAAAA,MAAiBH,MAAM,iBAGzCI,SAAS,SAAC,WAAc,OAG1B,SAACC,EAAA,EAAU,WACT,SAACC,EAAA,EAAU,CACTrC,MAAO,mBACPQ,MAAM,SAAC,MAAS,IAChBD,SACE,SAAC+B,EAAA,EAAO,CACNvC,eAAe,SAAC,MAAS,IACzBC,MAAO,aACPC,MACE,UAAC,EAAA4B,SAAQ,WAAC,4JAIR,mBACA,kBAAM,4CAEN,mBACA,2BACE,yBACE,cACEU,KAAK,mKACLC,OAAO,SACPC,IAAI,aAAY,SACjB,4CAIH,yBACE,cACEF,KAAK,mKACLC,OAAO,SACPC,IAAI,aAAY,SACjB,iBAIH,yBACE,cACEF,KAAK,qKACLC,OAAO,SACPC,IAAI,aAAY,SACjB,4BAIH,yBACE,cACEF,KAAK,yKACLC,OAAO,SACPC,IAAI,aAAY,SACjB,2CAQZ,UAED,SAACf,EAAA,EAAG,CACFjB,GAAI,CACFiC,OAAQ,OACRlD,QAAS,OACTmD,QAAS,OACT/B,oBAAqB,CACnBP,GAAI,iBACJuC,GAAI,iBACJ/B,GAAI,iBACJgC,GAAI,mBAEN,SAEDC,EAAAA,GAAAA,KAAc,SAACC,EAAUC,GAAK,OAC7B,SAAC,EAAY,CAEXjC,KAAMgC,EAASE,YACfnC,QAAS,WA5FJ,IAACoC,IA6FOH,EAASI,YA5FlCxB,EAAS,GAAD,OAAIO,EAAAA,GAAAA,UAAmB,YAAIgB,GA6FvB,EACA1C,KAAMuC,EAASK,MAAK,kBALJJ,EAAMK,SAAQ,YAAIN,EAASE,aAM3C,YAOhB,C,mLC5GaK,EAAmB,QACnBC,EAAiB,MACjBC,EAAgB,KAChBC,EAAmB,QAEnBX,EAAY,CACvB,CACEK,YAAaG,EACbL,YAAa,QACbG,MAAM,SAAC,MAAa,IACpBM,QAAQ,SAAC,MAAe,KAE1B,CACEP,YAAaI,EACbN,YAAa,uBACbG,MAAM,SAAC,MAAc,IACrBM,QAAQ,SAAC,MAAgB,KAE3B,CACEP,YAAaK,EACbP,YAAa,SACbG,MAAM,SAAC,MAAU,IACjBM,QAAQ,SAAC,MAAY,KAEvB,CACEP,YAAaM,EACbR,YAAa,QACbG,MAAM,SAAC,MAAa,IACpBM,QAAQ,SAAC,MAAe,K","sources":["common/HelpBox.tsx","screens/Console/Common/FormLayout.tsx","screens/Console/Configurations/TiersConfiguration/TierTypeCard.tsx","screens/Console/Configurations/TiersConfiguration/TierTypeSelector.tsx","screens/Console/Configurations/TiersConfiguration/utils.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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string | React.ReactNode;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 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 \"@mui/material\";\nimport SectionTitle from \"./SectionTitle\";\n\ntype Props = {\n title: string;\n icon: React.ReactNode;\n helpbox?: React.ReactNode;\n children: React.ReactNode;\n};\n\nconst FormLayout: React.FC = ({ children, title, helpbox, icon }) => {\n return (\n \n \n {title}\n \n {children}\n \n\n {helpbox}\n \n );\n};\n\nexport default FormLayout;\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, Grid } from \"@mui/material\";\n\nimport { Button } from \"mds\";\n\ntype TierTypeCardProps = {\n onClick: (name: string) => void;\n icon?: any;\n name: string;\n};\nconst TierTypeCard = ({ onClick, icon, name }: TierTypeCardProps) => {\n const styles = {\n tierTypeCard: {\n height: \"80px\",\n width: \"auto\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n padding: 5,\n border: \"1px solid #E5E5E5\",\n borderRadius: 2,\n cursor: \"pointer\",\n overflow: \"hidden\",\n \"&:hover\": { background: \"#ebebeb\" },\n },\n tierTypeTitle: {\n fontWeight: 600,\n fontSize: 14,\n justifyContent: \"center\",\n },\n };\n return (\n {\n onClick(name);\n }}\n style={styles.tierTypeCard}\n >\n \n {icon ? (\n \n \n {icon}\n \n \n ) : null}\n \n {name}\n \n \n \n );\n};\n\nexport default TierTypeCard;\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 { tierTypes } from \"./utils\";\nimport { IAM_PAGES } from \"../../../../common/SecureComponent/permissions\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport BackLink from \"../../../../common/BackLink\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport TierTypeCard from \"./TierTypeCard\";\nimport HelpBox from \"../../../../common/HelpBox\";\nimport { TiersIcon } from \"mds\";\nimport FormLayout from \"../../Common/FormLayout\";\n\nconst TierTypeSelector = () => {\n const navigate = useNavigate();\n\n const typeSelect = (selectName: string) => {\n navigate(`${IAM_PAGES.TIERS_ADD}/${selectName}`);\n };\n\n return (\n \n \n \n \n }\n actions={}\n />\n\n \n }\n helpbox={\n }\n title={\"Tier Types\"}\n help={\n \n MinIO supports creating object transition lifecycle management\n rules, where MinIO can automatically move an object to a\n remote storage “tier”.\n
\n
\n MinIO supports the following Tier types:\n
\n
    \n
  • \n \n MinIO or other S3-compatible storage\n \n
  • \n
  • \n \n Amazon S3\n \n
  • \n
  • \n \n Google Cloud Storage\n \n
  • \n
  • \n \n Microsoft Azure Blob Storage\n \n
  • \n
\n
\n }\n />\n }\n >\n \n {tierTypes.map((tierType, index) => (\n {\n typeSelect(tierType.serviceName);\n }}\n icon={tierType.logo}\n />\n ))}\n \n \n
\n \n );\n};\n\nexport default TierTypeSelector;\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"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","children","helpbox","icon","sx","padding","gap","gridTemplateColumns","md","onClick","name","styles","tierTypeCard","justifyContent","cursor","overflow","background","tierTypeTitle","id","style","Grid","Box","navigate","useNavigate","Fragment","PageHeader","label","BackLink","to","IAM_PAGES","actions","PageLayout","FormLayout","HelpBox","href","target","rel","margin","gridGap","sm","lg","tierTypes","tierType","index","targetTitle","selectName","serviceName","logo","toString","minioServiceName","gcsServiceName","s3ServiceName","azureServiceName","logoXs"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2408.4f7b17cd.chunk.js.map b/portal-ui/build/static/js/2408.4f7b17cd.chunk.js.map deleted file mode 100644 index 8e83c764a..000000000 --- a/portal-ui/build/static/js/2408.4f7b17cd.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/2408.4f7b17cd.chunk.js","mappings":"qQAiGA,WAAeA,EAAAA,EAAAA,IA1DA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,IAAa,UACRC,EAAAA,IACF,GAuDL,EArD6B,SAAH,GAOI,IAN5BC,EAAU,EAAVA,WACAC,EAAW,EAAXA,YACAC,EAAW,EAAXA,YACAC,EAAgB,EAAhBA,iBACAC,EAAU,EAAVA,WACAC,EAAO,EAAPA,QAEMC,GAAWC,EAAAA,EAAAA,MACjB,UAA2BL,EAAW,GAA/BM,EAAM,KAAEC,EAAQ,KAOvB,GAAyCC,EAAAA,EAAAA,IALpB,WAAH,OAASP,GAAiB,EAAM,IAC/B,SAACQ,GAAyB,OAC3CL,GAASM,EAAAA,EAAAA,IAAqBD,GAAM,IAGmC,eAAlEE,EAAa,KAAEC,EAAe,KAErC,IAAKZ,EACH,OAAO,KAYT,OACE,SAAC,IAAa,CACZa,MAAK,aACLC,YAAa,SACbC,OAAQjB,EACRkB,WAAW,SAAC,MAAiB,IAC7BC,UAAWN,EACXO,UAhBoB,WACtB,IAAMC,GAAW,UAAQpB,UAClBoB,EAAYb,GAEnBM,EAAgB,MAAM,mBAAD,OAAqBV,EAAU,SAAS,CAC3DkB,KAAMD,GAEV,EAUIE,QAzBY,WAAH,OAASpB,GAAiB,EAAO,EA0B1CqB,qBACE,UAAC,IAAiB,WAAC,0CACuB,KACxC,eAAGC,UAAWpB,EAAQqB,SAAS,UAC5BlB,EAAO,MAAIC,KACT,IAAI,QAMnB,G","sources":["screens/Console/Buckets/BucketDetails/DeleteBucketTagModal.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\";\n\nimport { DialogContentText } from \"@mui/material\";\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 { ErrorResponseHandler } from \"../../../../common/types\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IDeleteBucketTagModal {\n deleteOpen: boolean;\n currentTags: any;\n bucketName: string;\n selectedTag: string[];\n onCloseAndUpdate: (refresh: boolean) => void;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n });\n\nconst DeleteBucketTagModal = ({\n deleteOpen,\n currentTags,\n selectedTag,\n onCloseAndUpdate,\n bucketName,\n classes,\n}: IDeleteBucketTagModal) => {\n const dispatch = useAppDispatch();\n const [tagKey, tagLabel] = selectedTag;\n\n const onDelSuccess = () => onCloseAndUpdate(true);\n const onDelError = (err: ErrorResponseHandler) =>\n dispatch(setErrorSnackMessage(err));\n const onClose = () => onCloseAndUpdate(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!selectedTag) {\n return null;\n }\n\n const onConfirmDelete = () => {\n const cleanObject = { ...currentTags };\n delete cleanObject[tagKey];\n\n invokeDeleteApi(\"PUT\", `/api/v1/buckets/${bucketName}/tags`, {\n tags: cleanObject,\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 the tag{\" \"}\n \n {tagKey} : {tagLabel}\n {\" \"}\n ?\n \n }\n />\n );\n};\n\nexport default withStyles(styles)(DeleteBucketTagModal);\n"],"names":["withStyles","theme","createStyles","modalBasic","deleteOpen","currentTags","selectedTag","onCloseAndUpdate","bucketName","classes","dispatch","useAppDispatch","tagKey","tagLabel","useApi","err","setErrorSnackMessage","deleteLoading","invokeDeleteApi","title","confirmText","isOpen","titleIcon","isLoading","onConfirm","cleanObject","tags","onClose","confirmationContent","className","wrapText"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2408.4f7b17cd.chunk.js b/portal-ui/build/static/js/2408.b23e320f.chunk.js similarity index 89% rename from portal-ui/build/static/js/2408.4f7b17cd.chunk.js rename to portal-ui/build/static/js/2408.b23e320f.chunk.js index 100b4fef5..a08a22537 100644 --- a/portal-ui/build/static/js/2408.4f7b17cd.chunk.js +++ b/portal-ui/build/static/js/2408.b23e320f.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2408],{22763:function(e,t,n){n.r(t);var r=n(29439),u=n(1413),o=(n(72791),n(51691)),s=n(11135),a=n(25787),c=n(23814),i=n(9505),l=n(23508),f=n(56096),d=n(87995),p=n(25469),Z=n(80184);t.default=(0,a.Z)((function(e){return(0,s.Z)((0,u.Z)({},c.oO))}))((function(e){var t=e.deleteOpen,n=e.currentTags,s=e.selectedTag,a=e.onCloseAndUpdate,c=e.bucketName,T=e.classes,g=(0,p.TL)(),h=(0,r.Z)(s,2),k=h[0],x=h[1],C=(0,i.Z)((function(){return a(!0)}),(function(e){return g((0,d.Ih)(e))})),b=(0,r.Z)(C,2),m=b[0],v=b[1];if(!s)return null;return(0,Z.jsx)(l.Z,{title:"Delete Tag",confirmText:"Delete",isOpen:t,titleIcon:(0,Z.jsx)(f.NvT,{}),isLoading:m,onConfirm:function(){var e=(0,u.Z)({},n);delete e[k],v("PUT","/api/v1/buckets/".concat(c,"/tags"),{tags:e})},onClose:function(){return a(!1)},confirmationContent:(0,Z.jsxs)(o.Z,{children:["Are you sure you want to delete the tag"," ",(0,Z.jsxs)("b",{className:T.wrapText,children:[k," : ",x]})," ","?"]})})}))}}]); -//# sourceMappingURL=2408.4f7b17cd.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2408],{22763:function(e,t,n){n.r(t);var r=n(29439),u=n(1413),o=(n(72791),n(51691)),s=n(11135),a=n(25787),c=n(23814),i=n(9505),l=n(23508),f=n(75952),d=n(87995),p=n(25469),Z=n(80184);t.default=(0,a.Z)((function(e){return(0,s.Z)((0,u.Z)({},c.oO))}))((function(e){var t=e.deleteOpen,n=e.currentTags,s=e.selectedTag,a=e.onCloseAndUpdate,c=e.bucketName,T=e.classes,g=(0,p.TL)(),h=(0,r.Z)(s,2),k=h[0],x=h[1],C=(0,i.Z)((function(){return a(!0)}),(function(e){return g((0,d.Ih)(e))})),b=(0,r.Z)(C,2),m=b[0],v=b[1];if(!s)return null;return(0,Z.jsx)(l.Z,{title:"Delete Tag",confirmText:"Delete",isOpen:t,titleIcon:(0,Z.jsx)(f.NvT,{}),isLoading:m,onConfirm:function(){var e=(0,u.Z)({},n);delete e[k],v("PUT","/api/v1/buckets/".concat(c,"/tags"),{tags:e})},onClose:function(){return a(!1)},confirmationContent:(0,Z.jsxs)(o.Z,{children:["Are you sure you want to delete the tag"," ",(0,Z.jsxs)("b",{className:T.wrapText,children:[k," : ",x]})," ","?"]})})}))}}]); +//# sourceMappingURL=2408.b23e320f.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2408.b23e320f.chunk.js.map b/portal-ui/build/static/js/2408.b23e320f.chunk.js.map new file mode 100644 index 000000000..b99b4efde --- /dev/null +++ b/portal-ui/build/static/js/2408.b23e320f.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2408.b23e320f.chunk.js","mappings":"qQAiGA,WAAeA,EAAAA,EAAAA,IA1DA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,IAAa,UACRC,EAAAA,IACF,GAuDL,EArD6B,SAAH,GAOI,IAN5BC,EAAU,EAAVA,WACAC,EAAW,EAAXA,YACAC,EAAW,EAAXA,YACAC,EAAgB,EAAhBA,iBACAC,EAAU,EAAVA,WACAC,EAAO,EAAPA,QAEMC,GAAWC,EAAAA,EAAAA,MACjB,UAA2BL,EAAW,GAA/BM,EAAM,KAAEC,EAAQ,KAOvB,GAAyCC,EAAAA,EAAAA,IALpB,WAAH,OAASP,GAAiB,EAAM,IAC/B,SAACQ,GAAyB,OAC3CL,GAASM,EAAAA,EAAAA,IAAqBD,GAAM,IAGmC,eAAlEE,EAAa,KAAEC,EAAe,KAErC,IAAKZ,EACH,OAAO,KAYT,OACE,SAAC,IAAa,CACZa,MAAK,aACLC,YAAa,SACbC,OAAQjB,EACRkB,WAAW,SAAC,MAAiB,IAC7BC,UAAWN,EACXO,UAhBoB,WACtB,IAAMC,GAAW,UAAQpB,UAClBoB,EAAYb,GAEnBM,EAAgB,MAAM,mBAAD,OAAqBV,EAAU,SAAS,CAC3DkB,KAAMD,GAEV,EAUIE,QAzBY,WAAH,OAASpB,GAAiB,EAAO,EA0B1CqB,qBACE,UAAC,IAAiB,WAAC,0CACuB,KACxC,eAAGC,UAAWpB,EAAQqB,SAAS,UAC5BlB,EAAO,MAAIC,KACT,IAAI,QAMnB,G","sources":["screens/Console/Buckets/BucketDetails/DeleteBucketTagModal.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\";\n\nimport { DialogContentText } from \"@mui/material\";\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 { ErrorResponseHandler } from \"../../../../common/types\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"mds\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IDeleteBucketTagModal {\n deleteOpen: boolean;\n currentTags: any;\n bucketName: string;\n selectedTag: string[];\n onCloseAndUpdate: (refresh: boolean) => void;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n });\n\nconst DeleteBucketTagModal = ({\n deleteOpen,\n currentTags,\n selectedTag,\n onCloseAndUpdate,\n bucketName,\n classes,\n}: IDeleteBucketTagModal) => {\n const dispatch = useAppDispatch();\n const [tagKey, tagLabel] = selectedTag;\n\n const onDelSuccess = () => onCloseAndUpdate(true);\n const onDelError = (err: ErrorResponseHandler) =>\n dispatch(setErrorSnackMessage(err));\n const onClose = () => onCloseAndUpdate(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!selectedTag) {\n return null;\n }\n\n const onConfirmDelete = () => {\n const cleanObject = { ...currentTags };\n delete cleanObject[tagKey];\n\n invokeDeleteApi(\"PUT\", `/api/v1/buckets/${bucketName}/tags`, {\n tags: cleanObject,\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 the tag{\" \"}\n \n {tagKey} : {tagLabel}\n {\" \"}\n ?\n \n }\n />\n );\n};\n\nexport default withStyles(styles)(DeleteBucketTagModal);\n"],"names":["withStyles","theme","createStyles","modalBasic","deleteOpen","currentTags","selectedTag","onCloseAndUpdate","bucketName","classes","dispatch","useAppDispatch","tagKey","tagLabel","useApi","err","setErrorSnackMessage","deleteLoading","invokeDeleteApi","title","confirmText","isOpen","titleIcon","isLoading","onConfirm","cleanObject","tags","onClose","confirmationContent","className","wrapText"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/247.37adf47a.chunk.js b/portal-ui/build/static/js/247.37adf47a.chunk.js new file mode 100644 index 000000000..cbfbcf8a9 --- /dev/null +++ b/portal-ui/build/static/js/247.37adf47a.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[247],{40247:function(e,a,n){n.r(a);var t=n(29439),s=n(1413),l=n(72791),i=n(75952),o=n(61889),r=n(11135),c=n(25787),d=n(23814),u=n(21435),m=n(56028),Z=n(81207),g=n(87995),p=n(25469),f=n(80184);a.default=(0,c.Z)((function(e){return(0,r.Z)((0,s.Z)((0,s.Z)((0,s.Z)({},d.DF),d.ID),d.bK))}))((function(e){var a=e.modalOpen,n=e.currentTags,r=e.onCloseAndUpdate,c=e.bucketName,d=e.classes,x=(0,p.TL)(),h=(0,l.useState)(""),v=(0,t.Z)(h,2),b=v[0],j=v[1],k=(0,l.useState)(""),N=(0,t.Z)(k,2),C=N[0],w=N[1],T=(0,l.useState)(!1),y=(0,t.Z)(T,2),B=y[0],S=y[1];return(0,f.jsx)(m.Z,{modalOpen:a,title:"Add New Tag ",onClose:function(){r(!1)},titleIcon:(0,f.jsx)(i.OCT,{}),children:(0,f.jsxs)(o.ZP,{container:!0,children:[(0,f.jsxs)("div",{className:d.spacerBottom,children:[(0,f.jsx)("strong",{children:"Bucket"}),": ",c]}),(0,f.jsx)(o.ZP,{item:!0,xs:12,className:d.formFieldRow,children:(0,f.jsx)(u.Z,{value:b,label:"New Tag Key",id:"newTagKey",name:"newTagKey",placeholder:"Enter New Tag Key",onChange:function(e){j(e.target.value)}})}),(0,f.jsx)(o.ZP,{item:!0,xs:12,className:d.formFieldRow,children:(0,f.jsx)(u.Z,{value:C,label:"New Tag Label",id:"newTagLabel",name:"newTagLabel",placeholder:"Enter New Tag Label",onChange:function(e){w(e.target.value)}})}),(0,f.jsxs)(o.ZP,{item:!0,xs:12,className:d.modalButtonBar,children:[(0,f.jsx)(i.zxk,{id:"clear",type:"button",variant:"regular",onClick:function(){w(""),j("")},label:"Clear"}),(0,f.jsx)(i.zxk,{id:"save-add-bucket-tag",type:"submit",variant:"callAction",color:"primary",disabled:""===C.trim()||""===b.trim()||B,onClick:function(){S(!0);var e={};e[b]=C;var a=(0,s.Z)((0,s.Z)({},n),e);Z.Z.invoke("PUT","/api/v1/buckets/".concat(c,"/tags"),{tags:a}).then((function(e){S(!1),r(!0)})).catch((function(e){x((0,g.zb)(e)),S(!1)}))},label:"Save"})]})]})})}))},56028:function(e,a,n){var t=n(29439),s=n(1413),l=n(72791),i=n(78687),o=n(13400),r=n(55646),c=n(5574),d=n(65661),u=n(39157),m=n(11135),Z=n(25787),g=n(23814),p=n(25469),f=n(29823),x=n(28057),h=n(87995),v=n(80184);a.Z=(0,Z.Z)((function(e){return(0,m.Z)((0,s.Z)((0,s.Z)({},g.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},g.sN))}))((function(e){var a=e.onClose,n=e.modalOpen,m=e.title,Z=e.children,g=e.classes,b=e.wideLimit,j=void 0===b||b,k=e.noContentPadding,N=e.titleIcon,C=void 0===N?null:N,w=(0,p.TL)(),T=(0,l.useState)(!1),y=(0,t.Z)(T,2),B=y[0],S=y[1],E=(0,i.v9)((function(e){return e.system.modalSnackBar}));(0,l.useEffect)((function(){w((0,h.MK)(""))}),[w]),(0,l.useEffect)((function(){if(E){if(""===E.message)return void S(!1);"error"!==E.type&&S(!0)}}),[E]);var K=j?{classes:{paper:g.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},L="";return E&&(L=E.detailedErrorMsg,(""===E.detailedErrorMsg||E.detailedErrorMsg.length<5)&&(L=E.message)),(0,v.jsxs)(c.Z,(0,s.Z)((0,s.Z)({open:n,classes:g},K),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&a()},className:g.root,children:[(0,v.jsxs)(d.Z,{className:g.title,children:[(0,v.jsxs)("div",{className:g.titleText,children:[C," ",m]}),(0,v.jsx)("div",{className:g.closeContainer,children:(0,v.jsx)(o.Z,{"aria-label":"close",id:"close",className:g.closeButton,onClick:a,disableRipple:!0,size:"small",children:(0,v.jsx)(f.Z,{})})})]}),(0,v.jsx)(x.Z,{isModal:!0}),(0,v.jsx)(r.Z,{open:B,className:g.snackBarModal,onClose:function(){S(!1),w((0,h.MK)(""))},message:L,ContentProps:{className:"".concat(g.snackBar," ").concat(E&&"error"===E.type?g.errorSnackBar:"")},autoHideDuration:E&&"error"===E.type?1e4:5e3}),(0,v.jsx)(u.Z,{className:k?"":g.content,children:Z})]}))}))}}]); +//# sourceMappingURL=247.37adf47a.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/247.37adf47a.chunk.js.map b/portal-ui/build/static/js/247.37adf47a.chunk.js.map new file mode 100644 index 000000000..91edf582b --- /dev/null +++ b/portal-ui/build/static/js/247.37adf47a.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/247.37adf47a.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/AddBucketTagModal.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { 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 { ErrorResponseHandler } from \"../../../../common/types\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../../common/api\";\nimport { AddNewTagIcon } from \"mds\";\nimport { setModalErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\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\n .invoke(\"PUT\", `/api/v1/buckets/${bucketName}/tags`, {\n tags: newTagList,\n })\n .then((res: any) => {\n setIsSending(false);\n onCloseAndUpdate(true);\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setModalErrorSnackMessage(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, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n noContentPadding?: boolean;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n noContentPadding,\n titleIcon = null,\n}: IModalProps) => {\n const dispatch = useAppDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nexport default withStyles(styles)(ModalWrapper);\n"],"names":["withStyles","theme","createStyles","formFieldStyles","modalStyleUtils","spacingUtils","modalOpen","currentTags","onCloseAndUpdate","bucketName","classes","dispatch","useAppDispatch","useState","newKey","setNewKey","newLabel","setNewLabel","isSending","setIsSending","title","onClose","titleIcon","container","className","spacerBottom","item","xs","formFieldRow","value","label","id","name","placeholder","onChange","e","target","modalButtonBar","type","variant","onClick","color","disabled","trim","newTag","newTagList","api","tags","then","res","catch","error","setModalErrorSnackMessage","deleteDialogStyles","content","padding","paddingBottom","customDialogSize","width","maxWidth","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","modalSnackMessage","useSelector","state","system","modalSnackBar","useEffect","setModalSnackMessage","message","customSize","paper","fullWidth","detailedErrorMsg","length","open","scroll","event","reason","root","titleText","closeContainer","closeButton","disableRipple","size","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/247.f860e311.chunk.js b/portal-ui/build/static/js/247.f860e311.chunk.js deleted file mode 100644 index b532314a6..000000000 --- a/portal-ui/build/static/js/247.f860e311.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[247],{40247:function(e,a,n){n.r(a);var t=n(29439),s=n(1413),l=n(72791),i=n(75952),o=n(61889),r=n(11135),c=n(25787),d=n(23814),u=n(21435),m=n(56028),Z=n(81207),g=n(56096),p=n(87995),f=n(25469),x=n(80184);a.default=(0,c.Z)((function(e){return(0,r.Z)((0,s.Z)((0,s.Z)((0,s.Z)({},d.DF),d.ID),d.bK))}))((function(e){var a=e.modalOpen,n=e.currentTags,r=e.onCloseAndUpdate,c=e.bucketName,d=e.classes,h=(0,f.TL)(),v=(0,l.useState)(""),b=(0,t.Z)(v,2),j=b[0],N=b[1],k=(0,l.useState)(""),C=(0,t.Z)(k,2),w=C[0],T=C[1],y=(0,l.useState)(!1),B=(0,t.Z)(y,2),S=B[0],E=B[1];return(0,x.jsx)(m.Z,{modalOpen:a,title:"Add New Tag ",onClose:function(){r(!1)},titleIcon:(0,x.jsx)(g.OCT,{}),children:(0,x.jsxs)(o.ZP,{container:!0,children:[(0,x.jsxs)("div",{className:d.spacerBottom,children:[(0,x.jsx)("strong",{children:"Bucket"}),": ",c]}),(0,x.jsx)(o.ZP,{item:!0,xs:12,className:d.formFieldRow,children:(0,x.jsx)(u.Z,{value:j,label:"New Tag Key",id:"newTagKey",name:"newTagKey",placeholder:"Enter New Tag Key",onChange:function(e){N(e.target.value)}})}),(0,x.jsx)(o.ZP,{item:!0,xs:12,className:d.formFieldRow,children:(0,x.jsx)(u.Z,{value:w,label:"New Tag Label",id:"newTagLabel",name:"newTagLabel",placeholder:"Enter New Tag Label",onChange:function(e){T(e.target.value)}})}),(0,x.jsxs)(o.ZP,{item:!0,xs:12,className:d.modalButtonBar,children:[(0,x.jsx)(i.zx,{id:"clear",type:"button",variant:"regular",onClick:function(){T(""),N("")},label:"Clear"}),(0,x.jsx)(i.zx,{id:"save-add-bucket-tag",type:"submit",variant:"callAction",color:"primary",disabled:""===w.trim()||""===j.trim()||S,onClick:function(){E(!0);var e={};e[j]=w;var a=(0,s.Z)((0,s.Z)({},n),e);Z.Z.invoke("PUT","/api/v1/buckets/".concat(c,"/tags"),{tags:a}).then((function(e){E(!1),r(!0)})).catch((function(e){h((0,p.zb)(e)),E(!1)}))},label:"Save"})]})]})})}))},56028:function(e,a,n){var t=n(29439),s=n(1413),l=n(72791),i=n(78687),o=n(13400),r=n(55646),c=n(5574),d=n(65661),u=n(39157),m=n(11135),Z=n(25787),g=n(23814),p=n(25469),f=n(29823),x=n(28057),h=n(87995),v=n(80184);a.Z=(0,Z.Z)((function(e){return(0,m.Z)((0,s.Z)((0,s.Z)({},g.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},g.sN))}))((function(e){var a=e.onClose,n=e.modalOpen,m=e.title,Z=e.children,g=e.classes,b=e.wideLimit,j=void 0===b||b,N=e.noContentPadding,k=e.titleIcon,C=void 0===k?null:k,w=(0,p.TL)(),T=(0,l.useState)(!1),y=(0,t.Z)(T,2),B=y[0],S=y[1],E=(0,i.v9)((function(e){return e.system.modalSnackBar}));(0,l.useEffect)((function(){w((0,h.MK)(""))}),[w]),(0,l.useEffect)((function(){if(E){if(""===E.message)return void S(!1);"error"!==E.type&&S(!0)}}),[E]);var K=j?{classes:{paper:g.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},L="";return E&&(L=E.detailedErrorMsg,(""===E.detailedErrorMsg||E.detailedErrorMsg.length<5)&&(L=E.message)),(0,v.jsxs)(c.Z,(0,s.Z)((0,s.Z)({open:n,classes:g},K),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&a()},className:g.root,children:[(0,v.jsxs)(d.Z,{className:g.title,children:[(0,v.jsxs)("div",{className:g.titleText,children:[C," ",m]}),(0,v.jsx)("div",{className:g.closeContainer,children:(0,v.jsx)(o.Z,{"aria-label":"close",id:"close",className:g.closeButton,onClick:a,disableRipple:!0,size:"small",children:(0,v.jsx)(f.Z,{})})})]}),(0,v.jsx)(x.Z,{isModal:!0}),(0,v.jsx)(r.Z,{open:B,className:g.snackBarModal,onClose:function(){S(!1),w((0,h.MK)(""))},message:L,ContentProps:{className:"".concat(g.snackBar," ").concat(E&&"error"===E.type?g.errorSnackBar:"")},autoHideDuration:E&&"error"===E.type?1e4:5e3}),(0,v.jsx)(u.Z,{className:N?"":g.content,children:Z})]}))}))}}]); -//# sourceMappingURL=247.f860e311.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/247.f860e311.chunk.js.map b/portal-ui/build/static/js/247.f860e311.chunk.js.map deleted file mode 100644 index 1e8d23c1f..000000000 --- a/portal-ui/build/static/js/247.f860e311.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/247.f860e311.chunk.js","mappings":"2RAwJA,WAAeA,EAAAA,EAAAA,IA5GA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,IAAa,0BACRC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACF,GAuGL,EArG0B,SAAH,GAOC,IANtBC,EAAS,EAATA,UACAC,EAAW,EAAXA,YACAC,EAAgB,EAAhBA,iBACAC,EAAU,EAAVA,WAEAC,EAAO,EAAPA,QAEMC,GAAWC,EAAAA,EAAAA,MACjB,GAA4BC,EAAAA,EAAAA,UAAiB,IAAG,eAAzCC,EAAM,KAAEC,EAAS,KACxB,GAAgCF,EAAAA,EAAAA,UAAiB,IAAG,eAA7CG,EAAQ,KAAEC,EAAW,KAC5B,GAAkCJ,EAAAA,EAAAA,WAAkB,GAAM,eAAnDK,EAAS,KAAEC,EAAY,KA4B9B,OACE,SAAC,IAAY,CACXb,UAAWA,EACXc,MAAK,eACLC,QAAS,WACPb,GAAiB,EACnB,EACAc,WAAW,SAAC,MAAa,IAAI,UAE7B,UAAC,KAAI,CAACC,WAAS,aACb,iBAAKC,UAAWd,EAAQe,aAAa,WACnC,4BAAQ,WAAe,KAAGhB,MAE5B,SAAC,KAAI,CAACiB,MAAI,EAACC,GAAI,GAAIH,UAAWd,EAAQkB,aAAa,UACjD,SAAC,IAAe,CACdC,MAAOf,EACPgB,MAAO,cACPC,GAAI,YACJC,KAAM,YACNC,YAAa,oBACbC,SAAU,SAACC,GACTpB,EAAUoB,EAAEC,OAAOP,MACrB,OAGJ,SAAC,KAAI,CAACH,MAAI,EAACC,GAAI,GAAIH,UAAWd,EAAQkB,aAAa,UACjD,SAAC,IAAe,CACdC,MAAOb,EACPc,MAAO,gBACPC,GAAI,cACJC,KAAM,cACNC,YAAa,sBACbC,SAAU,SAACC,GACTlB,EAAYkB,EAAEC,OAAOP,MACvB,OAGJ,UAAC,KAAI,CAACH,MAAI,EAACC,GAAI,GAAIH,UAAWd,EAAQ2B,eAAe,WACnD,SAAC,KAAM,CACLN,GAAI,QACJO,KAAK,SACLC,QAAQ,UACRC,QApEQ,WAChBvB,EAAY,IACZF,EAAU,GACZ,EAkEUe,MAAO,WAET,SAAC,KAAM,CACLC,GAAI,sBACJO,KAAK,SACLC,QAAQ,aACRE,MAAM,UACNC,SACsB,KAApB1B,EAAS2B,QAAmC,KAAlB7B,EAAO6B,QAAiBzB,EAEpDsB,QA1EY,WACpBrB,GAAa,GACb,IAAMyB,EAAc,CAAC,EAErBA,EAAO9B,GAAUE,EACjB,IAAM6B,GAAU,kBAAQtC,GAAgBqC,GAExCE,EAAAA,EAAAA,OACU,MAAM,mBAAD,OAAqBrC,EAAU,SAAS,CACnDsC,KAAMF,IAEPG,MAAK,SAACC,GACL9B,GAAa,GACbX,GAAiB,EACnB,IACC0C,OAAM,SAACC,GACNxC,GAASyC,EAAAA,EAAAA,IAA0BD,IACnChC,GAAa,EACf,GACJ,EAwDUW,MAAO,gBAMnB,G,qNCuBA,KAAe9B,EAAAA,EAAAA,IAlIA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,IAAa,kBACRmD,EAAAA,IAAkB,IACrBC,QAAS,CACPC,QAAS,GACTC,cAAe,GAEjBC,iBAAkB,CAChBC,MAAO,OACPC,SAAU,MAETC,EAAAA,IACF,GAsHL,EApHqB,SAAH,GASE,IARlBvC,EAAO,EAAPA,QACAf,EAAS,EAATA,UACAc,EAAK,EAALA,MACAyC,EAAQ,EAARA,SACAnD,EAAO,EAAPA,QAAQ,EAAD,EACPoD,UAAAA,OAAS,OAAO,EAChBC,EAAgB,EAAhBA,iBAAiB,EAAD,EAChBzC,UAAAA,OAAS,MAAG,KAAI,EAEVX,GAAWC,EAAAA,EAAAA,MACjB,GAAwCC,EAAAA,EAAAA,WAAkB,GAAM,eAAzDmD,EAAY,KAAEC,EAAe,KAE9BC,GAAoBC,EAAAA,EAAAA,KACxB,SAACC,GAAe,OAAKA,EAAMC,OAAOC,aAAa,KAGjDC,EAAAA,EAAAA,YAAU,WACR5D,GAAS6D,EAAAA,EAAAA,IAAqB,IAChC,GAAG,CAAC7D,KAEJ4D,EAAAA,EAAAA,YAAU,WACR,GAAIL,EAAmB,CACrB,GAAkC,KAA9BA,EAAkBO,QAEpB,YADAR,GAAgB,GAIa,UAA3BC,EAAkB5B,MACpB2B,GAAgB,EAEpB,CACF,GAAG,CAACC,IAEJ,IAKMQ,EAAaZ,EACf,CACEpD,QAAS,CACPiE,MAAOjE,EAAQ+C,mBAGnB,CAAEE,SAAU,KAAeiB,WAAW,GAEtCH,EAAU,GAYd,OAVIP,IACFO,EAAUP,EAAkBW,kBAEa,KAAvCX,EAAkBW,kBAClBX,EAAkBW,iBAAiBC,OAAS,KAE5CL,EAAUP,EAAkBO,WAK9B,UAAC,KAAM,gBACLM,KAAMzE,EACNI,QAASA,GACLgE,GAAU,IACdM,OAAQ,QACR3D,QAAS,SAAC4D,EAAOC,GACA,kBAAXA,GACF7D,GAEJ,EACAG,UAAWd,EAAQyE,KAAK,WAExB,UAAC,IAAW,CAAC3D,UAAWd,EAAQU,MAAM,WACpC,iBAAKI,UAAWd,EAAQ0E,UAAU,UAC/B9D,EAAU,IAAEF,MAEf,gBAAKI,UAAWd,EAAQ2E,eAAe,UACrC,SAAC,IAAU,CACT,aAAW,QACXtD,GAAI,QACJP,UAAWd,EAAQ4E,YACnB9C,QAASnB,EACTkE,eAAa,EACbC,KAAK,QAAO,UAEZ,SAAC,IAAS,YAKhB,SAAC,IAAS,CAACC,SAAS,KACpB,SAAC,IAAQ,CACPV,KAAMf,EACNxC,UAAWd,EAAQgF,cACnBrE,QAAS,WA3Db4C,GAAgB,GAChBtD,GAAS6D,EAAAA,EAAAA,IAAqB,IA4D1B,EACAC,QAASA,EACTkB,aAAc,CACZnE,UAAU,GAAD,OAAKd,EAAQkF,SAAQ,YAC5B1B,GAAgD,UAA3BA,EAAkB5B,KACnC5B,EAAQmF,cACR,KAGRC,iBACE5B,GAAgD,UAA3BA,EAAkB5B,KAAmB,IAAQ,OAGtE,SAAC,IAAa,CAACd,UAAWuC,EAAmB,GAAKrD,EAAQ4C,QAAQ,SAC/DO,OAIT,G","sources":["screens/Console/Buckets/BucketDetails/AddBucketTagModal.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { 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 { ErrorResponseHandler } from \"../../../../common/types\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../../common/api\";\nimport { AddNewTagIcon } from \"../../../../icons\";\nimport { setModalErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\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\n .invoke(\"PUT\", `/api/v1/buckets/${bucketName}/tags`, {\n tags: newTagList,\n })\n .then((res: any) => {\n setIsSending(false);\n onCloseAndUpdate(true);\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setModalErrorSnackMessage(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, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n noContentPadding?: boolean;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n noContentPadding,\n titleIcon = null,\n}: IModalProps) => {\n const dispatch = useAppDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nexport default withStyles(styles)(ModalWrapper);\n"],"names":["withStyles","theme","createStyles","formFieldStyles","modalStyleUtils","spacingUtils","modalOpen","currentTags","onCloseAndUpdate","bucketName","classes","dispatch","useAppDispatch","useState","newKey","setNewKey","newLabel","setNewLabel","isSending","setIsSending","title","onClose","titleIcon","container","className","spacerBottom","item","xs","formFieldRow","value","label","id","name","placeholder","onChange","e","target","modalButtonBar","type","variant","onClick","color","disabled","trim","newTag","newTagList","api","tags","then","res","catch","error","setModalErrorSnackMessage","deleteDialogStyles","content","padding","paddingBottom","customDialogSize","width","maxWidth","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","modalSnackMessage","useSelector","state","system","modalSnackBar","useEffect","setModalSnackMessage","message","customSize","paper","fullWidth","detailedErrorMsg","length","open","scroll","event","reason","root","titleText","closeContainer","closeButton","disableRipple","size","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2516.6c64276a.chunk.js b/portal-ui/build/static/js/2516.6c64276a.chunk.js new file mode 100644 index 000000000..66f69e4fc --- /dev/null +++ b/portal-ui/build/static/js/2516.6c64276a.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2516],{70827:function(e,r,i){var t=i(4942),n=i(29439),o=i(1413),a=i(72791),l=i(11135),s=i(25787),c=i(61889),d=i(64554),p=i(23814),u=i(21435),f=i(75952),h=i(57689),x=i(25469),m=i(87995),g=i(9505),y=i(32291),b=i(84669),D=i(74794),v=i(50896),C=i(37516),Z=i(80184);r.Z=(0,s.Z)((function(e){return(0,l.Z)((0,o.Z)((0,o.Z)({},p.DF),p.oO))}))((function(e){var r=e.classes,i=e.icon,l=e.helpBox,s=e.header,p=e.backLink,j=e.title,I=e.formFields,k=e.endpoint,_=(0,o.Z)({name:{required:!0,hasError:function(e,r){return!e&&r?"Config Name is required":""},label:"Name",tooltip:"Name for identity provider configuration",placeholder:"Name",type:"text"}},I),q=(0,h.s0)(),E=(0,x.TL)(),S=(0,a.useState)({}),P=(0,n.Z)(S,2),N=P[0],w=P[1],L=(0,g.Z)((function(e){q(p),E((0,m.cN)(!0===e.restart))}),(function(e){return E((0,m.Ih)(e))})),O=(0,n.Z)(L,2),B=O[0],A=O[1],R=function(e,r){return"toggle"===r.type?(0,Z.jsx)(C.Z,{indicatorLabels:["Enabled","Disabled"],checked:"on"===N[e],value:"is-field-enabled",id:"is-field-enabled",name:"is-field-enabled",label:r.label,tooltip:r.tooltip,onChange:function(r){return w((0,o.Z)((0,o.Z)({},N),{},(0,t.Z)({},e,r.target.checked?"on":"off")))},description:""}):(0,Z.jsx)(u.Z,{id:e,required:r.required,name:e,label:r.label,tooltip:r.tooltip,error:r.hasError(N[e],!0),value:N[e]?N[e]:"",onChange:function(r){return w((0,o.Z)((0,o.Z)({},N),{},(0,t.Z)({},e,r.target.value)))},placeholder:r.placeholder,type:r.type})};return(0,Z.jsxs)(c.ZP,{item:!0,xs:12,children:[(0,Z.jsx)(y.Z,{label:(0,Z.jsx)(b.Z,{to:p,label:s})}),(0,Z.jsx)(D.Z,{children:(0,Z.jsxs)(d.Z,{sx:{display:"grid",padding:"25px",gap:"25px",gridTemplateColumns:{md:"2fr 1.2fr",xs:"1fr"},border:"1px solid #eaeaea"},children:[(0,Z.jsxs)(d.Z,{children:[(0,Z.jsx)(v.Z,{icon:i,children:j}),(0,Z.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault();for(var r=N.name,i="",t=0,n=Object.keys(I);t.\n\nimport React, { useState } from \"react\";\n\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Box, Grid } from \"@mui/material\";\nimport {\n formFieldStyles,\n modalBasic,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { Button } from \"mds\";\nimport { useNavigate } from \"react-router-dom\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { useAppDispatch } from \"../../../store\";\nimport {\n setErrorSnackMessage,\n setServerNeedsRestart,\n} from \"../../../systemSlice\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport BackLink from \"../../../common/BackLink\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport SectionTitle from \"../Common/SectionTitle\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\n\ntype AddIDPConfigurationProps = {\n classes?: any;\n icon: React.ReactNode;\n helpBox: React.ReactNode;\n header: string;\n title: string;\n backLink: string;\n formFields: object;\n endpoint: string;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalBasic,\n });\n\nconst AddIDPConfiguration = ({\n classes,\n icon,\n helpBox,\n header,\n backLink,\n title,\n formFields,\n endpoint,\n}: AddIDPConfigurationProps) => {\n const extraFormFields = {\n name: {\n required: true,\n hasError: (s: string, editMode: boolean) => {\n return !s && editMode ? \"Config Name is required\" : \"\";\n },\n label: \"Name\",\n tooltip: \"Name for identity provider configuration\",\n placeholder: \"Name\",\n type: \"text\",\n },\n ...formFields,\n };\n\n const navigate = useNavigate();\n const dispatch = useAppDispatch();\n\n const [fields, setFields] = useState({});\n\n const onSuccess = (res: any) => {\n navigate(backLink);\n dispatch(setServerNeedsRestart(res.restart === true));\n };\n\n const onError = (err: ErrorResponseHandler) =>\n dispatch(setErrorSnackMessage(err));\n\n const [loading, invokeApi] = useApi(onSuccess, onError);\n\n const validSave = () => {\n for (const [key, value] of Object.entries(extraFormFields)) {\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 resetForm = () => {\n setFields({});\n };\n\n const addRecord = (event: React.FormEvent) => {\n event.preventDefault();\n const name = fields[\"name\"];\n let input = \"\";\n for (const key of Object.keys(formFields)) {\n if (fields[key]) {\n input += `${key}=${fields[key]} `;\n }\n }\n invokeApi(\"POST\", endpoint, { name, input });\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 />\n );\n default:\n return (\n ) =>\n setFields({ ...fields, [key]: e.target.value })\n }\n placeholder={value.placeholder}\n type={value.type}\n />\n );\n }\n };\n\n return (\n \n } />\n \n \n \n {title}\n ) => {\n addRecord(e);\n }}\n >\n \n \n {Object.entries(extraFormFields).map(([key, value]) => (\n \n {renderFormField(key, value)}\n \n ))}\n \n \n \n\n \n \n \n \n \n \n \n {helpBox}\n \n \n \n );\n};\n\nexport default withStyles(styles)(AddIDPConfiguration);\n","import React, { Fragment } from \"react\";\n\nimport { Box } from \"@mui/material\";\nimport { HelpIconFilled } from \"../../../icons\";\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) => (\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) 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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport { LockIcon } from \"../../../icons\";\nimport AddIDPConfiguration from \"./AddIDPConfiguration\";\nimport { openIDFormFields, openIDHelpBoxContents } from \"./utils\";\nimport AddIDPConfigurationHelpBox from \"./AddIDPConfigurationHelpbox\";\n\ntype AddIDPOpenIDConfigurationProps = {\n classes?: any;\n};\n\nconst styles = (theme: Theme) => createStyles({});\n\nconst AddIDPOpenIDConfiguration = ({\n classes,\n}: AddIDPOpenIDConfigurationProps) => {\n return (\n }\n helpBox={\n \n }\n header={\"OpenID Configurations\"}\n backLink={IAM_PAGES.IDP_OPENID_CONFIGURATIONS}\n title={\"Create OpenID Configuration\"}\n endpoint={\"/api/v1/idp/openid/\"}\n formFields={openIDFormFields}\n />\n );\n};\n\nexport default withStyles(styles)(AddIDPOpenIDConfiguration);\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 \"../../../icons\";\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_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 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 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 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","\"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;"],"names":["withStyles","theme","createStyles","formFieldStyles","modalBasic","classes","icon","helpBox","header","backLink","title","formFields","endpoint","extraFormFields","name","required","hasError","s","editMode","label","tooltip","placeholder","type","navigate","useNavigate","dispatch","useAppDispatch","useState","fields","setFields","useApi","res","setServerNeedsRestart","restart","err","setErrorSnackMessage","loading","invokeApi","renderFormField","key","value","indicatorLabels","checked","id","onChange","e","target","description","error","item","xs","to","sx","display","padding","gap","gridTemplateColumns","md","border","noValidate","autoComplete","onSubmit","event","preventDefault","input","Object","keys","addRecord","container","spacing","marginTop","entries","map","className","formFieldRow","textAlign","alignItems","justifyContent","variant","onClick","color","disabled","undefined","validSave","FeatureItem","marginRight","height","width","marginBottom","style","fontSize","fontStyle","helpText","docLink","docText","contents","flex","borderRadius","flexFlow","fontWeight","paddingBottom","content","Fragment","iconDescription","text","href","rel","openIDHelpBoxContents","IAM_PAGES","openIDFormFields","ldapHelpBoxContents","config_url","client_id","client_secret","claim_name","display_name","claim_prefix","scopes","redirect_uri","role_policy","claim_userinfo","redirect_uri_dynamic","ldapFormFields","server_addr","lookup_bind_dn","lookup_bind_password","user_dn_search_base_dn","user_dn_search_filter","group_search_base_dn","group_search_filter","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/2516.6c64276a.chunk.js","mappings":"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","sources":["screens/Console/IDP/AddIDPConfiguration.tsx","screens/Console/IDP/AddIDPConfigurationHelpbox.tsx","screens/Console/IDP/AddIDPOpenIDConfiguration.tsx","screens/Console/IDP/utils.tsx","../node_modules/@mui/icons-material/Login.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, { useState } from \"react\";\n\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Box, Grid } from \"@mui/material\";\nimport {\n formFieldStyles,\n modalBasic,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { Button } from \"mds\";\nimport { useNavigate } from \"react-router-dom\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { useAppDispatch } from \"../../../store\";\nimport {\n setErrorSnackMessage,\n setServerNeedsRestart,\n} from \"../../../systemSlice\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport BackLink from \"../../../common/BackLink\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport SectionTitle from \"../Common/SectionTitle\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\n\ntype AddIDPConfigurationProps = {\n classes?: any;\n icon: React.ReactNode;\n helpBox: React.ReactNode;\n header: string;\n title: string;\n backLink: string;\n formFields: object;\n endpoint: string;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalBasic,\n });\n\nconst AddIDPConfiguration = ({\n classes,\n icon,\n helpBox,\n header,\n backLink,\n title,\n formFields,\n endpoint,\n}: AddIDPConfigurationProps) => {\n const extraFormFields = {\n name: {\n required: true,\n hasError: (s: string, editMode: boolean) => {\n return !s && editMode ? \"Config Name is required\" : \"\";\n },\n label: \"Name\",\n tooltip: \"Name for identity provider configuration\",\n placeholder: \"Name\",\n type: \"text\",\n },\n ...formFields,\n };\n\n const navigate = useNavigate();\n const dispatch = useAppDispatch();\n\n const [fields, setFields] = useState({});\n\n const onSuccess = (res: any) => {\n navigate(backLink);\n dispatch(setServerNeedsRestart(res.restart === true));\n };\n\n const onError = (err: ErrorResponseHandler) =>\n dispatch(setErrorSnackMessage(err));\n\n const [loading, invokeApi] = useApi(onSuccess, onError);\n\n const validSave = () => {\n for (const [key, value] of Object.entries(extraFormFields)) {\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 resetForm = () => {\n setFields({});\n };\n\n const addRecord = (event: React.FormEvent) => {\n event.preventDefault();\n const name = fields[\"name\"];\n let input = \"\";\n for (const key of Object.keys(formFields)) {\n if (fields[key]) {\n input += `${key}=${fields[key]} `;\n }\n }\n invokeApi(\"POST\", endpoint, { name, input });\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 />\n );\n default:\n return (\n ) =>\n setFields({ ...fields, [key]: e.target.value })\n }\n placeholder={value.placeholder}\n type={value.type}\n />\n );\n }\n };\n\n return (\n \n } />\n \n \n \n {title}\n ) => {\n addRecord(e);\n }}\n >\n \n \n {Object.entries(extraFormFields).map(([key, value]) => (\n \n {renderFormField(key, value)}\n \n ))}\n \n \n \n\n \n \n \n \n \n \n \n {helpBox}\n \n \n \n );\n};\n\nexport default withStyles(styles)(AddIDPConfiguration);\n","import React, { Fragment } from \"react\";\n\nimport { Box } from \"@mui/material\";\nimport { HelpIconFilled } 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) => (\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) 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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport { LockIcon } from \"mds\";\nimport AddIDPConfiguration from \"./AddIDPConfiguration\";\nimport { openIDFormFields, openIDHelpBoxContents } from \"./utils\";\nimport AddIDPConfigurationHelpBox from \"./AddIDPConfigurationHelpbox\";\n\ntype AddIDPOpenIDConfigurationProps = {\n classes?: any;\n};\n\nconst styles = (theme: Theme) => createStyles({});\n\nconst AddIDPOpenIDConfiguration = ({\n classes,\n}: AddIDPOpenIDConfigurationProps) => {\n return (\n }\n helpBox={\n \n }\n header={\"OpenID Configurations\"}\n backLink={IAM_PAGES.IDP_OPENID_CONFIGURATIONS}\n title={\"Create OpenID Configuration\"}\n endpoint={\"/api/v1/idp/openid/\"}\n formFields={openIDFormFields}\n />\n );\n};\n\nexport default withStyles(styles)(AddIDPOpenIDConfiguration);\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_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 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 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 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","\"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;"],"names":["withStyles","theme","createStyles","formFieldStyles","modalBasic","classes","icon","helpBox","header","backLink","title","formFields","endpoint","extraFormFields","name","required","hasError","s","editMode","label","tooltip","placeholder","type","navigate","useNavigate","dispatch","useAppDispatch","useState","fields","setFields","useApi","res","setServerNeedsRestart","restart","err","setErrorSnackMessage","loading","invokeApi","renderFormField","key","value","indicatorLabels","checked","id","onChange","e","target","description","error","item","xs","to","sx","display","padding","gap","gridTemplateColumns","md","border","noValidate","autoComplete","onSubmit","event","preventDefault","input","Object","keys","addRecord","container","spacing","marginTop","entries","map","className","formFieldRow","textAlign","alignItems","justifyContent","variant","onClick","color","disabled","undefined","validSave","FeatureItem","marginRight","height","width","marginBottom","style","fontSize","fontStyle","helpText","docLink","docText","contents","flex","borderRadius","flexFlow","fontWeight","paddingBottom","content","Fragment","iconDescription","text","href","rel","openIDHelpBoxContents","IAM_PAGES","openIDFormFields","ldapHelpBoxContents","config_url","client_id","client_secret","claim_name","display_name","claim_prefix","scopes","redirect_uri","role_policy","claim_userinfo","redirect_uri_dynamic","ldapFormFields","server_addr","lookup_bind_dn","lookup_bind_password","user_dn_search_base_dn","user_dn_search_filter","group_search_base_dn","group_search_filter","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2516.c5c34c4d.chunk.js b/portal-ui/build/static/js/2516.c5c34c4d.chunk.js deleted file mode 100644 index aab488f6b..000000000 --- a/portal-ui/build/static/js/2516.c5c34c4d.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2516],{70827:function(e,r,i){var t=i(4942),n=i(29439),o=i(1413),a=i(72791),l=i(11135),s=i(25787),c=i(61889),d=i(64554),p=i(23814),u=i(21435),f=i(75952),h=i(57689),x=i(25469),m=i(87995),g=i(9505),y=i(32291),b=i(84669),D=i(74794),v=i(50896),C=i(37516),Z=i(80184);r.Z=(0,s.Z)((function(e){return(0,l.Z)((0,o.Z)((0,o.Z)({},p.DF),p.oO))}))((function(e){var r=e.classes,i=e.icon,l=e.helpBox,s=e.header,p=e.backLink,j=e.title,I=e.formFields,_=e.endpoint,k=(0,o.Z)({name:{required:!0,hasError:function(e,r){return!e&&r?"Config Name is required":""},label:"Name",tooltip:"Name for identity provider configuration",placeholder:"Name",type:"text"}},I),q=(0,h.s0)(),E=(0,x.TL)(),S=(0,a.useState)({}),P=(0,n.Z)(S,2),N=P[0],w=P[1],L=(0,g.Z)((function(e){q(p),E((0,m.cN)(!0===e.restart))}),(function(e){return E((0,m.Ih)(e))})),O=(0,n.Z)(L,2),B=O[0],A=O[1],R=function(e,r){return"toggle"===r.type?(0,Z.jsx)(C.Z,{indicatorLabels:["Enabled","Disabled"],checked:"on"===N[e],value:"is-field-enabled",id:"is-field-enabled",name:"is-field-enabled",label:r.label,tooltip:r.tooltip,onChange:function(r){return w((0,o.Z)((0,o.Z)({},N),{},(0,t.Z)({},e,r.target.checked?"on":"off")))},description:""}):(0,Z.jsx)(u.Z,{id:e,required:r.required,name:e,label:r.label,tooltip:r.tooltip,error:r.hasError(N[e],!0),value:N[e]?N[e]:"",onChange:function(r){return w((0,o.Z)((0,o.Z)({},N),{},(0,t.Z)({},e,r.target.value)))},placeholder:r.placeholder,type:r.type})};return(0,Z.jsxs)(c.ZP,{item:!0,xs:12,children:[(0,Z.jsx)(y.Z,{label:(0,Z.jsx)(b.Z,{to:p,label:s})}),(0,Z.jsx)(D.Z,{children:(0,Z.jsxs)(d.Z,{sx:{display:"grid",padding:"25px",gap:"25px",gridTemplateColumns:{md:"2fr 1.2fr",xs:"1fr"},border:"1px solid #eaeaea"},children:[(0,Z.jsxs)(d.Z,{children:[(0,Z.jsx)(v.Z,{icon:i,children:j}),(0,Z.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault();for(var r=N.name,i="",t=0,n=Object.keys(I);t1&&void 0!==arguments[1]?arguments[1]:null;function n(n){return(0,i.jsx)(r.Suspense,{fallback:t,children:(0,i.jsx)(e,(0,o.Z)({},n))})}return n}},59114:function(e,t,n){"use strict";var o=n(4942),r=n(1413),i=(n(72791),n(63466)),s=n(74900),a=n(27391),c=n(25787),l=n(11135),d=n(23814),u=n(80184);t.Z=(0,c.Z)((function(e){return(0,l.Z)({searchField:(0,r.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var t=e.placeholder,n=void 0===t?"":t,r=e.classes,c=e.onChange,l=e.adornmentPosition,d=void 0===l?"end":l,p=e.overrideClass,h=e.value,m=(0,o.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(i.Z,{position:d,className:r.adornment,children:(0,u.jsx)(s.Z,{})}));return(0,u.jsx)(a.Z,{placeholder:n,className:p||r.searchField,id:"search-resource",label:"",InputProps:m,onChange:function(e){c(e.target.value)},variant:"standard",value:h})}))},60191:function(e,t,n){"use strict";n.r(t);var o=n(93433),r=n(29439),i=n(1413),s=n(72791),a=n(57689),c=n(75952),l=n(11135),d=n(25787),u=n(61889),p=n(64554),h=n(40986),m=n(56096),f=n(21639),x=n(23814),v=n(81207),Z=n(92983),g=n(32291),j=n(23804),b=n(81806),C=n(74794),k=n(59114),y=n(56087),P=n(38442),S=n(75578),z=n(45248),F=n(87995),A=n(25469),w=n(27454),G=n(80184),I=(0,S.Z)(s.lazy((function(){return n.e(9031).then(n.bind(n,88896))}))),M=(0,S.Z)(s.lazy((function(){return n.e(9134).then(n.bind(n,39134))})));t.default=(0,d.Z)((function(e){return(0,l.Z)((0,i.Z)((0,i.Z)({tableBlock:(0,i.Z)((0,i.Z)({},x.VX.tableBlock),{},{marginTop:15})},x.OR),{},{searchField:(0,i.Z)((0,i.Z)({},x.qg.searchField),{},{maxWidth:380})},(0,x.Bz)(e.spacing(4))))}))((function(e){var t=e.classes,n=(0,A.TL)(),i=(0,a.s0)(),l=(0,s.useState)(!1),d=(0,r.Z)(l,2),x=d[0],S=d[1],N=(0,s.useState)(!1),B=(0,r.Z)(N,2),R=B[0],D=B[1],O=(0,s.useState)([]),T=(0,r.Z)(O,2),V=T[0],E=T[1],L=(0,s.useState)(""),H=(0,r.Z)(L,2),_=H[0],U=H[1],K=(0,s.useState)(!1),q=(0,r.Z)(K,2),X=q[0],W=q[1],J=(0,s.useState)([]),Y=(0,r.Z)(J,2),Q=Y[0],$=Y[1];(0,s.useEffect)((function(){D(!0)}),[]),(0,s.useEffect)((function(){D(!0)}),[]);var ee=(0,P.F)(y.C3,y.vh),te=(0,P.F)(y.C3,y.oX),ne=(0,P.F)(y.C3,y.k_),oe=(0,P.F)(y.C3,y.fC,!0);(0,s.useEffect)((function(){if(R)if(ee){v.Z.invoke("GET","/api/v1/groups").then((function(e){var t=[];null!==e.groups&&(t=e.groups.sort(f.V2)),E(t),D(!1)})).catch((function(e){n((0,F.Ih)(e)),D(!1)}))}else D(!1)}),[R,n,ee]);var re=V.filter((function(e){return e.includes(_)})),ie=function(e){i("".concat(y.gA.GROUPS,"/").concat((0,z.LL)(e)))},se=[{type:"view",onClick:ie,disableButtonFunction:function(){return!ne}},{type:"edit",onClick:ie,disableButtonFunction:function(){return!ne}}];return(0,G.jsxs)(s.Fragment,{children:[x&&(0,G.jsx)(I,{deleteOpen:x,selectedGroups:Q,closeDeleteModalAndRefresh:function(e){S(!1),$([]),e&&D(!0)}}),X&&(0,G.jsx)(M,{open:X,selectedGroups:Q,selectedUser:null,closeModalAndRefresh:function(){W(!1)}}),(0,G.jsx)(g.Z,{label:"Groups"}),(0,G.jsxs)(C.Z,{children:[(0,G.jsxs)(u.ZP,{item:!0,xs:12,className:t.actionsTray,children:[(0,G.jsx)(P.s,{resource:y.C3,scopes:y.vh,errorProps:{disabled:!0},children:(0,G.jsx)(k.Z,{placeholder:"Search Groups",onChange:U,overrideClass:t.searchField,value:_})}),(0,G.jsxs)(p.Z,{sx:{display:"flex"},children:[(0,G.jsx)(P.s,{resource:y.C3,scopes:y.fC,matchAll:!0,errorProps:{disabled:!0},children:(0,G.jsx)(w.Z,{tooltip:Q.length<1?"Please select Groups on which you want to apply Policies":oe?"Select Policy":(0,y.MK)(y.fC,"apply policies to Groups"),children:(0,G.jsx)(c.zx,{id:"assign-policy",onClick:function(){W(!0)},label:"Assign Policy",icon:(0,G.jsx)(m.v42,{}),disabled:Q.length<1||!oe,variant:"regular"})})}),(0,G.jsx)(P.s,{resource:y.C3,scopes:y.oX,matchAll:!0,errorProps:{disabled:!0},children:(0,G.jsx)(w.Z,{tooltip:0===Q.length?"Select Groups to delete":ne?"Delete Selected":(0,y.MK)(y.k_,"delete Groups"),children:(0,G.jsx)(c.zx,{id:"delete-selected-groups",onClick:function(){S(!0)},label:"Delete Selected",icon:(0,G.jsx)(m.pJl,{}),variant:"secondary",disabled:0===Q.length||!ne})})}),(0,G.jsx)(P.s,{resource:y.C3,scopes:y.vN,matchAll:!0,errorProps:{disabled:!0},children:(0,G.jsx)(w.Z,{tooltip:"Create Group",children:(0,G.jsx)(c.zx,{id:"create-group",label:"Create Group",variant:"callAction",icon:(0,G.jsx)(m.dtP,{}),onClick:function(){i("".concat(y.gA.GROUPS_ADD))}})})})]})]}),R&&(0,G.jsx)(h.Z,{}),!R&&(0,G.jsxs)(s.Fragment,{children:[V.length>0&&(0,G.jsxs)(s.Fragment,{children:[(0,G.jsx)(w.Z,{tooltip:ne?"":(0,y.MK)(y.k_,"view Group details"),children:(0,G.jsx)(u.ZP,{item:!0,xs:12,className:t.tableBlock,children:(0,G.jsx)(P.s,{resource:y.C3,scopes:y.vh,errorProps:{disabled:!0},children:(0,G.jsx)(Z.Z,{itemActions:se,columns:[{label:"Name",elementKey:""}],isLoading:R,selectedItems:Q,onSelect:te||ne?function(e){var t=e.target,n=void 0===t?{}:t,r=n.value,i=void 0===r?"":r,s=n.checked,a=void 0!==s&&s,c=(0,o.Z)(Q);return a?c.push(i):c=c.filter((function(e){return e!==i})),$(c),c}:void 0,records:re,entityName:"Groups",idField:""})})})}),(0,G.jsx)(u.ZP,{item:!0,xs:12,marginTop:"25px",children:(0,G.jsx)(j.Z,{title:"Groups",iconComponent:(0,G.jsx)(m.wws,{}),help:(0,G.jsxs)(s.Fragment,{children:["A group can have one attached IAM policy, where all users with membership in that group inherit that policy. Groups support more simplified management of user permissions on the MinIO Tenant.",(0,G.jsx)("br",{}),(0,G.jsx)("br",{}),"You can learn more at our"," ",(0,G.jsx)("a",{href:"https://min.io/docs/minio/linux/administration/identity-access-management/minio-group-management.html?ref=con",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})})]}),0===V.length&&(0,G.jsx)(u.ZP,{container:!0,justifyContent:"center",alignContent:"center",alignItems:"center",children:(0,G.jsx)(u.ZP,{item:!0,xs:8,children:(0,G.jsx)(j.Z,{title:"Groups",iconComponent:(0,G.jsx)(m.oyc,{}),help:(0,G.jsxs)(s.Fragment,{children:["A group can have one attached IAM policy, where all users with membership in that group inherit that policy. Groups support more simplified management of user permissions on the MinIO Tenant.",(0,G.jsxs)(P.s,{resource:y.C3,scopes:y.vN,matchAll:!0,children:[(0,G.jsx)("br",{}),(0,G.jsx)("br",{}),"To get started,"," ",(0,G.jsx)(b.Z,{onClick:function(){i("".concat(y.gA.GROUPS_ADD))},children:"Create a Group"}),"."]})]})})})})]})]})]})}))},26759:function(e,t,n){"use strict";var o=n(64836);t.Z=void 0;var r=o(n(45649)),i=n(80184),s=(0,r.default)((0,i.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");t.Z=s},70366:function(e,t,n){"use strict";var o=n(64836);t.Z=void 0;var r=o(n(45649)),i=n(80184),s=(0,r.default)((0,i.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");t.Z=s},97911:function(e,t,n){"use strict";var o=n(64836);t.Z=void 0;var r=o(n(45649)),i=n(80184),s=(0,r.default)((0,i.jsx)("path",{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}),"ViewColumn");t.Z=s},94454:function(e,t,n){"use strict";n.d(t,{Z:function(){return F}});var o=n(4942),r=n(63366),i=n(87462),s=n(72791),a=n(28182),c=n(94419),l=n(12065),d=n(97278),u=n(76189),p=n(80184),h=(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"),f=(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"),x=n(14036),v=n(31402),Z=n(66934),g=n(75878),j=n(21217);function b(e){return(0,j.Z)("MuiCheckbox",e)}var C=(0,g.Z)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary"]),k=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size","className"],y=(0,Z.ZP)(d.Z,{shouldForwardProp:function(e){return(0,Z.FO)(e)||"classes"===e},name:"MuiCheckbox",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.indeterminate&&t.indeterminate,"default"!==n.color&&t["color".concat((0,x.Z)(n.color))]]}})((function(e){var t,n=e.theme,r=e.ownerState;return(0,i.Z)({color:(n.vars||n).palette.text.secondary},!r.disableRipple&&{"&:hover":{backgroundColor:n.vars?"rgba(".concat("default"===r.color?n.vars.palette.action.activeChannel:n.vars.palette.primary.mainChannel," / ").concat(n.vars.palette.action.hoverOpacity,")"):(0,l.Fq)("default"===r.color?n.palette.action.active:n.palette[r.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==r.color&&(t={},(0,o.Z)(t,"&.".concat(C.checked,", &.").concat(C.indeterminate),{color:(n.vars||n).palette[r.color].main}),(0,o.Z)(t,"&.".concat(C.disabled),{color:(n.vars||n).palette.action.disabled}),t))})),P=(0,p.jsx)(m,{}),S=(0,p.jsx)(h,{}),z=(0,p.jsx)(f,{}),F=s.forwardRef((function(e,t){var n,o,l=(0,v.Z)({props:e,name:"MuiCheckbox"}),d=l.checkedIcon,u=void 0===d?P:d,h=l.color,m=void 0===h?"primary":h,f=l.icon,Z=void 0===f?S:f,g=l.indeterminate,j=void 0!==g&&g,C=l.indeterminateIcon,F=void 0===C?z:C,A=l.inputProps,w=l.size,G=void 0===w?"medium":w,I=l.className,M=(0,r.Z)(l,k),N=j?F:Z,B=j?F:u,R=(0,i.Z)({},l,{color:m,indeterminate:j,size:G}),D=function(e){var t=e.classes,n=e.indeterminate,o=e.color,r={root:["root",n&&"indeterminate","color".concat((0,x.Z)(o))]},s=(0,c.Z)(r,b,t);return(0,i.Z)({},t,s)}(R);return(0,p.jsx)(y,(0,i.Z)({type:"checkbox",inputProps:(0,i.Z)({"data-indeterminate":j},A),icon:s.cloneElement(N,{fontSize:null!=(n=N.props.fontSize)?n:G}),checkedIcon:s.cloneElement(B,{fontSize:null!=(o=B.props.fontSize)?o:G}),ownerState:R,ref:t,className:(0,a.Z)(D.root,I)},M,{classes:D}))}))},26769:function(e,t,n){var o=n(39066),r=n(93629),i=n(43141);e.exports=function(e){return"string"==typeof e||!r(e)&&i(e)&&"[object String]"==o(e)}}}]); -//# sourceMappingURL=2555.acd8bfbf.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2555.acd8bfbf.chunk.js.map b/portal-ui/build/static/js/2555.acd8bfbf.chunk.js.map deleted file mode 100644 index ee7196881..000000000 --- a/portal-ui/build/static/js/2555.acd8bfbf.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/2555.acd8bfbf.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/AButton/AButton.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Groups/Groups.tsx","../node_modules/@mui/icons-material/ArrowDropDown.js","../node_modules/@mui/icons-material/ArrowDropUp.js","../node_modules/@mui/icons-material/ViewColumn.js","../node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@mui/material/Checkbox/checkboxClasses.js","../node_modules/@mui/material/Checkbox/Checkbox.js","../node_modules/lodash/isString.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string | React.ReactNode;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React 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 border: 0,\n backgroundColor: \"transparent\",\n textDecoration: \"underline\",\n cursor: \"pointer\",\n fontSize: \"inherit\",\n color: theme.palette.info.main,\n fontFamily: \"Lato, sans-serif\",\n },\n });\n\ninterface IAButton extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst AButton = ({ classes, children, ...rest }: IAButton) => {\n return (\n \n );\n};\n\nexport default withStyles(styles)(AButton);\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) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 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 { useNavigate } from \"react-router-dom\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, LinearProgress } from \"@mui/material\";\nimport {\n AddIcon,\n DeleteIcon,\n GroupsIcon,\n IAMPoliciesIcon,\n UsersIcon,\n} from \"../../../icons\";\n\nimport { GroupsList } from \"./types\";\nimport { stringSort } from \"../../../utils/sortFunctions\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport HelpBox from \"../../../common/HelpBox\";\nimport AButton from \"../Common/AButton/AButton\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport SearchBox from \"../Common/SearchBox\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n permissionTooltipHelper,\n applyPolicyPermissions,\n displayGroupsPermissions,\n deleteGroupPermissions,\n getGroupPermissions,\n createGroupPermissions,\n} from \"../../../common/SecureComponent/permissions\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../common/SecureComponent\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\n\nimport { encodeURLString } from \"../../../common/utils\";\n\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport TooltipWrapper from \"../Common/TooltipWrapper/TooltipWrapper\";\n\nconst DeleteGroup = withSuspense(React.lazy(() => import(\"./DeleteGroup\")));\nconst SetPolicy = withSuspense(\n React.lazy(() => import(\"../Policies/SetPolicy\"))\n);\n\ninterface IGroupsProps {\n classes: any;\n openGroupModal: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n tableBlock: {\n ...tableStyles.tableBlock,\n marginTop: 15,\n },\n ...actionsTray,\n searchField: {\n ...searchField.searchField,\n maxWidth: 380,\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst Groups = ({ classes }: IGroupsProps) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [loading, isLoading] = useState(false);\n const [records, setRecords] = useState([]);\n const [filter, setFilter] = useState(\"\");\n const [policyOpen, setPolicyOpen] = useState(false);\n const [checkedGroups, setCheckedGroups] = useState([]);\n\n useEffect(() => {\n isLoading(true);\n }, []);\n\n useEffect(() => {\n isLoading(true);\n }, []);\n\n const displayGroups = hasPermission(\n CONSOLE_UI_RESOURCE,\n displayGroupsPermissions\n );\n\n const deleteGroup = hasPermission(\n CONSOLE_UI_RESOURCE,\n deleteGroupPermissions\n );\n\n const getGroup = hasPermission(CONSOLE_UI_RESOURCE, getGroupPermissions);\n\n const applyPolicy = hasPermission(\n CONSOLE_UI_RESOURCE,\n applyPolicyPermissions,\n true\n );\n\n const selectionChanged = (e: React.ChangeEvent) => {\n const { target: { value = \"\", checked = false } = {} } = e;\n\n let elements: string[] = [...checkedGroups]; // 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 setCheckedGroups(elements);\n\n return elements;\n };\n\n useEffect(() => {\n if (loading) {\n if (displayGroups) {\n const fetchRecords = () => {\n api\n .invoke(\"GET\", `/api/v1/groups`)\n .then((res: GroupsList) => {\n let resGroups: string[] = [];\n if (res.groups !== null) {\n resGroups = res.groups.sort(stringSort);\n }\n setRecords(resGroups);\n isLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n isLoading(false);\n });\n };\n fetchRecords();\n } else {\n isLoading(false);\n }\n }\n }, [loading, dispatch, displayGroups]);\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n setCheckedGroups([]);\n if (refresh) {\n isLoading(true);\n }\n };\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.includes(filter)\n );\n\n const viewAction = (group: any) => {\n navigate(`${IAM_PAGES.GROUPS}/${encodeURLString(group)}`);\n };\n\n const tableActions = [\n {\n type: \"view\",\n onClick: viewAction,\n disableButtonFunction: () => !getGroup,\n },\n {\n type: \"edit\",\n onClick: viewAction,\n disableButtonFunction: () => !getGroup,\n },\n ];\n\n return (\n \n {deleteOpen && (\n \n )}\n {policyOpen && (\n {\n setPolicyOpen(false);\n }}\n />\n )}\n \n\n \n \n \n \n \n \n \n \n {\n setPolicyOpen(true);\n }}\n label={\"Assign Policy\"}\n icon={}\n disabled={checkedGroups.length < 1 || !applyPolicy}\n variant={\"regular\"}\n />\n \n \n \n \n {\n setDeleteOpen(true);\n }}\n label={\"Delete Selected\"}\n icon={}\n variant=\"secondary\"\n disabled={checkedGroups.length === 0 || !getGroup}\n />\n \n \n \n \n }\n onClick={() => {\n navigate(`${IAM_PAGES.GROUPS_ADD}`);\n }}\n />\n \n \n \n \n {loading && }\n {!loading && (\n \n {records.length > 0 && (\n \n \n \n \n \n \n \n \n \n }\n help={\n \n A group can have one attached IAM policy, where all\n users with membership in that group inherit that policy.\n Groups support more simplified management of user\n permissions on the MinIO Tenant.\n
\n
\n You can learn more at our{\" \"}\n \n documentation\n \n .\n
\n }\n />\n
\n
\n )}\n {records.length === 0 && (\n \n \n }\n help={\n \n A group can have one attached IAM policy, where all\n users with membership in that group inherit that policy.\n Groups support more simplified management of user\n permissions on the MinIO Tenant.\n \n
\n
\n To get started,{\" \"}\n {\n navigate(`${IAM_PAGES.GROUPS_ADD}`);\n }}\n >\n Create a Group\n \n .\n \n
\n }\n />\n
\n \n )}\n
\n )}\n
\n
\n );\n};\n\nexport default withStyles(styles)(Groups);\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: \"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;","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 */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\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 */\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 baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","padding","margin","textDecoration","cursor","color","palette","info","main","fontFamily","children","rest","WrappedComponent","fallback","ComponentWithSuspense","props","Suspense","searchField","adornment","placeholder","onChange","adornmentPosition","overrideClass","value","inputProps","disableUnderline","position","id","label","InputProps","e","target","variant","DeleteGroup","withSuspense","React","SetPolicy","tableBlock","tableStyles","marginTop","actionsTray","maxWidth","containerForHeader","spacing","dispatch","useAppDispatch","navigate","useNavigate","useState","deleteOpen","setDeleteOpen","loading","isLoading","records","setRecords","filter","setFilter","policyOpen","setPolicyOpen","checkedGroups","setCheckedGroups","useEffect","displayGroups","hasPermission","CONSOLE_UI_RESOURCE","displayGroupsPermissions","deleteGroup","deleteGroupPermissions","getGroup","getGroupPermissions","applyPolicy","applyPolicyPermissions","api","then","res","resGroups","groups","sort","stringSort","catch","err","setErrorSnackMessage","filteredRecords","elementItem","includes","viewAction","group","IAM_PAGES","encodeURLString","tableActions","type","onClick","disableButtonFunction","Fragment","selectedGroups","closeDeleteModalAndRefresh","refresh","open","selectedUser","closeModalAndRefresh","resource","scopes","errorProps","disabled","sx","matchAll","tooltip","length","permissionTooltipHelper","icon","createGroupPermissions","itemActions","columns","elementKey","selectedItems","onSelect","checked","elements","push","element","undefined","entityName","idField","href","rel","justifyContent","alignContent","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","createSvgIcon","_jsx","getCheckboxUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","CheckboxRoot","styled","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","styles","ownerState","indeterminate","capitalize","_extends","vars","text","secondary","disableRipple","action","activeChannel","primary","mainChannel","hoverOpacity","alpha","active","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","inProps","ref","_icon$props$fontSize","_indeterminateIcon$pr","useThemeProps","checkedIcon","iconProp","indeterminateIcon","indeterminateIconProp","size","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","clsx","baseGetTag","isArray","isObjectLike","module"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2555.da84d5ce.chunk.js b/portal-ui/build/static/js/2555.da84d5ce.chunk.js new file mode 100644 index 000000000..b575112b5 --- /dev/null +++ b/portal-ui/build/static/js/2555.da84d5ce.chunk.js @@ -0,0 +1,2 @@ +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2555],{23804:function(e,t,n){"use strict";n(72791);var o=n(11135),r=n(25787),i=n(61889),s=n(80184);t.Z=(0,r.Z)((function(e){return(0,o.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var t=e.classes,n=e.iconComponent,o=e.title,r=e.help;return(0,s.jsx)("div",{className:t.root,children:(0,s.jsxs)(i.ZP,{container:!0,children:[(0,s.jsxs)(i.ZP,{item:!0,xs:12,className:t.leftItems,children:[n,o]}),(0,s.jsx)(i.ZP,{item:!0,xs:12,className:t.helpText,children:r})]})})}))},81806:function(e,t,n){"use strict";var o=n(1413),r=n(45987),i=(n(72791),n(11135)),s=n(25787),a=n(80184),c=["classes","children"];t.Z=(0,s.Z)((function(e){return(0,i.Z)({root:{padding:0,margin:0,border:0,backgroundColor:"transparent",textDecoration:"underline",cursor:"pointer",fontSize:"inherit",color:e.palette.info.main,fontFamily:"Lato, sans-serif"}})}))((function(e){var t=e.classes,n=e.children,i=(0,r.Z)(e,c);return(0,a.jsx)("button",(0,o.Z)((0,o.Z)({},i),{},{className:t.root,children:n}))}))},75578:function(e,t,n){"use strict";var o=n(1413),r=n(72791),i=n(80184);t.Z=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function n(n){return(0,i.jsx)(r.Suspense,{fallback:t,children:(0,i.jsx)(e,(0,o.Z)({},n))})}return n}},59114:function(e,t,n){"use strict";var o=n(4942),r=n(1413),i=(n(72791),n(63466)),s=n(75952),a=n(27391),c=n(25787),l=n(11135),d=n(23814),u=n(80184);t.Z=(0,c.Z)((function(e){return(0,l.Z)({searchField:(0,r.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var t=e.placeholder,n=void 0===t?"":t,r=e.classes,c=e.onChange,l=e.adornmentPosition,d=void 0===l?"end":l,p=e.overrideClass,h=e.value,m=(0,o.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(i.Z,{position:d,className:r.adornment,children:(0,u.jsx)(s.W1M,{})}));return(0,u.jsx)(a.Z,{placeholder:n,className:p||r.searchField,id:"search-resource",label:"",InputProps:m,onChange:function(e){c(e.target.value)},variant:"standard",value:h})}))},60191:function(e,t,n){"use strict";n.r(t);var o=n(93433),r=n(29439),i=n(1413),s=n(72791),a=n(57689),c=n(75952),l=n(11135),d=n(25787),u=n(61889),p=n(64554),h=n(40986),m=n(21639),f=n(23814),x=n(81207),v=n(92983),Z=n(32291),g=n(23804),j=n(81806),b=n(74794),C=n(59114),k=n(56087),y=n(38442),P=n(75578),S=n(45248),z=n(87995),F=n(25469),A=n(27454),w=n(80184),G=(0,P.Z)(s.lazy((function(){return n.e(8896).then(n.bind(n,88896))}))),M=(0,P.Z)(s.lazy((function(){return n.e(9134).then(n.bind(n,39134))})));t.default=(0,d.Z)((function(e){return(0,l.Z)((0,i.Z)((0,i.Z)({tableBlock:(0,i.Z)((0,i.Z)({},f.VX.tableBlock),{},{marginTop:15})},f.OR),{},{searchField:(0,i.Z)((0,i.Z)({},f.qg.searchField),{},{maxWidth:380})},(0,f.Bz)(e.spacing(4))))}))((function(e){var t=e.classes,n=(0,F.TL)(),i=(0,a.s0)(),l=(0,s.useState)(!1),d=(0,r.Z)(l,2),f=d[0],P=d[1],I=(0,s.useState)(!1),N=(0,r.Z)(I,2),B=N[0],R=N[1],D=(0,s.useState)([]),O=(0,r.Z)(D,2),T=O[0],V=O[1],E=(0,s.useState)(""),L=(0,r.Z)(E,2),H=L[0],_=L[1],U=(0,s.useState)(!1),K=(0,r.Z)(U,2),q=K[0],W=K[1],X=(0,s.useState)([]),J=(0,r.Z)(X,2),Y=J[0],Q=J[1];(0,s.useEffect)((function(){R(!0)}),[]),(0,s.useEffect)((function(){R(!0)}),[]);var $=(0,y.F)(k.C3,k.vh),ee=(0,y.F)(k.C3,k.oX),te=(0,y.F)(k.C3,k.k_),ne=(0,y.F)(k.C3,k.fC,!0);(0,s.useEffect)((function(){if(B)if($){x.Z.invoke("GET","/api/v1/groups").then((function(e){var t=[];null!==e.groups&&(t=e.groups.sort(m.V2)),V(t),R(!1)})).catch((function(e){n((0,z.Ih)(e)),R(!1)}))}else R(!1)}),[B,n,$]);var oe=T.filter((function(e){return e.includes(H)})),re=function(e){i("".concat(k.gA.GROUPS,"/").concat((0,S.LL)(e)))},ie=[{type:"view",onClick:re,disableButtonFunction:function(){return!te}},{type:"edit",onClick:re,disableButtonFunction:function(){return!te}}];return(0,w.jsxs)(s.Fragment,{children:[f&&(0,w.jsx)(G,{deleteOpen:f,selectedGroups:Y,closeDeleteModalAndRefresh:function(e){P(!1),Q([]),e&&R(!0)}}),q&&(0,w.jsx)(M,{open:q,selectedGroups:Y,selectedUser:null,closeModalAndRefresh:function(){W(!1)}}),(0,w.jsx)(Z.Z,{label:"Groups"}),(0,w.jsxs)(b.Z,{children:[(0,w.jsxs)(u.ZP,{item:!0,xs:12,className:t.actionsTray,children:[(0,w.jsx)(y.s,{resource:k.C3,scopes:k.vh,errorProps:{disabled:!0},children:(0,w.jsx)(C.Z,{placeholder:"Search Groups",onChange:_,overrideClass:t.searchField,value:H})}),(0,w.jsxs)(p.Z,{sx:{display:"flex"},children:[(0,w.jsx)(y.s,{resource:k.C3,scopes:k.fC,matchAll:!0,errorProps:{disabled:!0},children:(0,w.jsx)(A.Z,{tooltip:Y.length<1?"Please select Groups on which you want to apply Policies":ne?"Select Policy":(0,k.MK)(k.fC,"apply policies to Groups"),children:(0,w.jsx)(c.zxk,{id:"assign-policy",onClick:function(){W(!0)},label:"Assign Policy",icon:(0,w.jsx)(c.v42,{}),disabled:Y.length<1||!ne,variant:"regular"})})}),(0,w.jsx)(y.s,{resource:k.C3,scopes:k.oX,matchAll:!0,errorProps:{disabled:!0},children:(0,w.jsx)(A.Z,{tooltip:0===Y.length?"Select Groups to delete":te?"Delete Selected":(0,k.MK)(k.k_,"delete Groups"),children:(0,w.jsx)(c.zxk,{id:"delete-selected-groups",onClick:function(){P(!0)},label:"Delete Selected",icon:(0,w.jsx)(c.pJl,{}),variant:"secondary",disabled:0===Y.length||!te})})}),(0,w.jsx)(y.s,{resource:k.C3,scopes:k.vN,matchAll:!0,errorProps:{disabled:!0},children:(0,w.jsx)(A.Z,{tooltip:"Create Group",children:(0,w.jsx)(c.zxk,{id:"create-group",label:"Create Group",variant:"callAction",icon:(0,w.jsx)(c.dtP,{}),onClick:function(){i("".concat(k.gA.GROUPS_ADD))}})})})]})]}),B&&(0,w.jsx)(h.Z,{}),!B&&(0,w.jsxs)(s.Fragment,{children:[T.length>0&&(0,w.jsxs)(s.Fragment,{children:[(0,w.jsx)(A.Z,{tooltip:te?"":(0,k.MK)(k.k_,"view Group details"),children:(0,w.jsx)(u.ZP,{item:!0,xs:12,className:t.tableBlock,children:(0,w.jsx)(y.s,{resource:k.C3,scopes:k.vh,errorProps:{disabled:!0},children:(0,w.jsx)(v.Z,{itemActions:ie,columns:[{label:"Name",elementKey:""}],isLoading:B,selectedItems:Y,onSelect:ee||te?function(e){var t=e.target,n=void 0===t?{}:t,r=n.value,i=void 0===r?"":r,s=n.checked,a=void 0!==s&&s,c=(0,o.Z)(Y);return a?c.push(i):c=c.filter((function(e){return e!==i})),Q(c),c}:void 0,records:oe,entityName:"Groups",idField:""})})})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,marginTop:"25px",children:(0,w.jsx)(g.Z,{title:"Groups",iconComponent:(0,w.jsx)(c.wws,{}),help:(0,w.jsxs)(s.Fragment,{children:["A group can have one attached IAM policy, where all users with membership in that group inherit that policy. Groups support more simplified management of user permissions on the MinIO Tenant.",(0,w.jsx)("br",{}),(0,w.jsx)("br",{}),"You can learn more at our"," ",(0,w.jsx)("a",{href:"https://min.io/docs/minio/linux/administration/identity-access-management/minio-group-management.html?ref=con",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})})]}),0===T.length&&(0,w.jsx)(u.ZP,{container:!0,justifyContent:"center",alignContent:"center",alignItems:"center",children:(0,w.jsx)(u.ZP,{item:!0,xs:8,children:(0,w.jsx)(g.Z,{title:"Groups",iconComponent:(0,w.jsx)(c.oyc,{}),help:(0,w.jsxs)(s.Fragment,{children:["A group can have one attached IAM policy, where all users with membership in that group inherit that policy. Groups support more simplified management of user permissions on the MinIO Tenant.",(0,w.jsxs)(y.s,{resource:k.C3,scopes:k.vN,matchAll:!0,children:[(0,w.jsx)("br",{}),(0,w.jsx)("br",{}),"To get started,"," ",(0,w.jsx)(j.Z,{onClick:function(){i("".concat(k.gA.GROUPS_ADD))},children:"Create a Group"}),"."]})]})})})})]})]})]})}))},26759:function(e,t,n){"use strict";var o=n(64836);t.Z=void 0;var r=o(n(45649)),i=n(80184),s=(0,r.default)((0,i.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");t.Z=s},70366:function(e,t,n){"use strict";var o=n(64836);t.Z=void 0;var r=o(n(45649)),i=n(80184),s=(0,r.default)((0,i.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");t.Z=s},97911:function(e,t,n){"use strict";var o=n(64836);t.Z=void 0;var r=o(n(45649)),i=n(80184),s=(0,r.default)((0,i.jsx)("path",{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}),"ViewColumn");t.Z=s},94454:function(e,t,n){"use strict";n.d(t,{Z:function(){return F}});var o=n(4942),r=n(63366),i=n(87462),s=n(72791),a=n(28182),c=n(94419),l=n(12065),d=n(97278),u=n(76189),p=n(80184),h=(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"),f=(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"),x=n(14036),v=n(31402),Z=n(66934),g=n(75878),j=n(21217);function b(e){return(0,j.Z)("MuiCheckbox",e)}var C=(0,g.Z)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary"]),k=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size","className"],y=(0,Z.ZP)(d.Z,{shouldForwardProp:function(e){return(0,Z.FO)(e)||"classes"===e},name:"MuiCheckbox",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.indeterminate&&t.indeterminate,"default"!==n.color&&t["color".concat((0,x.Z)(n.color))]]}})((function(e){var t,n=e.theme,r=e.ownerState;return(0,i.Z)({color:(n.vars||n).palette.text.secondary},!r.disableRipple&&{"&:hover":{backgroundColor:n.vars?"rgba(".concat("default"===r.color?n.vars.palette.action.activeChannel:n.vars.palette.primary.mainChannel," / ").concat(n.vars.palette.action.hoverOpacity,")"):(0,l.Fq)("default"===r.color?n.palette.action.active:n.palette[r.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==r.color&&(t={},(0,o.Z)(t,"&.".concat(C.checked,", &.").concat(C.indeterminate),{color:(n.vars||n).palette[r.color].main}),(0,o.Z)(t,"&.".concat(C.disabled),{color:(n.vars||n).palette.action.disabled}),t))})),P=(0,p.jsx)(m,{}),S=(0,p.jsx)(h,{}),z=(0,p.jsx)(f,{}),F=s.forwardRef((function(e,t){var n,o,l=(0,v.Z)({props:e,name:"MuiCheckbox"}),d=l.checkedIcon,u=void 0===d?P:d,h=l.color,m=void 0===h?"primary":h,f=l.icon,Z=void 0===f?S:f,g=l.indeterminate,j=void 0!==g&&g,C=l.indeterminateIcon,F=void 0===C?z:C,A=l.inputProps,w=l.size,G=void 0===w?"medium":w,M=l.className,I=(0,r.Z)(l,k),N=j?F:Z,B=j?F:u,R=(0,i.Z)({},l,{color:m,indeterminate:j,size:G}),D=function(e){var t=e.classes,n=e.indeterminate,o=e.color,r={root:["root",n&&"indeterminate","color".concat((0,x.Z)(o))]},s=(0,c.Z)(r,b,t);return(0,i.Z)({},t,s)}(R);return(0,p.jsx)(y,(0,i.Z)({type:"checkbox",inputProps:(0,i.Z)({"data-indeterminate":j},A),icon:s.cloneElement(N,{fontSize:null!=(n=N.props.fontSize)?n:G}),checkedIcon:s.cloneElement(B,{fontSize:null!=(o=B.props.fontSize)?o:G}),ownerState:R,ref:t,className:(0,a.Z)(D.root,M)},I,{classes:D}))}))},26769:function(e,t,n){var o=n(39066),r=n(93629),i=n(43141);e.exports=function(e){return"string"==typeof e||!r(e)&&i(e)&&"[object String]"==o(e)}}}]); +//# sourceMappingURL=2555.da84d5ce.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2555.da84d5ce.chunk.js.map b/portal-ui/build/static/js/2555.da84d5ce.chunk.js.map new file mode 100644 index 000000000..b38b4d7da --- /dev/null +++ b/portal-ui/build/static/js/2555.da84d5ce.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2555.da84d5ce.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/AButton/AButton.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Groups/Groups.tsx","../node_modules/@mui/icons-material/ArrowDropDown.js","../node_modules/@mui/icons-material/ArrowDropUp.js","../node_modules/@mui/icons-material/ViewColumn.js","../node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@mui/material/Checkbox/checkboxClasses.js","../node_modules/@mui/material/Checkbox/Checkbox.js","../node_modules/lodash/isString.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string | React.ReactNode;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n

\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React 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 border: 0,\n backgroundColor: \"transparent\",\n textDecoration: \"underline\",\n cursor: \"pointer\",\n fontSize: \"inherit\",\n color: theme.palette.info.main,\n fontFamily: \"Lato, sans-serif\",\n },\n });\n\ninterface IAButton extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst AButton = ({ classes, children, ...rest }: IAButton) => {\n return (\n \n );\n};\n\nexport default withStyles(styles)(AButton);\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) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport { SearchIcon } from \"mds\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 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 { useNavigate } from \"react-router-dom\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, LinearProgress } from \"@mui/material\";\nimport {\n AddIcon,\n DeleteIcon,\n GroupsIcon,\n IAMPoliciesIcon,\n UsersIcon,\n} from \"mds\";\n\nimport { GroupsList } from \"./types\";\nimport { stringSort } from \"../../../utils/sortFunctions\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport HelpBox from \"../../../common/HelpBox\";\nimport AButton from \"../Common/AButton/AButton\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport SearchBox from \"../Common/SearchBox\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n permissionTooltipHelper,\n applyPolicyPermissions,\n displayGroupsPermissions,\n deleteGroupPermissions,\n getGroupPermissions,\n createGroupPermissions,\n} from \"../../../common/SecureComponent/permissions\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../common/SecureComponent\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\n\nimport { encodeURLString } from \"../../../common/utils\";\n\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport TooltipWrapper from \"../Common/TooltipWrapper/TooltipWrapper\";\n\nconst DeleteGroup = withSuspense(React.lazy(() => import(\"./DeleteGroup\")));\nconst SetPolicy = withSuspense(\n React.lazy(() => import(\"../Policies/SetPolicy\"))\n);\n\ninterface IGroupsProps {\n classes: any;\n openGroupModal: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n tableBlock: {\n ...tableStyles.tableBlock,\n marginTop: 15,\n },\n ...actionsTray,\n searchField: {\n ...searchField.searchField,\n maxWidth: 380,\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst Groups = ({ classes }: IGroupsProps) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [loading, isLoading] = useState(false);\n const [records, setRecords] = useState([]);\n const [filter, setFilter] = useState(\"\");\n const [policyOpen, setPolicyOpen] = useState(false);\n const [checkedGroups, setCheckedGroups] = useState([]);\n\n useEffect(() => {\n isLoading(true);\n }, []);\n\n useEffect(() => {\n isLoading(true);\n }, []);\n\n const displayGroups = hasPermission(\n CONSOLE_UI_RESOURCE,\n displayGroupsPermissions\n );\n\n const deleteGroup = hasPermission(\n CONSOLE_UI_RESOURCE,\n deleteGroupPermissions\n );\n\n const getGroup = hasPermission(CONSOLE_UI_RESOURCE, getGroupPermissions);\n\n const applyPolicy = hasPermission(\n CONSOLE_UI_RESOURCE,\n applyPolicyPermissions,\n true\n );\n\n const selectionChanged = (e: React.ChangeEvent) => {\n const { target: { value = \"\", checked = false } = {} } = e;\n\n let elements: string[] = [...checkedGroups]; // 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 setCheckedGroups(elements);\n\n return elements;\n };\n\n useEffect(() => {\n if (loading) {\n if (displayGroups) {\n const fetchRecords = () => {\n api\n .invoke(\"GET\", `/api/v1/groups`)\n .then((res: GroupsList) => {\n let resGroups: string[] = [];\n if (res.groups !== null) {\n resGroups = res.groups.sort(stringSort);\n }\n setRecords(resGroups);\n isLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n isLoading(false);\n });\n };\n fetchRecords();\n } else {\n isLoading(false);\n }\n }\n }, [loading, dispatch, displayGroups]);\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n setCheckedGroups([]);\n if (refresh) {\n isLoading(true);\n }\n };\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.includes(filter)\n );\n\n const viewAction = (group: any) => {\n navigate(`${IAM_PAGES.GROUPS}/${encodeURLString(group)}`);\n };\n\n const tableActions = [\n {\n type: \"view\",\n onClick: viewAction,\n disableButtonFunction: () => !getGroup,\n },\n {\n type: \"edit\",\n onClick: viewAction,\n disableButtonFunction: () => !getGroup,\n },\n ];\n\n return (\n \n {deleteOpen && (\n \n )}\n {policyOpen && (\n {\n setPolicyOpen(false);\n }}\n />\n )}\n \n\n \n \n \n \n \n \n \n \n {\n setPolicyOpen(true);\n }}\n label={\"Assign Policy\"}\n icon={}\n disabled={checkedGroups.length < 1 || !applyPolicy}\n variant={\"regular\"}\n />\n \n \n \n \n {\n setDeleteOpen(true);\n }}\n label={\"Delete Selected\"}\n icon={}\n variant=\"secondary\"\n disabled={checkedGroups.length === 0 || !getGroup}\n />\n \n \n \n \n }\n onClick={() => {\n navigate(`${IAM_PAGES.GROUPS_ADD}`);\n }}\n />\n \n \n \n \n {loading && }\n {!loading && (\n \n {records.length > 0 && (\n \n \n \n \n \n \n \n \n \n }\n help={\n \n A group can have one attached IAM policy, where all\n users with membership in that group inherit that policy.\n Groups support more simplified management of user\n permissions on the MinIO Tenant.\n
\n
\n You can learn more at our{\" \"}\n \n documentation\n \n .\n
\n }\n />\n
\n
\n )}\n {records.length === 0 && (\n \n \n }\n help={\n \n A group can have one attached IAM policy, where all\n users with membership in that group inherit that policy.\n Groups support more simplified management of user\n permissions on the MinIO Tenant.\n \n
\n
\n To get started,{\" \"}\n {\n navigate(`${IAM_PAGES.GROUPS_ADD}`);\n }}\n >\n Create a Group\n \n .\n \n
\n }\n />\n
\n \n )}\n
\n )}\n
\n
\n );\n};\n\nexport default withStyles(styles)(Groups);\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: \"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;","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 */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\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 */\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 baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","padding","margin","textDecoration","cursor","color","palette","info","main","fontFamily","children","rest","WrappedComponent","fallback","ComponentWithSuspense","props","Suspense","searchField","adornment","placeholder","onChange","adornmentPosition","overrideClass","value","inputProps","disableUnderline","position","id","label","InputProps","e","target","variant","DeleteGroup","withSuspense","React","SetPolicy","tableBlock","tableStyles","marginTop","actionsTray","maxWidth","containerForHeader","spacing","dispatch","useAppDispatch","navigate","useNavigate","useState","deleteOpen","setDeleteOpen","loading","isLoading","records","setRecords","filter","setFilter","policyOpen","setPolicyOpen","checkedGroups","setCheckedGroups","useEffect","displayGroups","hasPermission","CONSOLE_UI_RESOURCE","displayGroupsPermissions","deleteGroup","deleteGroupPermissions","getGroup","getGroupPermissions","applyPolicy","applyPolicyPermissions","api","then","res","resGroups","groups","sort","stringSort","catch","err","setErrorSnackMessage","filteredRecords","elementItem","includes","viewAction","group","IAM_PAGES","encodeURLString","tableActions","type","onClick","disableButtonFunction","Fragment","selectedGroups","closeDeleteModalAndRefresh","refresh","open","selectedUser","closeModalAndRefresh","resource","scopes","errorProps","disabled","sx","matchAll","tooltip","length","permissionTooltipHelper","icon","createGroupPermissions","itemActions","columns","elementKey","selectedItems","onSelect","checked","elements","push","element","undefined","entityName","idField","href","rel","justifyContent","alignContent","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","createSvgIcon","_jsx","getCheckboxUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","CheckboxRoot","styled","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","styles","ownerState","indeterminate","capitalize","_extends","vars","text","secondary","disableRipple","action","activeChannel","primary","mainChannel","hoverOpacity","alpha","active","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","inProps","ref","_icon$props$fontSize","_indeterminateIcon$pr","useThemeProps","checkedIcon","iconProp","indeterminateIcon","indeterminateIconProp","size","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","clsx","baseGetTag","isArray","isObjectLike","module"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2637.a78c67b6.chunk.js b/portal-ui/build/static/js/2637.a78c67b6.chunk.js deleted file mode 100644 index a22a32ea4..000000000 --- a/portal-ui/build/static/js/2637.a78c67b6.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2637],{2637:function(s,x,e){e.r(x);var j=e(4942),m=e(29439),r=e(1413),n=e(72791),i=e(23814),c=e(11135),d=e(25787),o=e(28182),t=e(61889),l=e(68096),h=e(17133),b=e(10765),Z=e(85523),P=e(61419),I=e(56096),a=e(79976),u=e(72401),g=e(80184);x.default=(0,d.Z)((function(s){return(0,c.Z)((0,r.Z)((0,r.Z)({},(0,i.Bz)(s.spacing(4))),{},{root:{fontSize:12,wordWrap:"break-word","& .min-loader":{width:45,height:45}},def:{},red:{"& .min-icon":{color:"red"}}}))}))((function(s){var x=s.classes,e=(0,n.useState)("default"),r=(0,m.Z)(e,2),i=r[0],c=r[1];return(0,g.jsxs)("div",{className:x.container,children:[(0,g.jsx)(t.ZP,{container:!0,children:(0,g.jsxs)(l.Z,{children:[(0,g.jsx)(h.Z,{id:"demo-radio-buttons-group-label",children:"Color"}),(0,g.jsxs)(b.Z,{row:!0,"aria-labelledby":"demo-radio-buttons-group-label",defaultValue:"default",name:"radio-buttons-group",onChange:function(s){c(s.target.value)},children:[(0,g.jsx)(Z.Z,{value:"def",control:(0,g.jsx)(P.Z,{}),label:"Default"}),(0,g.jsx)(Z.Z,{value:"red",control:(0,g.jsx)(P.Z,{}),label:"Color"})]})]})}),(0,g.jsx)("h1",{children:"Logos"}),(0,g.jsxs)(t.ZP,{container:!0,spacing:4,textAlign:"center",className:(0,o.Z)(x.root,(0,j.Z)({},x.red,"red"===i)),children:[(0,g.jsxs)(t.ZP,{item:!0,xs:3,children:[(0,g.jsx)(I.ZFe,{}),(0,g.jsx)("br",{}),"ConsoleLogo"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,children:[(0,g.jsx)(I.BHR,{}),(0,g.jsx)("br",{}),"LoginMinIOLogo"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,children:[(0,g.jsx)(I.mGz,{}),(0,g.jsx)("br",{}),"OperatorLogo"]})]}),(0,g.jsx)("h1",{children:"Loaders"}),(0,g.jsx)(t.ZP,{container:!0,spacing:4,textAlign:"center",className:(0,o.Z)(x.root,(0,j.Z)({},x.red,"red"===i)),children:(0,g.jsxs)(t.ZP,{item:!0,xs:3,children:[(0,g.jsx)(u.Z,{}),(0,g.jsx)("br",{}),"Loader"]})}),(0,g.jsx)("h1",{children:"Icons"}),(0,g.jsxs)(t.ZP,{container:!0,spacing:4,textAlign:"center",className:(0,o.Z)(x.root,(0,j.Z)({},x.red,"red"===i)),children:[(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.frP,{}),(0,g.jsx)("br",{}),"AccountIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.sR0,{}),(0,g.jsx)("br",{}),"AddAccessRuleIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.Dez,{}),(0,g.jsx)("br",{}),"AddFolderIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.dtP,{}),(0,g.jsx)("br",{}),"AddIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.ZmA,{}),(0,g.jsx)("br",{}),"AddMembersToGroupIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.OCT,{}),(0,g.jsx)("br",{}),"AddNewTagIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.zMQ,{}),(0,g.jsx)("br",{}),"AlertIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.Sxo,{}),(0,g.jsx)("br",{}),"AllBucketsIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.e0j,{}),(0,g.jsx)("br",{}),"ArrowIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.LZ3,{}),(0,g.jsx)("br",{}),"ArrowRightIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.jze,{}),(0,g.jsx)("br",{}),"AzureTierIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.nAe,{}),(0,g.jsx)("br",{}),"AzureTierIconXs"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.xND,{}),(0,g.jsx)("br",{}),"BackSettingsIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.Xn4,{}),(0,g.jsx)("br",{}),"BucketEncryptionIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.Wqw,{}),(0,g.jsx)("br",{}),"BucketQuotaIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.xRg,{}),(0,g.jsx)("br",{}),"BucketReplicationIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.wNb,{}),(0,g.jsx)("br",{}),"BucketsIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.Que,{}),(0,g.jsx)("br",{}),"CalendarIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I._qw,{}),(0,g.jsx)("br",{}),"CallHomeFeatureIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.W3U,{}),(0,g.jsx)("br",{}),"CancelledIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.QXQ,{}),(0,g.jsx)("br",{}),"ChangeAccessPolicyIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.IaT,{}),(0,g.jsx)("br",{}),"ChangePasswordIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.J$M,{}),(0,g.jsx)("br",{}),"CircleIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.oto,{}),(0,g.jsx)("br",{}),"ClosePanelIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.aWt,{}),(0,g.jsx)("br",{}),"ClustersIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.W5x,{}),(0,g.jsx)("br",{}),"CollapseIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.UMk,{}),(0,g.jsx)("br",{}),"ComputerLineIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.qND,{}),(0,g.jsx)("br",{}),"ConfigurationsListIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.NvT,{}),(0,g.jsx)("br",{}),"ConfirmDeleteIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.EjK,{}),(0,g.jsx)("br",{}),"ConfirmModalIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.zD0,{}),(0,g.jsx)("br",{}),"ConsoleIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.TIy,{}),(0,g.jsx)("br",{}),"CopyIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.yeO,{}),(0,g.jsx)("br",{}),"CreateGroupIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.x2_,{}),(0,g.jsx)("br",{}),"CreateIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.Z9m,{}),(0,g.jsx)("br",{}),"CreateNewPathIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.P3B,{}),(0,g.jsx)("br",{}),"CreateUserIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.QGC,{}),(0,g.jsx)("br",{}),"DashboardIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.pJl,{}),(0,g.jsx)("br",{}),"DeleteIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.utM,{}),(0,g.jsx)("br",{}),"DeleteNonCurrentIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.toM,{}),(0,g.jsx)("br",{}),"DiagnosticsFeatureIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.MXM,{}),(0,g.jsx)("br",{}),"DiagnosticsIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.dRf,{}),(0,g.jsx)("br",{}),"DisabledIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.cYX,{}),(0,g.jsx)("br",{}),"DocumentationIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I._8t,{}),(0,g.jsx)("br",{}),"DownloadIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.Q_z,{}),(0,g.jsx)("br",{}),"DownloadStatIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.cno,{}),(0,g.jsx)("br",{}),"DriveFormatErrorsIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.FU8,{}),(0,g.jsx)("br",{}),"DrivesIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.dY8,{}),(0,g.jsx)("br",{}),"EditIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.T0F,{}),(0,g.jsx)("br",{}),"EditTagIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.Jpd,{}),(0,g.jsx)("br",{}),"EditTenantIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.wK7,{}),(0,g.jsx)("br",{}),"EditYamlIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.EOM,{}),(0,g.jsx)("br",{}),"EditorThemeSwitchIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.nFR,{}),(0,g.jsx)("br",{}),"EgressIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.E31,{}),(0,g.jsx)("br",{}),"EnabledIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.c3W,{}),(0,g.jsx)("br",{}),"EventSubscriptionIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.EQx,{}),(0,g.jsx)("br",{}),"ExtraFeaturesIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.rtI,{}),(0,g.jsx)("br",{}),"FileBookIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.nfT,{}),(0,g.jsx)("br",{}),"FileCloudIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.jG9,{}),(0,g.jsx)("br",{}),"FileCodeIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.NqG,{}),(0,g.jsx)("br",{}),"FileConfigIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.OkY,{}),(0,g.jsx)("br",{}),"FileDbIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.ZAy,{}),(0,g.jsx)("br",{}),"FileFontIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.q$4,{}),(0,g.jsx)("br",{}),"FileImageIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.bPE,{}),(0,g.jsx)("br",{}),"FileLinkIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.xDw,{}),(0,g.jsx)("br",{}),"FileLockIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.lrl,{}),(0,g.jsx)("br",{}),"FileMissingIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.mYf,{}),(0,g.jsx)("br",{}),"FileMusicIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.UU9,{}),(0,g.jsx)("br",{}),"FilePdfIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.hjP,{}),(0,g.jsx)("br",{}),"FilePptIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.p2x,{}),(0,g.jsx)("br",{}),"FileTxtIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.n9O,{}),(0,g.jsx)("br",{}),"FileVideoIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.arU,{}),(0,g.jsx)("br",{}),"FileWorldIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.hz9,{}),(0,g.jsx)("br",{}),"FileXlsIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.xhr,{}),(0,g.jsx)("br",{}),"FileZipIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.ROc,{}),(0,g.jsx)("br",{}),"FolderIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.QaX,{}),(0,g.jsx)("br",{}),"FormatDrivesIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.UQG,{}),(0,g.jsx)("br",{}),"GoogleTierIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.Vwu,{}),(0,g.jsx)("br",{}),"GoogleTierIconXs"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.wws,{}),(0,g.jsx)("br",{}),"GroupsIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.sjJ,{}),(0,g.jsx)("br",{}),"HardBucketQuotaIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.lnI,{}),(0,g.jsx)("br",{}),"HealIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.byK,{}),(0,g.jsx)("br",{}),"HelpIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.M9A,{}),(0,g.jsx)("br",{}),"HelpIconFilled"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.F_y,{}),(0,g.jsx)("br",{}),"HistoryIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.v42,{}),(0,g.jsx)("br",{}),"IAMPoliciesIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.szr,{}),(0,g.jsx)("br",{}),"InfoIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.iH5,{}),(0,g.jsx)("br",{}),"JSONIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.lTO,{}),(0,g.jsx)("br",{}),"LambdaBalloonIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.cCG,{}),(0,g.jsx)("br",{}),"LambdaIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.HNx,{}),(0,g.jsx)("br",{}),"LambdaNotificationsIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.fNL,{}),(0,g.jsx)("br",{}),"LegalHoldIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.DJX,{}),(0,g.jsx)("br",{}),"LicenseIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.QIv,{}),(0,g.jsx)("br",{}),"LifecycleConfigIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.xPt,{}),(0,g.jsx)("br",{}),"LinkIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.mBM,{}),(0,g.jsx)("br",{}),"LockIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.R0g,{}),(0,g.jsx)("br",{}),"LogoutIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.I$E,{}),(0,g.jsx)("br",{}),"LogsIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.fRO,{}),(0,g.jsx)("br",{}),"MetadataIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.$E9,{}),(0,g.jsx)("br",{}),"MinIOTierIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.YEz,{}),(0,g.jsx)("br",{}),"MinIOTierIconXs"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.nwx,{}),(0,g.jsx)("br",{}),"MirroringIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.D6F,{}),(0,g.jsx)("br",{}),"MultipleBucketsIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.IHw,{}),(0,g.jsx)("br",{}),"NewAccountIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.N$q,{}),(0,g.jsx)("br",{}),"NewPathIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.X2A,{}),(0,g.jsx)("br",{}),"NewPoolIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.hFZ,{}),(0,g.jsx)("br",{}),"NextArrowIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.R4E,{}),(0,g.jsx)("br",{}),"ObjectBrowser1Icon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.xgP,{}),(0,g.jsx)("br",{}),"ObjectBrowserFolderIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.b_P,{}),(0,g.jsx)("br",{}),"ObjectBrowserIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.Gvh,{}),(0,g.jsx)("br",{}),"ObjectInfoIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.gxm,{}),(0,g.jsx)("br",{}),"ObjectManagerIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.$30,{}),(0,g.jsx)("br",{}),"ObjectPreviewIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.v1N,{}),(0,g.jsx)("br",{}),"OfflineRegistrationBackIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.YL8,{}),(0,g.jsx)("br",{}),"OfflineRegistrationIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.pPN,{}),(0,g.jsx)("br",{}),"OnlineRegistrationBackIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.dRy,{}),(0,g.jsx)("br",{}),"OnlineRegistrationIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.Q2V,{}),(0,g.jsx)("br",{}),"OpenListIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.tvm,{}),(0,g.jsx)("br",{}),"PasswordKeyIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.Fsz,{}),(0,g.jsx)("br",{}),"PerformanceFeatureIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.CxS,{}),(0,g.jsx)("br",{}),"PermissionIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.P99,{}),(0,g.jsx)("br",{}),"PreviewIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.a$2,{}),(0,g.jsx)("br",{}),"PrometheusErrorIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.rt$,{}),(0,g.jsx)("br",{}),"PrometheusIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.D7Y,{}),(0,g.jsx)("br",{}),"RecoverIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.zGS,{}),(0,g.jsx)("br",{}),"RedoIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.DuK,{}),(0,g.jsx)("br",{}),"RefreshIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.tMF,{}),(0,g.jsx)("br",{}),"RemoveAllIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.HFL,{}),(0,g.jsx)("br",{}),"RemoveIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.Mhr,{}),(0,g.jsx)("br",{}),"ReportedUsageFullIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.rHZ,{}),(0,g.jsx)("br",{}),"ReportedUsageIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.E9d,{}),(0,g.jsx)("br",{}),"RetentionIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.feu,{}),(0,g.jsx)("br",{}),"S3TierIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.Xj3,{}),(0,g.jsx)("br",{}),"S3TierIconXs"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.W1M,{}),(0,g.jsx)("br",{}),"SearchIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.QQb,{}),(0,g.jsx)("br",{}),"SelectAllIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.amE,{}),(0,g.jsx)("br",{}),"SelectMultipleIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.SBZ,{}),(0,g.jsx)("br",{}),"ServersIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.tVY,{}),(0,g.jsx)("br",{}),"ServiceAccountCredentialsIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.nO6,{}),(0,g.jsx)("br",{}),"ServiceAccountIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.dv$,{}),(0,g.jsx)("br",{}),"ServiceAccountsIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.ewm,{}),(0,g.jsx)("br",{}),"SettingsIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.aAc,{}),(0,g.jsx)("br",{}),"ShareIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.QBB,{}),(0,g.jsx)("br",{}),"SpeedtestIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.r7p,{}),(0,g.jsx)("br",{}),"StarIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.idV,{}),(0,g.jsx)("br",{}),"StorageIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.bnu,{}),(0,g.jsx)("br",{}),"SyncIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.DgT,{}),(0,g.jsx)("br",{}),"TagsIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.zb0,{}),(0,g.jsx)("br",{}),"TenantsIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.EHn,{}),(0,g.jsx)("br",{}),"TenantsOutlineIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.y2Y,{}),(0,g.jsx)("br",{}),"TiersIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.gXu,{}),(0,g.jsx)("br",{}),"TiersNotAvailableIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.oEX,{}),(0,g.jsx)("br",{}),"ToolsIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.xpX,{}),(0,g.jsx)("br",{}),"TotalObjectsIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.C_0,{}),(0,g.jsx)("br",{}),"TraceIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.XHJ,{}),(0,g.jsx)("br",{}),"TrashIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.G1u,{}),(0,g.jsx)("br",{}),"UploadFile"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.oXh,{}),(0,g.jsx)("br",{}),"UploadFolderIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.rG2,{}),(0,g.jsx)("br",{}),"UploadIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.jhp,{}),(0,g.jsx)("br",{}),"UploadStatIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.oNq,{}),(0,g.jsx)("br",{}),"UptimeIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.oyc,{}),(0,g.jsx)("br",{}),"UsersIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.SA,{}),(0,g.jsx)("br",{}),"VerifiedIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.Dbk,{}),(0,g.jsx)("br",{}),"VersionIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.cRd,{}),(0,g.jsx)("br",{}),"VersionsIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.e6P,{}),(0,g.jsx)("br",{}),"WarnIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.B7x,{}),(0,g.jsx)("br",{}),"WarpIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.fOu,{}),(0,g.jsx)("br",{}),"WatchIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.eEZ,{}),(0,g.jsx)("br",{}),"AlertCloseIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.JUp,{}),(0,g.jsx)("br",{}),"OpenSourceIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.jR_,{}),(0,g.jsx)("br",{}),"LicenseDocIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.xCe,{}),(0,g.jsx)("br",{}),"BackIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.k1n,{}),(0,g.jsx)("br",{}),"FilterIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.tmp,{}),(0,g.jsx)("br",{}),"SuccessIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.vUj,{}),(0,g.jsx)("br",{}),"NetworkGetIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(I.Uxq,{}),(0,g.jsx)("br",{}),"NetworkPutIcon"]})]}),(0,g.jsx)("h1",{children:"Menu Icons"}),(0,g.jsxs)(t.ZP,{container:!0,spacing:4,textAlign:"center",className:(0,o.Z)(x.root,(0,j.Z)({},x.red,"red"===i)),children:[(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(a.CR,{}),(0,g.jsx)("br",{}),"AccessMenuIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(a.R7,{}),(0,g.jsx)("br",{}),"AccountsMenuIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(a.Qz,{}),(0,g.jsx)("br",{}),"AuditLogsMenuIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(a.sx,{}),(0,g.jsx)("br",{}),"BucketsMenuIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(a.o0,{}),(0,g.jsx)("br",{}),"CallHomeMenuIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(a.EY,{}),(0,g.jsx)("br",{}),"DiagnosticsMenuIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(a.ag,{}),(0,g.jsx)("br",{}),"DrivesMenuIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(a.an,{}),(0,g.jsx)("br",{}),"GroupsMenuIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(a.lx,{}),(0,g.jsx)("br",{}),"HealthMenuIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(a.BN,{}),(0,g.jsx)("br",{}),"IdentityMenuIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(a.Gp,{}),(0,g.jsx)("br",{}),"InspectMenuIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(a.lj,{}),(0,g.jsx)("br",{}),"LogsMenuIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(a.cg,{}),(0,g.jsx)("br",{}),"MenuCollapsedIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(a.Ud,{}),(0,g.jsx)("br",{}),"MenuExpandedIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(a._F,{}),(0,g.jsx)("br",{}),"MetricsMenuIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(a.uV,{}),(0,g.jsx)("br",{}),"MonitoringMenuIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(a.ep,{}),(0,g.jsx)("br",{}),"PerformanceMenuIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(a.tF,{}),(0,g.jsx)("br",{}),"ProfileMenuIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(a.V1,{}),(0,g.jsx)("br",{}),"RegisterMenuIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(a.aw,{}),(0,g.jsx)("br",{}),"SupportMenuIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(a.ub,{}),(0,g.jsx)("br",{}),"TraceMenuIcon"]}),(0,g.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,g.jsx)(a.v9,{}),(0,g.jsx)("br",{}),"UsersMenuIcon"]})]})]})}))}}]); -//# sourceMappingURL=2637.a78c67b6.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2637.a78c67b6.chunk.js.map b/portal-ui/build/static/js/2637.a78c67b6.chunk.js.map deleted file mode 100644 index 94ac3fde8..000000000 --- a/portal-ui/build/static/js/2637.a78c67b6.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/2637.a78c67b6.chunk.js","mappings":"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","sources":["screens/Console/Common/IconsScreen.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, { useState } from \"react\";\nimport { containerForHeader } from \"../Common/FormComponents/common/styleLibrary\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport clsx from \"clsx\";\nimport {\n FormControl,\n FormControlLabel,\n FormLabel,\n Grid,\n Radio,\n RadioGroup,\n} from \"@mui/material\";\n\nimport * as cicons from \"../../../icons\";\nimport * as micons from \"../../../icons/SidebarMenus\";\nimport Loader from \"./Loader/Loader\";\n\ninterface IIconsScreenSimple {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...containerForHeader(theme.spacing(4)),\n root: {\n fontSize: 12,\n wordWrap: \"break-word\",\n \"& .min-loader\": {\n width: 45,\n height: 45,\n },\n },\n def: {},\n red: {\n \"& .min-icon\": {\n color: \"red\",\n },\n },\n });\n\nconst IconsScreen = ({ classes }: IIconsScreenSimple) => {\n const [color, setColor] = useState(\"default\");\n return (\n

\n \n \n Color\n {\n setColor(c.target.value);\n }}\n >\n } label=\"Default\" />\n } label=\"Color\" />\n \n \n \n

Logos

\n \n \n \n
\n ConsoleLogo\n
\n \n \n
\n LoginMinIOLogo\n
\n\n \n \n
\n OperatorLogo\n
\n \n

Loaders

\n \n \n \n
\n Loader\n
\n \n

Icons

\n \n \n \n
\n AccountIcon\n
\n\n \n \n
\n AddAccessRuleIcon\n
\n\n \n \n
\n AddFolderIcon\n
\n\n \n \n
\n AddIcon\n
\n\n \n \n
\n AddMembersToGroupIcon\n
\n\n \n \n
\n AddNewTagIcon\n
\n\n \n \n
\n AlertIcon\n
\n\n \n \n
\n AllBucketsIcon\n
\n\n \n \n
\n ArrowIcon\n
\n\n \n \n
\n ArrowRightIcon\n
\n\n \n \n
\n AzureTierIcon\n
\n\n \n \n
\n AzureTierIconXs\n
\n\n \n \n
\n BackSettingsIcon\n
\n\n \n \n
\n BucketEncryptionIcon\n
\n\n \n \n
\n BucketQuotaIcon\n
\n\n \n \n
\n BucketReplicationIcon\n
\n\n \n \n
\n BucketsIcon\n
\n\n \n \n
\n CalendarIcon\n
\n\n \n \n
\n CallHomeFeatureIcon\n
\n\n \n \n
\n CancelledIcon\n
\n\n \n \n
\n ChangeAccessPolicyIcon\n
\n\n \n \n
\n ChangePasswordIcon\n
\n\n \n \n
\n CircleIcon\n
\n\n \n \n
\n ClosePanelIcon\n
\n\n \n \n
\n ClustersIcon\n
\n\n \n \n
\n CollapseIcon\n
\n\n \n \n
\n ComputerLineIcon\n
\n\n \n \n
\n ConfigurationsListIcon\n
\n\n \n \n
\n ConfirmDeleteIcon\n
\n\n \n \n
\n ConfirmModalIcon\n
\n\n \n \n
\n ConsoleIcon\n
\n\n \n \n
\n CopyIcon\n
\n\n \n \n
\n CreateGroupIcon\n
\n\n \n \n
\n CreateIcon\n
\n\n \n \n
\n CreateNewPathIcon\n
\n\n \n \n
\n CreateUserIcon\n
\n\n \n \n
\n DashboardIcon\n
\n\n \n \n
\n DeleteIcon\n
\n\n \n \n
\n DeleteNonCurrentIcon\n
\n\n \n \n
\n DiagnosticsFeatureIcon\n
\n\n \n \n
\n DiagnosticsIcon\n
\n\n \n \n
\n DisabledIcon\n
\n\n \n \n
\n DocumentationIcon\n
\n\n \n \n
\n DownloadIcon\n
\n\n \n \n
\n DownloadStatIcon\n
\n\n \n \n
\n DriveFormatErrorsIcon\n
\n\n \n \n
\n DrivesIcon\n
\n\n \n \n
\n EditIcon\n
\n\n \n \n
\n EditTagIcon\n
\n\n \n \n
\n EditTenantIcon\n
\n\n \n \n
\n EditYamlIcon\n
\n\n \n \n
\n EditorThemeSwitchIcon\n
\n\n \n \n
\n EgressIcon\n
\n\n \n \n
\n EnabledIcon\n
\n\n \n \n
\n EventSubscriptionIcon\n
\n\n \n \n
\n ExtraFeaturesIcon\n
\n\n \n \n
\n FileBookIcon\n
\n\n \n \n
\n FileCloudIcon\n
\n\n \n \n
\n FileCodeIcon\n
\n\n \n \n
\n FileConfigIcon\n
\n\n \n \n
\n FileDbIcon\n
\n\n \n \n
\n FileFontIcon\n
\n\n \n \n
\n FileImageIcon\n
\n\n \n \n
\n FileLinkIcon\n
\n\n \n \n
\n FileLockIcon\n
\n\n \n \n
\n FileMissingIcon\n
\n\n \n \n
\n FileMusicIcon\n
\n\n \n \n
\n FilePdfIcon\n
\n\n \n \n
\n FilePptIcon\n
\n\n \n \n
\n FileTxtIcon\n
\n\n \n \n
\n FileVideoIcon\n
\n\n \n \n
\n FileWorldIcon\n
\n\n \n \n
\n FileXlsIcon\n
\n\n \n \n
\n FileZipIcon\n
\n\n \n \n
\n FolderIcon\n
\n\n \n \n
\n FormatDrivesIcon\n
\n\n \n \n
\n GoogleTierIcon\n
\n\n \n \n
\n GoogleTierIconXs\n
\n\n \n \n
\n GroupsIcon\n
\n\n \n \n
\n HardBucketQuotaIcon\n
\n\n \n \n
\n HealIcon\n
\n\n \n \n
\n HelpIcon\n
\n\n \n \n
\n HelpIconFilled\n
\n\n \n \n
\n HistoryIcon\n
\n\n \n \n
\n IAMPoliciesIcon\n
\n\n \n \n
\n InfoIcon\n
\n\n \n \n
\n JSONIcon\n
\n\n \n \n
\n LambdaBalloonIcon\n
\n\n \n \n
\n LambdaIcon\n
\n\n \n \n
\n LambdaNotificationsIcon\n
\n\n \n \n
\n LegalHoldIcon\n
\n\n \n \n
\n LicenseIcon\n
\n\n \n \n
\n LifecycleConfigIcon\n
\n\n \n \n
\n LinkIcon\n
\n\n \n \n
\n LockIcon\n
\n\n \n \n
\n LogoutIcon\n
\n\n \n \n
\n LogsIcon\n
\n\n \n \n
\n MetadataIcon\n
\n\n \n \n
\n MinIOTierIcon\n
\n\n \n \n
\n MinIOTierIconXs\n
\n\n \n \n
\n MirroringIcon\n
\n\n \n \n
\n MultipleBucketsIcon\n
\n\n \n \n
\n NewAccountIcon\n
\n\n \n \n
\n NewPathIcon\n
\n\n \n \n
\n NewPoolIcon\n
\n\n \n \n
\n NextArrowIcon\n
\n\n \n \n
\n ObjectBrowser1Icon\n
\n\n \n \n
\n ObjectBrowserFolderIcon\n
\n\n \n \n
\n ObjectBrowserIcon\n
\n\n \n \n
\n ObjectInfoIcon\n
\n\n \n \n
\n ObjectManagerIcon\n
\n\n \n \n
\n ObjectPreviewIcon\n
\n\n \n \n
\n OfflineRegistrationBackIcon\n
\n\n \n \n
\n OfflineRegistrationIcon\n
\n\n \n \n
\n OnlineRegistrationBackIcon\n
\n\n \n \n
\n OnlineRegistrationIcon\n
\n\n \n \n
\n OpenListIcon\n
\n\n \n \n
\n PasswordKeyIcon\n
\n\n \n \n
\n PerformanceFeatureIcon\n
\n\n \n \n
\n PermissionIcon\n
\n\n \n \n
\n PreviewIcon\n
\n\n \n \n
\n PrometheusErrorIcon\n
\n\n \n \n
\n PrometheusIcon\n
\n\n \n \n
\n RecoverIcon\n
\n\n \n \n
\n RedoIcon\n
\n\n \n \n
\n RefreshIcon\n
\n\n \n \n
\n RemoveAllIcon\n
\n\n \n \n
\n RemoveIcon\n
\n\n \n \n
\n ReportedUsageFullIcon\n
\n\n \n \n
\n ReportedUsageIcon\n
\n\n \n \n
\n RetentionIcon\n
\n\n \n \n
\n S3TierIcon\n
\n\n \n \n
\n S3TierIconXs\n
\n\n \n \n
\n SearchIcon\n
\n\n \n \n
\n SelectAllIcon\n
\n\n \n \n
\n SelectMultipleIcon\n
\n\n \n \n
\n ServersIcon\n
\n\n \n \n
\n ServiceAccountCredentialsIcon\n
\n\n \n \n
\n ServiceAccountIcon\n
\n\n \n \n
\n ServiceAccountsIcon\n
\n\n \n \n
\n SettingsIcon\n
\n\n \n \n
\n ShareIcon\n
\n\n \n \n
\n SpeedtestIcon\n
\n\n \n \n
\n StarIcon\n
\n\n \n \n
\n StorageIcon\n
\n\n \n \n
\n SyncIcon\n
\n\n \n \n
\n TagsIcon\n
\n\n \n \n
\n TenantsIcon\n
\n\n \n \n
\n TenantsOutlineIcon\n
\n\n \n \n
\n TiersIcon\n
\n\n \n \n
\n TiersNotAvailableIcon\n
\n\n \n \n
\n ToolsIcon\n
\n\n \n \n
\n TotalObjectsIcon\n
\n\n \n \n
\n TraceIcon\n
\n\n \n \n
\n TrashIcon\n
\n\n \n \n
\n UploadFile\n
\n\n \n \n
\n UploadFolderIcon\n
\n\n \n \n
\n UploadIcon\n
\n\n \n \n
\n UploadStatIcon\n
\n\n \n \n
\n UptimeIcon\n
\n\n \n \n
\n UsersIcon\n
\n\n \n \n
\n VerifiedIcon\n
\n\n \n \n
\n VersionIcon\n
\n\n \n \n
\n VersionsIcon\n
\n\n \n \n
\n WarnIcon\n
\n\n \n \n
\n WarpIcon\n
\n\n \n \n
\n WatchIcon\n
\n \n \n
\n AlertCloseIcon\n
\n \n \n
\n OpenSourceIcon\n
\n \n \n
\n LicenseDocIcon\n
\n \n \n
\n BackIcon\n
\n \n \n
\n FilterIcon\n
\n \n \n
\n SuccessIcon\n
\n \n \n
\n NetworkGetIcon\n
\n \n \n
\n NetworkPutIcon\n
\n \n

Menu Icons

\n \n \n \n
\n AccessMenuIcon\n
\n\n \n \n
\n AccountsMenuIcon\n
\n\n \n \n
\n AuditLogsMenuIcon\n
\n\n \n \n
\n BucketsMenuIcon\n
\n\n \n \n
\n CallHomeMenuIcon\n
\n\n \n \n
\n DiagnosticsMenuIcon\n
\n\n \n \n
\n DrivesMenuIcon\n
\n\n \n \n
\n GroupsMenuIcon\n
\n\n \n \n
\n HealthMenuIcon\n
\n\n \n \n
\n IdentityMenuIcon\n
\n\n \n \n
\n InspectMenuIcon\n
\n\n \n \n
\n LogsMenuIcon\n
\n\n \n \n
\n MenuCollapsedIcon\n
\n\n \n \n
\n MenuExpandedIcon\n
\n\n \n \n
\n MetricsMenuIcon\n
\n\n \n \n
\n MonitoringMenuIcon\n
\n\n \n \n
\n PerformanceMenuIcon\n
\n\n \n \n
\n ProfileMenuIcon\n
\n\n \n \n
\n RegisterMenuIcon\n
\n\n \n \n
\n SupportMenuIcon\n
\n\n \n \n
\n TraceMenuIcon\n
\n\n \n \n
\n UsersMenuIcon\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(IconsScreen);\n"],"names":["withStyles","theme","createStyles","containerForHeader","spacing","root","fontSize","wordWrap","width","height","def","red","color","classes","useState","setColor","className","container","id","row","defaultValue","name","onChange","c","target","value","control","label","textAlign","clsx","item","xs","sm","md"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2637.a7bb7b5b.chunk.js b/portal-ui/build/static/js/2637.a7bb7b5b.chunk.js new file mode 100644 index 000000000..b570687a3 --- /dev/null +++ b/portal-ui/build/static/js/2637.a7bb7b5b.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2637],{2637:function(s,x,e){e.r(x);var m=e(4942),j=e(29439),r=e(1413),n=e(72791),i=e(23814),c=e(11135),d=e(25787),o=e(28182),t=e(61889),l=e(68096),h=e(17133),b=e(10765),P=e(85523),Z=e(61419),I=e(75952),a=e(80184);x.default=(0,d.Z)((function(s){return(0,c.Z)((0,r.Z)((0,r.Z)({},(0,i.Bz)(s.spacing(4))),{},{root:{fontSize:12,wordWrap:"break-word","& .min-loader":{width:45,height:45}},def:{},red:{"& .min-icon":{color:"red"}}}))}))((function(s){var x=s.classes,e=(0,n.useState)("default"),r=(0,j.Z)(e,2),i=r[0],c=r[1];return(0,a.jsxs)("div",{className:x.container,children:[(0,a.jsx)(t.ZP,{container:!0,children:(0,a.jsxs)(l.Z,{children:[(0,a.jsx)(h.Z,{id:"demo-radio-buttons-group-label",children:"Color"}),(0,a.jsxs)(b.Z,{row:!0,"aria-labelledby":"demo-radio-buttons-group-label",defaultValue:"default",name:"radio-buttons-group",onChange:function(s){c(s.target.value)},children:[(0,a.jsx)(P.Z,{value:"def",control:(0,a.jsx)(Z.Z,{}),label:"Default"}),(0,a.jsx)(P.Z,{value:"red",control:(0,a.jsx)(Z.Z,{}),label:"Color"})]})]})}),(0,a.jsx)("h1",{children:"Logos"}),(0,a.jsx)(t.ZP,{container:!0,spacing:4,textAlign:"center",className:(0,o.Z)(x.root,(0,m.Z)({},x.red,"red"===i)),children:(0,a.jsxs)(t.ZP,{item:!0,xs:3,children:[(0,a.jsx)(I.uhQ,{}),(0,a.jsx)("br",{}),"ThemedLogo"]})}),(0,a.jsx)("h1",{children:"Loaders"}),(0,a.jsx)(t.ZP,{container:!0,spacing:4,textAlign:"center",className:(0,o.Z)(x.root,(0,m.Z)({},x.red,"red"===i)),children:(0,a.jsxs)(t.ZP,{item:!0,xs:3,children:[(0,a.jsx)(I.aNw,{}),(0,a.jsx)("br",{}),"Loader"]})}),(0,a.jsx)("h1",{children:"Icons"}),(0,a.jsxs)(t.ZP,{container:!0,spacing:4,textAlign:"center",className:(0,o.Z)(x.root,(0,m.Z)({},x.red,"red"===i)),children:[(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.frP,{}),(0,a.jsx)("br",{}),"AccountIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.sR0,{}),(0,a.jsx)("br",{}),"AddAccessRuleIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.Dez,{}),(0,a.jsx)("br",{}),"AddFolderIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.dtP,{}),(0,a.jsx)("br",{}),"AddIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.ZmA,{}),(0,a.jsx)("br",{}),"AddMembersToGroupIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.OCT,{}),(0,a.jsx)("br",{}),"AddNewTagIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.zMQ,{}),(0,a.jsx)("br",{}),"AlertIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.Sxo,{}),(0,a.jsx)("br",{}),"AllBucketsIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.e0j,{}),(0,a.jsx)("br",{}),"ArrowIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.LZ3,{}),(0,a.jsx)("br",{}),"ArrowRightIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.jze,{}),(0,a.jsx)("br",{}),"AzureTierIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.nAe,{}),(0,a.jsx)("br",{}),"AzureTierIconXs"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.xND,{}),(0,a.jsx)("br",{}),"BackSettingsIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.Xn4,{}),(0,a.jsx)("br",{}),"BucketEncryptionIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.Wqw,{}),(0,a.jsx)("br",{}),"BucketQuotaIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.xRg,{}),(0,a.jsx)("br",{}),"BucketReplicationIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.wNb,{}),(0,a.jsx)("br",{}),"BucketsIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.Que,{}),(0,a.jsx)("br",{}),"CalendarIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I._qw,{}),(0,a.jsx)("br",{}),"CallHomeFeatureIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.W3U,{}),(0,a.jsx)("br",{}),"CancelledIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.QXQ,{}),(0,a.jsx)("br",{}),"ChangeAccessPolicyIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.IaT,{}),(0,a.jsx)("br",{}),"ChangePasswordIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.J$M,{}),(0,a.jsx)("br",{}),"CircleIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.oto,{}),(0,a.jsx)("br",{}),"ClosePanelIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.aWt,{}),(0,a.jsx)("br",{}),"ClustersIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.W5x,{}),(0,a.jsx)("br",{}),"CollapseIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.UMk,{}),(0,a.jsx)("br",{}),"ComputerLineIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.qND,{}),(0,a.jsx)("br",{}),"ConfigurationsListIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.NvT,{}),(0,a.jsx)("br",{}),"ConfirmDeleteIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.EjK,{}),(0,a.jsx)("br",{}),"ConfirmModalIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.zD0,{}),(0,a.jsx)("br",{}),"ConsoleIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.TIy,{}),(0,a.jsx)("br",{}),"CopyIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.yeO,{}),(0,a.jsx)("br",{}),"CreateGroupIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.x2_,{}),(0,a.jsx)("br",{}),"CreateIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.Z9m,{}),(0,a.jsx)("br",{}),"CreateNewPathIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.P3B,{}),(0,a.jsx)("br",{}),"CreateUserIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.QGC,{}),(0,a.jsx)("br",{}),"DashboardIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.pJl,{}),(0,a.jsx)("br",{}),"DeleteIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.utM,{}),(0,a.jsx)("br",{}),"DeleteNonCurrentIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.toM,{}),(0,a.jsx)("br",{}),"DiagnosticsFeatureIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.MXM,{}),(0,a.jsx)("br",{}),"DiagnosticsIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.dRf,{}),(0,a.jsx)("br",{}),"DisabledIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.cYX,{}),(0,a.jsx)("br",{}),"DocumentationIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I._8t,{}),(0,a.jsx)("br",{}),"DownloadIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.Q_z,{}),(0,a.jsx)("br",{}),"DownloadStatIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.cno,{}),(0,a.jsx)("br",{}),"DriveFormatErrorsIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.FU8,{}),(0,a.jsx)("br",{}),"DrivesIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.dY8,{}),(0,a.jsx)("br",{}),"EditIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.T0F,{}),(0,a.jsx)("br",{}),"EditTagIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.Jpd,{}),(0,a.jsx)("br",{}),"EditTenantIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.wK7,{}),(0,a.jsx)("br",{}),"EditYamlIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.EOM,{}),(0,a.jsx)("br",{}),"EditorThemeSwitchIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.nFR,{}),(0,a.jsx)("br",{}),"EgressIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.E31,{}),(0,a.jsx)("br",{}),"EnabledIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.c3W,{}),(0,a.jsx)("br",{}),"EventSubscriptionIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.EQx,{}),(0,a.jsx)("br",{}),"ExtraFeaturesIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.rtI,{}),(0,a.jsx)("br",{}),"FileBookIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.nfT,{}),(0,a.jsx)("br",{}),"FileCloudIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.jG9,{}),(0,a.jsx)("br",{}),"FileCodeIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.NqG,{}),(0,a.jsx)("br",{}),"FileConfigIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.OkY,{}),(0,a.jsx)("br",{}),"FileDbIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.ZAy,{}),(0,a.jsx)("br",{}),"FileFontIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.q$4,{}),(0,a.jsx)("br",{}),"FileImageIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.bPE,{}),(0,a.jsx)("br",{}),"FileLinkIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.xDw,{}),(0,a.jsx)("br",{}),"FileLockIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.lrl,{}),(0,a.jsx)("br",{}),"FileMissingIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.mYf,{}),(0,a.jsx)("br",{}),"FileMusicIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.UU9,{}),(0,a.jsx)("br",{}),"FilePdfIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.hjP,{}),(0,a.jsx)("br",{}),"FilePptIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.p2x,{}),(0,a.jsx)("br",{}),"FileTxtIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.n9O,{}),(0,a.jsx)("br",{}),"FileVideoIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.arU,{}),(0,a.jsx)("br",{}),"FileWorldIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.hz9,{}),(0,a.jsx)("br",{}),"FileXlsIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.xhr,{}),(0,a.jsx)("br",{}),"FileZipIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.ROc,{}),(0,a.jsx)("br",{}),"FolderIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.QaX,{}),(0,a.jsx)("br",{}),"FormatDrivesIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.UQG,{}),(0,a.jsx)("br",{}),"GoogleTierIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.Vwu,{}),(0,a.jsx)("br",{}),"GoogleTierIconXs"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.wws,{}),(0,a.jsx)("br",{}),"GroupsIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.sjJ,{}),(0,a.jsx)("br",{}),"HardBucketQuotaIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.lnI,{}),(0,a.jsx)("br",{}),"HealIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.byK,{}),(0,a.jsx)("br",{}),"HelpIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.M9A,{}),(0,a.jsx)("br",{}),"HelpIconFilled"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.F_y,{}),(0,a.jsx)("br",{}),"HistoryIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.v42,{}),(0,a.jsx)("br",{}),"IAMPoliciesIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.szr,{}),(0,a.jsx)("br",{}),"InfoIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.iH5,{}),(0,a.jsx)("br",{}),"JSONIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.lTO,{}),(0,a.jsx)("br",{}),"LambdaBalloonIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.cCG,{}),(0,a.jsx)("br",{}),"LambdaIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.HNx,{}),(0,a.jsx)("br",{}),"LambdaNotificationsIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.fNL,{}),(0,a.jsx)("br",{}),"LegalHoldIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.DJX,{}),(0,a.jsx)("br",{}),"LicenseIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.QIv,{}),(0,a.jsx)("br",{}),"LifecycleConfigIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.xPt,{}),(0,a.jsx)("br",{}),"LinkIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.mBM,{}),(0,a.jsx)("br",{}),"LockIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.R0g,{}),(0,a.jsx)("br",{}),"LogoutIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.I$E,{}),(0,a.jsx)("br",{}),"LogsIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.fRO,{}),(0,a.jsx)("br",{}),"MetadataIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.$E9,{}),(0,a.jsx)("br",{}),"MinIOTierIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.YEz,{}),(0,a.jsx)("br",{}),"MinIOTierIconXs"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.nwx,{}),(0,a.jsx)("br",{}),"MirroringIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.D6F,{}),(0,a.jsx)("br",{}),"MultipleBucketsIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.IHw,{}),(0,a.jsx)("br",{}),"NewAccountIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.N$q,{}),(0,a.jsx)("br",{}),"NewPathIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.X2A,{}),(0,a.jsx)("br",{}),"NewPoolIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.hFZ,{}),(0,a.jsx)("br",{}),"NextArrowIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.R4E,{}),(0,a.jsx)("br",{}),"ObjectBrowser1Icon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.xgP,{}),(0,a.jsx)("br",{}),"ObjectBrowserFolderIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.b_P,{}),(0,a.jsx)("br",{}),"ObjectBrowserIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.Gvh,{}),(0,a.jsx)("br",{}),"ObjectInfoIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.gxm,{}),(0,a.jsx)("br",{}),"ObjectManagerIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.$30,{}),(0,a.jsx)("br",{}),"ObjectPreviewIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.v1N,{}),(0,a.jsx)("br",{}),"OfflineRegistrationBackIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.YL8,{}),(0,a.jsx)("br",{}),"OfflineRegistrationIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.pPN,{}),(0,a.jsx)("br",{}),"OnlineRegistrationBackIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.dRy,{}),(0,a.jsx)("br",{}),"OnlineRegistrationIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.Q2V,{}),(0,a.jsx)("br",{}),"OpenListIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.tvm,{}),(0,a.jsx)("br",{}),"PasswordKeyIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.Fsz,{}),(0,a.jsx)("br",{}),"PerformanceFeatureIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.CxS,{}),(0,a.jsx)("br",{}),"PermissionIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.P99,{}),(0,a.jsx)("br",{}),"PreviewIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.a$2,{}),(0,a.jsx)("br",{}),"PrometheusErrorIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.rt$,{}),(0,a.jsx)("br",{}),"PrometheusIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.D7Y,{}),(0,a.jsx)("br",{}),"RecoverIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.zGS,{}),(0,a.jsx)("br",{}),"RedoIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.DuK,{}),(0,a.jsx)("br",{}),"RefreshIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.tMF,{}),(0,a.jsx)("br",{}),"RemoveAllIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.HFL,{}),(0,a.jsx)("br",{}),"RemoveIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.Mhr,{}),(0,a.jsx)("br",{}),"ReportedUsageFullIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.rHZ,{}),(0,a.jsx)("br",{}),"ReportedUsageIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.E9d,{}),(0,a.jsx)("br",{}),"RetentionIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.feu,{}),(0,a.jsx)("br",{}),"S3TierIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.Xj3,{}),(0,a.jsx)("br",{}),"S3TierIconXs"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.W1M,{}),(0,a.jsx)("br",{}),"SearchIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.QQb,{}),(0,a.jsx)("br",{}),"SelectAllIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.amE,{}),(0,a.jsx)("br",{}),"SelectMultipleIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.SBZ,{}),(0,a.jsx)("br",{}),"ServersIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.tVY,{}),(0,a.jsx)("br",{}),"ServiceAccountCredentialsIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.nO6,{}),(0,a.jsx)("br",{}),"ServiceAccountIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.dv$,{}),(0,a.jsx)("br",{}),"ServiceAccountsIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.ewm,{}),(0,a.jsx)("br",{}),"SettingsIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.aAc,{}),(0,a.jsx)("br",{}),"ShareIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.QBB,{}),(0,a.jsx)("br",{}),"SpeedtestIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.r7p,{}),(0,a.jsx)("br",{}),"StarIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.idV,{}),(0,a.jsx)("br",{}),"StorageIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.bnu,{}),(0,a.jsx)("br",{}),"SyncIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.DgT,{}),(0,a.jsx)("br",{}),"TagsIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.zb0,{}),(0,a.jsx)("br",{}),"TenantsIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.EHn,{}),(0,a.jsx)("br",{}),"TenantsOutlineIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.y2Y,{}),(0,a.jsx)("br",{}),"TiersIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.gXu,{}),(0,a.jsx)("br",{}),"TiersNotAvailableIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.oEX,{}),(0,a.jsx)("br",{}),"ToolsIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.xpX,{}),(0,a.jsx)("br",{}),"TotalObjectsIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.C_0,{}),(0,a.jsx)("br",{}),"TraceIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.XHJ,{}),(0,a.jsx)("br",{}),"TrashIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.G1u,{}),(0,a.jsx)("br",{}),"UploadFile"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.oXh,{}),(0,a.jsx)("br",{}),"UploadFolderIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.rG2,{}),(0,a.jsx)("br",{}),"UploadIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.jhp,{}),(0,a.jsx)("br",{}),"UploadStatIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.oNq,{}),(0,a.jsx)("br",{}),"UptimeIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.oyc,{}),(0,a.jsx)("br",{}),"UsersIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.SA,{}),(0,a.jsx)("br",{}),"VerifiedIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.Dbk,{}),(0,a.jsx)("br",{}),"VersionIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.cRd,{}),(0,a.jsx)("br",{}),"VersionsIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.e6P,{}),(0,a.jsx)("br",{}),"WarnIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.B7x,{}),(0,a.jsx)("br",{}),"WarpIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.fOu,{}),(0,a.jsx)("br",{}),"WatchIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.eEZ,{}),(0,a.jsx)("br",{}),"AlertCloseIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.JUp,{}),(0,a.jsx)("br",{}),"OpenSourceIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.jR_,{}),(0,a.jsx)("br",{}),"LicenseDocIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.xCe,{}),(0,a.jsx)("br",{}),"BackIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.k1n,{}),(0,a.jsx)("br",{}),"FilterIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.tmp,{}),(0,a.jsx)("br",{}),"SuccessIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.vUj,{}),(0,a.jsx)("br",{}),"NetworkGetIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.Uxq,{}),(0,a.jsx)("br",{}),"NetworkPutIcon"]})]}),(0,a.jsx)("h1",{children:"Menu Icons"}),(0,a.jsxs)(t.ZP,{container:!0,spacing:4,textAlign:"center",className:(0,o.Z)(x.root,(0,m.Z)({},x.red,"red"===i)),children:[(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.CRn,{}),(0,a.jsx)("br",{}),"AccessMenuIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.R7e,{}),(0,a.jsx)("br",{}),"AccountsMenuIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.Qz3,{}),(0,a.jsx)("br",{}),"AuditLogsMenuIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.sxT,{}),(0,a.jsx)("br",{}),"BucketsMenuIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.o0P,{}),(0,a.jsx)("br",{}),"CallHomeMenuIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.EY8,{}),(0,a.jsx)("br",{}),"DiagnosticsMenuIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.agv,{}),(0,a.jsx)("br",{}),"DrivesMenuIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.anK,{}),(0,a.jsx)("br",{}),"GroupsMenuIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.lx4,{}),(0,a.jsx)("br",{}),"HealthMenuIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.BNr,{}),(0,a.jsx)("br",{}),"IdentityMenuIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.Gp8,{}),(0,a.jsx)("br",{}),"InspectMenuIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.ljo,{}),(0,a.jsx)("br",{}),"LogsMenuIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.cg1,{}),(0,a.jsx)("br",{}),"MenuCollapsedIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.Udo,{}),(0,a.jsx)("br",{}),"MenuExpandedIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I._FR,{}),(0,a.jsx)("br",{}),"MetricsMenuIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.uV5,{}),(0,a.jsx)("br",{}),"MonitoringMenuIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.ep1,{}),(0,a.jsx)("br",{}),"PerformanceMenuIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.tFJ,{}),(0,a.jsx)("br",{}),"ProfileMenuIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.V1I,{}),(0,a.jsx)("br",{}),"RegisterMenuIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.awm,{}),(0,a.jsx)("br",{}),"SupportMenuIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.ubG,{}),(0,a.jsx)("br",{}),"TraceMenuIcon"]}),(0,a.jsxs)(t.ZP,{item:!0,xs:3,sm:2,md:1,children:[(0,a.jsx)(I.v9P,{}),(0,a.jsx)("br",{}),"UsersMenuIcon"]})]})]})}))}}]); +//# sourceMappingURL=2637.a7bb7b5b.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2637.a7bb7b5b.chunk.js.map b/portal-ui/build/static/js/2637.a7bb7b5b.chunk.js.map new file mode 100644 index 000000000..6ce1a4e8d --- /dev/null +++ b/portal-ui/build/static/js/2637.a7bb7b5b.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2637.a7bb7b5b.chunk.js","mappings":"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","sources":["screens/Console/Common/IconsScreen.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, { useState } from \"react\";\nimport { containerForHeader } from \"../Common/FormComponents/common/styleLibrary\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport clsx from \"clsx\";\nimport {\n FormControl,\n FormControlLabel,\n FormLabel,\n Grid,\n Radio,\n RadioGroup,\n} from \"@mui/material\";\n\nimport * as cicons from \"mds\";\nimport * as micons from \"mds\";\nimport { Loader } from \"mds\";\n\ninterface IIconsScreenSimple {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...containerForHeader(theme.spacing(4)),\n root: {\n fontSize: 12,\n wordWrap: \"break-word\",\n \"& .min-loader\": {\n width: 45,\n height: 45,\n },\n },\n def: {},\n red: {\n \"& .min-icon\": {\n color: \"red\",\n },\n },\n });\n\nconst IconsScreen = ({ classes }: IIconsScreenSimple) => {\n const [color, setColor] = useState(\"default\");\n return (\n
\n \n \n Color\n {\n setColor(c.target.value);\n }}\n >\n } label=\"Default\" />\n } label=\"Color\" />\n \n \n \n

Logos

\n \n \n \n
\n ThemedLogo\n
\n \n

Loaders

\n \n \n \n
\n Loader\n
\n \n

Icons

\n \n \n \n
\n AccountIcon\n
\n\n \n \n
\n AddAccessRuleIcon\n
\n\n \n \n
\n AddFolderIcon\n
\n\n \n \n
\n AddIcon\n
\n\n \n \n
\n AddMembersToGroupIcon\n
\n\n \n \n
\n AddNewTagIcon\n
\n\n \n \n
\n AlertIcon\n
\n\n \n \n
\n AllBucketsIcon\n
\n\n \n \n
\n ArrowIcon\n
\n\n \n \n
\n ArrowRightIcon\n
\n\n \n \n
\n AzureTierIcon\n
\n\n \n \n
\n AzureTierIconXs\n
\n\n \n \n
\n BackSettingsIcon\n
\n\n \n \n
\n BucketEncryptionIcon\n
\n\n \n \n
\n BucketQuotaIcon\n
\n\n \n \n
\n BucketReplicationIcon\n
\n\n \n \n
\n BucketsIcon\n
\n\n \n \n
\n CalendarIcon\n
\n\n \n \n
\n CallHomeFeatureIcon\n
\n\n \n \n
\n CancelledIcon\n
\n\n \n \n
\n ChangeAccessPolicyIcon\n
\n\n \n \n
\n ChangePasswordIcon\n
\n\n \n \n
\n CircleIcon\n
\n\n \n \n
\n ClosePanelIcon\n
\n\n \n \n
\n ClustersIcon\n
\n\n \n \n
\n CollapseIcon\n
\n\n \n \n
\n ComputerLineIcon\n
\n\n \n \n
\n ConfigurationsListIcon\n
\n\n \n \n
\n ConfirmDeleteIcon\n
\n\n \n \n
\n ConfirmModalIcon\n
\n\n \n \n
\n ConsoleIcon\n
\n\n \n \n
\n CopyIcon\n
\n\n \n \n
\n CreateGroupIcon\n
\n\n \n \n
\n CreateIcon\n
\n\n \n \n
\n CreateNewPathIcon\n
\n\n \n \n
\n CreateUserIcon\n
\n\n \n \n
\n DashboardIcon\n
\n\n \n \n
\n DeleteIcon\n
\n\n \n \n
\n DeleteNonCurrentIcon\n
\n\n \n \n
\n DiagnosticsFeatureIcon\n
\n\n \n \n
\n DiagnosticsIcon\n
\n\n \n \n
\n DisabledIcon\n
\n\n \n \n
\n DocumentationIcon\n
\n\n \n \n
\n DownloadIcon\n
\n\n \n \n
\n DownloadStatIcon\n
\n\n \n \n
\n DriveFormatErrorsIcon\n
\n\n \n \n
\n DrivesIcon\n
\n\n \n \n
\n EditIcon\n
\n\n \n \n
\n EditTagIcon\n
\n\n \n \n
\n EditTenantIcon\n
\n\n \n \n
\n EditYamlIcon\n
\n\n \n \n
\n EditorThemeSwitchIcon\n
\n\n \n \n
\n EgressIcon\n
\n\n \n \n
\n EnabledIcon\n
\n\n \n \n
\n EventSubscriptionIcon\n
\n\n \n \n
\n ExtraFeaturesIcon\n
\n\n \n \n
\n FileBookIcon\n
\n\n \n \n
\n FileCloudIcon\n
\n\n \n \n
\n FileCodeIcon\n
\n\n \n \n
\n FileConfigIcon\n
\n\n \n \n
\n FileDbIcon\n
\n\n \n \n
\n FileFontIcon\n
\n\n \n \n
\n FileImageIcon\n
\n\n \n \n
\n FileLinkIcon\n
\n\n \n \n
\n FileLockIcon\n
\n\n \n \n
\n FileMissingIcon\n
\n\n \n \n
\n FileMusicIcon\n
\n\n \n \n
\n FilePdfIcon\n
\n\n \n \n
\n FilePptIcon\n
\n\n \n \n
\n FileTxtIcon\n
\n\n \n \n
\n FileVideoIcon\n
\n\n \n \n
\n FileWorldIcon\n
\n\n \n \n
\n FileXlsIcon\n
\n\n \n \n
\n FileZipIcon\n
\n\n \n \n
\n FolderIcon\n
\n\n \n \n
\n FormatDrivesIcon\n
\n\n \n \n
\n GoogleTierIcon\n
\n\n \n \n
\n GoogleTierIconXs\n
\n\n \n \n
\n GroupsIcon\n
\n\n \n \n
\n HardBucketQuotaIcon\n
\n\n \n \n
\n HealIcon\n
\n\n \n \n
\n HelpIcon\n
\n\n \n \n
\n HelpIconFilled\n
\n\n \n \n
\n HistoryIcon\n
\n\n \n \n
\n IAMPoliciesIcon\n
\n\n \n \n
\n InfoIcon\n
\n\n \n \n
\n JSONIcon\n
\n\n \n \n
\n LambdaBalloonIcon\n
\n\n \n \n
\n LambdaIcon\n
\n\n \n \n
\n LambdaNotificationsIcon\n
\n\n \n \n
\n LegalHoldIcon\n
\n\n \n \n
\n LicenseIcon\n
\n\n \n \n
\n LifecycleConfigIcon\n
\n\n \n \n
\n LinkIcon\n
\n\n \n \n
\n LockIcon\n
\n\n \n \n
\n LogoutIcon\n
\n\n \n \n
\n LogsIcon\n
\n\n \n \n
\n MetadataIcon\n
\n\n \n \n
\n MinIOTierIcon\n
\n\n \n \n
\n MinIOTierIconXs\n
\n\n \n \n
\n MirroringIcon\n
\n\n \n \n
\n MultipleBucketsIcon\n
\n\n \n \n
\n NewAccountIcon\n
\n\n \n \n
\n NewPathIcon\n
\n\n \n \n
\n NewPoolIcon\n
\n\n \n \n
\n NextArrowIcon\n
\n\n \n \n
\n ObjectBrowser1Icon\n
\n\n \n \n
\n ObjectBrowserFolderIcon\n
\n\n \n \n
\n ObjectBrowserIcon\n
\n\n \n \n
\n ObjectInfoIcon\n
\n\n \n \n
\n ObjectManagerIcon\n
\n\n \n \n
\n ObjectPreviewIcon\n
\n\n \n \n
\n OfflineRegistrationBackIcon\n
\n\n \n \n
\n OfflineRegistrationIcon\n
\n\n \n \n
\n OnlineRegistrationBackIcon\n
\n\n \n \n
\n OnlineRegistrationIcon\n
\n\n \n \n
\n OpenListIcon\n
\n\n \n \n
\n PasswordKeyIcon\n
\n\n \n \n
\n PerformanceFeatureIcon\n
\n\n \n \n
\n PermissionIcon\n
\n\n \n \n
\n PreviewIcon\n
\n\n \n \n
\n PrometheusErrorIcon\n
\n\n \n \n
\n PrometheusIcon\n
\n\n \n \n
\n RecoverIcon\n
\n\n \n \n
\n RedoIcon\n
\n\n \n \n
\n RefreshIcon\n
\n\n \n \n
\n RemoveAllIcon\n
\n\n \n \n
\n RemoveIcon\n
\n\n \n \n
\n ReportedUsageFullIcon\n
\n\n \n \n
\n ReportedUsageIcon\n
\n\n \n \n
\n RetentionIcon\n
\n\n \n \n
\n S3TierIcon\n
\n\n \n \n
\n S3TierIconXs\n
\n\n \n \n
\n SearchIcon\n
\n\n \n \n
\n SelectAllIcon\n
\n\n \n \n
\n SelectMultipleIcon\n
\n\n \n \n
\n ServersIcon\n
\n\n \n \n
\n ServiceAccountCredentialsIcon\n
\n\n \n \n
\n ServiceAccountIcon\n
\n\n \n \n
\n ServiceAccountsIcon\n
\n\n \n \n
\n SettingsIcon\n
\n\n \n \n
\n ShareIcon\n
\n\n \n \n
\n SpeedtestIcon\n
\n\n \n \n
\n StarIcon\n
\n\n \n \n
\n StorageIcon\n
\n\n \n \n
\n SyncIcon\n
\n\n \n \n
\n TagsIcon\n
\n\n \n \n
\n TenantsIcon\n
\n\n \n \n
\n TenantsOutlineIcon\n
\n\n \n \n
\n TiersIcon\n
\n\n \n \n
\n TiersNotAvailableIcon\n
\n\n \n \n
\n ToolsIcon\n
\n\n \n \n
\n TotalObjectsIcon\n
\n\n \n \n
\n TraceIcon\n
\n\n \n \n
\n TrashIcon\n
\n\n \n \n
\n UploadFile\n
\n\n \n \n
\n UploadFolderIcon\n
\n\n \n \n
\n UploadIcon\n
\n\n \n \n
\n UploadStatIcon\n
\n\n \n \n
\n UptimeIcon\n
\n\n \n \n
\n UsersIcon\n
\n\n \n \n
\n VerifiedIcon\n
\n\n \n \n
\n VersionIcon\n
\n\n \n \n
\n VersionsIcon\n
\n\n \n \n
\n WarnIcon\n
\n\n \n \n
\n WarpIcon\n
\n\n \n \n
\n WatchIcon\n
\n \n \n
\n AlertCloseIcon\n
\n \n \n
\n OpenSourceIcon\n
\n \n \n
\n LicenseDocIcon\n
\n \n \n
\n BackIcon\n
\n \n \n
\n FilterIcon\n
\n \n \n
\n SuccessIcon\n
\n \n \n
\n NetworkGetIcon\n
\n \n \n
\n NetworkPutIcon\n
\n \n

Menu Icons

\n \n \n \n
\n AccessMenuIcon\n
\n\n \n \n
\n AccountsMenuIcon\n
\n\n \n \n
\n AuditLogsMenuIcon\n
\n\n \n \n
\n BucketsMenuIcon\n
\n\n \n \n
\n CallHomeMenuIcon\n
\n\n \n \n
\n DiagnosticsMenuIcon\n
\n\n \n \n
\n DrivesMenuIcon\n
\n\n \n \n
\n GroupsMenuIcon\n
\n\n \n \n
\n HealthMenuIcon\n
\n\n \n \n
\n IdentityMenuIcon\n
\n\n \n \n
\n InspectMenuIcon\n
\n\n \n \n
\n LogsMenuIcon\n
\n\n \n \n
\n MenuCollapsedIcon\n
\n\n \n \n
\n MenuExpandedIcon\n
\n\n \n \n
\n MetricsMenuIcon\n
\n\n \n \n
\n MonitoringMenuIcon\n
\n\n \n \n
\n PerformanceMenuIcon\n
\n\n \n \n
\n ProfileMenuIcon\n
\n\n \n \n
\n RegisterMenuIcon\n
\n\n \n \n
\n SupportMenuIcon\n
\n\n \n \n
\n TraceMenuIcon\n
\n\n \n \n
\n UsersMenuIcon\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(IconsScreen);\n"],"names":["withStyles","theme","createStyles","containerForHeader","spacing","root","fontSize","wordWrap","width","height","def","red","color","classes","useState","setColor","className","container","id","row","defaultValue","name","onChange","c","target","value","control","label","textAlign","clsx","item","xs","sm","md"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2661.af7d8b4d.chunk.js b/portal-ui/build/static/js/2661.af7d8b4d.chunk.js new file mode 100644 index 000000000..c9d652116 --- /dev/null +++ b/portal-ui/build/static/js/2661.af7d8b4d.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2661],{82661:function(e,n,a){a.r(n),a.d(n,{default:function(){return B}});var t=a(29439),l=a(1413),s=a(72791),i=a(61889),o=a(75952),c=a(11135),r=a(25787),u=a(81207),d=a(56890),f=a(35855),Z=a(53994),m=a(53382),p=a(94454),x=a(79836),v=a(23814),h=a(56028),j=a(21435),b=a(27391),g=a(30829),C=a(20068),N=a(68096),k=a(72455),S=a(66172),P=a(80184),E=(0,k.Z)((function(e){return(0,c.Z)((0,l.Z)({},v.gM))}));function T(e){var n=E();return(0,P.jsx)(b.Z,(0,l.Z)({InputProps:{classes:n}},e))}var M=(0,r.Z)((function(e){return(0,c.Z)((0,l.Z)((0,l.Z)({},v.YI),v.Hr))}))((function(e){var n=e.classes,a=e.id,c=e.name,r=e.onChange,u=e.options,d=e.label,f=e.tooltip,Z=void 0===f?"":f,m=e.value,p=e.disabled,x=void 0!==p&&p,v=(0,s.useState)(u[0]),h=(0,t.Z)(v,2),j=h[0],b=h[1];return(0,P.jsx)(s.Fragment,{children:(0,P.jsxs)(i.ZP,{item:!0,xs:12,className:n.fieldContainer,children:[""!==d&&(0,P.jsxs)(g.Z,{htmlFor:a,className:n.inputLabel,children:[(0,P.jsx)("span",{children:d}),""!==Z&&(0,P.jsx)("div",{className:n.tooltipContainer,children:(0,P.jsx)(C.Z,{title:Z,placement:"top-start",children:(0,P.jsx)("div",{className:n.tooltip,children:(0,P.jsx)(o.byK,{})})})})]}),(0,P.jsx)(N.Z,{fullWidth:!0,children:(0,P.jsx)(S.Z,{id:a,options:u,getOptionLabel:function(e){return e.label},isOptionEqualToValue:function(e){return e.value===m},disabled:x,renderInput:function(e){return(0,P.jsx)(T,(0,l.Z)((0,l.Z)({},e),{},{name:c}))},value:j,onChange:function(e,n){n&&(r(n.value),b(n))},autoHighlight:!0})})]})})})),w=a(87995),y=a(25469),B=(0,r.Z)((function(e){return(0,c.Z)((0,l.Z)((0,l.Z)({arnField:{"& div div .MuiOutlinedInput-root":{padding:0}}},v.DF),v.ID))}))((function(e){var n=e.classes,a=e.open,l=e.selectedBucket,c=e.closeModalAndRefresh,r=(0,y.TL)(),v=(0,s.useState)(!1),b=(0,t.Z)(v,2),g=b[0],C=b[1],N=(0,s.useState)(""),k=(0,t.Z)(N,2),S=k[0],E=k[1],T=(0,s.useState)(""),B=(0,t.Z)(T,2),O=B[0],R=B[1],F=(0,s.useState)(""),z=(0,t.Z)(F,2),D=z[0],H=z[1],I=(0,s.useState)([]),L=(0,t.Z)(I,2),W=L[0],A=L[1],K=(0,s.useState)([]),G=(0,t.Z)(K,2),U=G[0],V=G[1],_=(0,s.useCallback)((function(){C(!0),u.Z.invoke("GET","/api/v1/admin/arns").then((function(e){var n=[];null!==e.arns&&(n=e.arns),C(!1),V(n)})).catch((function(e){C(!1),r((0,w.zb)(e))}))}),[r]);(0,s.useEffect)((function(){_()}),[_]);var q=function(e,n){var a=W.indexOf(n),t=[];-1===a?t=t.concat(W,n):0===a?t=t.concat(W.slice(1)):a===W.length-1?t=t.concat(W.slice(0,-1)):a>0&&(t=t.concat(W.slice(0,a),W.slice(a+1))),A(t)},Q=U.map((function(e){return{label:e,value:e}}));return(0,P.jsx)(h.Z,{modalOpen:a,onClose:function(){c()},title:"Subscribe To Bucket Events",titleIcon:(0,P.jsx)(o.c3W,{}),children:(0,P.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),g||(C(!0),u.Z.invoke("POST","/api/v1/buckets/".concat(l,"/events"),{configuration:{arn:D,events:W,prefix:S,suffix:O},ignoreExisting:!0}).then((function(){C(!1),c()})).catch((function(e){C(!1),r((0,w.zb)(e))})))},children:(0,P.jsxs)(i.ZP,{container:!0,children:[(0,P.jsxs)(i.ZP,{item:!0,xs:12,className:n.formScrollable,children:[(0,P.jsx)(i.ZP,{item:!0,xs:12,className:"".concat(n.arnField," ").concat(n.formFieldRow),children:(0,P.jsx)(M,{onChange:function(e){H(e)},id:"select-access-policy",name:"select-access-policy",label:"ARN",value:D,options:Q})}),(0,P.jsx)(i.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)(j.Z,{id:"prefix-input",name:"prefix-input",label:"Prefix",value:S,onChange:function(e){E(e.target.value)}})}),(0,P.jsx)(i.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsx)(j.Z,{id:"suffix-input",name:"suffix-input",label:"Suffix",value:O,onChange:function(e){R(e.target.value)}})}),(0,P.jsx)(i.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,P.jsxs)(x.Z,{size:"medium",children:[(0,P.jsx)(d.Z,{className:n.minTableHeader,children:(0,P.jsxs)(f.Z,{children:[(0,P.jsx)(Z.Z,{children:"Select"}),(0,P.jsx)(Z.Z,{children:"Event"})]})}),(0,P.jsx)(m.Z,{children:[{label:"PUT - Object Uploaded",value:"put"},{label:"GET - Object accessed",value:"get"},{label:"DELETE - Object Deleted",value:"delete"}].map((function(e){return(0,P.jsxs)(f.Z,{onClick:function(n){return q(0,e.value)},children:[(0,P.jsx)(Z.Z,{padding:"checkbox",children:(0,P.jsx)(p.Z,{value:e.value,color:"primary",inputProps:{"aria-label":"secondary checkbox"},onChange:function(n){return q(0,e.value)},checked:W.includes(e.value)})}),(0,P.jsx)(Z.Z,{className:n.wrapCell,children:e.label})]},"group-".concat(e.value))}))})]})})]}),(0,P.jsxs)(i.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,P.jsx)(o.zxk,{id:"cancel-add-event",type:"button",variant:"regular",disabled:g,onClick:function(){c()},label:"Cancel"}),(0,P.jsx)(o.zxk,{id:"save-event",type:"submit",variant:"callAction",disabled:g,label:"Save"})]})]})})})}))},56028:function(e,n,a){var t=a(29439),l=a(1413),s=a(72791),i=a(78687),o=a(13400),c=a(55646),r=a(5574),u=a(65661),d=a(39157),f=a(11135),Z=a(25787),m=a(23814),p=a(25469),x=a(29823),v=a(28057),h=a(87995),j=a(80184);n.Z=(0,Z.Z)((function(e){return(0,f.Z)((0,l.Z)((0,l.Z)({},m.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},m.sN))}))((function(e){var n=e.onClose,a=e.modalOpen,f=e.title,Z=e.children,m=e.classes,b=e.wideLimit,g=void 0===b||b,C=e.noContentPadding,N=e.titleIcon,k=void 0===N?null:N,S=(0,p.TL)(),P=(0,s.useState)(!1),E=(0,t.Z)(P,2),T=E[0],M=E[1],w=(0,i.v9)((function(e){return e.system.modalSnackBar}));(0,s.useEffect)((function(){S((0,h.MK)(""))}),[S]),(0,s.useEffect)((function(){if(w){if(""===w.message)return void M(!1);"error"!==w.type&&M(!0)}}),[w]);var y=g?{classes:{paper:m.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},B="";return w&&(B=w.detailedErrorMsg,(""===w.detailedErrorMsg||w.detailedErrorMsg.length<5)&&(B=w.message)),(0,j.jsxs)(r.Z,(0,l.Z)((0,l.Z)({open:a,classes:m},y),{},{scroll:"paper",onClose:function(e,a){"backdropClick"!==a&&n()},className:m.root,children:[(0,j.jsxs)(u.Z,{className:m.title,children:[(0,j.jsxs)("div",{className:m.titleText,children:[k," ",f]}),(0,j.jsx)("div",{className:m.closeContainer,children:(0,j.jsx)(o.Z,{"aria-label":"close",id:"close",className:m.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,j.jsx)(x.Z,{})})})]}),(0,j.jsx)(v.Z,{isModal:!0}),(0,j.jsx)(c.Z,{open:T,className:m.snackBarModal,onClose:function(){M(!1),S((0,h.MK)(""))},message:B,ContentProps:{className:"".concat(m.snackBar," ").concat(w&&"error"===w.type?m.errorSnackBar:"")},autoHideDuration:w&&"error"===w.type?1e4:5e3}),(0,j.jsx)(d.Z,{className:C?"":m.content,children:Z})]}))}))},56890:function(e,n,a){a.d(n,{Z:function(){return j}});var t=a(87462),l=a(63366),s=a(72791),i=a(28182),o=a(94419),c=a(829),r=a(31402),u=a(66934),d=a(75878),f=a(21217);function Z(e){return(0,f.Z)("MuiTableHead",e)}(0,d.Z)("MuiTableHead",["root"]);var m=a(80184),p=["className","component"],x=(0,u.ZP)("thead",{name:"MuiTableHead",slot:"Root",overridesResolver:function(e,n){return n.root}})({display:"table-header-group"}),v={variant:"head"},h="thead",j=s.forwardRef((function(e,n){var a=(0,r.Z)({props:e,name:"MuiTableHead"}),s=a.className,u=a.component,d=void 0===u?h:u,f=(0,l.Z)(a,p),j=(0,t.Z)({},a,{component:d}),b=function(e){var n=e.classes;return(0,o.Z)({root:["root"]},Z,n)}(j);return(0,m.jsx)(c.Z.Provider,{value:v,children:(0,m.jsx)(x,(0,t.Z)({as:d,className:(0,i.Z)(b.root,s),ref:n,role:d===h?null:"rowgroup",ownerState:j},f))})}))}}]); +//# sourceMappingURL=2661.af7d8b4d.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2661.af7d8b4d.chunk.js.map b/portal-ui/build/static/js/2661.af7d8b4d.chunk.js.map new file mode 100644 index 000000000..94c5d631e --- /dev/null +++ b/portal-ui/build/static/js/2661.af7d8b4d.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2661.af7d8b4d.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/AutocompleteWrapper/AutocompleteWrapper.tsx","screens/Console/Buckets/BucketDetails/AddEvent.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","../node_modules/@mui/material/TableHead/tableHeadClasses.js","../node_modules/@mui/material/TableHead/TableHead.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, { 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, { ChangeEvent, useCallback, useEffect, useState } from \"react\";\n\nimport Grid from \"@mui/material/Grid\";\nimport { Button } from \"mds\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport api from \"../../../../common/api\";\nimport TableHead from \"@mui/material/TableHead\";\nimport TableRow from \"@mui/material/TableRow\";\nimport TableCell from \"@mui/material/TableCell\";\nimport TableBody from \"@mui/material/TableBody\";\nimport Checkbox from \"@mui/material/Checkbox\";\nimport Table from \"@mui/material/Table\";\nimport { ArnList } from \"../types\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\n\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport AutocompleteWrapper from \"../../Common/FormComponents/AutocompleteWrapper/AutocompleteWrapper\";\nimport { EventSubscriptionIcon } from \"mds\";\nimport { setModalErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n arnField: {\n \"& div div .MuiOutlinedInput-root\": {\n padding: 0,\n },\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\ninterface IAddEventProps {\n classes: any;\n open: boolean;\n selectedBucket: string;\n closeModalAndRefresh: () => void;\n}\n\nconst AddEvent = ({\n classes,\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 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\n .invoke(\"POST\", `/api/v1/buckets/${selectedBucket}/events`, {\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\n .invoke(\"GET\", `/api/v1/admin/arns`)\n .then((res: ArnList) => {\n let arns: string[] = [];\n if (res.arns !== null) {\n arns = res.arns;\n }\n setAddLoading(false);\n setArnList(arns);\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: \"put\" },\n { label: \"GET - Object accessed\", value: \"get\" },\n { label: \"DELETE - Object Deleted\", value: \"delete\" },\n ];\n\n const handleClick = (\n event: React.MouseEvent | ChangeEvent,\n name: string\n ) => {\n const selectedIndex = selectedEvents.indexOf(name);\n let newSelected: string[] = [];\n\n if (selectedIndex === -1) {\n newSelected = newSelected.concat(selectedEvents, name);\n } else if (selectedIndex === 0) {\n newSelected = newSelected.concat(selectedEvents.slice(1));\n } else if (selectedIndex === selectedEvents.length - 1) {\n newSelected = newSelected.concat(selectedEvents.slice(0, -1));\n } else if (selectedIndex > 0) {\n newSelected = newSelected.concat(\n selectedEvents.slice(0, selectedIndex),\n selectedEvents.slice(selectedIndex + 1)\n );\n }\n setSelectedEvents(newSelected);\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 Select\n Event\n \n \n \n {events.map((row) => (\n handleClick(event, row.value)}\n >\n \n handleClick(event, row.value)}\n checked={selectedEvents.includes(row.value)}\n />\n \n \n {row.label}\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 withStyles(styles)(AddEvent);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n noContentPadding?: boolean;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n noContentPadding,\n titleIcon = null,\n}: IModalProps) => {\n const dispatch = useAppDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nexport default withStyles(styles)(ModalWrapper);\n","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getTableHeadUtilityClass(slot) {\n return generateUtilityClass('MuiTableHead', slot);\n}\nconst tableHeadClasses = generateUtilityClasses('MuiTableHead', ['root']);\nexport default tableHeadClasses;","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 { getTableHeadUtilityClass } from './tableHeadClasses';\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, getTableHeadUtilityClass, classes);\n};\nconst TableHeadRoot = styled('thead', {\n name: 'MuiTableHead',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'table-header-group'\n});\nconst tablelvl2 = {\n variant: 'head'\n};\nconst defaultComponent = 'thead';\nconst TableHead = /*#__PURE__*/React.forwardRef(function TableHead(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTableHead'\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(TableHeadRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n role: component === defaultComponent ? null : 'rowgroup',\n ownerState: ownerState\n }, other))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? TableHead.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 TableHead;"],"names":["inputStyles","makeStyles","theme","createStyles","inputFieldStyles","InputField","props","classes","TextField","InputProps","withStyles","fieldBasic","tooltipHelper","id","name","onChange","options","label","tooltip","value","disabled","useState","internalValue","setInternalValue","Grid","item","xs","className","fieldContainer","InputLabel","htmlFor","inputLabel","tooltipContainer","Tooltip","title","placement","FormControl","fullWidth","Autocomplete","getOptionLabel","option","isOptionEqualToValue","renderInput","params","_","selectedValue","autoHighlight","arnField","padding","formFieldStyles","modalStyleUtils","open","selectedBucket","closeModalAndRefresh","dispatch","useAppDispatch","addLoading","setAddLoading","prefix","setPrefix","suffix","setSuffix","arn","setArn","selectedEvents","setSelectedEvents","arnList","setArnList","fetchArnList","useCallback","api","then","res","arns","catch","err","setModalErrorSnackMessage","useEffect","handleClick","event","selectedIndex","indexOf","newSelected","concat","slice","length","arnValues","map","arnConstant","ModalWrapper","modalOpen","onClose","titleIcon","noValidate","autoComplete","onSubmit","e","preventDefault","configuration","events","ignoreExisting","container","formScrollable","formFieldRow","InputBoxWrapper","target","Table","size","TableHead","minTableHeader","TableRow","TableCell","TableBody","row","onClick","Checkbox","color","inputProps","checked","includes","wrapCell","modalButtonBar","type","variant","deleteDialogStyles","content","paddingBottom","customDialogSize","width","maxWidth","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","modalSnackMessage","useSelector","state","system","modalSnackBar","setModalSnackMessage","message","customSize","paper","detailedErrorMsg","scroll","reason","root","titleText","closeContainer","closeButton","disableRipple","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","getTableHeadUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","TableHeadRoot","styled","overridesResolver","styles","display","tablelvl2","defaultComponent","React","inProps","ref","useThemeProps","component","other","_objectWithoutPropertiesLoose","ownerState","_extends","composeClasses","useUtilityClasses","_jsx","Tablelvl2Context","as","clsx","role"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2661.ec609143.chunk.js b/portal-ui/build/static/js/2661.ec609143.chunk.js deleted file mode 100644 index c298fbd11..000000000 --- a/portal-ui/build/static/js/2661.ec609143.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2661],{82661:function(e,n,a){a.r(n),a.d(n,{default:function(){return R}});var t=a(29439),l=a(1413),s=a(72791),i=a(61889),o=a(75952),c=a(11135),r=a(25787),u=a(81207),d=a(56890),f=a(35855),Z=a(53994),m=a(53382),p=a(94454),x=a(79836),v=a(23814),h=a(56028),j=a(21435),b=a(27391),g=a(30829),C=a(20068),N=a(68096),k=a(72455),S=a(66172),P=a(84570),E=a(80184),T=(0,k.Z)((function(e){return(0,c.Z)((0,l.Z)({},v.gM))}));function M(e){var n=T();return(0,E.jsx)(b.Z,(0,l.Z)({InputProps:{classes:n}},e))}var w=(0,r.Z)((function(e){return(0,c.Z)((0,l.Z)((0,l.Z)({},v.YI),v.Hr))}))((function(e){var n=e.classes,a=e.id,o=e.name,c=e.onChange,r=e.options,u=e.label,d=e.tooltip,f=void 0===d?"":d,Z=e.value,m=e.disabled,p=void 0!==m&&m,x=(0,s.useState)(r[0]),v=(0,t.Z)(x,2),h=v[0],j=v[1];return(0,E.jsx)(s.Fragment,{children:(0,E.jsxs)(i.ZP,{item:!0,xs:12,className:n.fieldContainer,children:[""!==u&&(0,E.jsxs)(g.Z,{htmlFor:a,className:n.inputLabel,children:[(0,E.jsx)("span",{children:u}),""!==f&&(0,E.jsx)("div",{className:n.tooltipContainer,children:(0,E.jsx)(C.Z,{title:f,placement:"top-start",children:(0,E.jsx)("div",{className:n.tooltip,children:(0,E.jsx)(P.Z,{})})})})]}),(0,E.jsx)(N.Z,{fullWidth:!0,children:(0,E.jsx)(S.Z,{id:a,options:r,getOptionLabel:function(e){return e.label},isOptionEqualToValue:function(e){return e.value===Z},disabled:p,renderInput:function(e){return(0,E.jsx)(M,(0,l.Z)((0,l.Z)({},e),{},{name:o}))},value:h,onChange:function(e,n){n&&(c(n.value),j(n))},autoHighlight:!0})})]})})})),y=a(56096),B=a(87995),O=a(25469),R=(0,r.Z)((function(e){return(0,c.Z)((0,l.Z)((0,l.Z)({arnField:{"& div div .MuiOutlinedInput-root":{padding:0}}},v.DF),v.ID))}))((function(e){var n=e.classes,a=e.open,l=e.selectedBucket,c=e.closeModalAndRefresh,r=(0,O.TL)(),v=(0,s.useState)(!1),b=(0,t.Z)(v,2),g=b[0],C=b[1],N=(0,s.useState)(""),k=(0,t.Z)(N,2),S=k[0],P=k[1],T=(0,s.useState)(""),M=(0,t.Z)(T,2),R=M[0],F=M[1],z=(0,s.useState)(""),D=(0,t.Z)(z,2),H=D[0],I=D[1],L=(0,s.useState)([]),W=(0,t.Z)(L,2),A=W[0],G=W[1],K=(0,s.useState)([]),U=(0,t.Z)(K,2),V=U[0],_=U[1],q=(0,s.useCallback)((function(){C(!0),u.Z.invoke("GET","/api/v1/admin/arns").then((function(e){var n=[];null!==e.arns&&(n=e.arns),C(!1),_(n)})).catch((function(e){C(!1),r((0,B.zb)(e))}))}),[r]);(0,s.useEffect)((function(){q()}),[q]);var Q=function(e,n){var a=A.indexOf(n),t=[];-1===a?t=t.concat(A,n):0===a?t=t.concat(A.slice(1)):a===A.length-1?t=t.concat(A.slice(0,-1)):a>0&&(t=t.concat(A.slice(0,a),A.slice(a+1))),G(t)},Y=V.map((function(e){return{label:e,value:e}}));return(0,E.jsx)(h.Z,{modalOpen:a,onClose:function(){c()},title:"Subscribe To Bucket Events",titleIcon:(0,E.jsx)(y.c3W,{}),children:(0,E.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),g||(C(!0),u.Z.invoke("POST","/api/v1/buckets/".concat(l,"/events"),{configuration:{arn:H,events:A,prefix:S,suffix:R},ignoreExisting:!0}).then((function(){C(!1),c()})).catch((function(e){C(!1),r((0,B.zb)(e))})))},children:(0,E.jsxs)(i.ZP,{container:!0,children:[(0,E.jsxs)(i.ZP,{item:!0,xs:12,className:n.formScrollable,children:[(0,E.jsx)(i.ZP,{item:!0,xs:12,className:"".concat(n.arnField," ").concat(n.formFieldRow),children:(0,E.jsx)(w,{onChange:function(e){I(e)},id:"select-access-policy",name:"select-access-policy",label:"ARN",value:H,options:Y})}),(0,E.jsx)(i.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,E.jsx)(j.Z,{id:"prefix-input",name:"prefix-input",label:"Prefix",value:S,onChange:function(e){P(e.target.value)}})}),(0,E.jsx)(i.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,E.jsx)(j.Z,{id:"suffix-input",name:"suffix-input",label:"Suffix",value:R,onChange:function(e){F(e.target.value)}})}),(0,E.jsx)(i.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,E.jsxs)(x.Z,{size:"medium",children:[(0,E.jsx)(d.Z,{className:n.minTableHeader,children:(0,E.jsxs)(f.Z,{children:[(0,E.jsx)(Z.Z,{children:"Select"}),(0,E.jsx)(Z.Z,{children:"Event"})]})}),(0,E.jsx)(m.Z,{children:[{label:"PUT - Object Uploaded",value:"put"},{label:"GET - Object accessed",value:"get"},{label:"DELETE - Object Deleted",value:"delete"}].map((function(e){return(0,E.jsxs)(f.Z,{onClick:function(n){return Q(0,e.value)},children:[(0,E.jsx)(Z.Z,{padding:"checkbox",children:(0,E.jsx)(p.Z,{value:e.value,color:"primary",inputProps:{"aria-label":"secondary checkbox"},onChange:function(n){return Q(0,e.value)},checked:A.includes(e.value)})}),(0,E.jsx)(Z.Z,{className:n.wrapCell,children:e.label})]},"group-".concat(e.value))}))})]})})]}),(0,E.jsxs)(i.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,E.jsx)(o.zx,{id:"cancel-add-event",type:"button",variant:"regular",disabled:g,onClick:function(){c()},label:"Cancel"}),(0,E.jsx)(o.zx,{id:"save-event",type:"submit",variant:"callAction",disabled:g,label:"Save"})]})]})})})}))},56028:function(e,n,a){var t=a(29439),l=a(1413),s=a(72791),i=a(78687),o=a(13400),c=a(55646),r=a(5574),u=a(65661),d=a(39157),f=a(11135),Z=a(25787),m=a(23814),p=a(25469),x=a(29823),v=a(28057),h=a(87995),j=a(80184);n.Z=(0,Z.Z)((function(e){return(0,f.Z)((0,l.Z)((0,l.Z)({},m.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},m.sN))}))((function(e){var n=e.onClose,a=e.modalOpen,f=e.title,Z=e.children,m=e.classes,b=e.wideLimit,g=void 0===b||b,C=e.noContentPadding,N=e.titleIcon,k=void 0===N?null:N,S=(0,p.TL)(),P=(0,s.useState)(!1),E=(0,t.Z)(P,2),T=E[0],M=E[1],w=(0,i.v9)((function(e){return e.system.modalSnackBar}));(0,s.useEffect)((function(){S((0,h.MK)(""))}),[S]),(0,s.useEffect)((function(){if(w){if(""===w.message)return void M(!1);"error"!==w.type&&M(!0)}}),[w]);var y=g?{classes:{paper:m.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},B="";return w&&(B=w.detailedErrorMsg,(""===w.detailedErrorMsg||w.detailedErrorMsg.length<5)&&(B=w.message)),(0,j.jsxs)(r.Z,(0,l.Z)((0,l.Z)({open:a,classes:m},y),{},{scroll:"paper",onClose:function(e,a){"backdropClick"!==a&&n()},className:m.root,children:[(0,j.jsxs)(u.Z,{className:m.title,children:[(0,j.jsxs)("div",{className:m.titleText,children:[k," ",f]}),(0,j.jsx)("div",{className:m.closeContainer,children:(0,j.jsx)(o.Z,{"aria-label":"close",id:"close",className:m.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,j.jsx)(x.Z,{})})})]}),(0,j.jsx)(v.Z,{isModal:!0}),(0,j.jsx)(c.Z,{open:T,className:m.snackBarModal,onClose:function(){M(!1),S((0,h.MK)(""))},message:B,ContentProps:{className:"".concat(m.snackBar," ").concat(w&&"error"===w.type?m.errorSnackBar:"")},autoHideDuration:w&&"error"===w.type?1e4:5e3}),(0,j.jsx)(d.Z,{className:C?"":m.content,children:Z})]}))}))},56890:function(e,n,a){a.d(n,{Z:function(){return j}});var t=a(87462),l=a(63366),s=a(72791),i=a(28182),o=a(94419),c=a(829),r=a(31402),u=a(66934),d=a(75878),f=a(21217);function Z(e){return(0,f.Z)("MuiTableHead",e)}(0,d.Z)("MuiTableHead",["root"]);var m=a(80184),p=["className","component"],x=(0,u.ZP)("thead",{name:"MuiTableHead",slot:"Root",overridesResolver:function(e,n){return n.root}})({display:"table-header-group"}),v={variant:"head"},h="thead",j=s.forwardRef((function(e,n){var a=(0,r.Z)({props:e,name:"MuiTableHead"}),s=a.className,u=a.component,d=void 0===u?h:u,f=(0,l.Z)(a,p),j=(0,t.Z)({},a,{component:d}),b=function(e){var n=e.classes;return(0,o.Z)({root:["root"]},Z,n)}(j);return(0,m.jsx)(c.Z.Provider,{value:v,children:(0,m.jsx)(x,(0,t.Z)({as:d,className:(0,i.Z)(b.root,s),ref:n,role:d===h?null:"rowgroup",ownerState:j},f))})}))}}]); -//# sourceMappingURL=2661.ec609143.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2661.ec609143.chunk.js.map b/portal-ui/build/static/js/2661.ec609143.chunk.js.map deleted file mode 100644 index d7614a3e5..000000000 --- a/portal-ui/build/static/js/2661.ec609143.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/2661.ec609143.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/AutocompleteWrapper/AutocompleteWrapper.tsx","screens/Console/Buckets/BucketDetails/AddEvent.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","../node_modules/@mui/material/TableHead/tableHeadClasses.js","../node_modules/@mui/material/TableHead/TableHead.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, { 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 \"../../../../../icons/HelpIcon\";\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, { ChangeEvent, useCallback, useEffect, useState } from \"react\";\n\nimport Grid from \"@mui/material/Grid\";\nimport { Button } from \"mds\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport api from \"../../../../common/api\";\nimport TableHead from \"@mui/material/TableHead\";\nimport TableRow from \"@mui/material/TableRow\";\nimport TableCell from \"@mui/material/TableCell\";\nimport TableBody from \"@mui/material/TableBody\";\nimport Checkbox from \"@mui/material/Checkbox\";\nimport Table from \"@mui/material/Table\";\nimport { ArnList } from \"../types\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\n\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport AutocompleteWrapper from \"../../Common/FormComponents/AutocompleteWrapper/AutocompleteWrapper\";\nimport { EventSubscriptionIcon } from \"../../../../icons\";\nimport { setModalErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n arnField: {\n \"& div div .MuiOutlinedInput-root\": {\n padding: 0,\n },\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\ninterface IAddEventProps {\n classes: any;\n open: boolean;\n selectedBucket: string;\n closeModalAndRefresh: () => void;\n}\n\nconst AddEvent = ({\n classes,\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 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\n .invoke(\"POST\", `/api/v1/buckets/${selectedBucket}/events`, {\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\n .invoke(\"GET\", `/api/v1/admin/arns`)\n .then((res: ArnList) => {\n let arns: string[] = [];\n if (res.arns !== null) {\n arns = res.arns;\n }\n setAddLoading(false);\n setArnList(arns);\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: \"put\" },\n { label: \"GET - Object accessed\", value: \"get\" },\n { label: \"DELETE - Object Deleted\", value: \"delete\" },\n ];\n\n const handleClick = (\n event: React.MouseEvent | ChangeEvent,\n name: string\n ) => {\n const selectedIndex = selectedEvents.indexOf(name);\n let newSelected: string[] = [];\n\n if (selectedIndex === -1) {\n newSelected = newSelected.concat(selectedEvents, name);\n } else if (selectedIndex === 0) {\n newSelected = newSelected.concat(selectedEvents.slice(1));\n } else if (selectedIndex === selectedEvents.length - 1) {\n newSelected = newSelected.concat(selectedEvents.slice(0, -1));\n } else if (selectedIndex > 0) {\n newSelected = newSelected.concat(\n selectedEvents.slice(0, selectedIndex),\n selectedEvents.slice(selectedIndex + 1)\n );\n }\n setSelectedEvents(newSelected);\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 Select\n Event\n \n \n \n {events.map((row) => (\n handleClick(event, row.value)}\n >\n \n handleClick(event, row.value)}\n checked={selectedEvents.includes(row.value)}\n />\n \n \n {row.label}\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 withStyles(styles)(AddEvent);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n noContentPadding?: boolean;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n noContentPadding,\n titleIcon = null,\n}: IModalProps) => {\n const dispatch = useAppDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nexport default withStyles(styles)(ModalWrapper);\n","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getTableHeadUtilityClass(slot) {\n return generateUtilityClass('MuiTableHead', slot);\n}\nconst tableHeadClasses = generateUtilityClasses('MuiTableHead', ['root']);\nexport default tableHeadClasses;","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 { getTableHeadUtilityClass } from './tableHeadClasses';\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, getTableHeadUtilityClass, classes);\n};\nconst TableHeadRoot = styled('thead', {\n name: 'MuiTableHead',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'table-header-group'\n});\nconst tablelvl2 = {\n variant: 'head'\n};\nconst defaultComponent = 'thead';\nconst TableHead = /*#__PURE__*/React.forwardRef(function TableHead(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTableHead'\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(TableHeadRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n role: component === defaultComponent ? null : 'rowgroup',\n ownerState: ownerState\n }, other))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? TableHead.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 TableHead;"],"names":["inputStyles","makeStyles","theme","createStyles","inputFieldStyles","InputField","props","classes","TextField","InputProps","withStyles","fieldBasic","tooltipHelper","id","name","onChange","options","label","tooltip","value","disabled","useState","internalValue","setInternalValue","Grid","item","xs","className","fieldContainer","InputLabel","htmlFor","inputLabel","tooltipContainer","Tooltip","title","placement","HelpIcon","FormControl","fullWidth","Autocomplete","getOptionLabel","option","isOptionEqualToValue","renderInput","params","_","selectedValue","autoHighlight","arnField","padding","formFieldStyles","modalStyleUtils","open","selectedBucket","closeModalAndRefresh","dispatch","useAppDispatch","addLoading","setAddLoading","prefix","setPrefix","suffix","setSuffix","arn","setArn","selectedEvents","setSelectedEvents","arnList","setArnList","fetchArnList","useCallback","api","then","res","arns","catch","err","setModalErrorSnackMessage","useEffect","handleClick","event","selectedIndex","indexOf","newSelected","concat","slice","length","arnValues","map","arnConstant","ModalWrapper","modalOpen","onClose","titleIcon","noValidate","autoComplete","onSubmit","e","preventDefault","configuration","events","ignoreExisting","container","formScrollable","formFieldRow","InputBoxWrapper","target","Table","size","TableHead","minTableHeader","TableRow","TableCell","TableBody","row","onClick","Checkbox","color","inputProps","checked","includes","wrapCell","modalButtonBar","type","variant","deleteDialogStyles","content","paddingBottom","customDialogSize","width","maxWidth","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","modalSnackMessage","useSelector","state","system","modalSnackBar","setModalSnackMessage","message","customSize","paper","detailedErrorMsg","scroll","reason","root","titleText","closeContainer","closeButton","disableRipple","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","getTableHeadUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","TableHeadRoot","styled","overridesResolver","styles","display","tablelvl2","defaultComponent","React","inProps","ref","useThemeProps","component","other","_objectWithoutPropertiesLoose","ownerState","_extends","composeClasses","useUtilityClasses","_jsx","Tablelvl2Context","as","clsx","role"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2684.03e0baba.chunk.js b/portal-ui/build/static/js/2684.03e0baba.chunk.js deleted file mode 100644 index d96cd35b3..000000000 --- a/portal-ui/build/static/js/2684.03e0baba.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2684],{46707:function(e,t,n){var i=n(1413),r=(n(72791),n(80184));t.Z=function(e){return(0,r.jsxs)("svg",(0,i.Z)((0,i.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,r.jsx)("defs",{children:(0,r.jsx)("clipPath",{id:"certificate_svg__a",children:(0,r.jsx)("path",{"data-name":"Rect\\xE1ngulo 2156",fill:"#07193e",d:"M0 0h256v222.048H0z"})})}),(0,r.jsxs)("g",{"data-name":"Grupo 4763",transform:"translate(0 17)",clipPath:"url(#certificate_svg__a)",fill:"#07193e",children:[(0,r.jsx)("path",{"data-name":"Trazado 8152",d:"M240-.002H16a16 16 0 0 0-16 16v160a16 16 0 0 0 16 16h120l4.64-5.6 7.44-9.12A66.72 66.72 0 0 1 256 98.958v-82.96a16 16 0 0 0-16-16m-130.96 149.7H47.3a7.3 7.3 0 1 1 0-14.592h61.74a7.3 7.3 0 1 1 0 14.592m0-56H47.3a7.3 7.3 0 1 1 0-14.592h61.74a7.3 7.3 0 0 1 0 14.592m66.96-39.3a6.419 6.419 0 0 1-6.4 6.4H46.4a6.419 6.419 0 0 1-6.4-6.4v-1.792a6.419 6.419 0 0 1 6.4-6.4h123.2a6.419 6.419 0 0 1 6.4 6.4Z"}),(0,r.jsx)("path",{"data-name":"Trazado 8153",d:"M256 137.486a50.96 50.96 0 1 0-86.16 36.72l-15.52 18.96 7.2 28.88 29.28-35.68a50.018 50.018 0 0 0 28.4 0l29.28 35.68 7.2-28.88-15.52-18.96a50.75 50.75 0 0 0 15.84-36.72m-50.928 29.688a29.688 29.688 0 0 1-.072-59.376h.072a29.688 29.688 0 0 1 0 59.376"})]}),(0,r.jsx)("path",{"data-name":"Rect\\xE1ngulo 2157",fill:"none",d:"M0 0h256v256H0z"})]}))}},54639:function(e,t,n){n.d(t,{Z:function(){return C}});var i=n(29439),r=n(1413),a=n(72791),s=n(26181),o=n.n(s),c=n(61889),l=n(30829),d=n(20068),u=n(13400),m=n(99663),x=n(86711),f=n(11135),h=n(25787),p=n(23814),j=n(84570),Z=n(22512),v=n(80184),C=(0,h.Z)((function(e){return(0,f.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({},p.YI),p.Hr),{},{valueString:{maxWidth:350,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",marginTop:2},fileInputField:{margin:"13px 0","@media (max-width: 900px)":{flexFlow:"column"}}},p.bV),{},{inputLabel:(0,r.Z)((0,r.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"}),textBoxContainer:(0,r.Z)((0,r.Z)({},p.YI.textBoxContainer),{},{maxWidth:"100%",border:"1px solid #eaeaea",paddingLeft:"15px"})}))}))((function(e){var t=e.label,n=e.classes,r=e.onChange,s=e.id,f=e.name,h=e.disabled,p=void 0!==h&&h,C=e.tooltip,g=void 0===C?"":C,y=e.required,b=e.error,A=void 0===b?"":b,N=e.accept,S=void 0===N?"":N,k=e.value,w=void 0===k?"":k,R=(0,a.useState)(!1),P=(0,i.Z)(R,2),T=P[0],I=P[1];return(0,v.jsx)(a.Fragment,{children:(0,v.jsxs)(c.ZP,{item:!0,xs:12,className:"".concat(n.fileInputField," ").concat(n.fieldBottom," ").concat(n.fieldContainer," ").concat(""!==A?n.errorInField:""),children:[""!==t&&(0,v.jsxs)(l.Z,{htmlFor:s,className:"".concat(""!==A?n.fieldLabelError:""," ").concat(n.inputLabel),children:[(0,v.jsxs)("span",{children:[t,y?"*":""]}),""!==g&&(0,v.jsx)("div",{className:n.tooltipContainer,children:(0,v.jsx)(d.Z,{title:g,placement:"top-start",children:(0,v.jsx)("div",{className:n.tooltip,children:(0,v.jsx)(j.Z,{})})})})]}),T||""===w?(0,v.jsxs)("div",{className:n.textBoxContainer,children:[(0,v.jsx)("input",{type:"file",name:f,onChange:function(e){var t=o()(e,"target.files[0].name","");!function(e,t){var n=e.target.files[0],i=new FileReader;i.readAsDataURL(n),i.onload=function(){var e=i.result;if(e){var n=e.toString().split("base64,");2===n.length&&t(n[1])}}}(e,(function(e){r(e,t)}))},accept:S,required:y,disabled:p,className:n.fileInputField}),""!==w&&(0,v.jsx)(u.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){I(!1)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,v.jsx)(x.Z,{})}),""!==A&&(0,v.jsx)(Z.Z,{errorMessage:A})]}):(0,v.jsxs)("div",{className:n.fileReselect,children:[(0,v.jsx)("div",{className:n.valueString,children:w}),(0,v.jsx)(u.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){I(!0)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,v.jsx)(m.Z,{})})]})]})})}))},80666:function(e,t,n){n(72791);var i=n(99779),r=n(11135),a=n(25787),s=n(90983),o=n(81918),c=n(91614),l=n(61889),d=n(20890),u=n(64554),m=n(94721),x=n(90493),f=n(15021),h=n(20653),p=n(49900),j=n(52502),Z=n(46707),v=n(80184);t.Z=(0,a.Z)((function(e){return(0,r.Z)({certificateIcon:{float:"left",paddingTop:"5px !important",paddingRight:"10px !important"},certificateInfo:{float:"right"},certificateWrapper:{height:"auto",margin:5,border:"1px solid #E2E2E2",userSelect:"text",borderRadius:4,"& h6":{fontWeight:"bold"},"& div":{padding:0}},certificateExpiry:{color:"#616161",display:"flex",alignItems:"center",flexWrap:"wrap",marginBottom:5,"& .label":{fontWeight:"bold"}},certificateDomains:{color:"#616161","& .label":{fontWeight:"bold"}},certificatesList:{border:"1px solid #E2E2E2",borderRadius:4,color:"#616161",textTransform:"lowercase",overflowY:"scroll",maxHeight:145,marginBottom:10},certificatesListItem:{padding:"0px 16px",borderBottom:"1px solid #E2E2E2","& div":{minWidth:0},"& svg":{fontSize:12,marginRight:10,opacity:.5},"& span":{fontSize:12}}})}))((function(e){var t=e.classes,n=e.certificateInfo,r=e.onDelete,a=void 0===r?function(){}:r,C=n.domains||[],g=i.ou.fromISO(n.expiry);return(0,v.jsx)(o.Z,{variant:"outlined",color:"primary",className:t.certificateWrapper,label:(0,v.jsxs)(c.Z,{children:[(0,v.jsx)(l.ZP,{item:!0,xs:1,className:t.certificateIcon,children:(0,v.jsx)(Z.Z,{})}),(0,v.jsxs)(l.ZP,{item:!0,xs:11,className:t.certificateInfo,children:[(0,v.jsx)(d.Z,{variant:"subtitle1",display:"block",gutterBottom:!0,children:n.name}),(0,v.jsxs)(u.Z,{className:t.certificateExpiry,children:[(0,v.jsx)(j.Z,{color:"inherit",fontSize:"small"}),"\xa0",(0,v.jsx)("span",{className:"label",children:"Expiry:\xa0"}),(0,v.jsx)("span",{children:g.toFormat("yyyy/MM/dd")})]}),(0,v.jsx)(m.Z,{}),(0,v.jsx)("br",{}),(0,v.jsx)(u.Z,{className:t.certificateDomains,children:(0,v.jsx)("span",{className:"label",children:"".concat(C.length," Domain (s):")})}),(0,v.jsx)(x.Z,{className:t.certificatesList,children:C.map((function(e,n){return(0,v.jsxs)(f.ZP,{className:t.certificatesListItem,children:[(0,v.jsx)(h.Z,{children:(0,v.jsx)(s.Z,{})}),(0,v.jsx)(p.Z,{primary:e})]},"".concat(e,"-").concat(n))}))})]})]}),onDelete:a},n.name)}))},88070:function(e,t,n){n(72791);var i=n(78687),r=n(64554),a=n(46707),s=n(57689),o=n(80184),c=function(e){var t=e.icon,n=e.description;return(0,o.jsxs)(r.Z,{sx:{display:"flex","& .min-icon":{marginRight:"10px",height:"23px",width:"23px",marginBottom:"10px"}},children:[t," ",(0,o.jsx)("div",{style:{fontSize:"14px",fontStyle:"italic",color:"#5E5E5E"},children:n})]})};t.Z=function(){var e=(0,s.UO)(),t=e.tenantName||"",n=e.tenantNamespace||"",l=(0,i.v9)((function(e){return""!==n?n:""!==e.createTenant.fields.nameTenant.namespace?e.createTenant.fields.nameTenant.namespace:""})),d=(0,i.v9)((function(e){return""!==t?t:""!==e.createTenant.fields.nameTenant.tenantName?e.createTenant.fields.nameTenant.tenantName:""}));return(0,o.jsx)(r.Z,{sx:{flex:1,border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"20px",marginTop:{xs:"0px"}},children:(0,o.jsxs)(r.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,o.jsx)(c,{icon:(0,o.jsx)(a.Z,{}),description:"TLS Certificates Warning"}),(0,o.jsxs)(r.Z,{sx:{fontSize:"14px",marginBottom:"15px"},children:["Automatic certificate generation is not enabled.",(0,o.jsx)("br",{}),(0,o.jsx)("br",{}),"If you wish to continue only with ",(0,o.jsx)("b",{children:"custom certificates"})," make sure they are valid for the following internode hostnames, i.e.:",(0,o.jsx)("br",{}),(0,o.jsx)("br",{}),(0,o.jsxs)("div",{style:{fontSize:"14px",fontStyle:"italic",color:"#5E5E5E"},children:["minio.",l,(0,o.jsx)("br",{}),"minio.",l,".svc",(0,o.jsx)("br",{}),"minio.",l,".svc.",(0,o.jsx)("br",{}),"*.",d,"-hl.",l,".svc.",(0,o.jsx)("br",{}),"*.",l,".svc."]}),(0,o.jsx)("br",{}),"Replace ",(0,o.jsx)("em",{children:""}),","," ",(0,o.jsx)("em",{children:""})," and",(0,o.jsx)("em",{children:""})," with the actual values for your MinIO tenant.",(0,o.jsx)("br",{}),(0,o.jsx)("br",{}),"You can learn more at our"," ",(0,o.jsx)("a",{href:"https://min.io/docs/minio/kubernetes/upstream/operations/network-encryption.html?ref=op#id5",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})]})})}},12684:function(e,t,n){n.r(t);var i=n(4942),r=n(93433),a=n(29439),s=n(1413),o=n(72791),c=n(78687),l=n(51691),d=n(13400),u=n(75952),m=n(11135),x=n(25787),f=n(61889),h=n(23814),p=n(25469),j=n(56096),Z=n(87995),v=n(37516),C=n(54639),g=n(81207),y=n(23508),b=n(72401),A=n(80666),N=n(18158),S=n(1078),k=n(88070),w=n(51979),R=n(80184),P=(0,c.$j)((function(e){return{loadingTenant:e.tenants.loadingTenant,selectedTenant:e.tenants.currentTenant,tenant:e.tenants.tenantInfo}}),null);t.default=(0,x.Z)((function(e){return(0,m.Z)((0,s.Z)((0,s.Z)((0,s.Z)((0,s.Z)((0,s.Z)((0,s.Z)((0,s.Z)({},h.oZ),h.bK),{},{minioCertificateRows:{display:"flex",alignItems:"center",justifyContent:"flex-start",borderBottom:"1px solid #EAEAEA","&:last-child":{borderBottom:0},"@media (max-width: 900px)":{flex:1}},minioCertsContainer:{marginBottom:15},minioCACertsRow:{display:"flex",alignItems:"center",justifyContent:"flex-start",borderBottom:"1px solid #EAEAEA","&:last-child":{borderBottom:0},"@media (max-width: 900px)":{flex:1,"& div label":{minWidth:50}}},rowActions:{display:"flex",justifyContent:"flex-end","@media (max-width: 900px)":{flex:1}},overlayAction:{marginLeft:10,"& svg":{maxWidth:15,maxHeight:15},"& button":{background:"#EAEAEA"}},loaderAlign:{textAlign:"center"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},fileItem:{marginRight:10,display:"flex","& div label":{minWidth:50},"@media (max-width: 900px)":{flexFlow:"column"}}},(0,h.Bz)(e.spacing(4))),h.QV),h.DF),h.oO),h.AK))}))(P((function(e){var t=e.classes,n=(0,p.TL)(),m=(0,c.v9)((function(e){return e.tenants.tenantInfo})),x=(0,c.v9)((function(e){return e.tenants.loadingTenant})),h=(0,o.useState)(!1),P=(0,a.Z)(h,2),T=P[0],I=P[1],_=(0,o.useState)(!1),F=(0,a.Z)(_,2),E=F[0],G=F[1],B=(0,o.useState)(!1),z=(0,a.Z)(B,2),D=z[0],L=z[1],M=(0,o.useState)(!1),O=(0,a.Z)(M,2),W=O[0],U=O[1],H=(0,o.useState)(!1),K=(0,a.Z)(H,2),q=K[0],Y=K[1],V=(0,o.useState)([]),Q=(0,a.Z)(V,2),$=Q[0],J=Q[1],X=(0,o.useState)([{id:Date.now().toString(),key:"",cert:"",encoded_key:"",encoded_cert:""}]),ee=(0,a.Z)(X,2),te=ee[0],ne=ee[1],ie=(0,o.useState)([{id:Date.now().toString(),key:"",cert:"",encoded_key:"",encoded_cert:""}]),re=(0,a.Z)(ie,2),ae=re[0],se=re[1],oe=(0,o.useState)([{id:Date.now().toString(),key:"",cert:"",encoded_key:"",encoded_cert:""}]),ce=(0,a.Z)(oe,2),le=ce[0],de=ce[1],ue=(0,o.useState)([]),me=(0,a.Z)(ue,2),xe=me[0],fe=me[1],he=(0,o.useState)([]),pe=(0,a.Z)(he,2),je=pe[0],Ze=pe[1],ve=(0,o.useState)([]),Ce=(0,a.Z)(ve,2),ge=Ce[0],ye=Ce[1],be=(0,c.v9)((function(e){return e.editTenantSecurityContext.runAsGroup})),Ae=(0,c.v9)((function(e){return e.editTenantSecurityContext.runAsUser})),Ne=(0,c.v9)((function(e){return e.editTenantSecurityContext.fsGroup})),Se=(0,c.v9)((function(e){return e.editTenantSecurityContext.runAsNonRoot})),ke=(0,c.v9)((function(e){return e.editTenantSecurityContext.fsGroupChangePolicy})),we=(0,o.useCallback)((function(){g.Z.invoke("GET","/api/v1/namespaces/".concat(null===m||void 0===m?void 0:m.namespace,"/tenants/").concat(null===m||void 0===m?void 0:m.name,"/security")).then((function(e){U(e.autoCert),L(e.autoCert),(e.customCertificates.minio||e.customCertificates.client||e.customCertificates.minioCAs)&&(Y(!0),L(!0)),fe(e.customCertificates.minio||[]),Ze(e.customCertificates.client||[]),ye(e.customCertificates.minioCAs||[]),n((0,S.Be)(e.securityContext.runAsGroup)),n((0,S.wT)(e.securityContext.runAsUser)),n((0,S.FP)(e.securityContext.fsGroup)),n((0,S.vM)(e.securityContext.runAsNonRoot)),n((0,S.rR)(e.securityContext.fsGroupChangePolicy))})).catch((function(e){n((0,Z.Ih)(e))}))}),[m,n]);(0,o.useEffect)((function(){m&&we()}),[m,we]);var Re=function(e){J([].concat((0,r.Z)($),[e.name]));var t=xe.filter((function(t){return t.name!==e.name})),n=je.filter((function(t){return t.name!==e.name})),i=ge.filter((function(t){return t.name!==e.name}));fe(t),Ze(n),ye(i)},Pe=function(e,t,n,r,a){var o=te,c=function(){};switch(e){case"minio":o=te,c=ne;break;case"client":o=ae,c=se;break;case"minioCAs":o=le,c=de}c(o.map((function(e){var o;return e.id===t?(0,s.Z)((0,s.Z)({},e),{},(o={},(0,i.Z)(o,n,r),(0,i.Z)(o,"encoded_".concat(n),a),o)):e})))},Te=function(e,t){var n=te,i=function(){};switch(e){case"minio":n=te,i=ne;break;case"client":n=ae,i=se;break;case"minioCAs":n=le,i=de}n.length>1&&i(n.filter((function(e){return e.id!==t})))},Ie=function(e){var t=te,n=function(){};switch(e){case"minio":t=te,n=ne;break;case"client":t=ae,n=se;break;case"minioCAs":t=le,n=de}n([].concat((0,r.Z)(t),[{id:Date.now().toString(),key:"",cert:"",encoded_key:"",encoded_cert:""}]))};return(0,R.jsxs)(o.Fragment,{children:[(0,R.jsx)(y.Z,{title:"Save and Restart",confirmText:"Restart",cancelText:"Cancel",titleIcon:(0,R.jsx)(j.EjK,{}),isLoading:T,onClose:function(){return G(!1)},isOpen:E,onConfirm:function(){I(!0);var e={autoCert:W,customCertificates:{},securityContext:{runAsGroup:be,runAsUser:Ae,runAsNonRoot:Se,fsGroup:Ne,fsGroupChangePolicy:ke}};e.customCertificates=q?{secretsToBeDeleted:$,minioServerCertificates:te.map((function(e){return{crt:e.encoded_cert,key:e.encoded_key}})).filter((function(e){return e.crt&&e.key})),minioClientCertificates:ae.map((function(e){return{crt:e.encoded_cert,key:e.encoded_key}})).filter((function(e){return e.crt&&e.key})),minioCAsCertificates:le.map((function(e){return e.encoded_cert})).filter((function(e){return e}))}:{secretsToBeDeleted:[].concat((0,r.Z)(xe.map((function(e){return e.name}))),(0,r.Z)(je.map((function(e){return e.name}))),(0,r.Z)(ge.map((function(e){return e.name})))),minioServerCertificates:[],minioClientCertificates:[],minioCAsCertificates:[]},g.Z.invoke("POST","/api/v1/namespaces/".concat(null===m||void 0===m?void 0:m.namespace,"/tenants/").concat(null===m||void 0===m?void 0:m.name,"/security"),e).then((function(){I(!1),G(!1),ne([{cert:"",encoded_cert:"",encoded_key:"",id:Date.now().toString(),key:""}]),se([{cert:"",encoded_cert:"",encoded_key:"",id:Date.now().toString(),key:""}]),de([{cert:"",encoded_cert:"",encoded_key:"",id:Date.now().toString(),key:""}]),we()})).catch((function(e){n((0,Z.Ih)(e)),I(!1)}))},confirmationContent:(0,R.jsx)(l.Z,{children:"Are you sure you want to save the changes and restart the service?"})}),x?(0,R.jsx)("div",{className:t.loaderAlign,children:(0,R.jsx)(b.Z,{})}):(0,R.jsxs)(f.ZP,{container:!0,spacing:1,children:[(0,R.jsxs)(f.ZP,{item:!0,xs:12,children:[(0,R.jsx)("h1",{className:t.sectionTitle,children:"Security"}),(0,R.jsx)("hr",{className:t.hrClass})]}),(0,R.jsxs)(f.ZP,{container:!0,spacing:1,children:[(0,R.jsx)(f.ZP,{item:!0,xs:12,children:(0,R.jsx)(v.Z,{value:"enableTLS",id:"enableTLS",name:"enableTLS",checked:D,onChange:function(e){var t=e.target.checked;L(t)},label:"TLS",description:"Securing all the traffic using TLS. This is required for Encryption Configuration"})}),D&&(0,R.jsxs)(o.Fragment,{children:[(0,R.jsx)(f.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,R.jsx)(v.Z,{value:"enableAutoCert",id:"enableAutoCert",name:"enableAutoCert",checked:W,onChange:function(e){var t=e.target.checked;U(t)},label:"AutoCert",description:"The internode certificates will be generated and managed by MinIO Operator"})}),(0,R.jsx)(f.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,R.jsx)(v.Z,{value:"enableCustomCerts",id:"enableCustomCerts",name:"enableCustomCerts",checked:q,onChange:function(e){var t=e.target.checked;Y(t)},label:"Custom Certificates",description:"Certificates used to terminated TLS at MinIO"})}),q&&(0,R.jsxs)(o.Fragment,{children:[!W&&(0,R.jsx)(f.ZP,{item:!0,xs:12,children:(0,R.jsx)(k.Z,{})}),(0,R.jsx)(f.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,R.jsx)("h5",{children:"MinIO Server Certificates"})}),(0,R.jsx)(f.ZP,{item:!0,xs:12,children:xe.map((function(e){return(0,R.jsx)(A.Z,{certificateInfo:e,onDelete:function(){return Re(e)}})}))}),(0,R.jsx)(f.ZP,{item:!0,xs:12,className:t.formFieldRow,children:te.map((function(e,n){return(0,R.jsxs)(f.ZP,{item:!0,xs:12,className:t.minioCertificateRows,children:[(0,R.jsxs)(f.ZP,{item:!0,xs:10,className:t.fileItem,children:[(0,R.jsx)(C.Z,{onChange:function(t,n){return Pe("minio",e.id,"cert",n,t)},accept:".cer,.crt,.cert,.pem",id:"tlsCert",name:"tlsCert",label:"Cert",value:e.cert}),(0,R.jsx)(C.Z,{onChange:function(t,n){return Pe("minio",e.id,"key",n,t)},accept:".key,.pem",id:"tlsKey",name:"tlsKey",label:"Key",value:e.key})]}),(0,R.jsxs)(f.ZP,{item:!0,xs:2,className:t.rowActions,children:[(0,R.jsx)("div",{className:t.overlayAction,children:(0,R.jsx)(d.Z,{size:"small",onClick:function(){return Ie("minio")},disabled:n!==te.length-1,children:(0,R.jsx)(j.dtP,{})})}),(0,R.jsx)("div",{className:t.overlayAction,children:(0,R.jsx)(d.Z,{size:"small",onClick:function(){return Te("minio",e.id)},disabled:te.length<=1,children:(0,R.jsx)(w.Z,{})})})]})]},e.id)}))}),(0,R.jsx)(f.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,R.jsx)("h5",{children:"MinIO Client Certificates"})}),(0,R.jsx)(f.ZP,{item:!0,xs:12,children:je.map((function(e){return(0,R.jsx)(A.Z,{certificateInfo:e,onDelete:function(){return Re(e)}})}))}),(0,R.jsx)(f.ZP,{item:!0,xs:12,className:t.formFieldRow,children:ae.map((function(e,n){return(0,R.jsxs)(f.ZP,{item:!0,xs:12,className:t.minioCertificateRows,children:[(0,R.jsxs)(f.ZP,{item:!0,xs:10,className:t.fileItem,children:[(0,R.jsx)(C.Z,{onChange:function(t,n){return Pe("client",e.id,"cert",n,t)},accept:".cer,.crt,.cert,.pem",id:"tlsCert",name:"tlsCert",label:"Cert",value:e.cert}),(0,R.jsx)(C.Z,{onChange:function(t,n){return Pe("client",e.id,"key",n,t)},accept:".key,.pem",id:"tlsKey",name:"tlsKey",label:"Key",value:e.key})]}),(0,R.jsxs)(f.ZP,{item:!0,xs:2,className:t.rowActions,children:[(0,R.jsx)("div",{className:t.overlayAction,children:(0,R.jsx)(d.Z,{size:"small",onClick:function(){return Ie("client")},disabled:n!==ae.length-1,children:(0,R.jsx)(j.dtP,{})})}),(0,R.jsx)("div",{className:t.overlayAction,children:(0,R.jsx)(d.Z,{size:"small",onClick:function(){return Te("client",e.id)},disabled:ae.length<=1,children:(0,R.jsx)(w.Z,{})})})]})]},e.id)}))}),(0,R.jsx)(f.ZP,{item:!0,xs:12,children:(0,R.jsx)("h5",{children:"MinIO CA Certificates"})}),(0,R.jsx)(f.ZP,{item:!0,xs:12,children:ge.map((function(e){return(0,R.jsx)(A.Z,{certificateInfo:e,onDelete:function(){return Re(e)}})}))}),(0,R.jsx)(f.ZP,{item:!0,xs:12,children:le.map((function(e,n){return(0,R.jsxs)(f.ZP,{item:!0,xs:12,className:t.minioCACertsRow,children:[(0,R.jsx)(f.ZP,{item:!0,xs:10,children:(0,R.jsx)(C.Z,{onChange:function(t,n){return Pe("minioCAs",e.id,"cert",n,t)},accept:".cer,.crt,.cert,.pem",id:"tlsCert",name:"tlsCert",label:"Cert",value:e.cert})}),(0,R.jsx)(f.ZP,{item:!0,xs:2,children:(0,R.jsxs)("div",{className:t.rowActions,children:[(0,R.jsx)("div",{className:t.overlayAction,children:(0,R.jsx)(d.Z,{size:"small",onClick:function(){return Ie("minioCAs")},disabled:n!==le.length-1,children:(0,R.jsx)(j.dtP,{})})}),(0,R.jsx)("div",{className:t.overlayAction,children:(0,R.jsx)(d.Z,{size:"small",onClick:function(){return Te("minioCAs",e.id)},disabled:le.length<=1,children:(0,R.jsx)(w.Z,{})})})]})})]},e.id)}))})]})]}),(0,R.jsxs)(f.ZP,{item:!0,xs:12,className:t.formFieldRow,children:[(0,R.jsx)("h1",{className:t.sectionTitle,children:"Security Context"}),(0,R.jsx)("hr",{className:t.hrClass})]}),(0,R.jsx)(f.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,R.jsx)(N.Z,{classes:t,runAsGroup:be,runAsUser:Ae,fsGroup:Ne,runAsNonRoot:Se,fsGroupChangePolicy:ke,setFSGroup:function(e){return n((0,S.FP)(e))},setRunAsUser:function(e){return n((0,S.wT)(e))},setRunAsGroup:function(e){return n((0,S.Be)(e))},setRunAsNonRoot:function(e){return n((0,S.vM)(e))},setFSGroupChangePolicy:function(e){return n((0,S.rR)(e))}})}),(0,R.jsx)(f.ZP,{item:!0,xs:12,sx:{display:"flex",justifyContent:"flex-end"},children:(0,R.jsx)(u.zx,{id:"save-security",type:"submit",variant:"callAction",disabled:E||T,onClick:function(){return G(!0)},label:"Save"})})]})]})]})})))},18158:function(e,t,n){var i=n(72791),r=n(21435),a=n(37516),s=n(90673),o=n(61889),c=n(78687),l=n(11135),d=n(25787),u=n(80184);t.Z=(0,d.Z)((function(e){return(0,l.Z)({configSectionItem:{marginRight:15,marginBottom:15,"& .multiContainer":{border:"1px solid red"}}})}))((function(e){var t=e.classes,n=e.runAsGroup,l=e.runAsUser,d=e.fsGroup,m=e.fsGroupChangePolicy,x=e.runAsNonRoot,f=e.setRunAsUser,h=e.setRunAsGroup,p=e.setFSGroup,j=e.setRunAsNonRoot,Z=e.setFSGroupChangePolicy,v=(0,c.I0)();return(0,u.jsx)(i.Fragment,{children:(0,u.jsxs)("fieldset",{className:"".concat(t.fieldGroup," ").concat(t.fieldSpaceTop," "),children:[(0,u.jsx)("legend",{className:t.descriptionText,children:"Security Context"}),(0,u.jsx)(o.ZP,{item:!0,xs:12,children:(0,u.jsxs)("div",{className:"".concat(t.multiContainerStackNarrow," "),children:[(0,u.jsx)("div",{className:t.configSectionItem,children:(0,u.jsx)(r.Z,{type:"number",id:"securityContext_runAsUser",name:"securityContext_runAsUser",onChange:function(e){v(f(e.target.value))},label:"Run As User",value:l,required:!0,min:"0"})}),(0,u.jsx)("div",{className:t.configSectionItem,children:(0,u.jsx)(r.Z,{type:"number",id:"securityContext_runAsGroup",name:"securityContext_runAsGroup",onChange:function(e){v(h(e.target.value))},label:"Run As Group",value:n,required:!0,min:"0"})})]})}),(0,u.jsx)(o.ZP,{item:!0,xs:12,children:(0,u.jsxs)("div",{className:"".concat(t.multiContainerStackNarrow," "),children:[(0,u.jsx)("div",{className:t.configSectionItem,children:(0,u.jsx)(r.Z,{type:"number",id:"securityContext_fsGroup",name:"securityContext_fsGroup",onChange:function(e){v(p(e.target.value))},label:"FsGroup",value:d,required:!0,min:"0"})}),(0,u.jsx)("div",{className:t.configSectionItem,children:(0,u.jsx)(s.Z,{label:"FsGroupChangePolicy",id:"securityContext_fsGroupChangePolicy",name:"securityContext_fsGroupChangePolicy",onChange:function(e){v(Z(e.target.value))},value:m,options:[{label:"Always",value:"Always"},{label:"OnRootMismatch",value:"OnRootMismatch"}]})})]})}),(0,u.jsx)(o.ZP,{item:!0,xs:12,children:(0,u.jsx)("div",{className:t.multiContainer,children:(0,u.jsx)(a.Z,{value:"SecurityContextRunAsNonRoot",id:"securityContext_runAsNonRoot",name:"securityContext_runAsNonRoot",checked:x,onChange:function(){v(j(!x))},label:"Do not run as Root"})})})]})})}))},22512:function(e,t,n){var i=n(72791),r=n(20890),a=n(11135),s=n(25787),o=n(80184);t.Z=(0,s.Z)((function(e){var t;return(0,a.Z)({errorBlock:{color:(null===(t=e.palette)||void 0===t?void 0:t.error.main)||"#C83B51"}})}))((function(e){var t=e.classes,n=e.errorMessage,a=e.withBreak,s=void 0===a||a;return(0,o.jsxs)(i.Fragment,{children:[s&&(0,o.jsx)("br",{}),(0,o.jsx)(r.Z,{component:"p",variant:"body1",className:t.errorBlock,children:n})]})}))}}]); -//# sourceMappingURL=2684.03e0baba.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2684.03e0baba.chunk.js.map b/portal-ui/build/static/js/2684.03e0baba.chunk.js.map deleted file mode 100644 index b3c0bc62f..000000000 --- a/portal-ui/build/static/js/2684.03e0baba.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/2684.03e0baba.chunk.js","mappings":"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","sources":["icons/CertificateIcon.tsx","screens/Console/Common/FormComponents/FileSelector/FileSelector.tsx","screens/Console/Common/FormComponents/FileSelector/utils.ts","screens/Console/Common/TLSCertificate/TLSCertificate.tsx","screens/Console/Tenants/HelpBox/TLSHelpBox.tsx","screens/Console/Tenants/TenantDetails/TenantSecurity.tsx","screens/Console/Tenants/securityContextSelector.tsx","screens/shared/ErrorBlock.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst CertificateIcon = (props: SVGProps) => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\nexport default CertificateIcon;\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 \"../../../../../icons/HelpIcon\";\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) 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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { ICertificateInfo } from \"../../Tenants/types\";\nimport LanguageIcon from \"@mui/icons-material/Language\";\nimport Chip from \"@mui/material/Chip\";\nimport {\n Box,\n Container,\n Divider,\n Grid,\n List,\n ListItem,\n ListItemAvatar,\n ListItemText,\n Typography,\n} from \"@mui/material\";\nimport EventBusyIcon from \"@mui/icons-material/EventBusy\";\nimport CertificateIcon from \"../../../../icons/CertificateIcon\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n certificateIcon: {\n float: \"left\",\n paddingTop: \"5px !important\",\n paddingRight: \"10px !important\",\n },\n certificateInfo: { float: \"right\" },\n certificateWrapper: {\n height: \"auto\",\n margin: 5,\n border: \"1px solid #E2E2E2\",\n userSelect: \"text\",\n borderRadius: 4,\n \"& h6\": {\n fontWeight: \"bold\",\n },\n \"& div\": {\n padding: 0,\n },\n },\n certificateExpiry: {\n color: \"#616161\",\n display: \"flex\",\n alignItems: \"center\",\n flexWrap: \"wrap\",\n marginBottom: 5,\n \"& .label\": {\n fontWeight: \"bold\",\n },\n },\n certificateDomains: {\n color: \"#616161\",\n \"& .label\": {\n fontWeight: \"bold\",\n },\n },\n certificatesList: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 4,\n color: \"#616161\",\n textTransform: \"lowercase\",\n overflowY: \"scroll\",\n maxHeight: 145,\n marginBottom: 10,\n },\n certificatesListItem: {\n padding: \"0px 16px\",\n borderBottom: \"1px solid #E2E2E2\",\n \"& div\": {\n minWidth: 0,\n },\n \"& svg\": {\n fontSize: 12,\n marginRight: 10,\n opacity: 0.5,\n },\n \"& span\": {\n fontSize: 12,\n },\n },\n });\n\ninterface ITLSCertificate {\n classes: any;\n certificateInfo: ICertificateInfo;\n onDelete: any;\n}\n\nconst TLSCertificate = ({\n classes,\n certificateInfo,\n onDelete = () => {},\n}: ITLSCertificate) => {\n const certificates = certificateInfo.domains || [];\n\n const expiry = DateTime.fromISO(certificateInfo.expiry);\n\n return (\n \n \n \n \n \n \n {certificateInfo.name}\n \n \n \n  \n Expiry: \n {expiry.toFormat(\"yyyy/MM/dd\")}\n \n \n
\n \n {`${certificates.length} Domain (s):`}\n \n \n {certificates.map((dom, index) => (\n \n \n \n \n \n \n ))}\n \n
\n \n }\n onDelete={onDelete}\n />\n );\n};\n\nexport default withStyles(styles)(TLSCertificate);\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 { useSelector } from \"react-redux\";\nimport { Box } from \"@mui/material\";\nimport CertificateIcon from \"../../../../icons/CertificateIcon\";\nimport { useParams } from \"react-router-dom\";\nimport { AppState } from \"../../../../store\";\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 TLSHelpBox = () => {\n const params = useParams();\n const tenantNameParam = params.tenantName || \"\";\n const tenantNamespaceParam = params.tenantNamespace || \"\";\n const namespace = useSelector((state: AppState) => {\n var defaultNamespace = \"\";\n if (tenantNamespaceParam !== \"\") {\n return tenantNamespaceParam;\n }\n if (state.createTenant.fields.nameTenant.namespace !== \"\") {\n return state.createTenant.fields.nameTenant.namespace;\n }\n return defaultNamespace;\n });\n\n const tenantName = useSelector((state: AppState) => {\n var defaultTenantName = \"\";\n if (tenantNameParam !== \"\") {\n return tenantNameParam;\n }\n\n if (state.createTenant.fields.nameTenant.tenantName !== \"\") {\n return state.createTenant.fields.nameTenant.tenantName;\n }\n return defaultTenantName;\n });\n\n return (\n \n \n }\n description={`TLS Certificates Warning`}\n />\n \n Automatic certificate generation is not enabled.\n
\n
\n If you wish to continue only with custom certificates make sure\n they are valid for the following internode hostnames, i.e.:\n
\n
\n \n minio.{namespace}\n
\n minio.{namespace}.svc\n
\n minio.{namespace}.svc.<cluster domain>\n
\n *.{tenantName}-hl.{namespace}.svc.<cluster domain>\n
\n *.{namespace}.svc.<cluster domain>\n \n
\n Replace <tenant-name>,{\" \"}\n <namespace> and\n <cluster domain> with the actual values for your\n MinIO tenant.\n
\n
\n You can learn more at our{\" \"}\n \n documentation\n \n .\n
\n \n \n );\n};\n\nexport default TLSHelpBox;\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 { connect, useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport { DialogContentText, IconButton } from \"@mui/material\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n fsGroupChangePolicyType,\n ICertificateInfo,\n ITenantSecurityResponse,\n} from \"../types\";\nimport {\n containerForHeader,\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n spacingUtils,\n tenantDetailsStyles,\n wizardCommon,\n} from \"../../Common/FormComponents/common/styleLibrary\";\n\nimport { KeyPair } from \"../ListTenants/utils\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport { AddIcon, ConfirmModalIcon } from \"../../../../icons\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport FileSelector from \"../../Common/FormComponents/FileSelector/FileSelector\";\nimport api from \"../../../../common/api\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport Loader from \"../../Common/Loader/Loader\";\nimport TLSCertificate from \"../../Common/TLSCertificate/TLSCertificate\";\nimport SecurityContextSelector from \"../securityContextSelector\";\nimport {\n setRunAsUser,\n setFSGroup,\n setRunAsGroup,\n setRunAsNonRoot,\n setFSGroupChangePolicy,\n} from \"../tenantSecurityContextSlice\";\nimport TLSHelpBox from \"../HelpBox/TLSHelpBox\";\nimport RemoveIcon from \"../../../../icons/RemoveIcon\";\n\ninterface ITenantSecurity {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n ...spacingUtils,\n minioCertificateRows: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n borderBottom: \"1px solid #EAEAEA\",\n \"&:last-child\": {\n borderBottom: 0,\n },\n \"@media (max-width: 900px)\": {\n flex: 1,\n },\n },\n minioCertsContainer: {\n marginBottom: 15,\n },\n minioCACertsRow: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n\n borderBottom: \"1px solid #EAEAEA\",\n \"&:last-child\": {\n borderBottom: 0,\n },\n \"@media (max-width: 900px)\": {\n flex: 1,\n\n \"& div label\": {\n minWidth: 50,\n },\n },\n },\n rowActions: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n \"@media (max-width: 900px)\": {\n flex: 1,\n },\n },\n overlayAction: {\n marginLeft: 10,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n loaderAlign: {\n textAlign: \"center\",\n },\n bold: { fontWeight: \"bold\" },\n italic: { fontStyle: \"italic\" },\n fileItem: {\n marginRight: 10,\n display: \"flex\",\n \"& div label\": {\n minWidth: 50,\n },\n\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n ...containerForHeader(theme.spacing(4)),\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst TenantSecurity = ({ classes }: ITenantSecurity) => {\n const dispatch = useAppDispatch();\n\n const tenant = useSelector((state: AppState) => state.tenants.tenantInfo);\n const loadingTenant = useSelector(\n (state: AppState) => state.tenants.loadingTenant\n );\n\n const [isSending, setIsSending] = useState(false);\n const [dialogOpen, setDialogOpen] = useState(false);\n const [enableTLS, setEnableTLS] = useState(false);\n const [enableAutoCert, setEnableAutoCert] = useState(false);\n const [enableCustomCerts, setEnableCustomCerts] = useState(false);\n const [certificatesToBeRemoved, setCertificatesToBeRemoved] = useState<\n string[]\n >([]);\n // MinIO certificates\n const [minioServerCertificates, setMinioServerCertificates] = useState<\n KeyPair[]\n >([\n {\n id: Date.now().toString(),\n key: \"\",\n cert: \"\",\n encoded_key: \"\",\n encoded_cert: \"\",\n },\n ]);\n const [minioClientCertificates, setMinioClientCertificates] = useState<\n KeyPair[]\n >([\n {\n id: Date.now().toString(),\n key: \"\",\n cert: \"\",\n encoded_key: \"\",\n encoded_cert: \"\",\n },\n ]);\n const [minioCaCertificates, setMinioCaCertificates] = useState([\n {\n id: Date.now().toString(),\n key: \"\",\n cert: \"\",\n encoded_key: \"\",\n encoded_cert: \"\",\n },\n ]);\n const [minioServerCertificateSecrets, setMinioServerCertificateSecrets] =\n useState([]);\n const [minioClientCertificateSecrets, setMinioClientCertificateSecrets] =\n useState([]);\n const [minioTLSCaCertificateSecrets, setMinioTLSCaCertificateSecrets] =\n useState([]);\n\n const runAsGroup = useSelector(\n (state: AppState) => state.editTenantSecurityContext.runAsGroup\n );\n const runAsUser = useSelector(\n (state: AppState) => state.editTenantSecurityContext.runAsUser\n );\n const fsGroup = useSelector(\n (state: AppState) => state.editTenantSecurityContext.fsGroup\n );\n const runAsNonRoot = useSelector(\n (state: AppState) => state.editTenantSecurityContext.runAsNonRoot\n );\n const fsGroupChangePolicy = useSelector(\n (state: AppState) => state.editTenantSecurityContext.fsGroupChangePolicy\n );\n\n const getTenantSecurityInfo = useCallback(() => {\n api\n .invoke(\n \"GET\",\n `/api/v1/namespaces/${tenant?.namespace}/tenants/${tenant?.name}/security`\n )\n .then((res: ITenantSecurityResponse) => {\n setEnableAutoCert(res.autoCert);\n setEnableTLS(res.autoCert);\n if (\n res.customCertificates.minio ||\n res.customCertificates.client ||\n res.customCertificates.minioCAs\n ) {\n setEnableCustomCerts(true);\n setEnableTLS(true);\n }\n setMinioServerCertificateSecrets(res.customCertificates.minio || []);\n setMinioClientCertificateSecrets(res.customCertificates.client || []);\n setMinioTLSCaCertificateSecrets(res.customCertificates.minioCAs || []);\n dispatch(setRunAsGroup(res.securityContext.runAsGroup));\n dispatch(setRunAsUser(res.securityContext.runAsUser));\n dispatch(setFSGroup(res.securityContext.fsGroup));\n dispatch(setRunAsNonRoot(res.securityContext.runAsNonRoot));\n dispatch(\n setFSGroupChangePolicy(res.securityContext.fsGroupChangePolicy)\n );\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n });\n }, [tenant, dispatch]);\n\n useEffect(() => {\n if (tenant) {\n getTenantSecurityInfo();\n }\n }, [tenant, getTenantSecurityInfo]);\n\n const updateTenantSecurity = () => {\n setIsSending(true);\n let payload = {\n autoCert: enableAutoCert,\n customCertificates: {},\n securityContext: {\n runAsGroup: runAsGroup,\n runAsUser: runAsUser,\n runAsNonRoot: runAsNonRoot,\n fsGroup: fsGroup,\n fsGroupChangePolicy: fsGroupChangePolicy,\n },\n };\n if (enableCustomCerts) {\n payload[\"customCertificates\"] = {\n secretsToBeDeleted: certificatesToBeRemoved,\n minioServerCertificates: minioServerCertificates\n .map((keyPair: KeyPair) => ({\n crt: keyPair.encoded_cert,\n key: keyPair.encoded_key,\n }))\n .filter((cert: any) => cert.crt && cert.key),\n minioClientCertificates: minioClientCertificates\n .map((keyPair: KeyPair) => ({\n crt: keyPair.encoded_cert,\n key: keyPair.encoded_key,\n }))\n .filter((cert: any) => cert.crt && cert.key),\n minioCAsCertificates: minioCaCertificates\n .map((keyPair: KeyPair) => keyPair.encoded_cert)\n .filter((cert: any) => cert),\n };\n } else {\n payload[\"customCertificates\"] = {\n secretsToBeDeleted: [\n ...minioServerCertificateSecrets.map((cert) => cert.name),\n ...minioClientCertificateSecrets.map((cert) => cert.name),\n ...minioTLSCaCertificateSecrets.map((cert) => cert.name),\n ],\n minioServerCertificates: [],\n minioClientCertificates: [],\n minioCAsCertificates: [],\n };\n }\n api\n .invoke(\n \"POST\",\n `/api/v1/namespaces/${tenant?.namespace}/tenants/${tenant?.name}/security`,\n payload\n )\n .then(() => {\n setIsSending(false);\n // Close confirmation modal\n setDialogOpen(false);\n // Refresh Information and reset forms\n setMinioServerCertificates([\n {\n cert: \"\",\n encoded_cert: \"\",\n encoded_key: \"\",\n id: Date.now().toString(),\n key: \"\",\n },\n ]);\n setMinioClientCertificates([\n {\n cert: \"\",\n encoded_cert: \"\",\n encoded_key: \"\",\n id: Date.now().toString(),\n key: \"\",\n },\n ]);\n setMinioCaCertificates([\n {\n cert: \"\",\n encoded_cert: \"\",\n encoded_key: \"\",\n id: Date.now().toString(),\n key: \"\",\n },\n ]);\n getTenantSecurityInfo();\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setIsSending(false);\n });\n };\n\n const removeCertificate = (certificateInfo: ICertificateInfo) => {\n // TLS certificate secrets can be referenced MinIO, Console or KES, we need to remove the secret from all list and update\n // the arrays\n // Add certificate to the global list of secrets to be removed\n setCertificatesToBeRemoved([\n ...certificatesToBeRemoved,\n certificateInfo.name,\n ]);\n\n // Update MinIO server TLS certificate secrets\n const updatedMinioServerCertificateSecrets =\n minioServerCertificateSecrets.filter(\n (certificateSecret) => certificateSecret.name !== certificateInfo.name\n );\n // Update MinIO client TLS certificate secrets\n const updatedMinioClientCertificateSecrets =\n minioClientCertificateSecrets.filter(\n (certificateSecret) => certificateSecret.name !== certificateInfo.name\n );\n const updatedMinIOTLSCaCertificateSecrets =\n minioTLSCaCertificateSecrets.filter(\n (certificateSecret) => certificateSecret.name !== certificateInfo.name\n );\n setMinioServerCertificateSecrets(updatedMinioServerCertificateSecrets);\n setMinioClientCertificateSecrets(updatedMinioClientCertificateSecrets);\n setMinioTLSCaCertificateSecrets(updatedMinIOTLSCaCertificateSecrets);\n };\n\n const addFileToKeyPair = (\n type: string,\n id: string,\n key: string,\n fileName: string,\n value: string\n ) => {\n let certificates = minioServerCertificates;\n let updateCertificates: any = () => {};\n\n switch (type) {\n case \"minio\": {\n certificates = minioServerCertificates;\n updateCertificates = setMinioServerCertificates;\n break;\n }\n case \"client\": {\n certificates = minioClientCertificates;\n updateCertificates = setMinioClientCertificates;\n break;\n }\n case \"minioCAs\": {\n certificates = minioCaCertificates;\n updateCertificates = setMinioCaCertificates;\n break;\n }\n default:\n }\n\n const NCertList = certificates.map((item: KeyPair) => {\n if (item.id === id) {\n return {\n ...item,\n [key]: fileName,\n [`encoded_${key}`]: value,\n };\n }\n return item;\n });\n updateCertificates(NCertList);\n };\n\n const deleteKeyPair = (type: string, id: string) => {\n let certificates = minioServerCertificates;\n let updateCertificates: any = () => {};\n\n switch (type) {\n case \"minio\": {\n certificates = minioServerCertificates;\n updateCertificates = setMinioServerCertificates;\n break;\n }\n case \"client\": {\n certificates = minioClientCertificates;\n updateCertificates = setMinioClientCertificates;\n break;\n }\n case \"minioCAs\": {\n certificates = minioCaCertificates;\n updateCertificates = setMinioCaCertificates;\n break;\n }\n default:\n }\n\n if (certificates.length > 1) {\n const cleanCertsList = certificates.filter(\n (item: KeyPair) => item.id !== id\n );\n updateCertificates(cleanCertsList);\n }\n };\n\n const addKeyPair = (type: string) => {\n let certificates = minioServerCertificates;\n let updateCertificates: any = () => {};\n\n switch (type) {\n case \"minio\": {\n certificates = minioServerCertificates;\n updateCertificates = setMinioServerCertificates;\n break;\n }\n case \"client\": {\n certificates = minioClientCertificates;\n updateCertificates = setMinioClientCertificates;\n break;\n }\n case \"minioCAs\": {\n certificates = minioCaCertificates;\n updateCertificates = setMinioCaCertificates;\n break;\n }\n default:\n }\n const updatedCertificates = [\n ...certificates,\n {\n id: Date.now().toString(),\n key: \"\",\n cert: \"\",\n encoded_key: \"\",\n encoded_cert: \"\",\n },\n ];\n updateCertificates(updatedCertificates);\n };\n\n return (\n \n }\n isLoading={isSending}\n onClose={() => setDialogOpen(false)}\n isOpen={dialogOpen}\n onConfirm={updateTenantSecurity}\n confirmationContent={\n \n Are you sure you want to save the changes and restart the service?\n \n }\n />\n {loadingTenant ? (\n
\n \n
\n ) : (\n \n \n

Security

\n
\n
\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n setEnableTLS(checked);\n }}\n label={\"TLS\"}\n description={\n \"Securing all the traffic using TLS. This is required for Encryption Configuration\"\n }\n />\n \n {enableTLS && (\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n setEnableAutoCert(checked);\n }}\n label={\"AutoCert\"}\n description={\n \"The internode certificates will be generated and managed by MinIO Operator\"\n }\n />\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n setEnableCustomCerts(checked);\n }}\n label={\"Custom Certificates\"}\n description={\"Certificates used to terminated TLS at MinIO\"}\n />\n \n\n {enableCustomCerts && (\n \n {!enableAutoCert && (\n \n \n \n )}\n \n
MinIO Server Certificates
\n
\n \n {minioServerCertificateSecrets.map(\n (certificateInfo: ICertificateInfo) => (\n removeCertificate(certificateInfo)}\n />\n )\n )}\n \n \n {minioServerCertificates.map((keyPair, index) => (\n \n \n \n addFileToKeyPair(\n \"minio\",\n keyPair.id,\n \"cert\",\n fileName,\n encodedValue\n )\n }\n accept=\".cer,.crt,.cert,.pem\"\n id=\"tlsCert\"\n name=\"tlsCert\"\n label=\"Cert\"\n value={keyPair.cert}\n />\n \n addFileToKeyPair(\n \"minio\",\n keyPair.id,\n \"key\",\n fileName,\n encodedValue\n )\n }\n accept=\".key,.pem\"\n id=\"tlsKey\"\n name=\"tlsKey\"\n label=\"Key\"\n value={keyPair.key}\n />\n \n \n
\n addKeyPair(\"minio\")}\n disabled={\n index !== minioServerCertificates.length - 1\n }\n >\n \n \n
\n
\n \n deleteKeyPair(\"minio\", keyPair.id)\n }\n disabled={minioServerCertificates.length <= 1}\n >\n \n \n
\n
\n
\n ))}\n
\n\n \n
MinIO Client Certificates
\n
\n \n {minioClientCertificateSecrets.map(\n (certificateInfo: ICertificateInfo) => (\n removeCertificate(certificateInfo)}\n />\n )\n )}\n \n \n {minioClientCertificates.map((keyPair, index) => (\n \n \n \n addFileToKeyPair(\n \"client\",\n keyPair.id,\n \"cert\",\n fileName,\n encodedValue\n )\n }\n accept=\".cer,.crt,.cert,.pem\"\n id=\"tlsCert\"\n name=\"tlsCert\"\n label=\"Cert\"\n value={keyPair.cert}\n />\n \n addFileToKeyPair(\n \"client\",\n keyPair.id,\n \"key\",\n fileName,\n encodedValue\n )\n }\n accept=\".key,.pem\"\n id=\"tlsKey\"\n name=\"tlsKey\"\n label=\"Key\"\n value={keyPair.key}\n />\n \n \n
\n addKeyPair(\"client\")}\n disabled={\n index !== minioClientCertificates.length - 1\n }\n >\n \n \n
\n
\n \n deleteKeyPair(\"client\", keyPair.id)\n }\n disabled={minioClientCertificates.length <= 1}\n >\n \n \n
\n
\n
\n ))}\n
\n\n \n
MinIO CA Certificates
\n
\n \n {minioTLSCaCertificateSecrets.map(\n (certificateInfo: ICertificateInfo) => (\n removeCertificate(certificateInfo)}\n />\n )\n )}\n \n \n {minioCaCertificates.map((keyPair: KeyPair, index) => (\n \n \n \n addFileToKeyPair(\n \"minioCAs\",\n keyPair.id,\n \"cert\",\n fileName,\n encodedValue\n )\n }\n accept=\".cer,.crt,.cert,.pem\"\n id=\"tlsCert\"\n name=\"tlsCert\"\n label=\"Cert\"\n value={keyPair.cert}\n />\n \n \n
\n
\n addKeyPair(\"minioCAs\")}\n disabled={\n index !== minioCaCertificates.length - 1\n }\n >\n \n \n
\n
\n \n deleteKeyPair(\"minioCAs\", keyPair.id)\n }\n disabled={minioCaCertificates.length <= 1}\n >\n \n \n
\n
\n
\n
\n ))}\n \n \n )}\n \n )}\n \n

Security Context

\n
\n
\n \n dispatch(setFSGroup(value))}\n setRunAsUser={(value: string) => dispatch(setRunAsUser(value))}\n setRunAsGroup={(value: string) =>\n dispatch(setRunAsGroup(value))\n }\n setRunAsNonRoot={(value: boolean) =>\n dispatch(setRunAsNonRoot(value))\n }\n setFSGroupChangePolicy={(value: fsGroupChangePolicyType) =>\n dispatch(setFSGroupChangePolicy(value))\n }\n />\n \n \n setDialogOpen(true)}\n label={\"Save\"}\n />\n \n \n \n )}\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n loadingTenant: state.tenants.loadingTenant,\n selectedTenant: state.tenants.currentTenant,\n tenant: state.tenants.tenantInfo,\n});\n\nconst connector = connect(mapState, null);\n\nexport default withStyles(styles)(connector(TenantSecurity));\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 InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport SelectWrapper from \"../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { Grid, SelectChangeEvent } from \"@mui/material\";\nimport { useDispatch } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fsGroupChangePolicyType } from \"./types\";\n\ninterface IEditSecurityContextProps {\n classes: any;\n runAsUser: string;\n runAsGroup: string;\n fsGroup: string;\n fsGroupChangePolicy: fsGroupChangePolicyType;\n runAsNonRoot: boolean;\n setRunAsUser: any;\n setRunAsGroup: any;\n setFSGroup: any;\n setRunAsNonRoot: any;\n setFSGroupChangePolicy: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n configSectionItem: {\n marginRight: 15,\n marginBottom: 15,\n \"& .multiContainer\": {\n border: \"1px solid red\",\n },\n },\n });\n\nconst SecurityContextSelector = ({\n classes,\n runAsGroup,\n runAsUser,\n fsGroup,\n fsGroupChangePolicy,\n runAsNonRoot,\n setRunAsUser,\n setRunAsGroup,\n setFSGroup,\n setRunAsNonRoot,\n setFSGroupChangePolicy,\n}: IEditSecurityContextProps) => {\n const dispatch = useDispatch();\n return (\n \n
\n Security Context\n\n \n
\n
\n ) => {\n dispatch(setRunAsUser(e.target.value));\n }}\n label=\"Run As User\"\n value={runAsUser}\n required\n min=\"0\"\n />\n
\n
\n ) => {\n dispatch(setRunAsGroup(e.target.value));\n }}\n label=\"Run As Group\"\n value={runAsGroup}\n required\n min=\"0\"\n />\n
\n
\n
\n \n
\n
\n ) => {\n dispatch(setFSGroup(e.target.value));\n }}\n label=\"FsGroup\"\n value={fsGroup}\n required\n min=\"0\"\n />\n
\n\n
\n ) => {\n dispatch(setFSGroupChangePolicy(e.target.value));\n }}\n value={fsGroupChangePolicy}\n options={[\n {\n label: \"Always\",\n value: \"Always\",\n },\n {\n label: \"OnRootMismatch\",\n value: \"OnRootMismatch\",\n },\n ]}\n />\n
\n
\n
\n \n
\n {\n dispatch(setRunAsNonRoot(!runAsNonRoot));\n }}\n label={\"Do not run as Root\"}\n />\n
\n
\n
\n
\n );\n};\n\nexport default withStyles(styles)(SecurityContextSelector);\n","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"],"names":["props","xmlns","className","fill","viewBox","id","d","transform","clipPath","withStyles","theme","createStyles","fieldBasic","tooltipHelper","valueString","maxWidth","whiteSpace","overflow","textOverflow","marginTop","fileInputField","margin","flexFlow","fileInputStyles","inputLabel","fontWeight","textBoxContainer","border","paddingLeft","label","classes","onChange","name","disabled","tooltip","required","error","accept","value","useState","showFileSelector","setShowSelector","Grid","item","xs","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","color","component","onClick","disableRipple","disableFocusRipple","size","Cancel","ErrorBlock","errorMessage","fileReselect","AttachFile","certificateIcon","float","paddingTop","paddingRight","certificateInfo","certificateWrapper","height","userSelect","borderRadius","padding","certificateExpiry","display","alignItems","flexWrap","marginBottom","certificateDomains","certificatesList","textTransform","overflowY","maxHeight","certificatesListItem","borderBottom","minWidth","fontSize","marginRight","opacity","onDelete","certificates","domains","expiry","DateTime","variant","gutterBottom","toFormat","map","dom","index","primary","FeatureItem","icon","description","sx","width","style","fontStyle","params","useParams","tenantNameParam","tenantName","tenantNamespaceParam","tenantNamespace","namespace","useSelector","state","createTenant","fields","nameTenant","flex","href","rel","connector","connect","loadingTenant","tenants","selectedTenant","currentTenant","tenant","tenantInfo","tenantDetailsStyles","spacingUtils","minioCertificateRows","justifyContent","minioCertsContainer","minioCACertsRow","rowActions","overlayAction","marginLeft","background","loaderAlign","textAlign","bold","italic","fileItem","containerForHeader","spacing","createTenantCommon","formFieldStyles","modalBasic","wizardCommon","dispatch","useAppDispatch","isSending","setIsSending","dialogOpen","setDialogOpen","enableTLS","setEnableTLS","enableAutoCert","setEnableAutoCert","enableCustomCerts","setEnableCustomCerts","certificatesToBeRemoved","setCertificatesToBeRemoved","Date","now","key","cert","encoded_key","encoded_cert","minioServerCertificates","setMinioServerCertificates","minioClientCertificates","setMinioClientCertificates","minioCaCertificates","setMinioCaCertificates","minioServerCertificateSecrets","setMinioServerCertificateSecrets","minioClientCertificateSecrets","setMinioClientCertificateSecrets","minioTLSCaCertificateSecrets","setMinioTLSCaCertificateSecrets","runAsGroup","editTenantSecurityContext","runAsUser","fsGroup","runAsNonRoot","fsGroupChangePolicy","getTenantSecurityInfo","useCallback","api","then","res","autoCert","customCertificates","minio","client","minioCAs","setRunAsGroup","securityContext","setRunAsUser","setFSGroup","setRunAsNonRoot","setFSGroupChangePolicy","catch","err","setErrorSnackMessage","useEffect","removeCertificate","updatedMinioServerCertificateSecrets","filter","certificateSecret","updatedMinioClientCertificateSecrets","updatedMinIOTLSCaCertificateSecrets","addFileToKeyPair","updateCertificates","deleteKeyPair","addKeyPair","confirmText","cancelText","titleIcon","isLoading","onClose","isOpen","onConfirm","payload","secretsToBeDeleted","keyPair","crt","minioCAsCertificates","confirmationContent","container","sectionTitle","hrClass","checked","Fragment","formFieldRow","encodedValue","configSectionItem","useDispatch","fieldGroup","fieldSpaceTop","descriptionText","multiContainerStackNarrow","min","options","multiContainer","errorBlock","palette","main","withBreak"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2684.73fcefda.chunk.js b/portal-ui/build/static/js/2684.73fcefda.chunk.js new file mode 100644 index 000000000..45c409436 --- /dev/null +++ b/portal-ui/build/static/js/2684.73fcefda.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2684],{54639:function(e,n,t){t.d(n,{Z:function(){return v}});var i=t(29439),r=t(1413),s=t(72791),a=t(26181),o=t.n(a),c=t(61889),l=t(30829),d=t(20068),u=t(13400),m=t(99663),x=t(86711),f=t(11135),h=t(25787),p=t(23814),j=t(75952),C=t(22512),Z=t(80184),v=(0,h.Z)((function(e){return(0,f.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({},p.YI),p.Hr),{},{valueString:{maxWidth:350,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",marginTop:2},fileInputField:{margin:"13px 0","@media (max-width: 900px)":{flexFlow:"column"}}},p.bV),{},{inputLabel:(0,r.Z)((0,r.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"}),textBoxContainer:(0,r.Z)((0,r.Z)({},p.YI.textBoxContainer),{},{maxWidth:"100%",border:"1px solid #eaeaea",paddingLeft:"15px"})}))}))((function(e){var n=e.label,t=e.classes,r=e.onChange,a=e.id,f=e.name,h=e.disabled,p=void 0!==h&&h,v=e.tooltip,g=void 0===v?"":v,y=e.required,b=e.error,A=void 0===b?"":b,N=e.accept,S=void 0===N?"":N,k=e.value,w=void 0===k?"":k,R=(0,s.useState)(!1),P=(0,i.Z)(R,2),T=P[0],I=P[1];return(0,Z.jsx)(s.Fragment,{children:(0,Z.jsxs)(c.ZP,{item:!0,xs:12,className:"".concat(t.fileInputField," ").concat(t.fieldBottom," ").concat(t.fieldContainer," ").concat(""!==A?t.errorInField:""),children:[""!==n&&(0,Z.jsxs)(l.Z,{htmlFor:a,className:"".concat(""!==A?t.fieldLabelError:""," ").concat(t.inputLabel),children:[(0,Z.jsxs)("span",{children:[n,y?"*":""]}),""!==g&&(0,Z.jsx)("div",{className:t.tooltipContainer,children:(0,Z.jsx)(d.Z,{title:g,placement:"top-start",children:(0,Z.jsx)("div",{className:t.tooltip,children:(0,Z.jsx)(j.byK,{})})})})]}),T||""===w?(0,Z.jsxs)("div",{className:t.textBoxContainer,children:[(0,Z.jsx)("input",{type:"file",name:f,onChange:function(e){var n=o()(e,"target.files[0].name","");!function(e,n){var t=e.target.files[0],i=new FileReader;i.readAsDataURL(t),i.onload=function(){var e=i.result;if(e){var t=e.toString().split("base64,");2===t.length&&n(t[1])}}}(e,(function(e){r(e,n)}))},accept:S,required:y,disabled:p,className:t.fileInputField}),""!==w&&(0,Z.jsx)(u.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){I(!1)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,Z.jsx)(x.Z,{})}),""!==A&&(0,Z.jsx)(C.Z,{errorMessage:A})]}):(0,Z.jsxs)("div",{className:t.fileReselect,children:[(0,Z.jsx)("div",{className:t.valueString,children:w}),(0,Z.jsx)(u.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){I(!0)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,Z.jsx)(m.Z,{})})]})]})})}))},80666:function(e,n,t){t(72791);var i=t(99779),r=t(11135),s=t(25787),a=t(90983),o=t(81918),c=t(91614),l=t(61889),d=t(20890),u=t(64554),m=t(94721),x=t(90493),f=t(15021),h=t(20653),p=t(49900),j=t(52502),C=t(75952),Z=t(80184);n.Z=(0,s.Z)((function(e){return(0,r.Z)({certificateIcon:{float:"left",paddingTop:"5px !important",paddingRight:"10px !important"},certificateInfo:{float:"right"},certificateWrapper:{height:"auto",margin:5,border:"1px solid #E2E2E2",userSelect:"text",borderRadius:4,"& h6":{fontWeight:"bold"},"& div":{padding:0}},certificateExpiry:{color:"#616161",display:"flex",alignItems:"center",flexWrap:"wrap",marginBottom:5,"& .label":{fontWeight:"bold"}},certificateDomains:{color:"#616161","& .label":{fontWeight:"bold"}},certificatesList:{border:"1px solid #E2E2E2",borderRadius:4,color:"#616161",textTransform:"lowercase",overflowY:"scroll",maxHeight:145,marginBottom:10},certificatesListItem:{padding:"0px 16px",borderBottom:"1px solid #E2E2E2","& div":{minWidth:0},"& svg":{fontSize:12,marginRight:10,opacity:.5},"& span":{fontSize:12}}})}))((function(e){var n=e.classes,t=e.certificateInfo,r=e.onDelete,s=void 0===r?function(){}:r,v=t.domains||[],g=i.ou.fromISO(t.expiry);return(0,Z.jsx)(o.Z,{variant:"outlined",color:"primary",className:n.certificateWrapper,label:(0,Z.jsxs)(c.Z,{children:[(0,Z.jsx)(l.ZP,{item:!0,xs:1,className:n.certificateIcon,children:(0,Z.jsx)(C.Baz,{})}),(0,Z.jsxs)(l.ZP,{item:!0,xs:11,className:n.certificateInfo,children:[(0,Z.jsx)(d.Z,{variant:"subtitle1",display:"block",gutterBottom:!0,children:t.name}),(0,Z.jsxs)(u.Z,{className:n.certificateExpiry,children:[(0,Z.jsx)(j.Z,{color:"inherit",fontSize:"small"}),"\xa0",(0,Z.jsx)("span",{className:"label",children:"Expiry:\xa0"}),(0,Z.jsx)("span",{children:g.toFormat("yyyy/MM/dd")})]}),(0,Z.jsx)(m.Z,{}),(0,Z.jsx)("br",{}),(0,Z.jsx)(u.Z,{className:n.certificateDomains,children:(0,Z.jsx)("span",{className:"label",children:"".concat(v.length," Domain (s):")})}),(0,Z.jsx)(x.Z,{className:n.certificatesList,children:v.map((function(e,t){return(0,Z.jsxs)(f.ZP,{className:n.certificatesListItem,children:[(0,Z.jsx)(h.Z,{children:(0,Z.jsx)(a.Z,{})}),(0,Z.jsx)(p.Z,{primary:e})]},"".concat(e,"-").concat(t))}))})]})]}),onDelete:s},t.name)}))},88070:function(e,n,t){t(72791);var i=t(78687),r=t(64554),s=t(75952),a=t(57689),o=t(80184),c=function(e){var n=e.icon,t=e.description;return(0,o.jsxs)(r.Z,{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(){var e=(0,a.UO)(),n=e.tenantName||"",t=e.tenantNamespace||"",l=(0,i.v9)((function(e){return""!==t?t:""!==e.createTenant.fields.nameTenant.namespace?e.createTenant.fields.nameTenant.namespace:""})),d=(0,i.v9)((function(e){return""!==n?n:""!==e.createTenant.fields.nameTenant.tenantName?e.createTenant.fields.nameTenant.tenantName:""}));return(0,o.jsx)(r.Z,{sx:{flex:1,border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"20px",marginTop:{xs:"0px"}},children:(0,o.jsxs)(r.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,o.jsx)(c,{icon:(0,o.jsx)(s.Baz,{}),description:"TLS Certificates Warning"}),(0,o.jsxs)(r.Z,{sx:{fontSize:"14px",marginBottom:"15px"},children:["Automatic certificate generation is not enabled.",(0,o.jsx)("br",{}),(0,o.jsx)("br",{}),"If you wish to continue only with ",(0,o.jsx)("b",{children:"custom certificates"})," make sure they are valid for the following internode hostnames, i.e.:",(0,o.jsx)("br",{}),(0,o.jsx)("br",{}),(0,o.jsxs)("div",{style:{fontSize:"14px",fontStyle:"italic",color:"#5E5E5E"},children:["minio.",l,(0,o.jsx)("br",{}),"minio.",l,".svc",(0,o.jsx)("br",{}),"minio.",l,".svc.",(0,o.jsx)("br",{}),"*.",d,"-hl.",l,".svc.",(0,o.jsx)("br",{}),"*.",l,".svc."]}),(0,o.jsx)("br",{}),"Replace ",(0,o.jsx)("em",{children:""}),","," ",(0,o.jsx)("em",{children:""})," and",(0,o.jsx)("em",{children:""})," with the actual values for your MinIO tenant.",(0,o.jsx)("br",{}),(0,o.jsx)("br",{}),"You can learn more at our"," ",(0,o.jsx)("a",{href:"https://min.io/docs/minio/kubernetes/upstream/operations/network-encryption.html?ref=op#id5",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})]})})}},12684:function(e,n,t){t.r(n);var i=t(4942),r=t(93433),s=t(29439),a=t(1413),o=t(72791),c=t(78687),l=t(51691),d=t(13400),u=t(75952),m=t(11135),x=t(25787),f=t(61889),h=t(23814),p=t(25469),j=t(87995),C=t(37516),Z=t(54639),v=t(81207),g=t(23508),y=t(80666),b=t(18158),A=t(1078),N=t(88070),S=t(80184),k=(0,c.$j)((function(e){return{loadingTenant:e.tenants.loadingTenant,selectedTenant:e.tenants.currentTenant,tenant:e.tenants.tenantInfo}}),null);n.default=(0,x.Z)((function(e){return(0,m.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},h.oZ),h.bK),{},{minioCertificateRows:{display:"flex",alignItems:"center",justifyContent:"flex-start",borderBottom:"1px solid #EAEAEA","&:last-child":{borderBottom:0},"@media (max-width: 900px)":{flex:1}},minioCertsContainer:{marginBottom:15},minioCACertsRow:{display:"flex",alignItems:"center",justifyContent:"flex-start",borderBottom:"1px solid #EAEAEA","&:last-child":{borderBottom:0},"@media (max-width: 900px)":{flex:1,"& div label":{minWidth:50}}},rowActions:{display:"flex",justifyContent:"flex-end","@media (max-width: 900px)":{flex:1}},overlayAction:{marginLeft:10,"& svg":{maxWidth:15,maxHeight:15},"& button":{background:"#EAEAEA"}},loaderAlign:{textAlign:"center"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},fileItem:{marginRight:10,display:"flex","& div label":{minWidth:50},"@media (max-width: 900px)":{flexFlow:"column"}}},(0,h.Bz)(e.spacing(4))),h.QV),h.DF),h.oO),h.AK))}))(k((function(e){var n=e.classes,t=(0,p.TL)(),m=(0,c.v9)((function(e){return e.tenants.tenantInfo})),x=(0,c.v9)((function(e){return e.tenants.loadingTenant})),h=(0,o.useState)(!1),k=(0,s.Z)(h,2),w=k[0],R=k[1],P=(0,o.useState)(!1),T=(0,s.Z)(P,2),I=T[0],F=T[1],_=(0,o.useState)(!1),E=(0,s.Z)(_,2),G=E[0],B=E[1],L=(0,o.useState)(!1),D=(0,s.Z)(L,2),z=D[0],O=D[1],W=(0,o.useState)(!1),M=(0,s.Z)(W,2),U=M[0],K=M[1],q=(0,o.useState)([]),H=(0,s.Z)(q,2),Y=H[0],V=H[1],Q=(0,o.useState)([{id:Date.now().toString(),key:"",cert:"",encoded_key:"",encoded_cert:""}]),$=(0,s.Z)(Q,2),J=$[0],X=$[1],ee=(0,o.useState)([{id:Date.now().toString(),key:"",cert:"",encoded_key:"",encoded_cert:""}]),ne=(0,s.Z)(ee,2),te=ne[0],ie=ne[1],re=(0,o.useState)([{id:Date.now().toString(),key:"",cert:"",encoded_key:"",encoded_cert:""}]),se=(0,s.Z)(re,2),ae=se[0],oe=se[1],ce=(0,o.useState)([]),le=(0,s.Z)(ce,2),de=le[0],ue=le[1],me=(0,o.useState)([]),xe=(0,s.Z)(me,2),fe=xe[0],he=xe[1],pe=(0,o.useState)([]),je=(0,s.Z)(pe,2),Ce=je[0],Ze=je[1],ve=(0,c.v9)((function(e){return e.editTenantSecurityContext.runAsGroup})),ge=(0,c.v9)((function(e){return e.editTenantSecurityContext.runAsUser})),ye=(0,c.v9)((function(e){return e.editTenantSecurityContext.fsGroup})),be=(0,c.v9)((function(e){return e.editTenantSecurityContext.runAsNonRoot})),Ae=(0,c.v9)((function(e){return e.editTenantSecurityContext.fsGroupChangePolicy})),Ne=(0,o.useCallback)((function(){v.Z.invoke("GET","/api/v1/namespaces/".concat(null===m||void 0===m?void 0:m.namespace,"/tenants/").concat(null===m||void 0===m?void 0:m.name,"/security")).then((function(e){O(e.autoCert),B(e.autoCert),(e.customCertificates.minio||e.customCertificates.client||e.customCertificates.minioCAs)&&(K(!0),B(!0)),ue(e.customCertificates.minio||[]),he(e.customCertificates.client||[]),Ze(e.customCertificates.minioCAs||[]),t((0,A.Be)(e.securityContext.runAsGroup)),t((0,A.wT)(e.securityContext.runAsUser)),t((0,A.FP)(e.securityContext.fsGroup)),t((0,A.vM)(e.securityContext.runAsNonRoot)),t((0,A.rR)(e.securityContext.fsGroupChangePolicy))})).catch((function(e){t((0,j.Ih)(e))}))}),[m,t]);(0,o.useEffect)((function(){m&&Ne()}),[m,Ne]);var Se=function(e){V([].concat((0,r.Z)(Y),[e.name]));var n=de.filter((function(n){return n.name!==e.name})),t=fe.filter((function(n){return n.name!==e.name})),i=Ce.filter((function(n){return n.name!==e.name}));ue(n),he(t),Ze(i)},ke=function(e,n,t,r,s){var o=J,c=function(){};switch(e){case"minio":o=J,c=X;break;case"client":o=te,c=ie;break;case"minioCAs":o=ae,c=oe}c(o.map((function(e){var o;return e.id===n?(0,a.Z)((0,a.Z)({},e),{},(o={},(0,i.Z)(o,t,r),(0,i.Z)(o,"encoded_".concat(t),s),o)):e})))},we=function(e,n){var t=J,i=function(){};switch(e){case"minio":t=J,i=X;break;case"client":t=te,i=ie;break;case"minioCAs":t=ae,i=oe}t.length>1&&i(t.filter((function(e){return e.id!==n})))},Re=function(e){var n=J,t=function(){};switch(e){case"minio":n=J,t=X;break;case"client":n=te,t=ie;break;case"minioCAs":n=ae,t=oe}t([].concat((0,r.Z)(n),[{id:Date.now().toString(),key:"",cert:"",encoded_key:"",encoded_cert:""}]))};return(0,S.jsxs)(o.Fragment,{children:[(0,S.jsx)(g.Z,{title:"Save and Restart",confirmText:"Restart",cancelText:"Cancel",titleIcon:(0,S.jsx)(u.EjK,{}),isLoading:w,onClose:function(){return F(!1)},isOpen:I,onConfirm:function(){R(!0);var e={autoCert:z,customCertificates:{},securityContext:{runAsGroup:ve,runAsUser:ge,runAsNonRoot:be,fsGroup:ye,fsGroupChangePolicy:Ae}};e.customCertificates=U?{secretsToBeDeleted:Y,minioServerCertificates:J.map((function(e){return{crt:e.encoded_cert,key:e.encoded_key}})).filter((function(e){return e.crt&&e.key})),minioClientCertificates:te.map((function(e){return{crt:e.encoded_cert,key:e.encoded_key}})).filter((function(e){return e.crt&&e.key})),minioCAsCertificates:ae.map((function(e){return e.encoded_cert})).filter((function(e){return e}))}:{secretsToBeDeleted:[].concat((0,r.Z)(de.map((function(e){return e.name}))),(0,r.Z)(fe.map((function(e){return e.name}))),(0,r.Z)(Ce.map((function(e){return e.name})))),minioServerCertificates:[],minioClientCertificates:[],minioCAsCertificates:[]},v.Z.invoke("POST","/api/v1/namespaces/".concat(null===m||void 0===m?void 0:m.namespace,"/tenants/").concat(null===m||void 0===m?void 0:m.name,"/security"),e).then((function(){R(!1),F(!1),X([{cert:"",encoded_cert:"",encoded_key:"",id:Date.now().toString(),key:""}]),ie([{cert:"",encoded_cert:"",encoded_key:"",id:Date.now().toString(),key:""}]),oe([{cert:"",encoded_cert:"",encoded_key:"",id:Date.now().toString(),key:""}]),Ne()})).catch((function(e){t((0,j.Ih)(e)),R(!1)}))},confirmationContent:(0,S.jsx)(l.Z,{children:"Are you sure you want to save the changes and restart the service?"})}),x?(0,S.jsx)("div",{className:n.loaderAlign,children:(0,S.jsx)(u.aNw,{})}):(0,S.jsxs)(f.ZP,{container:!0,spacing:1,children:[(0,S.jsxs)(f.ZP,{item:!0,xs:12,children:[(0,S.jsx)("h1",{className:n.sectionTitle,children:"Security"}),(0,S.jsx)("hr",{className:n.hrClass})]}),(0,S.jsxs)(f.ZP,{container:!0,spacing:1,children:[(0,S.jsx)(f.ZP,{item:!0,xs:12,children:(0,S.jsx)(C.Z,{value:"enableTLS",id:"enableTLS",name:"enableTLS",checked:G,onChange:function(e){var n=e.target.checked;B(n)},label:"TLS",description:"Securing all the traffic using TLS. This is required for Encryption Configuration"})}),G&&(0,S.jsxs)(o.Fragment,{children:[(0,S.jsx)(f.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,S.jsx)(C.Z,{value:"enableAutoCert",id:"enableAutoCert",name:"enableAutoCert",checked:z,onChange:function(e){var n=e.target.checked;O(n)},label:"AutoCert",description:"The internode certificates will be generated and managed by MinIO Operator"})}),(0,S.jsx)(f.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,S.jsx)(C.Z,{value:"enableCustomCerts",id:"enableCustomCerts",name:"enableCustomCerts",checked:U,onChange:function(e){var n=e.target.checked;K(n)},label:"Custom Certificates",description:"Certificates used to terminated TLS at MinIO"})}),U&&(0,S.jsxs)(o.Fragment,{children:[!z&&(0,S.jsx)(f.ZP,{item:!0,xs:12,children:(0,S.jsx)(N.Z,{})}),(0,S.jsx)(f.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,S.jsx)("h5",{children:"MinIO Server Certificates"})}),(0,S.jsx)(f.ZP,{item:!0,xs:12,children:de.map((function(e){return(0,S.jsx)(y.Z,{certificateInfo:e,onDelete:function(){return Se(e)}})}))}),(0,S.jsx)(f.ZP,{item:!0,xs:12,className:n.formFieldRow,children:J.map((function(e,t){return(0,S.jsxs)(f.ZP,{item:!0,xs:12,className:n.minioCertificateRows,children:[(0,S.jsxs)(f.ZP,{item:!0,xs:10,className:n.fileItem,children:[(0,S.jsx)(Z.Z,{onChange:function(n,t){return ke("minio",e.id,"cert",t,n)},accept:".cer,.crt,.cert,.pem",id:"tlsCert",name:"tlsCert",label:"Cert",value:e.cert}),(0,S.jsx)(Z.Z,{onChange:function(n,t){return ke("minio",e.id,"key",t,n)},accept:".key,.pem",id:"tlsKey",name:"tlsKey",label:"Key",value:e.key})]}),(0,S.jsxs)(f.ZP,{item:!0,xs:2,className:n.rowActions,children:[(0,S.jsx)("div",{className:n.overlayAction,children:(0,S.jsx)(d.Z,{size:"small",onClick:function(){return Re("minio")},disabled:t!==J.length-1,children:(0,S.jsx)(u.dtP,{})})}),(0,S.jsx)("div",{className:n.overlayAction,children:(0,S.jsx)(d.Z,{size:"small",onClick:function(){return we("minio",e.id)},disabled:J.length<=1,children:(0,S.jsx)(u.HFL,{})})})]})]},e.id)}))}),(0,S.jsx)(f.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,S.jsx)("h5",{children:"MinIO Client Certificates"})}),(0,S.jsx)(f.ZP,{item:!0,xs:12,children:fe.map((function(e){return(0,S.jsx)(y.Z,{certificateInfo:e,onDelete:function(){return Se(e)}})}))}),(0,S.jsx)(f.ZP,{item:!0,xs:12,className:n.formFieldRow,children:te.map((function(e,t){return(0,S.jsxs)(f.ZP,{item:!0,xs:12,className:n.minioCertificateRows,children:[(0,S.jsxs)(f.ZP,{item:!0,xs:10,className:n.fileItem,children:[(0,S.jsx)(Z.Z,{onChange:function(n,t){return ke("client",e.id,"cert",t,n)},accept:".cer,.crt,.cert,.pem",id:"tlsCert",name:"tlsCert",label:"Cert",value:e.cert}),(0,S.jsx)(Z.Z,{onChange:function(n,t){return ke("client",e.id,"key",t,n)},accept:".key,.pem",id:"tlsKey",name:"tlsKey",label:"Key",value:e.key})]}),(0,S.jsxs)(f.ZP,{item:!0,xs:2,className:n.rowActions,children:[(0,S.jsx)("div",{className:n.overlayAction,children:(0,S.jsx)(d.Z,{size:"small",onClick:function(){return Re("client")},disabled:t!==te.length-1,children:(0,S.jsx)(u.dtP,{})})}),(0,S.jsx)("div",{className:n.overlayAction,children:(0,S.jsx)(d.Z,{size:"small",onClick:function(){return we("client",e.id)},disabled:te.length<=1,children:(0,S.jsx)(u.HFL,{})})})]})]},e.id)}))}),(0,S.jsx)(f.ZP,{item:!0,xs:12,children:(0,S.jsx)("h5",{children:"MinIO CA Certificates"})}),(0,S.jsx)(f.ZP,{item:!0,xs:12,children:Ce.map((function(e){return(0,S.jsx)(y.Z,{certificateInfo:e,onDelete:function(){return Se(e)}})}))}),(0,S.jsx)(f.ZP,{item:!0,xs:12,children:ae.map((function(e,t){return(0,S.jsxs)(f.ZP,{item:!0,xs:12,className:n.minioCACertsRow,children:[(0,S.jsx)(f.ZP,{item:!0,xs:10,children:(0,S.jsx)(Z.Z,{onChange:function(n,t){return ke("minioCAs",e.id,"cert",t,n)},accept:".cer,.crt,.cert,.pem",id:"tlsCert",name:"tlsCert",label:"Cert",value:e.cert})}),(0,S.jsx)(f.ZP,{item:!0,xs:2,children:(0,S.jsxs)("div",{className:n.rowActions,children:[(0,S.jsx)("div",{className:n.overlayAction,children:(0,S.jsx)(d.Z,{size:"small",onClick:function(){return Re("minioCAs")},disabled:t!==ae.length-1,children:(0,S.jsx)(u.dtP,{})})}),(0,S.jsx)("div",{className:n.overlayAction,children:(0,S.jsx)(d.Z,{size:"small",onClick:function(){return we("minioCAs",e.id)},disabled:ae.length<=1,children:(0,S.jsx)(u.HFL,{})})})]})})]},e.id)}))})]})]}),(0,S.jsxs)(f.ZP,{item:!0,xs:12,className:n.formFieldRow,children:[(0,S.jsx)("h1",{className:n.sectionTitle,children:"Security Context"}),(0,S.jsx)("hr",{className:n.hrClass})]}),(0,S.jsx)(f.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,S.jsx)(b.Z,{classes:n,runAsGroup:ve,runAsUser:ge,fsGroup:ye,runAsNonRoot:be,fsGroupChangePolicy:Ae,setFSGroup:function(e){return t((0,A.FP)(e))},setRunAsUser:function(e){return t((0,A.wT)(e))},setRunAsGroup:function(e){return t((0,A.Be)(e))},setRunAsNonRoot:function(e){return t((0,A.vM)(e))},setFSGroupChangePolicy:function(e){return t((0,A.rR)(e))}})}),(0,S.jsx)(f.ZP,{item:!0,xs:12,sx:{display:"flex",justifyContent:"flex-end"},children:(0,S.jsx)(u.zxk,{id:"save-security",type:"submit",variant:"callAction",disabled:I||w,onClick:function(){return F(!0)},label:"Save"})})]})]})]})})))},18158:function(e,n,t){var i=t(72791),r=t(21435),s=t(37516),a=t(90673),o=t(61889),c=t(78687),l=t(11135),d=t(25787),u=t(80184);n.Z=(0,d.Z)((function(e){return(0,l.Z)({configSectionItem:{marginRight:15,marginBottom:15,"& .multiContainer":{border:"1px solid red"}}})}))((function(e){var n=e.classes,t=e.runAsGroup,l=e.runAsUser,d=e.fsGroup,m=e.fsGroupChangePolicy,x=e.runAsNonRoot,f=e.setRunAsUser,h=e.setRunAsGroup,p=e.setFSGroup,j=e.setRunAsNonRoot,C=e.setFSGroupChangePolicy,Z=(0,c.I0)();return(0,u.jsx)(i.Fragment,{children:(0,u.jsxs)("fieldset",{className:"".concat(n.fieldGroup," ").concat(n.fieldSpaceTop," "),children:[(0,u.jsx)("legend",{className:n.descriptionText,children:"Security Context"}),(0,u.jsx)(o.ZP,{item:!0,xs:12,children:(0,u.jsxs)("div",{className:"".concat(n.multiContainerStackNarrow," "),children:[(0,u.jsx)("div",{className:n.configSectionItem,children:(0,u.jsx)(r.Z,{type:"number",id:"securityContext_runAsUser",name:"securityContext_runAsUser",onChange:function(e){Z(f(e.target.value))},label:"Run As User",value:l,required:!0,min:"0"})}),(0,u.jsx)("div",{className:n.configSectionItem,children:(0,u.jsx)(r.Z,{type:"number",id:"securityContext_runAsGroup",name:"securityContext_runAsGroup",onChange:function(e){Z(h(e.target.value))},label:"Run As Group",value:t,required:!0,min:"0"})})]})}),(0,u.jsx)(o.ZP,{item:!0,xs:12,children:(0,u.jsxs)("div",{className:"".concat(n.multiContainerStackNarrow," "),children:[(0,u.jsx)("div",{className:n.configSectionItem,children:(0,u.jsx)(r.Z,{type:"number",id:"securityContext_fsGroup",name:"securityContext_fsGroup",onChange:function(e){Z(p(e.target.value))},label:"FsGroup",value:d,required:!0,min:"0"})}),(0,u.jsx)("div",{className:n.configSectionItem,children:(0,u.jsx)(a.Z,{label:"FsGroupChangePolicy",id:"securityContext_fsGroupChangePolicy",name:"securityContext_fsGroupChangePolicy",onChange:function(e){Z(C(e.target.value))},value:m,options:[{label:"Always",value:"Always"},{label:"OnRootMismatch",value:"OnRootMismatch"}]})})]})}),(0,u.jsx)(o.ZP,{item:!0,xs:12,children:(0,u.jsx)("div",{className:n.multiContainer,children:(0,u.jsx)(s.Z,{value:"SecurityContextRunAsNonRoot",id:"securityContext_runAsNonRoot",name:"securityContext_runAsNonRoot",checked:x,onChange:function(){Z(j(!x))},label:"Do not run as Root"})})})]})})}))},22512:function(e,n,t){var i=t(72791),r=t(20890),s=t(11135),a=t(25787),o=t(80184);n.Z=(0,a.Z)((function(e){var n;return(0,s.Z)({errorBlock:{color:(null===(n=e.palette)||void 0===n?void 0:n.error.main)||"#C83B51"}})}))((function(e){var n=e.classes,t=e.errorMessage,s=e.withBreak,a=void 0===s||s;return(0,o.jsxs)(i.Fragment,{children:[a&&(0,o.jsx)("br",{}),(0,o.jsx)(r.Z,{component:"p",variant:"body1",className:n.errorBlock,children:t})]})}))}}]); +//# sourceMappingURL=2684.73fcefda.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2684.73fcefda.chunk.js.map b/portal-ui/build/static/js/2684.73fcefda.chunk.js.map new file mode 100644 index 000000000..a1715bb3c --- /dev/null +++ b/portal-ui/build/static/js/2684.73fcefda.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2684.73fcefda.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/FileSelector/FileSelector.tsx","screens/Console/Common/FormComponents/FileSelector/utils.ts","screens/Console/Common/TLSCertificate/TLSCertificate.tsx","screens/Console/Tenants/HelpBox/TLSHelpBox.tsx","screens/Console/Tenants/TenantDetails/TenantSecurity.tsx","screens/Console/Tenants/securityContextSelector.tsx","screens/shared/ErrorBlock.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, { 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) 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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { ICertificateInfo } from \"../../Tenants/types\";\nimport LanguageIcon from \"@mui/icons-material/Language\";\nimport Chip from \"@mui/material/Chip\";\nimport {\n Box,\n Container,\n Divider,\n Grid,\n List,\n ListItem,\n ListItemAvatar,\n ListItemText,\n Typography,\n} from \"@mui/material\";\nimport EventBusyIcon from \"@mui/icons-material/EventBusy\";\nimport { CertificateIcon } from \"mds\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n certificateIcon: {\n float: \"left\",\n paddingTop: \"5px !important\",\n paddingRight: \"10px !important\",\n },\n certificateInfo: { float: \"right\" },\n certificateWrapper: {\n height: \"auto\",\n margin: 5,\n border: \"1px solid #E2E2E2\",\n userSelect: \"text\",\n borderRadius: 4,\n \"& h6\": {\n fontWeight: \"bold\",\n },\n \"& div\": {\n padding: 0,\n },\n },\n certificateExpiry: {\n color: \"#616161\",\n display: \"flex\",\n alignItems: \"center\",\n flexWrap: \"wrap\",\n marginBottom: 5,\n \"& .label\": {\n fontWeight: \"bold\",\n },\n },\n certificateDomains: {\n color: \"#616161\",\n \"& .label\": {\n fontWeight: \"bold\",\n },\n },\n certificatesList: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 4,\n color: \"#616161\",\n textTransform: \"lowercase\",\n overflowY: \"scroll\",\n maxHeight: 145,\n marginBottom: 10,\n },\n certificatesListItem: {\n padding: \"0px 16px\",\n borderBottom: \"1px solid #E2E2E2\",\n \"& div\": {\n minWidth: 0,\n },\n \"& svg\": {\n fontSize: 12,\n marginRight: 10,\n opacity: 0.5,\n },\n \"& span\": {\n fontSize: 12,\n },\n },\n });\n\ninterface ITLSCertificate {\n classes: any;\n certificateInfo: ICertificateInfo;\n onDelete: any;\n}\n\nconst TLSCertificate = ({\n classes,\n certificateInfo,\n onDelete = () => {},\n}: ITLSCertificate) => {\n const certificates = certificateInfo.domains || [];\n\n const expiry = DateTime.fromISO(certificateInfo.expiry);\n\n return (\n \n \n \n \n \n \n {certificateInfo.name}\n \n \n \n  \n Expiry: \n {expiry.toFormat(\"yyyy/MM/dd\")}\n \n \n
\n \n {`${certificates.length} Domain (s):`}\n \n \n {certificates.map((dom, index) => (\n \n \n \n \n \n \n ))}\n \n
\n \n }\n onDelete={onDelete}\n />\n );\n};\n\nexport default withStyles(styles)(TLSCertificate);\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 { useSelector } from \"react-redux\";\nimport { Box } from \"@mui/material\";\nimport { CertificateIcon } from \"mds\";\nimport { useParams } from \"react-router-dom\";\nimport { AppState } from \"../../../../store\";\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 TLSHelpBox = () => {\n const params = useParams();\n const tenantNameParam = params.tenantName || \"\";\n const tenantNamespaceParam = params.tenantNamespace || \"\";\n const namespace = useSelector((state: AppState) => {\n var defaultNamespace = \"\";\n if (tenantNamespaceParam !== \"\") {\n return tenantNamespaceParam;\n }\n if (state.createTenant.fields.nameTenant.namespace !== \"\") {\n return state.createTenant.fields.nameTenant.namespace;\n }\n return defaultNamespace;\n });\n\n const tenantName = useSelector((state: AppState) => {\n var defaultTenantName = \"\";\n if (tenantNameParam !== \"\") {\n return tenantNameParam;\n }\n\n if (state.createTenant.fields.nameTenant.tenantName !== \"\") {\n return state.createTenant.fields.nameTenant.tenantName;\n }\n return defaultTenantName;\n });\n\n return (\n \n \n }\n description={`TLS Certificates Warning`}\n />\n \n Automatic certificate generation is not enabled.\n
\n
\n If you wish to continue only with custom certificates make sure\n they are valid for the following internode hostnames, i.e.:\n
\n
\n \n minio.{namespace}\n
\n minio.{namespace}.svc\n
\n minio.{namespace}.svc.<cluster domain>\n
\n *.{tenantName}-hl.{namespace}.svc.<cluster domain>\n
\n *.{namespace}.svc.<cluster domain>\n \n
\n Replace <tenant-name>,{\" \"}\n <namespace> and\n <cluster domain> with the actual values for your\n MinIO tenant.\n
\n
\n You can learn more at our{\" \"}\n \n documentation\n \n .\n
\n \n \n );\n};\n\nexport default TLSHelpBox;\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 { connect, useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport { DialogContentText, IconButton } from \"@mui/material\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n fsGroupChangePolicyType,\n ICertificateInfo,\n ITenantSecurityResponse,\n} from \"../types\";\nimport {\n containerForHeader,\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n spacingUtils,\n tenantDetailsStyles,\n wizardCommon,\n} from \"../../Common/FormComponents/common/styleLibrary\";\n\nimport { KeyPair } from \"../ListTenants/utils\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport { AddIcon, ConfirmModalIcon } from \"mds\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport FileSelector from \"../../Common/FormComponents/FileSelector/FileSelector\";\nimport api from \"../../../../common/api\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { Loader } from \"mds\";\nimport TLSCertificate from \"../../Common/TLSCertificate/TLSCertificate\";\nimport SecurityContextSelector from \"../securityContextSelector\";\nimport {\n setRunAsUser,\n setFSGroup,\n setRunAsGroup,\n setRunAsNonRoot,\n setFSGroupChangePolicy,\n} from \"../tenantSecurityContextSlice\";\nimport TLSHelpBox from \"../HelpBox/TLSHelpBox\";\nimport { RemoveIcon } from \"mds\";\n\ninterface ITenantSecurity {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n ...spacingUtils,\n minioCertificateRows: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n borderBottom: \"1px solid #EAEAEA\",\n \"&:last-child\": {\n borderBottom: 0,\n },\n \"@media (max-width: 900px)\": {\n flex: 1,\n },\n },\n minioCertsContainer: {\n marginBottom: 15,\n },\n minioCACertsRow: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n\n borderBottom: \"1px solid #EAEAEA\",\n \"&:last-child\": {\n borderBottom: 0,\n },\n \"@media (max-width: 900px)\": {\n flex: 1,\n\n \"& div label\": {\n minWidth: 50,\n },\n },\n },\n rowActions: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n \"@media (max-width: 900px)\": {\n flex: 1,\n },\n },\n overlayAction: {\n marginLeft: 10,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n loaderAlign: {\n textAlign: \"center\",\n },\n bold: { fontWeight: \"bold\" },\n italic: { fontStyle: \"italic\" },\n fileItem: {\n marginRight: 10,\n display: \"flex\",\n \"& div label\": {\n minWidth: 50,\n },\n\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n ...containerForHeader(theme.spacing(4)),\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst TenantSecurity = ({ classes }: ITenantSecurity) => {\n const dispatch = useAppDispatch();\n\n const tenant = useSelector((state: AppState) => state.tenants.tenantInfo);\n const loadingTenant = useSelector(\n (state: AppState) => state.tenants.loadingTenant\n );\n\n const [isSending, setIsSending] = useState(false);\n const [dialogOpen, setDialogOpen] = useState(false);\n const [enableTLS, setEnableTLS] = useState(false);\n const [enableAutoCert, setEnableAutoCert] = useState(false);\n const [enableCustomCerts, setEnableCustomCerts] = useState(false);\n const [certificatesToBeRemoved, setCertificatesToBeRemoved] = useState<\n string[]\n >([]);\n // MinIO certificates\n const [minioServerCertificates, setMinioServerCertificates] = useState<\n KeyPair[]\n >([\n {\n id: Date.now().toString(),\n key: \"\",\n cert: \"\",\n encoded_key: \"\",\n encoded_cert: \"\",\n },\n ]);\n const [minioClientCertificates, setMinioClientCertificates] = useState<\n KeyPair[]\n >([\n {\n id: Date.now().toString(),\n key: \"\",\n cert: \"\",\n encoded_key: \"\",\n encoded_cert: \"\",\n },\n ]);\n const [minioCaCertificates, setMinioCaCertificates] = useState([\n {\n id: Date.now().toString(),\n key: \"\",\n cert: \"\",\n encoded_key: \"\",\n encoded_cert: \"\",\n },\n ]);\n const [minioServerCertificateSecrets, setMinioServerCertificateSecrets] =\n useState([]);\n const [minioClientCertificateSecrets, setMinioClientCertificateSecrets] =\n useState([]);\n const [minioTLSCaCertificateSecrets, setMinioTLSCaCertificateSecrets] =\n useState([]);\n\n const runAsGroup = useSelector(\n (state: AppState) => state.editTenantSecurityContext.runAsGroup\n );\n const runAsUser = useSelector(\n (state: AppState) => state.editTenantSecurityContext.runAsUser\n );\n const fsGroup = useSelector(\n (state: AppState) => state.editTenantSecurityContext.fsGroup\n );\n const runAsNonRoot = useSelector(\n (state: AppState) => state.editTenantSecurityContext.runAsNonRoot\n );\n const fsGroupChangePolicy = useSelector(\n (state: AppState) => state.editTenantSecurityContext.fsGroupChangePolicy\n );\n\n const getTenantSecurityInfo = useCallback(() => {\n api\n .invoke(\n \"GET\",\n `/api/v1/namespaces/${tenant?.namespace}/tenants/${tenant?.name}/security`\n )\n .then((res: ITenantSecurityResponse) => {\n setEnableAutoCert(res.autoCert);\n setEnableTLS(res.autoCert);\n if (\n res.customCertificates.minio ||\n res.customCertificates.client ||\n res.customCertificates.minioCAs\n ) {\n setEnableCustomCerts(true);\n setEnableTLS(true);\n }\n setMinioServerCertificateSecrets(res.customCertificates.minio || []);\n setMinioClientCertificateSecrets(res.customCertificates.client || []);\n setMinioTLSCaCertificateSecrets(res.customCertificates.minioCAs || []);\n dispatch(setRunAsGroup(res.securityContext.runAsGroup));\n dispatch(setRunAsUser(res.securityContext.runAsUser));\n dispatch(setFSGroup(res.securityContext.fsGroup));\n dispatch(setRunAsNonRoot(res.securityContext.runAsNonRoot));\n dispatch(\n setFSGroupChangePolicy(res.securityContext.fsGroupChangePolicy)\n );\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n });\n }, [tenant, dispatch]);\n\n useEffect(() => {\n if (tenant) {\n getTenantSecurityInfo();\n }\n }, [tenant, getTenantSecurityInfo]);\n\n const updateTenantSecurity = () => {\n setIsSending(true);\n let payload = {\n autoCert: enableAutoCert,\n customCertificates: {},\n securityContext: {\n runAsGroup: runAsGroup,\n runAsUser: runAsUser,\n runAsNonRoot: runAsNonRoot,\n fsGroup: fsGroup,\n fsGroupChangePolicy: fsGroupChangePolicy,\n },\n };\n if (enableCustomCerts) {\n payload[\"customCertificates\"] = {\n secretsToBeDeleted: certificatesToBeRemoved,\n minioServerCertificates: minioServerCertificates\n .map((keyPair: KeyPair) => ({\n crt: keyPair.encoded_cert,\n key: keyPair.encoded_key,\n }))\n .filter((cert: any) => cert.crt && cert.key),\n minioClientCertificates: minioClientCertificates\n .map((keyPair: KeyPair) => ({\n crt: keyPair.encoded_cert,\n key: keyPair.encoded_key,\n }))\n .filter((cert: any) => cert.crt && cert.key),\n minioCAsCertificates: minioCaCertificates\n .map((keyPair: KeyPair) => keyPair.encoded_cert)\n .filter((cert: any) => cert),\n };\n } else {\n payload[\"customCertificates\"] = {\n secretsToBeDeleted: [\n ...minioServerCertificateSecrets.map((cert) => cert.name),\n ...minioClientCertificateSecrets.map((cert) => cert.name),\n ...minioTLSCaCertificateSecrets.map((cert) => cert.name),\n ],\n minioServerCertificates: [],\n minioClientCertificates: [],\n minioCAsCertificates: [],\n };\n }\n api\n .invoke(\n \"POST\",\n `/api/v1/namespaces/${tenant?.namespace}/tenants/${tenant?.name}/security`,\n payload\n )\n .then(() => {\n setIsSending(false);\n // Close confirmation modal\n setDialogOpen(false);\n // Refresh Information and reset forms\n setMinioServerCertificates([\n {\n cert: \"\",\n encoded_cert: \"\",\n encoded_key: \"\",\n id: Date.now().toString(),\n key: \"\",\n },\n ]);\n setMinioClientCertificates([\n {\n cert: \"\",\n encoded_cert: \"\",\n encoded_key: \"\",\n id: Date.now().toString(),\n key: \"\",\n },\n ]);\n setMinioCaCertificates([\n {\n cert: \"\",\n encoded_cert: \"\",\n encoded_key: \"\",\n id: Date.now().toString(),\n key: \"\",\n },\n ]);\n getTenantSecurityInfo();\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setIsSending(false);\n });\n };\n\n const removeCertificate = (certificateInfo: ICertificateInfo) => {\n // TLS certificate secrets can be referenced MinIO, Console or KES, we need to remove the secret from all list and update\n // the arrays\n // Add certificate to the global list of secrets to be removed\n setCertificatesToBeRemoved([\n ...certificatesToBeRemoved,\n certificateInfo.name,\n ]);\n\n // Update MinIO server TLS certificate secrets\n const updatedMinioServerCertificateSecrets =\n minioServerCertificateSecrets.filter(\n (certificateSecret) => certificateSecret.name !== certificateInfo.name\n );\n // Update MinIO client TLS certificate secrets\n const updatedMinioClientCertificateSecrets =\n minioClientCertificateSecrets.filter(\n (certificateSecret) => certificateSecret.name !== certificateInfo.name\n );\n const updatedMinIOTLSCaCertificateSecrets =\n minioTLSCaCertificateSecrets.filter(\n (certificateSecret) => certificateSecret.name !== certificateInfo.name\n );\n setMinioServerCertificateSecrets(updatedMinioServerCertificateSecrets);\n setMinioClientCertificateSecrets(updatedMinioClientCertificateSecrets);\n setMinioTLSCaCertificateSecrets(updatedMinIOTLSCaCertificateSecrets);\n };\n\n const addFileToKeyPair = (\n type: string,\n id: string,\n key: string,\n fileName: string,\n value: string\n ) => {\n let certificates = minioServerCertificates;\n let updateCertificates: any = () => {};\n\n switch (type) {\n case \"minio\": {\n certificates = minioServerCertificates;\n updateCertificates = setMinioServerCertificates;\n break;\n }\n case \"client\": {\n certificates = minioClientCertificates;\n updateCertificates = setMinioClientCertificates;\n break;\n }\n case \"minioCAs\": {\n certificates = minioCaCertificates;\n updateCertificates = setMinioCaCertificates;\n break;\n }\n default:\n }\n\n const NCertList = certificates.map((item: KeyPair) => {\n if (item.id === id) {\n return {\n ...item,\n [key]: fileName,\n [`encoded_${key}`]: value,\n };\n }\n return item;\n });\n updateCertificates(NCertList);\n };\n\n const deleteKeyPair = (type: string, id: string) => {\n let certificates = minioServerCertificates;\n let updateCertificates: any = () => {};\n\n switch (type) {\n case \"minio\": {\n certificates = minioServerCertificates;\n updateCertificates = setMinioServerCertificates;\n break;\n }\n case \"client\": {\n certificates = minioClientCertificates;\n updateCertificates = setMinioClientCertificates;\n break;\n }\n case \"minioCAs\": {\n certificates = minioCaCertificates;\n updateCertificates = setMinioCaCertificates;\n break;\n }\n default:\n }\n\n if (certificates.length > 1) {\n const cleanCertsList = certificates.filter(\n (item: KeyPair) => item.id !== id\n );\n updateCertificates(cleanCertsList);\n }\n };\n\n const addKeyPair = (type: string) => {\n let certificates = minioServerCertificates;\n let updateCertificates: any = () => {};\n\n switch (type) {\n case \"minio\": {\n certificates = minioServerCertificates;\n updateCertificates = setMinioServerCertificates;\n break;\n }\n case \"client\": {\n certificates = minioClientCertificates;\n updateCertificates = setMinioClientCertificates;\n break;\n }\n case \"minioCAs\": {\n certificates = minioCaCertificates;\n updateCertificates = setMinioCaCertificates;\n break;\n }\n default:\n }\n const updatedCertificates = [\n ...certificates,\n {\n id: Date.now().toString(),\n key: \"\",\n cert: \"\",\n encoded_key: \"\",\n encoded_cert: \"\",\n },\n ];\n updateCertificates(updatedCertificates);\n };\n\n return (\n \n }\n isLoading={isSending}\n onClose={() => setDialogOpen(false)}\n isOpen={dialogOpen}\n onConfirm={updateTenantSecurity}\n confirmationContent={\n \n Are you sure you want to save the changes and restart the service?\n \n }\n />\n {loadingTenant ? (\n
\n \n
\n ) : (\n \n \n

Security

\n
\n
\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n setEnableTLS(checked);\n }}\n label={\"TLS\"}\n description={\n \"Securing all the traffic using TLS. This is required for Encryption Configuration\"\n }\n />\n \n {enableTLS && (\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n setEnableAutoCert(checked);\n }}\n label={\"AutoCert\"}\n description={\n \"The internode certificates will be generated and managed by MinIO Operator\"\n }\n />\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n setEnableCustomCerts(checked);\n }}\n label={\"Custom Certificates\"}\n description={\"Certificates used to terminated TLS at MinIO\"}\n />\n \n\n {enableCustomCerts && (\n \n {!enableAutoCert && (\n \n \n \n )}\n \n
MinIO Server Certificates
\n
\n \n {minioServerCertificateSecrets.map(\n (certificateInfo: ICertificateInfo) => (\n removeCertificate(certificateInfo)}\n />\n )\n )}\n \n \n {minioServerCertificates.map((keyPair, index) => (\n \n \n \n addFileToKeyPair(\n \"minio\",\n keyPair.id,\n \"cert\",\n fileName,\n encodedValue\n )\n }\n accept=\".cer,.crt,.cert,.pem\"\n id=\"tlsCert\"\n name=\"tlsCert\"\n label=\"Cert\"\n value={keyPair.cert}\n />\n \n addFileToKeyPair(\n \"minio\",\n keyPair.id,\n \"key\",\n fileName,\n encodedValue\n )\n }\n accept=\".key,.pem\"\n id=\"tlsKey\"\n name=\"tlsKey\"\n label=\"Key\"\n value={keyPair.key}\n />\n \n \n
\n addKeyPair(\"minio\")}\n disabled={\n index !== minioServerCertificates.length - 1\n }\n >\n \n \n
\n
\n \n deleteKeyPair(\"minio\", keyPair.id)\n }\n disabled={minioServerCertificates.length <= 1}\n >\n \n \n
\n
\n
\n ))}\n
\n\n \n
MinIO Client Certificates
\n
\n \n {minioClientCertificateSecrets.map(\n (certificateInfo: ICertificateInfo) => (\n removeCertificate(certificateInfo)}\n />\n )\n )}\n \n \n {minioClientCertificates.map((keyPair, index) => (\n \n \n \n addFileToKeyPair(\n \"client\",\n keyPair.id,\n \"cert\",\n fileName,\n encodedValue\n )\n }\n accept=\".cer,.crt,.cert,.pem\"\n id=\"tlsCert\"\n name=\"tlsCert\"\n label=\"Cert\"\n value={keyPair.cert}\n />\n \n addFileToKeyPair(\n \"client\",\n keyPair.id,\n \"key\",\n fileName,\n encodedValue\n )\n }\n accept=\".key,.pem\"\n id=\"tlsKey\"\n name=\"tlsKey\"\n label=\"Key\"\n value={keyPair.key}\n />\n \n \n
\n addKeyPair(\"client\")}\n disabled={\n index !== minioClientCertificates.length - 1\n }\n >\n \n \n
\n
\n \n deleteKeyPair(\"client\", keyPair.id)\n }\n disabled={minioClientCertificates.length <= 1}\n >\n \n \n
\n
\n
\n ))}\n
\n\n \n
MinIO CA Certificates
\n
\n \n {minioTLSCaCertificateSecrets.map(\n (certificateInfo: ICertificateInfo) => (\n removeCertificate(certificateInfo)}\n />\n )\n )}\n \n \n {minioCaCertificates.map((keyPair: KeyPair, index) => (\n \n \n \n addFileToKeyPair(\n \"minioCAs\",\n keyPair.id,\n \"cert\",\n fileName,\n encodedValue\n )\n }\n accept=\".cer,.crt,.cert,.pem\"\n id=\"tlsCert\"\n name=\"tlsCert\"\n label=\"Cert\"\n value={keyPair.cert}\n />\n \n \n
\n
\n addKeyPair(\"minioCAs\")}\n disabled={\n index !== minioCaCertificates.length - 1\n }\n >\n \n \n
\n
\n \n deleteKeyPair(\"minioCAs\", keyPair.id)\n }\n disabled={minioCaCertificates.length <= 1}\n >\n \n \n
\n
\n
\n
\n ))}\n \n \n )}\n \n )}\n \n

Security Context

\n
\n
\n \n dispatch(setFSGroup(value))}\n setRunAsUser={(value: string) => dispatch(setRunAsUser(value))}\n setRunAsGroup={(value: string) =>\n dispatch(setRunAsGroup(value))\n }\n setRunAsNonRoot={(value: boolean) =>\n dispatch(setRunAsNonRoot(value))\n }\n setFSGroupChangePolicy={(value: fsGroupChangePolicyType) =>\n dispatch(setFSGroupChangePolicy(value))\n }\n />\n \n \n setDialogOpen(true)}\n label={\"Save\"}\n />\n \n \n \n )}\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n loadingTenant: state.tenants.loadingTenant,\n selectedTenant: state.tenants.currentTenant,\n tenant: state.tenants.tenantInfo,\n});\n\nconst connector = connect(mapState, null);\n\nexport default withStyles(styles)(connector(TenantSecurity));\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 InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport SelectWrapper from \"../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { Grid, SelectChangeEvent } from \"@mui/material\";\nimport { useDispatch } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fsGroupChangePolicyType } from \"./types\";\n\ninterface IEditSecurityContextProps {\n classes: any;\n runAsUser: string;\n runAsGroup: string;\n fsGroup: string;\n fsGroupChangePolicy: fsGroupChangePolicyType;\n runAsNonRoot: boolean;\n setRunAsUser: any;\n setRunAsGroup: any;\n setFSGroup: any;\n setRunAsNonRoot: any;\n setFSGroupChangePolicy: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n configSectionItem: {\n marginRight: 15,\n marginBottom: 15,\n \"& .multiContainer\": {\n border: \"1px solid red\",\n },\n },\n });\n\nconst SecurityContextSelector = ({\n classes,\n runAsGroup,\n runAsUser,\n fsGroup,\n fsGroupChangePolicy,\n runAsNonRoot,\n setRunAsUser,\n setRunAsGroup,\n setFSGroup,\n setRunAsNonRoot,\n setFSGroupChangePolicy,\n}: IEditSecurityContextProps) => {\n const dispatch = useDispatch();\n return (\n \n
\n Security Context\n\n \n
\n
\n ) => {\n dispatch(setRunAsUser(e.target.value));\n }}\n label=\"Run As User\"\n value={runAsUser}\n required\n min=\"0\"\n />\n
\n
\n ) => {\n dispatch(setRunAsGroup(e.target.value));\n }}\n label=\"Run As Group\"\n value={runAsGroup}\n required\n min=\"0\"\n />\n
\n
\n
\n \n
\n
\n ) => {\n dispatch(setFSGroup(e.target.value));\n }}\n label=\"FsGroup\"\n value={fsGroup}\n required\n min=\"0\"\n />\n
\n\n
\n ) => {\n dispatch(setFSGroupChangePolicy(e.target.value));\n }}\n value={fsGroupChangePolicy}\n options={[\n {\n label: \"Always\",\n value: \"Always\",\n },\n {\n label: \"OnRootMismatch\",\n value: \"OnRootMismatch\",\n },\n ]}\n />\n
\n
\n
\n \n
\n {\n dispatch(setRunAsNonRoot(!runAsNonRoot));\n }}\n label={\"Do not run as Root\"}\n />\n
\n
\n
\n
\n );\n};\n\nexport default withStyles(styles)(SecurityContextSelector);\n","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"],"names":["withStyles","theme","createStyles","fieldBasic","tooltipHelper","valueString","maxWidth","whiteSpace","overflow","textOverflow","marginTop","fileInputField","margin","flexFlow","fileInputStyles","inputLabel","fontWeight","textBoxContainer","border","paddingLeft","label","classes","onChange","id","name","disabled","tooltip","required","error","accept","value","useState","showFileSelector","setShowSelector","Grid","item","xs","className","fieldBottom","fieldContainer","errorInField","InputLabel","htmlFor","fieldLabelError","tooltipContainer","Tooltip","title","placement","type","e","fileName","get","evt","callback","file","target","files","reader","FileReader","readAsDataURL","onload","fileBase64","result","fileArray","toString","split","length","fileProcess","data","IconButton","color","component","onClick","disableRipple","disableFocusRipple","size","Cancel","ErrorBlock","errorMessage","fileReselect","AttachFile","certificateIcon","float","paddingTop","paddingRight","certificateInfo","certificateWrapper","height","userSelect","borderRadius","padding","certificateExpiry","display","alignItems","flexWrap","marginBottom","certificateDomains","certificatesList","textTransform","overflowY","maxHeight","certificatesListItem","borderBottom","minWidth","fontSize","marginRight","opacity","onDelete","certificates","domains","expiry","DateTime","variant","gutterBottom","toFormat","map","dom","index","primary","FeatureItem","icon","description","sx","width","style","fontStyle","params","useParams","tenantNameParam","tenantName","tenantNamespaceParam","tenantNamespace","namespace","useSelector","state","createTenant","fields","nameTenant","flex","href","rel","connector","connect","loadingTenant","tenants","selectedTenant","currentTenant","tenant","tenantInfo","tenantDetailsStyles","spacingUtils","minioCertificateRows","justifyContent","minioCertsContainer","minioCACertsRow","rowActions","overlayAction","marginLeft","background","loaderAlign","textAlign","bold","italic","fileItem","containerForHeader","spacing","createTenantCommon","formFieldStyles","modalBasic","wizardCommon","dispatch","useAppDispatch","isSending","setIsSending","dialogOpen","setDialogOpen","enableTLS","setEnableTLS","enableAutoCert","setEnableAutoCert","enableCustomCerts","setEnableCustomCerts","certificatesToBeRemoved","setCertificatesToBeRemoved","Date","now","key","cert","encoded_key","encoded_cert","minioServerCertificates","setMinioServerCertificates","minioClientCertificates","setMinioClientCertificates","minioCaCertificates","setMinioCaCertificates","minioServerCertificateSecrets","setMinioServerCertificateSecrets","minioClientCertificateSecrets","setMinioClientCertificateSecrets","minioTLSCaCertificateSecrets","setMinioTLSCaCertificateSecrets","runAsGroup","editTenantSecurityContext","runAsUser","fsGroup","runAsNonRoot","fsGroupChangePolicy","getTenantSecurityInfo","useCallback","api","then","res","autoCert","customCertificates","minio","client","minioCAs","setRunAsGroup","securityContext","setRunAsUser","setFSGroup","setRunAsNonRoot","setFSGroupChangePolicy","catch","err","setErrorSnackMessage","useEffect","removeCertificate","updatedMinioServerCertificateSecrets","filter","certificateSecret","updatedMinioClientCertificateSecrets","updatedMinIOTLSCaCertificateSecrets","addFileToKeyPair","updateCertificates","deleteKeyPair","addKeyPair","confirmText","cancelText","titleIcon","isLoading","onClose","isOpen","onConfirm","payload","secretsToBeDeleted","keyPair","crt","minioCAsCertificates","confirmationContent","container","sectionTitle","hrClass","checked","Fragment","formFieldRow","encodedValue","configSectionItem","useDispatch","fieldGroup","fieldSpaceTop","descriptionText","multiContainerStackNarrow","min","options","multiContainer","errorBlock","palette","main","withBreak"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2763.0e8b50c7.chunk.js b/portal-ui/build/static/js/2763.0e8b50c7.chunk.js deleted file mode 100644 index 9c25b3562..000000000 --- a/portal-ui/build/static/js/2763.0e8b50c7.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2763],{13438:function(e,n,t){t.d(n,{Z:function(){return k}});var i=t(29439),s=t(1413),r=t(72791),a=t(64554),o=t(75952),l=t(56096),c=t(79786),x=t(21435),d=t(11135),u=t(25787),p=t(3579),f=t(20165),m=t(30403),h=t(23814),g=t(23508),j=t(9505),Z=t(25469),b=t(87995),y=t(80184),v=(0,u.Z)((function(e){return(0,d.Z)((0,s.Z)((0,s.Z)({pageTitle:{fontSize:18,marginBottom:20,textAlign:"center"},pageSubTitle:{textAlign:"center"},sizedLabel:{minWidth:"75px"}},(0,h.Bz)(e.spacing(4))),h.bK))}))((function(e){var n=e.open,t=e.closeModal,s=e.classes,o=e.onSet,c=(0,Z.TL)(),d=(0,r.useState)(""),u=(0,i.Z)(d,2),h=u[0],v=u[1],w=(0,r.useState)(""),S=(0,i.Z)(w,2),k=S[0],C=S[1],T=(0,r.useState)(!1),I=(0,i.Z)(T,2),z=I[0],B=I[1],P=(0,r.useState)(""),L=(0,i.Z)(P,2),N=L[0],F=L[1],A=(0,r.useState)(""),E=(0,i.Z)(A,2),R=E[0],M=E[1],_=(0,j.Z)((function(e){e.mfa_token?F(e.mfa_token):e.access_token?K("GET","/api/v1/subnet/apikey?token=".concat(e.access_token)):(o(e.apiKey),t())}),(function(e){c((0,b.Ih)(e)),t(),v(""),C(""),B(!1),F(""),M("")})),W=(0,i.Z)(_,2),O=W[0],K=W[1],U=function(){return(0,y.jsxs)(a.Z,{sx:{width:500},children:[(0,y.jsx)(x.Z,{className:s.spacerBottom,classes:{inputLabel:s.sizedLabel},id:"subnet-email",name:"subnet-email",onChange:function(e){return v(e.target.value)},label:"Email",value:h,overlayIcon:(0,y.jsx)(l.oyc,{})}),(0,y.jsx)(x.Z,{className:s.spacerBottom,classes:{inputLabel:s.sizedLabel},id:"subnet-password",name:"subnet-password",onChange:function(e){return C(e.target.value)},label:"Password",type:z?"text":"password",value:k,overlayIcon:z?(0,y.jsx)(f.Z,{}):(0,y.jsx)(p.Z,{}),overlayAction:function(){return B(!z)}})]})},H=function(){return(0,y.jsx)(a.Z,{sx:{display:"flex"},children:(0,y.jsxs)(a.Z,{sx:{display:"flex",flexFlow:"column",flex:"2"},children:[(0,y.jsx)(a.Z,{sx:{fontSize:"16px",display:"flex",flexFlow:"column",marginTop:"30px",marginBottom:"30px"},children:"Two-Factor Authentication"}),(0,y.jsx)(a.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,y.jsx)(a.Z,{sx:{flex:"1",marginTop:"30px"},children:(0,y.jsx)(x.Z,{overlayIcon:(0,y.jsx)(m.Z,{}),id:"subnet-otp",name:"subnet-otp",onChange:function(e){return M(e.target.value)},placeholder:"",label:"",value:R})}),(0,y.jsx)(a.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"}})]})})};return n?(0,y.jsx)(g.Z,{title:"Get API Key from SUBNET",confirmText:"Get API Key",isOpen:n,titleIcon:(0,y.jsx)(l.szr,{}),isLoading:O,cancelText:"Cancel",onConfirm:function(){""!==N?K("POST","/api/v1/subnet/login/mfa",{username:h,otp:R,mfa_token:N}):K("POST","/api/v1/subnet/login",{username:h,password:k})},onClose:t,confirmButtonProps:{variant:"callAction",disabled:!h||!k||O,hidden:!0},cancelButtonProps:{disabled:O},confirmationContent:""===N?U():H()}):null})),w=t(65810),S=t(81207),k=(0,u.Z)((function(e){return(0,d.Z)((0,s.Z)({sizedLabel:{minWidth:"75px"}},h.bK))}))((function(e){var n=e.classes,t=e.registerEndpoint,s=e.afterRegister,d=(0,r.useState)(!1),u=(0,i.Z)(d,2),p=u[0],f=u[1],m=(0,r.useState)(""),h=(0,i.Z)(m,2),g=h[0],j=h[1],k=(0,r.useState)(!1),C=(0,i.Z)(k,2),T=C[0],I=C[1],z=(0,r.useState)(!1),B=(0,i.Z)(z,2),P=B[0],L=B[1],N=(0,Z.TL)(),F=(0,r.useCallback)((function(){if(!T){I(!0);var e={apiKey:g};S.Z.invoke("POST",t,e).then((function(e){I(!1),e&&e.registered&&(A(),s())})).catch((function(e){N((0,b.Ih)(e)),I(!1),A()}))}}),[s,g,N,T,t]);(0,r.useEffect)((function(){P&&F()}),[P,F]);var A=function(){j(""),L(!1)};return(0,y.jsxs)(r.Fragment,{children:[(0,y.jsx)(a.Z,{sx:{"& .title-text":{marginLeft:"27px",fontWeight:600}},children:(0,y.jsx)(c.vw,{icon:(0,y.jsx)(l.dRy,{}),title:"Register cluster with API key"})}),(0,y.jsxs)(a.Z,{sx:{display:"flex",flexFlow:{xs:"column",md:"row"}},children:[(0,y.jsxs)(a.Z,{sx:{display:"flex",flexFlow:"column",flex:"2"},children:[(0,y.jsx)(a.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,y.jsxs)(a.Z,{sx:{flex:"1"},children:[(0,y.jsx)(x.Z,{className:n.spacerBottom,classes:{inputLabel:n.sizedLabel},id:"api-key",name:"api-key",onChange:function(e){return j(e.target.value)},label:"API Key",value:g}),(0,y.jsxs)(a.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end","& button":{marginLeft:"8px"}},children:[(0,y.jsx)(o.zx,{id:"get-from-subnet",variant:"regular",className:n.spacerRight,disabled:T,onClick:function(){return f(!0)},label:"Get from SUBNET"}),(0,y.jsx)(o.zx,{id:"register",type:"submit",variant:"callAction",disabled:T||0===g.trim().length,onClick:function(){return F()},label:"Register"}),(0,y.jsx)(v,{open:p,closeModal:function(){return f(!1)},onSet:function(e){j(e),L(!0)}})]})]})]}),(0,y.jsx)(w.Z,{})]})]})}))},65810:function(e,n,t){t(72791);var i=t(64554),s=t(50533),r=t(56096),a=t(80184),o=function(e){var n=e.icon,t=e.description;return(0,a.jsxs)(i.Z,{sx:{display:"flex","& .min-icon":{marginRight:"10px",height:"23px",width:"23px",marginBottom:"10px"}},children:[n," ",(0,a.jsx)("div",{style:{fontSize:"14px",fontStyle:"italic",color:"#5E5E5E"},children:t})]})};n.Z=function(e){var n=e.hasMargin,t=void 0===n||n;return(0,a.jsxs)(i.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,a.jsxs)(i.Z,{sx:{fontSize:"16px",fontWeight:600,display:"flex",alignItems:"center",marginBottom:"16px","& .min-icon":{height:"21px",width:"21px",marginRight:"15px"}},children:[(0,a.jsx)(r.M9A,{}),(0,a.jsx)("div",{children:"Why should I register?"})]}),(0,a.jsx)(i.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,a.jsxs)(i.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,a.jsx)(o,{icon:(0,a.jsx)(r._qw,{}),description:"Call Home Monitoring"}),(0,a.jsx)(o,{icon:(0,a.jsx)(r.toM,{}),description:"Health Diagnostics"}),(0,a.jsx)(o,{icon:(0,a.jsx)(r.Fsz,{}),description:"Performance Analysis"}),(0,a.jsx)(o,{icon:(0,a.jsx)(r.EQx,{}),description:(0,a.jsx)(s.Z,{href:"https://min.io/signup?ref=con",target:"_blank",sx:{color:"#2781B0",cursor:"pointer"},children:"More Features"})})]})]})}},74440:function(e,n,t){t(72791);var i=t(64554),s=t(97506),r=t(80184);n.Z=function(e){var n=e.email,t=void 0===n?"":n;return(0,r.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,r.jsxs)(i.Z,{className:"registered-box",children:[(0,r.jsx)(i.Z,{sx:{fontSize:"16px",fontWeight:400},children:"Register status:"}),(0,r.jsxs)(i.Z,{className:"reg-badge-box",children:[(0,r.jsx)(s.Z,{}),(0,r.jsx)(i.Z,{sx:{fontWeight:600},children:"Registered"})]})]}),(0,r.jsxs)(i.Z,{className:"registered-acc-box",sx:{alignItems:"center",justifyContent:"flex-start",display:{sm:"flex",xs:"none"}},children:[(0,r.jsx)(i.Z,{sx:{fontSize:"16px",fontWeight:400},children:"Registered to:"}),(0,r.jsx)(i.Z,{sx:{marginLeft:"8px",fontWeight:600},children:t})]})]})}},79786:function(e,n,t){t.d(n,{B4:function(){return m},vw:function(){return p},xr:function(){return f}});var i=t(29439),s=t(64554),r=t(61889),a=t(50533),o=t(72791),l=t(56096),c=t(37516),x=t(21435),d=t(74440),u=t(80184),p=function(e){var n=e.icon,t=void 0===n?null:n,i=e.title;return(0,u.jsxs)(s.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-start"},children:[t,(0,u.jsx)("div",{className:"title-text",children:i})]})},f=function(e){var n=e.email,t=e.linkClass;return(0,u.jsxs)(o.Fragment,{children:[(0,u.jsx)(d.Z,{email:n}),(0,u.jsx)(r.ZP,{item:!0,xs:12,marginTop:"25px",children:(0,u.jsxs)(s.Z,{sx:{padding:"20px","& a":{color:"#2781B0",cursor:"pointer"}},children:["Login to"," ",(0,u.jsx)(a.Z,{href:"https://subnet.min.io",target:"_blank",className:t,children:"SUBNET"})," ","to avail support for this MinIO cluster"]})})]})},m=function(e){var n=e.linkClass,t="mc admin config set {alias} subnet proxy={proxy}",r=(0,o.useState)(!1),d=(0,i.Z)(r,2),p=d[0],f=d[1];return(0,u.jsx)(o.Fragment,{children:(0,u.jsxs)(s.Z,{sx:{border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",padding:"23px",marginTop:"40px",alignItems:"start",justifyContent:"space-between"},children:[(0,u.jsxs)(s.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,u.jsxs)(s.Z,{sx:{display:"flex","& .min-icon":{height:"22px",width:"22px"}},children:[(0,u.jsx)(l.ewm,{}),(0,u.jsx)("div",{style:{marginLeft:"10px",fontWeight:600},children:"Proxy Configuration"})]}),(0,u.jsxs)(s.Z,{sx:{marginTop:"10px",marginBottom:"10px",fontSize:"14px"},children:["For airgap/firewalled environments it is possible to"," ",(0,u.jsx)(a.Z,{className:n,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,u.jsx)(s.Z,{children:p&&(0,u.jsx)(x.Z,{disabled:!0,id:"subnetProxy",name:"subnetProxy",placeholder:"",onChange:function(){},label:"",value:t,overlayIcon:(0,u.jsx)(l.TIy,{}),extraInputProps:{readOnly:!0},overlayAction:function(){return navigator.clipboard.writeText(t)}})})]}),(0,u.jsx)(s.Z,{sx:{display:"flex"},children:(0,u.jsx)(c.Z,{value:"enableProxy",id:"enableProxy",name:"enableProxy",checked:p,onChange:function(e){f(e.target.checked)}})})]})})}},19847:function(e,n,t){t.d(n,{x:function(){return l}});var i=t(1413),s=t(45987),r=t(72791),a=t(80184),o=["children","value","index"],l=function(e){var n=e.children,t=e.value,l=e.index,c=(0,s.Z)(e,o);return(0,a.jsx)("div",(0,i.Z)((0,i.Z)({role:"tabpanel",hidden:t!==l,id:"simple-tabpanel-".concat(l),"aria-labelledby":"simple-tab-".concat(l),style:{marginTop:"5px"}},c),{},{children:t===l&&(0,a.jsx)(r.Fragment,{children:n})}))}},30403:function(e,n,t){var i=t(64836);n.Z=void 0;var s=i(t(45649)),r=t(80184),a=(0,s.default)((0,r.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");n.Z=a}}]); -//# sourceMappingURL=2763.0e8b50c7.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2763.7c4fb5a0.chunk.js b/portal-ui/build/static/js/2763.7c4fb5a0.chunk.js new file mode 100644 index 000000000..2e773fbbf --- /dev/null +++ b/portal-ui/build/static/js/2763.7c4fb5a0.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2763],{13438:function(e,n,t){t.d(n,{Z:function(){return S}});var i=t(29439),s=t(1413),r=t(72791),a=t(64554),o=t(75952),l=t(79786),c=t(21435),x=t(11135),d=t(25787),u=t(3579),p=t(20165),f=t(30403),m=t(23814),h=t(23508),g=t(9505),j=t(25469),Z=t(87995),b=t(80184),y=(0,d.Z)((function(e){return(0,x.Z)((0,s.Z)((0,s.Z)({pageTitle:{fontSize:18,marginBottom:20,textAlign:"center"},pageSubTitle:{textAlign:"center"},sizedLabel:{minWidth:"75px"}},(0,m.Bz)(e.spacing(4))),m.bK))}))((function(e){var n=e.open,t=e.closeModal,s=e.classes,l=e.onSet,x=(0,j.TL)(),d=(0,r.useState)(""),m=(0,i.Z)(d,2),y=m[0],v=m[1],w=(0,r.useState)(""),S=(0,i.Z)(w,2),k=S[0],C=S[1],T=(0,r.useState)(!1),I=(0,i.Z)(T,2),z=I[0],B=I[1],P=(0,r.useState)(""),L=(0,i.Z)(P,2),N=L[0],A=L[1],F=(0,r.useState)(""),E=(0,i.Z)(F,2),R=E[0],M=E[1],_=(0,g.Z)((function(e){e.mfa_token?A(e.mfa_token):e.access_token?K("GET","/api/v1/subnet/apikey?token=".concat(e.access_token)):(l(e.apiKey),t())}),(function(e){x((0,Z.Ih)(e)),t(),v(""),C(""),B(!1),A(""),M("")})),W=(0,i.Z)(_,2),O=W[0],K=W[1],U=function(){return(0,b.jsxs)(a.Z,{sx:{width:500},children:[(0,b.jsx)(c.Z,{className:s.spacerBottom,classes:{inputLabel:s.sizedLabel},id:"subnet-email",name:"subnet-email",onChange:function(e){return v(e.target.value)},label:"Email",value:y,overlayIcon:(0,b.jsx)(o.oyc,{})}),(0,b.jsx)(c.Z,{className:s.spacerBottom,classes:{inputLabel:s.sizedLabel},id:"subnet-password",name:"subnet-password",onChange:function(e){return C(e.target.value)},label:"Password",type:z?"text":"password",value:k,overlayIcon:z?(0,b.jsx)(p.Z,{}):(0,b.jsx)(u.Z,{}),overlayAction:function(){return B(!z)}})]})},H=function(){return(0,b.jsx)(a.Z,{sx:{display:"flex"},children:(0,b.jsxs)(a.Z,{sx:{display:"flex",flexFlow:"column",flex:"2"},children:[(0,b.jsx)(a.Z,{sx:{fontSize:"16px",display:"flex",flexFlow:"column",marginTop:"30px",marginBottom:"30px"},children:"Two-Factor Authentication"}),(0,b.jsx)(a.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,b.jsx)(a.Z,{sx:{flex:"1",marginTop:"30px"},children:(0,b.jsx)(c.Z,{overlayIcon:(0,b.jsx)(f.Z,{}),id:"subnet-otp",name:"subnet-otp",onChange:function(e){return M(e.target.value)},placeholder:"",label:"",value:R})}),(0,b.jsx)(a.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"}})]})})};return n?(0,b.jsx)(h.Z,{title:"Get API Key from SUBNET",confirmText:"Get API Key",isOpen:n,titleIcon:(0,b.jsx)(o.szr,{}),isLoading:O,cancelText:"Cancel",onConfirm:function(){""!==N?K("POST","/api/v1/subnet/login/mfa",{username:y,otp:R,mfa_token:N}):K("POST","/api/v1/subnet/login",{username:y,password:k})},onClose:t,confirmButtonProps:{variant:"callAction",disabled:!y||!k||O,hidden:!0},cancelButtonProps:{disabled:O},confirmationContent:""===N?U():H()}):null})),v=t(65810),w=t(81207),S=(0,d.Z)((function(e){return(0,x.Z)((0,s.Z)({sizedLabel:{minWidth:"75px"}},m.bK))}))((function(e){var n=e.classes,t=e.registerEndpoint,s=e.afterRegister,x=(0,r.useState)(!1),d=(0,i.Z)(x,2),u=d[0],p=d[1],f=(0,r.useState)(""),m=(0,i.Z)(f,2),h=m[0],g=m[1],S=(0,r.useState)(!1),k=(0,i.Z)(S,2),C=k[0],T=k[1],I=(0,r.useState)(!1),z=(0,i.Z)(I,2),B=z[0],P=z[1],L=(0,j.TL)(),N=(0,r.useCallback)((function(){if(!C){T(!0);var e={apiKey:h};w.Z.invoke("POST",t,e).then((function(e){T(!1),e&&e.registered&&(A(),s())})).catch((function(e){L((0,Z.Ih)(e)),T(!1),A()}))}}),[s,h,L,C,t]);(0,r.useEffect)((function(){B&&N()}),[B,N]);var A=function(){g(""),P(!1)};return(0,b.jsxs)(r.Fragment,{children:[(0,b.jsx)(a.Z,{sx:{"& .title-text":{marginLeft:"27px",fontWeight:600}},children:(0,b.jsx)(l.vw,{icon:(0,b.jsx)(o.dRy,{}),title:"Register cluster with API key"})}),(0,b.jsxs)(a.Z,{sx:{display:"flex",flexFlow:{xs:"column",md:"row"}},children:[(0,b.jsxs)(a.Z,{sx:{display:"flex",flexFlow:"column",flex:"2"},children:[(0,b.jsx)(a.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,b.jsxs)(a.Z,{sx:{flex:"1"},children:[(0,b.jsx)(c.Z,{className:n.spacerBottom,classes:{inputLabel:n.sizedLabel},id:"api-key",name:"api-key",onChange:function(e){return g(e.target.value)},label:"API Key",value:h}),(0,b.jsxs)(a.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end","& button":{marginLeft:"8px"}},children:[(0,b.jsx)(o.zxk,{id:"get-from-subnet",variant:"regular",className:n.spacerRight,disabled:C,onClick:function(){return p(!0)},label:"Get from SUBNET"}),(0,b.jsx)(o.zxk,{id:"register",type:"submit",variant:"callAction",disabled:C||0===h.trim().length,onClick:function(){return N()},label:"Register"}),(0,b.jsx)(y,{open:u,closeModal:function(){return p(!1)},onSet:function(e){g(e),P(!0)}})]})]})]}),(0,b.jsx)(v.Z,{})]})]})}))},65810:function(e,n,t){t(72791);var i=t(64554),s=t(50533),r=t(75952),a=t(80184),o=function(e){var n=e.icon,t=e.description;return(0,a.jsxs)(i.Z,{sx:{display:"flex","& .min-icon":{marginRight:"10px",height:"23px",width:"23px",marginBottom:"10px"}},children:[n," ",(0,a.jsx)("div",{style:{fontSize:"14px",fontStyle:"italic",color:"#5E5E5E"},children:t})]})};n.Z=function(e){var n=e.hasMargin,t=void 0===n||n;return(0,a.jsxs)(i.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,a.jsxs)(i.Z,{sx:{fontSize:"16px",fontWeight:600,display:"flex",alignItems:"center",marginBottom:"16px","& .min-icon":{height:"21px",width:"21px",marginRight:"15px"}},children:[(0,a.jsx)(r.M9A,{}),(0,a.jsx)("div",{children:"Why should I register?"})]}),(0,a.jsx)(i.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,a.jsxs)(i.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,a.jsx)(o,{icon:(0,a.jsx)(r._qw,{}),description:"Call Home Monitoring"}),(0,a.jsx)(o,{icon:(0,a.jsx)(r.toM,{}),description:"Health Diagnostics"}),(0,a.jsx)(o,{icon:(0,a.jsx)(r.Fsz,{}),description:"Performance Analysis"}),(0,a.jsx)(o,{icon:(0,a.jsx)(r.EQx,{}),description:(0,a.jsx)(s.Z,{href:"https://min.io/signup?ref=con",target:"_blank",sx:{color:"#2781B0",cursor:"pointer"},children:"More Features"})})]})]})}},74440:function(e,n,t){t(72791);var i=t(64554),s=t(75952),r=t(80184);n.Z=function(e){var n=e.email,t=void 0===n?"":n;return(0,r.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,r.jsxs)(i.Z,{className:"registered-box",children:[(0,r.jsx)(i.Z,{sx:{fontSize:"16px",fontWeight:400},children:"Register status:"}),(0,r.jsxs)(i.Z,{className:"reg-badge-box",children:[(0,r.jsx)(s.SA,{}),(0,r.jsx)(i.Z,{sx:{fontWeight:600},children:"Registered"})]})]}),(0,r.jsxs)(i.Z,{className:"registered-acc-box",sx:{alignItems:"center",justifyContent:"flex-start",display:{sm:"flex",xs:"none"}},children:[(0,r.jsx)(i.Z,{sx:{fontSize:"16px",fontWeight:400},children:"Registered to:"}),(0,r.jsx)(i.Z,{sx:{marginLeft:"8px",fontWeight:600},children:t})]})]})}},79786:function(e,n,t){t.d(n,{B4:function(){return m},vw:function(){return p},xr:function(){return f}});var i=t(29439),s=t(64554),r=t(61889),a=t(50533),o=t(72791),l=t(75952),c=t(37516),x=t(21435),d=t(74440),u=t(80184),p=function(e){var n=e.icon,t=void 0===n?null:n,i=e.title;return(0,u.jsxs)(s.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-start"},children:[t,(0,u.jsx)("div",{className:"title-text",children:i})]})},f=function(e){var n=e.email,t=e.linkClass;return(0,u.jsxs)(o.Fragment,{children:[(0,u.jsx)(d.Z,{email:n}),(0,u.jsx)(r.ZP,{item:!0,xs:12,marginTop:"25px",children:(0,u.jsxs)(s.Z,{sx:{padding:"20px","& a":{color:"#2781B0",cursor:"pointer"}},children:["Login to"," ",(0,u.jsx)(a.Z,{href:"https://subnet.min.io",target:"_blank",className:t,children:"SUBNET"})," ","to avail support for this MinIO cluster"]})})]})},m=function(e){var n=e.linkClass,t="mc admin config set {alias} subnet proxy={proxy}",r=(0,o.useState)(!1),d=(0,i.Z)(r,2),p=d[0],f=d[1];return(0,u.jsx)(o.Fragment,{children:(0,u.jsxs)(s.Z,{sx:{border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",padding:"23px",marginTop:"40px",alignItems:"start",justifyContent:"space-between"},children:[(0,u.jsxs)(s.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,u.jsxs)(s.Z,{sx:{display:"flex","& .min-icon":{height:"22px",width:"22px"}},children:[(0,u.jsx)(l.ewm,{}),(0,u.jsx)("div",{style:{marginLeft:"10px",fontWeight:600},children:"Proxy Configuration"})]}),(0,u.jsxs)(s.Z,{sx:{marginTop:"10px",marginBottom:"10px",fontSize:"14px"},children:["For airgap/firewalled environments it is possible to"," ",(0,u.jsx)(a.Z,{className:n,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,u.jsx)(s.Z,{children:p&&(0,u.jsx)(x.Z,{disabled:!0,id:"subnetProxy",name:"subnetProxy",placeholder:"",onChange:function(){},label:"",value:t,overlayIcon:(0,u.jsx)(l.TIy,{}),extraInputProps:{readOnly:!0},overlayAction:function(){return navigator.clipboard.writeText(t)}})})]}),(0,u.jsx)(s.Z,{sx:{display:"flex"},children:(0,u.jsx)(c.Z,{value:"enableProxy",id:"enableProxy",name:"enableProxy",checked:p,onChange:function(e){f(e.target.checked)}})})]})})}},19847:function(e,n,t){t.d(n,{x:function(){return l}});var i=t(1413),s=t(45987),r=t(72791),a=t(80184),o=["children","value","index"],l=function(e){var n=e.children,t=e.value,l=e.index,c=(0,s.Z)(e,o);return(0,a.jsx)("div",(0,i.Z)((0,i.Z)({role:"tabpanel",hidden:t!==l,id:"simple-tabpanel-".concat(l),"aria-labelledby":"simple-tab-".concat(l),style:{marginTop:"5px"}},c),{},{children:t===l&&(0,a.jsx)(r.Fragment,{children:n})}))}},30403:function(e,n,t){var i=t(64836);n.Z=void 0;var s=i(t(45649)),r=t(80184),a=(0,s.default)((0,r.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");n.Z=a}}]); +//# sourceMappingURL=2763.7c4fb5a0.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2763.0e8b50c7.chunk.js.map b/portal-ui/build/static/js/2763.7c4fb5a0.chunk.js.map similarity index 50% rename from portal-ui/build/static/js/2763.0e8b50c7.chunk.js.map rename to portal-ui/build/static/js/2763.7c4fb5a0.chunk.js.map index bd01c8043..6761309ee 100644 --- a/portal-ui/build/static/js/2763.0e8b50c7.chunk.js.map +++ b/portal-ui/build/static/js/2763.7c4fb5a0.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/2763.0e8b50c7.chunk.js","mappings":"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","sources":["screens/Console/Support/GetApiKeyModal.tsx","screens/Console/Support/ApiKeyRegister.tsx","screens/Console/Support/RegisterHelpBox.tsx","screens/Console/Support/RegistrationStatusBanner.tsx","screens/Console/Support/utils.tsx","screens/shared/tabs.tsx","../node_modules/@mui/icons-material/LockOutlined.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 { 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 \"../../../icons\";\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 pageTitle: {\n fontSize: 18,\n marginBottom: 20,\n textAlign: \"center\",\n },\n pageSubTitle: {\n textAlign: \"center\",\n },\n sizedLabel: {\n minWidth: \"75px\",\n },\n ...containerForHeader(theme.spacing(4)),\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, { Fragment, useEffect, useState } from \"react\";\nimport { Box } from \"@mui/material\";\nimport { Button } from \"mds\";\nimport { OnlineRegistrationIcon } from \"../../../icons\";\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 { setErrorSnackMessage } from \"../../../systemSlice\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { useCallback } from \"react\";\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\";\n\ninterface IApiKeyRegister {\n classes: any;\n registerEndpoint: string;\n afterRegister: () => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n sizedLabel: {\n minWidth: \"75px\",\n },\n ...spacingUtils,\n });\n\nconst ApiKeyRegister = ({\n classes,\n registerEndpoint,\n afterRegister,\n}: IApiKeyRegister) => {\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 reset();\n afterRegister();\n }\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoading(false);\n reset();\n });\n }, [afterRegister, apiKey, dispatch, loading, registerEndpoint]);\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) 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 \"../../../icons\";\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","import React from \"react\";\nimport { Box } from \"@mui/material\";\nimport VerifiedIcon from \"../../../icons/VerifiedIcon\";\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","import { Box, Grid, Link } from \"@mui/material\";\nimport { Fragment, useState } from \"react\";\nimport { CopyIcon, SettingsIcon } from \"../../../icons\";\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 = ({\n email,\n linkClass,\n}: {\n email: string;\n linkClass: string;\n}) => {\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 = ({ linkClass }: { linkClass: string }) => {\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) 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\";\n\ninterface TabPanelProps {\n children?: React.ReactNode;\n index: any;\n value: any;\n}\n\nexport const TabPanel = (props: TabPanelProps) => {\n const { children, value, index, ...other } = props;\n\n return (\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 EditIcon from \"../../../../icons/EditIcon\";\nimport TrashIcon from \"../../../../icons/TrashIcon\";\nimport { IAMPoliciesIcon, PreviewIcon, ShareIcon } from \"../../../../icons\";\nimport DownloadIcon from \"../../../../icons/DownloadIcon\";\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 \"../Loader/Loader\";\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","fieldBasic","tooltipHelper","checkboxIcons","fieldContainer","display","justifyContent","alignItems","margin","marginBottom","flexBasis","flexWrap","noTopMargin","marginTop","label","onChange","value","id","name","checked","disabled","tooltip","overrideLabelClasses","overrideCheckboxStyles","classes","className","item","xs","color","inputProps","checkedIcon","icon","unCheckedIcon","disableRipple","disableFocusRipple","focusRipple","centerRipple","disableTouchRipple","style","htmlFor","noMinWidthLabel","tooltipContainer","title","placement","unSelected","selected","active","xmlns","width","height","viewBox","fill","d","props","spacing","buttonDisabled","cursor","filter","opacity","type","onClick","valueToSend","idField","to","sendOnlyId","valueClick","EditIcon","TrashIcon","DownloadIcon","DisableIcon","defineIcon","buttonElement","IconButton","size","e","stopPropagation","preventDefault","sx","Tooltip","isString","generateColumnsMap","columns","containerWidth","actionsWidth","hasSelect","hasActions","selectedItems","columnsSelector","columnsShown","sortColumn","sortDirection","commonRestWidth","colsItems","column","includes","elementKey","initialValue","reduce","total","currValue","el","length","calculateColumnRest","map","index","disableSort","enableSort","dataKey","headerClassName","headerTextAlign","headerRenderer","Fragment","ArrowDropUp","ArrowDropDown","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","itemActions","onSelect","records","isLoading","loadingMessage","Typography","component","entityName","radioSelection","customEmptyMessage","customPaperHeight","textSelectable","onColumnChange","state","infiniteScrollConfig","sortConfig","autoScrollToBottom","onSelectAll","rowStyle","parentClassName","navigate","useNavigate","useState","columnSelectorOpen","setColumnSelectorOpen","React","anchorEl","setAnchorEl","findView","find","openColumnsSelector","event","currentTarget","closeColumnSelector","Grid","TooltipWrapper","Paper","container","LinearProgress","ViewColumn","Popover","open","anchorOrigin","vertical","horizontal","transformOrigin","onClose","CheckboxWrapper","target","columnsSelection","isRowLoaded","loadMoreRows","loadMoreRecords","Promise","rowCount","recordsCount","onRowsRendered","registerChild","optionsWidth","totalOptions","sizeOptions","calculateOptionsSize","hasOptions","ref","disableHeader","headerHeight","noRowsRenderer","overscanRowCount","rowHeight","rowGetter","onRowClick","rowItem","disableButtonFunction","clickAction","rowClassName","r","sort","triggerSort","undefined","sortBy","currentSort","currentDirection","scrollToIndex","returnElement","TableRowPredefStyles","Checkbox","radioSelectedIcon","radioUnselectedIcon","actions","action","vlSend","showLoaderFunction","Loader","elementActions"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/2983.ca089e19.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"],"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 IAMPoliciesIcon,\n PreviewIcon,\n ShareIcon,\n EditIcon,\n TrashIcon,\n DownloadIcon,\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","fieldBasic","tooltipHelper","checkboxIcons","fieldContainer","display","justifyContent","alignItems","margin","marginBottom","flexBasis","flexWrap","noTopMargin","marginTop","label","onChange","value","id","name","checked","disabled","tooltip","overrideLabelClasses","overrideCheckboxStyles","classes","className","item","xs","color","inputProps","checkedIcon","icon","unCheckedIcon","disableRipple","disableFocusRipple","focusRipple","centerRipple","disableTouchRipple","style","htmlFor","noMinWidthLabel","tooltipContainer","title","placement","unSelected","selected","active","xmlns","width","height","viewBox","fill","d","props","spacing","buttonDisabled","cursor","filter","opacity","type","onClick","valueToSend","idField","to","sendOnlyId","valueClick","DisableIcon","defineIcon","buttonElement","IconButton","size","e","stopPropagation","preventDefault","sx","Tooltip","isString","generateColumnsMap","columns","containerWidth","actionsWidth","hasSelect","hasActions","selectedItems","columnsSelector","columnsShown","sortColumn","sortDirection","commonRestWidth","colsItems","column","includes","elementKey","initialValue","reduce","total","currValue","el","length","calculateColumnRest","map","index","disableSort","enableSort","dataKey","headerClassName","headerTextAlign","headerRenderer","Fragment","ArrowDropUp","ArrowDropDown","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","itemActions","onSelect","records","isLoading","loadingMessage","Typography","component","entityName","radioSelection","customEmptyMessage","customPaperHeight","textSelectable","onColumnChange","state","infiniteScrollConfig","sortConfig","autoScrollToBottom","onSelectAll","rowStyle","parentClassName","navigate","useNavigate","useState","columnSelectorOpen","setColumnSelectorOpen","React","anchorEl","setAnchorEl","findView","find","openColumnsSelector","event","currentTarget","closeColumnSelector","Grid","TooltipWrapper","Paper","container","LinearProgress","ViewColumn","Popover","open","anchorOrigin","vertical","horizontal","transformOrigin","onClose","CheckboxWrapper","target","columnsSelection","isRowLoaded","loadMoreRows","loadMoreRecords","Promise","rowCount","recordsCount","onRowsRendered","registerChild","optionsWidth","totalOptions","sizeOptions","calculateOptionsSize","hasOptions","ref","disableHeader","headerHeight","noRowsRenderer","overscanRowCount","rowHeight","rowGetter","onRowClick","rowItem","disableButtonFunction","clickAction","rowClassName","r","sort","triggerSort","undefined","sortBy","currentSort","currentDirection","scrollToIndex","returnElement","TableRowPredefStyles","Checkbox","radioSelectedIcon","radioUnselectedIcon","actions","action","vlSend","showLoaderFunction","elementActions"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3034.eeaa9de7.chunk.js b/portal-ui/build/static/js/3034.eeaa9de7.chunk.js new file mode 100644 index 000000000..d5fb32105 --- /dev/null +++ b/portal-ui/build/static/js/3034.eeaa9de7.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3034],{25739:function(e,n,t){t(72791);var i=t(64554),r=t(50896),a=t(80184);n.Z=function(e){var n=e.children,t=e.title,s=e.helpbox,o=e.icon;return(0,a.jsxs)(i.Z,{sx:{display:"grid",padding:"25px",gap:"25px",gridTemplateColumns:{md:"2fr 1.2fr",xs:"1fr"},border:"1px solid #eaeaea"},children:[(0,a.jsxs)(i.Z,{children:[(0,a.jsx)(r.Z,{icon:o,children:t}),(0,a.jsx)(i.Z,{sx:{height:16}}),n]}),s]})}},33034:function(e,n,t){t.r(n),t.d(n,{default:function(){return v}});var i=t(72791),r=t(61889),a=t(32291),s=t(84669),o=t(56087),l=t(87995),x=t(57689),c=t(25469),d=t(29439),p=t(64554),u=t(75952),f=t(74794),h=t(21435),m=t(25739),g=t(9505),j=t(40214),Z=t(80184),y=function(e){var n=e.onSuccess,t=e.onError,a=(0,g.Z)(n,t),s=(0,d.Z)(a,2),o=s[0],l=s[1],x=(0,i.useState)(""),c=(0,d.Z)(x,2),y=c[0],v=c[1],b=""!==y.trim()&&-1===y.indexOf(" ");return(0,Z.jsx)(f.Z,{children:(0,Z.jsx)(m.Z,{title:"Create Key",icon:(0,Z.jsx)(u.sR0,{}),helpbox:(0,Z.jsx)(j.Z,{helpText:"Encryption Key",contents:["Create a new cryptographic key in the Key Management Service server connected to MINIO."]}),children:(0,Z.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),l("POST","/api/v1/kms/keys/",{key:y})},children:(0,Z.jsxs)(r.ZP,{container:!0,item:!0,spacing:1,children:[(0,Z.jsx)(r.ZP,{item:!0,xs:12,children:(0,Z.jsx)(h.Z,{id:"key-name",name:"key-name",label:"Key Name",autoFocus:!0,value:y,error:function(e){return-1!==e.indexOf(" ")?"Key name cannot contain spaces":""}(y),onChange:function(e){v(e.target.value)}})}),(0,Z.jsx)(r.ZP,{item:!0,xs:12,textAlign:"right",children:(0,Z.jsxs)(p.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end",marginTop:"20px",gap:"15px"},children:[(0,Z.jsx)(u.zxk,{id:"clear",type:"button",variant:"regular",onClick:function(){v("")},label:"Clear"}),(0,Z.jsx)(u.zxk,{id:"save-key",type:"submit",variant:"callAction",color:"primary",disabled:o||!b,label:"Save"})]})})]})})})})},v=function(){var e=(0,c.TL)(),n=(0,x.s0)();return(0,Z.jsx)(i.Fragment,{children:(0,Z.jsxs)(r.ZP,{item:!0,xs:12,children:[(0,Z.jsx)(a.Z,{label:(0,Z.jsx)(s.Z,{to:o.gA.KMS_KEYS,label:"Keys"})}),(0,Z.jsx)(y,{onError:function(n){return e((0,l.Ih)(n))},onSuccess:function(){return n("".concat(o.gA.KMS_KEYS))}})]})})}},40214:function(e,n,t){t(72791);var i=t(64554),r=t(75952),a=t(80184);n.Z=function(e){var n=e.helpText,t=e.contents;return(0,a.jsxs)(i.Z,{sx:{flex:1,border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"20px"},children:[(0,a.jsxs)(i.Z,{sx:{fontSize:"16px",fontWeight:600,display:"flex",alignItems:"center",marginBottom:"16px",paddingBottom:"20px","& .min-icon":{height:"21px",width:"21px",marginRight:"15px"}},children:[(0,a.jsx)(r.M9A,{}),(0,a.jsx)("div",{children:n})]}),(0,a.jsx)(i.Z,{sx:{fontSize:"14px",marginBottom:"15px"},children:t.map((function(e){return(0,a.jsx)(i.Z,{sx:{paddingBottom:"20px"},children:e})}))})]})}}}]); +//# sourceMappingURL=3034.eeaa9de7.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3034.eeaa9de7.chunk.js.map b/portal-ui/build/static/js/3034.eeaa9de7.chunk.js.map new file mode 100644 index 000000000..d1cd77882 --- /dev/null +++ b/portal-ui/build/static/js/3034.eeaa9de7.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3034.eeaa9de7.chunk.js","mappings":"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","sources":["screens/Console/Common/FormLayout.tsx","screens/Console/KMS/AddKeyForm.tsx","screens/Console/KMS/AddKey.tsx","screens/Console/KMS/KMSHelpbox.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\nimport SectionTitle from \"./SectionTitle\";\n\ntype Props = {\n title: string;\n icon: React.ReactNode;\n helpbox?: React.ReactNode;\n children: React.ReactNode;\n};\n\nconst FormLayout: React.FC = ({ children, title, helpbox, icon }) => {\n return (\n \n \n {title}\n \n {children}\n \n\n {helpbox}\n \n );\n};\n\nexport default FormLayout;\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 } from \"mds\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport FormLayout from \"../Common/FormLayout\";\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 } from \"react\";\n\nimport Grid from \"@mui/material/Grid\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport BackLink from \"../../../common/BackLink\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\nimport { useNavigate } from \"react-router-dom\";\nimport { useAppDispatch } from \"../../../store\";\nimport AddKeyForm from \"./AddKeyForm\";\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 return (\n \n \n }\n />\n \n \n \n );\n};\n\nexport default AddKey;\n","import React from \"react\";\n\nimport { Box } from \"@mui/material\";\nimport { HelpIconFilled } from \"mds\";\n\ninterface IKMSHelpBoxProps {\n helpText: string;\n contents: string[];\n}\n\nconst KMSHelpBox = ({ helpText, contents }: IKMSHelpBoxProps) => {\n return (\n \n \n \n
{helpText}
\n \n \n {contents.map((content) => (\n {content}\n ))}\n \n \n );\n};\n\nexport default KMSHelpBox;\n"],"names":["children","title","helpbox","icon","sx","display","padding","gap","gridTemplateColumns","md","xs","border","height","onSuccess","onError","useApi","loading","invokeApi","useState","keyName","setKeyName","validSave","trim","indexOf","PageLayout","FormLayout","helpText","contents","noValidate","autoComplete","onSubmit","e","preventDefault","key","Grid","container","item","spacing","InputBoxWrapper","id","name","label","autoFocus","value","error","validateKeyName","onChange","target","textAlign","Box","alignItems","justifyContent","marginTop","type","variant","onClick","color","disabled","dispatch","useAppDispatch","navigate","useNavigate","Fragment","PageHeader","BackLink","to","IAM_PAGES","err","setErrorSnackMessage","flex","borderRadius","flexFlow","fontSize","fontWeight","marginBottom","paddingBottom","width","marginRight","map","content"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3061.12708207.chunk.js b/portal-ui/build/static/js/3061.12708207.chunk.js deleted file mode 100644 index b9ca34a99..000000000 --- a/portal-ui/build/static/js/3061.12708207.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3061],{23804:function(e,t,n){n(72791);var a=n(11135),i=n(25787),r=n(61889),s=n(80184);t.Z=(0,i.Z)((function(e){return(0,a.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var t=e.classes,n=e.iconComponent,a=e.title,i=e.help;return(0,s.jsx)("div",{className:t.root,children:(0,s.jsxs)(r.ZP,{container:!0,children:[(0,s.jsxs)(r.ZP,{item:!0,xs:12,className:t.leftItems,children:[n,a]}),(0,s.jsx)(r.ZP,{item:!0,xs:12,className:t.helpText,children:i})]})})}))},81806:function(e,t,n){var a=n(1413),i=n(45987),r=(n(72791),n(11135)),s=n(25787),l=n(80184),o=["classes","children"];t.Z=(0,s.Z)((function(e){return(0,r.Z)({root:{padding:0,margin:0,border:0,backgroundColor:"transparent",textDecoration:"underline",cursor:"pointer",fontSize:"inherit",color:e.palette.info.main,fontFamily:"Lato, sans-serif"}})}))((function(e){var t=e.classes,n=e.children,r=(0,i.Z)(e,o);return(0,l.jsx)("button",(0,a.Z)((0,a.Z)({},r),{},{className:t.root,children:n}))}))},75578:function(e,t,n){var a=n(1413),i=n(72791),r=n(80184);t.Z=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function n(n){return(0,r.jsx)(i.Suspense,{fallback:t,children:(0,r.jsx)(e,(0,a.Z)({},n))})}return n}},59114:function(e,t,n){var a=n(4942),i=n(1413),r=(n(72791),n(63466)),s=n(74900),l=n(27391),o=n(25787),c=n(11135),u=n(23814),d=n(80184);t.Z=(0,o.Z)((function(e){return(0,c.Z)({searchField:(0,i.Z)({},u.qg.searchField),adornment:{}})}))((function(e){var t=e.placeholder,n=void 0===t?"":t,i=e.classes,o=e.onChange,c=e.adornmentPosition,u=void 0===c?"end":c,h=e.overrideClass,f=e.value,p=(0,a.Z)({disableUnderline:!0},"".concat(u,"Adornment"),(0,d.jsx)(r.Z,{position:u,className:i.adornment,children:(0,d.jsx)(s.Z,{})}));return(0,d.jsx)(l.Z,{placeholder:n,className:h||i.searchField,id:"search-resource",label:"",InputProps:p,onChange:function(e){o(e.target.value)},variant:"standard",value:f})}))},98994:function(e,t,n){var a=n(72791),i=n(22338),r=n(79762),s=n(5171),l=n(80184),o={};t.Z=function(e){var t=e.rowRenderFunction,n=e.totalItems,c=e.defaultHeight,u=function(e){var n=e.index,a=e.style;return(0,l.jsx)("div",{style:a,children:t(n)})};return(0,l.jsx)(a.Fragment,{children:(0,l.jsx)(r.Z,{isItemLoaded:function(e){return!!o[e]},loadMoreItems:function(e,t){for(var n=e;n<=t;n++)o[n]=1;for(var a=e;a<=t;a++)o[a]=2},itemCount:n,children:function(e){var t=e.onItemsRendered,a=e.ref;return(0,l.jsx)(s.qj,{children:function(e){var r=e.width,s=e.height;return(0,l.jsx)(i.t7,{itemSize:c||220,height:s,itemCount:n,width:r,ref:a,onItemsRendered:t,children:u})}})}})})}},3061:function(e,t,n){n.r(t),n.d(t,{default:function(){return B}});var a=n(29439),i=n(1413),r=n(72791),s=n(75952),l=n(61889),o=n(40986),c=n(11135),u=n(25787),d=n(45248),h=n(23814),f=n(56096),p=n(81207),x=n(28789),g=n(32291),m=n(57689),v=n(17238),j=n(82295),y=n(80184),b=function(e){var t=e.label,n=e.value,a=e.unit,i=e.variant,s=void 0===i?"normal":i;return(0,y.jsxs)("div",{style:{margin:"0px 20px"},children:[(0,y.jsxs)("div",{style:{textAlign:"center"},children:[(0,y.jsx)("span",{style:{fontSize:18,color:"normal"===s?"#000":"#999",fontWeight:400},children:n}),a&&(0,y.jsxs)(r.Fragment,{children:[" ",(0,y.jsx)("span",{style:{fontSize:12,color:"#8F9090",fontWeight:"bold"},children:a})]})]}),(0,y.jsx)("div",{style:{textAlign:"center",color:"normal"===s?"#767676":"#bababa",fontSize:12,whiteSpace:"nowrap"},children:t})]})},Z=n(74815),S=n(25469),C=(0,u.Z)((function(e){return(0,c.Z)({redState:{color:e.palette.error.main,"& .min-icon":{width:16,height:16,float:"left",marginRight:4}},yellowState:{color:e.palette.warning.main,"& .min-icon":{width:16,height:16,float:"left",marginRight:4}},greenState:{color:e.palette.success.main,"& .min-icon":{width:16,height:16,float:"left",marginRight:4}},greyState:{color:"grey","& .min-icon":{width:16,height:16,float:"left",marginRight:4}},tenantIcon:{width:40,height:40,position:"relative"},tenantItem:{border:"1px solid #EAEAEA",marginBottom:16,padding:"15px 30px","&:hover":{backgroundColor:"#FAFAFA",cursor:"pointer"}},titleContainer:{display:"flex",justifyContent:"space-between",width:"100%"},title:{fontSize:18,fontWeight:"bold"},namespaceLabel:{display:"inline-flex",backgroundColor:"#EAEDEF",borderRadius:2,padding:"4px 8px",fontSize:10,marginRight:20},status:{fontSize:12,color:"#8F9090"}})}))((function(e){var t=e.tenant,n=e.classes,a=(0,S.TL)(),i=(0,m.s0)(),s={value:"n/a",unit:""},o={value:"n/a",unit:""},c={value:"n/a",unit:""},u={value:"n/a",unit:""},h={value:"n/a",unit:""};if(t.capacity_raw){var p=(0,d.ae)("".concat(t.capacity_raw),!0).split(" ");s.value=p[0],s.unit=p[1]}if(t.capacity){var x=(0,d.ae)("".concat(t.capacity),!0).split(" ");o.value=x[0],o.unit=x[1]}if(t.capacity_usage){var g=(0,d.l5)(t.capacity_usage,!0).split(" ");c.value=g[0],c.unit=g[1]}var C=[];if(t.tiers&&0!==t.tiers.length){C=t.tiers.map((function(e){return{value:e.size,variant:e.name}}));var w=t.tiers.filter((function(e){return"internal"===e.type})).reduce((function(e,t){return e+t.size}),0),z=t.tiers.filter((function(e){return"internal"!==e.type})).reduce((function(e,t){return e+t.size}),0),F=(0,d.l5)(z,!0).split(" ");h.value=F[0],h.unit=F[1];var T=(0,d.l5)(w,!0).split(" ");u.value=T[0],u.unit=T[1]}else C=[{value:t.capacity_usage||0,variant:"STANDARD"}];return(0,y.jsx)(r.Fragment,{children:(0,y.jsx)("div",{className:n.tenantItem,id:"list-tenant-".concat(t.name),onClick:function(){a((0,v.V7)({name:t.name,namespace:t.namespace})),a((0,j.v)()),i("/namespaces/".concat(t.namespace,"/tenants/").concat(t.name,"/summary"))},children:(0,y.jsxs)(l.ZP,{container:!0,children:[(0,y.jsxs)(l.ZP,{item:!0,xs:12,className:n.titleContainer,children:[(0,y.jsx)("div",{className:n.title,children:(0,y.jsx)("span",{children:t.name})}),(0,y.jsx)("div",{children:(0,y.jsxs)("span",{className:n.namespaceLabel,children:["Namespace:\xa0",t.namespace]})})]}),(0,y.jsx)(l.ZP,{item:!0,xs:12,sx:{marginTop:2},children:(0,y.jsxs)(l.ZP,{container:!0,children:[(0,y.jsx)(l.ZP,{item:!0,xs:2,children:(0,y.jsx)(Z.Z,{totalCapacity:t.capacity||0,usedSpaceVariants:C,statusClass:function(e){switch(e){case"red":return n.redState;case"yellow":return n.yellowState;case"green":return n.greenState;default:return n.greyState}}(t.health_status)})}),(0,y.jsxs)(l.ZP,{item:!0,xs:!0,children:[(0,y.jsxs)(l.ZP,{item:!0,xs:!0,sx:{display:"flex",justifyContent:"flex-start",alignItems:"center",marginTop:"10px"},children:[(0,y.jsx)(b,{label:"Raw Capacity",value:s.value,unit:s.unit}),(0,y.jsx)(b,{label:"Usable Capacity",value:o.value,unit:o.unit}),(0,y.jsx)(b,{label:"Pools",value:t.pool_count.toString(),variant:"faded"})]}),(0,y.jsx)(l.ZP,{item:!0,xs:12,sx:{paddingLeft:"20px",marginTop:"15px"},children:(0,y.jsxs)("span",{className:n.status,children:[(0,y.jsx)("strong",{children:"State:"})," ",t.currentState]})})]}),(0,y.jsx)(l.ZP,{item:!0,xs:3,children:(0,y.jsx)(r.Fragment,{children:(0,y.jsxs)(l.ZP,{container:!0,children:[(0,y.jsxs)(l.ZP,{item:!0,xs:2,textAlign:"center",justifyContent:"center",justifyItems:"center",children:[(0,y.jsx)(f.FU8,{style:{width:25,color:"rgb(91,91,91)"}}),(0,y.jsx)("div",{style:{color:"rgb(118, 118, 118)",fontSize:12,fontWeight:"400"},children:"Usage"})]}),(0,y.jsx)(l.ZP,{item:!0,xs:1}),(0,y.jsxs)(l.ZP,{item:!0,style:{paddingTop:8},children:[(!t.tiers||0===t.tiers.length)&&(0,y.jsxs)("div",{style:{fontSize:14,fontWeight:400},children:[(0,y.jsxs)("span",{style:{color:"rgb(62,62,62)"},children:["Internal:"," "]})," ","".concat(c.value," ").concat(c.unit)]}),t.tiers&&t.tiers.length>0&&(0,y.jsxs)(r.Fragment,{children:[(0,y.jsxs)("div",{style:{fontSize:14,fontWeight:400},children:[(0,y.jsxs)("span",{style:{color:"rgb(62,62,62)"},children:["Internal:"," "]})," ","".concat(u.value," ").concat(u.unit)]}),(0,y.jsxs)("div",{style:{fontSize:14,fontWeight:400},children:[(0,y.jsxs)("span",{style:{color:"rgb(62,62,62)"},children:["Tiered:"," "]})," ","".concat(h.value," ").concat(h.unit)]})]})]})]})})})]})})]})})})})),w=n(23804),z=n(81806),F=n(75578),T=n(98994),A=n(59114),_=n(74794),I=n(87995),R=n(90673),N=n(27454),P=(0,F.Z)(r.lazy((function(){return n.e(7798).then(n.bind(n,37798))}))),B=(0,u.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},h.OR),h.qg),(0,h.Bz)(e.spacing(4))),{},{theaderSearch:{borderColor:e.palette.grey[200],"& .MuiInputBase-input":{paddingTop:10,paddingBottom:10},"& .MuiInputBase-root":{"& .MuiInputAdornment-root":{"& .min-icon":{color:e.palette.grey[400],height:14}}},actionHeaderItems:{"@media (min-width: 320px)":{marginTop:8}},marginRight:10,marginLeft:10},tenantsList:{height:"calc(100vh - 195px)"},sortByContainer:{display:"flex",justifyContent:"flex-end",marginBottom:10},innerSort:{maxWidth:200,width:"95%",display:"flex",flexDirection:"row",alignItems:"center"},sortByLabel:{whiteSpace:"nowrap",fontSize:14,color:"#838383",fontWeight:"bold",marginRight:10}}))}))((function(e){var t=e.classes,n=(0,S.TL)(),i=(0,m.s0)(),c=(0,r.useState)(!1),u=(0,a.Z)(c,2),h=u[0],v=u[1],j=(0,r.useState)(""),b=(0,a.Z)(j,2),Z=b[0],F=b[1],B=(0,r.useState)([]),k=(0,a.Z)(B,2),L=k[0],E=k[1],D=(0,r.useState)(!1),W=(0,a.Z)(D,2),M=W[0],U=W[1],V=(0,r.useState)(null),q=(0,a.Z)(V,2),O=q[0],H=q[1],K=(0,r.useState)("name"),G=(0,a.Z)(K,2),J=G[0],$=G[1],Q=L.filter((function(e){return""===Z||e.name.indexOf(Z)>=0}));Q.sort((function(e,t){switch(J){case"capacity":return e.capacity&&t.capacity?e.capacity>t.capacity?1:e.capacityt.capacity_usage?1:e.capacity_usaget.name?1:e.name10?v=[{value:g-j.value,color:"#2781B0",label:"Total Tiers Space"}]:v=n.filter((function(e){return"STANDARD"!==e.variant})).map((function(e,t){return{value:e.value,color:p[t],label:"Tier - ".concat(e.variant)}}));var y="#07193E",b=100*j.value/t;b>=90?y="#C83B51":b>=75&&(y="#FFAB0F");var Z=[{value:j.value,color:y,label:"Used Space by Tenant"}].concat((0,a.Z)(v),[{value:m,color:"bar"===f?x:"transparent",label:"Empty Space"}]);if("bar"===f){var S=Z.map((function(e){return{value:e.value,color:e.color,itemName:e.label}}));return(0,c.jsx)("div",{style:{width:"100%",marginBottom:15},children:(0,c.jsx)(u,{totalValue:t,sizeItems:S,bgColor:x})})}return(0,c.jsxs)("div",{style:{position:"relative",width:110,height:110},children:[(0,c.jsx)("div",{style:{position:"absolute",right:-5,top:15,zIndex:400},className:d,children:(0,c.jsx)(o.J$M,{style:{border:"#fff 2px solid",borderRadius:"100%",width:20,height:20}})}),(0,c.jsx)("span",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",fontWeight:"bold",color:"#000",fontSize:12},children:isNaN(g)?"N/A":(0,l.l5)(g)}),(0,c.jsx)("div",{children:(0,c.jsxs)(i.u,{width:110,height:110,children:[(0,c.jsx)(r.b,{data:[{value:100}],cx:"50%",cy:"50%",dataKey:"value",outerRadius:50,innerRadius:40,fill:x,isAnimationActive:!1,stroke:"none"}),(0,c.jsx)(r.b,{data:Z,cx:"50%",cy:"50%",dataKey:"value",outerRadius:50,innerRadius:40,children:Z.map((function(e,t){return(0,c.jsx)(s.b,{fill:e.color,stroke:"none"},"cellCapacity-".concat(t))}))})]})})]})}}}]); -//# sourceMappingURL=3061.12708207.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3061.12708207.chunk.js.map b/portal-ui/build/static/js/3061.12708207.chunk.js.map deleted file mode 100644 index b3106accb..000000000 --- a/portal-ui/build/static/js/3061.12708207.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/3061.12708207.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/AButton/AButton.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Common/VirtualizedList/VirtualizedList.tsx","screens/Console/Tenants/ListTenants/InformationItem.tsx","screens/Console/Tenants/ListTenants/TenantListItem.tsx","screens/Console/Tenants/ListTenants/ListTenants.tsx","screens/Console/Common/UsageBar/UsageBar.tsx","screens/Console/Tenants/ListTenants/TenantCapacity.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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string | React.ReactNode;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { 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 border: 0,\n backgroundColor: \"transparent\",\n textDecoration: \"underline\",\n cursor: \"pointer\",\n fontSize: \"inherit\",\n color: theme.palette.info.main,\n fontFamily: \"Lato, sans-serif\",\n },\n });\n\ninterface IAButton extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst AButton = ({ classes, children, ...rest }: IAButton) => {\n return (\n \n );\n};\n\nexport default withStyles(styles)(AButton);\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) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, ReactElement } from \"react\";\nimport { FixedSizeList as List } from \"react-window\";\nimport InfiniteLoader from \"react-window-infinite-loader\";\nimport { AutoSizer } from \"react-virtualized\";\n\ninterface IVirtualizedList {\n rowRenderFunction: (index: number) => ReactElement | null;\n totalItems: number;\n defaultHeight?: number;\n}\n\nlet itemStatusMap: any = {};\nconst LOADING = 1;\nconst LOADED = 2;\n\nconst VirtualizedList = ({\n rowRenderFunction,\n totalItems,\n defaultHeight,\n}: IVirtualizedList) => {\n const isItemLoaded = (index: any) => !!itemStatusMap[index];\n\n const loadMoreItems = (startIndex: number, stopIndex: number) => {\n for (let index = startIndex; index <= stopIndex; index++) {\n itemStatusMap[index] = LOADING;\n }\n\n for (let index = startIndex; index <= stopIndex; index++) {\n itemStatusMap[index] = LOADED;\n }\n };\n\n const RenderItemLine = ({ index, style }: any) => {\n return

{rowRenderFunction(index)}
;\n };\n\n return (\n \n \n {({ onItemsRendered, ref }) => (\n // @ts-ignore\n \n {({ width, height }) => {\n return (\n \n {RenderItemLine}\n \n );\n }}\n \n )}\n \n \n );\n};\n\nexport default VirtualizedList;\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\";\n\ninterface IInformationItemProps {\n label: string;\n value: string;\n unit?: string;\n variant?: \"normal\" | \"faded\";\n}\n\nconst InformationItem = ({\n label,\n value,\n unit,\n variant = \"normal\",\n}: IInformationItemProps) => {\n return (\n
\n
\n \n {value}\n \n {unit && (\n \n {\" \"}\n \n {unit}\n \n \n )}\n
\n \n {label}\n
\n \n );\n};\n\nexport default InformationItem;\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\";\n\nimport { useNavigate } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport { CapacityValues, ITenant, ValueUnit } from \"./types\";\nimport { setTenantName } from \"../tenantsSlice\";\nimport { getTenantAsync } from \"../thunks/tenantDetailsAsync\";\nimport { DrivesIcon } from \"../../../../icons\";\nimport { niceBytes, niceBytesInt } from \"../../../../common/utils\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport InformationItem from \"./InformationItem\";\nimport TenantCapacity from \"./TenantCapacity\";\nimport { useAppDispatch } from \"../../../../store\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n redState: {\n color: theme.palette.error.main,\n \"& .min-icon\": {\n width: 16,\n height: 16,\n float: \"left\",\n marginRight: 4,\n },\n },\n yellowState: {\n color: theme.palette.warning.main,\n \"& .min-icon\": {\n width: 16,\n height: 16,\n float: \"left\",\n marginRight: 4,\n },\n },\n greenState: {\n color: theme.palette.success.main,\n \"& .min-icon\": {\n width: 16,\n height: 16,\n float: \"left\",\n marginRight: 4,\n },\n },\n greyState: {\n color: \"grey\",\n \"& .min-icon\": {\n width: 16,\n height: 16,\n float: \"left\",\n marginRight: 4,\n },\n },\n tenantIcon: { width: 40, height: 40, position: \"relative\" },\n tenantItem: {\n border: \"1px solid #EAEAEA\",\n marginBottom: 16,\n padding: \"15px 30px\",\n \"&:hover\": {\n backgroundColor: \"#FAFAFA\",\n cursor: \"pointer\",\n },\n },\n titleContainer: {\n display: \"flex\",\n justifyContent: \"space-between\",\n width: \"100%\",\n },\n title: {\n fontSize: 18,\n fontWeight: \"bold\",\n },\n namespaceLabel: {\n display: \"inline-flex\",\n backgroundColor: \"#EAEDEF\",\n borderRadius: 2,\n padding: \"4px 8px\",\n fontSize: 10,\n marginRight: 20,\n },\n status: {\n fontSize: 12,\n color: \"#8F9090\",\n },\n });\n\ninterface ITenantListItem {\n tenant: ITenant;\n classes: any;\n}\n\nconst TenantListItem = ({ tenant, classes }: ITenantListItem) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const healthStatusToClass = (health_status: string) => {\n switch (health_status) {\n case \"red\":\n return classes.redState;\n case \"yellow\":\n return classes.yellowState;\n case \"green\":\n return classes.greenState;\n default:\n return classes.greyState;\n }\n };\n\n let raw: ValueUnit = { value: \"n/a\", unit: \"\" };\n let capacity: ValueUnit = { value: \"n/a\", unit: \"\" };\n let used: ValueUnit = { value: \"n/a\", unit: \"\" };\n let localUse: ValueUnit = { value: \"n/a\", unit: \"\" };\n let tieredUse: ValueUnit = { value: \"n/a\", unit: \"\" };\n\n if (tenant.capacity_raw) {\n const b = niceBytes(`${tenant.capacity_raw}`, true);\n const parts = b.split(\" \");\n raw.value = parts[0];\n raw.unit = parts[1];\n }\n if (tenant.capacity) {\n const b = niceBytes(`${tenant.capacity}`, true);\n const parts = b.split(\" \");\n capacity.value = parts[0];\n capacity.unit = parts[1];\n }\n if (tenant.capacity_usage) {\n const b = niceBytesInt(tenant.capacity_usage, true);\n const parts = b.split(\" \");\n used.value = parts[0];\n used.unit = parts[1];\n }\n\n let spaceVariants: CapacityValues[] = [];\n if (!tenant.tiers || tenant.tiers.length === 0) {\n spaceVariants = [\n { value: tenant.capacity_usage || 0, variant: \"STANDARD\" },\n ];\n } else {\n spaceVariants = tenant.tiers.map((itemTenant) => {\n return { value: itemTenant.size, variant: itemTenant.name };\n });\n let internalUsage = tenant.tiers\n .filter((itemTenant) => {\n return itemTenant.type === \"internal\";\n })\n .reduce((sum, itemTenant) => sum + itemTenant.size, 0);\n let tieredUsage = tenant.tiers\n .filter((itemTenant) => {\n return itemTenant.type !== \"internal\";\n })\n .reduce((sum, itemTenant) => sum + itemTenant.size, 0);\n\n const t = niceBytesInt(tieredUsage, true);\n const parts = t.split(\" \");\n tieredUse.value = parts[0];\n tieredUse.unit = parts[1];\n\n const is = niceBytesInt(internalUsage, true);\n const partsInternal = is.split(\" \");\n localUse.value = partsInternal[0];\n localUse.unit = partsInternal[1];\n }\n\n const openTenantDetails = () => {\n dispatch(\n setTenantName({\n name: tenant.name,\n namespace: tenant.namespace,\n })\n );\n dispatch(getTenantAsync());\n navigate(`/namespaces/${tenant.namespace}/tenants/${tenant.name}/summary`);\n };\n\n return (\n \n \n \n \n
\n {tenant.name}\n
\n
\n \n Namespace: {tenant.namespace}\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n State: {tenant.currentState}\n \n \n \n \n \n \n \n \n \n Usage\n \n \n \n \n {(!tenant.tiers || tenant.tiers.length === 0) && (\n \n \n Internal:{\" \"}\n {\" \"}\n {`${used.value} ${used.unit}`}\n \n )}\n\n {tenant.tiers && tenant.tiers.length > 0 && (\n \n \n \n Internal:{\" \"}\n {\" \"}\n {`${localUse.value} ${localUse.unit}`}\n \n \n \n Tiered:{\" \"}\n {\" \"}\n {`${tieredUse.value} ${tieredUse.unit}`}\n \n \n )}\n \n \n \n \n
\n \n \n \n
\n );\n};\n\nexport default withStyles(styles)(TenantListItem);\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 { Button } from \"mds\";\nimport Grid from \"@mui/material/Grid\";\nimport { LinearProgress, SelectChangeEvent } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { ITenant, ITenantsResponse } from \"./types\";\nimport { niceBytes } from \"../../../../common/utils\";\nimport { NewServiceAccount } from \"../../Common/CredentialsPrompt/types\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\n\nimport { AddIcon, TenantsIcon } from \"../../../../icons\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport RefreshIcon from \"../../../../icons/RefreshIcon\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport TenantListItem from \"./TenantListItem\";\nimport HelpBox from \"../../../../common/HelpBox\";\nimport AButton from \"../../Common/AButton/AButton\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport VirtualizedList from \"../../Common/VirtualizedList/VirtualizedList\";\nimport SearchBox from \"../../Common/SearchBox\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { useNavigate } from \"react-router-dom\";\nimport { useAppDispatch } from \"../../../../store\";\nimport TooltipWrapper from \"../../Common/TooltipWrapper/TooltipWrapper\";\n\nconst CredentialsPrompt = withSuspense(\n React.lazy(() => import(\"../../Common/CredentialsPrompt/CredentialsPrompt\"))\n);\n\ninterface ITenantsList {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...actionsTray,\n ...searchField,\n ...containerForHeader(theme.spacing(4)),\n theaderSearch: {\n borderColor: theme.palette.grey[\"200\"],\n \"& .MuiInputBase-input\": {\n paddingTop: 10,\n paddingBottom: 10,\n },\n \"& .MuiInputBase-root\": {\n \"& .MuiInputAdornment-root\": {\n \"& .min-icon\": {\n color: theme.palette.grey[\"400\"],\n height: 14,\n },\n },\n },\n actionHeaderItems: {\n \"@media (min-width: 320px)\": {\n marginTop: 8,\n },\n },\n marginRight: 10,\n marginLeft: 10,\n },\n tenantsList: {\n height: \"calc(100vh - 195px)\",\n },\n sortByContainer: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n marginBottom: 10,\n },\n innerSort: {\n maxWidth: 200,\n width: \"95%\",\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n },\n sortByLabel: {\n whiteSpace: \"nowrap\",\n fontSize: 14,\n color: \"#838383\",\n fontWeight: \"bold\",\n marginRight: 10,\n },\n });\n\nconst ListTenants = ({ classes }: ITenantsList) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const [isLoading, setIsLoading] = useState(false);\n const [filterTenants, setFilterTenants] = useState(\"\");\n const [records, setRecords] = useState([]);\n const [showNewCredentials, setShowNewCredentials] = useState(false);\n const [createdAccount, setCreatedAccount] =\n useState(null);\n const [sortValue, setSortValue] = useState(\"name\");\n\n const closeCredentialsModal = () => {\n setShowNewCredentials(false);\n setCreatedAccount(null);\n };\n\n const filteredRecords = records.filter((b: any) => {\n if (filterTenants === \"\") {\n return true;\n } else {\n if (b.name.indexOf(filterTenants) >= 0) {\n return true;\n } else {\n return false;\n }\n }\n });\n\n filteredRecords.sort((a, b) => {\n switch (sortValue) {\n case \"capacity\":\n if (!a.capacity || !b.capacity) {\n return 0;\n }\n\n if (a.capacity > b.capacity) {\n return 1;\n }\n\n if (a.capacity < b.capacity) {\n return -1;\n }\n\n return 0;\n case \"usage\":\n if (!a.capacity_usage || !b.capacity_usage) {\n return 0;\n }\n\n if (a.capacity_usage > b.capacity_usage) {\n return 1;\n }\n\n if (a.capacity_usage < b.capacity_usage) {\n return -1;\n }\n\n return 0;\n case \"active_status\":\n if (a.health_status === \"red\" && b.health_status !== \"red\") {\n return 1;\n }\n\n if (a.health_status !== \"red\" && b.health_status === \"red\") {\n return -1;\n }\n\n return 0;\n case \"failing_status\":\n if (a.health_status === \"green\" && b.health_status !== \"green\") {\n return 1;\n }\n\n if (a.health_status !== \"green\" && b.health_status === \"green\") {\n return -1;\n }\n\n return 0;\n default:\n if (a.name > b.name) {\n return 1;\n }\n if (a.name < b.name) {\n return -1;\n }\n return 0;\n }\n });\n\n useEffect(() => {\n if (isLoading) {\n const fetchRecords = () => {\n api\n .invoke(\"GET\", `/api/v1/tenants`)\n .then((res: ITenantsResponse) => {\n if (res === null) {\n setIsLoading(false);\n return;\n }\n let resTenants: ITenant[] = [];\n if (res.tenants !== null) {\n resTenants = res.tenants;\n }\n\n for (let i = 0; i < resTenants.length; i++) {\n resTenants[i].total_capacity = niceBytes(\n resTenants[i].total_size + \"\"\n );\n }\n\n setRecords(resTenants);\n setIsLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setIsLoading(false);\n });\n };\n fetchRecords();\n }\n }, [isLoading, dispatch]);\n\n useEffect(() => {\n setIsLoading(true);\n }, []);\n\n const renderItemLine = (index: number) => {\n const tenant = filteredRecords[index] || null;\n\n if (tenant) {\n return ;\n }\n\n return null;\n };\n\n return (\n \n {showNewCredentials && (\n {\n closeCredentialsModal();\n }}\n entity=\"Tenant\"\n />\n )}\n {\n setFilterTenants(val);\n }}\n value={filterTenants}\n />\n }\n actions={\n \n \n {\n setIsLoading(true);\n }}\n icon={}\n variant={\"regular\"}\n />\n \n \n {\n navigate(\"/tenants/add\");\n }}\n icon={}\n variant={\"callAction\"}\n />\n \n \n }\n />\n \n \n {isLoading && }\n {!isLoading && (\n \n {filteredRecords.length !== 0 && (\n \n \n
\n Sort by\n ) => {\n setSortValue(e.target.value as string);\n }}\n name={\"sort-by\"}\n options={[\n { label: \"Name\", value: \"name\" },\n {\n label: \"Capacity\",\n value: \"capacity\",\n },\n {\n label: \"Usage\",\n value: \"usage\",\n },\n {\n label: \"Active Status\",\n value: \"active_status\",\n },\n {\n label: \"Failing Status\",\n value: \"failing_status\",\n },\n ]}\n />\n
\n
\n \n
\n )}\n {filteredRecords.length === 0 && (\n \n \n }\n title={\"Tenants\"}\n help={\n \n Tenant is the logical structure to represent a MinIO\n deployment. A tenant can have different size and\n configurations from other tenants, even a different\n storage class.\n
\n
\n To get started, \n {\n navigate(\"/tenants/add\");\n }}\n >\n Create a Tenant.\n \n
\n }\n />\n
\n
\n )}\n
\n )}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ListTenants);\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\nexport interface ISizeBarItem {\n value: number;\n itemName: string;\n color: string;\n}\n\nexport interface IUsageBar {\n totalValue: number;\n sizeItems: ISizeBarItem[];\n bgColor?: string;\n}\n\nconst UsageBar = ({\n totalValue,\n sizeItems,\n bgColor = \"#ededed\",\n}: IUsageBar) => {\n return (\n \n {sizeItems.map((sizeElement, index) => {\n const itemPercentage = (sizeElement.value * 100) / totalValue;\n return (\n \n );\n })}\n \n );\n};\n\nexport default UsageBar;\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 { Cell, Pie, PieChart } from \"recharts\";\nimport { CapacityValue, CapacityValues } from \"./types\";\nimport { niceBytesInt } from \"../../../../common/utils\";\nimport { CircleIcon } from \"../../../../icons\";\nimport UsageBar, { ISizeBarItem } from \"../../Common/UsageBar/UsageBar\";\n\ninterface ITenantCapacity {\n totalCapacity: number;\n usedSpaceVariants: CapacityValues[];\n statusClass: string;\n render?: \"pie\" | \"bar\";\n}\n\nconst TenantCapacity = ({\n totalCapacity,\n usedSpaceVariants,\n statusClass,\n render = \"pie\",\n}: ITenantCapacity) => {\n const colors = [\n \"#8dacd3\",\n \"#bca1ea\",\n \"#92e8d2\",\n \"#efc9ac\",\n \"#97f274\",\n \"#f7d291\",\n \"#71ACCB\",\n \"#f28282\",\n \"#e28cc1\",\n \"#2781B0\",\n ];\n\n const BGColor = \"#ededed\";\n\n const totalUsedSpace = usedSpaceVariants.reduce((acc, currValue) => {\n return acc + currValue.value;\n }, 0);\n\n const emptySpace = totalCapacity - totalUsedSpace;\n\n let tiersList: CapacityValue[] = [];\n\n const standardTier = usedSpaceVariants.find(\n (tier) => tier.variant === \"STANDARD\"\n ) || {\n value: 0,\n variant: \"empty\",\n };\n\n if (usedSpaceVariants.length > 10) {\n const totalUsedByTiers = totalUsedSpace - standardTier.value;\n\n tiersList = [\n { value: totalUsedByTiers, color: \"#2781B0\", label: \"Total Tiers Space\" },\n ];\n } else {\n tiersList = usedSpaceVariants\n .filter((variant) => variant.variant !== \"STANDARD\")\n .map((variant, index) => {\n return {\n value: variant.value,\n color: colors[index],\n label: `Tier - ${variant.variant}`,\n };\n });\n }\n\n let standardTierColor = \"#07193E\";\n\n const usedPercentage = (standardTier.value * 100) / totalCapacity;\n\n if (usedPercentage >= 90) {\n standardTierColor = \"#C83B51\";\n } else if (usedPercentage >= 75) {\n standardTierColor = \"#FFAB0F\";\n }\n\n const plotValues: CapacityValue[] = [\n {\n value: standardTier.value,\n color: standardTierColor,\n label: \"Used Space by Tenant\",\n },\n ...tiersList,\n {\n value: emptySpace,\n color: render === \"bar\" ? BGColor : \"transparent\",\n label: \"Empty Space\",\n },\n ];\n\n if (render === \"bar\") {\n const plotValuesForUsageBar: ISizeBarItem[] = plotValues.map((plotVal) => {\n return {\n value: plotVal.value,\n color: plotVal.color,\n itemName: plotVal.label,\n };\n });\n\n return (\n
\n \n
\n );\n }\n\n return (\n
\n \n \n
\n \n {!isNaN(totalUsedSpace) ? niceBytesInt(totalUsedSpace) : \"N/A\"}\n \n
\n \n \n \n {plotValues.map((entry, index) => (\n \n ))}\n \n \n
\n \n );\n};\n\nexport default TenantCapacity;\n"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","padding","margin","textDecoration","cursor","color","palette","info","main","fontFamily","children","rest","WrappedComponent","fallback","ComponentWithSuspense","props","Suspense","searchField","adornment","placeholder","onChange","adornmentPosition","overrideClass","value","inputProps","disableUnderline","position","id","label","InputProps","e","target","variant","itemStatusMap","rowRenderFunction","totalItems","defaultHeight","RenderItemLine","index","style","Fragment","isItemLoaded","loadMoreItems","startIndex","stopIndex","itemCount","onItemsRendered","ref","itemSize","unit","textAlign","whiteSpace","redState","error","float","yellowState","warning","greenState","success","greyState","tenantIcon","tenantItem","titleContainer","justifyContent","namespaceLabel","status","tenant","dispatch","useAppDispatch","navigate","useNavigate","raw","capacity","used","localUse","tieredUse","capacity_raw","parts","niceBytes","split","capacity_usage","niceBytesInt","spaceVariants","tiers","length","map","itemTenant","size","name","internalUsage","filter","type","reduce","sum","tieredUsage","partsInternal","onClick","setTenantName","namespace","getTenantAsync","Grid","sx","marginTop","TenantCapacity","totalCapacity","usedSpaceVariants","statusClass","health_status","healthStatusToClass","pool_count","toString","currentState","justifyItems","CredentialsPrompt","withSuspense","React","actionsTray","containerForHeader","spacing","theaderSearch","borderColor","grey","actionHeaderItems","marginLeft","tenantsList","sortByContainer","innerSort","maxWidth","flexDirection","sortByLabel","useState","isLoading","setIsLoading","filterTenants","setFilterTenants","records","setRecords","showNewCredentials","setShowNewCredentials","createdAccount","setCreatedAccount","sortValue","setSortValue","filteredRecords","b","indexOf","sort","a","useEffect","api","then","res","resTenants","tenants","i","total_capacity","total_size","catch","err","setErrorSnackMessage","newServiceAccount","open","closeModal","entity","PageHeader","middleComponent","SearchBox","val","actions","TooltipWrapper","tooltip","icon","RefreshIcon","PageLayout","LinearProgress","SelectWrapper","options","VirtualizedList","alignContent","HelpBox","AButton","totalValue","sizeItems","bgColor","transitionDuration","overflow","sizeElement","itemPercentage","render","colors","BGColor","totalUsedSpace","acc","currValue","emptySpace","tiersList","standardTier","find","tier","standardTierColor","usedPercentage","plotValues","plotValuesForUsageBar","plotVal","itemName","right","top","zIndex","left","transform","isNaN","PieChart","Pie","data","cx","cy","dataKey","outerRadius","innerRadius","fill","isAnimationActive","stroke","entry","Cell"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3061.ef8f8361.chunk.js b/portal-ui/build/static/js/3061.ef8f8361.chunk.js new file mode 100644 index 000000000..f3de5ee91 --- /dev/null +++ b/portal-ui/build/static/js/3061.ef8f8361.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3061],{23804:function(e,t,n){n(72791);var a=n(11135),i=n(25787),r=n(61889),s=n(80184);t.Z=(0,i.Z)((function(e){return(0,a.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var t=e.classes,n=e.iconComponent,a=e.title,i=e.help;return(0,s.jsx)("div",{className:t.root,children:(0,s.jsxs)(r.ZP,{container:!0,children:[(0,s.jsxs)(r.ZP,{item:!0,xs:12,className:t.leftItems,children:[n,a]}),(0,s.jsx)(r.ZP,{item:!0,xs:12,className:t.helpText,children:i})]})})}))},81806:function(e,t,n){var a=n(1413),i=n(45987),r=(n(72791),n(11135)),s=n(25787),l=n(80184),o=["classes","children"];t.Z=(0,s.Z)((function(e){return(0,r.Z)({root:{padding:0,margin:0,border:0,backgroundColor:"transparent",textDecoration:"underline",cursor:"pointer",fontSize:"inherit",color:e.palette.info.main,fontFamily:"Lato, sans-serif"}})}))((function(e){var t=e.classes,n=e.children,r=(0,i.Z)(e,o);return(0,l.jsx)("button",(0,a.Z)((0,a.Z)({},r),{},{className:t.root,children:n}))}))},75578:function(e,t,n){var a=n(1413),i=n(72791),r=n(80184);t.Z=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function n(n){return(0,r.jsx)(i.Suspense,{fallback:t,children:(0,r.jsx)(e,(0,a.Z)({},n))})}return n}},59114:function(e,t,n){var a=n(4942),i=n(1413),r=(n(72791),n(63466)),s=n(75952),l=n(27391),o=n(25787),c=n(11135),u=n(23814),d=n(80184);t.Z=(0,o.Z)((function(e){return(0,c.Z)({searchField:(0,i.Z)({},u.qg.searchField),adornment:{}})}))((function(e){var t=e.placeholder,n=void 0===t?"":t,i=e.classes,o=e.onChange,c=e.adornmentPosition,u=void 0===c?"end":c,h=e.overrideClass,f=e.value,p=(0,a.Z)({disableUnderline:!0},"".concat(u,"Adornment"),(0,d.jsx)(r.Z,{position:u,className:i.adornment,children:(0,d.jsx)(s.W1M,{})}));return(0,d.jsx)(l.Z,{placeholder:n,className:h||i.searchField,id:"search-resource",label:"",InputProps:p,onChange:function(e){o(e.target.value)},variant:"standard",value:f})}))},98994:function(e,t,n){var a=n(72791),i=n(22338),r=n(79762),s=n(5171),l=n(80184),o={};t.Z=function(e){var t=e.rowRenderFunction,n=e.totalItems,c=e.defaultHeight,u=function(e){var n=e.index,a=e.style;return(0,l.jsx)("div",{style:a,children:t(n)})};return(0,l.jsx)(a.Fragment,{children:(0,l.jsx)(r.Z,{isItemLoaded:function(e){return!!o[e]},loadMoreItems:function(e,t){for(var n=e;n<=t;n++)o[n]=1;for(var a=e;a<=t;a++)o[a]=2},itemCount:n,children:function(e){var t=e.onItemsRendered,a=e.ref;return(0,l.jsx)(s.qj,{children:function(e){var r=e.width,s=e.height;return(0,l.jsx)(i.t7,{itemSize:c||220,height:s,itemCount:n,width:r,ref:a,onItemsRendered:t,children:u})}})}})})}},3061:function(e,t,n){n.r(t),n.d(t,{default:function(){return N}});var a=n(29439),i=n(1413),r=n(72791),s=n(75952),l=n(61889),o=n(40986),c=n(11135),u=n(25787),d=n(45248),h=n(23814),f=n(81207),p=n(32291),x=n(57689),g=n(17238),m=n(82295),v=n(80184),j=function(e){var t=e.label,n=e.value,a=e.unit,i=e.variant,s=void 0===i?"normal":i;return(0,v.jsxs)("div",{style:{margin:"0px 20px"},children:[(0,v.jsxs)("div",{style:{textAlign:"center"},children:[(0,v.jsx)("span",{style:{fontSize:18,color:"normal"===s?"#000":"#999",fontWeight:400},children:n}),a&&(0,v.jsxs)(r.Fragment,{children:[" ",(0,v.jsx)("span",{style:{fontSize:12,color:"#8F9090",fontWeight:"bold"},children:a})]})]}),(0,v.jsx)("div",{style:{textAlign:"center",color:"normal"===s?"#767676":"#bababa",fontSize:12,whiteSpace:"nowrap"},children:t})]})},y=n(74815),b=n(25469),Z=(0,u.Z)((function(e){return(0,c.Z)({redState:{color:e.palette.error.main,"& .min-icon":{width:16,height:16,float:"left",marginRight:4}},yellowState:{color:e.palette.warning.main,"& .min-icon":{width:16,height:16,float:"left",marginRight:4}},greenState:{color:e.palette.success.main,"& .min-icon":{width:16,height:16,float:"left",marginRight:4}},greyState:{color:"grey","& .min-icon":{width:16,height:16,float:"left",marginRight:4}},tenantIcon:{width:40,height:40,position:"relative"},tenantItem:{border:"1px solid #EAEAEA",marginBottom:16,padding:"15px 30px","&:hover":{backgroundColor:"#FAFAFA",cursor:"pointer"}},titleContainer:{display:"flex",justifyContent:"space-between",width:"100%"},title:{fontSize:18,fontWeight:"bold"},namespaceLabel:{display:"inline-flex",backgroundColor:"#EAEDEF",borderRadius:2,padding:"4px 8px",fontSize:10,marginRight:20},status:{fontSize:12,color:"#8F9090"}})}))((function(e){var t=e.tenant,n=e.classes,a=(0,b.TL)(),i=(0,x.s0)(),o={value:"n/a",unit:""},c={value:"n/a",unit:""},u={value:"n/a",unit:""},h={value:"n/a",unit:""},f={value:"n/a",unit:""};if(t.capacity_raw){var p=(0,d.ae)("".concat(t.capacity_raw),!0).split(" ");o.value=p[0],o.unit=p[1]}if(t.capacity){var Z=(0,d.ae)("".concat(t.capacity),!0).split(" ");c.value=Z[0],c.unit=Z[1]}if(t.capacity_usage){var S=(0,d.l5)(t.capacity_usage,!0).split(" ");u.value=S[0],u.unit=S[1]}var C=[];if(t.tiers&&0!==t.tiers.length){C=t.tiers.map((function(e){return{value:e.size,variant:e.name}}));var w=t.tiers.filter((function(e){return"internal"===e.type})).reduce((function(e,t){return e+t.size}),0),z=t.tiers.filter((function(e){return"internal"!==e.type})).reduce((function(e,t){return e+t.size}),0),F=(0,d.l5)(z,!0).split(" ");f.value=F[0],f.unit=F[1];var T=(0,d.l5)(w,!0).split(" ");h.value=T[0],h.unit=T[1]}else C=[{value:t.capacity_usage||0,variant:"STANDARD"}];return(0,v.jsx)(r.Fragment,{children:(0,v.jsx)("div",{className:n.tenantItem,id:"list-tenant-".concat(t.name),onClick:function(){a((0,g.V7)({name:t.name,namespace:t.namespace})),a((0,m.v)()),i("/namespaces/".concat(t.namespace,"/tenants/").concat(t.name,"/summary"))},children:(0,v.jsxs)(l.ZP,{container:!0,children:[(0,v.jsxs)(l.ZP,{item:!0,xs:12,className:n.titleContainer,children:[(0,v.jsx)("div",{className:n.title,children:(0,v.jsx)("span",{children:t.name})}),(0,v.jsx)("div",{children:(0,v.jsxs)("span",{className:n.namespaceLabel,children:["Namespace:\xa0",t.namespace]})})]}),(0,v.jsx)(l.ZP,{item:!0,xs:12,sx:{marginTop:2},children:(0,v.jsxs)(l.ZP,{container:!0,children:[(0,v.jsx)(l.ZP,{item:!0,xs:2,children:(0,v.jsx)(y.Z,{totalCapacity:t.capacity||0,usedSpaceVariants:C,statusClass:function(e){switch(e){case"red":return n.redState;case"yellow":return n.yellowState;case"green":return n.greenState;default:return n.greyState}}(t.health_status)})}),(0,v.jsxs)(l.ZP,{item:!0,xs:!0,children:[(0,v.jsxs)(l.ZP,{item:!0,xs:!0,sx:{display:"flex",justifyContent:"flex-start",alignItems:"center",marginTop:"10px"},children:[(0,v.jsx)(j,{label:"Raw Capacity",value:o.value,unit:o.unit}),(0,v.jsx)(j,{label:"Usable Capacity",value:c.value,unit:c.unit}),(0,v.jsx)(j,{label:"Pools",value:t.pool_count.toString(),variant:"faded"})]}),(0,v.jsx)(l.ZP,{item:!0,xs:12,sx:{paddingLeft:"20px",marginTop:"15px"},children:(0,v.jsxs)("span",{className:n.status,children:[(0,v.jsx)("strong",{children:"State:"})," ",t.currentState]})})]}),(0,v.jsx)(l.ZP,{item:!0,xs:3,children:(0,v.jsx)(r.Fragment,{children:(0,v.jsxs)(l.ZP,{container:!0,children:[(0,v.jsxs)(l.ZP,{item:!0,xs:2,textAlign:"center",justifyContent:"center",justifyItems:"center",children:[(0,v.jsx)(s.FU8,{style:{width:25,color:"rgb(91,91,91)"}}),(0,v.jsx)("div",{style:{color:"rgb(118, 118, 118)",fontSize:12,fontWeight:"400"},children:"Usage"})]}),(0,v.jsx)(l.ZP,{item:!0,xs:1}),(0,v.jsxs)(l.ZP,{item:!0,style:{paddingTop:8},children:[(!t.tiers||0===t.tiers.length)&&(0,v.jsxs)("div",{style:{fontSize:14,fontWeight:400},children:[(0,v.jsxs)("span",{style:{color:"rgb(62,62,62)"},children:["Internal:"," "]})," ","".concat(u.value," ").concat(u.unit)]}),t.tiers&&t.tiers.length>0&&(0,v.jsxs)(r.Fragment,{children:[(0,v.jsxs)("div",{style:{fontSize:14,fontWeight:400},children:[(0,v.jsxs)("span",{style:{color:"rgb(62,62,62)"},children:["Internal:"," "]})," ","".concat(h.value," ").concat(h.unit)]}),(0,v.jsxs)("div",{style:{fontSize:14,fontWeight:400},children:[(0,v.jsxs)("span",{style:{color:"rgb(62,62,62)"},children:["Tiered:"," "]})," ","".concat(f.value," ").concat(f.unit)]})]})]})]})})})]})})]})})})})),S=n(23804),C=n(81806),w=n(75578),z=n(98994),F=n(59114),T=n(74794),A=n(87995),_=n(90673),I=n(27454),R=(0,w.Z)(r.lazy((function(){return n.e(7798).then(n.bind(n,37798))}))),N=(0,u.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},h.OR),h.qg),(0,h.Bz)(e.spacing(4))),{},{theaderSearch:{borderColor:e.palette.grey[200],"& .MuiInputBase-input":{paddingTop:10,paddingBottom:10},"& .MuiInputBase-root":{"& .MuiInputAdornment-root":{"& .min-icon":{color:e.palette.grey[400],height:14}}},actionHeaderItems:{"@media (min-width: 320px)":{marginTop:8}},marginRight:10,marginLeft:10},tenantsList:{height:"calc(100vh - 195px)"},sortByContainer:{display:"flex",justifyContent:"flex-end",marginBottom:10},innerSort:{maxWidth:200,width:"95%",display:"flex",flexDirection:"row",alignItems:"center"},sortByLabel:{whiteSpace:"nowrap",fontSize:14,color:"#838383",fontWeight:"bold",marginRight:10}}))}))((function(e){var t=e.classes,n=(0,b.TL)(),i=(0,x.s0)(),c=(0,r.useState)(!1),u=(0,a.Z)(c,2),h=u[0],g=u[1],m=(0,r.useState)(""),j=(0,a.Z)(m,2),y=j[0],w=j[1],N=(0,r.useState)([]),P=(0,a.Z)(N,2),k=P[0],B=P[1],L=(0,r.useState)(!1),E=(0,a.Z)(L,2),D=E[0],W=E[1],M=(0,r.useState)(null),U=(0,a.Z)(M,2),V=U[0],q=U[1],K=(0,r.useState)("name"),O=(0,a.Z)(K,2),H=O[0],G=O[1],J=k.filter((function(e){return""===y||e.name.indexOf(y)>=0}));J.sort((function(e,t){switch(H){case"capacity":return e.capacity&&t.capacity?e.capacity>t.capacity?1:e.capacityt.capacity_usage?1:e.capacity_usaget.name?1:e.name10?v=[{value:g-j.value,color:"#2781B0",label:"Total Tiers Space"}]:v=n.filter((function(e){return"STANDARD"!==e.variant})).map((function(e,t){return{value:e.value,color:p[t],label:"Tier - ".concat(e.variant)}}));var y="#07193E",b=100*j.value/t;b>=90?y="#C83B51":b>=75&&(y="#FFAB0F");var Z=[{value:j.value,color:y,label:"Used Space by Tenant"}].concat((0,a.Z)(v),[{value:m,color:"bar"===f?x:"transparent",label:"Empty Space"}]);if("bar"===f){var S=Z.map((function(e){return{value:e.value,color:e.color,itemName:e.label}}));return(0,c.jsx)("div",{style:{width:"100%",marginBottom:15},children:(0,c.jsx)(u,{totalValue:t,sizeItems:S,bgColor:x})})}return(0,c.jsxs)("div",{style:{position:"relative",width:110,height:110},children:[(0,c.jsx)("div",{style:{position:"absolute",right:-5,top:15,zIndex:400},className:d,children:(0,c.jsx)(o.J$M,{style:{border:"#fff 2px solid",borderRadius:"100%",width:20,height:20}})}),(0,c.jsx)("span",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",fontWeight:"bold",color:"#000",fontSize:12},children:isNaN(g)?"N/A":(0,l.l5)(g)}),(0,c.jsx)("div",{children:(0,c.jsxs)(i.u,{width:110,height:110,children:[(0,c.jsx)(r.b,{data:[{value:100}],cx:"50%",cy:"50%",dataKey:"value",outerRadius:50,innerRadius:40,fill:x,isAnimationActive:!1,stroke:"none"}),(0,c.jsx)(r.b,{data:Z,cx:"50%",cy:"50%",dataKey:"value",outerRadius:50,innerRadius:40,children:Z.map((function(e,t){return(0,c.jsx)(s.b,{fill:e.color,stroke:"none"},"cellCapacity-".concat(t))}))})]})})]})}}}]); +//# sourceMappingURL=3061.ef8f8361.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3061.ef8f8361.chunk.js.map b/portal-ui/build/static/js/3061.ef8f8361.chunk.js.map new file mode 100644 index 000000000..5d0304d38 --- /dev/null +++ b/portal-ui/build/static/js/3061.ef8f8361.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3061.ef8f8361.chunk.js","mappings":"sKA0EA,KAAeA,EAAAA,EAAAA,IApDA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,GAAa,CACXC,KAAM,CACJC,OAAQ,oBACRC,aAAc,EACdC,gBAAiB,UACjBC,YAAa,GACbC,WAAY,GACZC,cAAe,GACfC,aAAc,IAEhBC,UAAW,CACTC,SAAU,GACVC,WAAY,OACZC,aAAc,GACdC,QAAS,OACTC,WAAY,SACZ,cAAe,CACbC,YAAa,GACbC,OAAQ,GACRC,MAAO,KAGXC,SAAU,CACRR,SAAU,GACVL,YAAa,IAEd,GAyBL,EAhBgB,SAAH,GAA2D,IAArDc,EAAO,EAAPA,QAASC,EAAa,EAAbA,cAAeC,EAAK,EAALA,MAAOC,EAAI,EAAJA,KAChD,OACE,gBAAKC,UAAWJ,EAAQlB,KAAK,UAC3B,UAAC,KAAI,CAACuB,WAAS,aACb,UAAC,KAAI,CAACC,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQV,UAAU,UAC7CW,EACAC,MAEH,SAAC,KAAI,CAACI,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQD,SAAS,SAC5CI,QAKX,G,sHCtBA,KAAexB,EAAAA,EAAAA,IA5BA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,GAAa,CACXC,KAAM,CACJ0B,QAAS,EACTC,OAAQ,EACR1B,OAAQ,EACRE,gBAAiB,cACjByB,eAAgB,YAChBC,OAAQ,UACRpB,SAAU,UACVqB,MAAOhC,EAAMiC,QAAQC,KAAKC,KAC1BC,WAAY,qBAEb,GAeL,EARgB,SAAH,GAAkD,IAA5ChB,EAAO,EAAPA,QAASiB,EAAQ,EAARA,SAAaC,GAAI,YAC3C,OACE,qCAAYA,GAAI,IAAEd,UAAWJ,EAAQlB,KAAK,SACvCmC,IAGP,G,4DCfA,IAfA,SACEE,GAEC,IADDC,EAAmC,uDAAG,KAEtC,SAASC,EAAsBC,GAC7B,OACE,SAAC,EAAAC,SAAQ,CAACH,SAAUA,EAAS,UAC3B,SAACD,GAAgB,UAAMG,KAG7B,CAEA,OAAOD,CACT,C,wIC8CA,KAAe1C,EAAAA,EAAAA,IApDA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,GAAa,CACX2C,aAAY,UACPA,EAAAA,GAAAA,aAELC,UAAW,CAAC,GACX,GA8CL,EAnCkB,SAAH,GAOQ,IAAD,IANpBC,YAAAA,OAAW,MAAG,GAAE,EAChB1B,EAAO,EAAPA,QACA2B,EAAQ,EAARA,SAAS,EAAD,EACRC,kBAAAA,OAAiB,MAAG,MAAK,EACzBC,EAAa,EAAbA,cACAC,EAAK,EAALA,MAEMC,GAAU,QACdC,kBAAkB,GAAI,UAClBJ,EAAiB,cACnB,SAAC,IAAc,CACbK,SAAUL,EACVxB,UAAWJ,EAAQyB,UAAU,UAE7B,SAAC,MAAU,OAIjB,OACE,SAAC,IAAS,CACRC,YAAaA,EACbtB,UAAWyB,GAAgC7B,EAAQwB,YACnDU,GAAG,kBACHC,MAAM,GACNC,WAAYL,EACZJ,SAAU,SAACU,GACTV,EAASU,EAAEC,OAAOR,MACpB,EACAS,QAAQ,WACRT,MAAOA,GAGb,G,kFChDIU,EAAqB,CAAC,EAwD1B,IApDwB,SAAH,GAII,IAHvBC,EAAiB,EAAjBA,kBACAC,EAAU,EAAVA,WACAC,EAAa,EAAbA,cAcMC,EAAiB,SAAH,GAA+B,IAAzBC,EAAK,EAALA,MAAOC,EAAK,EAALA,MAC/B,OAAO,gBAAKA,MAAOA,EAAM,SAAEL,EAAkBI,IAC/C,EAEA,OACE,SAAC,EAAAE,SAAQ,WACP,SAAC,IAAc,CACbC,aAnBe,SAACH,GAAU,QAAOL,EAAcK,EAAO,EAoBtDI,cAlBgB,SAACC,EAAoBC,GACzC,IAAK,IAAIN,EAAQK,EAAYL,GAASM,EAAWN,IAC/CL,EAAcK,GAZJ,EAeZ,IAAK,IAAIA,EAAQK,EAAYL,GAASM,EAAWN,IAC/CL,EAAcK,GAfL,CAiBb,EAWMO,UAAWV,EAAW,SAErB,gBAAGW,EAAe,EAAfA,gBAAiBC,EAAG,EAAHA,IAAG,OAEtB,SAAC,KAAS,UACP,YAAwB,IAArBxD,EAAK,EAALA,MAAOD,EAAM,EAANA,OACT,OACE,SAAC,KAAI,CACH0D,SAAUZ,GAAiB,IAC3B9C,OAAQA,EACRuD,UAAWV,EACX5C,MAAOA,EACPwD,IAAKA,EACLD,gBAAiBA,EAAgB,SAEhCT,GAGP,GACU,KAKtB,C,uPCbA,EA3CwB,SAAH,GAKS,IAJ5BT,EAAK,EAALA,MACAL,EAAK,EAALA,MACA0B,EAAI,EAAJA,KAAK,EAAD,EACJjB,QAAAA,OAAO,MAAG,SAAQ,EAElB,OACE,iBAAKO,MAAO,CAAErC,OAAQ,YAAa,WACjC,iBAAKqC,MAAO,CAAEW,UAAW,UAAW,WAClC,iBACEX,MAAO,CACLvD,SAAU,GACVqB,MAAmB,WAAZ2B,EAAuB,OAAS,OACvC/C,WAAY,KACZ,SAEDsC,IAEF0B,IACC,UAAC,EAAAT,SAAQ,WACN,KACD,iBACED,MAAO,CAAEvD,SAAU,GAAIqB,MAAO,UAAWpB,WAAY,QAAS,SAE7DgE,WAKT,gBACEV,MAAO,CACLW,UAAW,SACX7C,MAAmB,WAAZ2B,EAAuB,UAAY,UAC1ChD,SAAU,GACVmE,WAAY,UACZ,SAEDvB,MAIT,E,sBCuRA,GAAexD,EAAAA,EAAAA,IAzTA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,GAAa,CACX8E,SAAU,CACR/C,MAAOhC,EAAMiC,QAAQ+C,MAAM7C,KAC3B,cAAe,CACbjB,MAAO,GACPD,OAAQ,GACRgE,MAAO,OACPjE,YAAa,IAGjBkE,YAAa,CACXlD,MAAOhC,EAAMiC,QAAQkD,QAAQhD,KAC7B,cAAe,CACbjB,MAAO,GACPD,OAAQ,GACRgE,MAAO,OACPjE,YAAa,IAGjBoE,WAAY,CACVpD,MAAOhC,EAAMiC,QAAQoD,QAAQlD,KAC7B,cAAe,CACbjB,MAAO,GACPD,OAAQ,GACRgE,MAAO,OACPjE,YAAa,IAGjBsE,UAAW,CACTtD,MAAO,OACP,cAAe,CACbd,MAAO,GACPD,OAAQ,GACRgE,MAAO,OACPjE,YAAa,IAGjBuE,WAAY,CAAErE,MAAO,GAAID,OAAQ,GAAIoC,SAAU,YAC/CmC,WAAY,CACVrF,OAAQ,oBACRU,aAAc,GACde,QAAS,YACT,UAAW,CACTvB,gBAAiB,UACjB0B,OAAQ,YAGZ0D,eAAgB,CACd3E,QAAS,OACT4E,eAAgB,gBAChBxE,MAAO,QAETI,MAAO,CACLX,SAAU,GACVC,WAAY,QAEd+E,eAAgB,CACd7E,QAAS,cACTT,gBAAiB,UACjBD,aAAc,EACdwB,QAAS,UACTjB,SAAU,GACVK,YAAa,IAEf4E,OAAQ,CACNjF,SAAU,GACVqB,MAAO,YAER,GAoPL,EA7OuB,SAAH,GAA8C,IAAxC6D,EAAM,EAANA,OAAQzE,EAAO,EAAPA,QAC1B0E,GAAWC,EAAAA,EAAAA,MACXC,GAAWC,EAAAA,EAAAA,MAebC,EAAiB,CAAEhD,MAAO,MAAO0B,KAAM,IACvCuB,EAAsB,CAAEjD,MAAO,MAAO0B,KAAM,IAC5CwB,EAAkB,CAAElD,MAAO,MAAO0B,KAAM,IACxCyB,EAAsB,CAAEnD,MAAO,MAAO0B,KAAM,IAC5C0B,EAAuB,CAAEpD,MAAO,MAAO0B,KAAM,IAEjD,GAAIiB,EAAOU,aAAc,CACvB,IACMC,GADIC,EAAAA,EAAAA,IAAU,GAAD,OAAIZ,EAAOU,eAAgB,GAC9BG,MAAM,KACtBR,EAAIhD,MAAQsD,EAAM,GAClBN,EAAItB,KAAO4B,EAAM,EACnB,CACA,GAAIX,EAAOM,SAAU,CACnB,IACMK,GADIC,EAAAA,EAAAA,IAAU,GAAD,OAAIZ,EAAOM,WAAY,GAC1BO,MAAM,KACtBP,EAASjD,MAAQsD,EAAM,GACvBL,EAASvB,KAAO4B,EAAM,EACxB,CACA,GAAIX,EAAOc,eAAgB,CACzB,IACMH,GADII,EAAAA,EAAAA,IAAaf,EAAOc,gBAAgB,GAC9BD,MAAM,KACtBN,EAAKlD,MAAQsD,EAAM,GACnBJ,EAAKxB,KAAO4B,EAAM,EACpB,CAEA,IAAIK,EAAkC,GACtC,GAAKhB,EAAOiB,OAAiC,IAAxBjB,EAAOiB,MAAMC,OAI3B,CACLF,EAAgBhB,EAAOiB,MAAME,KAAI,SAACC,GAChC,MAAO,CAAE/D,MAAO+D,EAAWC,KAAMvD,QAASsD,EAAWE,KACvD,IACA,IAAIC,EAAgBvB,EAAOiB,MACxBO,QAAO,SAACJ,GACP,MAA2B,aAApBA,EAAWK,IACpB,IACCC,QAAO,SAACC,EAAKP,GAAU,OAAKO,EAAMP,EAAWC,IAAI,GAAE,GAClDO,EAAc5B,EAAOiB,MACtBO,QAAO,SAACJ,GACP,MAA2B,aAApBA,EAAWK,IACpB,IACCC,QAAO,SAACC,EAAKP,GAAU,OAAKO,EAAMP,EAAWC,IAAI,GAAE,GAGhDV,GADII,EAAAA,EAAAA,IAAaa,GAAa,GACpBf,MAAM,KACtBJ,EAAUpD,MAAQsD,EAAM,GACxBF,EAAU1B,KAAO4B,EAAM,GAEvB,IACMkB,GADKd,EAAAA,EAAAA,IAAaQ,GAAe,GACdV,MAAM,KAC/BL,EAASnD,MAAQwE,EAAc,GAC/BrB,EAASzB,KAAO8C,EAAc,EAChC,MA3BEb,EAAgB,CACd,CAAE3D,MAAO2C,EAAOc,gBAAkB,EAAGhD,QAAS,aAuClD,OACE,SAAC,EAAAQ,SAAQ,WACP,gBACE3C,UAAWJ,EAAQoE,WACnBlC,GAAE,sBAAiBuC,EAAOsB,MAC1BQ,QAhBoB,WACxB7B,GACE8B,EAAAA,EAAAA,IAAc,CACZT,KAAMtB,EAAOsB,KACbU,UAAWhC,EAAOgC,aAGtB/B,GAASgC,EAAAA,EAAAA,MACT9B,EAAS,eAAD,OAAgBH,EAAOgC,UAAS,oBAAYhC,EAAOsB,KAAI,YACjE,EAOiC,UAE3B,UAACY,EAAA,GAAI,CAACtG,WAAS,aACb,UAACsG,EAAA,GAAI,CAACrG,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQqE,eAAe,WACnD,gBAAKjE,UAAWJ,EAAQE,MAAM,UAC5B,0BAAOuE,EAAOsB,UAEhB,0BACE,kBAAM3F,UAAWJ,EAAQuE,eAAe,UAAC,iBACtBE,EAAOgC,mBAI9B,SAACE,EAAA,GAAI,CAACrG,MAAI,EAACC,GAAI,GAAIqG,GAAI,CAAEC,UAAW,GAAI,UACtC,UAACF,EAAA,GAAI,CAACtG,WAAS,aACb,SAACsG,EAAA,GAAI,CAACrG,MAAI,EAACC,GAAI,EAAE,UACf,SAACuG,EAAA,EAAc,CACbC,cAAetC,EAAOM,UAAY,EAClCiC,kBAAmBvB,EACnBwB,YAxGY,SAACC,GAC3B,OAAQA,GACN,IAAK,MACH,OAAOlH,EAAQ2D,SACjB,IAAK,SACH,OAAO3D,EAAQ8D,YACjB,IAAK,QACH,OAAO9D,EAAQgE,WACjB,QACE,OAAOhE,EAAQkE,UAErB,CA6F6BiD,CAAoB1C,EAAOyC,oBAG5C,UAACP,EAAA,GAAI,CAACrG,MAAI,EAACC,IAAE,aACX,UAACoG,EAAA,GAAI,CACHrG,MAAI,EACJC,IAAE,EACFqG,GAAI,CACFlH,QAAS,OACT4E,eAAgB,aAChB3E,WAAY,SACZkH,UAAW,QACX,WAEF,SAAC,EAAe,CACd1E,MAAO,eACPL,MAAOgD,EAAIhD,MACX0B,KAAMsB,EAAItB,QAEZ,SAAC,EAAe,CACdrB,MAAO,kBACPL,MAAOiD,EAASjD,MAChB0B,KAAMuB,EAASvB,QAEjB,SAAC,EAAe,CACdrB,MAAO,QACPL,MAAO2C,EAAO2C,WAAWC,WACzB9E,QAAS,cAGb,SAACoE,EAAA,GAAI,CACHrG,MAAI,EACJC,GAAI,GACJqG,GAAI,CAAE1H,YAAa,OAAQ2H,UAAW,QAAS,UAE/C,kBAAMzG,UAAWJ,EAAQwE,OAAO,WAC9B,4BAAQ,WAAe,IAAEC,EAAO6C,sBAItC,SAACX,EAAA,GAAI,CAACrG,MAAI,EAACC,GAAI,EAAE,UACf,SAAC,EAAAwC,SAAQ,WACP,UAAC4D,EAAA,GAAI,CAACtG,WAAS,aACb,UAACsG,EAAA,GAAI,CACHrG,MAAI,EACJC,GAAI,EACJkD,UAAW,SACXa,eAAgB,SAChBiD,aAAc,SAAS,WAEvB,SAAC,MAAU,CACTzE,MAAO,CAAEhD,MAAO,GAAIc,MAAO,oBAE7B,gBACEkC,MAAO,CACLlC,MAAO,qBACPrB,SAAU,GACVC,WAAY,OACZ,SACH,cAIH,SAACmH,EAAA,GAAI,CAACrG,MAAI,EAACC,GAAI,KACf,UAACoG,EAAA,GAAI,CAACrG,MAAI,EAACwC,MAAO,CAAE3D,WAAY,GAAI,YAC/BsF,EAAOiB,OAAiC,IAAxBjB,EAAOiB,MAAMC,UAC9B,iBACE7C,MAAO,CACLvD,SAAU,GACVC,WAAY,KACZ,WAEF,kBACEsD,MAAO,CACLlC,MAAO,iBACP,UACH,YACW,OACJ,IAAG,UACPoE,EAAKlD,MAAK,YAAIkD,EAAKxB,SAI1BiB,EAAOiB,OAASjB,EAAOiB,MAAMC,OAAS,IACrC,UAAC,EAAA5C,SAAQ,YACP,iBACED,MAAO,CACLvD,SAAU,GACVC,WAAY,KACZ,WAEF,kBACEsD,MAAO,CACLlC,MAAO,iBACP,UACH,YACW,OACJ,IAAG,UACPqE,EAASnD,MAAK,YAAImD,EAASzB,UAEjC,iBACEV,MAAO,CACLvD,SAAU,GACVC,WAAY,KACZ,WAEF,kBACEsD,MAAO,CACLlC,MAAO,iBACP,UACH,UACS,OACF,IAAG,UACPsE,EAAUpD,MAAK,YAAIoD,EAAU1B,iCAc7D,I,mGCpSMgE,GAAoBC,EAAAA,EAAAA,GACxBC,EAAAA,MAAW,kBAAM,+BAA0D,KA+U7E,GAAe/I,EAAAA,EAAAA,IAxUA,SAACC,GAAY,OAC1BC,EAAAA,EAAAA,IAAa,kCACR8I,EAAAA,IACAnG,EAAAA,KACAoG,EAAAA,EAAAA,IAAmBhJ,EAAMiJ,QAAQ,KAAG,IACvCC,cAAe,CACbC,YAAanJ,EAAMiC,QAAQmH,KAAK,KAChC,wBAAyB,CACvB7I,WAAY,GACZC,cAAe,IAEjB,uBAAwB,CACtB,4BAA6B,CAC3B,cAAe,CACbwB,MAAOhC,EAAMiC,QAAQmH,KAAK,KAC1BnI,OAAQ,MAIdoI,kBAAmB,CACjB,4BAA6B,CAC3BpB,UAAW,IAGfjH,YAAa,GACbsI,WAAY,IAEdC,YAAa,CACXtI,OAAQ,uBAEVuI,gBAAiB,CACf1I,QAAS,OACT4E,eAAgB,WAChB7E,aAAc,IAEhB4I,UAAW,CACTC,SAAU,IACVxI,MAAO,MACPJ,QAAS,OACT6I,cAAe,MACf5I,WAAY,UAEd6I,YAAa,CACX9E,WAAY,SACZnE,SAAU,GACVqB,MAAO,UACPpB,WAAY,OACZI,YAAa,MAEd,GAuRL,EArRoB,SAAH,GAAmC,IAA7BI,EAAO,EAAPA,QACf0E,GAAWC,EAAAA,EAAAA,MACXC,GAAWC,EAAAA,EAAAA,MAEjB,GAAkC4D,EAAAA,EAAAA,WAAkB,GAAM,eAAnDC,EAAS,KAAEC,EAAY,KAC9B,GAA0CF,EAAAA,EAAAA,UAAiB,IAAG,eAAvDG,EAAa,KAAEC,EAAgB,KACtC,GAA8BJ,EAAAA,EAAAA,UAAoB,IAAG,eAA9CK,EAAO,KAAEC,EAAU,KAC1B,GAAoDN,EAAAA,EAAAA,WAAkB,GAAM,eAArEO,EAAkB,KAAEC,EAAqB,KAChD,GACER,EAAAA,EAAAA,UAAmC,MAAK,eADnCS,EAAc,KAAEC,EAAiB,KAExC,GAAkCV,EAAAA,EAAAA,UAAiB,QAAO,eAAnDW,EAAS,KAAEC,EAAY,KAOxBC,EAAkBR,EAAQ7C,QAAO,SAACsD,GACtC,MAAsB,KAAlBX,GAGEW,EAAExD,KAAKyD,QAAQZ,IAAkB,CAMzC,IAEAU,EAAgBG,MAAK,SAACC,EAAGH,GACvB,OAAQH,GACN,IAAK,WACH,OAAKM,EAAE3E,UAAawE,EAAExE,SAIlB2E,EAAE3E,SAAWwE,EAAExE,SACV,EAGL2E,EAAE3E,SAAWwE,EAAExE,UACT,EAGH,EAXE,EAYX,IAAK,QACH,OAAK2E,EAAEnE,gBAAmBgE,EAAEhE,eAIxBmE,EAAEnE,eAAiBgE,EAAEhE,eAChB,EAGLmE,EAAEnE,eAAiBgE,EAAEhE,gBACf,EAGH,EAXE,EAYX,IAAK,gBACH,MAAwB,QAApBmE,EAAExC,eAA+C,QAApBqC,EAAErC,cAC1B,EAGe,QAApBwC,EAAExC,eAA+C,QAApBqC,EAAErC,eACzB,EAGH,EACT,IAAK,iBACH,MAAwB,UAApBwC,EAAExC,eAAiD,UAApBqC,EAAErC,cAC5B,EAGe,UAApBwC,EAAExC,eAAiD,UAApBqC,EAAErC,eAC3B,EAGH,EACT,QACE,OAAIwC,EAAE3D,KAAOwD,EAAExD,KACN,EAEL2D,EAAE3D,KAAOwD,EAAExD,MACL,EAEH,EAEb,KAEA4D,EAAAA,EAAAA,YAAU,WACR,GAAIjB,EAAW,CAEXkB,EAAAA,EAAAA,OACU,MAAM,mBACbC,MAAK,SAACC,GACL,GAAY,OAARA,EAAJ,CAIA,IAAIC,EAAwB,GACR,OAAhBD,EAAIE,UACND,EAAaD,EAAIE,SAGnB,IAAK,IAAIC,EAAI,EAAGA,EAAIF,EAAWpE,OAAQsE,IACrCF,EAAWE,GAAGC,gBAAiB7E,EAAAA,EAAAA,IAC7B0E,EAAWE,GAAGE,WAAa,IAI/BpB,EAAWgB,GACXpB,GAAa,EAbb,MAFEA,GAAa,EAgBjB,IACCyB,OAAM,SAACC,GACN3F,GAAS4F,EAAAA,EAAAA,IAAqBD,IAC9B1B,GAAa,EACf,GAGN,CACF,GAAG,CAACD,EAAWhE,KAEfiF,EAAAA,EAAAA,YAAU,WACRhB,GAAa,EACf,GAAG,IAYH,OACE,UAAC,EAAA5F,SAAQ,WACNiG,IACC,SAACxB,EAAiB,CAChB+C,kBAAmBrB,EACnBsB,KAAMxB,EACNyB,WAAY,WAlIlBxB,GAAsB,GACtBE,EAAkB,KAmIZ,EACAuB,OAAO,YAGX,SAACC,EAAA,EAAU,CACTxI,MAAM,UACNyI,iBACE,SAACC,EAAA,EAAS,CACRnJ,YAAa,iBACbC,SAAU,SAACmJ,GACTjC,EAAiBiC,EACnB,EACAhJ,MAAO8G,IAGXmC,SACE,UAACpE,EAAA,GAAI,CACHrG,MAAI,EACJC,GAAI,GACJqG,GAAI,CAAElH,QAAS,OAAQ4E,eAAgB,YAAa,WAEpD,SAAC0G,EAAA,EAAc,CAACC,QAAS,sBAAsB,UAC7C,SAAC,MAAM,CACL/I,GAAI,sBACJqE,QAAS,WACPoC,GAAa,EACf,EACAuC,MAAM,SAAC,MAAW,IAClB3I,QAAS,eAGb,SAACyI,EAAA,EAAc,CAACC,QAAS,gBAAgB,UACvC,SAAC,MAAM,CACL/I,GAAI,gBACJC,MAAO,gBACPoE,QAAS,WACP3B,EAAS,eACX,EACAsG,MAAM,SAAC,MAAO,IACd3I,QAAS,uBAMnB,SAAC4I,EAAA,EAAU,WACT,UAACxE,EAAA,GAAI,CAACrG,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQmI,YAAY,UAC/CO,IAAa,SAAC0C,EAAA,EAAc,KAC3B1C,IACA,UAAC,EAAA3F,SAAQ,WACqB,IAA3BuG,EAAgB3D,SACf,UAAC,EAAA5C,SAAQ,YACP,SAAC4D,EAAA,GAAI,CAACrG,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQoI,gBAAgB,UACpD,iBAAKhI,UAAWJ,EAAQqI,UAAU,WAChC,iBAAMjI,UAAWJ,EAAQwI,YAAY,SAAC,aACtC,SAAC6C,EAAA,EAAa,CACZnJ,GAAI,UACJC,MAAO,GACPL,MAAOsH,EACPzH,SAAU,SAACU,GACTgH,EAAahH,EAAEC,OAAOR,MACxB,EACAiE,KAAM,UACNuF,QAAS,CACP,CAAEnJ,MAAO,OAAQL,MAAO,QACxB,CACEK,MAAO,WACPL,MAAO,YAET,CACEK,MAAO,QACPL,MAAO,SAET,CACEK,MAAO,gBACPL,MAAO,iBAET,CACEK,MAAO,iBACPL,MAAO,2BAMjB,SAACyJ,EAAA,EAAe,CACd9I,kBAxGK,SAACI,GACtB,IAAM4B,EAAS6E,EAAgBzG,IAAU,KAEzC,OAAI4B,GACK,SAAC,EAAc,CAACA,OAAQA,IAG1B,IACT,EAiGkB/B,WAAY4G,EAAgB3D,YAIN,IAA3B2D,EAAgB3D,SACf,SAACgB,EAAA,GAAI,CACHtG,WAAS,EACTiE,eAAgB,SAChBkH,aAAc,SACd7L,WAAY,SAAS,UAErB,SAACgH,EAAA,GAAI,CAACrG,MAAI,EAACC,GAAI,EAAE,UACf,SAACkL,EAAA,EAAO,CACNxL,eAAe,SAAC,MAAW,IAC3BC,MAAO,UACPC,MACE,UAAC,EAAA4C,SAAQ,WAAC,4KAKR,mBACA,kBAAM,uBAEN,SAAC2I,EAAA,EAAO,CACNnF,QAAS,WACP3B,EAAS,eACX,EAAE,SACH,wCAe3B,G,oJChUA,EAnCiB,SAAH,GAII,IAHhB+G,EAAU,EAAVA,WACAC,EAAS,EAATA,UAAU,EAAD,EACTC,QAAAA,OAAO,MAAG,UAAS,EAEnB,OACE,gBACE/I,MAAO,CACLhD,MAAO,OACPD,OAAQ,GACRZ,gBAAiB4M,EACjB7M,aAAc,GACdU,QAAS,OACToM,mBAAoB,OACpBC,SAAU,UACV,SAEDH,EAAUhG,KAAI,SAACoG,EAAanJ,GAC3B,IAAMoJ,EAAsC,IAApBD,EAAYlK,MAAe6J,EACnD,OACE,gBAEE7I,MAAO,CACLhD,MAAM,GAAD,OAAKmM,EAAc,KACxBpM,OAAQ,OACRZ,gBAAiB+M,EAAYpL,MAC7BkL,mBAAoB,SACpB,mBANejJ,EAAMwE,YAS7B,KAGN,ECgIA,EAjKuB,SAAH,GAKI,IAJtBN,EAAa,EAAbA,cACAC,EAAiB,EAAjBA,kBACAC,EAAW,EAAXA,YAAY,EAAD,EACXiF,OAAAA,OAAM,MAAG,MAAK,EAERC,EAAS,CACb,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WAGIC,EAAU,UAEVC,EAAiBrF,EAAkBb,QAAO,SAACmG,EAAKC,GACpD,OAAOD,EAAMC,EAAUzK,KACzB,GAAG,GAEG0K,EAAazF,EAAgBsF,EAE/BI,EAA6B,GAE3BC,EAAe1F,EAAkB2F,MACrC,SAACC,GAAI,MAAsB,aAAjBA,EAAKrK,OAAsB,KAClC,CACHT,MAAO,EACPS,QAAS,SAGPyE,EAAkBrB,OAAS,GAG7B8G,EAAY,CACV,CAAE3K,MAHqBuK,EAAiBK,EAAa5K,MAG1BlB,MAAO,UAAWuB,MAAO,sBAGtDsK,EAAYzF,EACTf,QAAO,SAAC1D,GAAO,MAAyB,aAApBA,EAAQA,OAAsB,IAClDqD,KAAI,SAACrD,EAASM,GACb,MAAO,CACLf,MAAOS,EAAQT,MACflB,MAAOuL,EAAOtJ,GACdV,MAAM,UAAD,OAAYI,EAAQA,SAE7B,IAGJ,IAAIsK,EAAoB,UAElBC,EAAuC,IAArBJ,EAAa5K,MAAeiF,EAEhD+F,GAAkB,GACpBD,EAAoB,UACXC,GAAkB,KAC3BD,EAAoB,WAGtB,IAAME,EAA2B,CAC/B,CACEjL,MAAO4K,EAAa5K,MACpBlB,MAAOiM,EACP1K,MAAO,yBACR,eACEsK,GAAS,CACZ,CACE3K,MAAO0K,EACP5L,MAAkB,QAAXsL,EAAmBE,EAAU,cACpCjK,MAAO,iBAIX,GAAe,QAAX+J,EAAkB,CACpB,IAAMc,EAAwCD,EAAWnH,KAAI,SAACqH,GAC5D,MAAO,CACLnL,MAAOmL,EAAQnL,MACflB,MAAOqM,EAAQrM,MACfsM,SAAUD,EAAQ9K,MAEtB,IAEA,OACE,gBAAKW,MAAO,CAAEhD,MAAO,OAAQL,aAAc,IAAK,UAC9C,SAAC,EAAQ,CACPkM,WAAY5E,EACZ6E,UAAWoB,EACXnB,QAASO,KAIjB,CAEA,OACE,iBAAKtJ,MAAO,CAAEb,SAAU,WAAYnC,MAAO,IAAKD,OAAQ,KAAM,WAC5D,gBACEiD,MAAO,CAAEb,SAAU,WAAYkL,OAAQ,EAAGC,IAAK,GAAIC,OAAQ,KAC3DjN,UAAW6G,EAAY,UAEvB,SAAC,MAAU,CACTnE,MAAO,CACL/D,OAAQ,iBACRC,aAAc,OACdc,MAAO,GACPD,OAAQ,SAId,iBACEiD,MAAO,CACLb,SAAU,WACVmL,IAAK,MACLE,KAAM,MACNC,UAAW,wBACX/N,WAAY,OACZoB,MAAO,OACPrB,SAAU,IACV,SAEAiO,MAAMnB,GAAiD,OAA/B7G,EAAAA,EAAAA,IAAa6G,MAEzC,0BACE,UAACoB,EAAA,EAAQ,CAAC3N,MAAO,IAAKD,OAAQ,IAAI,WAChC,SAAC6N,EAAA,EAAG,CACFC,KAAM,CAAC,CAAE7L,MAAO,MAChB8L,GAAI,MACJC,GAAI,MACJC,QAAQ,QACRC,YAAa,GACbC,YAAa,GACbC,KAAM7B,EACN8B,mBAAmB,EACnBC,OAAQ,UAEV,SAACT,EAAA,EAAG,CACFC,KAAMZ,EACNa,GAAI,MACJC,GAAI,MACJC,QAAQ,QACRC,YAAa,GACbC,YAAa,GAAG,SAEfjB,EAAWnH,KAAI,SAACwI,EAAOvL,GAAK,OAC3B,SAACwL,EAAA,EAAI,CAEHJ,KAAMG,EAAMxN,MACZuN,OAAQ,QAAO,uBAFMtL,GAGrB,aAOhB,C","sources":["common/HelpBox.tsx","screens/Console/Common/AButton/AButton.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Common/VirtualizedList/VirtualizedList.tsx","screens/Console/Tenants/ListTenants/InformationItem.tsx","screens/Console/Tenants/ListTenants/TenantListItem.tsx","screens/Console/Tenants/ListTenants/ListTenants.tsx","screens/Console/Common/UsageBar/UsageBar.tsx","screens/Console/Tenants/ListTenants/TenantCapacity.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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string | React.ReactNode;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { 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 border: 0,\n backgroundColor: \"transparent\",\n textDecoration: \"underline\",\n cursor: \"pointer\",\n fontSize: \"inherit\",\n color: theme.palette.info.main,\n fontFamily: \"Lato, sans-serif\",\n },\n });\n\ninterface IAButton extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst AButton = ({ classes, children, ...rest }: IAButton) => {\n return (\n \n );\n};\n\nexport default withStyles(styles)(AButton);\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) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport { SearchIcon } from \"mds\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, ReactElement } from \"react\";\nimport { FixedSizeList as List } from \"react-window\";\nimport InfiniteLoader from \"react-window-infinite-loader\";\nimport { AutoSizer } from \"react-virtualized\";\n\ninterface IVirtualizedList {\n rowRenderFunction: (index: number) => ReactElement | null;\n totalItems: number;\n defaultHeight?: number;\n}\n\nlet itemStatusMap: any = {};\nconst LOADING = 1;\nconst LOADED = 2;\n\nconst VirtualizedList = ({\n rowRenderFunction,\n totalItems,\n defaultHeight,\n}: IVirtualizedList) => {\n const isItemLoaded = (index: any) => !!itemStatusMap[index];\n\n const loadMoreItems = (startIndex: number, stopIndex: number) => {\n for (let index = startIndex; index <= stopIndex; index++) {\n itemStatusMap[index] = LOADING;\n }\n\n for (let index = startIndex; index <= stopIndex; index++) {\n itemStatusMap[index] = LOADED;\n }\n };\n\n const RenderItemLine = ({ index, style }: any) => {\n return

{rowRenderFunction(index)}
;\n };\n\n return (\n \n \n {({ onItemsRendered, ref }) => (\n // @ts-ignore\n \n {({ width, height }) => {\n return (\n \n {RenderItemLine}\n \n );\n }}\n \n )}\n \n \n );\n};\n\nexport default VirtualizedList;\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\";\n\ninterface IInformationItemProps {\n label: string;\n value: string;\n unit?: string;\n variant?: \"normal\" | \"faded\";\n}\n\nconst InformationItem = ({\n label,\n value,\n unit,\n variant = \"normal\",\n}: IInformationItemProps) => {\n return (\n
\n
\n \n {value}\n \n {unit && (\n \n {\" \"}\n \n {unit}\n \n \n )}\n
\n \n {label}\n
\n \n );\n};\n\nexport default InformationItem;\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\";\n\nimport { useNavigate } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport { CapacityValues, ITenant, ValueUnit } from \"./types\";\nimport { setTenantName } from \"../tenantsSlice\";\nimport { getTenantAsync } from \"../thunks/tenantDetailsAsync\";\nimport { DrivesIcon } from \"mds\";\nimport { niceBytes, niceBytesInt } from \"../../../../common/utils\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport InformationItem from \"./InformationItem\";\nimport TenantCapacity from \"./TenantCapacity\";\nimport { useAppDispatch } from \"../../../../store\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n redState: {\n color: theme.palette.error.main,\n \"& .min-icon\": {\n width: 16,\n height: 16,\n float: \"left\",\n marginRight: 4,\n },\n },\n yellowState: {\n color: theme.palette.warning.main,\n \"& .min-icon\": {\n width: 16,\n height: 16,\n float: \"left\",\n marginRight: 4,\n },\n },\n greenState: {\n color: theme.palette.success.main,\n \"& .min-icon\": {\n width: 16,\n height: 16,\n float: \"left\",\n marginRight: 4,\n },\n },\n greyState: {\n color: \"grey\",\n \"& .min-icon\": {\n width: 16,\n height: 16,\n float: \"left\",\n marginRight: 4,\n },\n },\n tenantIcon: { width: 40, height: 40, position: \"relative\" },\n tenantItem: {\n border: \"1px solid #EAEAEA\",\n marginBottom: 16,\n padding: \"15px 30px\",\n \"&:hover\": {\n backgroundColor: \"#FAFAFA\",\n cursor: \"pointer\",\n },\n },\n titleContainer: {\n display: \"flex\",\n justifyContent: \"space-between\",\n width: \"100%\",\n },\n title: {\n fontSize: 18,\n fontWeight: \"bold\",\n },\n namespaceLabel: {\n display: \"inline-flex\",\n backgroundColor: \"#EAEDEF\",\n borderRadius: 2,\n padding: \"4px 8px\",\n fontSize: 10,\n marginRight: 20,\n },\n status: {\n fontSize: 12,\n color: \"#8F9090\",\n },\n });\n\ninterface ITenantListItem {\n tenant: ITenant;\n classes: any;\n}\n\nconst TenantListItem = ({ tenant, classes }: ITenantListItem) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const healthStatusToClass = (health_status: string) => {\n switch (health_status) {\n case \"red\":\n return classes.redState;\n case \"yellow\":\n return classes.yellowState;\n case \"green\":\n return classes.greenState;\n default:\n return classes.greyState;\n }\n };\n\n let raw: ValueUnit = { value: \"n/a\", unit: \"\" };\n let capacity: ValueUnit = { value: \"n/a\", unit: \"\" };\n let used: ValueUnit = { value: \"n/a\", unit: \"\" };\n let localUse: ValueUnit = { value: \"n/a\", unit: \"\" };\n let tieredUse: ValueUnit = { value: \"n/a\", unit: \"\" };\n\n if (tenant.capacity_raw) {\n const b = niceBytes(`${tenant.capacity_raw}`, true);\n const parts = b.split(\" \");\n raw.value = parts[0];\n raw.unit = parts[1];\n }\n if (tenant.capacity) {\n const b = niceBytes(`${tenant.capacity}`, true);\n const parts = b.split(\" \");\n capacity.value = parts[0];\n capacity.unit = parts[1];\n }\n if (tenant.capacity_usage) {\n const b = niceBytesInt(tenant.capacity_usage, true);\n const parts = b.split(\" \");\n used.value = parts[0];\n used.unit = parts[1];\n }\n\n let spaceVariants: CapacityValues[] = [];\n if (!tenant.tiers || tenant.tiers.length === 0) {\n spaceVariants = [\n { value: tenant.capacity_usage || 0, variant: \"STANDARD\" },\n ];\n } else {\n spaceVariants = tenant.tiers.map((itemTenant) => {\n return { value: itemTenant.size, variant: itemTenant.name };\n });\n let internalUsage = tenant.tiers\n .filter((itemTenant) => {\n return itemTenant.type === \"internal\";\n })\n .reduce((sum, itemTenant) => sum + itemTenant.size, 0);\n let tieredUsage = tenant.tiers\n .filter((itemTenant) => {\n return itemTenant.type !== \"internal\";\n })\n .reduce((sum, itemTenant) => sum + itemTenant.size, 0);\n\n const t = niceBytesInt(tieredUsage, true);\n const parts = t.split(\" \");\n tieredUse.value = parts[0];\n tieredUse.unit = parts[1];\n\n const is = niceBytesInt(internalUsage, true);\n const partsInternal = is.split(\" \");\n localUse.value = partsInternal[0];\n localUse.unit = partsInternal[1];\n }\n\n const openTenantDetails = () => {\n dispatch(\n setTenantName({\n name: tenant.name,\n namespace: tenant.namespace,\n })\n );\n dispatch(getTenantAsync());\n navigate(`/namespaces/${tenant.namespace}/tenants/${tenant.name}/summary`);\n };\n\n return (\n \n \n \n \n
\n {tenant.name}\n
\n
\n \n Namespace: {tenant.namespace}\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n State: {tenant.currentState}\n \n \n \n \n \n \n \n \n \n Usage\n \n \n \n \n {(!tenant.tiers || tenant.tiers.length === 0) && (\n \n \n Internal:{\" \"}\n {\" \"}\n {`${used.value} ${used.unit}`}\n \n )}\n\n {tenant.tiers && tenant.tiers.length > 0 && (\n \n \n \n Internal:{\" \"}\n {\" \"}\n {`${localUse.value} ${localUse.unit}`}\n \n \n \n Tiered:{\" \"}\n {\" \"}\n {`${tieredUse.value} ${tieredUse.unit}`}\n \n \n )}\n \n \n \n \n
\n \n \n \n
\n );\n};\n\nexport default withStyles(styles)(TenantListItem);\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 { Button } from \"mds\";\nimport Grid from \"@mui/material/Grid\";\nimport { LinearProgress, SelectChangeEvent } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { ITenant, ITenantsResponse } from \"./types\";\nimport { niceBytes } from \"../../../../common/utils\";\nimport { NewServiceAccount } from \"../../Common/CredentialsPrompt/types\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\n\nimport { AddIcon, TenantsIcon } from \"mds\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport { RefreshIcon } from \"mds\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport TenantListItem from \"./TenantListItem\";\nimport HelpBox from \"../../../../common/HelpBox\";\nimport AButton from \"../../Common/AButton/AButton\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport VirtualizedList from \"../../Common/VirtualizedList/VirtualizedList\";\nimport SearchBox from \"../../Common/SearchBox\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { useNavigate } from \"react-router-dom\";\nimport { useAppDispatch } from \"../../../../store\";\nimport TooltipWrapper from \"../../Common/TooltipWrapper/TooltipWrapper\";\n\nconst CredentialsPrompt = withSuspense(\n React.lazy(() => import(\"../../Common/CredentialsPrompt/CredentialsPrompt\"))\n);\n\ninterface ITenantsList {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...actionsTray,\n ...searchField,\n ...containerForHeader(theme.spacing(4)),\n theaderSearch: {\n borderColor: theme.palette.grey[\"200\"],\n \"& .MuiInputBase-input\": {\n paddingTop: 10,\n paddingBottom: 10,\n },\n \"& .MuiInputBase-root\": {\n \"& .MuiInputAdornment-root\": {\n \"& .min-icon\": {\n color: theme.palette.grey[\"400\"],\n height: 14,\n },\n },\n },\n actionHeaderItems: {\n \"@media (min-width: 320px)\": {\n marginTop: 8,\n },\n },\n marginRight: 10,\n marginLeft: 10,\n },\n tenantsList: {\n height: \"calc(100vh - 195px)\",\n },\n sortByContainer: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n marginBottom: 10,\n },\n innerSort: {\n maxWidth: 200,\n width: \"95%\",\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n },\n sortByLabel: {\n whiteSpace: \"nowrap\",\n fontSize: 14,\n color: \"#838383\",\n fontWeight: \"bold\",\n marginRight: 10,\n },\n });\n\nconst ListTenants = ({ classes }: ITenantsList) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const [isLoading, setIsLoading] = useState(false);\n const [filterTenants, setFilterTenants] = useState(\"\");\n const [records, setRecords] = useState([]);\n const [showNewCredentials, setShowNewCredentials] = useState(false);\n const [createdAccount, setCreatedAccount] =\n useState(null);\n const [sortValue, setSortValue] = useState(\"name\");\n\n const closeCredentialsModal = () => {\n setShowNewCredentials(false);\n setCreatedAccount(null);\n };\n\n const filteredRecords = records.filter((b: any) => {\n if (filterTenants === \"\") {\n return true;\n } else {\n if (b.name.indexOf(filterTenants) >= 0) {\n return true;\n } else {\n return false;\n }\n }\n });\n\n filteredRecords.sort((a, b) => {\n switch (sortValue) {\n case \"capacity\":\n if (!a.capacity || !b.capacity) {\n return 0;\n }\n\n if (a.capacity > b.capacity) {\n return 1;\n }\n\n if (a.capacity < b.capacity) {\n return -1;\n }\n\n return 0;\n case \"usage\":\n if (!a.capacity_usage || !b.capacity_usage) {\n return 0;\n }\n\n if (a.capacity_usage > b.capacity_usage) {\n return 1;\n }\n\n if (a.capacity_usage < b.capacity_usage) {\n return -1;\n }\n\n return 0;\n case \"active_status\":\n if (a.health_status === \"red\" && b.health_status !== \"red\") {\n return 1;\n }\n\n if (a.health_status !== \"red\" && b.health_status === \"red\") {\n return -1;\n }\n\n return 0;\n case \"failing_status\":\n if (a.health_status === \"green\" && b.health_status !== \"green\") {\n return 1;\n }\n\n if (a.health_status !== \"green\" && b.health_status === \"green\") {\n return -1;\n }\n\n return 0;\n default:\n if (a.name > b.name) {\n return 1;\n }\n if (a.name < b.name) {\n return -1;\n }\n return 0;\n }\n });\n\n useEffect(() => {\n if (isLoading) {\n const fetchRecords = () => {\n api\n .invoke(\"GET\", `/api/v1/tenants`)\n .then((res: ITenantsResponse) => {\n if (res === null) {\n setIsLoading(false);\n return;\n }\n let resTenants: ITenant[] = [];\n if (res.tenants !== null) {\n resTenants = res.tenants;\n }\n\n for (let i = 0; i < resTenants.length; i++) {\n resTenants[i].total_capacity = niceBytes(\n resTenants[i].total_size + \"\"\n );\n }\n\n setRecords(resTenants);\n setIsLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setIsLoading(false);\n });\n };\n fetchRecords();\n }\n }, [isLoading, dispatch]);\n\n useEffect(() => {\n setIsLoading(true);\n }, []);\n\n const renderItemLine = (index: number) => {\n const tenant = filteredRecords[index] || null;\n\n if (tenant) {\n return ;\n }\n\n return null;\n };\n\n return (\n \n {showNewCredentials && (\n {\n closeCredentialsModal();\n }}\n entity=\"Tenant\"\n />\n )}\n {\n setFilterTenants(val);\n }}\n value={filterTenants}\n />\n }\n actions={\n \n \n {\n setIsLoading(true);\n }}\n icon={}\n variant={\"regular\"}\n />\n \n \n {\n navigate(\"/tenants/add\");\n }}\n icon={}\n variant={\"callAction\"}\n />\n \n \n }\n />\n \n \n {isLoading && }\n {!isLoading && (\n \n {filteredRecords.length !== 0 && (\n \n \n
\n Sort by\n ) => {\n setSortValue(e.target.value as string);\n }}\n name={\"sort-by\"}\n options={[\n { label: \"Name\", value: \"name\" },\n {\n label: \"Capacity\",\n value: \"capacity\",\n },\n {\n label: \"Usage\",\n value: \"usage\",\n },\n {\n label: \"Active Status\",\n value: \"active_status\",\n },\n {\n label: \"Failing Status\",\n value: \"failing_status\",\n },\n ]}\n />\n
\n
\n \n
\n )}\n {filteredRecords.length === 0 && (\n \n \n }\n title={\"Tenants\"}\n help={\n \n Tenant is the logical structure to represent a MinIO\n deployment. A tenant can have different size and\n configurations from other tenants, even a different\n storage class.\n
\n
\n To get started, \n {\n navigate(\"/tenants/add\");\n }}\n >\n Create a Tenant.\n \n
\n }\n />\n
\n
\n )}\n
\n )}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ListTenants);\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\nexport interface ISizeBarItem {\n value: number;\n itemName: string;\n color: string;\n}\n\nexport interface IUsageBar {\n totalValue: number;\n sizeItems: ISizeBarItem[];\n bgColor?: string;\n}\n\nconst UsageBar = ({\n totalValue,\n sizeItems,\n bgColor = \"#ededed\",\n}: IUsageBar) => {\n return (\n \n {sizeItems.map((sizeElement, index) => {\n const itemPercentage = (sizeElement.value * 100) / totalValue;\n return (\n \n );\n })}\n \n );\n};\n\nexport default UsageBar;\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 { Cell, Pie, PieChart } from \"recharts\";\nimport { CapacityValue, CapacityValues } from \"./types\";\nimport { niceBytesInt } from \"../../../../common/utils\";\nimport { CircleIcon } from \"mds\";\nimport UsageBar, { ISizeBarItem } from \"../../Common/UsageBar/UsageBar\";\n\ninterface ITenantCapacity {\n totalCapacity: number;\n usedSpaceVariants: CapacityValues[];\n statusClass: string;\n render?: \"pie\" | \"bar\";\n}\n\nconst TenantCapacity = ({\n totalCapacity,\n usedSpaceVariants,\n statusClass,\n render = \"pie\",\n}: ITenantCapacity) => {\n const colors = [\n \"#8dacd3\",\n \"#bca1ea\",\n \"#92e8d2\",\n \"#efc9ac\",\n \"#97f274\",\n \"#f7d291\",\n \"#71ACCB\",\n \"#f28282\",\n \"#e28cc1\",\n \"#2781B0\",\n ];\n\n const BGColor = \"#ededed\";\n\n const totalUsedSpace = usedSpaceVariants.reduce((acc, currValue) => {\n return acc + currValue.value;\n }, 0);\n\n const emptySpace = totalCapacity - totalUsedSpace;\n\n let tiersList: CapacityValue[] = [];\n\n const standardTier = usedSpaceVariants.find(\n (tier) => tier.variant === \"STANDARD\"\n ) || {\n value: 0,\n variant: \"empty\",\n };\n\n if (usedSpaceVariants.length > 10) {\n const totalUsedByTiers = totalUsedSpace - standardTier.value;\n\n tiersList = [\n { value: totalUsedByTiers, color: \"#2781B0\", label: \"Total Tiers Space\" },\n ];\n } else {\n tiersList = usedSpaceVariants\n .filter((variant) => variant.variant !== \"STANDARD\")\n .map((variant, index) => {\n return {\n value: variant.value,\n color: colors[index],\n label: `Tier - ${variant.variant}`,\n };\n });\n }\n\n let standardTierColor = \"#07193E\";\n\n const usedPercentage = (standardTier.value * 100) / totalCapacity;\n\n if (usedPercentage >= 90) {\n standardTierColor = \"#C83B51\";\n } else if (usedPercentage >= 75) {\n standardTierColor = \"#FFAB0F\";\n }\n\n const plotValues: CapacityValue[] = [\n {\n value: standardTier.value,\n color: standardTierColor,\n label: \"Used Space by Tenant\",\n },\n ...tiersList,\n {\n value: emptySpace,\n color: render === \"bar\" ? BGColor : \"transparent\",\n label: \"Empty Space\",\n },\n ];\n\n if (render === \"bar\") {\n const plotValuesForUsageBar: ISizeBarItem[] = plotValues.map((plotVal) => {\n return {\n value: plotVal.value,\n color: plotVal.color,\n itemName: plotVal.label,\n };\n });\n\n return (\n
\n \n
\n );\n }\n\n return (\n
\n \n \n
\n \n {!isNaN(totalUsedSpace) ? niceBytesInt(totalUsedSpace) : \"N/A\"}\n \n
\n \n \n \n {plotValues.map((entry, index) => (\n \n ))}\n \n \n
\n \n );\n};\n\nexport default TenantCapacity;\n"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","padding","margin","textDecoration","cursor","color","palette","info","main","fontFamily","children","rest","WrappedComponent","fallback","ComponentWithSuspense","props","Suspense","searchField","adornment","placeholder","onChange","adornmentPosition","overrideClass","value","inputProps","disableUnderline","position","id","label","InputProps","e","target","variant","itemStatusMap","rowRenderFunction","totalItems","defaultHeight","RenderItemLine","index","style","Fragment","isItemLoaded","loadMoreItems","startIndex","stopIndex","itemCount","onItemsRendered","ref","itemSize","unit","textAlign","whiteSpace","redState","error","float","yellowState","warning","greenState","success","greyState","tenantIcon","tenantItem","titleContainer","justifyContent","namespaceLabel","status","tenant","dispatch","useAppDispatch","navigate","useNavigate","raw","capacity","used","localUse","tieredUse","capacity_raw","parts","niceBytes","split","capacity_usage","niceBytesInt","spaceVariants","tiers","length","map","itemTenant","size","name","internalUsage","filter","type","reduce","sum","tieredUsage","partsInternal","onClick","setTenantName","namespace","getTenantAsync","Grid","sx","marginTop","TenantCapacity","totalCapacity","usedSpaceVariants","statusClass","health_status","healthStatusToClass","pool_count","toString","currentState","justifyItems","CredentialsPrompt","withSuspense","React","actionsTray","containerForHeader","spacing","theaderSearch","borderColor","grey","actionHeaderItems","marginLeft","tenantsList","sortByContainer","innerSort","maxWidth","flexDirection","sortByLabel","useState","isLoading","setIsLoading","filterTenants","setFilterTenants","records","setRecords","showNewCredentials","setShowNewCredentials","createdAccount","setCreatedAccount","sortValue","setSortValue","filteredRecords","b","indexOf","sort","a","useEffect","api","then","res","resTenants","tenants","i","total_capacity","total_size","catch","err","setErrorSnackMessage","newServiceAccount","open","closeModal","entity","PageHeader","middleComponent","SearchBox","val","actions","TooltipWrapper","tooltip","icon","PageLayout","LinearProgress","SelectWrapper","options","VirtualizedList","alignContent","HelpBox","AButton","totalValue","sizeItems","bgColor","transitionDuration","overflow","sizeElement","itemPercentage","render","colors","BGColor","totalUsedSpace","acc","currValue","emptySpace","tiersList","standardTier","find","tier","standardTierColor","usedPercentage","plotValues","plotValuesForUsageBar","plotVal","itemName","right","top","zIndex","left","transform","isNaN","PieChart","Pie","data","cx","cy","dataKey","outerRadius","innerRadius","fill","isAnimationActive","stroke","entry","Cell"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3097.b19643e9.chunk.js b/portal-ui/build/static/js/3097.b19643e9.chunk.js new file mode 100644 index 000000000..86b2f2b1a --- /dev/null +++ b/portal-ui/build/static/js/3097.b19643e9.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3097,9478],{23804:function(e,n,t){t(72791);var i=t(11135),o=t(25787),a=t(61889),r=t(80184);n.Z=(0,o.Z)((function(e){return(0,i.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var n=e.classes,t=e.iconComponent,i=e.title,o=e.help;return(0,r.jsx)("div",{className:n.root,children:(0,r.jsxs)(a.ZP,{container:!0,children:[(0,r.jsxs)(a.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,i]}),(0,r.jsx)(a.ZP,{item:!0,xs:12,className:n.helpText,children:o})]})})}))},57314:function(e,n,t){var i=t(1413),o=t(72791),a=t(61889),r=t(30829),l=t(20068),s=t(27391),c=t(11135),u=t(25787),d=t(23814),p=t(75952),f=t(80184);n.Z=(0,u.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},d.YI),d.Hr),{},{inputLabel:(0,i.Z)((0,i.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,i.Z)((0,i.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 n=e.label,t=e.onChange,i=e.value,c=e.id,u=e.name,d=e.disabled,m=void 0!==d&&d,h=e.tooltip,x=void 0===h?"":h,g=e.index,b=void 0===g?0:g,v=e.error,Z=void 0===v?"":v,j=e.required,y=void 0!==j&&j,C=e.placeholder,E=void 0===C?"":C,w=e.classes,k={"data-index":b};return(0,f.jsx)(o.Fragment,{children:(0,f.jsxs)(a.ZP,{item:!0,xs:12,className:"".concat(w.fieldContainer," ").concat(""!==Z?w.errorInField:""),children:[""!==n&&(0,f.jsxs)(r.Z,{htmlFor:c,className:w.inputLabel,children:[(0,f.jsxs)("span",{children:[n,y?"*":""]}),""!==x&&(0,f.jsx)("div",{className:w.tooltipContainer,children:(0,f.jsx)(l.Z,{title:x,placement:"top-start",children:(0,f.jsx)("div",{className:w.tooltip,children:(0,f.jsx)(p.byK,{})})})})]}),(0,f.jsx)("div",{className:w.textBoxContainer,children:(0,f.jsx)(s.Z,{id:c,name:u,fullWidth:!0,value:i,disabled:m,onChange:t,multiline:!0,rows:5,inputProps:k,error:""!==Z,helperText:Z,placeholder:E,InputLabelProps:{shrink:!0},InputProps:{classes:{notchedOutline:w.cssOutlinedInput,root:w.rootContainer}},variant:"outlined"})})]})})}))},50276:function(e,n,t){var i=t(1413),o=t(29439),a=t(72791),r=t(64554),l=t(43896),s=t(83449),c=t(47283),u=t(82851),d=t(25787),p=t(13967),f=t(11135),m=t(95193),h=t(57689),x=t(80184),g={minHeight:60};n.Z=(0,d.Z)((function(e){return(0,f.Z)({tabsContainer:{display:"flex",height:"100%",width:"100%"},tabsHeaderContainer:{width:"300px",background:"#F8F8F8",borderRight:"1px solid #EAEAEA","& .MuiTabs-root":{"& .MuiTabs-indicator":{display:"none"},"& .MuiTab-root":{display:"flex",flexFlow:"row",alignItems:"center",justifyContent:"flex-start",borderBottom:"1px solid #EAEAEA","& .MuiSvgIcon-root":{marginRight:8,marginBottom:0},"&.Mui-selected":{background:"#E5E5E5",fontWeight:600}},"&. MuiTabs-scroller":{display:"none"}}},tabContentContainer:{width:"100%","& .MuiTabPanel-root":{height:"100%"}},tabPanel:{height:"100%"},"@media (max-width: 900px)":{tabsContainer:{flexFlow:"column",flexDirection:"column"},tabsHeaderContainer:{width:"100%",borderBottom:" 1px solid #EAEAEA","& .MuiTabs-root .MuiTabs-scroller .MuiButtonBase-root":{borderBottom:" 0px"}}}})}))((function(e){var n=e.children,t=e.classes,d=e.selectedTab,f=void 0===d?"0":d,b=e.routes,v=e.isRouteTabs,Z=(0,p.Z)(),j=(0,h.TH)().pathname,y=void 0===j?"":j,C=(0,m.Z)(Z.breakpoints.down("md")),E=(0,a.useState)(f),w=(0,o.Z)(E,2),k=w[0],_=w[1],T=[],S=[];if((0,a.useEffect)((function(){if(v){var e=n.find((function(e){return e.tabConfig.to===y}));e&&_(e.tabConfig.value)}}),[v,n,y]),!n)return null;n.forEach((function(e){T.push(e.tabConfig),S.push(e.content)}));return(0,x.jsx)(s.ZP,{value:"".concat(k),children:(0,x.jsxs)(r.Z,{className:t.tabsContainer,children:[(0,x.jsx)(r.Z,{className:t.tabsHeaderContainer,children:(0,x.jsx)(c.Z,{onChange:function(e,n){_(n)},orientation:C?"horizontal":"vertical",variant:C?"scrollable":"standard",scrollButtons:"auto",className:t.tabList,children:T.map((function(e,n){return e?(0,x.jsx)(l.Z,(0,i.Z)((0,i.Z)({className:t.tabHeader,value:"".concat(n),style:g},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(n)):null}))})}),(0,x.jsxs)(r.Z,{className:t.tabContentContainer,children:[v?null:S.map((function(e,n){return(0,x.jsx)(u.Z,{classes:(0,i.Z)({},t.tabPanel),value:"".concat(n),children:e||null},"v-tab-p-".concat(n))})),v?(0,x.jsx)("div",{className:t.tabPanel,children:b}):null]})]})})}))},63097:function(e,n,t){t.r(n),t.d(n,{default:function(){return q}});var i=t(1413),o=t(72791),a=t(11135),r=t(25787),l=t(61889),s=t(58493),c=t(23814),u=t(32291),d=t(23804),p=t(75952),f=t(57689),m=t(11087),h=t(50276),x=t(74794),g=t(14917),b=t(29439),v=t(26181),Z=t.n(v),j=t(64554),y=t(81207),C=t(29478),E=t(40986),w=t(51691),k=t(23508),_=t(87995),T=t(25469),S=t(80184),N=(0,r.Z)((function(e){return(0,a.Z)((0,i.Z)({wrapText:{maxWidth:"200px",whiteSpace:"normal",wordWrap:"break-word"}},c.Qw))}))((function(e){var n=e.classes,t=e.configurationName,i=e.closeResetModalAndRefresh,a=e.resetOpen,r=(0,T.TL)(),l=(0,o.useState)(!1),s=(0,b.Z)(l,2),c=s[0],u=s[1];(0,o.useEffect)((function(){c&&y.Z.invoke("POST","/api/v1/configs/".concat(t,"/reset")).then((function(e){u(!1),i(!0)})).catch((function(e){u(!1),r((0,_.Ih)(e))}))}),[i,t,c,r]);return(0,S.jsx)(k.Z,{title:"Restore Defaults",confirmText:"Yes, Reset Configuration",isOpen:a,titleIcon:(0,S.jsx)(p.NvT,{}),isLoading:c,onConfirm:function(){u(!0)},onClose:function(){i(!1)},confirmationContent:(0,S.jsxs)(o.Fragment,{children:[c&&(0,S.jsx)(E.Z,{}),(0,S.jsxs)(w.Z,{children:["Are you sure you want to restore these configurations to default values?",(0,S.jsx)("br",{}),(0,S.jsx)("b",{className:n.wrapText,children:"Please note that this may cause your system to not be accessible"})]})]})})})),I=t(92983),P=(0,r.Z)((function(e){return(0,a.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},c.YI),c.Je),{},{settingsFormContainer:{display:"grid",gridTemplateColumns:"1fr",gridGap:"10px"}}))}))((function(e){var n=e.classes,t=e.configSubsysList,i=(e.className,(0,o.useState)([])),a=(0,b.Z)(i,2),r=a[0],l=a[1];return(0,o.useEffect)((function(){var e=[];null!==t&&(t.forEach((function(n){null!==n.name&&null!==n.key_values&&(e.push({name:n.name,endpoint:n.key_values[0].value}),"off"===n.key_values[0].value&&(e=[]))})),l(e))}),[t]),(0,S.jsxs)(o.Fragment,{children:[(0,S.jsx)("h3",{children:"Currently Configured Endpoints"}),(0,S.jsx)(I.Z,{columns:[{label:"Name",elementKey:"name"},{label:"Endpoint",elementKey:"endpoint"}],idField:"config-id",isLoading:!1,records:r,classes:n,entityName:"endpoints"})]})})),A=(0,r.Z)((function(e){return(0,a.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},c.YI),c.Je),{},{settingsFormContainer:{display:"grid",gridTemplateColumns:"1fr",gridGap:"10px"}}))}))((function(e){var n=e.selectedConfiguration,t=e.classes,i=e.className,a=void 0===i?"":i,r=(0,T.TL)(),c=(0,f.s0)(),u=(0,f.TH)().pathname,d=void 0===u?"":u,m=d.substring(d.lastIndexOf("/")+1);m="settings"===m?"region":m;var h=(0,o.useState)([]),x=(0,b.Z)(h,2),g=x[0],v=x[1],E=(0,o.useState)(!1),w=(0,b.Z)(E,2),k=w[0],I=w[1],A=(0,o.useState)(!0),M=(0,b.Z)(A,2),R=M[0],q=M[1],F=(0,o.useState)([]),B=(0,b.Z)(F,2),L=B[0],O=B[1],W=(0,o.useState)([]),D=(0,b.Z)(W,2),H=D[0],Y=D[1],z=(0,o.useState)(!1),G=(0,b.Z)(z,2),K=G[0],V=G[1];(0,o.useEffect)((function(){q(!0)}),[m]),(0,o.useEffect)((function(){if(R){var e=Z()(n,"configuration_id",!1);if(e)return void y.Z.invoke("GET","/api/v1/configs/".concat(e)).then((function(e){Y(e);var n=Z()(e[0],"key_values",[]);O(n),q(!1)})).catch((function(e){q(!1),r((0,_.Ih)(e))}));q(!1)}}),[R,n,r]),(0,o.useEffect)((function(){if(k){var e={key_values:(0,s.DD)(g)};y.Z.invoke("PUT","/api/v1/configs/".concat(n.configuration_id),e).then((function(e){I(!1),r((0,_.cN)(e.restart)),e.restart||r((0,_.y1)("Configuration saved successfully"))})).catch((function(e){I(!1),r((0,_.Ih)(e))}))}}),[k,r,n,g,c]);var J=(0,o.useCallback)((function(e){v(e)}),[v]);return(0,S.jsxs)(o.Fragment,{children:[K&&(0,S.jsx)(N,{configurationName:n.configuration_id,closeResetModalAndRefresh:function(e){V(!1),r((0,_.cN)(e)),e&&q(!0)},resetOpen:K}),R?(0,S.jsx)(l.ZP,{item:!0,xs:12,sx:{textAlign:"center",paddingTop:"15px"},children:(0,S.jsx)(p.aNw,{})}):(0,S.jsx)(j.Z,{sx:{padding:"15px",height:"100%"},children:(0,S.jsxs)("form",{noValidate:!0,onSubmit:function(e){e.preventDefault(),I(!0)},className:a,style:{height:"100%",display:"flex",flexFlow:"column"},children:[(0,S.jsxs)(l.ZP,{item:!0,xs:12,className:t.settingsFormContainer,children:[(0,S.jsx)(C.default,{fields:s.DP[n.configuration_id],onChange:J,defaultVals:L}),("logger_webhook"===n.configuration_id||"audit_webhook"===n.configuration_id)&&(0,S.jsx)(P,{classes:t,configSubsysList:H})]}),(0,S.jsxs)(l.ZP,{item:!0,xs:12,sx:{paddingTop:"15px ",textAlign:"right",maxHeight:"60px",display:"flex",alignItems:"center",justifyContent:"flex-end"},children:[(0,S.jsx)(p.zxk,{id:"restore-defaults",variant:"secondary",onClick:function(){V(!0)},label:"Restore Defaults"}),"\xa0 \xa0",(0,S.jsx)(p.zxk,{id:"save",type:"submit",variant:"callAction",disabled:k,label:"Save"})]})]})})]})})),M=function(){var e=(0,f.TH)().pathname,n=void 0===e?"":e,t=n.substring(n.lastIndexOf("/")+1),i=s.bx.find((function(e){return e.configuration_id===t})),o="".concat(t);return(0,S.jsx)(l.ZP,{item:!0,xs:12,sx:{height:"100%","& .identity_ldap, .api":{"& label":{minWidth:220,marginRight:0}}},children:i&&(0,S.jsx)(A,{className:"".concat(o),selectedConfiguration:i})})},R=t(56087),q=(0,r.Z)((function(e){return(0,a.Z)((0,i.Z)((0,i.Z)((0,i.Z)({settingsOptionsContainer:{display:"flex",flexDirection:"row",justifyContent:"flex-start",flexWrap:"wrap",border:"#E5E5E5 1px solid",borderRadius:2,backgroundColor:"#fff"}},c.qg),c.OR),(0,c.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=(0,f.TH)().pathname,i=void 0===t?"":t,a=i.substring(i.lastIndexOf("/")+1);return a="settings"===a?"region":a,(0,S.jsxs)(o.Fragment,{children:[(0,S.jsx)(u.Z,{label:"Settings"}),(0,S.jsxs)(x.Z,{children:[(0,S.jsx)(l.ZP,{item:!0,xs:12,children:(0,S.jsxs)("div",{id:"settings-container",className:n.settingsOptionsContainer,children:[(0,S.jsx)(g.Z,{icon:(0,S.jsx)(p.ewm,{}),title:"MinIO Configuration:"}),(0,S.jsx)(h.Z,{selectedTab:a,isRouteTabs:!0,routes:(0,S.jsxs)(f.Z5,{children:[s.bx.map((function(e){return(0,S.jsx)(f.AW,{path:"".concat(e.configuration_id),element:(0,S.jsx)(M,{})},"configItem-".concat(e.configuration_label))})),(0,S.jsx)(f.AW,{path:"/",element:(0,S.jsx)(f.Fg,{to:"".concat(R.gA.SETTINGS,"/region")})})]}),children:s.bx.map((function(e){var n,t=e.configuration_id;return{tabConfig:{label:e.configuration_label,value:t,icon:e.icon,component:m.rU,to:(n=t,"".concat(R.gA.SETTINGS,"/").concat(n))}}}))})]})}),(0,S.jsx)(l.ZP,{item:!0,xs:12,sx:{paddingTop:"15px"},children:(0,S.jsx)(d.Z,{title:"Learn more about Configurations",iconComponent:(0,S.jsx)(p.ewm,{}),help:(0,S.jsxs)(o.Fragment,{children:["MinIO supports a variety of configurations ranging from encryption, compression, region, notifications, etc.",(0,S.jsx)("br",{}),(0,S.jsx)("br",{}),"You can learn more at our"," ",(0,S.jsx)("a",{href:"https://min.io/docs/minio/linux/reference/minio-mc-admin/mc-admin-config.html?ref=con#id4",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})})]})]})}))},58493:function(e,n,t){t.d(n,{DD:function(){return h},DP:function(){return m},_0:function(){return x},bx:function(){return f}});var i=t(93433),o=(t(72791),t(87569)),a=t(61809),r=t(31292),l=t(98095),s=t(67055),c=t(21141),u=t(36909),d=t(13901),p=t(80184),f=[{icon:(0,p.jsx)(o.Z,{}),configuration_id:"region",configuration_label:"Region"},{icon:(0,p.jsx)(a.Z,{}),configuration_id:"compression",configuration_label:"Compression"},{icon:(0,p.jsx)(r.Z,{}),configuration_id:"api",configuration_label:"API"},{icon:(0,p.jsx)(l.Z,{}),configuration_id:"heal",configuration_label:"Heal"},{icon:(0,p.jsx)(s.Z,{}),configuration_id:"scanner",configuration_label:"Scanner"},{icon:(0,p.jsx)(c.Z,{}),configuration_id:"etcd",configuration_label:"Etcd"},{icon:(0,p.jsx)(d.Z,{}),configuration_id:"logger_webhook",configuration_label:"Logger Webhook"},{icon:(0,p.jsx)(u.Z,{}),configuration_id:"audit_webhook",configuration_label:"Audit Webhook"}],m={region:[{name:"name",required:!0,label:"Server Location",tooltip:'Name of the location of the server e.g. "us-west-rack2"',type:"string",placeholder:"e.g. us-west-rack-2"},{name:"comment",required:!1,label:"Comment",tooltip:"You can add a comment to this setting",type:"comment",placeholder:"Enter custom notes if any"}],compression:[{name:"extensions",required:!1,label:"Extensions",tooltip:'Extensions to compress e.g. ".txt",".log" or ".csv", you can write one per field',type:"csv",placeholder:"Enter an Extension",withBorder:!0},{name:"mime_types",required:!1,label:"Mime Types",tooltip:'Mime types e.g. "text/*","application/json" or "application/xml", you can write one per field',type:"csv",placeholder:"Enter a Mime Type",withBorder:!0}],api:[{name:"requests_max",required:!1,label:"Requests Max",tooltip:"Maximum number of concurrent requests, e.g. '1600'",type:"number",placeholder:"Enter Requests Max"},{name:"cors_allow_origin",required:!1,label:"Cors Allow Origin",tooltip:"List of origins allowed for CORS requests",type:"csv",placeholder:"Enter allowed origin e.g. https://example.com"},{name:"replication_workers",required:!1,label:"Replication Workers",tooltip:"Number of replication workers, defaults to 100",type:"number",placeholder:"Enter Replication Workers"},{name:"replication_failed_workers",required:!1,label:"Replication Failed Workers",tooltip:"Number of replication workers for recently failed replicas, defaults to 4",type:"number",placeholder:"Enter Replication Failed Workers"}],heal:[{name:"bitrotscan",required:!1,label:"Bitrot Scan",tooltip:"Perform bitrot scan on disks when checking objects during scanner",type:"on|off"},{name:"max_sleep",required:!1,label:"Max Sleep",tooltip:"Maximum sleep duration between objects to slow down heal operation. eg. 2s",type:"duration",placeholder:"Enter Max Sleep duration"},{name:"max_io",required:!1,label:"Max IO",tooltip:"Maximum IO requests allowed between objects to slow down heal operation. eg. 3",type:"number",placeholder:"Enter Max IO"}],scanner:[{name:"delay",required:!1,label:"Delay multiplier",tooltip:"Scanner delay multiplier, defaults to '10.0'",type:"number",placeholder:"Enter Delay"},{name:"max_wait",required:!1,label:"Max Wait",tooltip:"Maximum wait time between operations, defaults to '15s'",type:"duration",placeholder:"Enter Max Wait"},{name:"cycle",required:!1,label:"Cycle",tooltip:"Time duration between scanner cycles, defaults to '1m'",type:"duration",placeholder:"Enter Cycle"}],etcd:[{name:"endpoints",required:!0,label:"Endpoints",tooltip:'List of etcd endpoints e.g. "http://localhost:2379", you can write one per field',type:"csv",placeholder:"Enter Endpoint"},{name:"path_prefix",required:!1,label:"Path Prefix",tooltip:'Namespace prefix to isolate tenants e.g. "customer1/"',type:"string",placeholder:"Enter Path Prefix"},{name:"coredns_path",required:!1,label:"Coredns Path",tooltip:'Shared bucket DNS records, default is "/skydns"',type:"string",placeholder:"Enter Coredns Path"},{name:"client_cert",required:!1,label:"Client Cert",tooltip:"Client cert for mTLS authentication",type:"string",placeholder:"Enter Client Cert"},{name:"client_cert_key",required:!1,label:"Client Cert Key",tooltip:"Client cert key for mTLS authentication",type:"string",placeholder:"Enter Client Cert Key"},{name:"comment",required:!1,label:"Comment",tooltip:"You can add a comment to this setting",type:"comment",multiline:!0,placeholder:"Enter custom notes if any"}],logger_webhook:[{name:"endpoint",required:!0,label:"Endpoint",type:"string",placeholder:"Enter Endpoint"},{name:"auth_token",required:!0,label:"Auth Token",type:"string",placeholder:"Enter Auth Token"}],audit_webhook:[{name:"endpoint",required:!0,label:"Endpoint",type:"string",placeholder:"Enter Endpoint"},{name:"auth_token",required:!0,label:"Auth Token",type:"string",placeholder:"Enter Auth Token"}]},h=function(e){return e.filter((function(e){return""!==e.value}))},x=function(e,n,t){var o=e.target,a=o.value,r=o.checked,l=(0,i.Z)(t);return r?l.push(a):l=l.filter((function(e){return e!==a})),n(l),l}},29478:function(e,n,t){t.r(n),t.d(n,{default:function(){return y},valueDef:function(){return j}});var i=t(93433),o=t(29439),a=t(1413),r=t(72791),l=t(11135),s=t(25787),c=t(61889),u=t(23814),d=t(21435),p=t(26181),f=t.n(p),m=t(30829),h=t(20068),x=t(75952),g=t(80184),b=(0,s.Z)((function(e){return(0,l.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},u.YI),u.Hr),{},{inputWithBorder:{border:"1px solid #EAEAEA",padding:15,height:150,overflowY:"auto",position:"relative",marginTop:15,flex:1},inputBoxSpacer:{marginBottom:7},inputLabel:(0,a.Z)((0,a.Z)({},u.YI.inputLabel),{},{margin:0,alignItems:"flex-start",paddingTop:"20px",minWidth:162})}))}))((function(e){var n=e.elements,t=e.name,a=e.label,l=e.tooltip,s=void 0===l?"":l,u=e.commonPlaceholder,p=void 0===u?"":u,b=e.onChange,v=e.withBorder,Z=void 0!==v&&v,j=e.classes,y=(0,r.useState)([""]),C=(0,o.Z)(y,2),E=C[0],w=C[1],k=(0,r.createRef)();(0,r.useEffect)((function(){if(1===E.length&&""===E[0]&&n&&""!==n){var e=n.split(",");e.push(""),w(e)}}),[n,E]),(0,r.useEffect)((function(){if(E.length>1){var e=k.current;e&&e.scrollIntoView(!1)}}),[E,k]);var _=(0,r.useCallback)((function(e){b(e)}),[b]),T=(0,r.useRef)(!0);(0,r.useEffect)((function(){if(T.current)T.current=!1;else{var e=E.filter((function(e){return""!==e.trim()})).join(",");_(e)}}),[E]);var S=function(e){e.persist();var n=(0,i.Z)(E),t=f()(e.target,"dataset.index","0");n[parseInt(t)]=e.target.value,w(n)},N=E.map((function(e,n){return(0,g.jsx)("div",{className:j.inputBoxSpacer,children:(0,g.jsx)(d.Z,{id:"".concat(t,"-").concat(n.toString()),label:"",name:"".concat(t,"-").concat(n.toString()),value:E[n],onChange:S,index:n,placeholder:p,overlayIcon:n===E.length-1?(0,g.jsx)(x.dtP,{}):null,overlayAction:function(){!function(e){if(""!==e[e.length-1].trim()){var n=(0,i.Z)(e);n.push(""),w(n)}}(E)}},"csv-".concat(t,"-").concat(n.toString()))},"csv-multi-".concat(t,"-").concat(n.toString()))}));return(0,g.jsx)(r.Fragment,{children:(0,g.jsxs)(c.ZP,{item:!0,xs:12,className:j.fieldContainer,children:[(0,g.jsxs)(m.Z,{className:j.inputLabel,children:[(0,g.jsx)("span",{children:a}),""!==s&&(0,g.jsx)("div",{className:j.tooltipContainer,children:(0,g.jsx)(h.Z,{title:s,placement:"top-start",children:(0,g.jsx)("div",{className:j.tooltip,children:(0,g.jsx)(x.byK,{})})})})]}),(0,g.jsxs)(c.ZP,{item:!0,xs:12,className:"".concat(Z?j.inputWithBorder:""),children:[N,(0,g.jsx)("div",{ref:k})]})]})})})),v=t(57314),Z=t(37516),j=function(e,n,t){var i="on|off"===n?"off":"";if(t.length>0){var o=t.find((function(n){return n.key===e}));o&&(i=o.value||"")}return i},y=(0,s.Z)((function(e){return(0,l.Z)((0,a.Z)((0,a.Z)({},u.DF),{},{formFieldRow:(0,a.Z)({},u.DF.formFieldRow)},u.oO))}))((function(e){var n=e.onChange,t=e.fields,a=e.defaultVals,l=e.classes,s=(0,r.useState)([]),u=(0,o.Z)(s,2),p=u[0],f=u[1],m=t||[],h=a||[];(0,r.useEffect)((function(){var e=t.map((function(e){return{key:e.name,value:j(e.name,e.type,h)}}));f(e)}),[t,a]),(0,r.useEffect)((function(){n(p)}),[p]);var x=function(e,n,t){var o=(0,i.Z)(p);o[t]={key:e,value:n},f(o)},y=function(e,n){switch(e.type){case"on|off":var t=p[n]?p[n].value:"off";return(0,g.jsx)(Z.Z,{onChange:function(t){var i=t.target.checked?"on":"off";x(e.name,i,n)},id:e.name,name:e.name,label:e.label,value:"switch_on",tooltip:e.tooltip,checked:"on"===t});case"csv":return(0,g.jsx)(b,{elements:p[n]?p[n].value:"",label:e.label,name:e.name,onChange:function(t){x(e.name,t,n)},tooltip:e.tooltip,commonPlaceholder:e.placeholder,withBorder:!0});case"comment":return(0,g.jsx)(v.Z,{id:e.name,name:e.name,label:e.label,tooltip:e.tooltip,value:p[n]?p[n].value:"",onChange:function(t){return x(e.name,t.target.value,n)},placeholder:e.placeholder});default:return(0,g.jsx)(d.Z,{id:e.name,name:e.name,label:e.label,tooltip:e.tooltip,value:p[n]?p[n].value:"",onChange:function(t){return x(e.name,t.target.value,n)},multiline:!!e.multiline,placeholder:e.placeholder})}};return(0,g.jsx)(c.ZP,{container:!0,children:(0,g.jsx)(c.ZP,{xs:12,item:!0,className:l.fieldBox,children:m.map((function(e,n){return(0,g.jsx)(c.ZP,{item:!0,xs:12,className:l.formFieldRow,children:y(e,n)},e.name)}))})})}))}}]); +//# sourceMappingURL=3097.b19643e9.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3097.b19643e9.chunk.js.map b/portal-ui/build/static/js/3097.b19643e9.chunk.js.map new file mode 100644 index 000000000..a9bdf52e9 --- /dev/null +++ b/portal-ui/build/static/js/3097.b19643e9.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3097.b19643e9.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/FormComponents/CommentBoxWrapper/CommentBoxWrapper.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.tsx","screens/Console/NotificationEndpoints/CustomForms/ResetConfigurationModal.tsx","screens/Console/NotificationEndpoints/CustomForms/EndpointDisplay.tsx","screens/Console/NotificationEndpoints/CustomForms/EditConfiguration.tsx","screens/Console/Configurations/ConfigurationPanels/ConfigurationForm.tsx","screens/Console/Configurations/ConfigurationPanels/ConfigurationOptions.tsx","screens/Console/Configurations/utils.tsx","screens/Console/Common/FormComponents/CSVMultiSelector/CSVMultiSelector.tsx","screens/Console/NotificationEndpoints/ConfTargetGeneric.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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string | React.ReactNode;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { 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","import React, { useState, useEffect } from \"react\";\nimport { Box, Tab, TabProps } from \"@mui/material\";\nimport { TabContext, TabList, TabPanel } from \"@mui/lab\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme, useTheme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\nimport { useLocation } from \"react-router-dom\";\n\nexport type TabItemProps = {\n tabConfig: TabProps | any;\n content?: JSX.Element | JSX.Element[];\n};\n\ntype VerticalTabsProps = {\n classes: any;\n children: TabItemProps[];\n selectedTab?: string;\n routes?: any;\n isRouteTabs?: boolean;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n tabsContainer: {\n display: \"flex\",\n height: \"100%\",\n width: \"100%\",\n },\n tabsHeaderContainer: {\n width: \"300px\",\n background: \"#F8F8F8\",\n borderRight: \"1px solid #EAEAEA\",\n \"& .MuiTabs-root\": {\n \"& .MuiTabs-indicator\": {\n display: \"none\",\n },\n \"& .MuiTab-root\": {\n display: \"flex\",\n flexFlow: \"row\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n borderBottom: \"1px solid #EAEAEA\",\n \"& .MuiSvgIcon-root\": {\n marginRight: 8,\n marginBottom: 0,\n },\n \"&.Mui-selected\": {\n background: \"#E5E5E5\",\n fontWeight: 600,\n },\n },\n\n \"&. MuiTabs-scroller\": {\n display: \"none\",\n },\n },\n },\n tabContentContainer: {\n width: \"100%\",\n \"& .MuiTabPanel-root\": {\n height: \"100%\",\n },\n },\n tabPanel: {\n height: \"100%\",\n },\n /*Below md breakpoint make it horizontal and style it for scrolling tabs*/\n \"@media (max-width: 900px)\": {\n tabsContainer: {\n flexFlow: \"column\",\n flexDirection: \"column\",\n },\n tabsHeaderContainer: {\n width: \"100%\",\n borderBottom: \" 1px solid #EAEAEA\",\n \"& .MuiTabs-root .MuiTabs-scroller .MuiButtonBase-root\": {\n borderBottom: \" 0px\",\n },\n },\n },\n });\n\nconst tabStripStyle = {\n minHeight: 60,\n};\n\nconst VerticalTabs = ({\n children,\n classes,\n selectedTab = \"0\",\n routes,\n isRouteTabs,\n}: VerticalTabsProps) => {\n const theme = useTheme();\n const { pathname = \"\" } = useLocation();\n\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const [value, setValue] = useState(selectedTab);\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n useEffect(() => {\n if (isRouteTabs) {\n const tabConfigElement = children.find(\n (item) => item.tabConfig.to === pathname\n );\n\n if (tabConfigElement) {\n setValue(tabConfigElement.tabConfig.value);\n }\n }\n }, [isRouteTabs, children, pathname]);\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\n });\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n return (\n \n \n \n \n {headerList.map((item, index) => {\n if (item) {\n return (\n \n );\n }\n return null;\n })}\n \n \n\n \n {!isRouteTabs\n ? contentList.map((item, index) => {\n return (\n \n {item ? item : null}\n \n );\n })\n : null}\n {isRouteTabs ? (\n
{routes}
\n ) : null}\n
\n
\n
\n );\n};\n\nexport default withStyles(styles)(VerticalTabs);\n","// This file is part of MinIO Console Server\n// Copyright (c) 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\";\n\nimport { DialogContentText, LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../../Common/FormComponents/common/styleLibrary\";\n\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"mds\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n wrapText: {\n maxWidth: \"200px\",\n whiteSpace: \"normal\",\n wordWrap: \"break-word\",\n },\n ...deleteDialogStyles,\n });\n\ninterface IResetConfiguration {\n classes: any;\n configurationName: string;\n closeResetModalAndRefresh: (reloadConfiguration: boolean) => void;\n\n resetOpen: boolean;\n}\n\nconst ResetConfigurationModal = ({\n classes,\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\n .invoke(\"POST\", `/api/v1/configs/${configurationName}/reset`)\n .then((res) => {\n setResetLoading(false);\n closeResetModalAndRefresh(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setResetLoading(false);\n dispatch(setErrorSnackMessage(err));\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 withStyles(styles)(ResetConfigurationModal);\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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\nimport {\n fieldBasic,\n settingsCommon,\n} from \"../../Common/FormComponents/common/styleLibrary\";\n\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...settingsCommon,\n settingsFormContainer: {\n display: \"grid\",\n gridTemplateColumns: \"1fr\",\n gridGap: \"10px\",\n },\n });\n\ninterface IEndpointDisplayProps {\n // selectedConfiguration: IConfigurationElement;\n classes: any;\n configSubsysList: any[];\n className?: string;\n}\n\nconst EndpointDisplay = ({\n // selectedConfiguration,\n classes,\n configSubsysList,\n className = \"\",\n}: IEndpointDisplayProps) => {\n const [configRecords, setConfigRecords] = useState([]);\n\n useEffect(() => {\n let records: any[] = [];\n if (configSubsysList !== null) {\n configSubsysList.forEach((config) => {\n if (config.name !== null && config.key_values !== null) {\n records.push({\n name: config.name,\n endpoint: config.key_values[0][\"value\"],\n });\n if (config.key_values[0][\"value\"] === \"off\") {\n records = [];\n }\n }\n });\n setConfigRecords(records);\n }\n }, [configSubsysList]);\n\n return (\n \n

Currently Configured Endpoints

\n\n \n
\n );\n};\n\nexport default withStyles(styles)(EndpointDisplay);\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 { Button } from \"mds\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Box } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport api from \"../../../../common/api\";\nimport ConfTargetGeneric from \"../ConfTargetGeneric\";\n\nimport {\n fieldBasic,\n settingsCommon,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport {\n fieldsConfigurations,\n removeEmptyFields,\n} from \"../../Configurations/utils\";\nimport {\n IConfigurationElement,\n IElementValue,\n} from \"../../Configurations/types\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport ResetConfigurationModal from \"./ResetConfigurationModal\";\nimport {\n setErrorSnackMessage,\n setServerNeedsRestart,\n setSnackBarMessage,\n} from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\nimport { Loader } from \"mds\";\nimport EndpointDisplay from \"./EndpointDisplay\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...settingsCommon,\n settingsFormContainer: {\n display: \"grid\",\n gridTemplateColumns: \"1fr\",\n gridGap: \"10px\",\n },\n });\n\ninterface IAddNotificationEndpointProps {\n selectedConfiguration: IConfigurationElement;\n classes: any;\n className?: string;\n}\n\nconst EditConfiguration = ({\n selectedConfiguration,\n classes,\n className = \"\",\n}: IAddNotificationEndpointProps) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n const { pathname = \"\" } = useLocation();\n\n let selConfigTab = pathname.substring(pathname.lastIndexOf(\"/\") + 1);\n selConfigTab = selConfigTab === \"settings\" ? \"region\" : selConfigTab;\n\n //Local States\n const [valuesObj, setValueObj] = useState([]);\n const [saving, setSaving] = useState(false);\n const [loadingConfig, setLoadingConfig] = useState(true);\n const [configValues, setConfigValues] = useState([]);\n const [configSubsysList, setConfigSubsysList] = useState([]);\n const [resetConfigurationOpen, setResetConfigurationOpen] =\n useState(false);\n\n useEffect(() => {\n setLoadingConfig(true);\n }, [selConfigTab]);\n\n useEffect(() => {\n if (loadingConfig) {\n const configId = get(selectedConfiguration, \"configuration_id\", false);\n\n if (configId) {\n api\n .invoke(\"GET\", `/api/v1/configs/${configId}`)\n .then((res) => {\n setConfigSubsysList(res);\n const keyVals = get(res[0], \"key_values\", []);\n setConfigValues(keyVals);\n setLoadingConfig(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingConfig(false);\n dispatch(setErrorSnackMessage(err));\n });\n\n return;\n }\n setLoadingConfig(false);\n }\n }, [loadingConfig, selectedConfiguration, dispatch]);\n\n useEffect(() => {\n if (saving) {\n const payload = {\n key_values: removeEmptyFields(valuesObj),\n };\n api\n .invoke(\n \"PUT\",\n `/api/v1/configs/${selectedConfiguration.configuration_id}`,\n payload\n )\n .then((res) => {\n setSaving(false);\n dispatch(setServerNeedsRestart(res.restart));\n if (!res.restart) {\n dispatch(setSnackBarMessage(\"Configuration saved successfully\"));\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setSaving(false);\n dispatch(setErrorSnackMessage(err));\n });\n }\n }, [saving, dispatch, selectedConfiguration, valuesObj, navigate]);\n\n //Fetch Actions\n const submitForm = (event: React.FormEvent) => {\n event.preventDefault();\n setSaving(true);\n };\n\n const onValueChange = useCallback(\n (newValue: IElementValue[]) => {\n setValueObj(newValue);\n },\n [setValueObj]\n );\n\n const continueReset = (restart: boolean) => {\n setResetConfigurationOpen(false);\n dispatch(setServerNeedsRestart(restart));\n if (restart) {\n setLoadingConfig(true);\n }\n };\n\n return (\n \n {resetConfigurationOpen && (\n \n )}\n {loadingConfig ? (\n \n \n \n ) : (\n \n \n \n \n {(selectedConfiguration.configuration_id === \"logger_webhook\" ||\n selectedConfiguration.configuration_id === \"audit_webhook\") && (\n \n )}\n \n \n {\n setResetConfigurationOpen(true);\n }}\n label={\"Restore Defaults\"}\n />\n    \n \n \n \n \n )}\n \n );\n};\n\nexport default withStyles(styles)(EditConfiguration);\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 { useLocation } from \"react-router-dom\";\nimport Grid from \"@mui/material/Grid\";\nimport { configurationElements } from \"../utils\";\nimport EditConfiguration from \"../../NotificationEndpoints/CustomForms/EditConfiguration\";\n\nconst ConfigurationsList = () => {\n const { pathname = \"\" } = useLocation();\n\n const configName = pathname.substring(pathname.lastIndexOf(\"/\") + 1);\n\n const validActiveConfig = configurationElements.find(\n (element) => element.configuration_id === configName\n );\n const containerClassName = `${configName}`;\n return (\n \n {validActiveConfig && (\n \n )}\n \n );\n};\n\nexport default ConfigurationsList;\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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nimport { configurationElements } from \"../utils\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport HelpBox from \"../../../../common/HelpBox\";\nimport { SettingsIcon } from \"mds\";\nimport { Link, Navigate, Route, Routes, useLocation } from \"react-router-dom\";\nimport VerticalTabs from \"../../Common/VerticalTabs/VerticalTabs\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport ScreenTitle from \"../../Common/ScreenTitle/ScreenTitle\";\nimport ConfigurationForm from \"./ConfigurationForm\";\nimport { IAM_PAGES } from \"../../../../common/SecureComponent/permissions\";\n\ninterface IConfigurationOptions {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n settingsOptionsContainer: {\n display: \"flex\" as const,\n flexDirection: \"row\" as const,\n justifyContent: \"flex-start\" as const,\n flexWrap: \"wrap\" as const,\n border: \"#E5E5E5 1px solid\",\n borderRadius: 2,\n backgroundColor: \"#fff\",\n },\n ...searchField,\n ...actionsTray,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst getRoutePath = (path: string) => {\n return `${IAM_PAGES.SETTINGS}/${path}`;\n};\n\nconst ConfigurationOptions = ({ classes }: IConfigurationOptions) => {\n const { pathname = \"\" } = useLocation();\n\n let selConfigTab = pathname.substring(pathname.lastIndexOf(\"/\") + 1);\n selConfigTab = selConfigTab === \"settings\" ? \"region\" : selConfigTab;\n\n return (\n \n \n\n \n \n \n }\n title={\"MinIO Configuration:\"}\n />\n \n {configurationElements.map((element) => (\n }\n />\n ))}\n }\n />\n \n }\n >\n {configurationElements.map((element) => {\n const { configuration_id, configuration_label, icon } = element;\n return {\n tabConfig: {\n label: configuration_label,\n value: configuration_id,\n icon: icon,\n component: Link,\n to: getRoutePath(configuration_id),\n },\n };\n })}\n \n \n \n \n }\n help={\n \n MinIO supports a variety of configurations ranging from\n encryption, compression, region, notifications, etc.\n
\n
\n You can learn more at our{\" \"}\n \n documentation\n \n .\n
\n }\n />\n
\n
\n
\n );\n};\n\nexport default withStyles(styles)(ConfigurationOptions);\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 PublicIcon from \"@mui/icons-material/Public\";\nimport CompressIcon from \"@mui/icons-material/Compress\";\nimport CodeIcon from \"@mui/icons-material/Code\";\nimport LocalHospitalIcon from \"@mui/icons-material/LocalHospital\";\nimport FindReplaceIcon from \"@mui/icons-material/FindReplace\";\nimport VpnKeyIcon from \"@mui/icons-material/VpnKey\";\nimport PendingActionsIcon from \"@mui/icons-material/PendingActions\";\nimport CallToActionIcon from \"@mui/icons-material/CallToAction\";\nimport { IElement, IElementValue } from \"./types\";\n\nexport const configurationElements: IElement[] = [\n {\n icon: ,\n configuration_id: \"region\",\n configuration_label: \"Region\",\n },\n {\n icon: ,\n configuration_id: \"compression\",\n configuration_label: \"Compression\",\n },\n {\n icon: ,\n configuration_id: \"api\",\n configuration_label: \"API\",\n },\n {\n icon: ,\n configuration_id: \"heal\",\n configuration_label: \"Heal\",\n },\n {\n icon: ,\n configuration_id: \"scanner\",\n configuration_label: \"Scanner\",\n },\n {\n icon: ,\n configuration_id: \"etcd\",\n configuration_label: \"Etcd\",\n },\n {\n icon: ,\n configuration_id: \"logger_webhook\",\n configuration_label: \"Logger Webhook\",\n },\n {\n icon: ,\n configuration_id: \"audit_webhook\",\n configuration_label: \"Audit Webhook\",\n },\n];\n\nexport const fieldsConfigurations: any = {\n region: [\n {\n name: \"name\",\n required: true,\n label: \"Server Location\",\n tooltip: 'Name of the location of the server e.g. \"us-west-rack2\"',\n type: \"string\",\n placeholder: \"e.g. us-west-rack-2\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"You can add a comment to this setting\",\n type: \"comment\",\n placeholder: \"Enter custom notes if any\",\n },\n ],\n compression: [\n {\n name: \"extensions\",\n required: false,\n label: \"Extensions\",\n tooltip:\n 'Extensions to compress e.g. \".txt\",\".log\" or \".csv\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter an Extension\",\n withBorder: true,\n },\n {\n name: \"mime_types\",\n required: false,\n label: \"Mime Types\",\n tooltip:\n 'Mime types e.g. \"text/*\",\"application/json\" or \"application/xml\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter a Mime Type\",\n withBorder: true,\n },\n ],\n api: [\n {\n name: \"requests_max\",\n required: false,\n label: \"Requests Max\",\n tooltip: \"Maximum number of concurrent requests, e.g. '1600'\",\n type: \"number\",\n placeholder: \"Enter Requests Max\",\n },\n {\n name: \"cors_allow_origin\",\n required: false,\n label: \"Cors Allow Origin\",\n tooltip: \"List of origins allowed for CORS requests\",\n type: \"csv\",\n placeholder: \"Enter allowed origin e.g. https://example.com\",\n },\n {\n name: \"replication_workers\",\n required: false,\n label: \"Replication Workers\",\n tooltip: \"Number of replication workers, defaults to 100\",\n type: \"number\",\n placeholder: \"Enter Replication Workers\",\n },\n {\n name: \"replication_failed_workers\",\n required: false,\n label: \"Replication Failed Workers\",\n tooltip:\n \"Number of replication workers for recently failed replicas, defaults to 4\",\n type: \"number\",\n placeholder: \"Enter Replication Failed Workers\",\n },\n ],\n heal: [\n {\n name: \"bitrotscan\",\n required: false,\n label: \"Bitrot Scan\",\n tooltip:\n \"Perform bitrot scan on disks when checking objects during scanner\",\n type: \"on|off\",\n },\n {\n name: \"max_sleep\",\n required: false,\n label: \"Max Sleep\",\n tooltip:\n \"Maximum sleep duration between objects to slow down heal operation. eg. 2s\",\n type: \"duration\",\n placeholder: \"Enter Max Sleep duration\",\n },\n {\n name: \"max_io\",\n required: false,\n label: \"Max IO\",\n tooltip:\n \"Maximum IO requests allowed between objects to slow down heal operation. eg. 3\",\n type: \"number\",\n placeholder: \"Enter Max IO\",\n },\n ],\n scanner: [\n {\n name: \"delay\",\n required: false,\n label: \"Delay multiplier\",\n tooltip: \"Scanner delay multiplier, defaults to '10.0'\",\n type: \"number\",\n placeholder: \"Enter Delay\",\n },\n {\n name: \"max_wait\",\n required: false,\n label: \"Max Wait\",\n tooltip: \"Maximum wait time between operations, defaults to '15s'\",\n type: \"duration\",\n placeholder: \"Enter Max Wait\",\n },\n {\n name: \"cycle\",\n required: false,\n label: \"Cycle\",\n tooltip: \"Time duration between scanner cycles, defaults to '1m'\",\n type: \"duration\",\n placeholder: \"Enter Cycle\",\n },\n ],\n etcd: [\n {\n name: \"endpoints\",\n required: true,\n label: \"Endpoints\",\n tooltip:\n 'List of etcd endpoints e.g. \"http://localhost:2379\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"path_prefix\",\n required: false,\n label: \"Path Prefix\",\n tooltip: 'Namespace prefix to isolate tenants e.g. \"customer1/\"',\n type: \"string\",\n placeholder: \"Enter Path Prefix\",\n },\n {\n name: \"coredns_path\",\n required: false,\n label: \"Coredns Path\",\n tooltip: 'Shared bucket DNS records, default is \"/skydns\"',\n type: \"string\",\n placeholder: \"Enter Coredns Path\",\n },\n {\n name: \"client_cert\",\n required: false,\n label: \"Client Cert\",\n tooltip: \"Client cert for mTLS authentication\",\n type: \"string\",\n placeholder: \"Enter Client Cert\",\n },\n {\n name: \"client_cert_key\",\n required: false,\n label: \"Client Cert Key\",\n tooltip: \"Client cert key for mTLS authentication\",\n type: \"string\",\n placeholder: \"Enter Client Cert Key\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"You can add a comment to this setting\",\n type: \"comment\",\n multiline: true,\n placeholder: \"Enter custom notes if any\",\n },\n ],\n logger_webhook: [\n {\n name: \"endpoint\",\n required: true,\n label: \"Endpoint\",\n type: \"string\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"auth_token\",\n required: true,\n label: \"Auth Token\",\n type: \"string\",\n placeholder: \"Enter Auth Token\",\n },\n ],\n audit_webhook: [\n {\n name: \"endpoint\",\n required: true,\n label: \"Endpoint\",\n type: \"string\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"auth_token\",\n required: true,\n label: \"Auth Token\",\n type: \"string\",\n placeholder: \"Enter Auth Token\",\n },\n ],\n};\n\nexport const removeEmptyFields = (formFields: IElementValue[]) => {\n const nonEmptyFields = formFields.filter((field) => field.value !== \"\");\n\n return nonEmptyFields;\n};\n\nexport const selectSAs = (\n e: React.ChangeEvent,\n setSelectedSAs: Function,\n selectedSAs: string[]\n) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selectedSAs]; // We clone the selectedSAs array\n if (checked) {\n // If the user has checked this field we need to push this to selectedSAs\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 setSelectedSAs(elements);\n return elements;\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, {\n ChangeEvent,\n createRef,\n useEffect,\n useRef,\n useState,\n useCallback,\n} from \"react\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport { HelpIcon, AddIcon } from \"mds\";\nimport InputBoxWrapper from \"../InputBoxWrapper/InputBoxWrapper\";\n\ninterface ICSVMultiSelector {\n elements: string;\n name: string;\n label: string;\n tooltip?: string;\n commonPlaceholder?: string;\n classes: any;\n withBorder?: boolean;\n onChange: (elements: string) => void;\n}\n\nconst styles = (theme: Theme) => {\n return createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputWithBorder: {\n border: \"1px solid #EAEAEA\",\n padding: 15,\n height: 150,\n overflowY: \"auto\",\n position: \"relative\",\n marginTop: 15,\n flex: 1,\n },\n inputBoxSpacer: {\n marginBottom: 7,\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n margin: 0,\n alignItems: \"flex-start\",\n paddingTop: \"20px\",\n minWidth: 162,\n },\n });\n};\n\nconst CSVMultiSelector = ({\n elements,\n name,\n label,\n tooltip = \"\",\n commonPlaceholder = \"\",\n onChange,\n withBorder = false,\n classes,\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 \n : null\n }\n overlayAction={() => {\n addEmptyLine(currentElements);\n }}\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 withStyles(styles)(CSVMultiSelector);\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 Grid from \"@mui/material/Grid\";\nimport { IElementValue, KVField } from \"../Configurations/types\";\nimport {\n formFieldStyles,\n modalBasic,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport CSVMultiSelector from \"../Common/FormComponents/CSVMultiSelector/CSVMultiSelector\";\nimport CommentBoxWrapper from \"../Common/FormComponents/CommentBoxWrapper/CommentBoxWrapper\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\n\ninterface IConfGenericProps {\n onChange: (newValue: IElementValue[]) => void;\n fields: KVField[];\n defaultVals?: IElementValue[];\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n formFieldRow: {\n ...formFieldStyles.formFieldRow,\n },\n ...modalBasic,\n });\n\n// Function to get defined values,\n//we make this because the backed sometimes don't return all the keys when there is an initial configuration\nexport const valueDef = (\n key: string,\n type: string,\n defaults: IElementValue[]\n) => {\n let defValue = type === \"on|off\" ? \"off\" : \"\";\n\n if (defaults.length > 0) {\n const storedConfig = defaults.find((element) => element.key === key);\n\n if (storedConfig) {\n defValue = storedConfig.value || \"\";\n }\n }\n\n return defValue;\n};\n\nconst ConfTargetGeneric = ({\n onChange,\n fields,\n defaultVals,\n classes,\n}: IConfGenericProps) => {\n const [valueHolder, setValueHolder] = useState([]);\n const fieldsElements = !fields ? [] : fields;\n const defValList = !defaultVals ? [] : defaultVals;\n\n // Effect to create all the values to hold\n useEffect(() => {\n const values: IElementValue[] = fields.map((field) => {\n const stateInsert: IElementValue = {\n key: field.name,\n value: valueDef(field.name, field.type, defValList),\n };\n return stateInsert;\n });\n\n setValueHolder(values);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [fields, defaultVals]);\n\n useEffect(() => {\n onChange(valueHolder);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [valueHolder]);\n\n const setValueElement = (key: string, value: string, index: number) => {\n const valuesDup = [...valueHolder];\n valuesDup[index] = { key, value };\n\n setValueHolder(valuesDup);\n };\n\n const fieldDefinition = (field: KVField, item: number) => {\n switch (field.type) {\n case \"on|off\":\n const value = valueHolder[item] ? valueHolder[item].value : \"off\";\n\n return (\n ) => {\n const value = e.target.checked ? \"on\" : \"off\";\n setValueElement(field.name, value, item);\n }}\n id={field.name}\n name={field.name}\n label={field.label}\n value={\"switch_on\"}\n tooltip={field.tooltip}\n checked={value === \"on\"}\n />\n );\n case \"csv\":\n return (\n {\n setValueElement(field.name, value, item);\n }}\n tooltip={field.tooltip}\n commonPlaceholder={field.placeholder}\n withBorder={true}\n />\n );\n case \"comment\":\n return (\n ) =>\n setValueElement(field.name, e.target.value, item)\n }\n placeholder={field.placeholder}\n />\n );\n default:\n return (\n ) =>\n setValueElement(field.name, e.target.value, item)\n }\n multiline={!!field.multiline}\n placeholder={field.placeholder}\n />\n );\n }\n };\n\n return (\n \n \n {fieldsElements.map((field, item) => (\n \n {fieldDefinition(field, item)}\n \n ))}\n \n \n );\n};\n\nexport default withStyles(styles)(ConfTargetGeneric);\n"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","fieldBasic","tooltipHelper","inputLabel","margin","flexWrap","textBoxContainer","flexGrow","position","cssOutlinedInput","borderColor","padding","rootContainer","minHeight","borderWidth","color","opacity","label","onChange","value","id","name","disabled","tooltip","index","error","required","placeholder","inputProps","fieldContainer","errorInField","htmlFor","tooltipContainer","placement","fullWidth","multiline","rows","helperText","InputLabelProps","shrink","InputProps","notchedOutline","variant","tabStripStyle","tabsContainer","tabsHeaderContainer","background","borderRight","flexFlow","justifyContent","borderBottom","tabContentContainer","tabPanel","flexDirection","children","selectedTab","routes","isRouteTabs","useTheme","useLocation","pathname","isSmallScreen","useMediaQuery","breakpoints","down","useState","setValue","headerList","contentList","useEffect","tabConfigElement","find","tabConfig","to","forEach","child","push","content","event","newValue","orientation","scrollButtons","tabList","map","tabHeader","style","disableRipple","disableTouchRipple","focusRipple","wrapText","maxWidth","whiteSpace","wordWrap","deleteDialogStyles","configurationName","closeResetModalAndRefresh","resetOpen","dispatch","useAppDispatch","resetLoading","setResetLoading","api","then","res","catch","err","setErrorSnackMessage","ConfirmDialog","confirmText","isOpen","titleIcon","isLoading","onConfirm","onClose","confirmationContent","LinearProgress","DialogContentText","settingsCommon","settingsFormContainer","gridTemplateColumns","gridGap","configSubsysList","configRecords","setConfigRecords","records","config","key_values","endpoint","Fragment","TableWrapper","columns","elementKey","idField","entityName","selectedConfiguration","navigate","useNavigate","selConfigTab","substring","lastIndexOf","valuesObj","setValueObj","saving","setSaving","loadingConfig","setLoadingConfig","configValues","setConfigValues","setConfigSubsysList","resetConfigurationOpen","setResetConfigurationOpen","configId","get","keyVals","payload","removeEmptyFields","configuration_id","setServerNeedsRestart","restart","setSnackBarMessage","onValueChange","useCallback","Grid","sx","textAlign","Box","noValidate","onSubmit","preventDefault","ConfTargetGeneric","fields","fieldsConfigurations","defaultVals","maxHeight","onClick","type","configName","validActiveConfig","configurationElements","element","containerClassName","minWidth","settingsOptionsContainer","searchField","actionsTray","containerForHeader","spacing","PageHeader","PageLayout","ScreenTitle","icon","VerticalTabs","path","ConfigurationForm","configuration_label","IAM_PAGES","component","Link","HelpBox","href","target","rel","region","compression","withBorder","heal","scanner","etcd","logger_webhook","audit_webhook","formFields","filter","field","selectSAs","e","setSelectedSAs","selectedSAs","targetD","checked","elements","inputWithBorder","overflowY","marginTop","flex","inputBoxSpacer","commonPlaceholder","currentElements","setCurrentElements","bottomList","createRef","length","elementsSplit","split","refScroll","current","scrollIntoView","onChangeCallback","newString","firstUpdate","useRef","elementsString","trim","join","onChangeElement","persist","updatedElement","parseInt","inputs","InputBoxWrapper","toString","overlayIcon","overlayAction","elementsUp","cpList","addEmptyLine","InputLabel","Tooltip","ref","valueDef","key","defaults","defValue","storedConfig","formFieldStyles","formFieldRow","modalBasic","valueHolder","setValueHolder","fieldsElements","defValList","values","setValueElement","valuesDup","fieldDefinition","FormSwitchWrapper","CommentBoxWrapper","fieldBox"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3097.c627671b.chunk.js b/portal-ui/build/static/js/3097.c627671b.chunk.js deleted file mode 100644 index 1deda0d0d..000000000 --- a/portal-ui/build/static/js/3097.c627671b.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3097,9478],{23804:function(e,n,t){t(72791);var i=t(11135),o=t(25787),a=t(61889),r=t(80184);n.Z=(0,o.Z)((function(e){return(0,i.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var n=e.classes,t=e.iconComponent,i=e.title,o=e.help;return(0,r.jsx)("div",{className:n.root,children:(0,r.jsxs)(a.ZP,{container:!0,children:[(0,r.jsxs)(a.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,i]}),(0,r.jsx)(a.ZP,{item:!0,xs:12,className:n.helpText,children:o})]})})}))},57314:function(e,n,t){var i=t(1413),o=t(72791),a=t(61889),r=t(30829),l=t(20068),s=t(27391),c=t(11135),u=t(25787),d=t(23814),p=t(84570),f=t(80184);n.Z=(0,u.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},d.YI),d.Hr),{},{inputLabel:(0,i.Z)((0,i.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,i.Z)((0,i.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 n=e.label,t=e.onChange,i=e.value,c=e.id,u=e.name,d=e.disabled,m=void 0!==d&&d,h=e.tooltip,x=void 0===h?"":h,g=e.index,b=void 0===g?0:g,v=e.error,Z=void 0===v?"":v,j=e.required,y=void 0!==j&&j,C=e.placeholder,E=void 0===C?"":C,w=e.classes,_={"data-index":b};return(0,f.jsx)(o.Fragment,{children:(0,f.jsxs)(a.ZP,{item:!0,xs:12,className:"".concat(w.fieldContainer," ").concat(""!==Z?w.errorInField:""),children:[""!==n&&(0,f.jsxs)(r.Z,{htmlFor:c,className:w.inputLabel,children:[(0,f.jsxs)("span",{children:[n,y?"*":""]}),""!==x&&(0,f.jsx)("div",{className:w.tooltipContainer,children:(0,f.jsx)(l.Z,{title:x,placement:"top-start",children:(0,f.jsx)("div",{className:w.tooltip,children:(0,f.jsx)(p.Z,{})})})})]}),(0,f.jsx)("div",{className:w.textBoxContainer,children:(0,f.jsx)(s.Z,{id:c,name:u,fullWidth:!0,value:i,disabled:m,onChange:t,multiline:!0,rows:5,inputProps:_,error:""!==Z,helperText:Z,placeholder:E,InputLabelProps:{shrink:!0},InputProps:{classes:{notchedOutline:w.cssOutlinedInput,root:w.rootContainer}},variant:"outlined"})})]})})}))},50276:function(e,n,t){var i=t(1413),o=t(29439),a=t(72791),r=t(64554),l=t(43896),s=t(83449),c=t(47283),u=t(82851),d=t(25787),p=t(13967),f=t(11135),m=t(95193),h=t(57689),x=t(80184),g={minHeight:60};n.Z=(0,d.Z)((function(e){return(0,f.Z)({tabsContainer:{display:"flex",height:"100%",width:"100%"},tabsHeaderContainer:{width:"300px",background:"#F8F8F8",borderRight:"1px solid #EAEAEA","& .MuiTabs-root":{"& .MuiTabs-indicator":{display:"none"},"& .MuiTab-root":{display:"flex",flexFlow:"row",alignItems:"center",justifyContent:"flex-start",borderBottom:"1px solid #EAEAEA","& .MuiSvgIcon-root":{marginRight:8,marginBottom:0},"&.Mui-selected":{background:"#E5E5E5",fontWeight:600}},"&. MuiTabs-scroller":{display:"none"}}},tabContentContainer:{width:"100%","& .MuiTabPanel-root":{height:"100%"}},tabPanel:{height:"100%"},"@media (max-width: 900px)":{tabsContainer:{flexFlow:"column",flexDirection:"column"},tabsHeaderContainer:{width:"100%",borderBottom:" 1px solid #EAEAEA","& .MuiTabs-root .MuiTabs-scroller .MuiButtonBase-root":{borderBottom:" 0px"}}}})}))((function(e){var n=e.children,t=e.classes,d=e.selectedTab,f=void 0===d?"0":d,b=e.routes,v=e.isRouteTabs,Z=(0,p.Z)(),j=(0,h.TH)().pathname,y=void 0===j?"":j,C=(0,m.Z)(Z.breakpoints.down("md")),E=(0,a.useState)(f),w=(0,o.Z)(E,2),_=w[0],k=w[1],T=[],S=[];if((0,a.useEffect)((function(){if(v){var e=n.find((function(e){return e.tabConfig.to===y}));e&&k(e.tabConfig.value)}}),[v,n,y]),!n)return null;n.forEach((function(e){T.push(e.tabConfig),S.push(e.content)}));return(0,x.jsx)(s.ZP,{value:"".concat(_),children:(0,x.jsxs)(r.Z,{className:t.tabsContainer,children:[(0,x.jsx)(r.Z,{className:t.tabsHeaderContainer,children:(0,x.jsx)(c.Z,{onChange:function(e,n){k(n)},orientation:C?"horizontal":"vertical",variant:C?"scrollable":"standard",scrollButtons:"auto",className:t.tabList,children:T.map((function(e,n){return e?(0,x.jsx)(l.Z,(0,i.Z)((0,i.Z)({className:t.tabHeader,value:"".concat(n),style:g},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(n)):null}))})}),(0,x.jsxs)(r.Z,{className:t.tabContentContainer,children:[v?null:S.map((function(e,n){return(0,x.jsx)(u.Z,{classes:(0,i.Z)({},t.tabPanel),value:"".concat(n),children:e||null},"v-tab-p-".concat(n))})),v?(0,x.jsx)("div",{className:t.tabPanel,children:b}):null]})]})})}))},63097:function(e,n,t){t.r(n),t.d(n,{default:function(){return B}});var i=t(1413),o=t(72791),a=t(11135),r=t(25787),l=t(61889),s=t(58493),c=t(23814),u=t(32291),d=t(23804),p=t(56096),f=t(57689),m=t(11087),h=t(50276),x=t(74794),g=t(14917),b=t(29439),v=t(75952),Z=t(26181),j=t.n(Z),y=t(64554),C=t(81207),E=t(29478),w=t(40986),_=t(51691),k=t(23508),T=t(87995),S=t(25469),N=t(80184),I=(0,r.Z)((function(e){return(0,a.Z)((0,i.Z)({wrapText:{maxWidth:"200px",whiteSpace:"normal",wordWrap:"break-word"}},c.Qw))}))((function(e){var n=e.classes,t=e.configurationName,i=e.closeResetModalAndRefresh,a=e.resetOpen,r=(0,S.TL)(),l=(0,o.useState)(!1),s=(0,b.Z)(l,2),c=s[0],u=s[1];(0,o.useEffect)((function(){c&&C.Z.invoke("POST","/api/v1/configs/".concat(t,"/reset")).then((function(e){u(!1),i(!0)})).catch((function(e){u(!1),r((0,T.Ih)(e))}))}),[i,t,c,r]);return(0,N.jsx)(k.Z,{title:"Restore Defaults",confirmText:"Yes, Reset Configuration",isOpen:a,titleIcon:(0,N.jsx)(p.NvT,{}),isLoading:c,onConfirm:function(){u(!0)},onClose:function(){i(!1)},confirmationContent:(0,N.jsxs)(o.Fragment,{children:[c&&(0,N.jsx)(w.Z,{}),(0,N.jsxs)(_.Z,{children:["Are you sure you want to restore these configurations to default values?",(0,N.jsx)("br",{}),(0,N.jsx)("b",{className:n.wrapText,children:"Please note that this may cause your system to not be accessible"})]})]})})})),P=t(72401),A=t(92983),M=(0,r.Z)((function(e){return(0,a.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},c.YI),c.Je),{},{settingsFormContainer:{display:"grid",gridTemplateColumns:"1fr",gridGap:"10px"}}))}))((function(e){var n=e.classes,t=e.configSubsysList,i=(e.className,(0,o.useState)([])),a=(0,b.Z)(i,2),r=a[0],l=a[1];return(0,o.useEffect)((function(){var e=[];null!==t&&(t.forEach((function(n){null!==n.name&&null!==n.key_values&&(e.push({name:n.name,endpoint:n.key_values[0].value}),"off"===n.key_values[0].value&&(e=[]))})),l(e))}),[t]),(0,N.jsxs)(o.Fragment,{children:[(0,N.jsx)("h3",{children:"Currently Configured Endpoints"}),(0,N.jsx)(A.Z,{columns:[{label:"Name",elementKey:"name"},{label:"Endpoint",elementKey:"endpoint"}],idField:"config-id",isLoading:!1,records:r,classes:n,entityName:"endpoints"})]})})),R=(0,r.Z)((function(e){return(0,a.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},c.YI),c.Je),{},{settingsFormContainer:{display:"grid",gridTemplateColumns:"1fr",gridGap:"10px"}}))}))((function(e){var n=e.selectedConfiguration,t=e.classes,i=e.className,a=void 0===i?"":i,r=(0,S.TL)(),c=(0,f.s0)(),u=(0,f.TH)().pathname,d=void 0===u?"":u,p=d.substring(d.lastIndexOf("/")+1);p="settings"===p?"region":p;var m=(0,o.useState)([]),h=(0,b.Z)(m,2),x=h[0],g=h[1],Z=(0,o.useState)(!1),w=(0,b.Z)(Z,2),_=w[0],k=w[1],A=(0,o.useState)(!0),R=(0,b.Z)(A,2),q=R[0],F=R[1],B=(0,o.useState)([]),L=(0,b.Z)(B,2),O=L[0],W=L[1],D=(0,o.useState)([]),H=(0,b.Z)(D,2),Y=H[0],z=H[1],G=(0,o.useState)(!1),K=(0,b.Z)(G,2),V=K[0],J=K[1];(0,o.useEffect)((function(){F(!0)}),[p]),(0,o.useEffect)((function(){if(q){var e=j()(n,"configuration_id",!1);if(e)return void C.Z.invoke("GET","/api/v1/configs/".concat(e)).then((function(e){z(e);var n=j()(e[0],"key_values",[]);W(n),F(!1)})).catch((function(e){F(!1),r((0,T.Ih)(e))}));F(!1)}}),[q,n,r]),(0,o.useEffect)((function(){if(_){var e={key_values:(0,s.DD)(x)};C.Z.invoke("PUT","/api/v1/configs/".concat(n.configuration_id),e).then((function(e){k(!1),r((0,T.cN)(e.restart)),e.restart||r((0,T.y1)("Configuration saved successfully"))})).catch((function(e){k(!1),r((0,T.Ih)(e))}))}}),[_,r,n,x,c]);var U=(0,o.useCallback)((function(e){g(e)}),[g]);return(0,N.jsxs)(o.Fragment,{children:[V&&(0,N.jsx)(I,{configurationName:n.configuration_id,closeResetModalAndRefresh:function(e){J(!1),r((0,T.cN)(e)),e&&F(!0)},resetOpen:V}),q?(0,N.jsx)(l.ZP,{item:!0,xs:12,sx:{textAlign:"center",paddingTop:"15px"},children:(0,N.jsx)(P.Z,{})}):(0,N.jsx)(y.Z,{sx:{padding:"15px",height:"100%"},children:(0,N.jsxs)("form",{noValidate:!0,onSubmit:function(e){e.preventDefault(),k(!0)},className:a,style:{height:"100%",display:"flex",flexFlow:"column"},children:[(0,N.jsxs)(l.ZP,{item:!0,xs:12,className:t.settingsFormContainer,children:[(0,N.jsx)(E.default,{fields:s.DP[n.configuration_id],onChange:U,defaultVals:O}),("logger_webhook"===n.configuration_id||"audit_webhook"===n.configuration_id)&&(0,N.jsx)(M,{classes:t,configSubsysList:Y})]}),(0,N.jsxs)(l.ZP,{item:!0,xs:12,sx:{paddingTop:"15px ",textAlign:"right",maxHeight:"60px",display:"flex",alignItems:"center",justifyContent:"flex-end"},children:[(0,N.jsx)(v.zx,{id:"restore-defaults",variant:"secondary",onClick:function(){J(!0)},label:"Restore Defaults"}),"\xa0 \xa0",(0,N.jsx)(v.zx,{id:"save",type:"submit",variant:"callAction",disabled:_,label:"Save"})]})]})})]})})),q=function(){var e=(0,f.TH)().pathname,n=void 0===e?"":e,t=n.substring(n.lastIndexOf("/")+1),i=s.bx.find((function(e){return e.configuration_id===t})),o="".concat(t);return(0,N.jsx)(l.ZP,{item:!0,xs:12,sx:{height:"100%","& .identity_ldap, .api":{"& label":{minWidth:220,marginRight:0}}},children:i&&(0,N.jsx)(R,{className:"".concat(o),selectedConfiguration:i})})},F=t(56087),B=(0,r.Z)((function(e){return(0,a.Z)((0,i.Z)((0,i.Z)((0,i.Z)({settingsOptionsContainer:{display:"flex",flexDirection:"row",justifyContent:"flex-start",flexWrap:"wrap",border:"#E5E5E5 1px solid",borderRadius:2,backgroundColor:"#fff"}},c.qg),c.OR),(0,c.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=(0,f.TH)().pathname,i=void 0===t?"":t,a=i.substring(i.lastIndexOf("/")+1);return a="settings"===a?"region":a,(0,N.jsxs)(o.Fragment,{children:[(0,N.jsx)(u.Z,{label:"Settings"}),(0,N.jsxs)(x.Z,{children:[(0,N.jsx)(l.ZP,{item:!0,xs:12,children:(0,N.jsxs)("div",{id:"settings-container",className:n.settingsOptionsContainer,children:[(0,N.jsx)(g.Z,{icon:(0,N.jsx)(p.ewm,{}),title:"MinIO Configuration:"}),(0,N.jsx)(h.Z,{selectedTab:a,isRouteTabs:!0,routes:(0,N.jsxs)(f.Z5,{children:[s.bx.map((function(e){return(0,N.jsx)(f.AW,{path:"".concat(e.configuration_id),element:(0,N.jsx)(q,{})},"configItem-".concat(e.configuration_label))})),(0,N.jsx)(f.AW,{path:"/",element:(0,N.jsx)(f.Fg,{to:"".concat(F.gA.SETTINGS,"/region")})})]}),children:s.bx.map((function(e){var n,t=e.configuration_id;return{tabConfig:{label:e.configuration_label,value:t,icon:e.icon,component:m.rU,to:(n=t,"".concat(F.gA.SETTINGS,"/").concat(n))}}}))})]})}),(0,N.jsx)(l.ZP,{item:!0,xs:12,sx:{paddingTop:"15px"},children:(0,N.jsx)(d.Z,{title:"Learn more about Configurations",iconComponent:(0,N.jsx)(p.ewm,{}),help:(0,N.jsxs)(o.Fragment,{children:["MinIO supports a variety of configurations ranging from encryption, compression, region, notifications, etc.",(0,N.jsx)("br",{}),(0,N.jsx)("br",{}),"You can learn more at our"," ",(0,N.jsx)("a",{href:"https://min.io/docs/minio/linux/reference/minio-mc-admin/mc-admin-config.html?ref=con#id4",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})})]})]})}))},58493:function(e,n,t){t.d(n,{DD:function(){return h},DP:function(){return m},_0:function(){return x},bx:function(){return f}});var i=t(93433),o=(t(72791),t(87569)),a=t(61809),r=t(31292),l=t(98095),s=t(67055),c=t(21141),u=t(36909),d=t(13901),p=t(80184),f=[{icon:(0,p.jsx)(o.Z,{}),configuration_id:"region",configuration_label:"Region"},{icon:(0,p.jsx)(a.Z,{}),configuration_id:"compression",configuration_label:"Compression"},{icon:(0,p.jsx)(r.Z,{}),configuration_id:"api",configuration_label:"API"},{icon:(0,p.jsx)(l.Z,{}),configuration_id:"heal",configuration_label:"Heal"},{icon:(0,p.jsx)(s.Z,{}),configuration_id:"scanner",configuration_label:"Scanner"},{icon:(0,p.jsx)(c.Z,{}),configuration_id:"etcd",configuration_label:"Etcd"},{icon:(0,p.jsx)(d.Z,{}),configuration_id:"logger_webhook",configuration_label:"Logger Webhook"},{icon:(0,p.jsx)(u.Z,{}),configuration_id:"audit_webhook",configuration_label:"Audit Webhook"}],m={region:[{name:"name",required:!0,label:"Server Location",tooltip:'Name of the location of the server e.g. "us-west-rack2"',type:"string",placeholder:"e.g. us-west-rack-2"},{name:"comment",required:!1,label:"Comment",tooltip:"You can add a comment to this setting",type:"comment",placeholder:"Enter custom notes if any"}],compression:[{name:"extensions",required:!1,label:"Extensions",tooltip:'Extensions to compress e.g. ".txt",".log" or ".csv", you can write one per field',type:"csv",placeholder:"Enter an Extension",withBorder:!0},{name:"mime_types",required:!1,label:"Mime Types",tooltip:'Mime types e.g. "text/*","application/json" or "application/xml", you can write one per field',type:"csv",placeholder:"Enter a Mime Type",withBorder:!0}],api:[{name:"requests_max",required:!1,label:"Requests Max",tooltip:"Maximum number of concurrent requests, e.g. '1600'",type:"number",placeholder:"Enter Requests Max"},{name:"cors_allow_origin",required:!1,label:"Cors Allow Origin",tooltip:"List of origins allowed for CORS requests",type:"csv",placeholder:"Enter allowed origin e.g. https://example.com"},{name:"replication_workers",required:!1,label:"Replication Workers",tooltip:"Number of replication workers, defaults to 100",type:"number",placeholder:"Enter Replication Workers"},{name:"replication_failed_workers",required:!1,label:"Replication Failed Workers",tooltip:"Number of replication workers for recently failed replicas, defaults to 4",type:"number",placeholder:"Enter Replication Failed Workers"}],heal:[{name:"bitrotscan",required:!1,label:"Bitrot Scan",tooltip:"Perform bitrot scan on disks when checking objects during scanner",type:"on|off"},{name:"max_sleep",required:!1,label:"Max Sleep",tooltip:"Maximum sleep duration between objects to slow down heal operation. eg. 2s",type:"duration",placeholder:"Enter Max Sleep duration"},{name:"max_io",required:!1,label:"Max IO",tooltip:"Maximum IO requests allowed between objects to slow down heal operation. eg. 3",type:"number",placeholder:"Enter Max IO"}],scanner:[{name:"delay",required:!1,label:"Delay multiplier",tooltip:"Scanner delay multiplier, defaults to '10.0'",type:"number",placeholder:"Enter Delay"},{name:"max_wait",required:!1,label:"Max Wait",tooltip:"Maximum wait time between operations, defaults to '15s'",type:"duration",placeholder:"Enter Max Wait"},{name:"cycle",required:!1,label:"Cycle",tooltip:"Time duration between scanner cycles, defaults to '1m'",type:"duration",placeholder:"Enter Cycle"}],etcd:[{name:"endpoints",required:!0,label:"Endpoints",tooltip:'List of etcd endpoints e.g. "http://localhost:2379", you can write one per field',type:"csv",placeholder:"Enter Endpoint"},{name:"path_prefix",required:!1,label:"Path Prefix",tooltip:'Namespace prefix to isolate tenants e.g. "customer1/"',type:"string",placeholder:"Enter Path Prefix"},{name:"coredns_path",required:!1,label:"Coredns Path",tooltip:'Shared bucket DNS records, default is "/skydns"',type:"string",placeholder:"Enter Coredns Path"},{name:"client_cert",required:!1,label:"Client Cert",tooltip:"Client cert for mTLS authentication",type:"string",placeholder:"Enter Client Cert"},{name:"client_cert_key",required:!1,label:"Client Cert Key",tooltip:"Client cert key for mTLS authentication",type:"string",placeholder:"Enter Client Cert Key"},{name:"comment",required:!1,label:"Comment",tooltip:"You can add a comment to this setting",type:"comment",multiline:!0,placeholder:"Enter custom notes if any"}],logger_webhook:[{name:"endpoint",required:!0,label:"Endpoint",type:"string",placeholder:"Enter Endpoint"},{name:"auth_token",required:!0,label:"Auth Token",type:"string",placeholder:"Enter Auth Token"}],audit_webhook:[{name:"endpoint",required:!0,label:"Endpoint",type:"string",placeholder:"Enter Endpoint"},{name:"auth_token",required:!0,label:"Auth Token",type:"string",placeholder:"Enter Auth Token"}]},h=function(e){return e.filter((function(e){return""!==e.value}))},x=function(e,n,t){var o=e.target,a=o.value,r=o.checked,l=(0,i.Z)(t);return r?l.push(a):l=l.filter((function(e){return e!==a})),n(l),l}},29478:function(e,n,t){t.r(n),t.d(n,{default:function(){return C},valueDef:function(){return y}});var i=t(93433),o=t(29439),a=t(1413),r=t(72791),l=t(11135),s=t(25787),c=t(61889),u=t(23814),d=t(21435),p=t(26181),f=t.n(p),m=t(30829),h=t(20068),x=t(84570),g=t(47919),b=t(80184),v=(0,s.Z)((function(e){return(0,l.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},u.YI),u.Hr),{},{inputWithBorder:{border:"1px solid #EAEAEA",padding:15,height:150,overflowY:"auto",position:"relative",marginTop:15,flex:1},inputBoxSpacer:{marginBottom:7},inputLabel:(0,a.Z)((0,a.Z)({},u.YI.inputLabel),{},{margin:0,alignItems:"flex-start",paddingTop:"20px",minWidth:162})}))}))((function(e){var n=e.elements,t=e.name,a=e.label,l=e.tooltip,s=void 0===l?"":l,u=e.commonPlaceholder,p=void 0===u?"":u,v=e.onChange,Z=e.withBorder,j=void 0!==Z&&Z,y=e.classes,C=(0,r.useState)([""]),E=(0,o.Z)(C,2),w=E[0],_=E[1],k=(0,r.createRef)();(0,r.useEffect)((function(){if(1===w.length&&""===w[0]&&n&&""!==n){var e=n.split(",");e.push(""),_(e)}}),[n,w]),(0,r.useEffect)((function(){if(w.length>1){var e=k.current;e&&e.scrollIntoView(!1)}}),[w,k]);var T=(0,r.useCallback)((function(e){v(e)}),[v]),S=(0,r.useRef)(!0);(0,r.useEffect)((function(){if(S.current)S.current=!1;else{var e=w.filter((function(e){return""!==e.trim()})).join(",");T(e)}}),[w]);var N=function(e){e.persist();var n=(0,i.Z)(w),t=f()(e.target,"dataset.index","0");n[parseInt(t)]=e.target.value,_(n)},I=w.map((function(e,n){return(0,b.jsx)("div",{className:y.inputBoxSpacer,children:(0,b.jsx)(d.Z,{id:"".concat(t,"-").concat(n.toString()),label:"",name:"".concat(t,"-").concat(n.toString()),value:w[n],onChange:N,index:n,placeholder:p,overlayIcon:n===w.length-1?(0,b.jsx)(g.Z,{}):null,overlayAction:function(){!function(e){if(""!==e[e.length-1].trim()){var n=(0,i.Z)(e);n.push(""),_(n)}}(w)}},"csv-".concat(t,"-").concat(n.toString()))},"csv-multi-".concat(t,"-").concat(n.toString()))}));return(0,b.jsx)(r.Fragment,{children:(0,b.jsxs)(c.ZP,{item:!0,xs:12,className:y.fieldContainer,children:[(0,b.jsxs)(m.Z,{className:y.inputLabel,children:[(0,b.jsx)("span",{children:a}),""!==s&&(0,b.jsx)("div",{className:y.tooltipContainer,children:(0,b.jsx)(h.Z,{title:s,placement:"top-start",children:(0,b.jsx)("div",{className:y.tooltip,children:(0,b.jsx)(x.Z,{})})})})]}),(0,b.jsxs)(c.ZP,{item:!0,xs:12,className:"".concat(j?y.inputWithBorder:""),children:[I,(0,b.jsx)("div",{ref:k})]})]})})})),Z=t(57314),j=t(37516),y=function(e,n,t){var i="on|off"===n?"off":"";if(t.length>0){var o=t.find((function(n){return n.key===e}));o&&(i=o.value||"")}return i},C=(0,s.Z)((function(e){return(0,l.Z)((0,a.Z)((0,a.Z)({},u.DF),{},{formFieldRow:(0,a.Z)({},u.DF.formFieldRow)},u.oO))}))((function(e){var n=e.onChange,t=e.fields,a=e.defaultVals,l=e.classes,s=(0,r.useState)([]),u=(0,o.Z)(s,2),p=u[0],f=u[1],m=t||[],h=a||[];(0,r.useEffect)((function(){var e=t.map((function(e){return{key:e.name,value:y(e.name,e.type,h)}}));f(e)}),[t,a]),(0,r.useEffect)((function(){n(p)}),[p]);var x=function(e,n,t){var o=(0,i.Z)(p);o[t]={key:e,value:n},f(o)},g=function(e,n){switch(e.type){case"on|off":var t=p[n]?p[n].value:"off";return(0,b.jsx)(j.Z,{onChange:function(t){var i=t.target.checked?"on":"off";x(e.name,i,n)},id:e.name,name:e.name,label:e.label,value:"switch_on",tooltip:e.tooltip,checked:"on"===t});case"csv":return(0,b.jsx)(v,{elements:p[n]?p[n].value:"",label:e.label,name:e.name,onChange:function(t){x(e.name,t,n)},tooltip:e.tooltip,commonPlaceholder:e.placeholder,withBorder:!0});case"comment":return(0,b.jsx)(Z.Z,{id:e.name,name:e.name,label:e.label,tooltip:e.tooltip,value:p[n]?p[n].value:"",onChange:function(t){return x(e.name,t.target.value,n)},placeholder:e.placeholder});default:return(0,b.jsx)(d.Z,{id:e.name,name:e.name,label:e.label,tooltip:e.tooltip,value:p[n]?p[n].value:"",onChange:function(t){return x(e.name,t.target.value,n)},multiline:!!e.multiline,placeholder:e.placeholder})}};return(0,b.jsx)(c.ZP,{container:!0,children:(0,b.jsx)(c.ZP,{xs:12,item:!0,className:l.fieldBox,children:m.map((function(e,n){return(0,b.jsx)(c.ZP,{item:!0,xs:12,className:l.formFieldRow,children:g(e,n)},e.name)}))})})}))}}]); -//# sourceMappingURL=3097.c627671b.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3097.c627671b.chunk.js.map b/portal-ui/build/static/js/3097.c627671b.chunk.js.map deleted file mode 100644 index 18704b835..000000000 --- a/portal-ui/build/static/js/3097.c627671b.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/3097.c627671b.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/FormComponents/CommentBoxWrapper/CommentBoxWrapper.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.tsx","screens/Console/NotificationEndpoints/CustomForms/ResetConfigurationModal.tsx","screens/Console/NotificationEndpoints/CustomForms/EndpointDisplay.tsx","screens/Console/NotificationEndpoints/CustomForms/EditConfiguration.tsx","screens/Console/Configurations/ConfigurationPanels/ConfigurationForm.tsx","screens/Console/Configurations/ConfigurationPanels/ConfigurationOptions.tsx","screens/Console/Configurations/utils.tsx","screens/Console/Common/FormComponents/CSVMultiSelector/CSVMultiSelector.tsx","screens/Console/NotificationEndpoints/ConfTargetGeneric.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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string | React.ReactNode;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { 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 \"../../../../../icons/HelpIcon\";\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","import React, { useState, useEffect } from \"react\";\nimport { Box, Tab, TabProps } from \"@mui/material\";\nimport { TabContext, TabList, TabPanel } from \"@mui/lab\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme, useTheme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\nimport { useLocation } from \"react-router-dom\";\n\nexport type TabItemProps = {\n tabConfig: TabProps | any;\n content?: JSX.Element | JSX.Element[];\n};\n\ntype VerticalTabsProps = {\n classes: any;\n children: TabItemProps[];\n selectedTab?: string;\n routes?: any;\n isRouteTabs?: boolean;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n tabsContainer: {\n display: \"flex\",\n height: \"100%\",\n width: \"100%\",\n },\n tabsHeaderContainer: {\n width: \"300px\",\n background: \"#F8F8F8\",\n borderRight: \"1px solid #EAEAEA\",\n \"& .MuiTabs-root\": {\n \"& .MuiTabs-indicator\": {\n display: \"none\",\n },\n \"& .MuiTab-root\": {\n display: \"flex\",\n flexFlow: \"row\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n borderBottom: \"1px solid #EAEAEA\",\n \"& .MuiSvgIcon-root\": {\n marginRight: 8,\n marginBottom: 0,\n },\n \"&.Mui-selected\": {\n background: \"#E5E5E5\",\n fontWeight: 600,\n },\n },\n\n \"&. MuiTabs-scroller\": {\n display: \"none\",\n },\n },\n },\n tabContentContainer: {\n width: \"100%\",\n \"& .MuiTabPanel-root\": {\n height: \"100%\",\n },\n },\n tabPanel: {\n height: \"100%\",\n },\n /*Below md breakpoint make it horizontal and style it for scrolling tabs*/\n \"@media (max-width: 900px)\": {\n tabsContainer: {\n flexFlow: \"column\",\n flexDirection: \"column\",\n },\n tabsHeaderContainer: {\n width: \"100%\",\n borderBottom: \" 1px solid #EAEAEA\",\n \"& .MuiTabs-root .MuiTabs-scroller .MuiButtonBase-root\": {\n borderBottom: \" 0px\",\n },\n },\n },\n });\n\nconst tabStripStyle = {\n minHeight: 60,\n};\n\nconst VerticalTabs = ({\n children,\n classes,\n selectedTab = \"0\",\n routes,\n isRouteTabs,\n}: VerticalTabsProps) => {\n const theme = useTheme();\n const { pathname = \"\" } = useLocation();\n\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const [value, setValue] = useState(selectedTab);\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n useEffect(() => {\n if (isRouteTabs) {\n const tabConfigElement = children.find(\n (item) => item.tabConfig.to === pathname\n );\n\n if (tabConfigElement) {\n setValue(tabConfigElement.tabConfig.value);\n }\n }\n }, [isRouteTabs, children, pathname]);\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\n });\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n return (\n \n \n \n \n {headerList.map((item, index) => {\n if (item) {\n return (\n \n );\n }\n return null;\n })}\n \n \n\n \n {!isRouteTabs\n ? contentList.map((item, index) => {\n return (\n \n {item ? item : null}\n \n );\n })\n : null}\n {isRouteTabs ? (\n
{routes}
\n ) : null}\n
\n
\n
\n );\n};\n\nexport default withStyles(styles)(VerticalTabs);\n","// This file is part of MinIO Console Server\n// Copyright (c) 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\";\n\nimport { DialogContentText, LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../../Common/FormComponents/common/styleLibrary\";\n\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n wrapText: {\n maxWidth: \"200px\",\n whiteSpace: \"normal\",\n wordWrap: \"break-word\",\n },\n ...deleteDialogStyles,\n });\n\ninterface IResetConfiguration {\n classes: any;\n configurationName: string;\n closeResetModalAndRefresh: (reloadConfiguration: boolean) => void;\n\n resetOpen: boolean;\n}\n\nconst ResetConfigurationModal = ({\n classes,\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\n .invoke(\"POST\", `/api/v1/configs/${configurationName}/reset`)\n .then((res) => {\n setResetLoading(false);\n closeResetModalAndRefresh(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setResetLoading(false);\n dispatch(setErrorSnackMessage(err));\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 withStyles(styles)(ResetConfigurationModal);\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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\nimport {\n fieldBasic,\n settingsCommon,\n} from \"../../Common/FormComponents/common/styleLibrary\";\n\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...settingsCommon,\n settingsFormContainer: {\n display: \"grid\",\n gridTemplateColumns: \"1fr\",\n gridGap: \"10px\",\n },\n });\n\ninterface IEndpointDisplayProps {\n // selectedConfiguration: IConfigurationElement;\n classes: any;\n configSubsysList: any[];\n className?: string;\n}\n\nconst EndpointDisplay = ({\n // selectedConfiguration,\n classes,\n configSubsysList,\n className = \"\",\n}: IEndpointDisplayProps) => {\n const [configRecords, setConfigRecords] = useState([]);\n\n useEffect(() => {\n let records: any[] = [];\n if (configSubsysList !== null) {\n configSubsysList.forEach((config) => {\n if (config.name !== null && config.key_values !== null) {\n records.push({\n name: config.name,\n endpoint: config.key_values[0][\"value\"],\n });\n if (config.key_values[0][\"value\"] === \"off\") {\n records = [];\n }\n }\n });\n setConfigRecords(records);\n }\n }, [configSubsysList]);\n\n return (\n \n

Currently Configured Endpoints

\n\n \n
\n );\n};\n\nexport default withStyles(styles)(EndpointDisplay);\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 { Button } from \"mds\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Box } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport api from \"../../../../common/api\";\nimport ConfTargetGeneric from \"../ConfTargetGeneric\";\n\nimport {\n fieldBasic,\n settingsCommon,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport {\n fieldsConfigurations,\n removeEmptyFields,\n} from \"../../Configurations/utils\";\nimport {\n IConfigurationElement,\n IElementValue,\n} from \"../../Configurations/types\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport ResetConfigurationModal from \"./ResetConfigurationModal\";\nimport {\n setErrorSnackMessage,\n setServerNeedsRestart,\n setSnackBarMessage,\n} from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\nimport Loader from \"../../Common/Loader/Loader\";\nimport EndpointDisplay from \"./EndpointDisplay\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...settingsCommon,\n settingsFormContainer: {\n display: \"grid\",\n gridTemplateColumns: \"1fr\",\n gridGap: \"10px\",\n },\n });\n\ninterface IAddNotificationEndpointProps {\n selectedConfiguration: IConfigurationElement;\n classes: any;\n className?: string;\n}\n\nconst EditConfiguration = ({\n selectedConfiguration,\n classes,\n className = \"\",\n}: IAddNotificationEndpointProps) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n const { pathname = \"\" } = useLocation();\n\n let selConfigTab = pathname.substring(pathname.lastIndexOf(\"/\") + 1);\n selConfigTab = selConfigTab === \"settings\" ? \"region\" : selConfigTab;\n\n //Local States\n const [valuesObj, setValueObj] = useState([]);\n const [saving, setSaving] = useState(false);\n const [loadingConfig, setLoadingConfig] = useState(true);\n const [configValues, setConfigValues] = useState([]);\n const [configSubsysList, setConfigSubsysList] = useState([]);\n const [resetConfigurationOpen, setResetConfigurationOpen] =\n useState(false);\n\n useEffect(() => {\n setLoadingConfig(true);\n }, [selConfigTab]);\n\n useEffect(() => {\n if (loadingConfig) {\n const configId = get(selectedConfiguration, \"configuration_id\", false);\n\n if (configId) {\n api\n .invoke(\"GET\", `/api/v1/configs/${configId}`)\n .then((res) => {\n setConfigSubsysList(res);\n const keyVals = get(res[0], \"key_values\", []);\n setConfigValues(keyVals);\n setLoadingConfig(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingConfig(false);\n dispatch(setErrorSnackMessage(err));\n });\n\n return;\n }\n setLoadingConfig(false);\n }\n }, [loadingConfig, selectedConfiguration, dispatch]);\n\n useEffect(() => {\n if (saving) {\n const payload = {\n key_values: removeEmptyFields(valuesObj),\n };\n api\n .invoke(\n \"PUT\",\n `/api/v1/configs/${selectedConfiguration.configuration_id}`,\n payload\n )\n .then((res) => {\n setSaving(false);\n dispatch(setServerNeedsRestart(res.restart));\n if (!res.restart) {\n dispatch(setSnackBarMessage(\"Configuration saved successfully\"));\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setSaving(false);\n dispatch(setErrorSnackMessage(err));\n });\n }\n }, [saving, dispatch, selectedConfiguration, valuesObj, navigate]);\n\n //Fetch Actions\n const submitForm = (event: React.FormEvent) => {\n event.preventDefault();\n setSaving(true);\n };\n\n const onValueChange = useCallback(\n (newValue: IElementValue[]) => {\n setValueObj(newValue);\n },\n [setValueObj]\n );\n\n const continueReset = (restart: boolean) => {\n setResetConfigurationOpen(false);\n dispatch(setServerNeedsRestart(restart));\n if (restart) {\n setLoadingConfig(true);\n }\n };\n\n return (\n \n {resetConfigurationOpen && (\n \n )}\n {loadingConfig ? (\n \n \n \n ) : (\n \n \n \n \n {(selectedConfiguration.configuration_id === \"logger_webhook\" ||\n selectedConfiguration.configuration_id === \"audit_webhook\") && (\n \n )}\n \n \n {\n setResetConfigurationOpen(true);\n }}\n label={\"Restore Defaults\"}\n />\n    \n \n \n \n \n )}\n \n );\n};\n\nexport default withStyles(styles)(EditConfiguration);\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 { useLocation } from \"react-router-dom\";\nimport Grid from \"@mui/material/Grid\";\nimport { configurationElements } from \"../utils\";\nimport EditConfiguration from \"../../NotificationEndpoints/CustomForms/EditConfiguration\";\n\nconst ConfigurationsList = () => {\n const { pathname = \"\" } = useLocation();\n\n const configName = pathname.substring(pathname.lastIndexOf(\"/\") + 1);\n\n const validActiveConfig = configurationElements.find(\n (element) => element.configuration_id === configName\n );\n const containerClassName = `${configName}`;\n return (\n \n {validActiveConfig && (\n \n )}\n \n );\n};\n\nexport default ConfigurationsList;\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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nimport { configurationElements } from \"../utils\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport HelpBox from \"../../../../common/HelpBox\";\nimport { SettingsIcon } from \"../../../../icons\";\nimport { Link, Navigate, Route, Routes, useLocation } from \"react-router-dom\";\nimport VerticalTabs from \"../../Common/VerticalTabs/VerticalTabs\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport ScreenTitle from \"../../Common/ScreenTitle/ScreenTitle\";\nimport ConfigurationForm from \"./ConfigurationForm\";\nimport { IAM_PAGES } from \"../../../../common/SecureComponent/permissions\";\n\ninterface IConfigurationOptions {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n settingsOptionsContainer: {\n display: \"flex\" as const,\n flexDirection: \"row\" as const,\n justifyContent: \"flex-start\" as const,\n flexWrap: \"wrap\" as const,\n border: \"#E5E5E5 1px solid\",\n borderRadius: 2,\n backgroundColor: \"#fff\",\n },\n ...searchField,\n ...actionsTray,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst getRoutePath = (path: string) => {\n return `${IAM_PAGES.SETTINGS}/${path}`;\n};\n\nconst ConfigurationOptions = ({ classes }: IConfigurationOptions) => {\n const { pathname = \"\" } = useLocation();\n\n let selConfigTab = pathname.substring(pathname.lastIndexOf(\"/\") + 1);\n selConfigTab = selConfigTab === \"settings\" ? \"region\" : selConfigTab;\n\n return (\n \n \n\n \n \n \n }\n title={\"MinIO Configuration:\"}\n />\n \n {configurationElements.map((element) => (\n }\n />\n ))}\n }\n />\n \n }\n >\n {configurationElements.map((element) => {\n const { configuration_id, configuration_label, icon } = element;\n return {\n tabConfig: {\n label: configuration_label,\n value: configuration_id,\n icon: icon,\n component: Link,\n to: getRoutePath(configuration_id),\n },\n };\n })}\n \n
\n
\n \n }\n help={\n \n MinIO supports a variety of configurations ranging from\n encryption, compression, region, notifications, etc.\n
\n
\n You can learn more at our{\" \"}\n \n documentation\n \n .\n
\n }\n />\n
\n \n \n );\n};\n\nexport default withStyles(styles)(ConfigurationOptions);\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 PublicIcon from \"@mui/icons-material/Public\";\nimport CompressIcon from \"@mui/icons-material/Compress\";\nimport CodeIcon from \"@mui/icons-material/Code\";\nimport LocalHospitalIcon from \"@mui/icons-material/LocalHospital\";\nimport FindReplaceIcon from \"@mui/icons-material/FindReplace\";\nimport VpnKeyIcon from \"@mui/icons-material/VpnKey\";\nimport PendingActionsIcon from \"@mui/icons-material/PendingActions\";\nimport CallToActionIcon from \"@mui/icons-material/CallToAction\";\nimport { IElement, IElementValue } from \"./types\";\n\nexport const configurationElements: IElement[] = [\n {\n icon: ,\n configuration_id: \"region\",\n configuration_label: \"Region\",\n },\n {\n icon: ,\n configuration_id: \"compression\",\n configuration_label: \"Compression\",\n },\n {\n icon: ,\n configuration_id: \"api\",\n configuration_label: \"API\",\n },\n {\n icon: ,\n configuration_id: \"heal\",\n configuration_label: \"Heal\",\n },\n {\n icon: ,\n configuration_id: \"scanner\",\n configuration_label: \"Scanner\",\n },\n {\n icon: ,\n configuration_id: \"etcd\",\n configuration_label: \"Etcd\",\n },\n {\n icon: ,\n configuration_id: \"logger_webhook\",\n configuration_label: \"Logger Webhook\",\n },\n {\n icon: ,\n configuration_id: \"audit_webhook\",\n configuration_label: \"Audit Webhook\",\n },\n];\n\nexport const fieldsConfigurations: any = {\n region: [\n {\n name: \"name\",\n required: true,\n label: \"Server Location\",\n tooltip: 'Name of the location of the server e.g. \"us-west-rack2\"',\n type: \"string\",\n placeholder: \"e.g. us-west-rack-2\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"You can add a comment to this setting\",\n type: \"comment\",\n placeholder: \"Enter custom notes if any\",\n },\n ],\n compression: [\n {\n name: \"extensions\",\n required: false,\n label: \"Extensions\",\n tooltip:\n 'Extensions to compress e.g. \".txt\",\".log\" or \".csv\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter an Extension\",\n withBorder: true,\n },\n {\n name: \"mime_types\",\n required: false,\n label: \"Mime Types\",\n tooltip:\n 'Mime types e.g. \"text/*\",\"application/json\" or \"application/xml\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter a Mime Type\",\n withBorder: true,\n },\n ],\n api: [\n {\n name: \"requests_max\",\n required: false,\n label: \"Requests Max\",\n tooltip: \"Maximum number of concurrent requests, e.g. '1600'\",\n type: \"number\",\n placeholder: \"Enter Requests Max\",\n },\n {\n name: \"cors_allow_origin\",\n required: false,\n label: \"Cors Allow Origin\",\n tooltip: \"List of origins allowed for CORS requests\",\n type: \"csv\",\n placeholder: \"Enter allowed origin e.g. https://example.com\",\n },\n {\n name: \"replication_workers\",\n required: false,\n label: \"Replication Workers\",\n tooltip: \"Number of replication workers, defaults to 100\",\n type: \"number\",\n placeholder: \"Enter Replication Workers\",\n },\n {\n name: \"replication_failed_workers\",\n required: false,\n label: \"Replication Failed Workers\",\n tooltip:\n \"Number of replication workers for recently failed replicas, defaults to 4\",\n type: \"number\",\n placeholder: \"Enter Replication Failed Workers\",\n },\n ],\n heal: [\n {\n name: \"bitrotscan\",\n required: false,\n label: \"Bitrot Scan\",\n tooltip:\n \"Perform bitrot scan on disks when checking objects during scanner\",\n type: \"on|off\",\n },\n {\n name: \"max_sleep\",\n required: false,\n label: \"Max Sleep\",\n tooltip:\n \"Maximum sleep duration between objects to slow down heal operation. eg. 2s\",\n type: \"duration\",\n placeholder: \"Enter Max Sleep duration\",\n },\n {\n name: \"max_io\",\n required: false,\n label: \"Max IO\",\n tooltip:\n \"Maximum IO requests allowed between objects to slow down heal operation. eg. 3\",\n type: \"number\",\n placeholder: \"Enter Max IO\",\n },\n ],\n scanner: [\n {\n name: \"delay\",\n required: false,\n label: \"Delay multiplier\",\n tooltip: \"Scanner delay multiplier, defaults to '10.0'\",\n type: \"number\",\n placeholder: \"Enter Delay\",\n },\n {\n name: \"max_wait\",\n required: false,\n label: \"Max Wait\",\n tooltip: \"Maximum wait time between operations, defaults to '15s'\",\n type: \"duration\",\n placeholder: \"Enter Max Wait\",\n },\n {\n name: \"cycle\",\n required: false,\n label: \"Cycle\",\n tooltip: \"Time duration between scanner cycles, defaults to '1m'\",\n type: \"duration\",\n placeholder: \"Enter Cycle\",\n },\n ],\n etcd: [\n {\n name: \"endpoints\",\n required: true,\n label: \"Endpoints\",\n tooltip:\n 'List of etcd endpoints e.g. \"http://localhost:2379\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"path_prefix\",\n required: false,\n label: \"Path Prefix\",\n tooltip: 'Namespace prefix to isolate tenants e.g. \"customer1/\"',\n type: \"string\",\n placeholder: \"Enter Path Prefix\",\n },\n {\n name: \"coredns_path\",\n required: false,\n label: \"Coredns Path\",\n tooltip: 'Shared bucket DNS records, default is \"/skydns\"',\n type: \"string\",\n placeholder: \"Enter Coredns Path\",\n },\n {\n name: \"client_cert\",\n required: false,\n label: \"Client Cert\",\n tooltip: \"Client cert for mTLS authentication\",\n type: \"string\",\n placeholder: \"Enter Client Cert\",\n },\n {\n name: \"client_cert_key\",\n required: false,\n label: \"Client Cert Key\",\n tooltip: \"Client cert key for mTLS authentication\",\n type: \"string\",\n placeholder: \"Enter Client Cert Key\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"You can add a comment to this setting\",\n type: \"comment\",\n multiline: true,\n placeholder: \"Enter custom notes if any\",\n },\n ],\n logger_webhook: [\n {\n name: \"endpoint\",\n required: true,\n label: \"Endpoint\",\n type: \"string\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"auth_token\",\n required: true,\n label: \"Auth Token\",\n type: \"string\",\n placeholder: \"Enter Auth Token\",\n },\n ],\n audit_webhook: [\n {\n name: \"endpoint\",\n required: true,\n label: \"Endpoint\",\n type: \"string\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"auth_token\",\n required: true,\n label: \"Auth Token\",\n type: \"string\",\n placeholder: \"Enter Auth Token\",\n },\n ],\n};\n\nexport const removeEmptyFields = (formFields: IElementValue[]) => {\n const nonEmptyFields = formFields.filter((field) => field.value !== \"\");\n\n return nonEmptyFields;\n};\n\nexport const selectSAs = (\n e: React.ChangeEvent,\n setSelectedSAs: Function,\n selectedSAs: string[]\n) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selectedSAs]; // We clone the selectedSAs array\n if (checked) {\n // If the user has checked this field we need to push this to selectedSAs\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 setSelectedSAs(elements);\n return elements;\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, {\n ChangeEvent,\n createRef,\n useEffect,\n useRef,\n useState,\n useCallback,\n} from \"react\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport InputBoxWrapper from \"../InputBoxWrapper/InputBoxWrapper\";\nimport AddIcon from \"../../../../../icons/AddIcon\";\n\ninterface ICSVMultiSelector {\n elements: string;\n name: string;\n label: string;\n tooltip?: string;\n commonPlaceholder?: string;\n classes: any;\n withBorder?: boolean;\n onChange: (elements: string) => void;\n}\n\nconst styles = (theme: Theme) => {\n return createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputWithBorder: {\n border: \"1px solid #EAEAEA\",\n padding: 15,\n height: 150,\n overflowY: \"auto\",\n position: \"relative\",\n marginTop: 15,\n flex: 1,\n },\n inputBoxSpacer: {\n marginBottom: 7,\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n margin: 0,\n alignItems: \"flex-start\",\n paddingTop: \"20px\",\n minWidth: 162,\n },\n });\n};\n\nconst CSVMultiSelector = ({\n elements,\n name,\n label,\n tooltip = \"\",\n commonPlaceholder = \"\",\n onChange,\n withBorder = false,\n classes,\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 \n : null\n }\n overlayAction={() => {\n addEmptyLine(currentElements);\n }}\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 withStyles(styles)(CSVMultiSelector);\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 Grid from \"@mui/material/Grid\";\nimport { IElementValue, KVField } from \"../Configurations/types\";\nimport {\n formFieldStyles,\n modalBasic,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport CSVMultiSelector from \"../Common/FormComponents/CSVMultiSelector/CSVMultiSelector\";\nimport CommentBoxWrapper from \"../Common/FormComponents/CommentBoxWrapper/CommentBoxWrapper\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\n\ninterface IConfGenericProps {\n onChange: (newValue: IElementValue[]) => void;\n fields: KVField[];\n defaultVals?: IElementValue[];\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n formFieldRow: {\n ...formFieldStyles.formFieldRow,\n },\n ...modalBasic,\n });\n\n// Function to get defined values,\n//we make this because the backed sometimes don't return all the keys when there is an initial configuration\nexport const valueDef = (\n key: string,\n type: string,\n defaults: IElementValue[]\n) => {\n let defValue = type === \"on|off\" ? \"off\" : \"\";\n\n if (defaults.length > 0) {\n const storedConfig = defaults.find((element) => element.key === key);\n\n if (storedConfig) {\n defValue = storedConfig.value || \"\";\n }\n }\n\n return defValue;\n};\n\nconst ConfTargetGeneric = ({\n onChange,\n fields,\n defaultVals,\n classes,\n}: IConfGenericProps) => {\n const [valueHolder, setValueHolder] = useState([]);\n const fieldsElements = !fields ? [] : fields;\n const defValList = !defaultVals ? [] : defaultVals;\n\n // Effect to create all the values to hold\n useEffect(() => {\n const values: IElementValue[] = fields.map((field) => {\n const stateInsert: IElementValue = {\n key: field.name,\n value: valueDef(field.name, field.type, defValList),\n };\n return stateInsert;\n });\n\n setValueHolder(values);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [fields, defaultVals]);\n\n useEffect(() => {\n onChange(valueHolder);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [valueHolder]);\n\n const setValueElement = (key: string, value: string, index: number) => {\n const valuesDup = [...valueHolder];\n valuesDup[index] = { key, value };\n\n setValueHolder(valuesDup);\n };\n\n const fieldDefinition = (field: KVField, item: number) => {\n switch (field.type) {\n case \"on|off\":\n const value = valueHolder[item] ? valueHolder[item].value : \"off\";\n\n return (\n ) => {\n const value = e.target.checked ? \"on\" : \"off\";\n setValueElement(field.name, value, item);\n }}\n id={field.name}\n name={field.name}\n label={field.label}\n value={\"switch_on\"}\n tooltip={field.tooltip}\n checked={value === \"on\"}\n />\n );\n case \"csv\":\n return (\n {\n setValueElement(field.name, value, item);\n }}\n tooltip={field.tooltip}\n commonPlaceholder={field.placeholder}\n withBorder={true}\n />\n );\n case \"comment\":\n return (\n ) =>\n setValueElement(field.name, e.target.value, item)\n }\n placeholder={field.placeholder}\n />\n );\n default:\n return (\n ) =>\n setValueElement(field.name, e.target.value, item)\n }\n multiline={!!field.multiline}\n placeholder={field.placeholder}\n />\n );\n }\n };\n\n return (\n \n \n {fieldsElements.map((field, item) => (\n \n {fieldDefinition(field, item)}\n \n ))}\n \n \n );\n};\n\nexport default withStyles(styles)(ConfTargetGeneric);\n"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","fieldBasic","tooltipHelper","inputLabel","margin","flexWrap","textBoxContainer","flexGrow","position","cssOutlinedInput","borderColor","padding","rootContainer","minHeight","borderWidth","color","opacity","label","onChange","value","id","name","disabled","tooltip","index","error","required","placeholder","inputProps","fieldContainer","errorInField","htmlFor","tooltipContainer","placement","fullWidth","multiline","rows","helperText","InputLabelProps","shrink","InputProps","notchedOutline","variant","tabStripStyle","tabsContainer","tabsHeaderContainer","background","borderRight","flexFlow","justifyContent","borderBottom","tabContentContainer","tabPanel","flexDirection","children","selectedTab","routes","isRouteTabs","useTheme","useLocation","pathname","isSmallScreen","useMediaQuery","breakpoints","down","useState","setValue","headerList","contentList","useEffect","tabConfigElement","find","tabConfig","to","forEach","child","push","content","event","newValue","orientation","scrollButtons","tabList","map","tabHeader","style","disableRipple","disableTouchRipple","focusRipple","wrapText","maxWidth","whiteSpace","wordWrap","deleteDialogStyles","configurationName","closeResetModalAndRefresh","resetOpen","dispatch","useAppDispatch","resetLoading","setResetLoading","api","then","res","catch","err","setErrorSnackMessage","ConfirmDialog","confirmText","isOpen","titleIcon","isLoading","onConfirm","onClose","confirmationContent","LinearProgress","DialogContentText","settingsCommon","settingsFormContainer","gridTemplateColumns","gridGap","configSubsysList","configRecords","setConfigRecords","records","config","key_values","endpoint","Fragment","TableWrapper","columns","elementKey","idField","entityName","selectedConfiguration","navigate","useNavigate","selConfigTab","substring","lastIndexOf","valuesObj","setValueObj","saving","setSaving","loadingConfig","setLoadingConfig","configValues","setConfigValues","setConfigSubsysList","resetConfigurationOpen","setResetConfigurationOpen","configId","get","keyVals","payload","removeEmptyFields","configuration_id","setServerNeedsRestart","restart","setSnackBarMessage","onValueChange","useCallback","Grid","sx","textAlign","Loader","Box","noValidate","onSubmit","preventDefault","ConfTargetGeneric","fields","fieldsConfigurations","defaultVals","maxHeight","onClick","type","configName","validActiveConfig","configurationElements","element","containerClassName","minWidth","settingsOptionsContainer","searchField","actionsTray","containerForHeader","spacing","PageHeader","PageLayout","ScreenTitle","icon","VerticalTabs","path","ConfigurationForm","configuration_label","IAM_PAGES","component","Link","HelpBox","href","target","rel","region","compression","withBorder","heal","scanner","etcd","logger_webhook","audit_webhook","formFields","filter","field","selectSAs","e","setSelectedSAs","selectedSAs","targetD","checked","elements","inputWithBorder","overflowY","marginTop","flex","inputBoxSpacer","commonPlaceholder","currentElements","setCurrentElements","bottomList","createRef","length","elementsSplit","split","refScroll","current","scrollIntoView","onChangeCallback","newString","firstUpdate","useRef","elementsString","trim","join","onChangeElement","persist","updatedElement","parseInt","inputs","InputBoxWrapper","toString","overlayIcon","AddIcon","overlayAction","elementsUp","cpList","addEmptyLine","InputLabel","Tooltip","HelpIcon","ref","valueDef","key","defaults","defValue","storedConfig","formFieldStyles","formFieldRow","modalBasic","valueHolder","setValueHolder","fieldsElements","defValList","values","setValueElement","valuesDup","fieldDefinition","FormSwitchWrapper","CommentBoxWrapper","fieldBox"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3115.da843172.chunk.js b/portal-ui/build/static/js/3115.da843172.chunk.js new file mode 100644 index 000000000..03155ab05 --- /dev/null +++ b/portal-ui/build/static/js/3115.da843172.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3115],{75578:function(e,n,r){var t=r(1413),o=r(72791),i=r(80184);n.Z=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function r(r){return(0,i.jsx)(o.Suspense,{fallback:n,children:(0,i.jsx)(e,(0,t.Z)({},r))})}return r}},93115:function(e,n,r){r.r(n);var t=r(72791),o=r(57689),i=r(75578),a=r(50099),c=r(80184),l=(0,i.Z)(t.lazy((function(){return Promise.all([r.e(3691),r.e(1373),r.e(2011),r.e(7893),r.e(8725),r.e(3864)]).then(r.bind(r,35661))}))),u=(0,i.Z)(t.lazy((function(){return Promise.all([r.e(5171),r.e(2983),r.e(3839)]).then(r.bind(r,17134))}))),s=(0,i.Z)(t.lazy((function(){return r.e(3034).then(r.bind(r,33034))}))),d=(0,i.Z)(t.lazy((function(){return Promise.all([r.e(2813),r.e(3905)]).then(r.bind(r,53138))})));n.default=function(){return(0,c.jsxs)(o.Z5,{children:[(0,c.jsx)(o.AW,{path:"status",element:(0,c.jsx)(l,{})}),(0,c.jsx)(o.AW,{path:"keys",element:(0,c.jsx)(u,{})}),(0,c.jsx)(o.AW,{path:"add-key",element:(0,c.jsx)(s,{})}),(0,c.jsx)(o.AW,{path:"import-key",element:(0,c.jsx)(d,{})}),(0,c.jsx)(o.AW,{path:"*",element:(0,c.jsx)(a.Z,{})})]})}},50099:function(e,n,r){r.d(n,{Z:function(){return u}});r(72791);var t=r(64554),o=r(20890),i=r(50533),a=r(80184);function c(){return(0,a.jsxs)(o.Z,{variant:"body2",color:"textSecondary",align:"center",children:["Copyright \xa9 ",(0,a.jsx)(i.Z,{color:"inherit",href:"https://min.io/?ref=con",children:"MinIO"})," ",(new Date).getFullYear(),"."]})}var l=r(74794),u=function(){return(0,a.jsx)(l.Z,{children:(0,a.jsxs)(t.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",textAlign:"center",margin:"auto",flexFlow:"column"},children:[(0,a.jsx)(t.Z,{sx:{fontSize:"110%",margin:"0 0 0.25rem",color:"#909090"},children:"404 Error"}),(0,a.jsx)(t.Z,{sx:{fontStyle:"normal",fontSize:"clamp(2rem,calc(2rem + 1.2vw),3rem)",fontWeight:700},children:"Sorry, the page could not be found."}),(0,a.jsx)(t.Z,{mt:5,children:(0,a.jsx)(c,{})})]})})}},50533:function(e,n,r){r.d(n,{Z:function(){return W}});var t=r(93433),o=r(29439),i=r(4942),a=r(63366),c=r(87462),l=r(72791),u=r(28182),s=r(94419),d=r(14036),f=r(66934),m=r(31402),p=r(23031),h=r(42071),x=r(20890),Z=r(75878),y=r(21217);function v(e){return(0,y.Z)("MuiLink",e)}var b=(0,Z.Z)("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]),j=r(18529),g=r(12065),k={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},S=function(e){var n=e.theme,r=e.ownerState,t=function(e){return k[e]||e}(r.color),o=(0,j.DW)(n,"palette.".concat(t),!1)||r.color,i=(0,j.DW)(n,"palette.".concat(t,"Channel"));return"vars"in n&&i?"rgba(".concat(i," / 0.4)"):(0,g.Fq)(o,.4)},w=r(80184),A=["className","color","component","onBlur","onFocus","TypographyClasses","underline","variant","sx"],C=(0,f.ZP)(x.Z,{name:"MuiLink",slot:"Root",overridesResolver:function(e,n){var r=e.ownerState;return[n.root,n["underline".concat((0,d.Z)(r.underline))],"button"===r.component&&n.button]}})((function(e){var n=e.theme,r=e.ownerState;return(0,c.Z)({},"none"===r.underline&&{textDecoration:"none"},"hover"===r.underline&&{textDecoration:"none","&:hover":{textDecoration:"underline"}},"always"===r.underline&&(0,c.Z)({textDecoration:"underline"},"inherit"!==r.color&&{textDecorationColor:S({theme:n,ownerState:r})},{"&:hover":{textDecorationColor:"inherit"}}),"button"===r.component&&(0,i.Z)({position:"relative",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none","&::-moz-focus-inner":{borderStyle:"none"}},"&.".concat(b.focusVisible),{outline:"auto"}))})),W=l.forwardRef((function(e,n){var r=(0,m.Z)({props:e,name:"MuiLink"}),i=r.className,f=r.color,x=void 0===f?"primary":f,Z=r.component,y=void 0===Z?"a":Z,b=r.onBlur,j=r.onFocus,g=r.TypographyClasses,S=r.underline,W=void 0===S?"always":S,D=r.variant,z=void 0===D?"inherit":D,F=r.sx,M=(0,a.Z)(r,A),V=(0,p.Z)(),P=V.isFocusVisibleRef,R=V.onBlur,B=V.onFocus,L=V.ref,N=l.useState(!1),T=(0,o.Z)(N,2),H=T[0],I=T[1],O=(0,h.Z)(n,L),_=(0,c.Z)({},r,{color:x,component:y,focusVisible:H,underline:W,variant:z}),q=function(e){var n=e.classes,r=e.component,t=e.focusVisible,o=e.underline,i={root:["root","underline".concat((0,d.Z)(o)),"button"===r&&"button",t&&"focusVisible"]};return(0,s.Z)(i,v,n)}(_);return(0,w.jsx)(C,(0,c.Z)({color:x,className:(0,u.Z)(q.root,i),classes:g,component:y,onBlur:function(e){R(e),!1===P.current&&I(!1),b&&b(e)},onFocus:function(e){B(e),!0===P.current&&I(!0),j&&j(e)},ref:O,ownerState:_,variant:z,sx:[].concat((0,t.Z)(Object.keys(k).includes(x)?[]:[{color:x}]),(0,t.Z)(Array.isArray(F)?F:[F]))},M))}))}}]); +//# sourceMappingURL=3115.da843172.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3115.da843172.chunk.js.map b/portal-ui/build/static/js/3115.da843172.chunk.js.map new file mode 100644 index 000000000..9bf168637 --- /dev/null +++ b/portal-ui/build/static/js/3115.da843172.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3115.da843172.chunk.js","mappings":"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","sources":["screens/Console/Common/Components/withSuspense.tsx","screens/Console/KMS/KMSRoutes.tsx","common/Copyright.tsx","screens/NotFoundPage.tsx","../node_modules/@mui/material/Link/linkClasses.js","../node_modules/@mui/material/Link/getTextDecoration.js","../node_modules/@mui/material/Link/Link.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 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","// 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 Typography from \"@mui/material/Typography\";\nimport Link from \"@mui/material/Link\";\n\nexport default function Copyright() {\n return (\n \n {\"Copyright © \"}\n \n MinIO\n {\" \"}\n {new Date().getFullYear()}\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 .\n\nimport React from \"react\";\nimport Box from \"@mui/material/Box\";\nimport Copyright from \"../common/Copyright\";\nimport PageLayout from \"./Console/Common/Layout/PageLayout\";\n\nconst NotFound: React.FC = () => {\n return (\n \n \n \n 404 Error\n \n \n Sorry, the page could not be found.\n \n \n \n \n \n \n );\n};\n\nexport default NotFound;\n","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getLinkUtilityClass(slot) {\n return generateUtilityClass('MuiLink', slot);\n}\nconst linkClasses = generateUtilityClasses('MuiLink', ['root', 'underlineNone', 'underlineHover', 'underlineAlways', 'button', 'focusVisible']);\nexport default linkClasses;","import { alpha, getPath } from '@mui/system';\nexport const colorTransformations = {\n primary: 'primary.main',\n textPrimary: 'text.primary',\n secondary: 'secondary.main',\n textSecondary: 'text.secondary',\n error: 'error.main'\n};\nconst transformDeprecatedColors = color => {\n return colorTransformations[color] || color;\n};\nconst getTextDecoration = ({\n theme,\n ownerState\n}) => {\n const transformedColor = transformDeprecatedColors(ownerState.color);\n const color = getPath(theme, `palette.${transformedColor}`, false) || ownerState.color;\n const channelColor = getPath(theme, `palette.${transformedColor}Channel`);\n if ('vars' in theme && channelColor) {\n return `rgba(${channelColor} / 0.4)`;\n }\n return alpha(color, 0.4);\n};\nexport default getTextDecoration;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"component\", \"onBlur\", \"onFocus\", \"TypographyClasses\", \"underline\", \"variant\", \"sx\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { elementTypeAcceptingRef } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport useIsFocusVisible from '../utils/useIsFocusVisible';\nimport useForkRef from '../utils/useForkRef';\nimport Typography from '../Typography';\nimport linkClasses, { getLinkUtilityClass } from './linkClasses';\nimport getTextDecoration, { colorTransformations } from './getTextDecoration';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n component,\n focusVisible,\n underline\n } = ownerState;\n const slots = {\n root: ['root', `underline${capitalize(underline)}`, component === 'button' && 'button', focusVisible && 'focusVisible']\n };\n return composeClasses(slots, getLinkUtilityClass, classes);\n};\nconst LinkRoot = styled(Typography, {\n name: 'MuiLink',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`underline${capitalize(ownerState.underline)}`], ownerState.component === 'button' && styles.button];\n }\n})(({\n theme,\n ownerState\n}) => {\n return _extends({}, ownerState.underline === 'none' && {\n textDecoration: 'none'\n }, ownerState.underline === 'hover' && {\n textDecoration: 'none',\n '&:hover': {\n textDecoration: 'underline'\n }\n }, ownerState.underline === 'always' && _extends({\n textDecoration: 'underline'\n }, ownerState.color !== 'inherit' && {\n textDecorationColor: getTextDecoration({\n theme,\n ownerState\n })\n }, {\n '&:hover': {\n textDecorationColor: 'inherit'\n }\n }), ownerState.component === 'button' && {\n position: 'relative',\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n // Reset default value\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n border: 0,\n margin: 0,\n // Remove the margin in Safari\n borderRadius: 0,\n padding: 0,\n // Remove the padding in Firefox\n cursor: 'pointer',\n userSelect: 'none',\n verticalAlign: 'middle',\n MozAppearance: 'none',\n // Reset\n WebkitAppearance: 'none',\n // Reset\n '&::-moz-focus-inner': {\n borderStyle: 'none' // Remove Firefox dotted outline.\n },\n\n [`&.${linkClasses.focusVisible}`]: {\n outline: 'auto'\n }\n });\n});\nconst Link = /*#__PURE__*/React.forwardRef(function Link(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLink'\n });\n const {\n className,\n color = 'primary',\n component = 'a',\n onBlur,\n onFocus,\n TypographyClasses,\n underline = 'always',\n variant = 'inherit',\n sx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n isFocusVisibleRef,\n onBlur: handleBlurVisible,\n onFocus: handleFocusVisible,\n ref: focusVisibleRef\n } = useIsFocusVisible();\n const [focusVisible, setFocusVisible] = React.useState(false);\n const handlerRef = useForkRef(ref, focusVisibleRef);\n const handleBlur = event => {\n handleBlurVisible(event);\n if (isFocusVisibleRef.current === false) {\n setFocusVisible(false);\n }\n if (onBlur) {\n onBlur(event);\n }\n };\n const handleFocus = event => {\n handleFocusVisible(event);\n if (isFocusVisibleRef.current === true) {\n setFocusVisible(true);\n }\n if (onFocus) {\n onFocus(event);\n }\n };\n const ownerState = _extends({}, props, {\n color,\n component,\n focusVisible,\n underline,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LinkRoot, _extends({\n color: color,\n className: clsx(classes.root, className),\n classes: TypographyClasses,\n component: component,\n onBlur: handleBlur,\n onFocus: handleFocus,\n ref: handlerRef,\n ownerState: ownerState,\n variant: variant,\n sx: [...(!Object.keys(colorTransformations).includes(color) ? [{\n color\n }] : []), ...(Array.isArray(sx) ? sx : [sx])]\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Link.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 link.\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.any,\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 * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: 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 /**\n * `classes` prop applied to the [`Typography`](/material-ui/api/typography/) element.\n */\n TypographyClasses: PropTypes.object,\n /**\n * Controls when the link should have an underline.\n * @default 'always'\n */\n underline: PropTypes.oneOf(['always', 'hover', 'none']),\n /**\n * Applies the theme typography styles.\n * @default 'inherit'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['body1', 'body2', 'button', 'caption', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'inherit', 'overline', 'subtitle1', 'subtitle2']), PropTypes.string])\n} : void 0;\nexport default Link;"],"names":["WrappedComponent","fallback","ComponentWithSuspense","props","Suspense","Status","withSuspense","React","ListKeys","AddKey","ImportKey","path","element","Copyright","Typography","variant","color","align","Link","href","Date","getFullYear","PageLayout","Box","sx","display","alignItems","justifyContent","height","textAlign","margin","flexFlow","fontSize","fontStyle","fontWeight","mt","getLinkUtilityClass","slot","generateUtilityClass","generateUtilityClasses","colorTransformations","primary","textPrimary","secondary","textSecondary","error","theme","ownerState","transformedColor","transformDeprecatedColors","getPath","channelColor","alpha","_excluded","LinkRoot","styled","name","overridesResolver","styles","root","capitalize","underline","component","button","_extends","textDecoration","textDecorationColor","getTextDecoration","position","WebkitTapHighlightColor","backgroundColor","outline","border","borderRadius","padding","cursor","userSelect","verticalAlign","MozAppearance","WebkitAppearance","borderStyle","linkClasses","inProps","ref","useThemeProps","className","onBlur","onFocus","TypographyClasses","other","_objectWithoutPropertiesLoose","useIsFocusVisible","isFocusVisibleRef","handleBlurVisible","handleFocusVisible","focusVisibleRef","focusVisible","setFocusVisible","handlerRef","useForkRef","classes","slots","composeClasses","useUtilityClasses","_jsx","clsx","event","current","Object","keys","includes","Array","isArray"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3119.1664ba97.chunk.js b/portal-ui/build/static/js/3119.1664ba97.chunk.js deleted file mode 100644 index 274ee9dd1..000000000 --- a/portal-ui/build/static/js/3119.1664ba97.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3119],{47902:function(e,t,o){"use strict";o.r(t);var n=o(29439),r=o(1413),a=o(72791),c=o(26181),i=o.n(c),l=o(78687),s=o(11135),u=o(25787),d=o(61889),v=o(27391),m=o(63466),p=o(25469),h=o(23814),Z=o(45248),f=o(87995),x=o(81207),b=o(92983),j=o(74900),k=o(32291),z=o(74794),y=o(80184);t.default=(0,u.Z)((function(e){return(0,s.Z)((0,r.Z)((0,r.Z)((0,r.Z)({tableWrapper:{height:"calc(100vh - 267px)"}},h.OR),h.qg),(0,h.Bz)(e.spacing(4))))}))((function(e){var t=e.classes,o=(0,p.TL)(),r=(0,l.v9)((function(e){return e.directPV.selectedDrive})),c=(0,a.useState)([]),s=(0,n.Z)(c,2),u=s[0],h=s[1],C=(0,a.useState)(""),g=(0,n.Z)(C,2),S=g[0],V=g[1],P=(0,a.useState)(!0),w=(0,n.Z)(P,2),H=w[0],I=w[1];(0,a.useEffect)((function(){H&&x.Z.invoke("GET","/api/v1/directpv/volumes?drives=".concat(r)).then((function(e){var t=i()(e,"volumes",[]);t||(t=[]),t.sort((function(e,t){return e.volume>t.volume?1:e.volume.\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, InputAdornment, TextField } from \"@mui/material\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { IDirectPVVolumes, IVolumesResponse } from \"./types\";\nimport { niceBytes } from \"../../../common/utils\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\nimport api from \"../../../common/api\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\n\ninterface IDirectPVVolumesProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n tableWrapper: {\n height: \"calc(100vh - 267px)\",\n },\n ...actionsTray,\n ...searchField,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst DirectPVVolumes = ({ classes }: IDirectPVVolumesProps) => {\n const dispatch = useAppDispatch();\n\n const selectedDrive = useSelector(\n (state: AppState) => state.directPV.selectedDrive\n );\n\n const [records, setRecords] = useState([]);\n const [filter, setFilter] = useState(\"\");\n const [loading, setLoading] = useState(true);\n\n useEffect(() => {\n if (loading) {\n api\n .invoke(\"GET\", `/api/v1/directpv/volumes?drives=${selectedDrive}`)\n .then((res: IVolumesResponse) => {\n let volumes = get(res, \"volumes\", []);\n\n if (!volumes) {\n volumes = [];\n }\n\n volumes.sort((d1, d2) => {\n if (d1.volume > d2.volume) {\n return 1;\n }\n\n if (d1.volume < d2.volume) {\n return -1;\n }\n\n return 0;\n });\n\n setRecords(volumes);\n setLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n dispatch(setErrorSnackMessage(err));\n });\n }\n }, [loading, selectedDrive, dispatch]);\n\n const filteredRecords: IDirectPVVolumes[] = records.filter((elementItem) =>\n elementItem.drive.includes(filter)\n );\n\n return (\n \n \n \n \n \n \n \n ),\n }}\n onChange={(e) => {\n setFilter(e.target.value);\n }}\n variant=\"standard\"\n />\n \n \n
\n
\n \n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(DirectPVVolumes);\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: \"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;","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 */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\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 */\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 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","tableWrapper","height","actionsTray","searchField","containerForHeader","spacing","classes","dispatch","useAppDispatch","selectedDrive","useSelector","state","directPV","useState","records","setRecords","filter","setFilter","loading","setLoading","useEffect","api","then","res","volumes","get","sort","d1","d2","volume","catch","err","setErrorSnackMessage","filteredRecords","elementItem","drive","includes","Fragment","label","item","xs","className","placeholder","id","InputProps","disableUnderline","startAdornment","position","onChange","e","target","value","variant","itemActions","columns","elementKey","renderFunction","niceBytes","isLoading","entityName","idField","customPaperHeight","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","createSvgIcon","_jsx","getCheckboxUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","CheckboxRoot","styled","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","ownerState","root","indeterminate","color","capitalize","_extends","vars","palette","text","secondary","disableRipple","backgroundColor","action","activeChannel","primary","mainChannel","hoverOpacity","alpha","active","main","checkboxClasses","disabled","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","React","inProps","ref","_icon$props$fontSize","_indeterminateIcon$pr","useThemeProps","checkedIcon","icon","iconProp","indeterminateIcon","indeterminateIconProp","inputProps","size","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","type","fontSize","clsx","baseGetTag","isArray","isObjectLike","module"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3119.e9b6547a.chunk.js b/portal-ui/build/static/js/3119.e9b6547a.chunk.js new file mode 100644 index 000000000..69cf51e4d --- /dev/null +++ b/portal-ui/build/static/js/3119.e9b6547a.chunk.js @@ -0,0 +1,2 @@ +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3119],{47902:function(e,t,o){"use strict";o.r(t);var n=o(29439),r=o(1413),a=o(72791),c=o(26181),i=o.n(c),l=o(78687),s=o(11135),u=o(25787),d=o(61889),v=o(27391),m=o(63466),p=o(25469),h=o(23814),f=o(45248),Z=o(87995),x=o(81207),b=o(92983),j=o(75952),k=o(32291),z=o(74794),y=o(80184);t.default=(0,u.Z)((function(e){return(0,s.Z)((0,r.Z)((0,r.Z)((0,r.Z)({tableWrapper:{height:"calc(100vh - 267px)"}},h.OR),h.qg),(0,h.Bz)(e.spacing(4))))}))((function(e){var t=e.classes,o=(0,p.TL)(),r=(0,l.v9)((function(e){return e.directPV.selectedDrive})),c=(0,a.useState)([]),s=(0,n.Z)(c,2),u=s[0],h=s[1],C=(0,a.useState)(""),g=(0,n.Z)(C,2),S=g[0],V=g[1],P=(0,a.useState)(!0),w=(0,n.Z)(P,2),H=w[0],M=w[1];(0,a.useEffect)((function(){H&&x.Z.invoke("GET","/api/v1/directpv/volumes?drives=".concat(r)).then((function(e){var t=i()(e,"volumes",[]);t||(t=[]),t.sort((function(e,t){return e.volume>t.volume?1:e.volume.\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, InputAdornment, TextField } from \"@mui/material\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { IDirectPVVolumes, IVolumesResponse } from \"./types\";\nimport { niceBytes } from \"../../../common/utils\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\nimport api from \"../../../common/api\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport { SearchIcon } from \"mds\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\n\ninterface IDirectPVVolumesProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n tableWrapper: {\n height: \"calc(100vh - 267px)\",\n },\n ...actionsTray,\n ...searchField,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst DirectPVVolumes = ({ classes }: IDirectPVVolumesProps) => {\n const dispatch = useAppDispatch();\n\n const selectedDrive = useSelector(\n (state: AppState) => state.directPV.selectedDrive\n );\n\n const [records, setRecords] = useState([]);\n const [filter, setFilter] = useState(\"\");\n const [loading, setLoading] = useState(true);\n\n useEffect(() => {\n if (loading) {\n api\n .invoke(\"GET\", `/api/v1/directpv/volumes?drives=${selectedDrive}`)\n .then((res: IVolumesResponse) => {\n let volumes = get(res, \"volumes\", []);\n\n if (!volumes) {\n volumes = [];\n }\n\n volumes.sort((d1, d2) => {\n if (d1.volume > d2.volume) {\n return 1;\n }\n\n if (d1.volume < d2.volume) {\n return -1;\n }\n\n return 0;\n });\n\n setRecords(volumes);\n setLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n dispatch(setErrorSnackMessage(err));\n });\n }\n }, [loading, selectedDrive, dispatch]);\n\n const filteredRecords: IDirectPVVolumes[] = records.filter((elementItem) =>\n elementItem.drive.includes(filter)\n );\n\n return (\n \n \n \n \n \n \n \n ),\n }}\n onChange={(e) => {\n setFilter(e.target.value);\n }}\n variant=\"standard\"\n />\n \n \n
\n
\n \n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(DirectPVVolumes);\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: \"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;","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 */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\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 */\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 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","tableWrapper","height","actionsTray","searchField","containerForHeader","spacing","classes","dispatch","useAppDispatch","selectedDrive","useSelector","state","directPV","useState","records","setRecords","filter","setFilter","loading","setLoading","useEffect","api","then","res","volumes","get","sort","d1","d2","volume","catch","err","setErrorSnackMessage","filteredRecords","elementItem","drive","includes","Fragment","label","item","xs","className","placeholder","id","InputProps","disableUnderline","startAdornment","position","onChange","e","target","value","variant","itemActions","columns","elementKey","renderFunction","niceBytes","isLoading","entityName","idField","customPaperHeight","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","createSvgIcon","_jsx","getCheckboxUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","CheckboxRoot","styled","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","ownerState","root","indeterminate","color","capitalize","_extends","vars","palette","text","secondary","disableRipple","backgroundColor","action","activeChannel","primary","mainChannel","hoverOpacity","alpha","active","main","checkboxClasses","disabled","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","React","inProps","ref","_icon$props$fontSize","_indeterminateIcon$pr","useThemeProps","checkedIcon","icon","iconProp","indeterminateIcon","indeterminateIconProp","inputProps","size","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","type","fontSize","clsx","baseGetTag","isArray","isObjectLike","module"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/312.770148c8.chunk.js b/portal-ui/build/static/js/312.1397c0a8.chunk.js similarity index 87% rename from portal-ui/build/static/js/312.770148c8.chunk.js rename to portal-ui/build/static/js/312.1397c0a8.chunk.js index 817b20308..be6a23cfe 100644 --- a/portal-ui/build/static/js/312.770148c8.chunk.js +++ b/portal-ui/build/static/js/312.1397c0a8.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[312],{312:function(e,n,t){t.r(n);var o=t(29439),i=(t(72791),t(51691)),r=t(9505),l=t(23508),c=t(56096),u=t(45248),s=t(87995),f=t(25469),a=t(80184);n.default=function(e){var n=e.closeDeleteModalAndRefresh,t=e.deleteOpen,p=e.selectedPolicy,d=(0,f.TL)(),h=(0,r.Z)((function(){return n(!0)}),(function(e){return d((0,s.Ih)(e))})),x=(0,o.Z)(h,2),y=x[0],j=x[1];if(!p)return null;return(0,a.jsx)(l.Z,{title:"Delete Policy",confirmText:"Delete",isOpen:t,titleIcon:(0,a.jsx)(c.NvT,{}),isLoading:y,onConfirm:function(){j("DELETE","/api/v1/policy/".concat((0,u.LL)(p)))},onClose:function(){return n(!1)},confirmationContent:(0,a.jsxs)(i.Z,{children:["Are you sure you want to delete policy ",(0,a.jsx)("br",{}),(0,a.jsx)("b",{children:p}),"?"]})})}}}]); -//# sourceMappingURL=312.770148c8.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[312],{312:function(e,n,t){t.r(n);var o=t(29439),i=(t(72791),t(51691)),r=t(9505),l=t(23508),c=t(75952),u=t(45248),s=t(87995),f=t(25469),a=t(80184);n.default=function(e){var n=e.closeDeleteModalAndRefresh,t=e.deleteOpen,p=e.selectedPolicy,d=(0,f.TL)(),h=(0,r.Z)((function(){return n(!0)}),(function(e){return d((0,s.Ih)(e))})),x=(0,o.Z)(h,2),y=x[0],j=x[1];if(!p)return null;return(0,a.jsx)(l.Z,{title:"Delete Policy",confirmText:"Delete",isOpen:t,titleIcon:(0,a.jsx)(c.NvT,{}),isLoading:y,onConfirm:function(){j("DELETE","/api/v1/policy/".concat((0,u.LL)(p)))},onClose:function(){return n(!1)},confirmationContent:(0,a.jsxs)(i.Z,{children:["Are you sure you want to delete policy ",(0,a.jsx)("br",{}),(0,a.jsx)("b",{children:p}),"?"]})})}}}]); +//# sourceMappingURL=312.1397c0a8.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/312.1397c0a8.chunk.js.map b/portal-ui/build/static/js/312.1397c0a8.chunk.js.map new file mode 100644 index 000000000..23935ed45 --- /dev/null +++ b/portal-ui/build/static/js/312.1397c0a8.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/312.1397c0a8.chunk.js","mappings":"kOA4EA,UA3CqB,SAAH,GAIS,IAHzBA,EAA0B,EAA1BA,2BACAC,EAAU,EAAVA,WACAC,EAAc,EAAdA,eAEMC,GAAWC,EAAAA,EAAAA,MAMjB,GAAyCC,EAAAA,EAAAA,IALpB,WAAH,OAASL,GAA2B,EAAM,IACzC,SAACM,GAAyB,OAC3CH,GAASI,EAAAA,EAAAA,IAAqBD,GAAM,IAGmC,eAAlEE,EAAa,KAAEC,EAAe,KAErC,IAAKP,EACH,OAAO,KAUT,OACE,SAAC,IAAa,CACZQ,MAAK,gBACLC,YAAa,SACbC,OAAQX,EACRY,WAAW,SAAC,MAAiB,IAC7BC,UAAWN,EACXO,UAdoB,WACtBN,EACE,SAAS,kBAAD,QACUO,EAAAA,EAAAA,IAAgBd,IAEtC,EAUIe,QAvBY,WAAH,OAASjB,GAA2B,EAAO,EAwBpDkB,qBACE,UAAC,IAAiB,WAAC,2CACsB,mBACvC,uBAAIhB,IAAmB,QAKjC,C","sources":["screens/Console/Policies/DeletePolicy.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\";\n\nimport { DialogContentText } from \"@mui/material\";\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 IDeletePolicyProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedPolicy: string;\n}\n\nconst DeletePolicy = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedPolicy,\n}: IDeletePolicyProps) => {\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 (!selectedPolicy) {\n return null;\n }\n\n const onConfirmDelete = () => {\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/policy/${encodeURLString(selectedPolicy)}`\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 policy
\n {selectedPolicy}?\n
\n }\n />\n );\n};\n\nexport default DeletePolicy;\n"],"names":["closeDeleteModalAndRefresh","deleteOpen","selectedPolicy","dispatch","useAppDispatch","useApi","err","setErrorSnackMessage","deleteLoading","invokeDeleteApi","title","confirmText","isOpen","titleIcon","isLoading","onConfirm","encodeURLString","onClose","confirmationContent"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/312.770148c8.chunk.js.map b/portal-ui/build/static/js/312.770148c8.chunk.js.map deleted file mode 100644 index aa88b152c..000000000 --- a/portal-ui/build/static/js/312.770148c8.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/312.770148c8.chunk.js","mappings":"kOA4EA,UA3CqB,SAAH,GAIS,IAHzBA,EAA0B,EAA1BA,2BACAC,EAAU,EAAVA,WACAC,EAAc,EAAdA,eAEMC,GAAWC,EAAAA,EAAAA,MAMjB,GAAyCC,EAAAA,EAAAA,IALpB,WAAH,OAASL,GAA2B,EAAM,IACzC,SAACM,GAAyB,OAC3CH,GAASI,EAAAA,EAAAA,IAAqBD,GAAM,IAGmC,eAAlEE,EAAa,KAAEC,EAAe,KAErC,IAAKP,EACH,OAAO,KAUT,OACE,SAAC,IAAa,CACZQ,MAAK,gBACLC,YAAa,SACbC,OAAQX,EACRY,WAAW,SAAC,MAAiB,IAC7BC,UAAWN,EACXO,UAdoB,WACtBN,EACE,SAAS,kBAAD,QACUO,EAAAA,EAAAA,IAAgBd,IAEtC,EAUIe,QAvBY,WAAH,OAASjB,GAA2B,EAAO,EAwBpDkB,qBACE,UAAC,IAAiB,WAAC,2CACsB,mBACvC,uBAAIhB,IAAmB,QAKjC,C","sources":["screens/Console/Policies/DeletePolicy.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\";\n\nimport { DialogContentText } from \"@mui/material\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../icons\";\nimport { encodeURLString } from \"../../../common/utils\";\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\n\ninterface IDeletePolicyProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedPolicy: string;\n}\n\nconst DeletePolicy = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedPolicy,\n}: IDeletePolicyProps) => {\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 (!selectedPolicy) {\n return null;\n }\n\n const onConfirmDelete = () => {\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/policy/${encodeURLString(selectedPolicy)}`\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 policy
\n {selectedPolicy}?\n
\n }\n />\n );\n};\n\nexport default DeletePolicy;\n"],"names":["closeDeleteModalAndRefresh","deleteOpen","selectedPolicy","dispatch","useAppDispatch","useApi","err","setErrorSnackMessage","deleteLoading","invokeDeleteApi","title","confirmText","isOpen","titleIcon","isLoading","onConfirm","encodeURLString","onClose","confirmationContent"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3328.64f37bf8.chunk.js b/portal-ui/build/static/js/3328.64f37bf8.chunk.js deleted file mode 100644 index 914dfabbf..000000000 --- a/portal-ui/build/static/js/3328.64f37bf8.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3328],{63328:function(e,n,t){t.r(n),t.d(n,{default:function(){return q}});var s=t(29439),i=t(1413),l=t(72791),o=t(78687),a=t(57689),r=t(11135),c=t(25787),u=t(61889),d=t(64554),f=t(26181),x=t.n(f),h=t(23814),p=t(81207),Z=t(56087),m=t(38442),j=t(75578),v=t(45902),g=t(80184),b=function(e){var n=e.icon,t=void 0===n?null:n,s=e.label,i=void 0===s?null:s;return(0,g.jsxs)(d.Z,{sx:{display:"flex"},children:[(0,g.jsx)("div",{style:{height:16,width:16,display:"flex",alignItems:"center",marginTop:5},children:t}),(0,g.jsx)("div",{style:{marginLeft:t?5:"none"},children:i})]})},T=t(56096),E=t(45987),_=t(36151),C=t(72401),S=["isLoading","onClick","label"],y=function(e){var n=e.isLoading,t=e.onClick,s=e.label,l=(0,E.Z)(e,S);return(0,g.jsx)(_.Z,(0,i.Z)((0,i.Z)({color:"primary",onClick:t,variant:"text",sx:{padding:0,margin:0,alignItems:"flex-start",justifyContent:"flex-start",display:"inline-flex",height:"auto",textDecoration:"underline",color:"#2781B0","&:hover":{background:"#ffffff",textDecoration:"underline"}},disableRipple:!0,disableFocusRipple:!0},l),{},{children:n?(0,g.jsx)(C.Z,{style:{width:16,height:16}}):s}))},N=t(13400),I=t(33548),k=["disabled","onClick"],O=(0,c.Z)((function(e){return(0,r.Z)({root:{"&:hover":{backgroundColor:"#E2E2E2"}}})}))((function(e){var n=e.disabled,t=e.onClick,s=(0,E.Z)(e,k);return(0,g.jsx)(N.Z,(0,i.Z)((0,i.Z)({size:"small",disabled:n,onClick:t},s),{},{children:(0,g.jsx)(I.Z,{})}))})),F=function(e){var n=e.resourceName,t=e.iamScopes,s=e.secureCmpProps,l=void 0===s?{}:s,o=e.children;return(0,g.jsx)(m.s,(0,i.Z)((0,i.Z)({scopes:t,resource:n,errorProps:{disabled:!0}},l),{},{children:o}))},U=function(e){var n=e.isLoading,t=void 0===n||n,s=e.resourceName,i=void 0===s?"":s,l=e.iamScopes,o=e.secureCmpProps,a=void 0===o?{}:o,r=e.property,c=void 0===r?null:r,u=e.value,f=void 0===u?null:u,x=e.onEdit;return(0,g.jsxs)(d.Z,{sx:{display:"flex",alignItems:"baseline",justifyContent:"flex-start"},children:[(0,g.jsx)(v.Z,{label:c,value:(0,g.jsx)(F,{resourceName:i,iamScopes:l,secureCmpProps:a,children:(0,g.jsx)(y,{isLoading:t,onClick:x,label:f})})}),(0,g.jsx)(F,{resourceName:i,iamScopes:l,secureCmpProps:a,children:(0,g.jsx)(O,{onClick:x,sx:{background:"#f8f8f8",marginLeft:"3px",top:3,"& .min-icon":{width:"16px",height:"16px"}}})})]})},P=t(45248),R=function(e){var n=e.bucketSize;return(0,g.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{height:37,width:37}},children:[(0,g.jsx)(T.Mhr,{}),(0,g.jsxs)(d.Z,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"center",flexFlow:"column",marginLeft:"20px",fontSize:"19px"},children:[(0,g.jsx)("label",{style:{fontWeight:600},children:"Reported Usage:"}),(0,g.jsx)("label",{children:(0,P.ae)(n)})]})]})},G=function(e){var n=e.quota;return(0,g.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{height:37,width:37}},children:[(0,g.jsx)(T.sjJ,{}),(0,g.jsxs)(d.Z,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"center",flexFlow:"column",marginLeft:"20px",fontSize:"19px"},children:[(0,g.jsxs)("label",{style:{fontWeight:600,textTransform:"capitalize"},children:[null===n||void 0===n?void 0:n.type," Quota"]}),(0,g.jsxs)("label",{children:[" ",(0,P.ae)("".concat(null===n||void 0===n?void 0:n.quota),!0)]})]})]})},A=t(50896),L=t(87995),B=t(9859),w=t(25469),K=(0,j.Z)(l.lazy((function(){return Promise.all([t.e(2813),t.e(9682)]).then(t.bind(t,33690))}))),z=(0,j.Z)(l.lazy((function(){return t.e(1604).then(t.bind(t,1604))}))),M=(0,j.Z)(l.lazy((function(){return t.e(8391).then(t.bind(t,18391))}))),D=(0,j.Z)(l.lazy((function(){return t.e(402).then(t.bind(t,70402))}))),V=(0,j.Z)(l.lazy((function(){return Promise.all([t.e(1918),t.e(1705)]).then(t.bind(t,71705))}))),Q=(0,j.Z)(l.lazy((function(){return t.e(1581).then(t.bind(t,1581))}))),Y={display:"grid",gridTemplateColumns:{xs:"1fr",sm:"2fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gap:2},q=(0,c.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)({},h.bK),h.VI))}))((function(e){var n=e.classes,t=(0,w.TL)(),r=(0,a.UO)(),c=(0,o.v9)(B.HQ),f=(0,o.v9)(B.G6),h=(0,o.v9)(L.N5),j=(0,l.useState)(null),E=(0,s.Z)(j,2),_=E[0],C=E[1],S=(0,l.useState)("0"),y=(0,s.Z)(S,2),N=y[0],I=y[1],k=(0,l.useState)(!1),O=(0,s.Z)(k,2),F=O[0],P=O[1],q=(0,l.useState)(!1),J=(0,s.Z)(q,2),W=J[0],H=J[1],X=(0,l.useState)(!1),$=(0,s.Z)(X,2),ee=$[0],ne=$[1],te=(0,l.useState)(!0),se=(0,s.Z)(te,2),ie=se[0],le=se[1],oe=(0,l.useState)(!0),ae=(0,s.Z)(oe,2),re=ae[0],ce=ae[1],ue=(0,l.useState)(!0),de=(0,s.Z)(ue,2),fe=de[0],xe=de[1],he=(0,l.useState)(!0),pe=(0,s.Z)(he,2),Ze=pe[0],me=pe[1],je=(0,l.useState)(!0),ve=(0,s.Z)(je,2),ge=ve[0],be=ve[1],Te=(0,l.useState)(!0),Ee=(0,s.Z)(Te,2),_e=Ee[0],Ce=Ee[1],Se=(0,l.useState)(!0),ye=(0,s.Z)(Se,2),Ne=ye[0],Ie=ye[1],ke=(0,l.useState)(!0),Oe=(0,s.Z)(ke,2),Fe=Oe[0],Ue=Oe[1],Pe=(0,l.useState)(!1),Re=(0,s.Z)(Pe,2),Ge=Re[0],Ae=Re[1],Le=(0,l.useState)(!1),Be=(0,s.Z)(Le,2),we=Be[0],Ke=Be[1],ze=(0,l.useState)(null),Me=(0,s.Z)(ze,2),De=Me[0],Ve=Me[1],Qe=(0,l.useState)(!1),Ye=(0,s.Z)(Qe,2),qe=Ye[0],Je=Ye[1],We=(0,l.useState)(!1),He=(0,s.Z)(We,2),Xe=He[0],$e=He[1],en=(0,l.useState)(null),nn=(0,s.Z)(en,2),tn=nn[0],sn=nn[1],ln=(0,l.useState)(!1),on=(0,s.Z)(ln,2),an=on[0],rn=on[1],cn=(0,l.useState)(!1),un=(0,s.Z)(cn,2),dn=un[0],fn=un[1],xn=(0,l.useState)(!1),hn=(0,s.Z)(xn,2),pn=hn[0],Zn=hn[1],mn=(0,l.useState)(!1),jn=(0,s.Z)(mn,2),vn=jn[0],gn=jn[1],bn=r.bucketName||"",Tn="n/a",En="";null!==f&&(Tn=f.access,En=f.definition);var _n=(0,m.F)(bn,[Z.Ft.S3_GET_BUCKET_OBJECT_LOCK_CONFIGURATION]),Cn=(0,m.F)(bn,[Z.Ft.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION]),Sn=(0,m.F)(bn,[Z.Ft.ADMIN_GET_BUCKET_QUOTA]);(0,l.useEffect)((function(){xe(!!c)}),[c,xe]),(0,l.useEffect)((function(){Ze&&(Cn?p.Z.invoke("GET","/api/v1/buckets/".concat(bn,"/encryption/info")).then((function(e){e.algorithm&&(Je(!0),C(e)),me(!1)})).catch((function(e){"The server side encryption configuration was not found"===e.errorMessage&&(Je(!1),C(null)),me(!1)})):(Je(!1),C(null),me(!1)))}),[Ze,bn,Cn]),(0,l.useEffect)((function(){ge&&h&&p.Z.invoke("GET","/api/v1/buckets/".concat(bn,"/versioning")).then((function(e){Ae(e.is_versioned),be(!1)})).catch((function(e){t((0,L.Ih)(e)),be(!1)}))}),[ge,t,bn,h]),(0,l.useEffect)((function(){_e&&h&&(Sn?p.Z.invoke("GET","/api/v1/buckets/".concat(bn,"/quota")).then((function(e){Ve(e),e.quota?Ke(!0):Ke(!1),Ce(!1)})).catch((function(e){t((0,L.Ih)(e)),Ke(!1),Ce(!1)})):(Ke(!1),Ce(!1)))}),[_e,be,t,bn,h,Sn]),(0,l.useEffect)((function(){ge&&h&&(_n?p.Z.invoke("GET","/api/v1/buckets/".concat(bn,"/object-locking")).then((function(e){P(e.object_locking_enabled),le(!1)})).catch((function(e){t((0,L.Ih)(e)),le(!1)})):le(!1))}),[ie,t,bn,ge,h,_n]),(0,l.useEffect)((function(){re&&p.Z.invoke("GET","/api/v1/buckets").then((function(e){var n=x()(e,"buckets",[]).find((function(e){return e.name===bn})),t=x()(n,"size","0");ce(!1),I(t)})).catch((function(e){ce(!1),t((0,L.Ih)(e))}))}),[re,t,bn]),(0,l.useEffect)((function(){Ne&&h&&p.Z.invoke("GET","/api/v1/buckets/".concat(bn,"/replication")).then((function(e){var n=e.rules?e.rules:[];ne(n.length>0),Ie(!1)})).catch((function(e){t((0,L.Ih)(e)),Ie(!1)}))}),[Ne,t,bn,h]),(0,l.useEffect)((function(){Fe&&F&&p.Z.invoke("GET","/api/v1/buckets/".concat(bn,"/retention")).then((function(e){Ue(!1),$e(!0),sn(e)})).catch((function(e){$e(!1),Ue(!1),sn(null)}))}),[Fe,F,bn]);var yn=function(){t((0,B.d5)(!0)),xe(!0),ce(!0),be(!0),me(!0),Ue(!0)};return(0,g.jsxs)(l.Fragment,{children:[dn&&(0,g.jsx)(M,{open:dn,selectedBucket:bn,encryptionEnabled:qe,encryptionCfg:_,closeModalAndRefresh:function(){fn(!1),me(!0)}}),pn&&(0,g.jsx)(Q,{open:pn,selectedBucket:bn,enabled:we,cfg:De,closeModalAndRefresh:function(){Zn(!1),Ce(!0)}}),W&&(0,g.jsx)(K,{bucketName:bn,open:W,actualPolicy:Tn,actualDefinition:En,closeModalAndRefresh:function(){H(!1),yn()}}),an&&(0,g.jsx)(z,{bucketName:bn,open:an,closeModalAndRefresh:function(){rn(!1),yn()}}),vn&&(0,g.jsx)(D,{closeVersioningModalAndRefresh:function(e){gn(!1),e&&yn()},modalOpen:vn,selectedBucket:bn,versioningCurrentState:Ge}),(0,g.jsx)(A.Z,{children:"Summary"}),(0,g.jsxs)(u.ZP,{container:!0,spacing:1,children:[(0,g.jsx)(m.s,{scopes:[Z.Ft.S3_GET_BUCKET_POLICY],resource:bn,children:(0,g.jsx)(u.ZP,{item:!0,xs:12,children:(0,g.jsxs)(d.Z,{sx:(0,i.Z)({},Y),children:[(0,g.jsxs)(d.Z,{sx:(0,i.Z)({},Y),children:[(0,g.jsx)(m.s,{scopes:[Z.Ft.S3_GET_BUCKET_POLICY],resource:bn,children:(0,g.jsx)(U,{iamScopes:[Z.Ft.S3_PUT_BUCKET_POLICY,Z.Ft.S3_PUT_ACTIONS],resourceName:bn,property:"Access Policy:",value:Tn.toLowerCase(),onEdit:function(){H(!0)},isLoading:fe})}),(0,g.jsx)(m.s,{scopes:[Z.Ft.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION],resource:bn,children:(0,g.jsx)(U,{iamScopes:[Z.Ft.S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION,Z.Ft.S3_PUT_ACTIONS],resourceName:bn,property:"Encryption:",value:qe?"Enabled":"Disabled",onEdit:function(){fn(!0)},isLoading:Ze})}),(0,g.jsx)(m.s,{scopes:[Z.Ft.S3_GET_REPLICATION_CONFIGURATION],resource:bn,children:(0,g.jsx)(v.Z,{label:"Replication:",value:(0,g.jsx)(b,{icon:ee?(0,g.jsx)(T.E31,{}):(0,g.jsx)(T.dRf,{}),label:(0,g.jsx)("label",{className:n.textMuted,children:ee?"Enabled":"Disabled"})})})}),(0,g.jsx)(m.s,{scopes:[Z.Ft.S3_GET_BUCKET_OBJECT_LOCK_CONFIGURATION],resource:bn,children:(0,g.jsx)(v.Z,{label:"Object Locking:",value:(0,g.jsx)(b,{icon:F?(0,g.jsx)(T.E31,{}):(0,g.jsx)(T.dRf,{}),label:(0,g.jsx)("label",{className:n.textMuted,children:F?"Enabled":"Disabled"})})})}),(0,g.jsx)(d.Z,{className:n.spacerTop,children:(0,g.jsx)(v.Z,{label:"Tags:",value:(0,g.jsx)(V,{bucketName:bn})})}),(0,g.jsx)(U,{iamScopes:[Z.Ft.ADMIN_SET_BUCKET_QUOTA],resourceName:bn,property:"Quota:",value:we?"Enabled":"Disabled",onEdit:function(){Zn(!0)},isLoading:_e})]}),(0,g.jsxs)(d.Z,{sx:{display:"grid",gridTemplateColumns:"1fr",alignItems:"flex-start"},children:[(0,g.jsx)(R,{bucketSize:N}),we&&De?(0,g.jsx)(G,{quota:De}):null]})]})})}),h&&(0,g.jsx)(m.s,{scopes:[Z.Ft.S3_GET_BUCKET_VERSIONING],resource:bn,children:(0,g.jsxs)(u.ZP,{item:!0,xs:12,children:[(0,g.jsx)(A.Z,{children:"Versioning"}),(0,g.jsx)(d.Z,{sx:(0,i.Z)({},Y),children:(0,g.jsx)(d.Z,{sx:(0,i.Z)({},Y),children:(0,g.jsx)(U,{iamScopes:[Z.Ft.S3_PUT_BUCKET_VERSIONING,Z.Ft.S3_PUT_ACTIONS],resourceName:bn,property:"Current Status:",value:Ge?"Versioned":"Unversioned (Default)",onEdit:function(){gn(!0)},isLoading:ge})})})]})}),F&&(0,g.jsx)(m.s,{scopes:[Z.Ft.S3_GET_OBJECT_RETENTION],resource:bn,children:(0,g.jsxs)(u.ZP,{item:!0,xs:12,children:[(0,g.jsx)(A.Z,{children:"Retention"}),(0,g.jsxs)(d.Z,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"2fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gap:2},children:[(0,g.jsxs)(d.Z,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"2fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gap:2},children:[(0,g.jsx)(U,{iamScopes:[Z.Ft.ADMIN_SET_BUCKET_QUOTA],resourceName:bn,property:"Retention:",value:Xe?"Enabled":"Disabled",onEdit:function(){rn(!0)},isLoading:Fe}),(0,g.jsx)(v.Z,{label:"Mode:",value:(0,g.jsx)("label",{className:n.textMuted,style:{textTransform:"capitalize"},children:tn&&tn.mode?tn.mode:"-"})}),(0,g.jsx)(v.Z,{label:"Validity:",value:(0,g.jsxs)("label",{className:n.textMuted,style:{textTransform:"capitalize"},children:[tn&&tn.validity," ",tn&&(1===tn.validity?tn.unit.slice(0,-1):tn.unit)]})})]}),(0,g.jsx)(d.Z,{sx:{display:"grid",gridTemplateColumns:"1fr",alignItems:"flex-start"}})]})]})})]})]})}))},45902:function(e,n,t){var s=t(1413),i=(t(72791),t(53767)),l=t(80184);n.Z=function(e){var n=e.label,t=void 0===n?null:n,o=e.value,a=void 0===o?"-":o,r=e.orientation,c=void 0===r?"column":r,u=e.stkProps,d=void 0===u?{}:u,f=e.lblProps,x=void 0===f?{}:f,h=e.valProps,p=void 0===h?{}:h;return(0,l.jsxs)(i.Z,(0,s.Z)((0,s.Z)({direction:{xs:"column",sm:c}},d),{},{children:[(0,l.jsx)("label",(0,s.Z)((0,s.Z)({style:{marginRight:5,fontWeight:600}},x),{},{children:t})),(0,l.jsx)("label",(0,s.Z)((0,s.Z)({style:{marginRight:5,fontWeight:500}},p),{},{children:a}))]}))}}}]); -//# sourceMappingURL=3328.64f37bf8.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3328.64f37bf8.chunk.js.map b/portal-ui/build/static/js/3328.64f37bf8.chunk.js.map deleted file mode 100644 index 4aa202dac..000000000 --- a/portal-ui/build/static/js/3328.64f37bf8.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/3328.64f37bf8.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SummaryItems/LabelWithIcon.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/ActionLink.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/Common/UsageBarWrapper/LabelValuePair.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\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","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Button } from \"@mui/material\";\nimport Loader from \"../../../Common/Loader/Loader\";\n\ntype ActionLinkProps = {\n isLoading: boolean;\n onClick: () => void;\n classes?: any;\n label: any;\n [x: string]: any;\n};\n\n// TODO: Create an mds version of this.\nconst ActionLink = ({\n isLoading,\n onClick,\n label,\n ...restProps\n}: ActionLinkProps) => {\n return (\n \n {isLoading ? : label}\n \n );\n};\n\nexport default ActionLink;\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 { IconButton } from \"@mui/material\";\nimport EditIcon from \"../../../../../icons/EditIcon\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ntype EditActionButtonProps = {\n disabled?: boolean;\n onClick: () => void | any;\n [x: string]: any;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"#E2E2E2\",\n },\n },\n });\n\nconst EditActionButton = ({\n disabled,\n onClick,\n ...restProps\n}: EditActionButtonProps) => {\n return (\n \n \n \n );\n};\n\nexport default withStyles(styles)(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 LabelValuePair from \"../../../Common/UsageBarWrapper/LabelValuePair\";\nimport { SecureComponent } from \"../../../../../common/SecureComponent\";\nimport ActionLink from \"./ActionLink\";\nimport { Box } from \"@mui/material\";\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};\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}: 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 { Box } from \"@mui/material\";\nimport { niceBytes } from \"../../../../../common/utils\";\nimport { ReportedUsageFullIcon } from \"../../../../../icons\";\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 { Box } from \"@mui/material\";\nimport { niceBytes } from \"../../../../../common/utils\";\nimport { HardBucketQuotaIcon } from \"../../../../../icons\";\n\nconst BucketQuotaSize = ({ quota }: { quota: any }) => {\n return (\n \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 { useSelector } from \"react-redux\";\nimport { useParams } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Box, Grid } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport {\n BucketEncryptionInfo,\n BucketObjectLocking,\n BucketQuota,\n BucketReplication,\n BucketVersioning,\n} from \"../types\";\nimport { BucketList } from \"../../Watch/types\";\nimport {\n spacingUtils,\n textStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport {\n ErrorResponseHandler,\n IRetentionConfig,\n} from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\n\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../common/SecureComponent\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport LabelValuePair from \"../../Common/UsageBarWrapper/LabelValuePair\";\nimport LabelWithIcon from \"./SummaryItems/LabelWithIcon\";\nimport { DisabledIcon, EnabledIcon } from \"../../../../icons\";\nimport EditablePropertyItem from \"./SummaryItems/EditablePropertyItem\";\nimport ReportedUsage from \"./SummaryItems/ReportedUsage\";\nimport BucketQuotaSize from \"./SummaryItems/BucketQuotaSize\";\nimport SectionTitle from \"../../Common/SectionTitle\";\nimport { selDistSet, setErrorSnackMessage } from \"../../../../systemSlice\";\nimport {\n selBucketDetailsInfo,\n selBucketDetailsLoading,\n setBucketDetailsLoad,\n} from \"./bucketDetailsSlice\";\nimport { useAppDispatch } from \"../../../../store\";\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);\n\nconst EnableQuota = withSuspense(React.lazy(() => import(\"./EnableQuota\")));\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...spacingUtils,\n ...textStyleUtils,\n });\n\nconst twoColCssGridLayoutConfig = {\n display: \"grid\",\n gridTemplateColumns: { xs: \"1fr\", sm: \"2fr 1fr\" },\n gridAutoFlow: { xs: \"dense\", sm: \"row\" },\n gap: 2,\n};\n\ninterface IBucketSummaryProps {\n classes: any;\n}\n\nconst BucketSummary = ({ classes }: IBucketSummaryProps) => {\n const dispatch = useAppDispatch();\n const params = useParams();\n\n const loadingBucket = useSelector(selBucketDetailsLoading);\n const bucketInfo = useSelector(selBucketDetailsInfo);\n\n const distributedSetup = useSelector(selDistSet);\n\n const [encryptionCfg, setEncryptionCfg] =\n useState(null);\n const [bucketSize, setBucketSize] = useState(\"0\");\n const [hasObjectLocking, setHasObjectLocking] = useState(false);\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 [isVersioned, setIsVersioned] = useState(false);\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 const bucketName = params.bucketName || \"\";\n\n let accessPolicy = \"n/a\";\n let policyDefinition = \"\";\n\n if (bucketInfo !== null) {\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 ]);\n\n const displayGetBucketEncryptionConfiguration = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION,\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\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/encryption/info`)\n .then((res: BucketEncryptionInfo) => {\n if (res.algorithm) {\n setEncryptionEnabled(true);\n setEncryptionCfg(res);\n }\n setLoadingEncryption(false);\n })\n .catch((err: ErrorResponseHandler) => {\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\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/versioning`)\n .then((res: BucketVersioning) => {\n setIsVersioned(res.is_versioned);\n setLoadingVersioning(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoadingVersioning(false);\n });\n }\n }, [loadingVersioning, dispatch, bucketName, distributedSetup]);\n\n useEffect(() => {\n if (loadingQuota && distributedSetup) {\n if (displayGetBucketQuota) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/quota`)\n .then((res: BucketQuota) => {\n setQuota(res);\n if (res.quota) {\n setQuotaEnabled(true);\n } else {\n setQuotaEnabled(false);\n }\n setLoadingQuota(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\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\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/object-locking`)\n .then((res: BucketObjectLocking) => {\n setHasObjectLocking(res.object_locking_enabled);\n setLoadingLocking(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\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\n .invoke(\"GET\", `/api/v1/buckets`)\n .then((res: BucketList) => {\n const resBuckets = get(res, \"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: ErrorResponseHandler) => {\n setLoadingSize(false);\n dispatch(setErrorSnackMessage(err));\n });\n }\n }, [loadingSize, dispatch, bucketName]);\n\n useEffect(() => {\n if (loadingReplication && distributedSetup) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/replication`)\n .then((res: BucketReplication) => {\n const r = res.rules ? res.rules : [];\n setReplicationRules(r.length > 0);\n setLoadingReplication(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoadingReplication(false);\n });\n }\n }, [loadingReplication, dispatch, bucketName, distributedSetup]);\n\n useEffect(() => {\n if (loadingRetention && hasObjectLocking) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/retention`)\n .then((res: IRetentionConfig) => {\n setLoadingRetention(false);\n setRetentionEnabled(true);\n setRetentionConfig(res);\n })\n .catch((err: ErrorResponseHandler) => {\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 // @ts-ignore\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 Summary\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 \n {quotaEnabled && quota ? (\n \n ) : null}\n \n \n \n \n\n {distributedSetup && (\n \n \n Versioning\n\n \n \n \n \n \n \n \n )}\n\n {hasObjectLocking && (\n \n \n Retention\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 {/*Spacer*/}\n \n \n \n \n )}\n \n \n );\n};\n\nexport default withStyles(styles)(BucketSummary);\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"],"names":["icon","label","Box","sx","display","style","height","width","alignItems","marginTop","marginLeft","isLoading","onClick","restProps","Button","color","variant","padding","margin","justifyContent","textDecoration","background","disableRipple","disableFocusRipple","Loader","withStyles","theme","createStyles","root","backgroundColor","disabled","IconButton","size","EditIcon","SecureAction","resourceName","iamScopes","secureCmpProps","children","SecureComponent","scopes","resource","errorProps","property","value","onEdit","LabelValuePair","top","bucketSize","flexFlow","fontSize","fontWeight","niceBytes","quota","textTransform","type","SetAccessPolicy","withSuspense","React","SetRetentionConfig","EnableBucketEncryption","EnableVersioningModal","BucketTags","EnableQuota","twoColCssGridLayoutConfig","gridTemplateColumns","xs","sm","gridAutoFlow","gap","spacingUtils","textStyleUtils","classes","dispatch","useAppDispatch","params","useParams","loadingBucket","useSelector","selBucketDetailsLoading","bucketInfo","selBucketDetailsInfo","distributedSetup","selDistSet","useState","encryptionCfg","setEncryptionCfg","setBucketSize","hasObjectLocking","setHasObjectLocking","accessPolicyScreenOpen","setAccessPolicyScreenOpen","replicationRules","setReplicationRules","loadingObjectLocking","setLoadingLocking","loadingSize","setLoadingSize","bucketLoading","setBucketLoading","loadingEncryption","setLoadingEncryption","loadingVersioning","setLoadingVersioning","loadingQuota","setLoadingQuota","loadingReplication","setLoadingReplication","loadingRetention","setLoadingRetention","isVersioned","setIsVersioned","quotaEnabled","setQuotaEnabled","setQuota","encryptionEnabled","setEncryptionEnabled","retentionEnabled","setRetentionEnabled","retentionConfig","setRetentionConfig","retentionConfigOpen","setRetentionConfigOpen","enableEncryptionScreenOpen","setEnableEncryptionScreenOpen","enableQuotaScreenOpen","setEnableQuotaScreenOpen","enableVersioningOpen","setEnableVersioningOpen","bucketName","accessPolicy","policyDefinition","access","definition","displayGetBucketObjectLockConfiguration","hasPermission","IAM_SCOPES","displayGetBucketEncryptionConfiguration","displayGetBucketQuota","useEffect","api","then","res","algorithm","catch","err","errorMessage","is_versioned","setErrorSnackMessage","object_locking_enabled","get","find","bucket","name","r","rules","length","loadAllBucketData","setBucketDetailsLoad","Fragment","open","selectedBucket","closeModalAndRefresh","enabled","cfg","actualPolicy","actualDefinition","closeVersioningModalAndRefresh","refresh","modalOpen","versioningCurrentState","SectionTitle","Grid","container","spacing","item","toLowerCase","className","textMuted","spacerTop","mode","validity","unit","slice","orientation","stkProps","lblProps","valProps","direction","marginRight"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/343.08a3aa1e.chunk.js b/portal-ui/build/static/js/343.08a3aa1e.chunk.js new file mode 100644 index 000000000..11e7b48ab --- /dev/null +++ b/portal-ui/build/static/js/343.08a3aa1e.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[343],{24065:function(e,s,t){t.r(s),t.d(s,{default:function(){return L}});var n=t(29439),a=t(1413),o=t(72791),r=t(75952),c=t(78687),i=t(57689),l=t(11135),d=t(61889),u=t(81207),h=t(64554),x=t(92983),f=t(21639),m=t(32291),p=t(23814),Z=t(25787),j=t(56028),g=t(21435),w=t(40986),v=t(3579),y=t(20165),b=t(87995),S=t(25469),C=t(80184),A=(0,Z.Z)((function(e){return(0,l.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},p.ID),p.DF),p.bK),(0,p.Bz)(e.spacing(4))))}))((function(e){var s=e.classes,t=e.open,a=e.closeModal,c=(0,S.TL)(),i=(0,o.useState)(""),l=(0,n.Z)(i,2),h=l[0],x=l[1],f=(0,o.useState)(""),m=(0,n.Z)(f,2),p=m[0],Z=m[1],A=(0,o.useState)(""),k=(0,n.Z)(A,2),P=k[0],I=k[1],N=(0,o.useState)(!1),F=(0,n.Z)(N,2),E=F[0],T=F[1],_=(0,o.useState)(!1),z=(0,n.Z)(_,2),D=z[0],M=z[1],R=localStorage.getItem("userLoggedIn")||"";return t?(0,C.jsxs)(j.Z,{title:"Change Password for ".concat(R),modalOpen:t,onClose:function(){Z(""),I(""),x(""),a()},titleIcon:(0,C.jsx)(r.IaT,{}),children:[(0,C.jsx)("div",{children:"This will change your Console password. Please note your new password down, as it will be required to log into Console after this session."}),(0,C.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){if(e.preventDefault(),p===P){if(p.length<8)c((0,b.zb)({errorMessage:"Passwords must be at least 8 characters long",detailedError:""}));else if(!E){T(!0);var s={current_secret_key:h,new_secret_key:p};u.Z.invoke("POST","/api/v1/account/change-password",s).then((function(){T(!1),Z(""),I(""),x(""),a()})).catch((function(e){T(!1),Z(""),I(""),x(""),c((0,b.zb)(e))}))}}else c((0,b.zb)({errorMessage:"New passwords don't match",detailedError:""}))}(e)},children:(0,C.jsxs)(d.ZP,{container:!0,children:[(0,C.jsxs)(d.ZP,{item:!0,xs:12,className:s.modalFormScrollable,children:[(0,C.jsx)(d.ZP,{item:!0,xs:12,className:s.formFieldRow,children:(0,C.jsx)(g.Z,{id:"current-password",name:"current-password",onChange:function(e){x(e.target.value)},label:"Current Password",type:D?"text":"password",value:h,overlayAction:function(){return M(!D)},overlayIcon:D?(0,C.jsx)(y.Z,{}):(0,C.jsx)(v.Z,{})})}),(0,C.jsx)(d.ZP,{item:!0,xs:12,className:s.formFieldRow,children:(0,C.jsx)(g.Z,{id:"new-password",name:"new-password",onChange:function(e){Z(e.target.value)},label:"New Password",type:D?"text":"password",value:p,overlayAction:function(){return M(!D)},overlayIcon:D?(0,C.jsx)(y.Z,{}):(0,C.jsx)(v.Z,{})})}),(0,C.jsx)(d.ZP,{item:!0,xs:12,className:s.formFieldRow,children:(0,C.jsx)(g.Z,{id:"re-new-password",name:"re-new-password",onChange:function(e){I(e.target.value)},label:"Type New Password Again",type:D?"text":"password",value:P,overlayAction:function(){return M(!D)},overlayIcon:D?(0,C.jsx)(y.Z,{}):(0,C.jsx)(v.Z,{})})})]}),(0,C.jsx)(d.ZP,{item:!0,xs:12,className:s.modalButtonBar,children:(0,C.jsx)(r.zxk,{id:"save-password-modal",type:"submit",variant:"callAction",color:"primary",disabled:E||!(h.length>0&&p.length>0&&P.length>0),label:"Save"})}),E&&(0,C.jsx)(d.ZP,{item:!0,xs:12,children:(0,C.jsx)(w.Z,{})})]})})]}):null})),k=t(23804),P=t(74794),I=t(59114),N=t(75578),F=t(56087),E=t(38442),T=t(58493),_=t(18303),z=t(14048),D=t(72455),M=t(46078),R=t(27454),K=(0,N.Z)(o.lazy((function(){return t.e(3956).then(t.bind(t,23956))}))),O=(0,D.Z)((function(e){return(0,l.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},p.OR),p.qg),{},{searchField:(0,a.Z)((0,a.Z)({},p.qg.searchField),{},{marginRight:"auto",maxWidth:380})},p.VX),(0,p.Bz)(e.spacing(4))))})),L=function(){var e=(0,S.TL)(),s=(0,i.s0)(),t=O(),a=(0,c.v9)(M.$4),l=(0,o.useState)([]),p=(0,n.Z)(l,2),Z=p[0],j=p[1],g=(0,o.useState)(!1),w=(0,n.Z)(g,2),v=w[0],y=w[1],N=(0,o.useState)(""),D=(0,n.Z)(N,2),L=D[0],B=D[1],q=(0,o.useState)(!1),V=(0,n.Z)(q,2),U=V[0],Y=V[1],G=(0,o.useState)(null),J=(0,n.Z)(G,2),W=J[0],X=J[1],$=(0,o.useState)(!1),H=(0,n.Z)($,2),Q=H[0],ee=H[1],se=(0,o.useState)([]),te=(0,n.Z)(se,2),ne=te[0],ae=te[1],oe=(0,o.useState)(!1),re=(0,n.Z)(oe,2),ce=re[0],ie=re[1],le=(0,o.useState)(!1),de=(0,n.Z)(le,2),ue=de[0],he=de[1],xe=a&&a.includes("external-idp")||!1;(0,o.useEffect)((function(){fe()}),[]),(0,o.useEffect)((function(){v&&u.Z.invoke("GET","/api/v1/service-accounts").then((function(e){var s=e.sort(f.V2);y(!1),j(s)})).catch((function(s){e((0,b.Ih)(s)),y(!1)}))}),[v,y,j,e]);var fe=function(){y(!0)},me=[{type:"view",onClick:function(e){X(e),he(!0)}},{type:"delete",onClick:function(e){X(e),Y(!0)}}],pe=Z.filter((function(e){return e.toLowerCase().includes(L.toLowerCase())}));return(0,C.jsxs)(o.Fragment,{children:[U&&(0,C.jsx)(K,{deleteOpen:U,selectedServiceAccount:W,closeDeleteModalAndRefresh:function(e){!function(e){Y(!1),e&&fe()}(e)}}),ce&&(0,C.jsx)(_.Z,{deleteOpen:ce,selectedSAs:ne,closeDeleteModalAndRefresh:function(s){ie(!1),s&&(e((0,b.y1)("Access keys deleted successfully.")),ae([]),y(!0))}}),ue&&(0,C.jsx)(z.Z,{open:ue,selectedAccessKey:W,closeModalAndRefresh:function(){he(!1),y(!0)}}),(0,C.jsx)(A,{open:Q,closeModal:function(){return ee(!1)}}),(0,C.jsx)(m.Z,{label:"Access Keys"}),(0,C.jsxs)(P.Z,{children:[(0,C.jsxs)(d.ZP,{item:!0,xs:12,className:t.actionsTray,children:[(0,C.jsx)(I.Z,{placeholder:"Search Access Keys",onChange:B,overrideClass:t.searchField,value:L}),(0,C.jsxs)(h.Z,{sx:{display:"flex"},children:[" ",(0,C.jsx)(R.Z,{tooltip:"Delete Selected",children:(0,C.jsx)(r.zxk,{id:"delete-selected-accounts",onClick:function(){ie(!0)},label:"Delete Selected",icon:(0,C.jsx)(r.pJl,{}),disabled:0===ne.length,variant:"secondary"})}),(0,C.jsx)(E.s,{scopes:[F.Ft.ADMIN_CREATE_USER],resource:F.C3,matchAll:!0,errorProps:{disabled:!0},children:(0,C.jsx)(r.zxk,{id:"change-password",onClick:function(){return ee(!0)},label:"Change Password",icon:(0,C.jsx)(r.tvm,{}),variant:"regular",disabled:xe})}),(0,C.jsx)(r.zxk,{id:"create-service-account",onClick:function(){s("".concat(F.gA.ACCOUNT_ADD))},label:"Create access key",icon:(0,C.jsx)(r.dtP,{}),variant:"callAction"})]})]}),(0,C.jsx)(d.ZP,{item:!0,xs:12,className:t.tableBlock,children:(0,C.jsx)(x.Z,{isLoading:v,records:pe,entityName:"Access Keys",idField:"",columns:[{label:"Access Key",elementKey:""}],itemActions:me,selectedItems:ne,onSelect:function(e){return(0,T._0)(e,ae,ne)},onSelectAll:function(){ne.length!==Z.length?ae(Z):ae([])}})}),(0,C.jsx)(d.ZP,{item:!0,xs:12,marginTop:"15px",children:(0,C.jsx)(k.Z,{title:"Learn more about ACCESS KEYS",iconComponent:(0,C.jsx)(r.frP,{}),help:(0,C.jsxs)(o.Fragment,{children:["MinIO access keys are child identities of an authenticated MinIO user, including externally managed identities. Each access key inherits its privileges based on the policies attached to it\u2019s parent user or those groups in which the parent user has membership. Access Keys also support an optional inline policy which further restricts access to a subset of actions and resources available to the parent user.",(0,C.jsx)("br",{}),(0,C.jsx)("br",{}),"You can learn more at our"," ",(0,C.jsx)("a",{href:"https://min.io/docs/minio/linux/administration/identity-access-management/minio-user-management.html?ref=con#service-accounts",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})})]})]})}}}]); +//# sourceMappingURL=343.08a3aa1e.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/343.08a3aa1e.chunk.js.map b/portal-ui/build/static/js/343.08a3aa1e.chunk.js.map new file mode 100644 index 000000000..ce9d42444 --- /dev/null +++ b/portal-ui/build/static/js/343.08a3aa1e.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/343.08a3aa1e.chunk.js","mappings":"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","sources":["screens/Console/Account/ChangePasswordModal.tsx","screens/Console/Account/Account.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, { useState } from \"react\";\nimport { Button } 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 Grid from \"@mui/material/Grid\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { LinearProgress } from \"@mui/material\";\nimport {\n containerForHeader,\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { ChangePasswordRequest } from \"../Buckets/types\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport { ChangePasswordIcon } from \"mds\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport { setModalErrorSnackMessage } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalStyleUtils,\n ...formFieldStyles,\n ...spacingUtils,\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IChangePasswordProps {\n classes: any;\n open: boolean;\n closeModal: () => void;\n}\n\nconst ChangePassword = ({\n classes,\n open,\n closeModal,\n}: IChangePasswordProps) => {\n const dispatch = useAppDispatch();\n const [currentPassword, setCurrentPassword] = useState(\"\");\n const [newPassword, setNewPassword] = useState(\"\");\n const [reNewPassword, setReNewPassword] = useState(\"\");\n const [loading, setLoading] = useState(false);\n const [showPassword, setShowPassword] = useState(false);\n\n const userLoggedIn = localStorage.getItem(\"userLoggedIn\") || \"\";\n\n const changePassword = (event: React.FormEvent) => {\n event.preventDefault();\n\n if (newPassword !== reNewPassword) {\n dispatch(\n setModalErrorSnackMessage({\n errorMessage: \"New passwords don't match\",\n detailedError: \"\",\n })\n );\n return;\n }\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 return;\n }\n\n if (loading) {\n return;\n }\n setLoading(true);\n\n let request: ChangePasswordRequest = {\n current_secret_key: currentPassword,\n new_secret_key: newPassword,\n };\n\n api\n .invoke(\"POST\", \"/api/v1/account/change-password\", request)\n .then(() => {\n setLoading(false);\n setNewPassword(\"\");\n setReNewPassword(\"\");\n setCurrentPassword(\"\");\n closeModal();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setNewPassword(\"\");\n setReNewPassword(\"\");\n setCurrentPassword(\"\");\n dispatch(setModalErrorSnackMessage(err));\n });\n };\n\n return open ? (\n {\n setNewPassword(\"\");\n setReNewPassword(\"\");\n setCurrentPassword(\"\");\n closeModal();\n }}\n titleIcon={}\n >\n
\n This will change your Console password. Please note your new password\n down, as it will be required to log into Console after this session.\n
\n ) => {\n changePassword(e);\n }}\n >\n \n \n \n ) => {\n setCurrentPassword(event.target.value);\n }}\n label=\"Current Password\"\n type={showPassword ? \"text\" : \"password\"}\n value={currentPassword}\n overlayAction={() => setShowPassword(!showPassword)}\n overlayIcon={\n showPassword ? : \n }\n />\n \n \n ) => {\n setNewPassword(event.target.value);\n }}\n label=\"New Password\"\n type={showPassword ? \"text\" : \"password\"}\n value={newPassword}\n overlayAction={() => setShowPassword(!showPassword)}\n overlayIcon={\n showPassword ? : \n }\n />\n \n \n ) => {\n setReNewPassword(event.target.value);\n }}\n label=\"Type New Password Again\"\n type={showPassword ? \"text\" : \"password\"}\n value={reNewPassword}\n overlayAction={() => setShowPassword(!showPassword)}\n overlayIcon={\n showPassword ? : \n }\n />\n \n \n \n 0 &&\n newPassword.length > 0 &&\n reNewPassword.length > 0\n )\n }\n label=\"Save\"\n />\n \n {loading && (\n \n \n \n )}\n \n \n \n ) : null;\n};\n\nexport default withStyles(styles)(ChangePassword);\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 { Button } from \"mds\";\nimport { useSelector } from \"react-redux\";\nimport { useNavigate } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport api from \"../../../common/api\";\nimport { Box } from \"@mui/material\";\n\nimport { AccountIcon, AddIcon, DeleteIcon, PasswordKeyIcon } from \"mds\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport { stringSort } from \"../../../utils/sortFunctions\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\n\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport ChangePasswordModal from \"./ChangePasswordModal\";\nimport HelpBox from \"../../../common/HelpBox\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport SearchBox from \"../Common/SearchBox\";\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport { SecureComponent } from \"../../../common/SecureComponent\";\n\nimport { selectSAs } from \"../Configurations/utils\";\nimport DeleteMultipleServiceAccounts from \"../Users/DeleteMultipleServiceAccounts\";\nimport ServiceAccountPolicy from \"./ServiceAccountPolicy\";\nimport { setErrorSnackMessage, setSnackBarMessage } from \"../../../systemSlice\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { selFeatures } from \"../consoleSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport TooltipWrapper from \"../Common/TooltipWrapper/TooltipWrapper\";\n\nconst DeleteServiceAccount = withSuspense(\n React.lazy(() => import(\"./DeleteServiceAccount\"))\n);\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...actionsTray,\n ...searchField,\n searchField: {\n ...searchField.searchField,\n marginRight: \"auto\",\n maxWidth: 380,\n },\n ...tableStyles,\n ...containerForHeader(theme.spacing(4)),\n })\n);\n\nconst Account = () => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const classes = useStyles();\n const features = useSelector(selFeatures);\n\n const [records, setRecords] = useState([]);\n const [loading, setLoading] = useState(false);\n const [filter, setFilter] = useState(\"\");\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedServiceAccount, setSelectedServiceAccount] = useState<\n string | null\n >(null);\n const [changePasswordModalOpen, setChangePasswordModalOpen] =\n useState(false);\n const [selectedSAs, setSelectedSAs] = useState([]);\n const [deleteMultipleOpen, setDeleteMultipleOpen] = useState(false);\n const [policyOpen, setPolicyOpen] = useState(false);\n\n const userIDP = (features && features.includes(\"external-idp\")) || false;\n\n useEffect(() => {\n fetchRecords();\n }, []);\n\n useEffect(() => {\n if (loading) {\n api\n .invoke(\"GET\", `/api/v1/service-accounts`)\n .then((res: string[]) => {\n const serviceAccounts = res.sort(stringSort);\n\n setLoading(false);\n setRecords(serviceAccounts);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoading(false);\n });\n }\n }, [loading, setLoading, setRecords, 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 policyModalOpen = (selectedServiceAccount: string) => {\n setSelectedServiceAccount(selectedServiceAccount);\n setPolicyOpen(true);\n };\n\n const selectAllItems = () => {\n if (selectedSAs.length === records.length) {\n setSelectedSAs([]);\n return;\n }\n setSelectedSAs(records);\n };\n\n const closePolicyModal = () => {\n setPolicyOpen(false);\n setLoading(true);\n };\n\n const confirmDeleteServiceAccount = (selectedServiceAccount: string) => {\n setSelectedServiceAccount(selectedServiceAccount);\n setDeleteOpen(true);\n };\n\n const tableActions = [\n { type: \"view\", onClick: policyModalOpen },\n { type: \"delete\", onClick: confirmDeleteServiceAccount },\n ];\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.toLowerCase().includes(filter.toLowerCase())\n );\n\n return (\n \n {deleteOpen && (\n {\n closeDeleteModalAndRefresh(refresh);\n }}\n />\n )}\n {deleteMultipleOpen && (\n \n )}\n\n {policyOpen && (\n \n )}\n setChangePasswordModalOpen(false)}\n />\n \n \n \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 setChangePasswordModalOpen(true)}\n label={`Change Password`}\n icon={}\n variant={\"regular\"}\n disabled={userIDP}\n />\n \n {\n navigate(`${IAM_PAGES.ACCOUNT_ADD}`);\n }}\n label={`Create access key`}\n icon={}\n variant={\"callAction\"}\n />\n \n \n\n \n selectSAs(e, setSelectedSAs, selectedSAs)}\n onSelectAll={selectAllItems}\n />\n \n \n }\n help={\n \n MinIO access keys are child identities of an authenticated MinIO\n user, including externally managed identities. Each access key\n inherits its privileges based on the policies attached to it’s\n parent user or those groups in which the parent user has\n membership. Access Keys also support an optional inline policy\n which further restricts access to a subset of actions and\n resources available to the parent user.\n
\n
\n You can learn more at our{\" \"}\n {\n // TODO: Change this link once it is called access keys\n }\n \n documentation\n \n .\n
\n }\n />\n
\n
\n
\n );\n};\n\nexport default Account;\n"],"names":["withStyles","theme","createStyles","modalStyleUtils","formFieldStyles","spacingUtils","containerForHeader","spacing","classes","open","closeModal","dispatch","useAppDispatch","useState","currentPassword","setCurrentPassword","newPassword","setNewPassword","reNewPassword","setReNewPassword","loading","setLoading","showPassword","setShowPassword","userLoggedIn","localStorage","getItem","ModalWrapper","title","modalOpen","onClose","titleIcon","noValidate","autoComplete","onSubmit","e","event","preventDefault","length","setModalErrorSnackMessage","errorMessage","detailedError","request","current_secret_key","new_secret_key","api","then","catch","err","changePassword","Grid","container","item","xs","className","modalFormScrollable","formFieldRow","InputBoxWrapper","id","name","onChange","target","value","label","type","overlayAction","overlayIcon","VisibilityOff","RemoveRedEye","modalButtonBar","variant","color","disabled","LinearProgress","DeleteServiceAccount","withSuspense","React","useStyles","makeStyles","actionsTray","searchField","marginRight","maxWidth","tableStyles","navigate","useNavigate","features","useSelector","selFeatures","records","setRecords","filter","setFilter","deleteOpen","setDeleteOpen","selectedServiceAccount","setSelectedServiceAccount","changePasswordModalOpen","setChangePasswordModalOpen","selectedSAs","setSelectedSAs","deleteMultipleOpen","setDeleteMultipleOpen","policyOpen","setPolicyOpen","userIDP","includes","useEffect","fetchRecords","res","serviceAccounts","sort","stringSort","setErrorSnackMessage","tableActions","onClick","filteredRecords","elementItem","toLowerCase","closeDeleteModalAndRefresh","refresh","DeleteMultipleServiceAccounts","setSnackBarMessage","ServiceAccountPolicy","selectedAccessKey","closeModalAndRefresh","ChangePasswordModal","PageHeader","PageLayout","SearchBox","placeholder","overrideClass","Box","sx","display","TooltipWrapper","tooltip","icon","SecureComponent","scopes","IAM_SCOPES","resource","CONSOLE_UI_RESOURCE","matchAll","errorProps","IAM_PAGES","tableBlock","TableWrapper","isLoading","entityName","idField","columns","elementKey","itemActions","selectedItems","onSelect","selectSAs","onSelectAll","marginTop","HelpBox","iconComponent","help","Fragment","href","rel"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/343.0d456511.chunk.js b/portal-ui/build/static/js/343.0d456511.chunk.js deleted file mode 100644 index c9b616766..000000000 --- a/portal-ui/build/static/js/343.0d456511.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[343],{24065:function(e,s,t){t.r(s),t.d(s,{default:function(){return B}});var n=t(29439),a=t(1413),o=t(72791),r=t(75952),c=t(78687),i=t(57689),l=t(11135),d=t(61889),u=t(81207),h=t(64554),x=t(56096),f=t(92983),m=t(21639),p=t(32291),Z=t(23814),j=t(25787),g=t(56028),w=t(21435),v=t(40986),y=t(3579),b=t(20165),S=t(87995),C=t(25469),A=t(80184),P=(0,j.Z)((function(e){return(0,l.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},Z.ID),Z.DF),Z.bK),(0,Z.Bz)(e.spacing(4))))}))((function(e){var s=e.classes,t=e.open,a=e.closeModal,c=(0,C.TL)(),i=(0,o.useState)(""),l=(0,n.Z)(i,2),h=l[0],f=l[1],m=(0,o.useState)(""),p=(0,n.Z)(m,2),Z=p[0],j=p[1],P=(0,o.useState)(""),k=(0,n.Z)(P,2),I=k[0],N=k[1],F=(0,o.useState)(!1),E=(0,n.Z)(F,2),T=E[0],_=E[1],z=(0,o.useState)(!1),D=(0,n.Z)(z,2),M=D[0],R=D[1],K=localStorage.getItem("userLoggedIn")||"";return t?(0,A.jsxs)(g.Z,{title:"Change Password for ".concat(K),modalOpen:t,onClose:function(){j(""),N(""),f(""),a()},titleIcon:(0,A.jsx)(x.IaT,{}),children:[(0,A.jsx)("div",{children:"This will change your Console password. Please note your new password down, as it will be required to log into Console after this session."}),(0,A.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){if(e.preventDefault(),Z===I){if(Z.length<8)c((0,S.zb)({errorMessage:"Passwords must be at least 8 characters long",detailedError:""}));else if(!T){_(!0);var s={current_secret_key:h,new_secret_key:Z};u.Z.invoke("POST","/api/v1/account/change-password",s).then((function(){_(!1),j(""),N(""),f(""),a()})).catch((function(e){_(!1),j(""),N(""),f(""),c((0,S.zb)(e))}))}}else c((0,S.zb)({errorMessage:"New passwords don't match",detailedError:""}))}(e)},children:(0,A.jsxs)(d.ZP,{container:!0,children:[(0,A.jsxs)(d.ZP,{item:!0,xs:12,className:s.modalFormScrollable,children:[(0,A.jsx)(d.ZP,{item:!0,xs:12,className:s.formFieldRow,children:(0,A.jsx)(w.Z,{id:"current-password",name:"current-password",onChange:function(e){f(e.target.value)},label:"Current Password",type:M?"text":"password",value:h,overlayAction:function(){return R(!M)},overlayIcon:M?(0,A.jsx)(b.Z,{}):(0,A.jsx)(y.Z,{})})}),(0,A.jsx)(d.ZP,{item:!0,xs:12,className:s.formFieldRow,children:(0,A.jsx)(w.Z,{id:"new-password",name:"new-password",onChange:function(e){j(e.target.value)},label:"New Password",type:M?"text":"password",value:Z,overlayAction:function(){return R(!M)},overlayIcon:M?(0,A.jsx)(b.Z,{}):(0,A.jsx)(y.Z,{})})}),(0,A.jsx)(d.ZP,{item:!0,xs:12,className:s.formFieldRow,children:(0,A.jsx)(w.Z,{id:"re-new-password",name:"re-new-password",onChange:function(e){N(e.target.value)},label:"Type New Password Again",type:M?"text":"password",value:I,overlayAction:function(){return R(!M)},overlayIcon:M?(0,A.jsx)(b.Z,{}):(0,A.jsx)(y.Z,{})})})]}),(0,A.jsx)(d.ZP,{item:!0,xs:12,className:s.modalButtonBar,children:(0,A.jsx)(r.zx,{id:"save-password-modal",type:"submit",variant:"callAction",color:"primary",disabled:T||!(h.length>0&&Z.length>0&&I.length>0),label:"Save"})}),T&&(0,A.jsx)(d.ZP,{item:!0,xs:12,children:(0,A.jsx)(v.Z,{})})]})})]}):null})),k=t(23804),I=t(74794),N=t(59114),F=t(75578),E=t(56087),T=t(38442),_=t(58493),z=t(18303),D=t(14048),M=t(72455),R=t(46078),K=t(27454),O=(0,F.Z)(o.lazy((function(){return t.e(3956).then(t.bind(t,23956))}))),L=(0,M.Z)((function(e){return(0,l.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},Z.OR),Z.qg),{},{searchField:(0,a.Z)((0,a.Z)({},Z.qg.searchField),{},{marginRight:"auto",maxWidth:380})},Z.VX),(0,Z.Bz)(e.spacing(4))))})),B=function(){var e=(0,C.TL)(),s=(0,i.s0)(),t=L(),a=(0,c.v9)(R.$4),l=(0,o.useState)([]),Z=(0,n.Z)(l,2),j=Z[0],g=Z[1],w=(0,o.useState)(!1),v=(0,n.Z)(w,2),y=v[0],b=v[1],F=(0,o.useState)(""),M=(0,n.Z)(F,2),B=M[0],q=M[1],V=(0,o.useState)(!1),U=(0,n.Z)(V,2),Y=U[0],G=U[1],J=(0,o.useState)(null),W=(0,n.Z)(J,2),X=W[0],$=W[1],H=(0,o.useState)(!1),Q=(0,n.Z)(H,2),ee=Q[0],se=Q[1],te=(0,o.useState)([]),ne=(0,n.Z)(te,2),ae=ne[0],oe=ne[1],re=(0,o.useState)(!1),ce=(0,n.Z)(re,2),ie=ce[0],le=ce[1],de=(0,o.useState)(!1),ue=(0,n.Z)(de,2),he=ue[0],xe=ue[1],fe=a&&a.includes("external-idp")||!1;(0,o.useEffect)((function(){me()}),[]),(0,o.useEffect)((function(){y&&u.Z.invoke("GET","/api/v1/service-accounts").then((function(e){var s=e.sort(m.V2);b(!1),g(s)})).catch((function(s){e((0,S.Ih)(s)),b(!1)}))}),[y,b,g,e]);var me=function(){b(!0)},pe=[{type:"view",onClick:function(e){$(e),xe(!0)}},{type:"delete",onClick:function(e){$(e),G(!0)}}],Ze=j.filter((function(e){return e.toLowerCase().includes(B.toLowerCase())}));return(0,A.jsxs)(o.Fragment,{children:[Y&&(0,A.jsx)(O,{deleteOpen:Y,selectedServiceAccount:X,closeDeleteModalAndRefresh:function(e){!function(e){G(!1),e&&me()}(e)}}),ie&&(0,A.jsx)(z.Z,{deleteOpen:ie,selectedSAs:ae,closeDeleteModalAndRefresh:function(s){le(!1),s&&(e((0,S.y1)("Access keys deleted successfully.")),oe([]),b(!0))}}),he&&(0,A.jsx)(D.Z,{open:he,selectedAccessKey:X,closeModalAndRefresh:function(){xe(!1),b(!0)}}),(0,A.jsx)(P,{open:ee,closeModal:function(){return se(!1)}}),(0,A.jsx)(p.Z,{label:"Access Keys"}),(0,A.jsxs)(I.Z,{children:[(0,A.jsxs)(d.ZP,{item:!0,xs:12,className:t.actionsTray,children:[(0,A.jsx)(N.Z,{placeholder:"Search Access Keys",onChange:q,overrideClass:t.searchField,value:B}),(0,A.jsxs)(h.Z,{sx:{display:"flex"},children:[" ",(0,A.jsx)(K.Z,{tooltip:"Delete Selected",children:(0,A.jsx)(r.zx,{id:"delete-selected-accounts",onClick:function(){le(!0)},label:"Delete Selected",icon:(0,A.jsx)(x.pJl,{}),disabled:0===ae.length,variant:"secondary"})}),(0,A.jsx)(T.s,{scopes:[E.Ft.ADMIN_CREATE_USER],resource:E.C3,matchAll:!0,errorProps:{disabled:!0},children:(0,A.jsx)(r.zx,{id:"change-password",onClick:function(){return se(!0)},label:"Change Password",icon:(0,A.jsx)(x.tvm,{}),variant:"regular",disabled:fe})}),(0,A.jsx)(r.zx,{id:"create-service-account",onClick:function(){s("".concat(E.gA.ACCOUNT_ADD))},label:"Create access key",icon:(0,A.jsx)(x.dtP,{}),variant:"callAction"})]})]}),(0,A.jsx)(d.ZP,{item:!0,xs:12,className:t.tableBlock,children:(0,A.jsx)(f.Z,{isLoading:y,records:Ze,entityName:"Access Keys",idField:"",columns:[{label:"Access Key",elementKey:""}],itemActions:pe,selectedItems:ae,onSelect:function(e){return(0,_._0)(e,oe,ae)},onSelectAll:function(){ae.length!==j.length?oe(j):oe([])}})}),(0,A.jsx)(d.ZP,{item:!0,xs:12,marginTop:"15px",children:(0,A.jsx)(k.Z,{title:"Learn more about ACCESS KEYS",iconComponent:(0,A.jsx)(x.frP,{}),help:(0,A.jsxs)(o.Fragment,{children:["MinIO access keys are child identities of an authenticated MinIO user, including externally managed identities. Each access key inherits its privileges based on the policies attached to it\u2019s parent user or those groups in which the parent user has membership. Access Keys also support an optional inline policy which further restricts access to a subset of actions and resources available to the parent user.",(0,A.jsx)("br",{}),(0,A.jsx)("br",{}),"You can learn more at our"," ",(0,A.jsx)("a",{href:"https://min.io/docs/minio/linux/administration/identity-access-management/minio-user-management.html?ref=con#service-accounts",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})})]})]})}}}]); -//# sourceMappingURL=343.0d456511.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/343.0d456511.chunk.js.map b/portal-ui/build/static/js/343.0d456511.chunk.js.map deleted file mode 100644 index a99a1aef5..000000000 --- a/portal-ui/build/static/js/343.0d456511.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/343.0d456511.chunk.js","mappings":"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","sources":["screens/Console/Account/ChangePasswordModal.tsx","screens/Console/Account/Account.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, { useState } from \"react\";\nimport { Button } 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 Grid from \"@mui/material/Grid\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { LinearProgress } from \"@mui/material\";\nimport {\n containerForHeader,\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { ChangePasswordRequest } from \"../Buckets/types\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport { ChangePasswordIcon } from \"../../../icons\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport { setModalErrorSnackMessage } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalStyleUtils,\n ...formFieldStyles,\n ...spacingUtils,\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IChangePasswordProps {\n classes: any;\n open: boolean;\n closeModal: () => void;\n}\n\nconst ChangePassword = ({\n classes,\n open,\n closeModal,\n}: IChangePasswordProps) => {\n const dispatch = useAppDispatch();\n const [currentPassword, setCurrentPassword] = useState(\"\");\n const [newPassword, setNewPassword] = useState(\"\");\n const [reNewPassword, setReNewPassword] = useState(\"\");\n const [loading, setLoading] = useState(false);\n const [showPassword, setShowPassword] = useState(false);\n\n const userLoggedIn = localStorage.getItem(\"userLoggedIn\") || \"\";\n\n const changePassword = (event: React.FormEvent) => {\n event.preventDefault();\n\n if (newPassword !== reNewPassword) {\n dispatch(\n setModalErrorSnackMessage({\n errorMessage: \"New passwords don't match\",\n detailedError: \"\",\n })\n );\n return;\n }\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 return;\n }\n\n if (loading) {\n return;\n }\n setLoading(true);\n\n let request: ChangePasswordRequest = {\n current_secret_key: currentPassword,\n new_secret_key: newPassword,\n };\n\n api\n .invoke(\"POST\", \"/api/v1/account/change-password\", request)\n .then(() => {\n setLoading(false);\n setNewPassword(\"\");\n setReNewPassword(\"\");\n setCurrentPassword(\"\");\n closeModal();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setNewPassword(\"\");\n setReNewPassword(\"\");\n setCurrentPassword(\"\");\n dispatch(setModalErrorSnackMessage(err));\n });\n };\n\n return open ? (\n {\n setNewPassword(\"\");\n setReNewPassword(\"\");\n setCurrentPassword(\"\");\n closeModal();\n }}\n titleIcon={}\n >\n
\n This will change your Console password. Please note your new password\n down, as it will be required to log into Console after this session.\n
\n ) => {\n changePassword(e);\n }}\n >\n \n \n \n ) => {\n setCurrentPassword(event.target.value);\n }}\n label=\"Current Password\"\n type={showPassword ? \"text\" : \"password\"}\n value={currentPassword}\n overlayAction={() => setShowPassword(!showPassword)}\n overlayIcon={\n showPassword ? : \n }\n />\n \n \n ) => {\n setNewPassword(event.target.value);\n }}\n label=\"New Password\"\n type={showPassword ? \"text\" : \"password\"}\n value={newPassword}\n overlayAction={() => setShowPassword(!showPassword)}\n overlayIcon={\n showPassword ? : \n }\n />\n \n \n ) => {\n setReNewPassword(event.target.value);\n }}\n label=\"Type New Password Again\"\n type={showPassword ? \"text\" : \"password\"}\n value={reNewPassword}\n overlayAction={() => setShowPassword(!showPassword)}\n overlayIcon={\n showPassword ? : \n }\n />\n \n \n \n 0 &&\n newPassword.length > 0 &&\n reNewPassword.length > 0\n )\n }\n label=\"Save\"\n />\n \n {loading && (\n \n \n \n )}\n \n \n \n ) : null;\n};\n\nexport default withStyles(styles)(ChangePassword);\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 { Button } from \"mds\";\nimport { useSelector } from \"react-redux\";\nimport { useNavigate } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport api from \"../../../common/api\";\nimport { Box } from \"@mui/material\";\n\nimport {\n AccountIcon,\n AddIcon,\n DeleteIcon,\n PasswordKeyIcon,\n} from \"../../../icons\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport { stringSort } from \"../../../utils/sortFunctions\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\n\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport ChangePasswordModal from \"./ChangePasswordModal\";\nimport HelpBox from \"../../../common/HelpBox\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport SearchBox from \"../Common/SearchBox\";\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport { SecureComponent } from \"../../../common/SecureComponent\";\n\nimport { selectSAs } from \"../Configurations/utils\";\nimport DeleteMultipleServiceAccounts from \"../Users/DeleteMultipleServiceAccounts\";\nimport ServiceAccountPolicy from \"./ServiceAccountPolicy\";\nimport { setErrorSnackMessage, setSnackBarMessage } from \"../../../systemSlice\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { selFeatures } from \"../consoleSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport TooltipWrapper from \"../Common/TooltipWrapper/TooltipWrapper\";\n\nconst DeleteServiceAccount = withSuspense(\n React.lazy(() => import(\"./DeleteServiceAccount\"))\n);\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...actionsTray,\n ...searchField,\n searchField: {\n ...searchField.searchField,\n marginRight: \"auto\",\n maxWidth: 380,\n },\n ...tableStyles,\n ...containerForHeader(theme.spacing(4)),\n })\n);\n\nconst Account = () => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const classes = useStyles();\n const features = useSelector(selFeatures);\n\n const [records, setRecords] = useState([]);\n const [loading, setLoading] = useState(false);\n const [filter, setFilter] = useState(\"\");\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedServiceAccount, setSelectedServiceAccount] = useState<\n string | null\n >(null);\n const [changePasswordModalOpen, setChangePasswordModalOpen] =\n useState(false);\n const [selectedSAs, setSelectedSAs] = useState([]);\n const [deleteMultipleOpen, setDeleteMultipleOpen] = useState(false);\n const [policyOpen, setPolicyOpen] = useState(false);\n\n const userIDP = (features && features.includes(\"external-idp\")) || false;\n\n useEffect(() => {\n fetchRecords();\n }, []);\n\n useEffect(() => {\n if (loading) {\n api\n .invoke(\"GET\", `/api/v1/service-accounts`)\n .then((res: string[]) => {\n const serviceAccounts = res.sort(stringSort);\n\n setLoading(false);\n setRecords(serviceAccounts);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoading(false);\n });\n }\n }, [loading, setLoading, setRecords, 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 policyModalOpen = (selectedServiceAccount: string) => {\n setSelectedServiceAccount(selectedServiceAccount);\n setPolicyOpen(true);\n };\n\n const selectAllItems = () => {\n if (selectedSAs.length === records.length) {\n setSelectedSAs([]);\n return;\n }\n setSelectedSAs(records);\n };\n\n const closePolicyModal = () => {\n setPolicyOpen(false);\n setLoading(true);\n };\n\n const confirmDeleteServiceAccount = (selectedServiceAccount: string) => {\n setSelectedServiceAccount(selectedServiceAccount);\n setDeleteOpen(true);\n };\n\n const tableActions = [\n { type: \"view\", onClick: policyModalOpen },\n { type: \"delete\", onClick: confirmDeleteServiceAccount },\n ];\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.toLowerCase().includes(filter.toLowerCase())\n );\n\n return (\n \n {deleteOpen && (\n {\n closeDeleteModalAndRefresh(refresh);\n }}\n />\n )}\n {deleteMultipleOpen && (\n \n )}\n\n {policyOpen && (\n \n )}\n setChangePasswordModalOpen(false)}\n />\n \n \n \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 setChangePasswordModalOpen(true)}\n label={`Change Password`}\n icon={}\n variant={\"regular\"}\n disabled={userIDP}\n />\n \n {\n navigate(`${IAM_PAGES.ACCOUNT_ADD}`);\n }}\n label={`Create access key`}\n icon={}\n variant={\"callAction\"}\n />\n \n \n\n \n selectSAs(e, setSelectedSAs, selectedSAs)}\n onSelectAll={selectAllItems}\n />\n \n \n }\n help={\n \n MinIO access keys are child identities of an authenticated MinIO\n user, including externally managed identities. Each access key\n inherits its privileges based on the policies attached to it’s\n parent user or those groups in which the parent user has\n membership. Access Keys also support an optional inline policy\n which further restricts access to a subset of actions and\n resources available to the parent user.\n
\n
\n You can learn more at our{\" \"}\n {\n // TODO: Change this link once it is called access keys\n }\n \n documentation\n \n .\n
\n }\n />\n
\n
\n
\n );\n};\n\nexport default Account;\n"],"names":["withStyles","theme","createStyles","modalStyleUtils","formFieldStyles","spacingUtils","containerForHeader","spacing","classes","open","closeModal","dispatch","useAppDispatch","useState","currentPassword","setCurrentPassword","newPassword","setNewPassword","reNewPassword","setReNewPassword","loading","setLoading","showPassword","setShowPassword","userLoggedIn","localStorage","getItem","ModalWrapper","title","modalOpen","onClose","titleIcon","noValidate","autoComplete","onSubmit","e","event","preventDefault","length","setModalErrorSnackMessage","errorMessage","detailedError","request","current_secret_key","new_secret_key","api","then","catch","err","changePassword","Grid","container","item","xs","className","modalFormScrollable","formFieldRow","InputBoxWrapper","id","name","onChange","target","value","label","type","overlayAction","overlayIcon","VisibilityOff","RemoveRedEye","modalButtonBar","variant","color","disabled","LinearProgress","DeleteServiceAccount","withSuspense","React","useStyles","makeStyles","actionsTray","searchField","marginRight","maxWidth","tableStyles","navigate","useNavigate","features","useSelector","selFeatures","records","setRecords","filter","setFilter","deleteOpen","setDeleteOpen","selectedServiceAccount","setSelectedServiceAccount","changePasswordModalOpen","setChangePasswordModalOpen","selectedSAs","setSelectedSAs","deleteMultipleOpen","setDeleteMultipleOpen","policyOpen","setPolicyOpen","userIDP","includes","useEffect","fetchRecords","res","serviceAccounts","sort","stringSort","setErrorSnackMessage","tableActions","onClick","filteredRecords","elementItem","toLowerCase","closeDeleteModalAndRefresh","refresh","DeleteMultipleServiceAccounts","setSnackBarMessage","ServiceAccountPolicy","selectedAccessKey","closeModalAndRefresh","ChangePasswordModal","PageHeader","PageLayout","SearchBox","placeholder","overrideClass","Box","sx","display","TooltipWrapper","tooltip","icon","SecureComponent","scopes","IAM_SCOPES","resource","CONSOLE_UI_RESOURCE","matchAll","errorProps","IAM_PAGES","tableBlock","TableWrapper","isLoading","entityName","idField","columns","elementKey","itemActions","selectedItems","onSelect","selectSAs","onSelectAll","marginTop","HelpBox","iconComponent","help","Fragment","href","rel"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3543.63b7961a.chunk.js b/portal-ui/build/static/js/3543.63b7961a.chunk.js deleted file mode 100644 index 0fb14d367..000000000 --- a/portal-ui/build/static/js/3543.63b7961a.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3543],{23804:function(e,t,n){n(72791);var i=n(11135),o=n(25787),a=n(61889),r=n(80184);t.Z=(0,o.Z)((function(e){return(0,i.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var t=e.classes,n=e.iconComponent,i=e.title,o=e.help;return(0,r.jsx)("div",{className:t.root,children:(0,r.jsxs)(a.ZP,{container:!0,children:[(0,r.jsxs)(a.ZP,{item:!0,xs:12,className:t.leftItems,children:[n,i]}),(0,r.jsx)(a.ZP,{item:!0,xs:12,className:t.helpText,children:o})]})})}))},63856:function(e,t,n){var i=n(1413),o=(n(72791),n(75952)),a=n(64554),r=n(61889),s=n(11135),l=n(25787),c=n(27197),d=n(32686),u=n(23814),p=n(80705),m=n(85090),h=n(56096),x=n(80184),g=function(){return(0,x.jsx)(a.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{width:"10px",height:"10px"}},children:(0,x.jsx)(h.Q2V,{})})};t.Z=(0,l.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},u.OR),u.bN),{},{schedulerIcon:{opacity:.4,fontSize:10,"& svg":{width:18,height:18}},selectorLabel:{color:"#9D9E9D",fontWeight:"bold",whiteSpace:"nowrap",marginLeft:10,fontSize:12}}))}))((function(e){e.classes;var t=e.timeStart,n=e.setTimeStart,i=e.timeEnd,s=e.setTimeEnd,l=e.triggerSync,u=e.label,h=void 0===u?"Filter:":u,f=e.startLabel,b=void 0===f?"Start Time:":f,j=e.endLabel,v=void 0===j?"End Time:":j;return(0,x.jsx)(r.ZP,{item:!0,xs:12,sx:{"& .filter-date-input-label, .end-time-input-label":{display:"none"},"& .MuiInputBase-adornedEnd.filter-date-date-time-input":{width:"100%",border:"1px solid #eaeaea",paddingLeft:"8px",paddingRight:"8px",borderRadius:"1px"},"& .MuiInputAdornment-root button":{height:"20px",width:"20px",marginRight:"5px"},"& .filter-date-input-wrapper":{height:"30px",width:"100%","& .MuiTextField-root":{height:"30px",width:"90%","& input.Mui-disabled":{color:"#000000",WebkitTextFillColor:"#101010"}}}},children:(0,x.jsxs)(a.Z,{sx:{display:"grid",height:{md:"40px",xs:"auto"},alignItems:"center",gridTemplateColumns:{md:"auto 2fr auto",sm:"1fr"},padding:{md:"0",xs:" 5px"},gap:"5px"},children:[(0,x.jsx)(a.Z,{sx:{fontSize:"14px",fontWeight:500,marginRight:"5px"},children:h}),(0,x.jsxs)(a.Z,{sx:{display:"grid",height:{md:"40px",xs:"auto"},border:{md:"1px solid #eaeaea"},alignItems:"center",gridTemplateColumns:{md:"1fr 1fr",sm:"1fr"},gap:"8px",paddingLeft:"8px",paddingRight:"8px"},children:[(0,x.jsxs)(a.Z,{sx:{display:"grid",height:"30px",alignItems:"center",gridTemplateColumns:{xs:"12px auto 1fr"},gap:"5px"},children:[(0,x.jsx)(a.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{width:"10px",height:"10px",fill:"#B4B5B4"}},children:(0,x.jsx)(c.Z,{className:"min-icon"})}),(0,x.jsx)(a.Z,{sx:{fontSize:"12px",marginLeft:"8px"},children:b}),(0,x.jsx)(a.Z,{children:(0,x.jsx)(p.Z,{value:t,onChange:n,id:"stTime",classNamePrefix:"filter-date-",forFilterContained:!0,noInputIcon:!0,openPickerIcon:g})})]}),(0,x.jsxs)(a.Z,{sx:{display:"grid",height:"30px",alignItems:"center",gridTemplateColumns:{xs:"12px auto 1fr"},gap:"5px"},children:[(0,x.jsx)(a.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{width:"10px",height:"10px",fill:"#B4B5B4"}},children:(0,x.jsx)(d.Z,{className:"min-icon"})}),(0,x.jsx)(a.Z,{sx:{fontSize:"12px",marginLeft:"8px"},children:v}),(0,x.jsx)(a.Z,{children:(0,x.jsx)(p.Z,{value:i,onChange:s,id:"endTime",classNamePrefix:"filter-date-",forFilterContained:!0,noInputIcon:!0,openPickerIcon:g})})]})]}),l&&(0,x.jsx)(a.Z,{sx:{alignItems:"flex-end",display:"flex",justifyContent:"flex-end"},children:(0,x.jsx)(o.zx,{id:"sync",type:"button",variant:"callAction",onClick:l,icon:(0,x.jsx)(m.Z,{}),label:"Sync"})})]})})}))},80705:function(e,t,n){var i=n(1413),o=n(72791),a=n(27391),r=n(61889),s=n(30829),l=n(20068),c=n(36571),d=n(36612),u=n(60447),p=n(63466),m=n(27197),h=n(11135),x=n(25787),g=n(84570),f=n(23814),b=n(33976),j=n(80184);t.Z=(0,x.Z)((function(e){return(0,h.Z)((0,i.Z)((0,i.Z)({dateSelectorOverride:{height:40,border:"#EAEDEE 1px solid",marginLeft:15,backgroundColor:"#fff",padding:"0 16px",borderRadius:5,"&.MuiInput-underline:hover:not(.Mui-disabled):before":{borderBottom:0},"&:hover":{borderColor:"#000","&:before, &:after":{borderColor:"transparent",borderBottom:0}},"&:before, &:after":{borderColor:"transparent",borderBottom:0},"& input":{fontSize:12,fontWeight:600,color:"#393939"}},dateSelectorFilterOverride:{width:180,height:42,marginLeft:20,padding:0,borderRadius:5,"&.MuiInput-underline:hover:not(.Mui-disabled):before":{borderBottom:0},"&:hover":{"&:before, &:after":{borderColor:"transparent",borderBottom:0}},"&:before, &:after":{borderColor:"transparent",borderBottom:0},"& input":{fontSize:12,fontWeight:"bold",color:"#081C42"},"@media (max-width: 900px)":{width:103}},dateSelectorFormOverride:{width:"100%",maxWidth:840},parentDateOverride:{flexGrow:1},textBoxContainer:{flexGrow:1},openListIcon:{color:"#9D9E9D",width:8,marginTop:2},paperOverride:{"& .MuiCalendarPicker-root":{padding:"0 22px","& > div":{padding:0,"& > div > div.PrivatePickersFadeTransitionGroup-root:first-of-type":{color:"#0A224C",fontWeight:"bold"},"& > div > div.PrivatePickersFadeTransitionGroup-root:last-of-type":{color:"#9D9E9D","& + button.MuiButtonBase-root":{color:"#9D9E9D"}},"& > div:nth-child(2)":{"& > div":{width:0},"& > button.MuiButtonBase-root":{color:"#0A224C"}}}},"& .MuiTypography-root.MuiTypography-caption":{width:26,height:26,margin:5,color:"#BCBCBC",fontSize:10},"& button.MuiPickersDay-root":{fontWeight:"bold",width:26,height:26,margin:5,textAlign:"center","&.Mui-selected":{backgroundColor:e.palette.primary.main,color:"#fff"}},"& div.MuiPickersDay-hiddenDaySpacingFiller":{width:26,height:26,margin:5},"& div.PrivatePickersSlideTransition-root":{minHeight:240},"& div.MuiCalendarPicker-viewTransitionContainer":{borderTop:"#F0F3F5 1px solid"},"& .MuiClockPicker-arrowSwitcher":{marginRight:10,marginTop:-1,"& > div":{width:0},"& > button.MuiButtonBase-root":{color:"#0A224C"},"& + div > div":{width:255,height:255,backgroundColor:"#fff",marginTop:30,marginBottom:14,border:"#F0F3F5 3px solid","& > div:nth-child(2)":{backgroundColor:"#B4B5B4",width:12,height:12,"&::before":{content:"' '",width:35,height:35,display:"block",position:"absolute",border:"#F0F3F5 3px solid",top:-12,left:-12,borderRadius:"100%"}},"& > div:nth-child(3)":{backgroundColor:"#B4B5B4",width:4},"& > div:last-of-type":{marginTop:15,"& > span":{color:"#0A224C","&.Mui-selected":{color:"#fff"},"&[aria-label='1 hours'], &[aria-label='2 hours'], &[aria-label='3 hours'], &[aria-label='4 hours'], &[aria-label='5 hours'], &[aria-label='6 hours'], &[aria-label='7 hours'], &[aria-label='8 hours'], &[aria-label='9 hours'], &[aria-label='10 hours'], &[aria-label='11 hours'], &[aria-label='12 hours']":{fontWeight:"bold",fontSize:20,marginTop:-1}}}}}}},f.YI),f.Hr))}))((function(e){var t=e.value,n=e.onChange,h=e.classes,x=e.forSearchBlock,f=void 0!==x&&x,v=e.forFilterContained,Z=void 0!==v&&v,C=e.label,S=e.tooltip,y=void 0===S?"":S,_=e.required,k=e.id,B=e.disabled,N=void 0!==B&&B,F=e.noInputIcon,I=void 0!==F&&F,P=e.classNamePrefix,w=void 0===P?"":P,E=e.openPickerIcon,A={};I||(A={startAdornment:(0,j.jsx)(p.Z,{position:"start",children:(0,j.jsx)(m.Z,{})})}),Z&&(A={endAdornment:(0,j.jsx)(p.Z,{position:"end",children:(0,j.jsx)(b.Z,{className:h.openListIcon})})});var T="".concat(w,"date-time-input ").concat(f?h.dateSelectorOverride:""," ").concat(Z&&!f?h.dateSelectorFilterOverride:""),L=f?h.parentDateOverride:h.dateSelectorFormOverride,M=(0,j.jsx)(c._,{dateAdapter:d.Z,children:(0,j.jsx)(u.x,{value:t,onChange:n,InputProps:(0,i.Z)((0,i.Z)({},A),{},{className:T}),components:{OpenPickerIcon:E},label:"",className:L,disabled:N,renderInput:function(e){return(0,j.jsx)(a.Z,(0,i.Z)((0,i.Z)({id:k,variant:"standard"},e),{},{disabled:!0}))},ampm:!1,PopperProps:{className:h.paperOverride}})});if(f)return M;var O=Z?"":h.fieldContainer;return(0,j.jsx)(o.Fragment,{children:(0,j.jsxs)(r.ZP,{item:!0,xs:12,className:"".concat(O," ").concat(w,"input-field-container "),children:[""!==C&&(0,j.jsxs)(s.Z,{htmlFor:k,className:"".concat(h.inputLabel," ").concat(w,"input-label"),children:[(0,j.jsxs)("span",{children:[C,_?"*":""]}),""!==y&&(0,j.jsx)("div",{className:h.tooltipContainer,children:(0,j.jsx)(l.Z,{title:y,placement:"top-start",children:(0,j.jsx)("div",{className:h.tooltip,children:(0,j.jsx)(g.Z,{})})})})]}),(0,j.jsx)("div",{className:"".concat(h.textBoxContainer," ").concat(w,"input-wrapper "),children:M})]})})}))},56028:function(e,t,n){var i=n(29439),o=n(1413),a=n(72791),r=n(78687),s=n(13400),l=n(55646),c=n(5574),d=n(65661),u=n(39157),p=n(11135),m=n(25787),h=n(23814),x=n(25469),g=n(29823),f=n(28057),b=n(87995),j=n(80184);t.Z=(0,m.Z)((function(e){return(0,p.Z)((0,o.Z)((0,o.Z)({},h.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},h.sN))}))((function(e){var t=e.onClose,n=e.modalOpen,p=e.title,m=e.children,h=e.classes,v=e.wideLimit,Z=void 0===v||v,C=e.noContentPadding,S=e.titleIcon,y=void 0===S?null:S,_=(0,x.TL)(),k=(0,a.useState)(!1),B=(0,i.Z)(k,2),N=B[0],F=B[1],I=(0,r.v9)((function(e){return e.system.modalSnackBar}));(0,a.useEffect)((function(){_((0,b.MK)(""))}),[_]),(0,a.useEffect)((function(){if(I){if(""===I.message)return void F(!1);"error"!==I.type&&F(!0)}}),[I]);var P=Z?{classes:{paper:h.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},w="";return I&&(w=I.detailedErrorMsg,(""===I.detailedErrorMsg||I.detailedErrorMsg.length<5)&&(w=I.message)),(0,j.jsxs)(c.Z,(0,o.Z)((0,o.Z)({open:n,classes:h},P),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:h.root,children:[(0,j.jsxs)(d.Z,{className:h.title,children:[(0,j.jsxs)("div",{className:h.titleText,children:[y," ",p]}),(0,j.jsx)("div",{className:h.closeContainer,children:(0,j.jsx)(s.Z,{"aria-label":"close",id:"close",className:h.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,j.jsx)(g.Z,{})})})]}),(0,j.jsx)(f.Z,{isModal:!0}),(0,j.jsx)(l.Z,{open:N,className:h.snackBarModal,onClose:function(){F(!1),_((0,b.MK)(""))},message:w,ContentProps:{className:"".concat(h.snackBar," ").concat(I&&"error"===I.type?h.errorSnackBar:"")},autoHideDuration:I&&"error"===I.type?1e4:5e3}),(0,j.jsx)(u.Z,{className:C?"":h.content,children:m})]}))}))},33543:function(e,t,n){n.r(t),n.d(t,{default:function(){return L}});var i=n(93433),o=n(29439),a=n(1413),r=n(72791),s=n(78687),l=n(75952),c=n(61889),d=n(26181),u=n.n(d),p=n(11135),m=n(25787),h=n(23814),x=n(45248),g=n(81207),f=n(92983),b=n(27391),j=n(80184),v=(0,m.Z)((function(e){return(0,p.Z)({searchField:(0,a.Z)((0,a.Z)({},h.qg.searchField),{},{height:30,padding:0,"& input":{padding:"0 12px",height:28,fontSize:12,fontWeight:600,color:"#393939"},"&.isDisabled":{"&:hover":{borderColor:"#EAEDEE"}},"& input.Mui-disabled":{backgroundColor:"#EAEAEA"}}),labelStyle:{color:"#393939",fontSize:12,marginBottom:4},buttonKit:{display:"flex",alignItems:"center"},fieldContainer:{flexGrow:1,margin:"0 15px"}})}))((function(e){var t=e.classes,n=e.label,i=e.onChange,o=e.value,a=e.placeholder,s=void 0===a?"":a,l=e.id,c=e.name;return(0,j.jsx)(r.Fragment,{children:(0,j.jsxs)("div",{className:t.fieldContainer,children:[(0,j.jsx)("div",{className:t.labelStyle,children:n}),(0,j.jsx)("div",{className:t.buttonKit,children:(0,j.jsx)(b.Z,{placeholder:s,id:l,name:c,label:"",onChange:function(e){i(e.target.value)},InputProps:{disableUnderline:!0},className:t.searchField,value:o})})]})})})),Z=n(56028),C={time:"Timestamp",api_name:"API Name",access_key:"Access Key",bucket:"Bucket",object:"Object",remote_host:"Remote Host",request_id:"Request ID",user_agent:"User Agent",response_status:"Response Status",response_status_code:"Response Status Code",request_content_length:"Request Content Length",response_content_length:"Response Content Length",time_to_response_ns:"Time to Response NS"},S=(0,m.Z)((function(e){return(0,p.Z)((0,a.Z)({buttonContainer:{textAlign:"right"},objectKeyCol:{fontWeight:700,paddingRight:"10px",textAlign:"left"}},h.oO))}))((function(e){var t=e.modalOpen,n=e.logSearchElement,i=e.onClose,o=e.classes,a=Object.keys(n);return(0,j.jsx)(r.Fragment,{children:(0,j.jsx)(Z.Z,{modalOpen:t,title:"Full Log Information",onClose:function(){i()},children:(0,j.jsxs)(c.ZP,{container:!0,children:[(0,j.jsx)(c.ZP,{item:!0,xs:12,children:(0,j.jsx)("table",{children:(0,j.jsx)("tbody",{children:a.map((function(e,t){return(0,j.jsxs)("tr",{children:[(0,j.jsx)("th",{className:o.objectKeyCol,children:u()(C,e,"".concat(e))}),(0,j.jsx)("td",{children:u()(n,e,"")})]},"logSearch-".concat(t.toString()))}))})})}),(0,j.jsx)(c.ZP,{item:!0,xs:12,className:o.buttonContainer,children:(0,j.jsx)(l.zx,{id:"close-log-search",variant:"callAction",color:"primary",onClick:i,label:"Close"})})]})})})})),y=n(63856),_=n(32291),k=n(74794),B=n(93385),N=n(56087),F=n(38442),I=n(56096),P=n(23804),w=function(e){var t=e.iconComponent,n=e.entity,i=e.documentationLink;return(0,j.jsx)(c.ZP,{container:!0,justifyContent:"center",alignContent:"center",alignItems:"center",children:(0,j.jsx)(c.ZP,{item:!0,xs:8,children:(0,j.jsx)(P.Z,{title:"".concat(n," not available"),iconComponent:t,help:(0,j.jsxs)(r.Fragment,{children:["This feature is not available.",(0,j.jsx)("br",{}),"Please configure"," ",(0,j.jsx)("a",{href:i,target:"_blank",rel:"noreferrer",children:n})," ","first to use this feature."]})})})})},E=n(87995),A=n(46078),T=n(25469),L=(0,m.Z)((function(e){return(0,p.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({blockCollapsed:{display:"none",overflowY:"hidden"},filterOpen:{display:"block",marginBottom:12},endLineAction:{marginBottom:15,padding:"0 15px 0 15px",display:"flex",alignItems:"center",justifyContent:"flex-end"},filtersContainer:{display:"flex",justifyContent:"space-between",marginBottom:12},innerContainer:{backgroundColor:"#fff"},noticeLabel:{marginLeft:15,marginBottom:15,fontSize:12,color:"#9C9C9C"},tableFOpen:{height:"calc(100vh - 520px)"},tableFClosed:{height:"calc(100vh - 320px)"}},h.VX),h.S),{},{searchOptions:{display:"flex",padding:15,"@media (max-width: 900px)":{flexFlow:"column"}},formBox:{border:"1px solid #EAEAEA",marginBottom:15},dateRangePicker:{"& div":{marginBottom:0}},advancedButton:{display:"flex",alignItems:"center",justifyContent:"flex-start"}},h.o$),(0,h.Bz)(e.spacing(4))))}))((function(e){var t=e.classes,n=(0,T.TL)(),a=(0,s.v9)(A.$4),d=(0,r.useState)(!0),p=(0,o.Z)(d,2),m=p[0],h=p[1],b=(0,r.useState)(null),Z=(0,o.Z)(b,2),P=Z[0],L=Z[1],M=(0,r.useState)(null),O=(0,o.Z)(M,2),D=O[0],R=O[1],z=(0,r.useState)(!1),K=(0,o.Z)(z,2),q=K[0],W=K[1],H=(0,r.useState)([]),G=(0,o.Z)(H,2),Y=G[0],U=G[1],Q=(0,r.useState)(""),V=(0,o.Z)(Q,2),$=V[0],X=V[1],J=(0,r.useState)(""),ee=(0,o.Z)(J,2),te=ee[0],ne=ee[1],ie=(0,r.useState)(""),oe=(0,o.Z)(ie,2),ae=oe[0],re=oe[1],se=(0,r.useState)(""),le=(0,o.Z)(se,2),ce=le[0],de=le[1],ue=(0,r.useState)(""),pe=(0,o.Z)(ue,2),me=pe[0],he=pe[1],xe=(0,r.useState)(""),ge=(0,o.Z)(xe,2),fe=ge[0],be=ge[1],je=(0,r.useState)(""),ve=(0,o.Z)(je,2),Ze=ve[0],Ce=ve[1],Se=(0,r.useState)("DESC"),ye=(0,o.Z)(Se,2),_e=ye[0],ke=ye[1],Be=(0,r.useState)(["time","api_name","access_key","bucket","object","remote_host","request_id","user_agent","response_status"]),Ne=(0,o.Z)(Be,2),Fe=Ne[0],Ie=Ne[1],Pe=(0,r.useState)(0),we=(0,o.Z)(Pe,2),Ee=we[0],Ae=we[1],Te=(0,r.useState)(!1),Le=(0,o.Z)(Te,2),Me=Le[0],Oe=Le[1],De=(0,r.useState)(!1),Re=(0,o.Z)(De,2),ze=Re[0],Ke=Re[1],qe=(0,r.useState)(null),We=(0,o.Z)(qe,2),He=We[0],Ge=We[1],Ye=null,Ue=a&&a.includes("log-search"),Qe=(0,r.useCallback)((function(){if(!Me&&Ue){Oe(!0);var e="".concat(""!==$?"&fp=bucket:".concat($):"").concat(""!==me?"&fp=object:".concat(me):"").concat(""!==te?"&fp=api_name:".concat(te):"").concat(""!==ae?"&fp=access_key:".concat(ae):"").concat(""!==fe?"&fp=request_id:".concat(fe):"").concat(""!==ce?"&fp=user_agent:".concat(ce):"").concat(""!==Ze?"&fp=response_status:".concat(Ze):"");(e=e.trim()).endsWith(",")&&(e=e.slice(0,-1)),g.Z.invoke("GET","/api/v1/logs/search?q=reqinfo".concat(""!==e?"".concat(e):"","&pageSize=100&pageNo=").concat(Ee,"&order=").concat("DESC"===_e?"timeDesc":"timeAsc").concat(null!==P?"&timeStart=".concat(P.toISOString()):"").concat(null!==D?"&timeEnd=".concat(D.toISOString()):"")).then((function(e){var t=e.results||[];h(!1),Oe(!1),U(t),Ae(Ee+1),null!==Ye&&Ye()})).catch((function(e){h(!1),Oe(!1),n((0,E.Ih)(e))}))}else h(!1),Oe(!1)}),[Me,Ue,$,me,te,ae,fe,ce,Ze,Ee,_e,P,D,Ye,n]);(0,r.useEffect)((function(){m&&(U([]),Qe())}),[m,_e,Qe]);return(0,j.jsxs)(r.Fragment,{children:[ze&&null!==He&&(0,j.jsx)(S,{logSearchElement:He,modalOpen:ze,onClose:function(){Ge(null),Ke(!1)}}),(0,j.jsx)(_.Z,{label:"Audit Logs"}),(0,j.jsx)(k.Z,{children:Ue?(0,j.jsxs)(r.Fragment,{children:[" ",(0,j.jsxs)(c.ZP,{xs:12,className:t.formBox,children:[(0,j.jsxs)(c.ZP,{item:!0,xs:12,className:"".concat(t.searchOptions),children:[(0,j.jsx)("div",{className:t.dateRangePicker,children:(0,j.jsx)(y.Z,{setTimeEnd:R,setTimeStart:L,timeEnd:D,timeStart:P})}),(0,j.jsx)(c.ZP,{item:!0,className:t.advancedButton,children:(0,j.jsxs)("button",{onClick:function(){W(!q)},className:t.advancedConfiguration,children:[q?"Hide":"Show"," advanced Filters"," ",(0,j.jsx)("span",{className:q?t.advancedOpen:t.advancedClosed,children:(0,j.jsx)(B.Z,{})})]})})]}),(0,j.jsx)(c.ZP,{item:!0,xs:12,className:"".concat(t.blockCollapsed," ").concat(q?t.filterOpen:""),children:(0,j.jsxs)("div",{className:t.innerContainer,children:[(0,j.jsxs)("div",{className:t.noticeLabel,children:["Enable your preferred options to get filtered records.",(0,j.jsx)("br",{}),"You can use '*' to match any character, '.' to signify a single character or '\\' to scape an special character (E.g. mybucket-*)"]}),(0,j.jsxs)("div",{className:t.filtersContainer,children:[(0,j.jsx)(v,{onChange:X,value:$,label:"Bucket",id:"bucket",name:"bucket"}),(0,j.jsx)(v,{onChange:ne,value:te,label:"API Name",id:"api_name",name:"api_name"}),(0,j.jsx)(v,{onChange:re,value:ae,label:"Access Key",id:"access_key",name:"access_key"}),(0,j.jsx)(v,{onChange:de,value:ce,label:"User Agent",id:"user_agent",name:"user_agent"})]}),(0,j.jsxs)("div",{className:t.filtersContainer,children:[(0,j.jsx)(v,{onChange:he,value:me,label:"Object",id:"object",name:"object"}),(0,j.jsx)(v,{onChange:be,value:fe,label:"Request ID",id:"request_id",name:"request_id"}),(0,j.jsx)(v,{onChange:Ce,value:Ze,label:"Response Status",id:"response_status",name:"response_status"})]})]})}),(0,j.jsx)(c.ZP,{item:!0,xs:12,className:t.endLineAction,children:(0,j.jsx)(l.zx,{id:"get-information",type:"button",variant:"callAction",onClick:function(){Ae(0),h(!0)},label:"Get Information"})})]}),(0,j.jsx)(c.ZP,{item:!0,xs:12,className:t.tableBlock,children:(0,j.jsx)(F.s,{scopes:[N.Ft.ADMIN_HEALTH_INFO],resource:N.C3,errorProps:{disabled:!0},children:(0,j.jsx)(f.Z,{columns:[{label:C.time,elementKey:"time",enableSort:!0},{label:C.api_name,elementKey:"api_name"},{label:C.access_key,elementKey:"access_key"},{label:C.bucket,elementKey:"bucket"},{label:C.object,elementKey:"object"},{label:C.remote_host,elementKey:"remote_host"},{label:C.request_id,elementKey:"request_id"},{label:C.user_agent,elementKey:"user_agent"},{label:C.response_status,elementKey:"response_status",renderFunction:function(e){return(0,j.jsx)(r.Fragment,{children:(0,j.jsxs)("span",{children:[e.response_status_code," (",e.response_status,")"]})})},renderFullObject:!0},{label:C.request_content_length,elementKey:"request_content_length",renderFunction:x.ae},{label:C.response_content_length,elementKey:"response_content_length",renderFunction:x.ae},{label:C.time_to_response_ns,elementKey:"time_to_response_ns",renderFunction:x.Yj,contentTextAlign:"right"}],isLoading:m,records:Y,entityName:"Logs",customEmptyMessage:"There is no information with this criteria",idField:"request_id",columnsSelector:!0,columnsShown:Fe,onColumnChange:function(e,t){var n=(0,i.Z)(Fe);t?n.includes(e)||n.push(e):n=Fe.filter((function(t){return t!==e})),Ie(n)},customPaperHeight:q?t.tableFOpen:t.tableFClosed,sortConfig:{currentSort:"time",currentDirection:_e,triggerSort:function(e){var t=u()(e,"sortDirection","DESC");ke(t),Ae(0),h(!0)}},infiniteScrollConfig:{recordsCount:1e6,loadMoreRecords:function(e){return Qe(),new Promise((function(e){Ye=e}))}},itemActions:[{type:"view",onClick:function(e){Ge(e),Ke(!0)}}],textSelectable:!0})})})]}):(0,j.jsx)(w,{entity:"Audit Logs",iconComponent:(0,j.jsx)(I.W1M,{}),documentationLink:"https://github.com/minio/operator/tree/master/logsearchapi"})})]})}))}}]); -//# sourceMappingURL=3543.63b7961a.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3543.63b7961a.chunk.js.map b/portal-ui/build/static/js/3543.63b7961a.chunk.js.map deleted file mode 100644 index d7a6a0d74..000000000 --- a/portal-ui/build/static/js/3543.63b7961a.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/3543.63b7961a.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/FormComponents/DateRangeSelector/DateRangeSelector.tsx","screens/Console/Common/FormComponents/DateTimePickerWrapper/DateTimePickerWrapper.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/FormComponents/FilterInputWrapper/FilterInputWrapper.tsx","screens/Console/Logs/LogSearch/utils.ts","screens/Console/Logs/LogSearch/LogSearchFullModal.tsx","screens/Console/Common/MissingIntegration/MissingIntegration.tsx","screens/Console/Logs/LogSearch/LogsSearchMain.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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string | React.ReactNode;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport { Box, Grid } from \"@mui/material\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport ScheduleIcon from \"@mui/icons-material/Schedule\";\nimport WatchLaterIcon from \"@mui/icons-material/WatchLater\";\nimport { actionsTray, widgetContainerCommon } from \"../common/styleLibrary\";\nimport DateTimePickerWrapper from \"../DateTimePickerWrapper/DateTimePickerWrapper\";\nimport SyncIcon from \"../../../../../icons/SyncIcon\";\nimport { OpenListIcon } from \"../../../../../icons\";\n\ninterface IDateRangeSelector {\n classes: any;\n timeStart: any;\n setTimeStart: (date: any) => void;\n timeEnd: any;\n setTimeEnd: (date: any) => void;\n triggerSync?: () => void;\n label?: string;\n startLabel?: string;\n endLabel?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...actionsTray,\n ...widgetContainerCommon,\n schedulerIcon: {\n opacity: 0.4,\n fontSize: 10,\n \"& svg\": {\n width: 18,\n height: 18,\n },\n },\n selectorLabel: {\n color: \"#9D9E9D\",\n fontWeight: \"bold\",\n whiteSpace: \"nowrap\",\n marginLeft: 10,\n fontSize: 12,\n },\n });\n\nconst DateFilterAdornIcon = () => {\n return (\n \n \n \n );\n};\n\nconst DateRangeSelector = ({\n classes,\n timeStart,\n setTimeStart,\n timeEnd,\n setTimeEnd,\n triggerSync,\n label = \"Filter:\",\n startLabel = \"Start Time:\",\n endLabel = \"End Time:\",\n}: IDateRangeSelector) => {\n return (\n \n \n \n {label}\n \n \n \n \n \n \n \n {startLabel}\n \n \n \n \n \n\n \n \n \n \n \n {endLabel}\n \n \n \n \n \n \n\n {triggerSync && (\n \n }\n label={\"Sync\"}\n />\n \n )}\n \n
\n );\n};\n\nexport default withStyles(styles)(DateRangeSelector);\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 { Grid, InputLabel, TextField, Tooltip } from \"@mui/material\";\nimport { LocalizationProvider } from \"@mui/x-date-pickers\";\nimport { AdapterLuxon } from \"@mui/x-date-pickers/AdapterLuxon\";\nimport { DateTimePicker } from \"@mui/x-date-pickers\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport ScheduleIcon from \"@mui/icons-material/Schedule\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport OpenListIcon from \"../../../../../icons/OpenListIcon\";\n\ninterface IDateTimePicker {\n value: any;\n onChange: (value: any) => any;\n classes: any;\n forSearchBlock?: boolean;\n forFilterContained?: boolean;\n label?: string;\n required?: boolean;\n tooltip?: string;\n id: string;\n disabled?: boolean;\n noInputIcon?: boolean;\n classNamePrefix?: string;\n openPickerIcon?: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n dateSelectorOverride: {\n height: 40,\n border: \"#EAEDEE 1px solid\",\n marginLeft: 15,\n backgroundColor: \"#fff\",\n padding: \"0 16px\",\n borderRadius: 5,\n \"&.MuiInput-underline:hover:not(.Mui-disabled):before\": {\n borderBottom: 0,\n },\n \"&:hover\": {\n borderColor: \"#000\",\n \"&:before, &:after\": {\n borderColor: \"transparent\",\n borderBottom: 0,\n },\n },\n \"&:before, &:after\": {\n borderColor: \"transparent\",\n borderBottom: 0,\n },\n \"& input\": {\n fontSize: 12,\n fontWeight: 600,\n color: \"#393939\",\n },\n },\n dateSelectorFilterOverride: {\n width: 180,\n height: 42,\n marginLeft: 20,\n padding: 0,\n borderRadius: 5,\n \"&.MuiInput-underline:hover:not(.Mui-disabled):before\": {\n borderBottom: 0,\n },\n \"&:hover\": {\n \"&:before, &:after\": {\n borderColor: \"transparent\",\n borderBottom: 0,\n },\n },\n \"&:before, &:after\": {\n borderColor: \"transparent\",\n borderBottom: 0,\n },\n \"& input\": {\n fontSize: 12,\n fontWeight: \"bold\",\n color: \"#081C42\",\n },\n \"@media (max-width: 900px)\": {\n width: 103,\n },\n },\n dateSelectorFormOverride: {\n width: \"100%\",\n maxWidth: 840,\n },\n parentDateOverride: {\n flexGrow: 1,\n },\n textBoxContainer: {\n flexGrow: 1,\n },\n openListIcon: {\n color: \"#9D9E9D\",\n width: 8,\n marginTop: 2,\n },\n paperOverride: {\n \"& .MuiCalendarPicker-root\": {\n padding: \"0 22px\",\n \"& > div\": {\n padding: 0,\n \"& > div > div.PrivatePickersFadeTransitionGroup-root:first-of-type\":\n {\n color: \"#0A224C\",\n fontWeight: \"bold\",\n },\n \"& > div > div.PrivatePickersFadeTransitionGroup-root:last-of-type\": {\n color: \"#9D9E9D\",\n \"& + button.MuiButtonBase-root\": {\n color: \"#9D9E9D\",\n },\n },\n \"& > div:nth-child(2)\": {\n \"& > div\": {\n width: 0,\n },\n \"& > button.MuiButtonBase-root\": {\n color: \"#0A224C\",\n },\n },\n },\n },\n \"& .MuiTypography-root.MuiTypography-caption\": {\n width: 26,\n height: 26,\n margin: 5,\n color: \"#BCBCBC\",\n fontSize: 10,\n },\n \"& button.MuiPickersDay-root\": {\n fontWeight: \"bold\",\n width: 26,\n height: 26,\n margin: 5,\n textAlign: \"center\",\n \"&.Mui-selected\": {\n backgroundColor: theme.palette.primary.main,\n color: \"#fff\",\n },\n },\n \"& div.MuiPickersDay-hiddenDaySpacingFiller\": {\n width: 26,\n height: 26,\n margin: 5,\n },\n \"& div.PrivatePickersSlideTransition-root\": {\n minHeight: 240,\n },\n \"& div.MuiCalendarPicker-viewTransitionContainer\": {\n borderTop: \"#F0F3F5 1px solid\",\n },\n \"& .MuiClockPicker-arrowSwitcher\": {\n marginRight: 10,\n marginTop: -1,\n \"& > div\": {\n width: 0,\n },\n \"& > button.MuiButtonBase-root\": {\n color: \"#0A224C\",\n },\n \"& + div > div\": {\n width: 255,\n height: 255,\n backgroundColor: \"#fff\",\n marginTop: 30,\n marginBottom: 14,\n border: \"#F0F3F5 3px solid\",\n \"& > div:nth-child(2)\": {\n backgroundColor: \"#B4B5B4\",\n width: 12,\n height: 12,\n \"&::before\": {\n content: \"' '\",\n width: 35,\n height: 35,\n display: \"block\",\n position: \"absolute\",\n border: \"#F0F3F5 3px solid\",\n top: -12,\n left: -12,\n borderRadius: \"100%\",\n },\n },\n \"& > div:nth-child(3)\": {\n backgroundColor: \"#B4B5B4\",\n width: 4,\n },\n \"& > div:last-of-type\": {\n marginTop: 15,\n \"& > span\": {\n color: \"#0A224C\",\n \"&.Mui-selected\": {\n color: \"#fff\",\n },\n \"&[aria-label='1 hours'], &[aria-label='2 hours'], &[aria-label='3 hours'], &[aria-label='4 hours'], &[aria-label='5 hours'], &[aria-label='6 hours'], &[aria-label='7 hours'], &[aria-label='8 hours'], &[aria-label='9 hours'], &[aria-label='10 hours'], &[aria-label='11 hours'], &[aria-label='12 hours']\":\n {\n fontWeight: \"bold\",\n fontSize: 20,\n marginTop: -1,\n },\n },\n },\n },\n },\n },\n ...fieldBasic,\n ...tooltipHelper,\n });\n\nconst DateTimePickerWrapper = ({\n value,\n onChange,\n classes,\n forSearchBlock = false,\n forFilterContained = false,\n label,\n tooltip = \"\",\n required,\n id,\n disabled = false,\n noInputIcon = false,\n classNamePrefix = \"\",\n openPickerIcon,\n}: IDateTimePicker) => {\n let adornment = {};\n\n if (!noInputIcon) {\n adornment = {\n startAdornment: (\n \n \n \n ),\n };\n }\n\n if (forFilterContained) {\n adornment = {\n endAdornment: (\n \n \n \n ),\n };\n }\n\n const classOverridden = `${classNamePrefix}date-time-input ${\n forSearchBlock ? classes.dateSelectorOverride : \"\"\n } ${\n forFilterContained && !forSearchBlock\n ? classes.dateSelectorFilterOverride\n : \"\"\n }`;\n\n const clsName = forSearchBlock\n ? classes.parentDateOverride\n : classes.dateSelectorFormOverride;\n\n const inputItem = (\n \n (\n \n )}\n ampm={false}\n PopperProps={{\n className: classes.paperOverride,\n }}\n />\n \n );\n\n if (forSearchBlock) {\n return inputItem;\n }\n\n const containerCls = !forFilterContained ? classes.fieldContainer : \"\";\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 {inputItem}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(DateTimePickerWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n noContentPadding?: boolean;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n noContentPadding,\n titleIcon = null,\n}: IModalProps) => {\n const dispatch = useAppDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nexport default withStyles(styles)(ModalWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport TextField from \"@mui/material/TextField\";\nimport { searchField } from \"../common/styleLibrary\";\n\ninterface IFilterInputWrapper {\n classes: any;\n value: string;\n onChange: (txtVar: string) => any;\n label: string;\n placeholder?: string;\n id: string;\n name: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n height: 30,\n padding: 0,\n \"& input\": {\n padding: \"0 12px\",\n height: 28,\n fontSize: 12,\n fontWeight: 600,\n color: \"#393939\",\n },\n \"&.isDisabled\": {\n \"&:hover\": {\n borderColor: \"#EAEDEE\",\n },\n },\n \"& input.Mui-disabled\": {\n backgroundColor: \"#EAEAEA\",\n },\n },\n labelStyle: {\n color: \"#393939\",\n fontSize: 12,\n marginBottom: 4,\n },\n buttonKit: {\n display: \"flex\",\n alignItems: \"center\",\n },\n fieldContainer: {\n flexGrow: 1,\n margin: \"0 15px\",\n },\n });\n\nconst FilterInputWrapper = ({\n classes,\n label,\n onChange,\n value,\n placeholder = \"\",\n id,\n name,\n}: IFilterInputWrapper) => {\n return (\n \n
\n
{label}
\n
\n {\n onChange(val.target.value);\n }}\n InputProps={{\n disableUnderline: true,\n }}\n className={classes.searchField}\n value={value}\n />\n
\n
\n
\n );\n};\n\nexport default withStyles(styles)(FilterInputWrapper);\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 LogSearchColumnLabels = {\n time: \"Timestamp\",\n api_name: \"API Name\",\n access_key: \"Access Key\",\n bucket: \"Bucket\",\n object: \"Object\",\n remote_host: \"Remote Host\",\n request_id: \"Request ID\",\n user_agent: \"User Agent\",\n response_status: \"Response Status\",\n response_status_code: \"Response Status Code\",\n request_content_length: \"Request Content Length\",\n response_content_length: \"Response Content Length\",\n time_to_response_ns: \"Time to Response NS\",\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 } from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport get from \"lodash/get\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport { modalBasic } from \"../../Common/FormComponents/common/styleLibrary\";\nimport { IReqInfoSearchResults } from \"./types\";\nimport { LogSearchColumnLabels } from \"./utils\";\n\ninterface ILogSearchFullModal {\n modalOpen: boolean;\n logSearchElement: IReqInfoSearchResults;\n onClose: () => void;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n objectKeyCol: {\n fontWeight: 700,\n paddingRight: \"10px\",\n textAlign: \"left\",\n },\n ...modalBasic,\n });\n\nconst LogSearchFullModal = ({\n modalOpen,\n logSearchElement,\n onClose,\n classes,\n}: ILogSearchFullModal) => {\n const jsonItems = Object.keys(logSearchElement);\n\n return (\n \n {\n onClose();\n }}\n >\n \n \n \n \n {jsonItems.map((objectKey: string, index: number) => (\n \n \n \n \n ))}\n \n
\n {get(LogSearchColumnLabels, objectKey, `${objectKey}`)}\n {get(logSearchElement, objectKey, \"\")}
\n
\n \n \n \n
\n \n
\n );\n};\n\nexport default withStyles(styles)(LogSearchFullModal);\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 { Grid } from \"@mui/material\";\nimport HelpBox from \"../../../../common/HelpBox\";\n\ninterface IMissingIntegration {\n iconComponent: any;\n entity: string;\n documentationLink: string;\n}\n\nconst MissingIntegration = ({\n iconComponent,\n entity,\n documentationLink,\n}: IMissingIntegration) => {\n return (\n \n \n \n This feature is not available.\n
\n Please configure{\" \"}\n \n {entity}\n {\" \"}\n first to use this feature.\n \n }\n />\n
\n \n );\n};\n\nexport default MissingIntegration;\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 { useSelector } from \"react-redux\";\nimport { Button } from \"mds\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Grid } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n advancedFilterToggleStyles,\n containerForHeader,\n logsCommon,\n tableStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { IReqInfoSearchResults, ISearchResponse } from \"./types\";\nimport { niceBytes, nsToSeconds } from \"../../../../common/utils\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport FilterInputWrapper from \"../../Common/FormComponents/FilterInputWrapper/FilterInputWrapper\";\nimport LogSearchFullModal from \"./LogSearchFullModal\";\nimport { LogSearchColumnLabels } from \"./utils\";\nimport DateRangeSelector from \"../../Common/FormComponents/DateRangeSelector/DateRangeSelector\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport ArrowForwardIosIcon from \"@mui/icons-material/ArrowForwardIos\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_SCOPES,\n} from \"../../../../common/SecureComponent/permissions\";\nimport { SecureComponent } from \"../../../../common/SecureComponent\";\nimport { SearchIcon } from \"../../../../icons\";\nimport MissingIntegration from \"../../Common/MissingIntegration/MissingIntegration\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { selFeatures } from \"../../consoleSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface ILogSearchProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n blockCollapsed: {\n display: \"none\",\n overflowY: \"hidden\",\n },\n filterOpen: {\n display: \"block\",\n marginBottom: 12,\n },\n endLineAction: {\n marginBottom: 15,\n padding: \"0 15px 0 15px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n filtersContainer: {\n display: \"flex\",\n justifyContent: \"space-between\",\n marginBottom: 12,\n },\n innerContainer: {\n backgroundColor: \"#fff\",\n },\n noticeLabel: {\n marginLeft: 15,\n marginBottom: 15,\n fontSize: 12,\n color: \"#9C9C9C\",\n },\n\n tableFOpen: {\n height: \"calc(100vh - 520px)\",\n },\n tableFClosed: {\n height: \"calc(100vh - 320px)\",\n },\n ...tableStyles,\n ...advancedFilterToggleStyles,\n\n searchOptions: {\n display: \"flex\",\n padding: 15,\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n formBox: {\n border: \"1px solid #EAEAEA\",\n marginBottom: 15,\n },\n dateRangePicker: {\n \"& div\": {\n marginBottom: 0,\n },\n },\n advancedButton: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n },\n ...logsCommon,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst LogsSearchMain = ({ classes }: ILogSearchProps) => {\n const dispatch = useAppDispatch();\n const features = useSelector(selFeatures);\n\n const [loading, setLoading] = useState(true);\n const [timeStart, setTimeStart] = useState(null);\n const [timeEnd, setTimeEnd] = useState(null);\n const [filterOpen, setFilterOpen] = useState(false);\n const [records, setRecords] = useState([]);\n const [bucket, setBucket] = useState(\"\");\n const [apiName, setApiName] = useState(\"\");\n const [accessKey, setAccessKey] = useState(\"\");\n const [userAgent, setUserAgent] = useState(\"\");\n const [object, setObject] = useState(\"\");\n const [requestID, setRequestID] = useState(\"\");\n const [responseStatus, setResponseStatus] = useState(\"\");\n const [sortOrder, setSortOrder] = useState<\"ASC\" | \"DESC\" | undefined>(\n \"DESC\"\n );\n const [columnsShown, setColumnsShown] = useState([\n \"time\",\n \"api_name\",\n \"access_key\",\n \"bucket\",\n \"object\",\n \"remote_host\",\n \"request_id\",\n \"user_agent\",\n \"response_status\",\n ]);\n const [nextPage, setNextPage] = useState(0);\n const [alreadyFetching, setAlreadyFetching] = useState(false);\n const [logSearchExtrasOpen, setLogSearchExtrasOpen] =\n useState(false);\n const [selectedItem, setSelectedItem] =\n useState(null);\n\n let recordsResp: any = null;\n const logSearchEnabled = features && features.includes(\"log-search\");\n\n const fetchRecords = useCallback(() => {\n if (!alreadyFetching && logSearchEnabled) {\n setAlreadyFetching(true);\n let queryParams = `${bucket !== \"\" ? `&fp=bucket:${bucket}` : \"\"}${\n object !== \"\" ? `&fp=object:${object}` : \"\"\n }${apiName !== \"\" ? `&fp=api_name:${apiName}` : \"\"}${\n accessKey !== \"\" ? `&fp=access_key:${accessKey}` : \"\"\n }${requestID !== \"\" ? `&fp=request_id:${requestID}` : \"\"}${\n userAgent !== \"\" ? `&fp=user_agent:${userAgent}` : \"\"\n }${responseStatus !== \"\" ? `&fp=response_status:${responseStatus}` : \"\"}`;\n\n queryParams = queryParams.trim();\n\n if (queryParams.endsWith(\",\")) {\n queryParams = queryParams.slice(0, -1);\n }\n\n api\n .invoke(\n \"GET\",\n `/api/v1/logs/search?q=reqinfo${\n queryParams !== \"\" ? `${queryParams}` : \"\"\n }&pageSize=100&pageNo=${nextPage}&order=${\n sortOrder === \"DESC\" ? \"timeDesc\" : \"timeAsc\"\n }${\n timeStart !== null ? `&timeStart=${timeStart.toISOString()}` : \"\"\n }${timeEnd !== null ? `&timeEnd=${timeEnd.toISOString()}` : \"\"}`\n )\n .then((res: ISearchResponse) => {\n const fetchedResults = res.results || [];\n\n setLoading(false);\n setAlreadyFetching(false);\n setRecords(fetchedResults);\n setNextPage(nextPage + 1);\n\n if (recordsResp !== null) {\n recordsResp();\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setAlreadyFetching(false);\n dispatch(setErrorSnackMessage(err));\n });\n } else {\n setLoading(false);\n setAlreadyFetching(false);\n }\n }, [\n alreadyFetching,\n logSearchEnabled,\n bucket,\n object,\n apiName,\n accessKey,\n requestID,\n userAgent,\n responseStatus,\n nextPage,\n sortOrder,\n timeStart,\n timeEnd,\n recordsResp,\n dispatch,\n ]);\n\n useEffect(() => {\n if (loading) {\n setRecords([]);\n fetchRecords();\n }\n }, [loading, sortOrder, fetchRecords]);\n\n const triggerLoad = () => {\n setNextPage(0);\n setLoading(true);\n };\n\n const selectColumn = (colName: string, active: boolean) => {\n let newArray = [...columnsShown];\n\n if (!active) {\n newArray = columnsShown.filter((element) => element !== colName);\n } else {\n if (!newArray.includes(colName)) {\n newArray.push(colName);\n }\n }\n setColumnsShown(newArray);\n };\n\n const sortChange = (sortData: any) => {\n const newSortDirection = get(sortData, \"sortDirection\", \"DESC\");\n setSortOrder(newSortDirection);\n setNextPage(0);\n setLoading(true);\n };\n\n const loadMoreRecords = (_: { startIndex: number; stopIndex: number }) => {\n fetchRecords();\n return new Promise((resolve) => {\n recordsResp = resolve;\n });\n };\n\n const openExtraInformation = (item: IReqInfoSearchResults) => {\n setSelectedItem(item);\n setLogSearchExtrasOpen(true);\n };\n\n const closeViewExtraInformation = () => {\n setSelectedItem(null);\n setLogSearchExtrasOpen(false);\n };\n\n return (\n \n {logSearchExtrasOpen && selectedItem !== null && (\n \n )}\n\n \n \n {!logSearchEnabled ? (\n }\n documentationLink=\"https://github.com/minio/operator/tree/master/logsearchapi\"\n />\n ) : (\n \n {\" \"}\n \n \n
\n \n
\n\n \n {\n setFilterOpen(!filterOpen);\n }}\n className={classes.advancedConfiguration}\n >\n {filterOpen ? \"Hide\" : \"Show\"} advanced Filters{\" \"}\n \n \n \n \n \n
\n \n
\n
\n Enable your preferred options to get filtered records.\n
\n You can use '*' to match any character, '.' to signify a\n single character or '\\' to scape an special character (E.g.\n mybucket-*)\n
\n
\n \n \n \n \n
\n
\n \n \n \n
\n
\n
\n \n \n \n \n \n \n (\n \n \n {element.response_status_code} (\n {element.response_status})\n \n \n ),\n renderFullObject: true,\n },\n {\n label: LogSearchColumnLabels.request_content_length,\n elementKey: \"request_content_length\",\n renderFunction: niceBytes,\n },\n {\n label: LogSearchColumnLabels.response_content_length,\n elementKey: \"response_content_length\",\n renderFunction: niceBytes,\n },\n {\n label: LogSearchColumnLabels.time_to_response_ns,\n elementKey: \"time_to_response_ns\",\n renderFunction: nsToSeconds,\n contentTextAlign: \"right\",\n },\n ]}\n isLoading={loading}\n records={records}\n entityName=\"Logs\"\n customEmptyMessage={\n \"There is no information with this criteria\"\n }\n idField=\"request_id\"\n columnsSelector\n columnsShown={columnsShown}\n onColumnChange={selectColumn}\n customPaperHeight={\n filterOpen ? classes.tableFOpen : classes.tableFClosed\n }\n sortConfig={{\n currentSort: \"time\",\n currentDirection: sortOrder,\n triggerSort: sortChange,\n }}\n infiniteScrollConfig={{\n recordsCount: 1000000,\n loadMoreRecords: loadMoreRecords,\n }}\n itemActions={[\n {\n type: \"view\",\n onClick: openExtraInformation,\n },\n ]}\n textSelectable\n />\n \n \n
\n )}\n
\n
\n );\n};\n\nexport default withStyles(styles)(LogsSearchMain);\n"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","DateFilterAdornIcon","sx","actionsTray","widgetContainerCommon","schedulerIcon","opacity","selectorLabel","color","whiteSpace","marginLeft","timeStart","setTimeStart","timeEnd","setTimeEnd","triggerSync","label","startLabel","endLabel","WebkitTextFillColor","md","gridTemplateColumns","sm","padding","gap","fill","value","onChange","id","classNamePrefix","forFilterContained","noInputIcon","openPickerIcon","justifyContent","type","variant","onClick","icon","dateSelectorOverride","borderBottom","borderColor","dateSelectorFilterOverride","dateSelectorFormOverride","maxWidth","parentDateOverride","flexGrow","textBoxContainer","openListIcon","marginTop","paperOverride","margin","textAlign","palette","primary","main","minHeight","borderTop","content","position","top","left","fieldBasic","tooltipHelper","forSearchBlock","tooltip","required","disabled","adornment","startAdornment","endAdornment","classOverridden","clsName","inputItem","dateAdapter","AdapterLuxon","InputProps","components","OpenPickerIcon","renderInput","props","ampm","PopperProps","containerCls","fieldContainer","Fragment","htmlFor","inputLabel","tooltipContainer","placement","deleteDialogStyles","customDialogSize","snackBarCommon","onClose","modalOpen","children","wideLimit","noContentPadding","titleIcon","dispatch","useAppDispatch","useState","openSnackbar","setOpenSnackbar","modalSnackMessage","useSelector","state","system","modalSnackBar","useEffect","setModalSnackMessage","message","customSize","paper","fullWidth","detailedErrorMsg","length","open","scroll","event","reason","titleText","closeContainer","closeButton","disableRipple","size","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","searchField","labelStyle","buttonKit","placeholder","name","TextField","val","target","disableUnderline","LogSearchColumnLabels","time","api_name","access_key","bucket","object","remote_host","request_id","user_agent","response_status","response_status_code","request_content_length","response_content_length","time_to_response_ns","buttonContainer","objectKeyCol","modalBasic","logSearchElement","jsonItems","Object","keys","ModalWrapper","Grid","map","objectKey","index","get","toString","entity","documentationLink","alignContent","HelpBox","href","rel","blockCollapsed","overflowY","filterOpen","endLineAction","filtersContainer","innerContainer","noticeLabel","tableFOpen","tableFClosed","tableStyles","advancedFilterToggleStyles","searchOptions","flexFlow","formBox","dateRangePicker","advancedButton","logsCommon","containerForHeader","spacing","features","selFeatures","loading","setLoading","setFilterOpen","records","setRecords","setBucket","apiName","setApiName","accessKey","setAccessKey","userAgent","setUserAgent","setObject","requestID","setRequestID","responseStatus","setResponseStatus","sortOrder","setSortOrder","columnsShown","setColumnsShown","nextPage","setNextPage","alreadyFetching","setAlreadyFetching","logSearchExtrasOpen","setLogSearchExtrasOpen","selectedItem","setSelectedItem","recordsResp","logSearchEnabled","includes","fetchRecords","useCallback","queryParams","trim","endsWith","slice","api","toISOString","then","res","fetchedResults","results","catch","err","setErrorSnackMessage","PageHeader","PageLayout","DateRangeSelector","advancedConfiguration","advancedOpen","advancedClosed","ArrowForwardIos","tableBlock","SecureComponent","scopes","IAM_SCOPES","resource","CONSOLE_UI_RESOURCE","errorProps","TableWrapper","columns","elementKey","enableSort","renderFunction","element","renderFullObject","niceBytes","nsToSeconds","contentTextAlign","isLoading","entityName","customEmptyMessage","idField","columnsSelector","onColumnChange","colName","active","newArray","push","filter","customPaperHeight","sortConfig","currentSort","currentDirection","triggerSort","sortData","newSortDirection","infiniteScrollConfig","recordsCount","loadMoreRecords","_","Promise","resolve","itemActions","textSelectable"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3543.b27540db.chunk.js b/portal-ui/build/static/js/3543.b27540db.chunk.js new file mode 100644 index 000000000..3464b25ca --- /dev/null +++ b/portal-ui/build/static/js/3543.b27540db.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3543],{23804:function(e,t,n){n(72791);var i=n(11135),o=n(25787),a=n(61889),r=n(80184);t.Z=(0,o.Z)((function(e){return(0,i.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var t=e.classes,n=e.iconComponent,i=e.title,o=e.help;return(0,r.jsx)("div",{className:t.root,children:(0,r.jsxs)(a.ZP,{container:!0,children:[(0,r.jsxs)(a.ZP,{item:!0,xs:12,className:t.leftItems,children:[n,i]}),(0,r.jsx)(a.ZP,{item:!0,xs:12,className:t.helpText,children:o})]})})}))},63856:function(e,t,n){var i=n(1413),o=(n(72791),n(75952)),a=n(64554),r=n(61889),s=n(11135),l=n(25787),c=n(27197),d=n(32686),u=n(23814),p=n(80705),m=n(80184),h=function(){return(0,m.jsx)(a.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{width:"10px",height:"10px"}},children:(0,m.jsx)(o.Q2V,{})})};t.Z=(0,l.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},u.OR),u.bN),{},{schedulerIcon:{opacity:.4,fontSize:10,"& svg":{width:18,height:18}},selectorLabel:{color:"#9D9E9D",fontWeight:"bold",whiteSpace:"nowrap",marginLeft:10,fontSize:12}}))}))((function(e){e.classes;var t=e.timeStart,n=e.setTimeStart,i=e.timeEnd,s=e.setTimeEnd,l=e.triggerSync,u=e.label,x=void 0===u?"Filter:":u,g=e.startLabel,f=void 0===g?"Start Time:":g,b=e.endLabel,j=void 0===b?"End Time:":b;return(0,m.jsx)(r.ZP,{item:!0,xs:12,sx:{"& .filter-date-input-label, .end-time-input-label":{display:"none"},"& .MuiInputBase-adornedEnd.filter-date-date-time-input":{width:"100%",border:"1px solid #eaeaea",paddingLeft:"8px",paddingRight:"8px",borderRadius:"1px"},"& .MuiInputAdornment-root button":{height:"20px",width:"20px",marginRight:"5px"},"& .filter-date-input-wrapper":{height:"30px",width:"100%","& .MuiTextField-root":{height:"30px",width:"90%","& input.Mui-disabled":{color:"#000000",WebkitTextFillColor:"#101010"}}}},children:(0,m.jsxs)(a.Z,{sx:{display:"grid",height:{md:"40px",xs:"auto"},alignItems:"center",gridTemplateColumns:{md:"auto 2fr auto",sm:"1fr"},padding:{md:"0",xs:" 5px"},gap:"5px"},children:[(0,m.jsx)(a.Z,{sx:{fontSize:"14px",fontWeight:500,marginRight:"5px"},children:x}),(0,m.jsxs)(a.Z,{sx:{display:"grid",height:{md:"40px",xs:"auto"},border:{md:"1px solid #eaeaea"},alignItems:"center",gridTemplateColumns:{md:"1fr 1fr",sm:"1fr"},gap:"8px",paddingLeft:"8px",paddingRight:"8px"},children:[(0,m.jsxs)(a.Z,{sx:{display:"grid",height:"30px",alignItems:"center",gridTemplateColumns:{xs:"12px auto 1fr"},gap:"5px"},children:[(0,m.jsx)(a.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{width:"10px",height:"10px",fill:"#B4B5B4"}},children:(0,m.jsx)(c.Z,{className:"min-icon"})}),(0,m.jsx)(a.Z,{sx:{fontSize:"12px",marginLeft:"8px"},children:f}),(0,m.jsx)(a.Z,{children:(0,m.jsx)(p.Z,{value:t,onChange:n,id:"stTime",classNamePrefix:"filter-date-",forFilterContained:!0,noInputIcon:!0,openPickerIcon:h})})]}),(0,m.jsxs)(a.Z,{sx:{display:"grid",height:"30px",alignItems:"center",gridTemplateColumns:{xs:"12px auto 1fr"},gap:"5px"},children:[(0,m.jsx)(a.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{width:"10px",height:"10px",fill:"#B4B5B4"}},children:(0,m.jsx)(d.Z,{className:"min-icon"})}),(0,m.jsx)(a.Z,{sx:{fontSize:"12px",marginLeft:"8px"},children:j}),(0,m.jsx)(a.Z,{children:(0,m.jsx)(p.Z,{value:i,onChange:s,id:"endTime",classNamePrefix:"filter-date-",forFilterContained:!0,noInputIcon:!0,openPickerIcon:h})})]})]}),l&&(0,m.jsx)(a.Z,{sx:{alignItems:"flex-end",display:"flex",justifyContent:"flex-end"},children:(0,m.jsx)(o.zxk,{id:"sync",type:"button",variant:"callAction",onClick:l,icon:(0,m.jsx)(o.bnu,{}),label:"Sync"})})]})})}))},80705:function(e,t,n){var i=n(1413),o=n(72791),a=n(27391),r=n(61889),s=n(30829),l=n(20068),c=n(36571),d=n(36612),u=n(60447),p=n(63466),m=n(27197),h=n(11135),x=n(25787),g=n(75952),f=n(23814),b=n(80184);t.Z=(0,x.Z)((function(e){return(0,h.Z)((0,i.Z)((0,i.Z)({dateSelectorOverride:{height:40,border:"#EAEDEE 1px solid",marginLeft:15,backgroundColor:"#fff",padding:"0 16px",borderRadius:5,"&.MuiInput-underline:hover:not(.Mui-disabled):before":{borderBottom:0},"&:hover":{borderColor:"#000","&:before, &:after":{borderColor:"transparent",borderBottom:0}},"&:before, &:after":{borderColor:"transparent",borderBottom:0},"& input":{fontSize:12,fontWeight:600,color:"#393939"}},dateSelectorFilterOverride:{width:180,height:42,marginLeft:20,padding:0,borderRadius:5,"&.MuiInput-underline:hover:not(.Mui-disabled):before":{borderBottom:0},"&:hover":{"&:before, &:after":{borderColor:"transparent",borderBottom:0}},"&:before, &:after":{borderColor:"transparent",borderBottom:0},"& input":{fontSize:12,fontWeight:"bold",color:"#081C42"},"@media (max-width: 900px)":{width:103}},dateSelectorFormOverride:{width:"100%",maxWidth:840},parentDateOverride:{flexGrow:1},textBoxContainer:{flexGrow:1},openListIcon:{color:"#9D9E9D",width:8,marginTop:2},paperOverride:{"& .MuiCalendarPicker-root":{padding:"0 22px","& > div":{padding:0,"& > div > div.PrivatePickersFadeTransitionGroup-root:first-of-type":{color:"#0A224C",fontWeight:"bold"},"& > div > div.PrivatePickersFadeTransitionGroup-root:last-of-type":{color:"#9D9E9D","& + button.MuiButtonBase-root":{color:"#9D9E9D"}},"& > div:nth-child(2)":{"& > div":{width:0},"& > button.MuiButtonBase-root":{color:"#0A224C"}}}},"& .MuiTypography-root.MuiTypography-caption":{width:26,height:26,margin:5,color:"#BCBCBC",fontSize:10},"& button.MuiPickersDay-root":{fontWeight:"bold",width:26,height:26,margin:5,textAlign:"center","&.Mui-selected":{backgroundColor:e.palette.primary.main,color:"#fff"}},"& div.MuiPickersDay-hiddenDaySpacingFiller":{width:26,height:26,margin:5},"& div.PrivatePickersSlideTransition-root":{minHeight:240},"& div.MuiCalendarPicker-viewTransitionContainer":{borderTop:"#F0F3F5 1px solid"},"& .MuiClockPicker-arrowSwitcher":{marginRight:10,marginTop:-1,"& > div":{width:0},"& > button.MuiButtonBase-root":{color:"#0A224C"},"& + div > div":{width:255,height:255,backgroundColor:"#fff",marginTop:30,marginBottom:14,border:"#F0F3F5 3px solid","& > div:nth-child(2)":{backgroundColor:"#B4B5B4",width:12,height:12,"&::before":{content:"' '",width:35,height:35,display:"block",position:"absolute",border:"#F0F3F5 3px solid",top:-12,left:-12,borderRadius:"100%"}},"& > div:nth-child(3)":{backgroundColor:"#B4B5B4",width:4},"& > div:last-of-type":{marginTop:15,"& > span":{color:"#0A224C","&.Mui-selected":{color:"#fff"},"&[aria-label='1 hours'], &[aria-label='2 hours'], &[aria-label='3 hours'], &[aria-label='4 hours'], &[aria-label='5 hours'], &[aria-label='6 hours'], &[aria-label='7 hours'], &[aria-label='8 hours'], &[aria-label='9 hours'], &[aria-label='10 hours'], &[aria-label='11 hours'], &[aria-label='12 hours']":{fontWeight:"bold",fontSize:20,marginTop:-1}}}}}}},f.YI),f.Hr))}))((function(e){var t=e.value,n=e.onChange,h=e.classes,x=e.forSearchBlock,f=void 0!==x&&x,j=e.forFilterContained,v=void 0!==j&&j,Z=e.label,C=e.tooltip,S=void 0===C?"":C,y=e.required,k=e.id,_=e.disabled,B=void 0!==_&&_,N=e.noInputIcon,F=void 0!==N&&N,I=e.classNamePrefix,P=void 0===I?"":I,w=e.openPickerIcon,E={};F||(E={startAdornment:(0,b.jsx)(p.Z,{position:"start",children:(0,b.jsx)(m.Z,{})})}),v&&(E={endAdornment:(0,b.jsx)(p.Z,{position:"end",children:(0,b.jsx)(g.Q2V,{className:h.openListIcon})})});var A="".concat(P,"date-time-input ").concat(f?h.dateSelectorOverride:""," ").concat(v&&!f?h.dateSelectorFilterOverride:""),T=f?h.parentDateOverride:h.dateSelectorFormOverride,L=(0,b.jsx)(c._,{dateAdapter:d.Z,children:(0,b.jsx)(u.x,{value:t,onChange:n,InputProps:(0,i.Z)((0,i.Z)({},E),{},{className:A}),components:{OpenPickerIcon:w},label:"",className:T,disabled:B,renderInput:function(e){return(0,b.jsx)(a.Z,(0,i.Z)((0,i.Z)({id:k,variant:"standard"},e),{},{disabled:!0}))},ampm:!1,PopperProps:{className:h.paperOverride}})});if(f)return L;var M=v?"":h.fieldContainer;return(0,b.jsx)(o.Fragment,{children:(0,b.jsxs)(r.ZP,{item:!0,xs:12,className:"".concat(M," ").concat(P,"input-field-container "),children:[""!==Z&&(0,b.jsxs)(s.Z,{htmlFor:k,className:"".concat(h.inputLabel," ").concat(P,"input-label"),children:[(0,b.jsxs)("span",{children:[Z,y?"*":""]}),""!==S&&(0,b.jsx)("div",{className:h.tooltipContainer,children:(0,b.jsx)(l.Z,{title:S,placement:"top-start",children:(0,b.jsx)("div",{className:h.tooltip,children:(0,b.jsx)(g.byK,{})})})})]}),(0,b.jsx)("div",{className:"".concat(h.textBoxContainer," ").concat(P,"input-wrapper "),children:L})]})})}))},56028:function(e,t,n){var i=n(29439),o=n(1413),a=n(72791),r=n(78687),s=n(13400),l=n(55646),c=n(5574),d=n(65661),u=n(39157),p=n(11135),m=n(25787),h=n(23814),x=n(25469),g=n(29823),f=n(28057),b=n(87995),j=n(80184);t.Z=(0,m.Z)((function(e){return(0,p.Z)((0,o.Z)((0,o.Z)({},h.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},h.sN))}))((function(e){var t=e.onClose,n=e.modalOpen,p=e.title,m=e.children,h=e.classes,v=e.wideLimit,Z=void 0===v||v,C=e.noContentPadding,S=e.titleIcon,y=void 0===S?null:S,k=(0,x.TL)(),_=(0,a.useState)(!1),B=(0,i.Z)(_,2),N=B[0],F=B[1],I=(0,r.v9)((function(e){return e.system.modalSnackBar}));(0,a.useEffect)((function(){k((0,b.MK)(""))}),[k]),(0,a.useEffect)((function(){if(I){if(""===I.message)return void F(!1);"error"!==I.type&&F(!0)}}),[I]);var P=Z?{classes:{paper:h.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},w="";return I&&(w=I.detailedErrorMsg,(""===I.detailedErrorMsg||I.detailedErrorMsg.length<5)&&(w=I.message)),(0,j.jsxs)(c.Z,(0,o.Z)((0,o.Z)({open:n,classes:h},P),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:h.root,children:[(0,j.jsxs)(d.Z,{className:h.title,children:[(0,j.jsxs)("div",{className:h.titleText,children:[y," ",p]}),(0,j.jsx)("div",{className:h.closeContainer,children:(0,j.jsx)(s.Z,{"aria-label":"close",id:"close",className:h.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,j.jsx)(g.Z,{})})})]}),(0,j.jsx)(f.Z,{isModal:!0}),(0,j.jsx)(l.Z,{open:N,className:h.snackBarModal,onClose:function(){F(!1),k((0,b.MK)(""))},message:w,ContentProps:{className:"".concat(h.snackBar," ").concat(I&&"error"===I.type?h.errorSnackBar:"")},autoHideDuration:I&&"error"===I.type?1e4:5e3}),(0,j.jsx)(u.Z,{className:C?"":h.content,children:m})]}))}))},33543:function(e,t,n){n.r(t),n.d(t,{default:function(){return T}});var i=n(93433),o=n(29439),a=n(1413),r=n(72791),s=n(78687),l=n(75952),c=n(61889),d=n(26181),u=n.n(d),p=n(11135),m=n(25787),h=n(23814),x=n(45248),g=n(81207),f=n(92983),b=n(27391),j=n(80184),v=(0,m.Z)((function(e){return(0,p.Z)({searchField:(0,a.Z)((0,a.Z)({},h.qg.searchField),{},{height:30,padding:0,"& input":{padding:"0 12px",height:28,fontSize:12,fontWeight:600,color:"#393939"},"&.isDisabled":{"&:hover":{borderColor:"#EAEDEE"}},"& input.Mui-disabled":{backgroundColor:"#EAEAEA"}}),labelStyle:{color:"#393939",fontSize:12,marginBottom:4},buttonKit:{display:"flex",alignItems:"center"},fieldContainer:{flexGrow:1,margin:"0 15px"}})}))((function(e){var t=e.classes,n=e.label,i=e.onChange,o=e.value,a=e.placeholder,s=void 0===a?"":a,l=e.id,c=e.name;return(0,j.jsx)(r.Fragment,{children:(0,j.jsxs)("div",{className:t.fieldContainer,children:[(0,j.jsx)("div",{className:t.labelStyle,children:n}),(0,j.jsx)("div",{className:t.buttonKit,children:(0,j.jsx)(b.Z,{placeholder:s,id:l,name:c,label:"",onChange:function(e){i(e.target.value)},InputProps:{disableUnderline:!0},className:t.searchField,value:o})})]})})})),Z=n(56028),C={time:"Timestamp",api_name:"API Name",access_key:"Access Key",bucket:"Bucket",object:"Object",remote_host:"Remote Host",request_id:"Request ID",user_agent:"User Agent",response_status:"Response Status",response_status_code:"Response Status Code",request_content_length:"Request Content Length",response_content_length:"Response Content Length",time_to_response_ns:"Time to Response NS"},S=(0,m.Z)((function(e){return(0,p.Z)((0,a.Z)({buttonContainer:{textAlign:"right"},objectKeyCol:{fontWeight:700,paddingRight:"10px",textAlign:"left"}},h.oO))}))((function(e){var t=e.modalOpen,n=e.logSearchElement,i=e.onClose,o=e.classes,a=Object.keys(n);return(0,j.jsx)(r.Fragment,{children:(0,j.jsx)(Z.Z,{modalOpen:t,title:"Full Log Information",onClose:function(){i()},children:(0,j.jsxs)(c.ZP,{container:!0,children:[(0,j.jsx)(c.ZP,{item:!0,xs:12,children:(0,j.jsx)("table",{children:(0,j.jsx)("tbody",{children:a.map((function(e,t){return(0,j.jsxs)("tr",{children:[(0,j.jsx)("th",{className:o.objectKeyCol,children:u()(C,e,"".concat(e))}),(0,j.jsx)("td",{children:u()(n,e,"")})]},"logSearch-".concat(t.toString()))}))})})}),(0,j.jsx)(c.ZP,{item:!0,xs:12,className:o.buttonContainer,children:(0,j.jsx)(l.zxk,{id:"close-log-search",variant:"callAction",color:"primary",onClick:i,label:"Close"})})]})})})})),y=n(63856),k=n(32291),_=n(74794),B=n(93385),N=n(56087),F=n(38442),I=n(23804),P=function(e){var t=e.iconComponent,n=e.entity,i=e.documentationLink;return(0,j.jsx)(c.ZP,{container:!0,justifyContent:"center",alignContent:"center",alignItems:"center",children:(0,j.jsx)(c.ZP,{item:!0,xs:8,children:(0,j.jsx)(I.Z,{title:"".concat(n," not available"),iconComponent:t,help:(0,j.jsxs)(r.Fragment,{children:["This feature is not available.",(0,j.jsx)("br",{}),"Please configure"," ",(0,j.jsx)("a",{href:i,target:"_blank",rel:"noreferrer",children:n})," ","first to use this feature."]})})})})},w=n(87995),E=n(46078),A=n(25469),T=(0,m.Z)((function(e){return(0,p.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({blockCollapsed:{display:"none",overflowY:"hidden"},filterOpen:{display:"block",marginBottom:12},endLineAction:{marginBottom:15,padding:"0 15px 0 15px",display:"flex",alignItems:"center",justifyContent:"flex-end"},filtersContainer:{display:"flex",justifyContent:"space-between",marginBottom:12},innerContainer:{backgroundColor:"#fff"},noticeLabel:{marginLeft:15,marginBottom:15,fontSize:12,color:"#9C9C9C"},tableFOpen:{height:"calc(100vh - 520px)"},tableFClosed:{height:"calc(100vh - 320px)"}},h.VX),h.S),{},{searchOptions:{display:"flex",padding:15,"@media (max-width: 900px)":{flexFlow:"column"}},formBox:{border:"1px solid #EAEAEA",marginBottom:15},dateRangePicker:{"& div":{marginBottom:0}},advancedButton:{display:"flex",alignItems:"center",justifyContent:"flex-start"}},h.o$),(0,h.Bz)(e.spacing(4))))}))((function(e){var t=e.classes,n=(0,A.TL)(),a=(0,s.v9)(E.$4),d=(0,r.useState)(!0),p=(0,o.Z)(d,2),m=p[0],h=p[1],b=(0,r.useState)(null),Z=(0,o.Z)(b,2),I=Z[0],T=Z[1],L=(0,r.useState)(null),M=(0,o.Z)(L,2),O=M[0],D=M[1],R=(0,r.useState)(!1),z=(0,o.Z)(R,2),K=z[0],q=z[1],W=(0,r.useState)([]),H=(0,o.Z)(W,2),G=H[0],Y=H[1],Q=(0,r.useState)(""),U=(0,o.Z)(Q,2),V=U[0],$=U[1],X=(0,r.useState)(""),J=(0,o.Z)(X,2),ee=J[0],te=J[1],ne=(0,r.useState)(""),ie=(0,o.Z)(ne,2),oe=ie[0],ae=ie[1],re=(0,r.useState)(""),se=(0,o.Z)(re,2),le=se[0],ce=se[1],de=(0,r.useState)(""),ue=(0,o.Z)(de,2),pe=ue[0],me=ue[1],he=(0,r.useState)(""),xe=(0,o.Z)(he,2),ge=xe[0],fe=xe[1],be=(0,r.useState)(""),je=(0,o.Z)(be,2),ve=je[0],Ze=je[1],Ce=(0,r.useState)("DESC"),Se=(0,o.Z)(Ce,2),ye=Se[0],ke=Se[1],_e=(0,r.useState)(["time","api_name","access_key","bucket","object","remote_host","request_id","user_agent","response_status"]),Be=(0,o.Z)(_e,2),Ne=Be[0],Fe=Be[1],Ie=(0,r.useState)(0),Pe=(0,o.Z)(Ie,2),we=Pe[0],Ee=Pe[1],Ae=(0,r.useState)(!1),Te=(0,o.Z)(Ae,2),Le=Te[0],Me=Te[1],Oe=(0,r.useState)(!1),De=(0,o.Z)(Oe,2),Re=De[0],ze=De[1],Ke=(0,r.useState)(null),qe=(0,o.Z)(Ke,2),We=qe[0],He=qe[1],Ge=null,Ye=a&&a.includes("log-search"),Qe=(0,r.useCallback)((function(){if(!Le&&Ye){Me(!0);var e="".concat(""!==V?"&fp=bucket:".concat(V):"").concat(""!==pe?"&fp=object:".concat(pe):"").concat(""!==ee?"&fp=api_name:".concat(ee):"").concat(""!==oe?"&fp=access_key:".concat(oe):"").concat(""!==ge?"&fp=request_id:".concat(ge):"").concat(""!==le?"&fp=user_agent:".concat(le):"").concat(""!==ve?"&fp=response_status:".concat(ve):"");(e=e.trim()).endsWith(",")&&(e=e.slice(0,-1)),g.Z.invoke("GET","/api/v1/logs/search?q=reqinfo".concat(""!==e?"".concat(e):"","&pageSize=100&pageNo=").concat(we,"&order=").concat("DESC"===ye?"timeDesc":"timeAsc").concat(null!==I?"&timeStart=".concat(I.toISOString()):"").concat(null!==O?"&timeEnd=".concat(O.toISOString()):"")).then((function(e){var t=e.results||[];h(!1),Me(!1),Y(t),Ee(we+1),null!==Ge&&Ge()})).catch((function(e){h(!1),Me(!1),n((0,w.Ih)(e))}))}else h(!1),Me(!1)}),[Le,Ye,V,pe,ee,oe,ge,le,ve,we,ye,I,O,Ge,n]);(0,r.useEffect)((function(){m&&(Y([]),Qe())}),[m,ye,Qe]);return(0,j.jsxs)(r.Fragment,{children:[Re&&null!==We&&(0,j.jsx)(S,{logSearchElement:We,modalOpen:Re,onClose:function(){He(null),ze(!1)}}),(0,j.jsx)(k.Z,{label:"Audit Logs"}),(0,j.jsx)(_.Z,{children:Ye?(0,j.jsxs)(r.Fragment,{children:[" ",(0,j.jsxs)(c.ZP,{xs:12,className:t.formBox,children:[(0,j.jsxs)(c.ZP,{item:!0,xs:12,className:"".concat(t.searchOptions),children:[(0,j.jsx)("div",{className:t.dateRangePicker,children:(0,j.jsx)(y.Z,{setTimeEnd:D,setTimeStart:T,timeEnd:O,timeStart:I})}),(0,j.jsx)(c.ZP,{item:!0,className:t.advancedButton,children:(0,j.jsxs)("button",{onClick:function(){q(!K)},className:t.advancedConfiguration,children:[K?"Hide":"Show"," advanced Filters"," ",(0,j.jsx)("span",{className:K?t.advancedOpen:t.advancedClosed,children:(0,j.jsx)(B.Z,{})})]})})]}),(0,j.jsx)(c.ZP,{item:!0,xs:12,className:"".concat(t.blockCollapsed," ").concat(K?t.filterOpen:""),children:(0,j.jsxs)("div",{className:t.innerContainer,children:[(0,j.jsxs)("div",{className:t.noticeLabel,children:["Enable your preferred options to get filtered records.",(0,j.jsx)("br",{}),"You can use '*' to match any character, '.' to signify a single character or '\\' to scape an special character (E.g. mybucket-*)"]}),(0,j.jsxs)("div",{className:t.filtersContainer,children:[(0,j.jsx)(v,{onChange:$,value:V,label:"Bucket",id:"bucket",name:"bucket"}),(0,j.jsx)(v,{onChange:te,value:ee,label:"API Name",id:"api_name",name:"api_name"}),(0,j.jsx)(v,{onChange:ae,value:oe,label:"Access Key",id:"access_key",name:"access_key"}),(0,j.jsx)(v,{onChange:ce,value:le,label:"User Agent",id:"user_agent",name:"user_agent"})]}),(0,j.jsxs)("div",{className:t.filtersContainer,children:[(0,j.jsx)(v,{onChange:me,value:pe,label:"Object",id:"object",name:"object"}),(0,j.jsx)(v,{onChange:fe,value:ge,label:"Request ID",id:"request_id",name:"request_id"}),(0,j.jsx)(v,{onChange:Ze,value:ve,label:"Response Status",id:"response_status",name:"response_status"})]})]})}),(0,j.jsx)(c.ZP,{item:!0,xs:12,className:t.endLineAction,children:(0,j.jsx)(l.zxk,{id:"get-information",type:"button",variant:"callAction",onClick:function(){Ee(0),h(!0)},label:"Get Information"})})]}),(0,j.jsx)(c.ZP,{item:!0,xs:12,className:t.tableBlock,children:(0,j.jsx)(F.s,{scopes:[N.Ft.ADMIN_HEALTH_INFO],resource:N.C3,errorProps:{disabled:!0},children:(0,j.jsx)(f.Z,{columns:[{label:C.time,elementKey:"time",enableSort:!0},{label:C.api_name,elementKey:"api_name"},{label:C.access_key,elementKey:"access_key"},{label:C.bucket,elementKey:"bucket"},{label:C.object,elementKey:"object"},{label:C.remote_host,elementKey:"remote_host"},{label:C.request_id,elementKey:"request_id"},{label:C.user_agent,elementKey:"user_agent"},{label:C.response_status,elementKey:"response_status",renderFunction:function(e){return(0,j.jsx)(r.Fragment,{children:(0,j.jsxs)("span",{children:[e.response_status_code," (",e.response_status,")"]})})},renderFullObject:!0},{label:C.request_content_length,elementKey:"request_content_length",renderFunction:x.ae},{label:C.response_content_length,elementKey:"response_content_length",renderFunction:x.ae},{label:C.time_to_response_ns,elementKey:"time_to_response_ns",renderFunction:x.Yj,contentTextAlign:"right"}],isLoading:m,records:G,entityName:"Logs",customEmptyMessage:"There is no information with this criteria",idField:"request_id",columnsSelector:!0,columnsShown:Ne,onColumnChange:function(e,t){var n=(0,i.Z)(Ne);t?n.includes(e)||n.push(e):n=Ne.filter((function(t){return t!==e})),Fe(n)},customPaperHeight:K?t.tableFOpen:t.tableFClosed,sortConfig:{currentSort:"time",currentDirection:ye,triggerSort:function(e){var t=u()(e,"sortDirection","DESC");ke(t),Ee(0),h(!0)}},infiniteScrollConfig:{recordsCount:1e6,loadMoreRecords:function(e){return Qe(),new Promise((function(e){Ge=e}))}},itemActions:[{type:"view",onClick:function(e){He(e),ze(!0)}}],textSelectable:!0})})})]}):(0,j.jsx)(P,{entity:"Audit Logs",iconComponent:(0,j.jsx)(l.W1M,{}),documentationLink:"https://github.com/minio/operator/tree/master/logsearchapi"})})]})}))}}]); +//# sourceMappingURL=3543.b27540db.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3543.b27540db.chunk.js.map b/portal-ui/build/static/js/3543.b27540db.chunk.js.map new file mode 100644 index 000000000..b9590afd0 --- /dev/null +++ b/portal-ui/build/static/js/3543.b27540db.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3543.b27540db.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/FormComponents/DateRangeSelector/DateRangeSelector.tsx","screens/Console/Common/FormComponents/DateTimePickerWrapper/DateTimePickerWrapper.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/FormComponents/FilterInputWrapper/FilterInputWrapper.tsx","screens/Console/Logs/LogSearch/utils.ts","screens/Console/Logs/LogSearch/LogSearchFullModal.tsx","screens/Console/Common/MissingIntegration/MissingIntegration.tsx","screens/Console/Logs/LogSearch/LogsSearchMain.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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string | React.ReactNode;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport { Box, Grid } from \"@mui/material\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport ScheduleIcon from \"@mui/icons-material/Schedule\";\nimport WatchLaterIcon from \"@mui/icons-material/WatchLater\";\nimport { actionsTray, widgetContainerCommon } from \"../common/styleLibrary\";\nimport DateTimePickerWrapper from \"../DateTimePickerWrapper/DateTimePickerWrapper\";\nimport { SyncIcon } from \"mds\";\nimport { OpenListIcon } from \"mds\";\n\ninterface IDateRangeSelector {\n classes: any;\n timeStart: any;\n setTimeStart: (date: any) => void;\n timeEnd: any;\n setTimeEnd: (date: any) => void;\n triggerSync?: () => void;\n label?: string;\n startLabel?: string;\n endLabel?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...actionsTray,\n ...widgetContainerCommon,\n schedulerIcon: {\n opacity: 0.4,\n fontSize: 10,\n \"& svg\": {\n width: 18,\n height: 18,\n },\n },\n selectorLabel: {\n color: \"#9D9E9D\",\n fontWeight: \"bold\",\n whiteSpace: \"nowrap\",\n marginLeft: 10,\n fontSize: 12,\n },\n });\n\nconst DateFilterAdornIcon = () => {\n return (\n \n \n \n );\n};\n\nconst DateRangeSelector = ({\n classes,\n timeStart,\n setTimeStart,\n timeEnd,\n setTimeEnd,\n triggerSync,\n label = \"Filter:\",\n startLabel = \"Start Time:\",\n endLabel = \"End Time:\",\n}: IDateRangeSelector) => {\n return (\n \n \n \n {label}\n \n \n \n \n \n \n \n {startLabel}\n \n \n \n \n \n\n \n \n \n \n \n {endLabel}\n \n \n \n \n \n \n\n {triggerSync && (\n \n }\n label={\"Sync\"}\n />\n \n )}\n \n \n );\n};\n\nexport default withStyles(styles)(DateRangeSelector);\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 { Grid, InputLabel, TextField, Tooltip } from \"@mui/material\";\nimport { LocalizationProvider } from \"@mui/x-date-pickers\";\nimport { AdapterLuxon } from \"@mui/x-date-pickers/AdapterLuxon\";\nimport { DateTimePicker } from \"@mui/x-date-pickers\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport ScheduleIcon from \"@mui/icons-material/Schedule\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { HelpIcon, OpenListIcon } from \"mds\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\n\ninterface IDateTimePicker {\n value: any;\n onChange: (value: any) => any;\n classes: any;\n forSearchBlock?: boolean;\n forFilterContained?: boolean;\n label?: string;\n required?: boolean;\n tooltip?: string;\n id: string;\n disabled?: boolean;\n noInputIcon?: boolean;\n classNamePrefix?: string;\n openPickerIcon?: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n dateSelectorOverride: {\n height: 40,\n border: \"#EAEDEE 1px solid\",\n marginLeft: 15,\n backgroundColor: \"#fff\",\n padding: \"0 16px\",\n borderRadius: 5,\n \"&.MuiInput-underline:hover:not(.Mui-disabled):before\": {\n borderBottom: 0,\n },\n \"&:hover\": {\n borderColor: \"#000\",\n \"&:before, &:after\": {\n borderColor: \"transparent\",\n borderBottom: 0,\n },\n },\n \"&:before, &:after\": {\n borderColor: \"transparent\",\n borderBottom: 0,\n },\n \"& input\": {\n fontSize: 12,\n fontWeight: 600,\n color: \"#393939\",\n },\n },\n dateSelectorFilterOverride: {\n width: 180,\n height: 42,\n marginLeft: 20,\n padding: 0,\n borderRadius: 5,\n \"&.MuiInput-underline:hover:not(.Mui-disabled):before\": {\n borderBottom: 0,\n },\n \"&:hover\": {\n \"&:before, &:after\": {\n borderColor: \"transparent\",\n borderBottom: 0,\n },\n },\n \"&:before, &:after\": {\n borderColor: \"transparent\",\n borderBottom: 0,\n },\n \"& input\": {\n fontSize: 12,\n fontWeight: \"bold\",\n color: \"#081C42\",\n },\n \"@media (max-width: 900px)\": {\n width: 103,\n },\n },\n dateSelectorFormOverride: {\n width: \"100%\",\n maxWidth: 840,\n },\n parentDateOverride: {\n flexGrow: 1,\n },\n textBoxContainer: {\n flexGrow: 1,\n },\n openListIcon: {\n color: \"#9D9E9D\",\n width: 8,\n marginTop: 2,\n },\n paperOverride: {\n \"& .MuiCalendarPicker-root\": {\n padding: \"0 22px\",\n \"& > div\": {\n padding: 0,\n \"& > div > div.PrivatePickersFadeTransitionGroup-root:first-of-type\":\n {\n color: \"#0A224C\",\n fontWeight: \"bold\",\n },\n \"& > div > div.PrivatePickersFadeTransitionGroup-root:last-of-type\": {\n color: \"#9D9E9D\",\n \"& + button.MuiButtonBase-root\": {\n color: \"#9D9E9D\",\n },\n },\n \"& > div:nth-child(2)\": {\n \"& > div\": {\n width: 0,\n },\n \"& > button.MuiButtonBase-root\": {\n color: \"#0A224C\",\n },\n },\n },\n },\n \"& .MuiTypography-root.MuiTypography-caption\": {\n width: 26,\n height: 26,\n margin: 5,\n color: \"#BCBCBC\",\n fontSize: 10,\n },\n \"& button.MuiPickersDay-root\": {\n fontWeight: \"bold\",\n width: 26,\n height: 26,\n margin: 5,\n textAlign: \"center\",\n \"&.Mui-selected\": {\n backgroundColor: theme.palette.primary.main,\n color: \"#fff\",\n },\n },\n \"& div.MuiPickersDay-hiddenDaySpacingFiller\": {\n width: 26,\n height: 26,\n margin: 5,\n },\n \"& div.PrivatePickersSlideTransition-root\": {\n minHeight: 240,\n },\n \"& div.MuiCalendarPicker-viewTransitionContainer\": {\n borderTop: \"#F0F3F5 1px solid\",\n },\n \"& .MuiClockPicker-arrowSwitcher\": {\n marginRight: 10,\n marginTop: -1,\n \"& > div\": {\n width: 0,\n },\n \"& > button.MuiButtonBase-root\": {\n color: \"#0A224C\",\n },\n \"& + div > div\": {\n width: 255,\n height: 255,\n backgroundColor: \"#fff\",\n marginTop: 30,\n marginBottom: 14,\n border: \"#F0F3F5 3px solid\",\n \"& > div:nth-child(2)\": {\n backgroundColor: \"#B4B5B4\",\n width: 12,\n height: 12,\n \"&::before\": {\n content: \"' '\",\n width: 35,\n height: 35,\n display: \"block\",\n position: \"absolute\",\n border: \"#F0F3F5 3px solid\",\n top: -12,\n left: -12,\n borderRadius: \"100%\",\n },\n },\n \"& > div:nth-child(3)\": {\n backgroundColor: \"#B4B5B4\",\n width: 4,\n },\n \"& > div:last-of-type\": {\n marginTop: 15,\n \"& > span\": {\n color: \"#0A224C\",\n \"&.Mui-selected\": {\n color: \"#fff\",\n },\n \"&[aria-label='1 hours'], &[aria-label='2 hours'], &[aria-label='3 hours'], &[aria-label='4 hours'], &[aria-label='5 hours'], &[aria-label='6 hours'], &[aria-label='7 hours'], &[aria-label='8 hours'], &[aria-label='9 hours'], &[aria-label='10 hours'], &[aria-label='11 hours'], &[aria-label='12 hours']\":\n {\n fontWeight: \"bold\",\n fontSize: 20,\n marginTop: -1,\n },\n },\n },\n },\n },\n },\n ...fieldBasic,\n ...tooltipHelper,\n });\n\nconst DateTimePickerWrapper = ({\n value,\n onChange,\n classes,\n forSearchBlock = false,\n forFilterContained = false,\n label,\n tooltip = \"\",\n required,\n id,\n disabled = false,\n noInputIcon = false,\n classNamePrefix = \"\",\n openPickerIcon,\n}: IDateTimePicker) => {\n let adornment = {};\n\n if (!noInputIcon) {\n adornment = {\n startAdornment: (\n \n \n \n ),\n };\n }\n\n if (forFilterContained) {\n adornment = {\n endAdornment: (\n \n \n \n ),\n };\n }\n\n const classOverridden = `${classNamePrefix}date-time-input ${\n forSearchBlock ? classes.dateSelectorOverride : \"\"\n } ${\n forFilterContained && !forSearchBlock\n ? classes.dateSelectorFilterOverride\n : \"\"\n }`;\n\n const clsName = forSearchBlock\n ? classes.parentDateOverride\n : classes.dateSelectorFormOverride;\n\n const inputItem = (\n \n (\n \n )}\n ampm={false}\n PopperProps={{\n className: classes.paperOverride,\n }}\n />\n \n );\n\n if (forSearchBlock) {\n return inputItem;\n }\n\n const containerCls = !forFilterContained ? classes.fieldContainer : \"\";\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 {inputItem}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(DateTimePickerWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n noContentPadding?: boolean;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n noContentPadding,\n titleIcon = null,\n}: IModalProps) => {\n const dispatch = useAppDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nexport default withStyles(styles)(ModalWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport TextField from \"@mui/material/TextField\";\nimport { searchField } from \"../common/styleLibrary\";\n\ninterface IFilterInputWrapper {\n classes: any;\n value: string;\n onChange: (txtVar: string) => any;\n label: string;\n placeholder?: string;\n id: string;\n name: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n height: 30,\n padding: 0,\n \"& input\": {\n padding: \"0 12px\",\n height: 28,\n fontSize: 12,\n fontWeight: 600,\n color: \"#393939\",\n },\n \"&.isDisabled\": {\n \"&:hover\": {\n borderColor: \"#EAEDEE\",\n },\n },\n \"& input.Mui-disabled\": {\n backgroundColor: \"#EAEAEA\",\n },\n },\n labelStyle: {\n color: \"#393939\",\n fontSize: 12,\n marginBottom: 4,\n },\n buttonKit: {\n display: \"flex\",\n alignItems: \"center\",\n },\n fieldContainer: {\n flexGrow: 1,\n margin: \"0 15px\",\n },\n });\n\nconst FilterInputWrapper = ({\n classes,\n label,\n onChange,\n value,\n placeholder = \"\",\n id,\n name,\n}: IFilterInputWrapper) => {\n return (\n \n
\n
{label}
\n
\n {\n onChange(val.target.value);\n }}\n InputProps={{\n disableUnderline: true,\n }}\n className={classes.searchField}\n value={value}\n />\n
\n
\n
\n );\n};\n\nexport default withStyles(styles)(FilterInputWrapper);\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 LogSearchColumnLabels = {\n time: \"Timestamp\",\n api_name: \"API Name\",\n access_key: \"Access Key\",\n bucket: \"Bucket\",\n object: \"Object\",\n remote_host: \"Remote Host\",\n request_id: \"Request ID\",\n user_agent: \"User Agent\",\n response_status: \"Response Status\",\n response_status_code: \"Response Status Code\",\n request_content_length: \"Request Content Length\",\n response_content_length: \"Response Content Length\",\n time_to_response_ns: \"Time to Response NS\",\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 } from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport get from \"lodash/get\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport { modalBasic } from \"../../Common/FormComponents/common/styleLibrary\";\nimport { IReqInfoSearchResults } from \"./types\";\nimport { LogSearchColumnLabels } from \"./utils\";\n\ninterface ILogSearchFullModal {\n modalOpen: boolean;\n logSearchElement: IReqInfoSearchResults;\n onClose: () => void;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n objectKeyCol: {\n fontWeight: 700,\n paddingRight: \"10px\",\n textAlign: \"left\",\n },\n ...modalBasic,\n });\n\nconst LogSearchFullModal = ({\n modalOpen,\n logSearchElement,\n onClose,\n classes,\n}: ILogSearchFullModal) => {\n const jsonItems = Object.keys(logSearchElement);\n\n return (\n \n {\n onClose();\n }}\n >\n \n \n \n \n {jsonItems.map((objectKey: string, index: number) => (\n \n \n \n \n ))}\n \n
\n {get(LogSearchColumnLabels, objectKey, `${objectKey}`)}\n {get(logSearchElement, objectKey, \"\")}
\n
\n \n \n \n
\n \n
\n );\n};\n\nexport default withStyles(styles)(LogSearchFullModal);\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 { Grid } from \"@mui/material\";\nimport HelpBox from \"../../../../common/HelpBox\";\n\ninterface IMissingIntegration {\n iconComponent: any;\n entity: string;\n documentationLink: string;\n}\n\nconst MissingIntegration = ({\n iconComponent,\n entity,\n documentationLink,\n}: IMissingIntegration) => {\n return (\n \n \n \n This feature is not available.\n
\n Please configure{\" \"}\n \n {entity}\n {\" \"}\n first to use this feature.\n \n }\n />\n
\n \n );\n};\n\nexport default MissingIntegration;\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 { useSelector } from \"react-redux\";\nimport { Button } from \"mds\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Grid } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n advancedFilterToggleStyles,\n containerForHeader,\n logsCommon,\n tableStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { IReqInfoSearchResults, ISearchResponse } from \"./types\";\nimport { niceBytes, nsToSeconds } from \"../../../../common/utils\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport FilterInputWrapper from \"../../Common/FormComponents/FilterInputWrapper/FilterInputWrapper\";\nimport LogSearchFullModal from \"./LogSearchFullModal\";\nimport { LogSearchColumnLabels } from \"./utils\";\nimport DateRangeSelector from \"../../Common/FormComponents/DateRangeSelector/DateRangeSelector\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport ArrowForwardIosIcon from \"@mui/icons-material/ArrowForwardIos\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_SCOPES,\n} from \"../../../../common/SecureComponent/permissions\";\nimport { SecureComponent } from \"../../../../common/SecureComponent\";\nimport { SearchIcon } from \"mds\";\nimport MissingIntegration from \"../../Common/MissingIntegration/MissingIntegration\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { selFeatures } from \"../../consoleSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface ILogSearchProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n blockCollapsed: {\n display: \"none\",\n overflowY: \"hidden\",\n },\n filterOpen: {\n display: \"block\",\n marginBottom: 12,\n },\n endLineAction: {\n marginBottom: 15,\n padding: \"0 15px 0 15px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n filtersContainer: {\n display: \"flex\",\n justifyContent: \"space-between\",\n marginBottom: 12,\n },\n innerContainer: {\n backgroundColor: \"#fff\",\n },\n noticeLabel: {\n marginLeft: 15,\n marginBottom: 15,\n fontSize: 12,\n color: \"#9C9C9C\",\n },\n\n tableFOpen: {\n height: \"calc(100vh - 520px)\",\n },\n tableFClosed: {\n height: \"calc(100vh - 320px)\",\n },\n ...tableStyles,\n ...advancedFilterToggleStyles,\n\n searchOptions: {\n display: \"flex\",\n padding: 15,\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n formBox: {\n border: \"1px solid #EAEAEA\",\n marginBottom: 15,\n },\n dateRangePicker: {\n \"& div\": {\n marginBottom: 0,\n },\n },\n advancedButton: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n },\n ...logsCommon,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst LogsSearchMain = ({ classes }: ILogSearchProps) => {\n const dispatch = useAppDispatch();\n const features = useSelector(selFeatures);\n\n const [loading, setLoading] = useState(true);\n const [timeStart, setTimeStart] = useState(null);\n const [timeEnd, setTimeEnd] = useState(null);\n const [filterOpen, setFilterOpen] = useState(false);\n const [records, setRecords] = useState([]);\n const [bucket, setBucket] = useState(\"\");\n const [apiName, setApiName] = useState(\"\");\n const [accessKey, setAccessKey] = useState(\"\");\n const [userAgent, setUserAgent] = useState(\"\");\n const [object, setObject] = useState(\"\");\n const [requestID, setRequestID] = useState(\"\");\n const [responseStatus, setResponseStatus] = useState(\"\");\n const [sortOrder, setSortOrder] = useState<\"ASC\" | \"DESC\" | undefined>(\n \"DESC\"\n );\n const [columnsShown, setColumnsShown] = useState([\n \"time\",\n \"api_name\",\n \"access_key\",\n \"bucket\",\n \"object\",\n \"remote_host\",\n \"request_id\",\n \"user_agent\",\n \"response_status\",\n ]);\n const [nextPage, setNextPage] = useState(0);\n const [alreadyFetching, setAlreadyFetching] = useState(false);\n const [logSearchExtrasOpen, setLogSearchExtrasOpen] =\n useState(false);\n const [selectedItem, setSelectedItem] =\n useState(null);\n\n let recordsResp: any = null;\n const logSearchEnabled = features && features.includes(\"log-search\");\n\n const fetchRecords = useCallback(() => {\n if (!alreadyFetching && logSearchEnabled) {\n setAlreadyFetching(true);\n let queryParams = `${bucket !== \"\" ? `&fp=bucket:${bucket}` : \"\"}${\n object !== \"\" ? `&fp=object:${object}` : \"\"\n }${apiName !== \"\" ? `&fp=api_name:${apiName}` : \"\"}${\n accessKey !== \"\" ? `&fp=access_key:${accessKey}` : \"\"\n }${requestID !== \"\" ? `&fp=request_id:${requestID}` : \"\"}${\n userAgent !== \"\" ? `&fp=user_agent:${userAgent}` : \"\"\n }${responseStatus !== \"\" ? `&fp=response_status:${responseStatus}` : \"\"}`;\n\n queryParams = queryParams.trim();\n\n if (queryParams.endsWith(\",\")) {\n queryParams = queryParams.slice(0, -1);\n }\n\n api\n .invoke(\n \"GET\",\n `/api/v1/logs/search?q=reqinfo${\n queryParams !== \"\" ? `${queryParams}` : \"\"\n }&pageSize=100&pageNo=${nextPage}&order=${\n sortOrder === \"DESC\" ? \"timeDesc\" : \"timeAsc\"\n }${\n timeStart !== null ? `&timeStart=${timeStart.toISOString()}` : \"\"\n }${timeEnd !== null ? `&timeEnd=${timeEnd.toISOString()}` : \"\"}`\n )\n .then((res: ISearchResponse) => {\n const fetchedResults = res.results || [];\n\n setLoading(false);\n setAlreadyFetching(false);\n setRecords(fetchedResults);\n setNextPage(nextPage + 1);\n\n if (recordsResp !== null) {\n recordsResp();\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setAlreadyFetching(false);\n dispatch(setErrorSnackMessage(err));\n });\n } else {\n setLoading(false);\n setAlreadyFetching(false);\n }\n }, [\n alreadyFetching,\n logSearchEnabled,\n bucket,\n object,\n apiName,\n accessKey,\n requestID,\n userAgent,\n responseStatus,\n nextPage,\n sortOrder,\n timeStart,\n timeEnd,\n recordsResp,\n dispatch,\n ]);\n\n useEffect(() => {\n if (loading) {\n setRecords([]);\n fetchRecords();\n }\n }, [loading, sortOrder, fetchRecords]);\n\n const triggerLoad = () => {\n setNextPage(0);\n setLoading(true);\n };\n\n const selectColumn = (colName: string, active: boolean) => {\n let newArray = [...columnsShown];\n\n if (!active) {\n newArray = columnsShown.filter((element) => element !== colName);\n } else {\n if (!newArray.includes(colName)) {\n newArray.push(colName);\n }\n }\n setColumnsShown(newArray);\n };\n\n const sortChange = (sortData: any) => {\n const newSortDirection = get(sortData, \"sortDirection\", \"DESC\");\n setSortOrder(newSortDirection);\n setNextPage(0);\n setLoading(true);\n };\n\n const loadMoreRecords = (_: { startIndex: number; stopIndex: number }) => {\n fetchRecords();\n return new Promise((resolve) => {\n recordsResp = resolve;\n });\n };\n\n const openExtraInformation = (item: IReqInfoSearchResults) => {\n setSelectedItem(item);\n setLogSearchExtrasOpen(true);\n };\n\n const closeViewExtraInformation = () => {\n setSelectedItem(null);\n setLogSearchExtrasOpen(false);\n };\n\n return (\n \n {logSearchExtrasOpen && selectedItem !== null && (\n \n )}\n\n \n \n {!logSearchEnabled ? (\n }\n documentationLink=\"https://github.com/minio/operator/tree/master/logsearchapi\"\n />\n ) : (\n \n {\" \"}\n \n \n
\n \n
\n\n \n {\n setFilterOpen(!filterOpen);\n }}\n className={classes.advancedConfiguration}\n >\n {filterOpen ? \"Hide\" : \"Show\"} advanced Filters{\" \"}\n \n \n \n \n \n
\n \n
\n
\n Enable your preferred options to get filtered records.\n
\n You can use '*' to match any character, '.' to signify a\n single character or '\\' to scape an special character (E.g.\n mybucket-*)\n
\n
\n \n \n \n \n
\n
\n \n \n \n
\n
\n
\n \n \n \n \n \n \n (\n \n \n {element.response_status_code} (\n {element.response_status})\n \n \n ),\n renderFullObject: true,\n },\n {\n label: LogSearchColumnLabels.request_content_length,\n elementKey: \"request_content_length\",\n renderFunction: niceBytes,\n },\n {\n label: LogSearchColumnLabels.response_content_length,\n elementKey: \"response_content_length\",\n renderFunction: niceBytes,\n },\n {\n label: LogSearchColumnLabels.time_to_response_ns,\n elementKey: \"time_to_response_ns\",\n renderFunction: nsToSeconds,\n contentTextAlign: \"right\",\n },\n ]}\n isLoading={loading}\n records={records}\n entityName=\"Logs\"\n customEmptyMessage={\n \"There is no information with this criteria\"\n }\n idField=\"request_id\"\n columnsSelector\n columnsShown={columnsShown}\n onColumnChange={selectColumn}\n customPaperHeight={\n filterOpen ? classes.tableFOpen : classes.tableFClosed\n }\n sortConfig={{\n currentSort: \"time\",\n currentDirection: sortOrder,\n triggerSort: sortChange,\n }}\n infiniteScrollConfig={{\n recordsCount: 1000000,\n loadMoreRecords: loadMoreRecords,\n }}\n itemActions={[\n {\n type: \"view\",\n onClick: openExtraInformation,\n },\n ]}\n textSelectable\n />\n \n \n
\n )}\n
\n
\n );\n};\n\nexport default withStyles(styles)(LogsSearchMain);\n"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","DateFilterAdornIcon","sx","actionsTray","widgetContainerCommon","schedulerIcon","opacity","selectorLabel","color","whiteSpace","marginLeft","timeStart","setTimeStart","timeEnd","setTimeEnd","triggerSync","label","startLabel","endLabel","WebkitTextFillColor","md","gridTemplateColumns","sm","padding","gap","fill","value","onChange","id","classNamePrefix","forFilterContained","noInputIcon","openPickerIcon","justifyContent","type","variant","onClick","icon","dateSelectorOverride","borderBottom","borderColor","dateSelectorFilterOverride","dateSelectorFormOverride","maxWidth","parentDateOverride","flexGrow","textBoxContainer","openListIcon","marginTop","paperOverride","margin","textAlign","palette","primary","main","minHeight","borderTop","content","position","top","left","fieldBasic","tooltipHelper","forSearchBlock","tooltip","required","disabled","adornment","startAdornment","endAdornment","classOverridden","clsName","inputItem","dateAdapter","AdapterLuxon","InputProps","components","OpenPickerIcon","renderInput","props","ampm","PopperProps","containerCls","fieldContainer","Fragment","htmlFor","inputLabel","tooltipContainer","placement","deleteDialogStyles","customDialogSize","snackBarCommon","onClose","modalOpen","children","wideLimit","noContentPadding","titleIcon","dispatch","useAppDispatch","useState","openSnackbar","setOpenSnackbar","modalSnackMessage","useSelector","state","system","modalSnackBar","useEffect","setModalSnackMessage","message","customSize","paper","fullWidth","detailedErrorMsg","length","open","scroll","event","reason","titleText","closeContainer","closeButton","disableRipple","size","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","searchField","labelStyle","buttonKit","placeholder","name","TextField","val","target","disableUnderline","LogSearchColumnLabels","time","api_name","access_key","bucket","object","remote_host","request_id","user_agent","response_status","response_status_code","request_content_length","response_content_length","time_to_response_ns","buttonContainer","objectKeyCol","modalBasic","logSearchElement","jsonItems","Object","keys","ModalWrapper","Grid","map","objectKey","index","get","toString","entity","documentationLink","alignContent","HelpBox","href","rel","blockCollapsed","overflowY","filterOpen","endLineAction","filtersContainer","innerContainer","noticeLabel","tableFOpen","tableFClosed","tableStyles","advancedFilterToggleStyles","searchOptions","flexFlow","formBox","dateRangePicker","advancedButton","logsCommon","containerForHeader","spacing","features","selFeatures","loading","setLoading","setFilterOpen","records","setRecords","setBucket","apiName","setApiName","accessKey","setAccessKey","userAgent","setUserAgent","setObject","requestID","setRequestID","responseStatus","setResponseStatus","sortOrder","setSortOrder","columnsShown","setColumnsShown","nextPage","setNextPage","alreadyFetching","setAlreadyFetching","logSearchExtrasOpen","setLogSearchExtrasOpen","selectedItem","setSelectedItem","recordsResp","logSearchEnabled","includes","fetchRecords","useCallback","queryParams","trim","endsWith","slice","api","toISOString","then","res","fetchedResults","results","catch","err","setErrorSnackMessage","PageHeader","PageLayout","DateRangeSelector","advancedConfiguration","advancedOpen","advancedClosed","ArrowForwardIos","tableBlock","SecureComponent","scopes","IAM_SCOPES","resource","CONSOLE_UI_RESOURCE","errorProps","TableWrapper","columns","elementKey","enableSort","renderFunction","element","renderFullObject","niceBytes","nsToSeconds","contentTextAlign","isLoading","entityName","customEmptyMessage","idField","columnsSelector","onColumnChange","colName","active","newArray","push","filter","customPaperHeight","sortConfig","currentSort","currentDirection","triggerSort","sortData","newSortDirection","infiniteScrollConfig","recordsCount","loadMoreRecords","_","Promise","resolve","itemActions","textSelectable"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3549.4d424641.chunk.js b/portal-ui/build/static/js/3549.4d424641.chunk.js new file mode 100644 index 000000000..cb6d9b910 --- /dev/null +++ b/portal-ui/build/static/js/3549.4d424641.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3549],{65935:function(e,t,n){n.r(t),n.d(t,{default:function(){return T}});var s=n(29439),i=n(1413),a=n(72791),o=n(57689),r=n(75952),c=n(11135),l=n(25787),d=n(23814),u=n(61889),x=n(64554),p=n(92217),h=n(32291),m=n(74794),f=n(21435),y=n(37516),j=n(80184),g=function(e){var t=e.icon,n=e.description;return(0,j.jsxs)(x.Z,{sx:{display:"flex","& .min-icon":{marginRight:"10px",height:"23px",width:"23px",marginBottom:"10px"}},children:[t," ",(0,j.jsx)("div",{style:{fontSize:"14px",fontStyle:"italic",color:"#5E5E5E"},children:n})]})},Z=function(){return(0,j.jsxs)(x.Z,{sx:{flex:1,border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"20px",marginTop:{xs:"0px"}},children:[(0,j.jsxs)(x.Z,{sx:{fontSize:"16px",fontWeight:600,display:"flex",alignItems:"center",marginBottom:"16px",paddingBottom:"20px","& .min-icon":{height:"21px",width:"21px",marginRight:"15px"}},children:[(0,j.jsx)(r.M9A,{}),(0,j.jsx)("div",{children:"Learn more about Access Keys"})]}),(0,j.jsxs)(x.Z,{sx:{fontSize:"14px",marginBottom:"15px"},children:[(0,j.jsxs)(x.Z,{sx:{paddingBottom:"20px"},children:[(0,j.jsx)(g,{icon:(0,j.jsx)(r.nO6,{}),description:"Create Access Keys"}),(0,j.jsx)(x.Z,{sx:{paddingTop:"20px"},children:"Access Keys inherit the policies explicitly attached to the parent user, and the policies attached to each group in which the parent user has membership."})]}),(0,j.jsxs)(x.Z,{sx:{paddingBottom:"20px"},children:[(0,j.jsx)(g,{icon:(0,j.jsx)(r.tvm,{}),description:"Assign Custom Credentials"}),(0,j.jsx)(x.Z,{sx:{paddingTop:"10px"},children:"Randomized access credentials are recommended, and provided by default. You may use your own custom Access Key and Secret Key by replacing the default values. After creation of any Access Key, you will be given the opportunity to view and download the account credentials."}),(0,j.jsx)(x.Z,{sx:{paddingTop:"10px"},children:"Access Keys support programmatic access by applications. You cannot use a Access Key to log into the MinIO Console."})]}),(0,j.jsxs)(x.Z,{sx:{paddingBottom:"20px"},children:[(0,j.jsx)(g,{icon:(0,j.jsx)(r.v42,{}),description:"Assign Access Policies"}),(0,j.jsx)(x.Z,{sx:{paddingTop:"10px"},children:"You can specify an optional JSON-formatted IAM policy to further restrict Access Key access to a subset of the actions and resources explicitly allowed for the parent user. Additional access beyond that of the parent user cannot be implemented through these policies."}),(0,j.jsx)(x.Z,{sx:{paddingTop:"10px"},children:"You cannot modify the optional Access Key IAM policy after saving."})]})]}),(0,j.jsx)(x.Z,{sx:{display:"flex",flexFlow:"column"}})]})},v=n(84669),b=n(3579),K=n(20165),A=n(56087),C=n(81207),w=n(37798),S=n(50896),N=n(84741),P=n(60680),k=n(87995),B=n(25469),T=(0,l.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)({bottomContainer:{display:"flex",flexGrow:1,alignItems:"center",margin:"auto",justifyContent:"center","& div":{width:150,"@media (max-width: 900px)":{flexFlow:"column"}}}},d.DF),d.ID))}))((function(e){var t=e.classes,n=(0,B.TL)(),i=(0,o.s0)(),c=(0,a.useState)(!1),l=(0,s.Z)(c,2),d=l[0],g=l[1],T=(0,a.useState)((0,N.zO)(16)),I=(0,s.Z)(T,2),M=I[0],O=I[1],z=(0,a.useState)((0,N.zO)(32)),F=(0,s.Z)(z,2),E=F[0],D=F[1],L=(0,a.useState)(!1),R=(0,s.Z)(L,2),Y=R[0],J=R[1],W=(0,a.useState)(null),H=(0,s.Z)(W,2),_=H[0],U=H[1],V=(0,a.useState)(!1),G=(0,s.Z)(V,2),Q=G[0],q=G[1],X=(0,a.useState)(""),$=(0,s.Z)(X,2),ee=$[0],te=$[1];(0,a.useEffect)((function(){d&&C.Z.invoke("POST","/api/v1/service-account-credentials",{policy:ee,accessKey:M,secretKey:E}).then((function(e){g(!1),U({accessKey:e.accessKey||"",secretKey:e.secretKey||"",url:e.url||""})})).catch((function(e){g(!1),n((0,k.Ih)(e))}))}),[d,g,n,ee,M,E]),(0,a.useEffect)((function(){Y&&C.Z.invoke("GET","/api/v1/user/policy").then((function(e){te(JSON.stringify(JSON.parse(e),null,4))}))}),[Y]);return(0,j.jsxs)(a.Fragment,{children:[null!==_&&(0,j.jsx)(w.default,{newServiceAccount:_,open:null!==_,closeModal:function(){U(null),i("".concat(A.gA.ACCOUNT))},entity:"Access Key"}),(0,j.jsxs)(u.ZP,{item:!0,xs:12,children:[(0,j.jsx)(h.Z,{label:(0,j.jsx)(v.Z,{to:A.gA.ACCOUNT,label:"Access Keys"})}),(0,j.jsx)(m.Z,{children:(0,j.jsxs)(x.Z,{sx:{display:"grid",padding:"25px",gap:"25px",gridTemplateColumns:{md:"2fr 1.2fr",xs:"1fr"},border:"1px solid #eaeaea"},children:[(0,j.jsxs)(x.Z,{children:[(0,j.jsx)(S.Z,{icon:(0,j.jsx)(r.tVY,{}),children:"Create Access Key"}),(0,j.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault(),g(!0)}(e)},children:(0,j.jsxs)(u.ZP,{container:!0,item:!0,spacing:"20",sx:{marginTop:1},children:[(0,j.jsx)(u.ZP,{item:!0,xs:12,children:(0,j.jsx)(u.ZP,{container:!0,item:!0,spacing:"20",children:(0,j.jsx)(u.ZP,{item:!0,xs:12,children:(0,j.jsxs)(u.ZP,{container:!0,children:[(0,j.jsx)(u.ZP,{item:!0,xs:1,children:(0,j.jsx)(r.tvm,{})}),(0,j.jsx)(u.ZP,{item:!0,children:(0,j.jsxs)(u.ZP,{container:!0,item:!0,spacing:"20",children:[(0,j.jsxs)(u.ZP,{item:!0,xs:12,children:[" ",(0,j.jsx)("div",{className:t.stackedInputs,children:(0,j.jsx)(f.Z,{value:M,label:"Access Key",id:"accessKey",name:"accessKey",placeholder:"Enter Access Key",onChange:function(e){O(e.target.value)}})})]}),(0,j.jsx)(u.ZP,{item:!0,xs:12,children:(0,j.jsx)("div",{className:t.stackedInputs,children:(0,j.jsx)(f.Z,{value:E,label:"Secret Key",id:"secretKey",name:"secretKey",type:Q?"text":"password",placeholder:"Enter Secret Key",onChange:function(e){D(e.target.value)},overlayIcon:Q?(0,j.jsx)(K.Z,{}):(0,j.jsx)(b.Z,{}),overlayAction:function(){return q(!Q)}})})})]})})]})})})}),(0,j.jsxs)(u.ZP,{container:!0,item:!0,spacing:"20",children:[(0,j.jsx)(u.ZP,{item:!0,xs:12,children:(0,j.jsxs)(u.ZP,{container:!0,children:[(0,j.jsx)(u.ZP,{item:!0,xs:1,children:(0,j.jsx)(r.v42,{})}),(0,j.jsx)(u.ZP,{item:!0,xs:11,children:(0,j.jsx)(y.Z,{value:"serviceAccountPolicy",id:"serviceAccountPolicy",name:"serviceAccountPolicy",checked:Y,onChange:function(e){J(e.target.checked)},label:"Restrict beyond user policy",tooltip:"You can specify an optional JSON-formatted IAM policy to further restrict Access Key access to a subset of the actions and resources explicitly allowed for the parent user. Additional access beyond that of the parent user cannot be implemented through these policies."})})]})}),Y&&(0,j.jsxs)(u.ZP,{item:!0,xs:12,className:t.codeMirrorContainer,children:[(0,j.jsx)("div",{children:(0,j.jsx)(P.Z,{children:"Current User Policy - edit the JSON to remove permissions for this Access Key"})}),(0,j.jsx)(u.ZP,{item:!0,xs:12,className:t.formScrollable,children:(0,j.jsx)(p.Z,{value:ee,onBeforeChange:function(e,t,n){te(n)},editorHeight:"350px"})})]})]}),(0,j.jsxs)(u.ZP,{item:!0,xs:12,className:t.modalButtonBar,children:[(0,j.jsx)(r.zxk,{id:"clear",type:"button",variant:"regular",onClick:function(){te(""),U(null),O(""),D(""),q(!1)},label:"Clear"}),(0,j.jsx)(r.zxk,{id:"create-sa",type:"submit",variant:"callAction",color:"primary",label:"Create"})]})]})})]}),(0,j.jsx)(Z,{})]})})]})]})}))},37798:function(e,t,n){n.r(t),n.d(t,{default:function(){return v}});var s=n(1413),i=n(72791),a=n(26181),o=n.n(a),r=n(75952),c=n(11135),l=n(25787),d=n(56028),u=n(61889),x=n(77196),p=n(63466),h=n(78029),m=n.n(h),f=n(23814),y=n(27454),j=n(80184),g=(0,l.Z)((function(e){return(0,c.Z)({container:{display:"flex",flexFlow:"column",padding:"20px 0 8px 0"},inputWithCopy:{"& .MuiInputBase-root ":{width:"100%",background:"#FBFAFA","& .MuiInputBase-input":{height:".8rem"},"& .MuiInputAdornment-positionEnd":{marginRight:".5rem","& .MuiButtonBase-root":{height:"2rem"}}},"& .MuiButtonBase-root .min-icon":{width:".8rem",height:".8rem"}},inputLabel:(0,s.Z)((0,s.Z)({},f.YI.inputLabel),{},{fontSize:".8rem"})})}))((function(e){var t=e.label,n=void 0===t?"":t,s=e.value,i=void 0===s?"":s,a=e.classes,o=void 0===a?{}:a;return(0,j.jsxs)("div",{className:o.container,children:[(0,j.jsxs)("div",{className:o.inputLabel,children:[n,":"]}),(0,j.jsx)("div",{className:o.inputWithCopy,children:(0,j.jsx)(x.Z,{value:i,readOnly:!0,endAdornment:(0,j.jsx)(p.Z,{position:"end",children:(0,j.jsx)(y.Z,{tooltip:"Copy",children:(0,j.jsx)(m(),{text:i,children:(0,j.jsx)(r.zxk,{id:"copy-clipboard","aria-label":"copy",onClick:function(){},onMouseDown:function(){},style:{width:"28px",height:"28px",padding:"0px"},icon:(0,j.jsx)(r.TIy,{})})})})})})})]})})),Z=function(e,t){var n=document.createElement("a");n.setAttribute("href","data:text/plain;charset=utf-8,"+t),n.setAttribute("download",e),n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n)},v=(0,l.Z)((function(e){return(0,c.Z)({warningBlock:{color:"red",fontSize:".85rem",margin:".5rem 0 .5rem 0",display:"flex",alignItems:"center","& svg ":{marginRight:".3rem",height:16,width:16}},credentialTitle:{padding:".8rem 0 0 0",fontWeight:600,fontSize:".9rem"},buttonContainer:{display:"flex",justifyContent:"flex-end",marginTop:"1rem"},credentialsPanel:{overflowY:"auto",maxHeight:350},promptTitle:{display:"flex",alignItems:"center"},buttonSpacer:{marginRight:".9rem"}})}))((function(e){var t=e.classes,n=e.newServiceAccount,a=e.open,c=e.closeModal,l=e.entity;if(!n)return null;var x=o()(n,"console",null),p=o()(n,"idp",!1);return(0,j.jsx)(d.Z,{modalOpen:a,onClose:function(){c()},title:(0,j.jsx)("div",{className:t.promptTitle,children:(0,j.jsxs)("div",{children:["New ",l," Created"]})}),titleIcon:(0,j.jsx)(r.tVY,{}),children:(0,j.jsxs)(u.ZP,{container:!0,children:[(0,j.jsxs)(u.ZP,{item:!0,xs:12,className:t.formScrollable,children:["A new ",l," has been created with the following details:",!p&&x&&(0,j.jsx)(i.Fragment,{children:(0,j.jsxs)(u.ZP,{item:!0,xs:12,className:t.credentialsPanel,children:[(0,j.jsx)("div",{className:t.credentialTitle,children:"Console Credentials"}),Array.isArray(x)&&x.map((function(e,t){return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(g,{label:"Access Key",value:e.accessKey}),(0,j.jsx)(g,{label:"Secret Key",value:e.secretKey})]})})),!Array.isArray(x)&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(g,{label:"Access Key",value:x.accessKey}),(0,j.jsx)(g,{label:"Secret Key",value:x.secretKey})]})]})}),(null===x||void 0===x)&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(g,{label:"Access Key",value:n.accessKey||""}),(0,j.jsx)(g,{label:"Secret Key",value:n.secretKey||""})]}),p?(0,j.jsx)("div",{className:t.warningBlock,children:"Please Login via the configured external identity provider."}):(0,j.jsxs)("div",{className:t.warningBlock,children:[(0,j.jsx)(r.e6P,{}),(0,j.jsx)("span",{children:"Write these down, as this is the only time the secret will be displayed."})]})]}),(0,j.jsx)(u.ZP,{item:!0,xs:12,className:t.buttonContainer,children:!p&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(y.Z,{tooltip:"Download credentials in a JSON file formatted for import using mc alias import. This will only include the default login credentials.",children:(0,j.jsx)(r.zxk,{id:"download-button",label:"Download for import",className:t.buttonSpacer,onClick:function(){var e={};x?e=Array.isArray(x)?x.map((function(e){return{url:e.url,accessKey:e.accessKey,secretKey:e.secretKey,api:"s3v4",path:"auto"}}))[0]:{url:x.url,accessKey:x.accessKey,secretKey:x.secretKey,api:"s3v4",path:"auto"}:e={url:n.url,accessKey:n.accessKey,secretKey:n.secretKey,api:"s3v4",path:"auto"};Z("credentials.json",JSON.stringify((0,s.Z)({},e)))},icon:(0,j.jsx)(r._8t,{}),variant:"callAction"})}),Array.isArray(x)&&x.length>1&&(0,j.jsx)(y.Z,{tooltip:"Download all access credentials to a JSON file. NOTE: This file is not formatted for import using mc alias import. If you plan to import this alias from the file, please use the Download for Import button. ",children:(0,j.jsx)(r.zxk,{id:"download-all-button",label:"Download all access credentials",className:t.buttonSpacer,onClick:function(){var e={};x&&Array.isArray(x)&&x.length>1&&(e=x.map((function(e){return{accessKey:e.accessKey,secretKey:e.secretKey}})));Z("all_credentials.json",JSON.stringify((0,s.Z)({},e)))},icon:(0,j.jsx)(r._8t,{}),variant:"callAction",color:"primary"})})]})})]})})}))},92217:function(e,t,n){var s=n(1413),i=n(72791),a=n(61889),o=n(30829),r=n(20068),c=n(64554),l=n(11135),d=n(25787),u=n(75952),x=n(23814),p=n(78029),h=n.n(p),m=n(90932),f=n(27454),y=n(80184);t.Z=(0,d.Z)((function(e){return(0,l.Z)((0,s.Z)({},x.YI))}))((function(e){var t=e.value,n=e.label,s=void 0===n?"":n,l=e.tooltip,d=void 0===l?"":l,x=e.mode,p=void 0===x?"json":x,j=e.classes,g=e.onBeforeChange,Z=(e.readOnly,e.editorHeight),v=void 0===Z?"250px":Z;return(0,y.jsxs)(i.Fragment,{children:[(0,y.jsx)(a.ZP,{item:!0,xs:12,sx:{marginBottom:"10px"},children:(0,y.jsxs)(o.Z,{className:j.inputLabel,children:[(0,y.jsx)("span",{children:s}),""!==d&&(0,y.jsx)("div",{className:j.tooltipContainer,children:(0,y.jsx)(r.Z,{title:d,placement:"top-start",children:(0,y.jsx)("div",{className:j.tooltip,children:(0,y.jsx)(u.byK,{})})})})]})}),(0,y.jsx)(a.ZP,{item:!0,xs:12,style:{maxHeight:v,overflow:"auto",border:"1px solid #eaeaea"},children:(0,y.jsx)(m.Z,{value:t,language:p,onChange:function(e){g(null,null,e.target.value)},id:"code_wrapper",padding:15,style:{fontSize:12,backgroundColor:"#fefefe",fontFamily:"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace",minHeight:v||"initial",color:"#000000"}})}),(0,y.jsx)(a.ZP,{item:!0,xs:12,sx:{background:"#f7f7f7",border:"1px solid #eaeaea",borderTop:0},children:(0,y.jsx)(c.Z,{sx:{display:"flex",alignItems:"center",padding:"2px",paddingRight:"5px",justifyContent:"flex-end","& button":{height:"26px",width:"26px",padding:"2px"," .min-icon":{marginLeft:"0"}}},children:(0,y.jsx)(f.Z,{tooltip:"Copy to Clipboard",children:(0,y.jsx)(h(),{text:t,children:(0,y.jsx)(u.zxk,{type:"button",id:"copy-code-mirror",icon:(0,y.jsx)(u.TIy,{}),color:"primary",variant:"regular"})})})})})]})}))},56028:function(e,t,n){var s=n(29439),i=n(1413),a=n(72791),o=n(78687),r=n(13400),c=n(55646),l=n(5574),d=n(65661),u=n(39157),x=n(11135),p=n(25787),h=n(23814),m=n(25469),f=n(29823),y=n(28057),j=n(87995),g=n(80184);t.Z=(0,p.Z)((function(e){return(0,x.Z)((0,i.Z)((0,i.Z)({},h.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},h.sN))}))((function(e){var t=e.onClose,n=e.modalOpen,x=e.title,p=e.children,h=e.classes,Z=e.wideLimit,v=void 0===Z||Z,b=e.noContentPadding,K=e.titleIcon,A=void 0===K?null:K,C=(0,m.TL)(),w=(0,a.useState)(!1),S=(0,s.Z)(w,2),N=S[0],P=S[1],k=(0,o.v9)((function(e){return e.system.modalSnackBar}));(0,a.useEffect)((function(){C((0,j.MK)(""))}),[C]),(0,a.useEffect)((function(){if(k){if(""===k.message)return void P(!1);"error"!==k.type&&P(!0)}}),[k]);var B=v?{classes:{paper:h.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},T="";return k&&(T=k.detailedErrorMsg,(""===k.detailedErrorMsg||k.detailedErrorMsg.length<5)&&(T=k.message)),(0,g.jsxs)(l.Z,(0,i.Z)((0,i.Z)({open:n,classes:h},B),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:h.root,children:[(0,g.jsxs)(d.Z,{className:h.title,children:[(0,g.jsxs)("div",{className:h.titleText,children:[A," ",x]}),(0,g.jsx)("div",{className:h.closeContainer,children:(0,g.jsx)(r.Z,{"aria-label":"close",id:"close",className:h.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,g.jsx)(f.Z,{})})})]}),(0,g.jsx)(y.Z,{isModal:!0}),(0,g.jsx)(c.Z,{open:N,className:h.snackBarModal,onClose:function(){P(!1),C((0,j.MK)(""))},message:T,ContentProps:{className:"".concat(h.snackBar," ").concat(k&&"error"===k.type?h.errorSnackBar:"")},autoHideDuration:k&&"error"===k.type?1e4:5e3}),(0,g.jsx)(u.Z,{className:b?"":h.content,children:p})]}))}))},60680:function(e,t,n){n(72791);var s=n(11135),i=n(25787),a=n(80184);t.Z=(0,i.Z)((function(e){return(0,s.Z)({root:{padding:0,margin:0,fontSize:".9rem"}})}))((function(e){var t=e.classes,n=e.children;return(0,a.jsx)("h1",{className:t.root,children:n})}))}}]); +//# sourceMappingURL=3549.4d424641.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3549.4d424641.chunk.js.map b/portal-ui/build/static/js/3549.4d424641.chunk.js.map new file mode 100644 index 000000000..4cf5e7f13 --- /dev/null +++ b/portal-ui/build/static/js/3549.4d424641.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3549.4d424641.chunk.js","mappings":"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","sources":["screens/Console/Account/AddServiceAccountHelpBox.tsx","screens/Console/Account/AddServiceAccountScreen.tsx","screens/Console/Common/CredentialsPrompt/CredentialItem.tsx","screens/Console/Common/CredentialsPrompt/CredentialsPrompt.tsx","screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/PanelTitle/PanelTitle.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\nimport {\n HelpIconFilled,\n IAMPoliciesIcon,\n PasswordKeyIcon,\n ServiceAccountIcon,\n} from \"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 AddServiceAccountHelpBox = () => {\n return (\n \n \n \n
Learn more about Access Keys
\n \n \n \n }\n description={`Create Access Keys`}\n />\n \n Access Keys inherit the policies explicitly attached to the parent\n user, and the policies attached to each group in which the parent\n user has membership.\n \n \n \n }\n description={`Assign Custom Credentials`}\n />\n \n Randomized access credentials are recommended, and provided by\n default. You may use your own custom Access Key and Secret Key by\n replacing the default values. After creation of any Access Key, you\n will be given the opportunity to view and download the account\n credentials.\n \n \n Access Keys support programmatic access by applications. You cannot\n use a Access Key to log into the MinIO Console.\n \n \n \n }\n description={`Assign Access Policies`}\n />\n \n You can specify an optional JSON-formatted IAM policy to further\n restrict Access Key access to a subset of the actions and resources\n explicitly allowed for the parent user. Additional access beyond\n that of the parent user cannot be implemented through these\n policies.\n \n \n You cannot modify the optional Access Key IAM policy after saving.\n \n \n \n \n \n );\n};\n\nexport default AddServiceAccountHelpBox;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { useNavigate } from \"react-router-dom\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box } from \"@mui/material\";\nimport {\n IAMPoliciesIcon,\n PasswordKeyIcon,\n ServiceAccountCredentialsIcon,\n} from \"mds\";\nimport CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport AddServiceAccountHelpBox from \"./AddServiceAccountHelpBox\";\nimport BackLink from \"../../../common/BackLink\";\nimport { NewServiceAccount } from \"../Common/CredentialsPrompt/types\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport { ErrorResponseHandler } from \"../../../../src/common/types\";\nimport api from \"../../../../src/common/api\";\nimport CredentialsPrompt from \"../Common/CredentialsPrompt/CredentialsPrompt\";\n\nimport SectionTitle from \"../Common/SectionTitle\";\nimport { getRandomString } from \"../../../screens/Console/Tenants/utils\";\nimport PanelTitle from \"../Common/PanelTitle/PanelTitle\";\n\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\n\ninterface IAddServiceAccountProps {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n bottomContainer: {\n display: \"flex\",\n flexGrow: 1,\n alignItems: \"center\",\n margin: \"auto\",\n justifyContent: \"center\",\n \"& div\": {\n width: 150,\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\nconst AddServiceAccount = ({ classes }: IAddServiceAccountProps) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const [addSending, setAddSending] = useState(false);\n const [accessKey, setAccessKey] = useState(getRandomString(16));\n const [secretKey, setSecretKey] = useState(getRandomString(32));\n const [isRestrictedByPolicy, setIsRestrictedByPolicy] =\n useState(false);\n const [newServiceAccount, setNewServiceAccount] =\n useState(null);\n const [showPassword, setShowPassword] = useState(false);\n const [policyJSON, setPolicyJSON] = useState(\"\");\n\n useEffect(() => {\n if (addSending) {\n api\n .invoke(\"POST\", `/api/v1/service-account-credentials`, {\n policy: policyJSON,\n accessKey: accessKey,\n secretKey: secretKey,\n })\n .then((res) => {\n setAddSending(false);\n setNewServiceAccount({\n accessKey: res.accessKey || \"\",\n secretKey: res.secretKey || \"\",\n url: res.url || \"\",\n });\n })\n\n .catch((err: ErrorResponseHandler) => {\n setAddSending(false);\n dispatch(setErrorSnackMessage(err));\n });\n }\n }, [addSending, setAddSending, dispatch, policyJSON, accessKey, secretKey]);\n\n useEffect(() => {\n if (isRestrictedByPolicy) {\n api.invoke(\"GET\", `/api/v1/user/policy`).then((res: string) => {\n setPolicyJSON(JSON.stringify(JSON.parse(res), null, 4));\n });\n }\n }, [isRestrictedByPolicy]);\n\n const addServiceAccount = (e: React.FormEvent) => {\n e.preventDefault();\n setAddSending(true);\n };\n\n const resetForm = () => {\n setPolicyJSON(\"\");\n setNewServiceAccount(null);\n setAccessKey(\"\");\n setSecretKey(\"\");\n setShowPassword(false);\n };\n\n const closeCredentialsModal = () => {\n setNewServiceAccount(null);\n navigate(`${IAM_PAGES.ACCOUNT}`);\n };\n\n return (\n \n {newServiceAccount !== null && (\n {\n closeCredentialsModal();\n }}\n entity=\"Access Key\"\n />\n )}\n \n }\n />\n \n \n \n }>\n Create Access Key\n \n\n ) => {\n addServiceAccount(e);\n }}\n >\n \n \n \n \n \n \n \n \n \n \n \n {\" \"}\n
\n {\n setAccessKey(e.target.value);\n }}\n />\n
\n
\n \n
\n {\n setSecretKey(e.target.value);\n }}\n overlayIcon={\n showPassword ? (\n \n ) : (\n \n )\n }\n overlayAction={() =>\n setShowPassword(!showPassword)\n }\n />\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n ) => {\n setIsRestrictedByPolicy(event.target.checked);\n }}\n label={\"Restrict beyond user policy\"}\n tooltip={\n \"You can specify an optional JSON-formatted IAM policy to further restrict Access Key access to a subset of the actions and resources explicitly allowed for the parent user. Additional access beyond that of the parent user cannot be implemented through these policies.\"\n }\n />\n \n \n \n {isRestrictedByPolicy && (\n \n
\n \n Current User Policy - edit the JSON to remove\n permissions for this Access Key\n \n
\n \n {\n setPolicyJSON(value);\n }}\n editorHeight={\"350px\"}\n />\n \n
\n )}\n
\n \n \n\n \n \n
\n \n \n \n \n \n \n
\n );\n};\n\nexport default withStyles(styles)(AddServiceAccount);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { InputAdornment, OutlinedInput } from \"@mui/material\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { CopyIcon } from \"mds\";\nimport { fieldBasic } from \"../FormComponents/common/styleLibrary\";\nimport TooltipWrapper from \"../TooltipWrapper/TooltipWrapper\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n container: {\n display: \"flex\",\n flexFlow: \"column\",\n padding: \"20px 0 8px 0\",\n },\n inputWithCopy: {\n \"& .MuiInputBase-root \": {\n width: \"100%\",\n background: \"#FBFAFA\",\n \"& .MuiInputBase-input\": {\n height: \".8rem\",\n },\n \"& .MuiInputAdornment-positionEnd\": {\n marginRight: \".5rem\",\n \"& .MuiButtonBase-root\": {\n height: \"2rem\",\n },\n },\n },\n \"& .MuiButtonBase-root .min-icon\": {\n width: \".8rem\",\n height: \".8rem\",\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontSize: \".8rem\",\n },\n });\n\nconst CredentialItem = ({\n label = \"\",\n value = \"\",\n classes = {},\n}: {\n label: string;\n value: string;\n classes: any;\n}) => {\n return (\n
\n
{label}:
\n
\n \n \n \n {}}\n onMouseDown={() => {}}\n style={{\n width: \"28px\",\n height: \"28px\",\n padding: \"0px\",\n }}\n icon={}\n />\n \n \n \n }\n />\n
\n
\n );\n};\n\nexport default withStyles(styles)(CredentialItem);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { NewServiceAccount } from \"./types\";\nimport ModalWrapper from \"../ModalWrapper/ModalWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport CredentialItem from \"./CredentialItem\";\nimport { WarnIcon } from \"mds\";\nimport { DownloadIcon, ServiceAccountCredentialsIcon } from \"mds\";\nimport TooltipWrapper from \"../TooltipWrapper/TooltipWrapper\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n warningBlock: {\n color: \"red\",\n fontSize: \".85rem\",\n margin: \".5rem 0 .5rem 0\",\n display: \"flex\",\n alignItems: \"center\",\n \"& svg \": {\n marginRight: \".3rem\",\n height: 16,\n width: 16,\n },\n },\n credentialTitle: {\n padding: \".8rem 0 0 0\",\n fontWeight: 600,\n fontSize: \".9rem\",\n },\n buttonContainer: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n marginTop: \"1rem\",\n },\n credentialsPanel: {\n overflowY: \"auto\",\n maxHeight: 350,\n },\n promptTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n buttonSpacer: {\n marginRight: \".9rem\",\n },\n });\n\ninterface ICredentialsPromptProps {\n classes: any;\n newServiceAccount: NewServiceAccount | null;\n open: boolean;\n entity: string;\n closeModal: () => void;\n}\n\nconst download = (filename: string, text: string) => {\n let element = document.createElement(\"a\");\n element.setAttribute(\"href\", \"data:text/plain;charset=utf-8,\" + text);\n element.setAttribute(\"download\", filename);\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n document.body.removeChild(element);\n};\n\nconst CredentialsPrompt = ({\n classes,\n newServiceAccount,\n open,\n closeModal,\n entity,\n}: ICredentialsPromptProps) => {\n if (!newServiceAccount) {\n return null;\n }\n const consoleCreds = get(newServiceAccount, \"console\", null);\n const idp = get(newServiceAccount, \"idp\", false);\n\n const downloadImport = () => {\n let consoleExtras = {};\n\n if (consoleCreds) {\n if (!Array.isArray(consoleCreds)) {\n consoleExtras = {\n url: consoleCreds.url,\n accessKey: consoleCreds.accessKey,\n secretKey: consoleCreds.secretKey,\n api: \"s3v4\",\n path: \"auto\",\n };\n } else {\n const cCreds = consoleCreds.map((itemMap) => {\n return {\n url: itemMap.url,\n accessKey: itemMap.accessKey,\n secretKey: itemMap.secretKey,\n api: \"s3v4\",\n path: \"auto\",\n };\n });\n consoleExtras = cCreds[0];\n }\n } else {\n consoleExtras = {\n url: newServiceAccount.url,\n accessKey: newServiceAccount.accessKey,\n secretKey: newServiceAccount.secretKey,\n api: \"s3v4\",\n path: \"auto\",\n };\n }\n\n download(\n \"credentials.json\",\n JSON.stringify({\n ...consoleExtras,\n })\n );\n };\n\n const downloaddAllCredentials = () => {\n let allCredentials = {};\n if (\n consoleCreds &&\n Array.isArray(consoleCreds) &&\n consoleCreds.length > 1\n ) {\n const cCreds = consoleCreds.map((itemMap) => {\n return {\n accessKey: itemMap.accessKey,\n secretKey: itemMap.secretKey,\n };\n });\n allCredentials = cCreds;\n }\n download(\n \"all_credentials.json\",\n JSON.stringify({\n ...allCredentials,\n })\n );\n };\n\n return (\n {\n closeModal();\n }}\n title={\n
\n
New {entity} Created
\n
\n }\n titleIcon={}\n >\n \n \n A new {entity} has been created with the following details:\n {!idp && consoleCreds && (\n \n \n
\n Console Credentials\n
\n {Array.isArray(consoleCreds) &&\n consoleCreds.map((credentialsPair, index) => {\n return (\n <>\n \n \n \n );\n })}\n {!Array.isArray(consoleCreds) && (\n <>\n \n \n \n )}\n
\n
\n )}\n {(consoleCreds === null || consoleCreds === undefined) && (\n <>\n \n \n \n )}\n {idp ? (\n
\n Please Login via the configured external identity provider.\n
\n ) : (\n
\n \n \n Write these down, as this is the only time the secret will be\n displayed.\n \n
\n )}\n
\n \n {!idp && (\n <>\n \n }\n variant=\"callAction\"\n />\n \n\n {Array.isArray(consoleCreds) && consoleCreds.length > 1 && (\n \n }\n variant=\"callAction\"\n color=\"primary\"\n />\n \n )}\n \n )}\n \n
\n \n );\n};\n\nexport default withStyles(styles)(CredentialsPrompt);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { HelpIcon } from \"mds\";\nimport { fieldBasic } from \"../common/styleLibrary\";\nimport { CopyIcon } from \"mds\";\nimport { Button } from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport CodeEditor from \"@uiw/react-textarea-code-editor\";\nimport TooltipWrapper from \"../../TooltipWrapper/TooltipWrapper\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n classes: any;\n onChange?: (editor: any, data: any, value: string) => any;\n onBeforeChange: (editor: any, data: any, value: string) => any;\n readOnly?: boolean;\n editorHeight?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n });\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n classes,\n onBeforeChange,\n readOnly = false,\n editorHeight = \"250px\",\n}: ICodeWrapper) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n\n \n {\n onBeforeChange(null, null, evn.target.value);\n }}\n id={\"code_wrapper\"}\n padding={15}\n style={{\n fontSize: 12,\n backgroundColor: \"#fefefe\",\n fontFamily:\n \"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace\",\n minHeight: editorHeight || \"initial\",\n color: \"#000000\",\n }}\n />\n \n \n \n \n \n }\n color={\"primary\"}\n variant={\"regular\"}\n />\n \n \n \n \n
\n );\n};\n\nexport default withStyles(styles)(CodeMirrorWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n noContentPadding?: boolean;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n noContentPadding,\n titleIcon = null,\n}: IModalProps) => {\n const dispatch = useAppDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nexport default withStyles(styles)(ModalWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButtonProps } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 0,\n margin: 0,\n fontSize: \".9rem\",\n },\n });\n\ninterface IPanelTitle extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst PanelTitle = ({ classes, children }: IPanelTitle) => {\n return

{children}

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

{children}

;\n};\n\nexport default withStyles(styles)(PanelTitle);\n"],"names":["FeatureItem","icon","description","Box","sx","display","marginRight","height","width","marginBottom","style","fontSize","fontStyle","color","flex","border","borderRadius","flexFlow","padding","marginTop","xs","fontWeight","alignItems","paddingBottom","paddingTop","withStyles","theme","createStyles","bottomContainer","flexGrow","margin","justifyContent","formFieldStyles","modalStyleUtils","classes","dispatch","useAppDispatch","navigate","useNavigate","useState","addSending","setAddSending","getRandomString","accessKey","setAccessKey","secretKey","setSecretKey","isRestrictedByPolicy","setIsRestrictedByPolicy","newServiceAccount","setNewServiceAccount","showPassword","setShowPassword","policyJSON","setPolicyJSON","useEffect","api","policy","then","res","url","catch","err","setErrorSnackMessage","JSON","stringify","parse","Fragment","CredentialsPrompt","open","closeModal","IAM_PAGES","entity","Grid","item","PageHeader","label","BackLink","to","PageLayout","gap","gridTemplateColumns","md","SectionTitle","noValidate","autoComplete","onSubmit","e","preventDefault","addServiceAccount","container","spacing","className","stackedInputs","InputBoxWrapper","value","id","name","placeholder","onChange","target","type","overlayIcon","VisibilityOff","RemoveRedEye","overlayAction","FormSwitchWrapper","checked","event","tooltip","codeMirrorContainer","PanelTitle","formScrollable","CodeMirrorWrapper","onBeforeChange","editor","data","editorHeight","modalButtonBar","variant","onClick","inputWithCopy","background","inputLabel","fieldBasic","OutlinedInput","readOnly","endAdornment","InputAdornment","position","TooltipWrapper","text","onMouseDown","download","filename","element","document","createElement","setAttribute","body","appendChild","click","removeChild","warningBlock","credentialTitle","buttonContainer","credentialsPanel","overflowY","maxHeight","promptTitle","buttonSpacer","consoleCreds","get","idp","ModalWrapper","modalOpen","onClose","title","titleIcon","Array","isArray","map","credentialsPair","index","undefined","WarnIcon","consoleExtras","itemMap","path","length","allCredentials","mode","tooltipContainer","placement","overflow","language","evn","backgroundColor","fontFamily","minHeight","borderTop","paddingRight","marginLeft","deleteDialogStyles","content","customDialogSize","maxWidth","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","modalSnackMessage","useSelector","state","system","modalSnackBar","setModalSnackMessage","message","customSize","paper","fullWidth","detailedErrorMsg","scroll","reason","root","titleText","closeContainer","closeButton","disableRipple","size","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3832.064838f9.chunk.js b/portal-ui/build/static/js/3832.064838f9.chunk.js new file mode 100644 index 000000000..e9cfa7fc9 --- /dev/null +++ b/portal-ui/build/static/js/3832.064838f9.chunk.js @@ -0,0 +1,2 @@ +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3832],{59114:function(e,n,t){"use strict";var o=t(4942),r=t(1413),i=(t(72791),t(63466)),l=t(75952),s=t(27391),a=t(25787),c=t(11135),d=t(23814),u=t(80184);n.Z=(0,a.Z)((function(e){return(0,c.Z)({searchField:(0,r.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,r=e.classes,a=e.onChange,c=e.adornmentPosition,d=void 0===c?"end":c,h=e.overrideClass,g=e.value,x=(0,o.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(i.Z,{position:d,className:r.adornment,children:(0,u.jsx)(l.W1M,{})}));return(0,u.jsx)(s.Z,{placeholder:t,className:h||r.searchField,id:"search-resource",label:"",InputProps:x,onChange:function(e){a(e.target.value)},variant:"standard",value:g})}))},63832:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return z}});var o=t(29439),r=t(1413),i=t(72791),l=t(95087),s=t(75952),a=t(11135),c=t(25787),d=t(78687),u=t(4834),h=t(61889),g=t(68096),x=t(58406),f=t(23786),p=t(99779),j=t(81207),m=t(25469),v=t(26824),Z=t(23814),y=t(32291),b=t(74794),w=t(59114),C=t(35527),S=t(79836),k=t(53382),T=t(39281),A=t(35855),F=t(53994),L=t(56125),N=t(64554),O=t(20890),M=t(26181),R=t.n(M),_=t(80184),P=function(e){var n=e.log,t=(0,i.useState)(!1),r=(0,o.Z)(t,2),l=r[0],a=r[1],c=function(e){return R()(n,e,"")},d="",u=c("ConsoleMsg"),h=c("error.message");""!==u?d=u:""!==h&&(d=h);var g=(d||"").replace(/\u2501|\u250f|\u2513|\u2503|\u2517|\u251b/g,"");g=g.replace(/([^\x20-\x7F])/g,"");var x=(0,_.jsx)(i.Fragment,{});""!==u?x=function(e){var n=e.ConsoleMsg;return n=(n=n.replace(/\x1B/g," ")).replace(/((\[[0-9;]+m))/g,""),(0,_.jsx)("div",{style:{display:"table",tableLayout:"fixed",width:"100%",paddingLeft:10,paddingRight:10},children:(0,_.jsx)("div",{style:{display:"table-cell",whiteSpace:"nowrap",textOverflow:"ellipsis",overflowX:"auto"},children:(0,_.jsx)("pre",{children:n})})})}(n):""!==h&&(x=function(e){var n={color:"#C83B51",fontWeight:400,fontFamily:"monospace",fontSize:"12px"},t={fontFamily:"monospace",fontSize:"12px"},o=function(n){return R()(e,n,"")};return(0,_.jsxs)(i.Fragment,{children:[(0,_.jsxs)("div",{children:[(0,_.jsx)("b",{style:t,children:"API:\xa0"}),(0,_.jsx)("span",{style:n,children:o("api.name")})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("b",{style:t,children:"Time:\xa0"}),(0,_.jsx)("span",{style:n,children:o("time").toString()})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("b",{style:t,children:"DeploymentID:\xa0"}),(0,_.jsx)("span",{style:n,children:o("deploymentid")})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("b",{style:t,children:"RequestID:\xa0"}),(0,_.jsx)("span",{style:n,children:o("requestID")})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("b",{style:t,children:"RemoteHost:\xa0"}),(0,_.jsx)("span",{style:n,children:o("remotehost")})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("b",{style:t,children:"UserAgent:\xa0"}),(0,_.jsx)("span",{style:n,children:o("userAgent")})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("b",{style:t,children:"Error:\xa0"}),(0,_.jsx)("span",{style:n,children:o("error.message")})]}),(0,_.jsx)("br",{}),(0,_.jsx)("div",{children:(0,_.jsx)("b",{style:t,children:"Backtrace:\xa0"})}),(e.error.source||[]).map((function(e,o){return(0,_.jsxs)("div",{children:[(0,_.jsxs)("b",{style:t,children:[o,":\xa0"]}),(0,_.jsx)("span",{style:n,children:e})]})}))]})}(n)),g=(g||"").replace(/((\[[0-9;]+m))/g,"");var f=p.ou.fromJSDate(n.time),j=(0,_.jsx)(i.Fragment,{children:f.toFormat("yyyy/MM/dd HH:mm:ss (ZZZZ)")});return 1===n.time.getFullYear()&&(j=(0,_.jsx)(i.Fragment,{children:"n/a"})),(0,_.jsxs)(i.Fragment,{children:[(0,_.jsxs)(A.Z,{sx:{"& > *":{borderBottom:"unset"},cursor:"pointer",borderLeft:"0",borderRight:"0"},style:{backgroundColor:"#FDFDFD"},children:[(0,_.jsx)(F.Z,{onClick:function(){return a(!l)},style:{width:200,color:"#989898",fontSize:12},children:(0,_.jsxs)(N.Z,{sx:{"& .min-icon":{width:12,marginRight:1},fontWeight:"bold",lineHeight:1},children:[(0,_.jsx)(s.AeX,{}),j]})}),(0,_.jsx)(F.Z,{onClick:function(){return a(!l)},style:{width:200,color:"#989898",fontSize:12},children:(0,_.jsx)(N.Z,{sx:{"& .min-icon":{width:12,marginRight:1},fontWeight:"bold",lineHeight:1},children:n.errKind})}),(0,_.jsx)(F.Z,{onClick:function(){return a(!l)},children:(0,_.jsx)("div",{style:{display:"table",tableLayout:"fixed",width:"100%",paddingLeft:10,paddingRight:10},children:(0,_.jsx)("div",{style:{display:"table-cell",whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden"},children:g})})}),(0,_.jsx)(F.Z,{onClick:function(){return a(!l)},style:{width:40},children:(0,_.jsx)(N.Z,{sx:{"& .min-icon":{display:"flex",alignItems:"center",justifyContent:"center",borderRadius:"2px"},"&:hover .min-icon":{fill:"#eaeaea"}},children:l?(0,_.jsx)(s.Ekf,{}):(0,_.jsx)(s._f_,{})})})]}),l?(0,_.jsxs)(A.Z,{children:[(0,_.jsx)(F.Z,{style:{paddingBottom:0,paddingTop:0,width:200,textTransform:"uppercase",verticalAlign:"top",textAlign:"right",color:"#8399AB",fontWeight:"bold"},children:(0,_.jsx)(L.Z,{in:l,timeout:"auto",unmountOnExit:!0,children:(0,_.jsx)("div",{style:{marginTop:10},children:"Log Details"})})}),(0,_.jsx)(F.Z,{colSpan:2,style:{paddingBottom:0,paddingTop:0},children:(0,_.jsx)(L.Z,{in:l,timeout:"auto",unmountOnExit:!0,children:(0,_.jsx)(N.Z,{sx:{margin:1},children:(0,_.jsx)(O.Z,{style:{background:"#efefef",border:"1px solid #dedede",padding:4,fontSize:14,color:"#666666"},children:x})})})}),(0,_.jsx)(F.Z,{style:{paddingBottom:0,paddingTop:0,width:40}})]}):null]},n.time.toString())},I=t(69129),E=(0,t(72455).Z)((function(e){return(0,a.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({logList:{background:"#fff",minHeight:400,height:"calc(100vh - 200px)",overflow:"auto",fontSize:13,borderRadius:4},logerror_tab:{color:"#A52A2A",paddingLeft:25},nodeField:{width:"100%"},highlight:{"& span":{backgroundColor:"#082F5238"}}},Z.OR),{},{actionsTray:(0,r.Z)((0,r.Z)({},Z.OR.actionsTray),{},{marginBottom:0})},Z.qg),Z.o$),Z.IX),(0,Z.Bz)(e.spacing(4))))})),D=(0,c.Z)((function(e){return(0,a.Z)({root:{lineHeight:"50px","label + &":{marginTop:e.spacing(3)},"& .MuiSelect-select:focus":{backgroundColor:"transparent"}}})}))(u.ZP),U=null,z=function(){var e=(0,m.TL)(),n=E(),t=(0,d.v9)((function(e){return e.logs.logMessages})),r=(0,d.v9)((function(e){return e.logs.logsStarted})),a=(0,i.useState)(""),c=(0,o.Z)(a,2),u=c[0],Z=c[1],A=(0,i.useState)([""]),F=(0,o.Z)(A,2),L=F[0],N=F[1],O=(0,i.useState)("all"),M=(0,o.Z)(O,2),R=M[0],z=M[1],B=(0,i.useState)("Select user agent"),H=(0,o.Z)(B,2),W=H[0],q=H[1],X=(0,i.useState)(["All User Agents"]),G=(0,o.Z)(X,2),J=G[0],K=G[1],Q=(0,i.useState)("all"),V=(0,o.Z)(Q,2),Y=V[0],$=V[1],ee=(0,i.useState)(!1),ne=(0,o.Z)(ee,2),te=ne[0],oe=ne[1],re=u.toLowerCase(),ie=t.filter((function(e){return(e.userAgent===W||"All User Agents"===W||"Select user agent"===W)&&(""===u||(e.ConsoleMsg.toLowerCase().indexOf(re)>=0||(!!(e.error&&e.error.source&&e.error.source.filter((function(e){return e.toLowerCase().indexOf(re)>=0})).length>0)||(!!(e.error&&e.error.message.toLowerCase().indexOf(re)>=0)||!!(e.api&&e.api.name.toLowerCase().indexOf(re)>=0)))))}));return(0,i.useEffect)((function(){oe(!0),j.Z.invoke("GET","/api/v1/nodes").then((function(e){N(e),oe(!1)})).catch((function(e){oe(!1)}))}),[]),(0,_.jsxs)(i.Fragment,{children:[(0,_.jsx)(y.Z,{label:"Logs"}),(0,_.jsx)(b.Z,{children:(0,_.jsxs)(h.ZP,{container:!0,spacing:1,children:[(0,_.jsx)(h.ZP,{item:!0,xs:4,children:te?(0,_.jsx)("h3",{children:" Loading nodes"}):(0,_.jsx)(g.Z,{variant:"outlined",className:n.nodeField,children:(0,_.jsxs)(x.Z,{id:"node",name:"node","data-test-id":"node-selector",value:R,onChange:function(e){z(e.target.value)},className:n.searchField,disabled:te||r,input:(0,_.jsx)(D,{}),placeholder:"Select Node",children:[(0,_.jsx)(f.Z,{value:"all",children:"All Nodes"},"select-node-all"),L.map((function(e){return(0,_.jsx)(f.Z,{value:e,children:e},"select-node-name-".concat(e))}))]})})}),(0,_.jsx)(h.ZP,{item:!0,xs:3,children:(0,_.jsx)(g.Z,{variant:"outlined",className:n.nodeField,children:(0,_.jsxs)(x.Z,{id:"logType",name:"logType","data-test-id":"log-type",value:Y,onChange:function(e){$(e.target.value)},className:n.searchField,disabled:te||r,input:(0,_.jsx)(D,{}),placeholder:"Select Log Type",children:[(0,_.jsx)(f.Z,{value:"all",children:"All Log Types"},"all-log-types"),(0,_.jsx)(f.Z,{value:"minio",children:"MinIO"},"minio-log-type"),(0,_.jsx)(f.Z,{value:"application",children:"Application"},"app-log-type")]})})}),(0,_.jsx)(h.ZP,{item:!0,xs:3,children:J.length>1&&(0,_.jsx)(g.Z,{variant:"outlined",className:n.nodeField,children:(0,_.jsxs)(x.Z,{id:"userAgent",name:"userAgent","data-test-id":"user-agent",value:W,onChange:function(e){q(e.target.value)},className:n.searchField,disabled:J.length<1||r,input:(0,_.jsx)(D,{}),children:[(0,_.jsx)(f.Z,{value:W,disabled:!0,children:"Select User Agent"},"select-user-agent-default"),J.map((function(e){return(0,_.jsx)(f.Z,{value:e,children:e},"select-user-agent-".concat(e))}))]})})}),(0,_.jsxs)(h.ZP,{item:!0,xs:2,sx:{display:"flex",justifyContent:"flex-end"},children:[!r&&(0,_.jsx)(s.zxk,{id:"start-logs",type:"submit",variant:"callAction",disabled:!1,onClick:function(){e((0,I.i1)());var n=new URL(window.location.toString()),t=n.port,o=(0,v.x2)(n.protocol),r=new URL(document.baseURI).pathname;U=new l.w3cwebsocket("".concat(o,"://").concat(n.hostname,":").concat(t).concat(r,"ws/console/?logType=").concat(Y,"&node=").concat("Select node"===R?"":R));var i=null;if(null!==U)return U.onopen=function(){console.log("WebSocket Client Connected"),e((0,I.v0)(!0)),U.send("ok"),i=setInterval((function(){U.send("ok")}),1e4)},U.onmessage=function(n){var t=JSON.parse(n.data.toString()),o=!0;""===t.level&&""===t.errKind&&"00:00:00 UTC 01/01/0001"===t.time&&""===t.ConsoleMsg&&""===t.node&&(o=!1);var r=p.ou.fromFormat(t.time,"HH:mm:ss UTC MM/dd/yyyy").toJSDate();t.time=r,t.key=Math.random(),J.indexOf(t.userAgent)<0&&void 0!==t.userAgent&&(J.push(t.userAgent),K(J)),o&&e((0,I.Qo)(t))},U.onclose=function(){clearInterval(i),console.log("connection closed by server"),e((0,I.v0)(!1))},function(){U.close(1e3),clearInterval(i),console.log("closing websockets"),e((0,I.v0)(!1))}},label:"Start Logs"}),r&&(0,_.jsx)(s.zxk,{id:"stop-logs",type:"button",variant:"callAction",onClick:function(){null!==U&&void 0!==U&&(U.close(1e3),e((0,I.v0)(!1)))},label:"Stop Logs"})]}),(0,_.jsx)(h.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,_.jsx)(w.Z,{placeholder:"Filter",onChange:function(e){Z(e)},value:u})}),(0,_.jsx)(h.ZP,{item:!0,xs:12,children:(0,_.jsx)("div",{id:"logs-container",className:n.logList,"data-test-id":"logs-list-container",children:(0,_.jsxs)(T.Z,{component:C.Z,children:[(0,_.jsx)(S.Z,{"aria-label":"collapsible table",children:(0,_.jsx)(k.Z,{children:ie.map((function(e){return(0,_.jsx)(P,{log:e})}))})}),0===ie.length&&(0,_.jsx)("div",{style:{padding:20,textAlign:"center"},children:"No logs to display"})]})})})]})})]})}},26824:function(e,n,t){"use strict";t.d(n,{HE:function(){return i},V9:function(){return o},ci:function(){return r},x2:function(){return l}});var o=1006,r=1008,i=1011,l=function(e){var n="ws";return"https:"===e&&(n="wss"),n}},39281:function(e,n,t){"use strict";t.d(n,{Z:function(){return p}});var o=t(87462),r=t(63366),i=t(72791),l=t(28182),s=t(94419),a=t(31402),c=t(66934),d=t(75878),u=t(21217);function h(e){return(0,u.Z)("MuiTableContainer",e)}(0,d.Z)("MuiTableContainer",["root"]);var g=t(80184),x=["className","component"],f=(0,c.ZP)("div",{name:"MuiTableContainer",slot:"Root",overridesResolver:function(e,n){return n.root}})({width:"100%",overflowX:"auto"}),p=i.forwardRef((function(e,n){var t=(0,a.Z)({props:e,name:"MuiTableContainer"}),i=t.className,c=t.component,d=void 0===c?"div":c,u=(0,r.Z)(t,x),p=(0,o.Z)({},t,{component:d}),j=function(e){var n=e.classes;return(0,s.Z)({root:["root"]},h,n)}(p);return(0,g.jsx)(f,(0,o.Z)({ref:n,as:d,className:(0,l.Z)(j.root,i),ownerState:p},u))}))},94210:function(e){var n=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 n()}try{return __global__||n()}finally{delete Object.prototype.__global__}}()},95087:function(e,n,t){var o;if("object"===typeof globalThis)o=globalThis;else try{o=t(94210)}catch(s){}finally{if(o||"undefined"===typeof window||(o=window),!o)throw new Error("Could not determine global this")}var r=o.WebSocket||o.MozWebSocket,i=t(51496);function l(e,n){return n?new r(e,n):new r(e)}r&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach((function(e){Object.defineProperty(l,e,{get:function(){return r[e]}})})),e.exports={w3cwebsocket:r?l:null,version:i}},51496:function(e,n,t){e.exports=t(19794).version},19794:function(e){"use strict";e.exports={version:"1.0.34"}}}]); +//# sourceMappingURL=3832.064838f9.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3832.064838f9.chunk.js.map b/portal-ui/build/static/js/3832.064838f9.chunk.js.map new file mode 100644 index 000000000..64b2531d7 --- /dev/null +++ b/portal-ui/build/static/js/3832.064838f9.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3832.064838f9.chunk.js","mappings":"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","sources":["screens/Console/Common/SearchBox.tsx","screens/Console/Logs/ErrorLogs/LogLine.tsx","screens/Console/Logs/ErrorLogs/ErrorLogs.tsx","utils/wsUtils.ts","../node_modules/@mui/material/TableContainer/tableContainerClasses.js","../node_modules/@mui/material/TableContainer/TableContainer.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) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport { SearchIcon } from \"mds\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { Fragment, useState } from \"react\";\nimport { DateTime } from \"luxon\";\nimport TableRow from \"@mui/material/TableRow\";\nimport TableCell from \"@mui/material/TableCell\";\nimport Collapse from \"@mui/material/Collapse\";\nimport Box from \"@mui/material/Box\";\nimport Typography from \"@mui/material/Typography\";\nimport { LogMessage } from \"../types\";\nimport { BoxArrowUp, BoxArrowDown, WarnFilledIcon } from \"mds\";\n\nimport getByKey from \"lodash/get\";\n\nconst messageForConsoleMsg = (log: LogMessage) => {\n // regex for terminal colors like e.g. `[31;4m `\n const tColorRegex = /((\\[[0-9;]+m))/g;\n\n let fullMessage = log.ConsoleMsg;\n // remove the 0x1B character\n /* eslint-disable no-control-regex */\n fullMessage = fullMessage.replace(/\\x1B/g, \" \");\n /* eslint-enable no-control-regex */\n // get substring if there was a match for to split what\n // is going to be colored and what not, here we add color\n // only to the first match.\n fullMessage = fullMessage.replace(tColorRegex, \"\");\n return (\n \n \n
{fullMessage}
\n \n \n );\n};\nconst messageForError = (log: LogMessage) => {\n const dataStyle = {\n color: \"#C83B51\",\n fontWeight: 400,\n fontFamily: \"monospace\",\n fontSize: \"12px\",\n };\n const labelStyle = {\n fontFamily: \"monospace\",\n fontSize: \"12px\",\n };\n\n const getLogEntryKey = (keyPath: string) => {\n return getByKey(log, keyPath, \"\");\n };\n\n return (\n \n
\n API: \n {getLogEntryKey(\"api.name\")}\n
\n
\n Time: \n {getLogEntryKey(\"time\").toString()}\n
\n
\n DeploymentID: \n {getLogEntryKey(\"deploymentid\")}\n
\n
\n RequestID: \n {getLogEntryKey(\"requestID\")}\n
\n
\n RemoteHost: \n {getLogEntryKey(\"remotehost\")}\n
\n
\n UserAgent: \n {getLogEntryKey(\"userAgent\")}\n
\n
\n Error: \n {getLogEntryKey(\"error.message\")}\n
\n
\n
\n Backtrace: \n
\n\n {(log.error.source || []).map((e: any, i: number) => {\n return (\n
\n {i}: \n {e}\n
\n );\n })}\n
\n );\n};\n\nconst LogLine = (props: { log: LogMessage }) => {\n const { log } = props;\n const [open, setOpen] = useState(false);\n\n const getLogLineKey = (keyPath: string) => {\n return getByKey(log, keyPath, \"\");\n };\n\n let logMessage = \"\";\n let consoleMsg = getLogLineKey(\"ConsoleMsg\");\n let errMsg = getLogLineKey(\"error.message\");\n if (consoleMsg !== \"\") {\n logMessage = consoleMsg;\n } else if (errMsg !== \"\") {\n logMessage = errMsg;\n }\n // remove any non ascii characters, exclude any control codes\n let titleLogMessage = (logMessage || \"\").replace(/━|┏|┓|┃|┗|┛/g, \"\");\n // remove any non ascii characters, exclude any control codes\n titleLogMessage = titleLogMessage.replace(/([^\\x20-\\x7F])/g, \"\");\n\n // regex for terminal colors like e.g. `[31;4m `\n const tColorRegex = /((\\[[0-9;]+m))/g;\n\n let fullMessage = ;\n if (consoleMsg !== \"\") {\n fullMessage = messageForConsoleMsg(log);\n } else if (errMsg !== \"\") {\n fullMessage = messageForError(log);\n }\n\n titleLogMessage = (titleLogMessage || \"\").replace(tColorRegex, \"\");\n\n const logTime = DateTime.fromJSDate(log.time);\n\n let dateStr = (\n {logTime.toFormat(\"yyyy/MM/dd HH:mm:ss (ZZZZ)\")}\n );\n\n if (log.time.getFullYear() === 1) {\n dateStr = n/a;\n }\n\n return (\n \n *\": { borderBottom: \"unset\" },\n cursor: \"pointer\",\n borderLeft: \"0\",\n borderRight: \"0\",\n }}\n style={{ backgroundColor: \"#FDFDFD\" }}\n >\n setOpen(!open)}\n style={{ width: 200, color: \"#989898\", fontSize: 12 }}\n >\n \n \n {dateStr}\n \n \n setOpen(!open)}\n style={{ width: 200, color: \"#989898\", fontSize: 12 }}\n >\n \n {log.errKind}\n \n \n setOpen(!open)}>\n \n \n {titleLogMessage}\n \n \n \n setOpen(!open)} style={{ width: 40 }}>\n \n {open ? : }\n \n \n \n {open ? (\n \n \n \n
Log Details
\n
\n \n \n \n \n \n {fullMessage}\n \n \n \n \n \n
\n ) : null}\n
\n );\n};\n\nexport default LogLine;\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 { IMessageEvent, w3cwebsocket as W3CWebSocket } from \"websocket\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { useSelector } from \"react-redux\";\nimport { FormControl, Grid, InputBase, MenuItem, Select } from \"@mui/material\";\nimport { DateTime } from \"luxon\";\n\nimport { ErrorResponseHandler } from \"../../../../../src/common/types\";\nimport api from \"../../../../../src/common/api\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\n\nimport { wsProtocol } from \"../../../../utils/wsUtils\";\nimport {\n actionsTray,\n containerForHeader,\n inlineCheckboxes,\n logsCommon,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport SearchBox from \"../../Common/SearchBox\";\nimport Paper from \"@mui/material/Paper\";\nimport Table from \"@mui/material/Table\";\nimport TableBody from \"@mui/material/TableBody\";\nimport TableContainer from \"@mui/material/TableContainer\";\nimport LogLine from \"./LogLine\";\nimport {\n logMessageReceived,\n logResetMessages,\n setLogsStarted,\n} from \"../logsSlice\";\nimport makeStyles from \"@mui/styles/makeStyles\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n logList: {\n background: \"#fff\",\n minHeight: 400,\n height: \"calc(100vh - 200px)\",\n overflow: \"auto\",\n fontSize: 13,\n borderRadius: 4,\n },\n logerror_tab: {\n color: \"#A52A2A\",\n paddingLeft: 25,\n },\n nodeField: {\n width: \"100%\",\n },\n highlight: {\n \"& span\": {\n backgroundColor: \"#082F5238\",\n },\n },\n ...actionsTray,\n actionsTray: {\n ...actionsTray.actionsTray,\n marginBottom: 0,\n },\n ...searchField,\n ...logsCommon,\n ...inlineCheckboxes,\n ...containerForHeader(theme.spacing(4)),\n })\n);\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n lineHeight: \"50px\",\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n \"& .MuiSelect-select:focus\": {\n backgroundColor: \"transparent\",\n },\n },\n })\n)(InputBase);\n\nvar c: any = null;\n\nconst ErrorLogs = () => {\n const dispatch = useAppDispatch();\n const classes = useStyles();\n\n const messages = useSelector((state: AppState) => state.logs.logMessages);\n const logsStarted = useSelector((state: AppState) => state.logs.logsStarted);\n\n const [filter, setFilter] = useState(\"\");\n const [nodes, setNodes] = useState([\"\"]);\n const [selectedNode, setSelectedNode] = useState(\"all\");\n const [selectedUserAgent, setSelectedUserAgent] =\n useState(\"Select user agent\");\n const [userAgents, setUserAgents] = useState([\"All User Agents\"]);\n const [logType, setLogType] = useState(\"all\");\n const [loadingNodes, setLoadingNodes] = useState(false);\n\n const startLogs = () => {\n dispatch(logResetMessages());\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 // 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 c = new W3CWebSocket(\n `${wsProt}://${\n url.hostname\n }:${port}${baseUrl}ws/console/?logType=${logType}&node=${\n selectedNode === \"Select node\" ? \"\" : selectedNode\n }`\n );\n let interval: any | null = null;\n if (c !== null) {\n c.onopen = () => {\n console.log(\"WebSocket Client Connected\");\n dispatch(setLogsStarted(true));\n c.send(\"ok\");\n interval = setInterval(() => {\n c.send(\"ok\");\n }, 10 * 1000);\n };\n c.onmessage = (message: IMessageEvent) => {\n // console.log(message.data.toString())\n // FORMAT: 00:35:17 UTC 01/01/2021\n\n let m: any = JSON.parse(message.data.toString());\n let isValidEntry = true;\n if (\n m.level === \"\" &&\n m.errKind === \"\" &&\n //@ts-ignore\n m.time === \"00:00:00 UTC 01/01/0001\" &&\n m.ConsoleMsg === \"\" &&\n m.node === \"\"\n ) {\n isValidEntry = false;\n }\n\n const logTime = DateTime.fromFormat(\n m.time,\n \"HH:mm:ss UTC MM/dd/yyyy\"\n ).toJSDate();\n\n m.time = logTime;\n m.key = Math.random();\n if (userAgents.indexOf(m.userAgent) < 0 && m.userAgent !== undefined) {\n userAgents.push(m.userAgent);\n setUserAgents(userAgents);\n }\n if (isValidEntry) {\n dispatch(logMessageReceived(m));\n }\n };\n c.onclose = () => {\n clearInterval(interval);\n console.log(\"connection closed by server\");\n dispatch(setLogsStarted(false));\n };\n return () => {\n c.close(1000);\n clearInterval(interval);\n console.log(\"closing websockets\");\n dispatch(setLogsStarted(false));\n };\n }\n };\n\n const stopLogs = () => {\n if (c !== null && c !== undefined) {\n c.close(1000);\n dispatch(setLogsStarted(false));\n }\n };\n\n const filtLow = filter.toLowerCase();\n let filteredMessages = messages.filter((m) => {\n if (\n m.userAgent === selectedUserAgent ||\n selectedUserAgent === \"All User Agents\" ||\n selectedUserAgent === \"Select user agent\"\n ) {\n if (filter !== \"\") {\n if (m.ConsoleMsg.toLowerCase().indexOf(filtLow) >= 0) {\n return true;\n } else if (\n m.error &&\n m.error.source &&\n m.error.source.filter((x) => {\n return x.toLowerCase().indexOf(filtLow) >= 0;\n }).length > 0\n ) {\n return true;\n } else if (\n m.error &&\n m.error.message.toLowerCase().indexOf(filtLow) >= 0\n ) {\n return true;\n } else if (m.api && m.api.name.toLowerCase().indexOf(filtLow) >= 0) {\n return true;\n }\n return false;\n }\n return true;\n } else return false;\n });\n\n useEffect(() => {\n setLoadingNodes(true);\n api\n .invoke(\"GET\", `/api/v1/nodes`)\n .then((res: string[]) => {\n setNodes(res);\n // if (res.length > 0) {\n // setSelectedNode(res[0]);\n // }\n setLoadingNodes(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingNodes(false);\n });\n }, []);\n\n return (\n \n \n \n \n \n {!loadingNodes ? (\n \n {\n setSelectedNode(e.target.value as string);\n }}\n className={classes.searchField}\n disabled={loadingNodes || logsStarted}\n input={}\n placeholder={\"Select Node\"}\n >\n \n All Nodes\n \n {nodes.map((aNode) => (\n \n {aNode}\n \n ))}\n \n \n ) : (\n

Loading nodes

\n )}\n
\n\n \n \n {\n setLogType(e.target.value as string);\n }}\n className={classes.searchField}\n disabled={loadingNodes || logsStarted}\n input={}\n placeholder={\"Select Log Type\"}\n >\n \n All Log Types\n \n \n MinIO\n \n \n Application\n \n \n \n \n \n {userAgents.length > 1 && (\n \n {\n setSelectedUserAgent(e.target.value as string);\n }}\n className={classes.searchField}\n disabled={userAgents.length < 1 || logsStarted}\n input={}\n >\n \n Select User Agent\n \n {userAgents.map((anAgent) => (\n \n {anAgent}\n \n ))}\n \n \n )}\n \n \n {!logsStarted && (\n \n )}\n {logsStarted && (\n \n )}\n
\n \n {\n setFilter(e);\n }}\n value={filter}\n />\n \n \n \n \n \n \n {filteredMessages.map((m) => {\n return ;\n })}\n \n
\n {filteredMessages.length === 0 && (\n
\n No logs to display\n
\n )}\n
\n \n
\n \n
\n
\n );\n};\n\nexport default ErrorLogs;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// Close codes for websockets defined in RFC 6455\nexport const WSCloseNormalClosure = 1000;\nexport const WSCloseCloseGoingAway = 1001;\nexport const WSCloseAbnormalClosure = 1006;\nexport const WSClosePolicyViolation = 1008;\nexport const WSCloseInternalServerErr = 1011;\n\nexport const wsProtocol = (protocol: string): string => {\n let wsProtocol = \"ws\";\n if (protocol === \"https:\") {\n wsProtocol = \"wss\";\n }\n return wsProtocol;\n};\n","import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getTableContainerUtilityClass(slot) {\n return generateUtilityClass('MuiTableContainer', slot);\n}\nconst tableContainerClasses = generateUtilityClasses('MuiTableContainer', ['root']);\nexport default tableContainerClasses;","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 useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport { getTableContainerUtilityClass } from './tableContainerClasses';\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, getTableContainerUtilityClass, classes);\n};\nconst TableContainerRoot = styled('div', {\n name: 'MuiTableContainer',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n width: '100%',\n overflowX: 'auto'\n});\nconst TableContainer = /*#__PURE__*/React.forwardRef(function TableContainer(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTableContainer'\n });\n const {\n className,\n component = 'div'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(TableContainerRoot, _extends({\n ref: ref,\n as: component,\n className: clsx(classes.root, className),\n ownerState: ownerState\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? TableContainer.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 `Table`.\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 TableContainer;","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","searchField","adornment","placeholder","classes","onChange","adornmentPosition","overrideClass","value","inputProps","disableUnderline","position","className","id","label","InputProps","e","target","variant","props","log","useState","open","setOpen","getLogLineKey","keyPath","getByKey","logMessage","consoleMsg","errMsg","titleLogMessage","replace","fullMessage","Fragment","ConsoleMsg","style","display","tableLayout","width","paddingLeft","paddingRight","whiteSpace","textOverflow","overflowX","messageForConsoleMsg","dataStyle","color","fontWeight","fontFamily","fontSize","labelStyle","getLogEntryKey","toString","error","source","map","i","messageForError","logTime","DateTime","time","dateStr","toFormat","getFullYear","TableRow","sx","borderBottom","cursor","borderLeft","borderRight","backgroundColor","TableCell","onClick","Box","marginRight","lineHeight","errKind","overflow","alignItems","justifyContent","borderRadius","fill","paddingBottom","paddingTop","textTransform","verticalAlign","textAlign","Collapse","in","timeout","unmountOnExit","marginTop","colSpan","margin","Typography","background","border","padding","useStyles","makeStyles","logList","minHeight","height","logerror_tab","nodeField","highlight","actionsTray","marginBottom","logsCommon","inlineCheckboxes","containerForHeader","spacing","SelectStyled","root","InputBase","c","dispatch","useAppDispatch","messages","useSelector","state","logs","logMessages","logsStarted","filter","setFilter","nodes","setNodes","selectedNode","setSelectedNode","selectedUserAgent","setSelectedUserAgent","userAgents","setUserAgents","logType","setLogType","loadingNodes","setLoadingNodes","filtLow","toLowerCase","filteredMessages","m","userAgent","indexOf","x","length","message","api","name","useEffect","then","res","catch","err","PageHeader","PageLayout","Grid","container","item","xs","FormControl","Select","disabled","input","MenuItem","aNode","anAgent","type","logResetMessages","url","URL","window","location","port","wsProt","wsProtocol","protocol","baseUrl","document","baseURI","pathname","W3CWebSocket","hostname","interval","onopen","console","setLogsStarted","send","setInterval","onmessage","JSON","parse","data","isValidEntry","level","node","toJSDate","key","Math","random","undefined","push","logMessageReceived","onclose","clearInterval","close","SearchBox","TableContainer","component","Paper","Table","TableBody","WSCloseAbnormalClosure","WSClosePolicyViolation","WSCloseInternalServerErr","getTableContainerUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","TableContainerRoot","styled","overridesResolver","styles","React","inProps","ref","useThemeProps","other","_objectWithoutPropertiesLoose","ownerState","_extends","composeClasses","useUtilityClasses","_jsx","as","clsx","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/3839.7de43728.chunk.js b/portal-ui/build/static/js/3839.7de43728.chunk.js new file mode 100644 index 000000000..049d99229 --- /dev/null +++ b/portal-ui/build/static/js/3839.7de43728.chunk.js @@ -0,0 +1,2 @@ +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3839],{59114:function(e,t,n){"use strict";var r=n(4942),o=n(1413),a=(n(72791),n(63466)),c=n(75952),i=n(27391),s=n(25787),l=n(11135),d=n(23814),u=n(80184);t.Z=(0,s.Z)((function(e){return(0,l.Z)({searchField:(0,o.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var t=e.placeholder,n=void 0===t?"":t,o=e.classes,s=e.onChange,l=e.adornmentPosition,d=void 0===l?"end":l,p=e.overrideClass,h=e.value,m=(0,r.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(a.Z,{position:d,className:o.adornment,children:(0,u.jsx)(c.W1M,{})}));return(0,u.jsx)(i.Z,{placeholder:n,className:p||o.searchField,id:"search-resource",label:"",InputProps:m,onChange:function(e){s(e.target.value)},variant:"standard",value:h})}))},17134:function(e,t,n){"use strict";n.r(t);var r=n(29439),o=n(1413),a=n(61889),c=n(11135),i=n(25787),s=n(75952),l=n(72791),d=n(57689),u=n(81207),p=n(38442),h=n(56087),m=n(25469),v=n(87995),f=n(75578),x=n(23814),Z=n(74794),j=n(32291),k=n(59114),C=n(92983),S=n(27454),y=n(80184),b=(0,f.Z)(l.lazy((function(){return n.e(2032).then(n.bind(n,62032))})));t.default=(0,i.Z)((function(e){return(0,c.Z)((0,o.Z)((0,o.Z)({},x.qg),(0,x.Bz)(e.spacing(4))))}))((function(e){var t=e.classes,n=(0,m.TL)(),o=(0,d.s0)(),c=(0,l.useState)(""),i=(0,r.Z)(c,2),f=i[0],x=i[1],K=(0,l.useState)(!1),g=(0,r.Z)(K,2),z=g[0],M=g[1],E=(0,l.useState)(""),_=(0,r.Z)(E,2),P=_[0],F=_[1],I=(0,l.useState)(!1),w=(0,r.Z)(I,2),A=w[0],L=w[1],T=(0,l.useState)([]),B=(0,r.Z)(T,2),N=B[0],R=B[1],Y=(0,p.F)(h.C3,[h.Ft.KMS_DELETE_KEY]),D=(0,p.F)(h.C3,[h.Ft.KMS_LIST_KEYS]);(0,l.useEffect)((function(){H()}),[]),(0,l.useEffect)((function(){L(!0)}),[f]),(0,l.useEffect)((function(){if(A)if(D){var e=""===f.trim()?"*":f.trim();u.Z.invoke("GET","/api/v1/kms/keys?pattern=".concat(e)).then((function(e){L(!1),R(e.results)})).catch((function(e){L(!1),n((0,v.Ih)(e))}))}else L(!1)}),[A,L,R,n,D,f]);var H=function(){L(!0)},O=[{type:"delete",onClick:function(e){M(!0),F(e)},sendOnlyId:!0,disableButtonFunction:function(){return!Y}}];return(0,y.jsxs)(l.Fragment,{children:[z&&(0,y.jsx)(b,{deleteOpen:z,selectedItem:P,endpoint:"/api/v1/kms/keys/",element:"Key",closeDeleteModalAndRefresh:function(e){M(!1),e&&H()}}),(0,y.jsx)(j.Z,{label:"Key Management Service Keys"}),(0,y.jsx)(Z.Z,{className:t.pageContainer,children:(0,y.jsxs)(a.ZP,{container:!0,spacing:1,children:[(0,y.jsxs)(a.ZP,{item:!0,xs:12,display:"flex",alignItems:"center",justifyContent:"flex-end",sx:{"& button":{marginLeft:"8px"}},children:[(0,y.jsx)(p.s,{scopes:[h.Ft.KMS_LIST_KEYS],resource:h.C3,errorProps:{disabled:!0},children:(0,y.jsx)(k.Z,{onChange:x,placeholder:"Search Keys with pattern",value:f})}),(0,y.jsx)(p.s,{scopes:[h.Ft.KMS_LIST_KEYS],resource:h.C3,errorProps:{disabled:!0},children:(0,y.jsx)(S.Z,{tooltip:"Refresh",children:(0,y.jsx)(s.zxk,{id:"refresh-keys",variant:"regular",icon:(0,y.jsx)(s.DuK,{}),onClick:function(){return L(!0)}})})}),(0,y.jsx)(p.s,{scopes:[h.Ft.KMS_IMPORT_KEY],resource:h.C3,errorProps:{disabled:!0},children:(0,y.jsx)(S.Z,{tooltip:"Import Key",children:(0,y.jsx)(s.zxk,{id:"import-key",variant:"regular",icon:(0,y.jsx)(s.rG2,{}),onClick:function(){o(h.gA.KMS_KEYS_IMPORT)}})})}),(0,y.jsx)(p.s,{scopes:[h.Ft.KMS_CREATE_KEY],resource:h.C3,errorProps:{disabled:!0},children:(0,y.jsx)(S.Z,{tooltip:"Create Key",children:(0,y.jsx)(s.zxk,{id:"create-key",label:"Create Key",variant:"callAction",icon:(0,y.jsx)(s.dtP,{}),onClick:function(){return o(h.gA.KMS_KEYS_ADD)}})})})]}),(0,y.jsx)(a.ZP,{item:!0,xs:12,className:t.tableBlock,children:(0,y.jsx)(p.s,{scopes:[h.Ft.KMS_LIST_KEYS],resource:h.C3,errorProps:{disabled:!0},children:(0,y.jsx)(C.Z,{itemActions:O,columns:[{label:"Name",elementKey:"name"},{label:"Created By",elementKey:"createdBy"},{label:"Created At",elementKey:"createdAt"}],isLoading:A,records:N,entityName:"Keys",idField:"name"})})})]})})]})}))},26759:function(e,t,n){"use strict";var r=n(64836);t.Z=void 0;var o=r(n(45649)),a=n(80184),c=(0,o.default)((0,a.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");t.Z=c},70366:function(e,t,n){"use strict";var r=n(64836);t.Z=void 0;var o=r(n(45649)),a=n(80184),c=(0,o.default)((0,a.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");t.Z=c},97911:function(e,t,n){"use strict";var r=n(64836);t.Z=void 0;var o=r(n(45649)),a=n(80184),c=(0,o.default)((0,a.jsx)("path",{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}),"ViewColumn");t.Z=c},94454:function(e,t,n){"use strict";n.d(t,{Z:function(){return M}});var r=n(4942),o=n(63366),a=n(87462),c=n(72791),i=n(28182),s=n(94419),l=n(12065),d=n(97278),u=n(76189),p=n(80184),h=(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"),v=(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"),f=n(14036),x=n(31402),Z=n(66934),j=n(75878),k=n(21217);function C(e){return(0,k.Z)("MuiCheckbox",e)}var S=(0,j.Z)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary"]),y=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size","className"],b=(0,Z.ZP)(d.Z,{shouldForwardProp:function(e){return(0,Z.FO)(e)||"classes"===e},name:"MuiCheckbox",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.indeterminate&&t.indeterminate,"default"!==n.color&&t["color".concat((0,f.Z)(n.color))]]}})((function(e){var t,n=e.theme,o=e.ownerState;return(0,a.Z)({color:(n.vars||n).palette.text.secondary},!o.disableRipple&&{"&:hover":{backgroundColor:n.vars?"rgba(".concat("default"===o.color?n.vars.palette.action.activeChannel:n.vars.palette.primary.mainChannel," / ").concat(n.vars.palette.action.hoverOpacity,")"):(0,l.Fq)("default"===o.color?n.palette.action.active:n.palette[o.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==o.color&&(t={},(0,r.Z)(t,"&.".concat(S.checked,", &.").concat(S.indeterminate),{color:(n.vars||n).palette[o.color].main}),(0,r.Z)(t,"&.".concat(S.disabled),{color:(n.vars||n).palette.action.disabled}),t))})),K=(0,p.jsx)(m,{}),g=(0,p.jsx)(h,{}),z=(0,p.jsx)(v,{}),M=c.forwardRef((function(e,t){var n,r,l=(0,x.Z)({props:e,name:"MuiCheckbox"}),d=l.checkedIcon,u=void 0===d?K:d,h=l.color,m=void 0===h?"primary":h,v=l.icon,Z=void 0===v?g:v,j=l.indeterminate,k=void 0!==j&&j,S=l.indeterminateIcon,M=void 0===S?z:S,E=l.inputProps,_=l.size,P=void 0===_?"medium":_,F=l.className,I=(0,o.Z)(l,y),w=k?M:Z,A=k?M:u,L=(0,a.Z)({},l,{color:m,indeterminate:k,size:P}),T=function(e){var t=e.classes,n=e.indeterminate,r=e.color,o={root:["root",n&&"indeterminate","color".concat((0,f.Z)(r))]},c=(0,s.Z)(o,C,t);return(0,a.Z)({},t,c)}(L);return(0,p.jsx)(b,(0,a.Z)({type:"checkbox",inputProps:(0,a.Z)({"data-indeterminate":k},E),icon:c.cloneElement(w,{fontSize:null!=(n=w.props.fontSize)?n:P}),checkedIcon:c.cloneElement(A,{fontSize:null!=(r=A.props.fontSize)?r:P}),ownerState:L,ref:t,className:(0,i.Z)(T.root,F)},I,{classes:T}))}))},26769:function(e,t,n){var r=n(39066),o=n(93629),a=n(43141);e.exports=function(e){return"string"==typeof e||!o(e)&&a(e)&&"[object String]"==r(e)}}}]); +//# sourceMappingURL=3839.7de43728.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3839.7de43728.chunk.js.map b/portal-ui/build/static/js/3839.7de43728.chunk.js.map new file mode 100644 index 000000000..d6fe4d679 --- /dev/null +++ b/portal-ui/build/static/js/3839.7de43728.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3839.7de43728.chunk.js","mappings":"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","sources":["screens/Console/Common/SearchBox.tsx","screens/Console/KMS/ListKeys.tsx","../node_modules/@mui/icons-material/ArrowDropDown.js","../node_modules/@mui/icons-material/ArrowDropUp.js","../node_modules/@mui/icons-material/ViewColumn.js","../node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@mui/material/Checkbox/checkboxClasses.js","../node_modules/@mui/material/Checkbox/Checkbox.js","../node_modules/lodash/isString.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport { SearchIcon } from \"mds\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { Grid, Theme } from \"@mui/material\";\nimport { createStyles, withStyles } from \"@mui/styles\";\nimport { AddIcon, Button, RefreshIcon, UploadIcon } from \"mds\";\nimport React, { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport api from \"../../../common/api\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../common/SecureComponent\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { useAppDispatch } from \"../../../store\";\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport {\n containerForHeader,\n searchField,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport SearchBox from \"../Common/SearchBox\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport TooltipWrapper from \"../Common/TooltipWrapper/TooltipWrapper\";\n\nconst DeleteKMSModal = withSuspense(\n React.lazy(() => import(\"./DeleteKMSModal\"))\n);\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...searchField,\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IKeysProps {\n classes: any;\n}\n\nconst ListKeys = ({ classes }: IKeysProps) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const [filter, setFilter] = useState(\"\");\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedKey, setSelectedKey] = useState(\"\");\n const [loading, setLoading] = useState(false);\n const [records, setRecords] = useState<[]>([]);\n\n const deleteKey = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.KMS_DELETE_KEY,\n ]);\n\n const displayKeys = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.KMS_LIST_KEYS,\n ]);\n\n useEffect(() => {\n fetchRecords();\n }, []);\n\n useEffect(() => {\n setLoading(true);\n }, [filter]);\n\n useEffect(() => {\n if (loading) {\n if (displayKeys) {\n let pattern = filter.trim() === \"\" ? \"*\" : filter.trim();\n api\n .invoke(\"GET\", `/api/v1/kms/keys?pattern=${pattern}`)\n .then((res) => {\n setLoading(false);\n setRecords(res.results);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n dispatch(setErrorSnackMessage(err));\n });\n } else {\n setLoading(false);\n }\n }\n }, [loading, setLoading, setRecords, dispatch, displayKeys, filter]);\n\n const fetchRecords = () => {\n setLoading(true);\n };\n\n const confirmDeleteKey = (key: string) => {\n setDeleteOpen(true);\n setSelectedKey(key);\n };\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n\n if (refresh) {\n fetchRecords();\n }\n };\n\n const tableActions = [\n {\n type: \"delete\",\n onClick: confirmDeleteKey,\n sendOnlyId: true,\n disableButtonFunction: () => !deleteKey,\n },\n ];\n\n return (\n \n {deleteOpen && (\n \n )}\n \n \n \n \n \n \n \n\n \n \n }\n onClick={() => setLoading(true)}\n />\n \n \n \n \n }\n onClick={() => {\n navigate(IAM_PAGES.KMS_KEYS_IMPORT);\n }}\n />\n \n \n \n \n }\n onClick={() => navigate(IAM_PAGES.KMS_KEYS_ADD)}\n />\n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(ListKeys);\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: \"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;","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 */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\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 */\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 baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n"],"names":["withStyles","theme","createStyles","searchField","adornment","placeholder","classes","onChange","adornmentPosition","overrideClass","value","inputProps","disableUnderline","position","className","id","label","InputProps","e","target","variant","DeleteKMSModal","withSuspense","React","containerForHeader","spacing","dispatch","useAppDispatch","navigate","useNavigate","useState","filter","setFilter","deleteOpen","setDeleteOpen","selectedKey","setSelectedKey","loading","setLoading","records","setRecords","deleteKey","hasPermission","CONSOLE_UI_RESOURCE","IAM_SCOPES","displayKeys","useEffect","fetchRecords","pattern","trim","api","then","res","results","catch","err","setErrorSnackMessage","tableActions","type","onClick","key","sendOnlyId","disableButtonFunction","selectedItem","endpoint","element","closeDeleteModalAndRefresh","refresh","pageContainer","container","item","xs","display","alignItems","justifyContent","sx","marginLeft","scopes","resource","errorProps","disabled","tooltip","icon","IAM_PAGES","tableBlock","itemActions","columns","elementKey","isLoading","entityName","idField","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","createSvgIcon","_jsx","getCheckboxUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","CheckboxRoot","styled","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","ownerState","root","indeterminate","color","capitalize","_extends","vars","palette","text","secondary","disableRipple","backgroundColor","action","activeChannel","primary","mainChannel","hoverOpacity","alpha","active","main","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","inProps","ref","_icon$props$fontSize","_indeterminateIcon$pr","useThemeProps","checkedIcon","iconProp","indeterminateIcon","indeterminateIconProp","size","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","fontSize","clsx","baseGetTag","isArray","isObjectLike","module"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3864.01198cc4.chunk.js b/portal-ui/build/static/js/3864.01198cc4.chunk.js new file mode 100644 index 000000000..1cac0dae3 --- /dev/null +++ b/portal-ui/build/static/js/3864.01198cc4.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3864],{84861:function(e,t,n){n(72791);var r=n(64554),i=n(80184);t.Z=function(e){var t=e.icon,n=void 0===t?null:t,a=e.label,o=void 0===a?null:a;return(0,i.jsxs)(r.Z,{sx:{display:"flex"},children:[(0,i.jsx)("div",{style:{height:16,width:16,display:"flex",alignItems:"center",marginTop:5},children:n}),(0,i.jsx)("div",{style:{marginLeft:n?5:"none"},children:o})]})}},45902:function(e,t,n){var r=n(1413),i=(n(72791),n(53767)),a=n(80184);t.Z=function(e){var t=e.label,n=void 0===t?null:t,o=e.value,s=void 0===o?"-":o,l=e.orientation,c=void 0===l?"column":l,u=e.stkProps,d=void 0===u?{}:u,p=e.lblProps,f=void 0===p?{}:p,h=e.valProps,m=void 0===h?{}:h;return(0,a.jsxs)(i.Z,(0,r.Z)((0,r.Z)({direction:{xs:"column",sm:c}},d),{},{children:[(0,a.jsx)("label",(0,r.Z)((0,r.Z)({style:{marginRight:5,fontWeight:600}},f),{},{children:n})),(0,a.jsx)("label",(0,r.Z)((0,r.Z)({style:{marginRight:5,fontWeight:500}},m),{},{children:s}))]}))}},35661:function(e,t,n){n.r(t),n.d(t,{default:function(){return me}});var r=n(1413),i=n(29439),a=n(72791),o=n(11135),s=n(25787),l=n(61889),c=n(64554),u=n(32291),d=n(74794),p=n(81207),f=n(38442),h=n(56087),m=n(87995),y=n(25469),v=n(18073),x=n(43896),b=n(19847),g=n(45902),j=n(50896),A=n(84861),k=n(38725),Z=n(82839),S=n(90466),P=n(12891),w=n(35667),O=n(24296),E=n(57702),C=n(19649),F=n(18111),D=n.n(F),T=n(74786),K=n.n(T),I=n(42854),R=n.n(I),N=n(35195),L=n(81694),B=n.n(L),M=n(57139),_=n(39718),$=n(46044),q=n(87970),H=n(85992),V=n(70587),W=n(77612),z=n(36768),G=n(99289),U=n(57241);function J(e){return J="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},J(e)}function Q(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 X(){return X=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);na){l=[].concat(ne(n.slice(0,c)),[a-u]);break}var d=l.length%2===0?[0,s]:[s];return[].concat(ne(o.repeat(n,i)),ne(l),d).map((function(e){return"".concat(e,"px")})).join(", ")},e.id=(0,V.EL)("recharts-line-"),e.pathRef=function(t){e.mainCurve=t},e.handleAnimationEnd=function(){e.setState({isAnimationFinished:!0}),e.props.onAnimationEnd&&e.props.onAnimationEnd()},e.handleAnimationStart=function(){e.setState({isAnimationFinished:!1}),e.props.onAnimationStart&&e.props.onAnimationStart()},e}return t=o,r=[{key:"getDerivedStateFromProps",value:function(e,t){return e.animationId!==t.prevAnimationId?{prevAnimationId:e.animationId,curPoints:e.points,prevPoints:t.curPoints}:e.points!==t.curPoints?{curPoints:e.points}:null}},{key:"repeat",value:function(e,t){for(var n=e.length%2!==0?[].concat(ne(e),[0]):e,r=[],i=0;i0||!D()(o,r))?this.renderCurveWithAnimation(e,t):this.renderCurveStatically(r,e,t)}},{key:"render",value:function(){var e=this.props,t=e.hide,n=e.dot,r=e.points,i=e.className,o=e.xAxis,s=e.yAxis,l=e.top,c=e.left,u=e.width,d=e.height,p=e.isAnimationActive,f=e.id;if(t||!r||!r.length)return null;var h=this.state.isAnimationFinished,m=1===r.length,y=B()("recharts-line",i),v=o&&o.allowDataOverflow||s&&s.allowDataOverflow,x=R()(f)?this.id:f;return a.createElement($.m,{className:y},v?a.createElement("defs",null,a.createElement("clipPath",{id:"clipPath-".concat(x)},a.createElement("rect",{x:c,y:l,width:u,height:d}))):null,!m&&this.renderCurve(v,x),this.renderErrorBar(),(m||n)&&this.renderDots(v,x),(!p||h)&&q.e.renderCallByParent(this.props,r))}}])&&ae(t.prototype,n),r&&ae(t,r),o}(a.PureComponent);ue.displayName="Line",ue.defaultProps={xAxisId:0,yAxisId:0,connectNulls:!1,activeDot:!0,dot:!0,legendType:"line",stroke:"#3182bd",strokeWidth:1,fill:"#fff",points:[],isAnimationActive:!z.x.isSsr,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",hide:!1,label:!1},ue.getComposedData=function(e){var t=e.props,n=e.xAxis,r=e.yAxis,i=e.xAxisTicks,a=e.yAxisTicks,o=e.dataKey,s=e.bandSize,l=e.displayedData,c=e.offset,u=t.layout;return ee({points:l.map((function(e,t){var l=(0,G.F$)(e,o);return"horizontal"===u?{x:(0,G.Hv)({axis:n,ticks:i,bandSize:s,entry:e,index:t}),y:R()(l)?null:r.scale(l),value:l,payload:e}:{x:R()(l)?null:n.scale(l),y:(0,G.Hv)({axis:r,ticks:a,bandSize:s,entry:e,index:t}),value:l,payload:e}})),layout:u},c)};var de=n(93137),pe=(0,C.z)({chartName:"LineChart",GraphicalChild:ue,axisComponents:[{axisType:"xAxis",AxisComp:S.K},{axisType:"yAxis",AxisComp:P.B}],formatAxisMap:de.t9}),fe=n(75952),he=n(80184),me=(0,s.Z)((function(e){return(0,o.Z)({})}))((function(){var e=(0,y.TL)(),t=(0,a.useState)(0),n=(0,i.Z)(t,2),o=n[0],s=n[1],C=(0,a.useState)(null),F=(0,i.Z)(C,2),D=F[0],T=F[1],K=(0,a.useState)(!0),I=(0,i.Z)(K,2),R=I[0],N=I[1],L=(0,a.useState)(null),B=(0,i.Z)(L,2),M=B[0],_=B[1],$=(0,a.useState)(!0),q=(0,i.Z)($,2),H=q[0],V=q[1],W=(0,a.useState)(null),z=(0,i.Z)(W,2),G=z[0],U=z[1],J=(0,a.useState)(!0),Q=(0,i.Z)(J,2),X=Q[0],Y=Q[1],ee=(0,a.useState)(null),te=(0,i.Z)(ee,2),ne=te[0],re=te[1],ie=(0,a.useState)(!0),ae=(0,i.Z)(ie,2),oe=ae[0],se=ae[1],le=(0,f.F)(h.C3,[h.Ft.KMS_STATUS]),ce=(0,f.F)(h.C3,[h.Ft.KMS_METRICS]),de=(0,f.F)(h.C3,[h.Ft.KMS_APIS]),me=(0,f.F)(h.C3,[h.Ft.KMS_Version]);(0,a.useEffect)((function(){N(!0)}),[]),(0,a.useEffect)((function(){R&&(le?p.Z.invoke("GET","/api/v1/kms/status").then((function(e){e&&T(e),N(!1)})).catch((function(t){e((0,m.Ih)(t)),N(!1)})):N(!1)),H&&(ce?p.Z.invoke("GET","/api/v1/kms/metrics").then((function(e){e&&_(e),V(!1)})).catch((function(t){e((0,m.Ih)(t)),V(!1)})):V(!1)),X&&(de?p.Z.invoke("GET","/api/v1/kms/apis").then((function(e){e&&U(e),Y(!1)})).catch((function(t){e((0,m.Ih)(t)),Y(!1)})):Y(!1)),oe&&(me?p.Z.invoke("GET","/api/v1/kms/version").then((function(e){e&&re(e),se(!1)})).catch((function(t){e((0,m.Ih)(t)),se(!1)})):se(!1))}),[e,le,R,ce,H,de,X,me,oe]);var ye=(0,he.jsxs)(a.Fragment,{children:[(0,he.jsx)(j.Z,{children:"Status"}),(0,he.jsx)("br",{}),D&&(0,he.jsx)(l.ZP,{container:!0,spacing:1,children:(0,he.jsx)(l.ZP,{item:!0,xs:12,children:(0,he.jsx)(c.Z,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"2fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gap:2},children:(0,he.jsxs)(c.Z,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"2fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gap:2},children:[(0,he.jsx)(g.Z,{label:"Name:",value:D.name}),ne&&(0,he.jsx)(g.Z,{label:"Version:",value:ne.version}),(0,he.jsx)(g.Z,{label:"Default Key ID:",value:D.defaultKeyID}),(0,he.jsx)(g.Z,{label:"Key Management Service Endpoints:",value:(0,he.jsx)(a.Fragment,{children:D.endpoints.map((function(e,t){return(0,he.jsx)(A.Z,{icon:"online"===e.status?(0,he.jsx)(fe.E31,{}):(0,he.jsx)(fe.dRf,{}),label:e.url},t)}))})})]})})})})]}),ve=(0,he.jsxs)(a.Fragment,{children:[(0,he.jsx)(j.Z,{children:"Supported API endpoints"}),(0,he.jsx)("br",{}),G&&(0,he.jsx)(l.ZP,{container:!0,spacing:1,children:(0,he.jsx)(l.ZP,{item:!0,xs:12,children:(0,he.jsx)(g.Z,{label:"",value:(0,he.jsx)(c.Z,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"2fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gap:2},children:G.results.map((function(e,t){return(0,he.jsx)(A.Z,{icon:(0,he.jsx)(fe.E31,{}),label:"".concat(e.path," - ").concat(e.method)},t)}))})})})})]}),xe=(0,he.jsx)(a.Fragment,{children:M&&(0,he.jsxs)(a.Fragment,{children:[(0,he.jsx)("h3",{children:"API Requests"}),(0,he.jsxs)(k.v,{width:730,height:250,data:[{label:"Success",success:M.requestOK},{label:"Failures",failures:M.requestFail},{label:"Errors",errors:M.requestErr},{label:"Active",active:M.requestActive}],children:[(0,he.jsx)(Z.q,{strokeDasharray:"3 3"}),(0,he.jsx)(S.K,{dataKey:"label"}),(0,he.jsx)(P.B,{}),(0,he.jsx)(w.u,{}),(0,he.jsx)(O.D,{}),(0,he.jsx)(E.$,{dataKey:"success",fill:"green"}),(0,he.jsx)(E.$,{dataKey:"failures",fill:"red"}),(0,he.jsx)(E.$,{dataKey:"errors",fill:"black"}),(0,he.jsx)(E.$,{dataKey:"active",fill:"#8884d8"})]}),(0,he.jsx)("h3",{children:"Events"}),(0,he.jsxs)(k.v,{width:730,height:250,data:[{label:"Audit",audit:M.auditEvents},{label:"Errors",errors:M.errorEvents}],children:[(0,he.jsx)(Z.q,{strokeDasharray:"3 3"}),(0,he.jsx)(S.K,{dataKey:"label"}),(0,he.jsx)(P.B,{}),(0,he.jsx)(w.u,{}),(0,he.jsx)(O.D,{}),(0,he.jsx)(E.$,{dataKey:"audit",fill:"green"}),(0,he.jsx)(E.$,{dataKey:"errors",fill:"black"})]}),(0,he.jsx)("h3",{children:"Latency Histogram"}),M.latencyHistogram&&(0,he.jsxs)(pe,{width:730,height:250,data:M.latencyHistogram.map((function(e){return(0,r.Z)((0,r.Z)({},e),{},{duration:"".concat(e.duration/1e6,"ms")})})),margin:{top:5,right:30,left:20,bottom:5},children:[(0,he.jsx)(Z.q,{strokeDasharray:"3 3"}),(0,he.jsx)(S.K,{dataKey:"duration"}),(0,he.jsx)(P.B,{}),(0,he.jsx)(w.u,{}),(0,he.jsx)(O.D,{}),(0,he.jsx)(ue,{type:"monotone",dataKey:"total",stroke:"#8884d8",name:"Requests that took T ms or less"})]})]})});return(0,he.jsxs)(a.Fragment,{children:[(0,he.jsx)(u.Z,{label:"Key Management Service",actions:(0,he.jsx)(a.Fragment,{})}),(0,he.jsxs)(d.Z,{children:[(0,he.jsxs)(v.Z,{value:o,onChange:function(e,t){s(t)},indicatorColor:"primary",textColor:"primary","aria-label":"cluster-tabs",variant:"scrollable",scrollButtons:"auto",children:[(0,he.jsx)(x.Z,{label:"Status",id:"simple-tab-0","aria-controls":"simple-tabpanel-0"}),(0,he.jsx)(x.Z,{label:"APIs",id:"simple-tab-1","aria-controls":"simple-tabpanel-1"}),(0,he.jsx)(x.Z,{label:"Metrics",id:"simple-tab-2","aria-controls":"simple-tabpanel-2",onClick:function(){}})]}),(0,he.jsx)(b.x,{index:0,value:o,children:(0,he.jsx)(c.Z,{sx:{border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"43px"},children:ye})}),(0,he.jsx)(b.x,{index:1,value:o,children:(0,he.jsx)(c.Z,{sx:{border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"43px"},children:ve})}),(0,he.jsx)(b.x,{index:2,value:o,children:(0,he.jsx)(c.Z,{sx:{border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"43px"},children:xe})})]})]})}))},19847:function(e,t,n){n.d(t,{x:function(){return l}});var r=n(1413),i=n(45987),a=n(72791),o=n(80184),s=["children","value","index"],l=function(e){var t=e.children,n=e.value,l=e.index,c=(0,i.Z)(e,s);return(0,o.jsx)("div",(0,r.Z)((0,r.Z)({role:"tabpanel",hidden:n!==l,id:"simple-tabpanel-".concat(l),"aria-labelledby":"simple-tab-".concat(l),style:{marginTop:"5px"}},c),{},{children:n===l&&(0,o.jsx)(a.Fragment,{children:t})}))}},53767:function(e,t,n){var r=n(4942),i=n(63366),a=n(87462),o=n(72791),s=n(51184),l=n(45682),c=n(78519),u=n(82466),d=n(66934),p=n(31402),f=n(80184),h=["component","direction","spacing","divider","children"];function m(e,t){var n=o.Children.toArray(e).filter(Boolean);return n.reduce((function(e,r,i){return e.push(r),i0?d[n[t-1]]:"column";d[e]=r}}));i=(0,u.Z)(i,(0,s.k9)({theme:n},p,(function(e,n){return{"& > :not(style) + :not(style)":(0,r.Z)({margin:0},"margin".concat((i=n?d[n]:t.direction,{row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"}[i])),(0,l.NA)(o,e))};var i})))}return i=(0,s.dt)(n.breakpoints,i)})),v=o.forwardRef((function(e,t){var n=(0,p.Z)({props:e,name:"MuiStack"}),r=(0,c.Z)(n),o=r.component,s=void 0===o?"div":o,l=r.direction,u=void 0===l?"column":l,d=r.spacing,v=void 0===d?0:d,x=r.divider,b=r.children,g=(0,i.Z)(r,h),j={direction:u,spacing:v};return(0,f.jsx)(y,(0,a.Z)({as:s,ownerState:j,ref:t},g,{children:x?m(b,x):b}))}));t.Z=v},41048:function(e,t,n){n.d(t,{b:function(){return r}});var r=function(e){return null};r.displayName="Cell"}}]); +//# sourceMappingURL=3864.01198cc4.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3864.01198cc4.chunk.js.map b/portal-ui/build/static/js/3864.01198cc4.chunk.js.map new file mode 100644 index 000000000..78a7126ee --- /dev/null +++ b/portal-ui/build/static/js/3864.01198cc4.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3864.01198cc4.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SummaryItems/LabelWithIcon.tsx","screens/Console/Common/UsageBarWrapper/LabelValuePair.tsx","../node_modules/recharts/es6/cartesian/Line.js","../node_modules/recharts/es6/chart/LineChart.js","screens/Console/KMS/Status.tsx","screens/shared/tabs.tsx","../node_modules/@mui/material/Stack/Stack.js","../node_modules/recharts/es6/component/Cell.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\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","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","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport _isEqual from \"lodash/isEqual\";\nimport _isFunction from \"lodash/isFunction\";\nimport _isNil from \"lodash/isNil\";\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/**\n * @fileOverview Line\n */\nimport React, { PureComponent } from 'react';\nimport Animate from 'react-smooth';\nimport classNames from 'classnames';\nimport { Curve } from '../shape/Curve';\nimport { Dot } from '../shape/Dot';\nimport { Layer } from '../container/Layer';\nimport { LabelList } from '../component/LabelList';\nimport { ErrorBar } from './ErrorBar';\nimport { uniqueId, interpolateNumber } from '../util/DataUtils';\nimport { findAllByType } from '../util/ReactUtils';\nimport { Global } from '../util/Global';\nimport { getCateCoordinateOfLine, getValueByDataKey } from '../util/ChartUtils';\nimport { filterProps } from '../util/types';\nexport var Line = /*#__PURE__*/function (_PureComponent) {\n _inherits(Line, _PureComponent);\n\n var _super = _createSuper(Line);\n\n function Line() {\n var _this;\n\n _classCallCheck(this, Line);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.mainCurve = void 0;\n _this.state = {\n isAnimationFinished: true,\n totalLength: 0\n };\n\n _this.getStrokeDasharray = function (length, totalLength, lines) {\n var lineLength = lines.reduce(function (pre, next) {\n return pre + next;\n });\n var count = Math.floor(length / lineLength);\n var remainLength = length % lineLength;\n var restLength = totalLength - length;\n var remainLines = [];\n\n for (var i = 0, sum = 0;; sum += lines[i], ++i) {\n if (sum + lines[i] > remainLength) {\n remainLines = [].concat(_toConsumableArray(lines.slice(0, i)), [remainLength - sum]);\n break;\n }\n }\n\n var emptyLines = remainLines.length % 2 === 0 ? [0, restLength] : [restLength];\n return [].concat(_toConsumableArray(Line.repeat(lines, count)), _toConsumableArray(remainLines), emptyLines).map(function (line) {\n return \"\".concat(line, \"px\");\n }).join(', ');\n };\n\n _this.id = uniqueId('recharts-line-');\n\n _this.pathRef = function (node) {\n _this.mainCurve = node;\n };\n\n _this.handleAnimationEnd = function () {\n _this.setState({\n isAnimationFinished: true\n });\n\n if (_this.props.onAnimationEnd) {\n _this.props.onAnimationEnd();\n }\n };\n\n _this.handleAnimationStart = function () {\n _this.setState({\n isAnimationFinished: false\n });\n\n if (_this.props.onAnimationStart) {\n _this.props.onAnimationStart();\n }\n };\n\n return _this;\n }\n\n _createClass(Line, [{\n key: \"componentDidMount\",\n value:\n /* eslint-disable react/no-did-mount-set-state */\n function componentDidMount() {\n if (!this.props.isAnimationActive) {\n return;\n }\n\n var totalLength = this.getTotalLength();\n this.setState({\n totalLength: totalLength\n });\n }\n }, {\n key: \"getTotalLength\",\n value: function getTotalLength() {\n var curveDom = this.mainCurve;\n\n try {\n return curveDom && curveDom.getTotalLength && curveDom.getTotalLength() || 0;\n } catch (err) {\n return 0;\n }\n }\n }, {\n key: \"renderErrorBar\",\n value: function renderErrorBar() {\n if (this.props.isAnimationActive && !this.state.isAnimationFinished) {\n return null;\n }\n\n var _this$props = this.props,\n points = _this$props.points,\n xAxis = _this$props.xAxis,\n yAxis = _this$props.yAxis,\n layout = _this$props.layout,\n children = _this$props.children;\n var errorBarItems = findAllByType(children, ErrorBar.displayName);\n\n if (!errorBarItems) {\n return null;\n }\n\n function dataPointFormatter(dataPoint, dataKey) {\n return {\n x: dataPoint.x,\n y: dataPoint.y,\n value: dataPoint.value,\n errorVal: getValueByDataKey(dataPoint.payload, dataKey)\n };\n }\n\n return errorBarItems.map(function (item, i) {\n return /*#__PURE__*/React.cloneElement(item, {\n // eslint-disable-next-line react/no-array-index-key\n key: \"bar-\".concat(i),\n data: points,\n xAxis: xAxis,\n yAxis: yAxis,\n layout: layout,\n dataPointFormatter: dataPointFormatter\n });\n });\n }\n }, {\n key: \"renderDots\",\n value: function renderDots(needClip, clipPathId) {\n var isAnimationActive = this.props.isAnimationActive;\n\n if (isAnimationActive && !this.state.isAnimationFinished) {\n return null;\n }\n\n var _this$props2 = this.props,\n dot = _this$props2.dot,\n points = _this$props2.points,\n dataKey = _this$props2.dataKey;\n var lineProps = 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 }, lineProps), customDotProps), {}, {\n value: entry.value,\n dataKey: dataKey,\n cx: entry.x,\n cy: entry.y,\n index: i,\n payload: entry.payload\n });\n\n return Line.renderDotItem(dot, dotProps);\n });\n var dotsProps = {\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : null\n };\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: \"recharts-line-dots\",\n key: \"dots\"\n }, dotsProps, {\n role: \"img\"\n }), dots);\n }\n }, {\n key: \"renderCurveStatically\",\n value: function renderCurveStatically(points, needClip, clipPathId, props) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n var _this$props3 = this.props,\n type = _this$props3.type,\n layout = _this$props3.layout,\n connectNulls = _this$props3.connectNulls,\n ref = _this$props3.ref,\n others = _objectWithoutProperties(_this$props3, [\"type\", \"layout\", \"connectNulls\", \"ref\"]);\n\n var curveProps = _objectSpread(_objectSpread(_objectSpread({}, filterProps(others, true)), {}, {\n fill: 'none',\n className: 'recharts-line-curve',\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : null,\n points: points\n }, props), {}, {\n type: type,\n layout: layout,\n connectNulls: connectNulls\n });\n\n return /*#__PURE__*/React.createElement(Curve, _extends({}, curveProps, {\n pathRef: this.pathRef\n }));\n }\n }, {\n key: \"renderCurveWithAnimation\",\n value: function renderCurveWithAnimation(needClip, clipPathId) {\n var _this2 = this;\n\n var _this$props4 = this.props,\n points = _this$props4.points,\n strokeDasharray = _this$props4.strokeDasharray,\n isAnimationActive = _this$props4.isAnimationActive,\n animationBegin = _this$props4.animationBegin,\n animationDuration = _this$props4.animationDuration,\n animationEasing = _this$props4.animationEasing,\n animationId = _this$props4.animationId,\n animateNewValues = _this$props4.animateNewValues,\n width = _this$props4.width,\n height = _this$props4.height;\n var _this$state = this.state,\n prevPoints = _this$state.prevPoints,\n totalLength = _this$state.totalLength;\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: \"line-\".concat(animationId),\n onAnimationEnd: this.handleAnimationEnd,\n onAnimationStart: this.handleAnimationStart\n }, function (_ref) {\n var t = _ref.t;\n\n if (prevPoints) {\n var prevPointsDiffFactor = prevPoints.length / points.length;\n var stepData = points.map(function (entry, index) {\n var prevPointIndex = Math.floor(index * prevPointsDiffFactor);\n\n if (prevPoints[prevPointIndex]) {\n var prev = prevPoints[prevPointIndex];\n var interpolatorX = interpolateNumber(prev.x, entry.x);\n var interpolatorY = interpolateNumber(prev.y, entry.y);\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: interpolatorX(t),\n y: interpolatorY(t)\n });\n } // magic number of faking previous x and y location\n\n\n if (animateNewValues) {\n var _interpolatorX = interpolateNumber(width * 2, entry.x);\n\n var _interpolatorY = interpolateNumber(height / 2, entry.y);\n\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: _interpolatorX(t),\n y: _interpolatorY(t)\n });\n }\n\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: entry.x,\n y: entry.y\n });\n });\n return _this2.renderCurveStatically(stepData, needClip, clipPathId);\n }\n\n var interpolator = interpolateNumber(0, totalLength);\n var curLength = interpolator(t);\n var currentStrokeDasharray;\n\n if (strokeDasharray) {\n var lines = \"\".concat(strokeDasharray).split(/[,\\s]+/gim).map(function (num) {\n return parseFloat(num);\n });\n currentStrokeDasharray = _this2.getStrokeDasharray(curLength, totalLength, lines);\n } else {\n currentStrokeDasharray = \"\".concat(curLength, \"px \").concat(totalLength - curLength, \"px\");\n }\n\n return _this2.renderCurveStatically(points, needClip, clipPathId, {\n strokeDasharray: currentStrokeDasharray\n });\n });\n }\n }, {\n key: \"renderCurve\",\n value: function renderCurve(needClip, clipPathId) {\n var _this$props5 = this.props,\n points = _this$props5.points,\n isAnimationActive = _this$props5.isAnimationActive;\n var _this$state2 = this.state,\n prevPoints = _this$state2.prevPoints,\n totalLength = _this$state2.totalLength;\n\n if (isAnimationActive && points && points.length && (!prevPoints && totalLength > 0 || !_isEqual(prevPoints, points))) {\n return this.renderCurveWithAnimation(needClip, clipPathId);\n }\n\n return this.renderCurveStatically(points, needClip, clipPathId);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props6 = this.props,\n hide = _this$props6.hide,\n dot = _this$props6.dot,\n points = _this$props6.points,\n className = _this$props6.className,\n xAxis = _this$props6.xAxis,\n yAxis = _this$props6.yAxis,\n top = _this$props6.top,\n left = _this$props6.left,\n width = _this$props6.width,\n height = _this$props6.height,\n isAnimationActive = _this$props6.isAnimationActive,\n id = _this$props6.id;\n\n if (hide || !points || !points.length) {\n return null;\n }\n\n var isAnimationFinished = this.state.isAnimationFinished;\n var hasSinglePoint = points.length === 1;\n var layerClass = classNames('recharts-line', className);\n var needClip = xAxis && xAxis.allowDataOverflow || yAxis && yAxis.allowDataOverflow;\n var clipPathId = _isNil(id) ? this.id : id;\n return /*#__PURE__*/React.createElement(Layer, {\n className: layerClass\n }, needClip ? /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clipPath-\".concat(clipPathId)\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: left,\n y: top,\n width: width,\n height: height\n }))) : null, !hasSinglePoint && this.renderCurve(needClip, clipPathId), this.renderErrorBar(), (hasSinglePoint || dot) && this.renderDots(needClip, clipPathId), (!isAnimationActive || isAnimationFinished) && LabelList.renderCallByParent(this.props, points));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.animationId !== prevState.prevAnimationId) {\n return {\n prevAnimationId: nextProps.animationId,\n curPoints: nextProps.points,\n prevPoints: prevState.curPoints\n };\n }\n\n if (nextProps.points !== prevState.curPoints) {\n return {\n curPoints: nextProps.points\n };\n }\n\n return null;\n }\n }, {\n key: \"repeat\",\n value: function repeat(lines, count) {\n var linesUnit = lines.length % 2 !== 0 ? [].concat(_toConsumableArray(lines), [0]) : lines;\n var result = [];\n\n for (var i = 0; i < count; ++i) {\n result = [].concat(_toConsumableArray(result), _toConsumableArray(linesUnit));\n }\n\n return result;\n }\n }, {\n key: \"renderDotItem\",\n value: function renderDotItem(option, props) {\n var dotItem;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n dotItem = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n dotItem = option(props);\n } else {\n var className = classNames('recharts-line-dot', option ? option.className : '');\n dotItem = /*#__PURE__*/React.createElement(Dot, _extends({}, props, {\n className: className\n }));\n }\n\n return dotItem;\n }\n }]);\n\n return Line;\n}(PureComponent);\nLine.displayName = 'Line';\nLine.defaultProps = {\n xAxisId: 0,\n yAxisId: 0,\n connectNulls: false,\n activeDot: true,\n dot: true,\n legendType: 'line',\n stroke: '#3182bd',\n strokeWidth: 1,\n fill: '#fff',\n points: [],\n isAnimationActive: !Global.isSsr,\n animateNewValues: true,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: 'ease',\n hide: false,\n label: false\n};\n\nLine.getComposedData = function (_ref2) {\n var props = _ref2.props,\n xAxis = _ref2.xAxis,\n yAxis = _ref2.yAxis,\n xAxisTicks = _ref2.xAxisTicks,\n yAxisTicks = _ref2.yAxisTicks,\n dataKey = _ref2.dataKey,\n bandSize = _ref2.bandSize,\n displayedData = _ref2.displayedData,\n offset = _ref2.offset;\n var layout = props.layout;\n var points = displayedData.map(function (entry, index) {\n var value = getValueByDataKey(entry, dataKey);\n\n if (layout === 'horizontal') {\n return {\n x: getCateCoordinateOfLine({\n axis: xAxis,\n ticks: xAxisTicks,\n bandSize: bandSize,\n entry: entry,\n index: index\n }),\n y: _isNil(value) ? null : yAxis.scale(value),\n value: value,\n payload: entry\n };\n }\n\n return {\n x: _isNil(value) ? null : xAxis.scale(value),\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 return _objectSpread({\n points: points,\n layout: layout\n }, offset);\n};","/**\n * @fileOverview Line Chart\n */\nimport { generateCategoricalChart } from './generateCategoricalChart';\nimport { Line } from '../cartesian/Line';\nimport { XAxis } from '../cartesian/XAxis';\nimport { YAxis } from '../cartesian/YAxis';\nimport { formatAxisMap } from '../util/CartesianUtils';\nexport var LineChart = generateCategoricalChart({\n chartName: 'LineChart',\n GraphicalChild: Line,\n axisComponents: [{\n axisType: 'xAxis',\n AxisComp: XAxis\n }, {\n axisType: 'yAxis',\n AxisComp: YAxis\n }],\n formatAxisMap: formatAxisMap\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 withStyles from \"@mui/styles/withStyles\";\nimport { Box, Grid } from \"@mui/material\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport api from \"../../../common/api\";\n\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { hasPermission } from \"../../../common/SecureComponent\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\n\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport Tabs from \"@mui/material/Tabs\";\nimport Tab from \"@mui/material/Tab\";\nimport { TabPanel } from \"../../shared/tabs\";\n\nimport LabelValuePair from \"../Common/UsageBarWrapper/LabelValuePair\";\nimport SectionTitle from \"../Common/SectionTitle\";\nimport LabelWithIcon from \"../Buckets/BucketDetails/SummaryItems/LabelWithIcon\";\nimport {\n Bar,\n BarChart,\n CartesianGrid,\n Legend,\n Line,\n LineChart,\n Tooltip,\n XAxis,\n YAxis,\n} from \"recharts\";\nimport { DisabledIcon, EnabledIcon } from \"mds\";\n\nconst styles = (theme: Theme) => createStyles({});\n\nconst Status = () => {\n const dispatch = useAppDispatch();\n const [curTab, setCurTab] = useState(0);\n\n const [status, setStatus] = useState(null);\n const [loadingStatus, setLoadingStatus] = useState(true);\n const [metrics, setMetrics] = useState(null);\n const [loadingMetrics, setLoadingMetrics] = useState(true);\n const [apis, setAPIs] = useState(null);\n const [loadingAPIs, setLoadingAPIs] = useState(true);\n const [version, setVersion] = useState(null);\n const [loadingVersion, setLoadingVersion] = useState(true);\n\n const displayStatus = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.KMS_STATUS,\n ]);\n const displayMetrics = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.KMS_METRICS,\n ]);\n const displayAPIs = hasPermission(CONSOLE_UI_RESOURCE, [IAM_SCOPES.KMS_APIS]);\n const displayVersion = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.KMS_Version,\n ]);\n\n useEffect(() => {\n setLoadingStatus(true);\n }, []);\n\n useEffect(() => {\n const loadMetrics = () => {\n if (displayMetrics) {\n api\n .invoke(\"GET\", `/api/v1/kms/metrics`)\n .then((result: any) => {\n if (result) {\n setMetrics(result);\n }\n setLoadingMetrics(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoadingMetrics(false);\n });\n } else {\n setLoadingMetrics(false);\n }\n };\n\n const loadAPIs = () => {\n if (displayAPIs) {\n api\n .invoke(\"GET\", `/api/v1/kms/apis`)\n .then((result: any) => {\n if (result) {\n setAPIs(result);\n }\n setLoadingAPIs(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoadingAPIs(false);\n });\n } else {\n setLoadingAPIs(false);\n }\n };\n\n const loadVersion = () => {\n if (displayVersion) {\n api\n .invoke(\"GET\", `/api/v1/kms/version`)\n .then((result: any) => {\n if (result) {\n setVersion(result);\n }\n setLoadingVersion(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoadingVersion(false);\n });\n } else {\n setLoadingVersion(false);\n }\n };\n\n const loadStatus = () => {\n if (displayStatus) {\n api\n .invoke(\"GET\", `/api/v1/kms/status`)\n .then((result: any) => {\n if (result) {\n setStatus(result);\n }\n setLoadingStatus(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n setLoadingStatus(false);\n });\n } else {\n setLoadingStatus(false);\n }\n };\n\n if (loadingStatus) {\n loadStatus();\n }\n if (loadingMetrics) {\n loadMetrics();\n }\n if (loadingAPIs) {\n loadAPIs();\n }\n if (loadingVersion) {\n loadVersion();\n }\n }, [\n dispatch,\n displayStatus,\n loadingStatus,\n displayMetrics,\n loadingMetrics,\n displayAPIs,\n loadingAPIs,\n displayVersion,\n loadingVersion,\n ]);\n\n const statusPanel = (\n \n Status\n
\n {status && (\n \n \n \n \n \n {version && (\n \n )}\n \n \n {status.endpoints.map((e: any, i: number) => (\n \n ) : (\n \n )\n }\n label={e.url}\n />\n ))}\n
\n }\n />\n \n \n \n \n )}\n
\n );\n\n const apisPanel = (\n \n Supported API endpoints\n
\n {apis && (\n \n \n \n {apis.results.map((e: any, i: number) => (\n }\n label={`${e.path} - ${e.method}`}\n />\n ))}\n \n }\n />\n \n \n )}\n
\n );\n\n const getAPIRequestsData = () => {\n return [\n { label: \"Success\", success: metrics.requestOK },\n { label: \"Failures\", failures: metrics.requestFail },\n { label: \"Errors\", errors: metrics.requestErr },\n { label: \"Active\", active: metrics.requestActive },\n ];\n };\n\n const getEventsData = () => {\n return [\n { label: \"Audit\", audit: metrics.auditEvents },\n { label: \"Errors\", errors: metrics.errorEvents },\n ];\n };\n\n const getHistogramData = () => {\n return metrics.latencyHistogram.map((h: any) => {\n return {\n ...h,\n duration: `${h.duration / 1000000}ms`,\n };\n });\n };\n\n const metricsPanel = (\n \n {metrics && (\n \n

API Requests

\n \n \n \n \n \n \n \n \n \n \n \n\n

Events

\n \n \n \n \n \n \n \n \n \n

Latency Histogram

\n {metrics.latencyHistogram && (\n \n \n \n \n \n \n \n \n )}\n
\n )}\n
\n );\n\n return (\n \n } />\n\n \n , newValue: number) => {\n setCurTab(newValue);\n }}\n indicatorColor=\"primary\"\n textColor=\"primary\"\n aria-label=\"cluster-tabs\"\n variant=\"scrollable\"\n scrollButtons=\"auto\"\n >\n \n \n {}}\n />\n \n\n \n \n {statusPanel}\n \n \n \n \n {apisPanel}\n \n \n \n \n {metricsPanel}\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(Status);\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\";\n\ninterface TabPanelProps {\n children?: React.ReactNode;\n index: any;\n value: any;\n}\n\nexport const TabPanel = (props: TabPanelProps) => {\n const { children, value, index, ...other } = props;\n\n return (\n